:root{--admin-accent:#ff6525;--admin-bg:#f7f6f3}
#episodeDownloadPrice{display:none!important}
.publish-options{display:flex;gap:10px;margin:10px 0}.publish-options button{flex:1;padding:12px!important}.publish-options button[aria-pressed=true]{background:#fff0e6!important;border-color:#ff925e!important;color:#c64d1b!important}
.role-CONTENT_ADMIN #dramaList .actions button,.role-CONTENT_ADMIN #episodeList .actions button,.role-CONTENT_ADMIN #taxonomyPanel .actions button,.role-REVIEWER #dramaList .actions button{display:inline-flex}
.role-VIEWER #dramaList .actions{display:flex}.role-VIEWER #episodeForm,.role-VIEWER #episodeDialog .upload-panel{display:none}
#contentEditorPage .panel,#taxonomyPanel{padding:22px;box-sizing:border-box}
#contentEditorPage button:not(.primary),#taxonomyPanel button:not(.primary),.related-dialog button{border:1px solid #e5e0d9;border-radius:9px;background:#fff;padding:7px 12px;color:#49453f}
#taxonomyPanel button.danger{color:#bd3030}.publish-card h2,.publish-card p{color:#333}.publish-card [data-message]{overflow-wrap:anywhere}
body{background:var(--admin-bg)}button,input,select,textarea{font:inherit}button{white-space:nowrap;min-height:36px}button:disabled{opacity:.48;cursor:not-allowed}button.danger,.danger{color:#bd3030}.primary{background:var(--admin-accent)}[hidden]{display:none!important}
#app aside nav .nav-item{white-space:nowrap}.payment-nav summary{padding:13px 16px;cursor:pointer;white-space:nowrap;color:inherit}.payment-nav>div{padding-left:16px}.payment-nav .nav-item{font-size:13px}
.panel{border-radius:16px}.panel h2{margin:0 0 12px}.panel-head{gap:16px;flex-wrap:wrap}.muted{line-height:1.6}.rule-note{padding:12px 14px;border-radius:10px;background:#fff1e8;color:#864522;font-size:13px;line-height:1.7}.danger{overflow-wrap:anywhere}
.content-table{min-width:1200px;table-layout:fixed;width:100%}.content-table th:nth-child(1){width:50px}.content-table th:nth-child(2){width:220px}.content-table th:nth-child(3){width:150px}.content-table th:nth-child(4){width:60px}.content-table th:nth-child(5),.content-table th:nth-child(6){width:90px}.content-table th:nth-child(7),.content-table th:nth-child(8){width:140px}.content-table th:last-child{width:290px}.content-table .actions{display:flex;flex-wrap:nowrap;gap:6px}.content-title{min-width:0}.content-title img{width:42px;height:56px;object-fit:cover;flex-shrink:0}.content-title b{min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.mini-tag{display:inline-block;margin:3px;padding:4px 8px;border-radius:20px;background:#f2f1ee}.status-pill{display:inline-block;padding:5px 10px;border-radius:30px;background:#eeeeec;color:#6c706d;font-size:12px;white-space:nowrap}.status-pill.published,.status-pill.processing-已完成{background:#e3f4e8;color:#287544}.status-pill.processing-上传中,.status-pill.processing-转码中{background:#fff2dd;color:#a65c00}.status-pill.processing-部分失败{background:#fde7e4;color:#b42318}.status-pill.processing-已取消{background:#eeeeec;color:#6c706d}
.segmented{display:inline-flex;gap:4px;background:#eeece8;border-radius:12px;padding:5px;margin:10px 0 20px}.segmented button{border:0;background:transparent;padding:9px 20px}.segmented button.active{background:white;box-shadow:0 2px 5px #0000000d;border-radius:9px}.taxonomy-filters{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.taxonomy-filters input{max-width:260px}.taxonomy-filters select{width:auto}.taxonomy-card{border:1px solid #e6e2dd;border-radius:14px;padding:16px;margin:14px 0}.taxonomy-card header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.taxonomy-card header label{margin-left:auto;display:flex;align-items:center;gap:8px}.taxonomy-card small{color:#92908a}.tag-dropzone{display:flex;flex-wrap:wrap;gap:8px;min-height:40px;padding-top:14px}.tag-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid #dedad5;border-radius:24px;padding:5px 10px;background:#f8f7f4}.tag-pill button{border:0;padding:0;background:none;min-height:24px}.unclassified-card{border-style:dashed;background:#faf9f7}.drag-handle{cursor:grab}.dragging{opacity:.45}.drop-active{outline:2px dashed var(--admin-accent);background:#fff8f1}.state-switch[aria-checked=true]{background:#ffede1;color:#c7521d;border-color:#fbb38e}.state-switch[aria-checked=false]{background:#ecebe8;color:#777}.related-dialog{max-height:80vh;overflow:auto}
input[role=switch]{appearance:none;width:36px!important;height:21px!important;border-radius:15px;background:#ceccc8;position:relative;vertical-align:middle;flex-shrink:0;cursor:pointer;padding:0!important;border:0!important}input[role=switch]:after{content:'';position:absolute;width:15px;height:15px;top:3px;left:3px;background:white;border-radius:50%;transition:left .15s}input[role=switch]:checked{background:var(--admin-accent)}input[role=switch]:checked:after{left:18px}
.editor-columns{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px;align-items:start;margin-top:20px}.editor-main{display:grid;gap:20px;min-width:0}.editor-main .panel{margin:0}.editor-main label{display:block;margin:12px 0}.editor-main input:not([type=checkbox]):not([type=file]),.editor-main textarea{width:100%;box-sizing:border-box}.publish-card{position:sticky;top:20px;margin:0!important}.publish-card select{width:100%}.cover-uploader{display:flex;gap:20px;align-items:center}.cover-frame{width:120px;aspect-ratio:3/4;background:#efede9;border:1px dashed #c9c2b7;border-radius:12px;overflow:hidden;flex-shrink:0}.cover-frame img{width:100%;height:100%;object-fit:cover}.upload-button{display:inline-flex!important;border:1px solid #ffb28e;padding:10px 16px;border-radius:10px;background:#fff2eb;color:#ce501c;cursor:pointer}.upload-zone{padding:20px;border:1px dashed #d5c7b9;border-radius:14px;text-align:center}.tag-choice-group{margin:16px 0}.tag-choice-group>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.tag-choice{display:inline-flex!important;margin:0!important;position:relative}.tag-choice input{position:absolute;opacity:0;width:1px;height:1px}.tag-choice span{padding:7px 13px;border:1px solid #e4e0d9;background:#f3f2ee;border-radius:24px;cursor:pointer}.tag-choice input:checked+span{background:#fff0e6;color:#d45620;border-color:#ff9e72}.tag-choice input:focus-visible+span{outline:2px solid #d45620}.pricing-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pricing-columns fieldset{min-width:0;border:1px solid #e6e1d9;border-radius:12px;padding:14px}.queue-item{display:grid;grid-template-columns:80px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #eee}.queue-item strong{overflow-wrap:anywhere}.queue-item small{display:block;margin:5px 0}.queue-item progress{width:100%}.queue-item input{width:70px!important}.queue-item button{display:block;margin:4px 0}
#episodeDialog{width:min(980px,95vw);max-height:90dvh;overflow:auto}#episodeDialog .actions{flex-wrap:nowrap;white-space:nowrap}#episodeList{max-height:35dvh;overflow-y:auto;overscroll-behavior:contain}#episodeDialog .episode-item{grid-template-columns:42px minmax(0,1fr) auto}.episode-url{min-width:0;overflow-wrap:anywhere}#downloadPricing{display:none}
@media(max-width:1150px){.editor-columns{grid-template-columns:minmax(0,1fr)}.publish-card{position:static}.pricing-columns{grid-template-columns:1fr}.taxonomy-filters{gap:8px}.segmented button{padding:8px 12px}}
#episodeDialog[open]{display:flex;flex-direction:column;height:min(820px,90dvh);max-height:90dvh;overflow:hidden;gap:12px;padding:24px}
#episodeDialog>.dialog-head,#episodeDialog>.episode-add-tabs,#episodeDialog>.episode-table-head{flex-shrink:0}
#episodeDialog .dialog-head{align-items:flex-start;gap:16px}
#episodeDramaTitle{overflow-wrap:anywhere;max-height:2.8em;overflow:hidden}
#episodeCount{display:block;margin-top:6px;color:var(--muted);font-size:12px;font-weight:500}
.episode-add-tabs{display:flex;gap:8px}.episode-add-tabs button{border:1px solid var(--line);border-radius:10px;padding:8px 16px;background:#fff;color:var(--muted)}.episode-add-tabs button[aria-pressed=true]{background:#fff0e6;border-color:#ffad84;color:#c64d1b}
#episodeDialog #episodeForm,#episodeDialog .upload-panel{flex:0 1 auto;min-height:0;max-height:44dvh;overflow:auto;margin:0}
#episodeDialog .episode-form-grid{margin-top:0}#episodeDialog .form-tip{margin-bottom:8px}
#episodeDialog .episode-table-head{padding:12px 0 0}
#episodeDialog #episodeList{flex:1;min-height:80px;max-height:none;overflow:auto;overscroll-behavior:contain}
#episodeDialog [data-delete-episode]{color:#bd3030;border-color:#edcece}
.role-VIEWER #episodeDialog .episode-add-tabs,.role-REVIEWER #episodeDialog .episode-add-tabs{display:none}
.replace-episode-dialog{padding:24px;max-height:90dvh;overflow:auto}.replace-episode-dialog h2{margin-top:0}.replace-episode-dialog progress{display:block;width:100%;margin:16px 0}
.file-choice{position:relative;display:inline-flex;align-items:center;padding:12px 18px;background:#fff0e6;border:1px solid #ffad84;color:#c64d1b;border-radius:10px;cursor:pointer}.file-choice input{position:absolute;width:1px;height:1px;opacity:0;padding:0;border:0}.file-choice:focus-within{outline:2px solid var(--admin-accent);outline-offset:3px}[data-file-name]{overflow-wrap:anywhere}
@media(max-width:720px){#episodeDialog[open]{padding:16px;gap:8px}#episodeDialog .episode-item{grid-template-columns:32px minmax(0,1fr)}#episodeDialog .episode-item .actions{grid-column:1/-1;justify-content:flex-end}}
