:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#20312d;background:#f5f7f6;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;border:1px solid #d8e1dd;border-radius:6px;padding:0 12px;background:#fff;color:#31413c;font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s,color .15s}button:hover:not(:disabled){border-color:#a6beb5;background:#f2f7f4}button:disabled{opacity:.42;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #0d9274;outline-offset:2px}input,textarea,select{width:100%;min-width:0;border:1px solid #d8e1dd;border-radius:6px;background:#fff;color:#20312d;padding:10px 12px;outline:none}input::placeholder,textarea::placeholder{color:#9aa9a2}textarea{resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.55}label{display:grid;gap:7px;color:#536760;font-size:12px;font-weight:700}.app{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:26px 14px 16px;background:#19312b;color:#e7f4ed}.brand{display:flex;align-items:center;gap:11px;padding:0 12px 32px}.brand strong{display:block;font-size:18px;line-height:1.2}.brand span{display:block;margin-top:4px;color:#9db8a9;font-size:11px}.brandMark{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:7px;background:#16b184;color:#fff}.sidebar nav{display:grid;gap:4px}.sidebar nav button,.logout{justify-content:flex-start;width:100%;min-height:42px;padding:0 12px;border-color:transparent;background:transparent;color:#b6cac0;font-size:13px}.sidebar nav button svg,.logout svg{flex:none}.sidebar nav button:hover:not(:disabled),.logout:hover:not(:disabled){border-color:transparent;background:#27453a;color:#fff}.sidebar nav button.active{background:#e4f6ed;border-color:#e4f6ed;color:#126b52}.sidebarFooter{margin-top:auto;padding-top:18px;border-top:1px solid #365349}.serviceHost{display:block;padding:0 12px 10px;color:#89a99a;font-size:11px;overflow:hidden;text-overflow:ellipsis}.main{min-width:0;padding:36px clamp(20px,3.5vw,52px) 64px}.main section{max-width:1440px;margin:0 auto}.pageHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:26px}.pageHeader h1{margin:0;color:#172c25;font-size:25px;font-weight:750;line-height:1.2}.pageHeader p{margin:7px 0 0;color:#7b8d84;font-size:13px}.iconButton{flex:none;width:36px;min-width:36px;height:36px;padding:0}.refreshButton{background:#fff}.primary{border-color:#098669;background:#098669;color:#fff}.primary:hover:not(:disabled){border-color:#076f58;background:#076f58}.danger{border-color:#f0d3d0;background:#fff9f8;color:#a8403d}.danger:hover:not(:disabled){border-color:#dbb0ab;background:#fff1ef}.success{border-color:#b5d9c8;background:#eff9f3;color:#177553}.success:hover:not(:disabled){border-color:#8cc4a5;background:#e5f5ec}.loginPage{display:grid;place-items:center;min-height:100vh;padding:24px;background:#f1f6f3}.loginCard{display:grid;gap:18px;width:min(100%,400px);padding:32px;border:1px solid #d9e6df;border-radius:8px;background:#fff;box-shadow:0 15px 44px #18342614}.loginIdentity{display:flex;align-items:center;gap:10px;margin-bottom:14px}.loginIdentity strong{color:#18352b;font-size:18px}.brandMark.large{width:40px;height:40px}.loginCard h1{margin:0;font-size:24px;line-height:1.2}.loginCard p{margin:-10px 0 8px;color:#84958c;font-size:13px}.loginCard label{gap:8px}.loginCard input{min-height:42px}.loginSubmit{justify-content:space-between;min-height:42px;margin-top:4px;padding:0 16px}.metricGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.metric{min-height:132px;padding:19px;border:1px solid #e0e9e3;border-radius:8px;background:#fff}.metricTop{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#6d8277;font-size:12px;font-weight:600}.metricTop svg{color:#86a599}.metric strong{display:block;margin-top:22px;color:#1d342a;font-size:31px;line-height:1}.pendingMetric .metricTop svg{color:#bc8e3b}.pendingMetric strong{color:#926111}.sectionHeading{display:flex;align-items:baseline;justify-content:space-between;margin:36px 0 12px}.sectionHeading h2{margin:0;font-size:16px}.sectionHeading span{color:#8b9b92;font-size:12px}.queueList{border-top:1px solid #dce6df}.queueRow{display:flex;width:100%;min-height:74px;justify-content:flex-start;gap:14px;border:0;border-bottom:1px solid #dce6df;border-radius:0;padding:12px 4px;background:transparent;text-align:left}.queueRow:hover:not(:disabled){border-color:#dce6df;background:#edf4ef}.queueIcon{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:6px;background:#e3f2e9;color:#167755}.queueLabel{display:grid;flex:1;gap:3px;min-width:0}.queueLabel strong{font-size:13px}.queueLabel small{color:#7d9085;font-size:12px;font-weight:400}.queueRow>svg{color:#7d9c8e}.toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:16px}.searchBox{display:flex;align-items:center;gap:5px;width:min(100%,360px);min-height:38px;padding-left:12px;border:1px solid #d8e1dd;border-radius:6px;background:#fff;color:#849b8e}.searchBox:focus-within{border-color:#0d9274}.searchBox input{min-height:36px;border:0;padding:6px 10px;background:transparent}.searchBox input:focus-visible{outline:0}.tablePanel{overflow-x:auto;border:1px solid #dce6df;border-radius:8px;background:#fff}table{width:100%;min-width:760px;border-collapse:collapse}th,td{padding:15px 17px;border-bottom:1px solid #edf1ee;text-align:left;vertical-align:middle}th{background:#f7faf7;color:#708279;font-size:11px;font-weight:750}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfdfb}td{font-size:13px}td strong{display:block;color:#253b31;font-size:13px}td span:not(.badge){display:block;margin-top:4px;color:#8a9b91;font-size:11px}.rowActions{display:flex;align-items:center;gap:6px}.rowActions button{min-height:30px;padding:0 8px;font-size:11px}.badge{display:inline-flex;align-items:center;min-height:22px;border-radius:4px;padding:2px 7px;background:#edf0ed;color:#52635a;font-size:11px;font-weight:700;white-space:nowrap}.badge.approved{background:#e4f3e9;color:#187b50}.badge.pending,.badge.draft{background:#fff1d8;color:#976311}.badge.rejected,.badge.banned,.badge.offline{background:#fdebea;color:#ae514b}.badge.queued{background:#edf0f3;color:#566a76}.badge.processing{background:#e8f2fc;color:#286c9b}.badge.ready{background:#e4f3e9;color:#187b50}.badge.failed{background:#fdebea;color:#ae514b}.mediaUploadBar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:18px}.mediaUploadBar label{width:min(100%,430px)}.mediaUploadBar input{min-height:38px;padding:6px}.mediaUploadBar button{min-height:39px}.mediaTable{min-width:620px}.mediaTable th,.mediaTable td{padding:11px 9px}.mediaTable td:first-child{max-width:150px;overflow-wrap:anywhere}.mediaError{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#aa4a43!important}.mediaPath{display:block;max-width:140px;overflow:hidden;text-overflow:ellipsis;color:#426354;font-size:11px}.mediaTable .rowActions button{width:30px;min-width:30px;height:30px;min-height:30px;padding:0}.reviewMediaStatus{display:flex;flex-wrap:wrap;gap:12px;margin-top:9px}.reviewMediaStatus>span{display:inline-flex;align-items:center;gap:5px;color:#71867a;font-size:11px}.hlsPreview video{display:block;width:100%;max-height:70vh;background:#101716}.seekControls{position:relative;display:flex;align-items:center;gap:12px;min-height:56px;padding:10px 18px}.seekControls input[type=range]{flex:1;min-height:24px;padding:0;accent-color:#13876c}.seekControls span{flex:none;color:#63776c;font-size:12px}.seekSprite{position:absolute;z-index:2;bottom:58px;left:50%;transform:translate(-50%);border:2px solid #fff;border-radius:4px;box-shadow:0 4px 16px #0007;background-repeat:no-repeat;background-color:#101716;pointer-events:none}.mediaInsert{display:grid;grid-template-columns:minmax(0,1fr) 140px auto;align-items:end;gap:10px}.mediaInsert button{min-height:39px}.reviewToolbar{margin-top:-5px}.segmented{display:inline-flex;gap:2px;padding:3px;border:1px solid #dce6df;border-radius:7px;background:#edf2ed}.segmented button{min-height:30px;border:0;background:transparent;color:#61756b;font-size:12px}.segmented button:hover:not(:disabled){border:0;background:#e3ebe4}.segmented button.selected,.segmented button.selected:hover{border:0;background:#fff;color:#126f53;box-shadow:0 1px 3px #203f2b17}.reviewList{display:grid;gap:9px}.reviewCard{display:grid;grid-template-columns:132px minmax(0,1fr) auto;align-items:center;gap:16px;min-height:116px;padding:11px 15px 11px 11px;border:1px solid #dce6df;border-radius:8px;background:#fff}.reviewCard>img{display:block;width:132px;height:90px;border-radius:5px;object-fit:cover;background:#e2e8e3}.reviewBody{min-width:0}.cardTitle{display:flex;align-items:center;gap:10px;margin-bottom:6px}.cardTitle h3{margin:0;color:#21382c;font-size:14px;line-height:1.35;overflow-wrap:anywhere}.reviewBody p{display:-webkit-box;overflow:hidden;margin:0 0 8px;color:#64776d;font-size:12px;line-height:1.45;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.reviewMeta{color:#91a096;font-size:11px}.reviewActions{display:flex;align-items:center;gap:6px}.reviewActions button{min-height:32px;padding:0 9px;font-size:11px}.modalBackdrop{position:fixed;z-index:10;inset:0;display:grid;place-items:center;padding:18px;background:#0f1f18b8}.previewModal{width:min(100%,780px);overflow:hidden;border-radius:8px;background:#fff;box-shadow:0 20px 60px #00000040}.previewHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:8px 15px 8px 20px}.previewHeader strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.previewModal video{display:block;width:100%;max-height:75vh;background:#101716}.interactiveLayout{display:grid;grid-template-columns:250px minmax(0,1fr);align-items:start;gap:14px}.panel{border:1px solid #dce6df;border-radius:8px;background:#fff}.sideList{display:grid;gap:7px;padding:14px}.sideList>.primary{justify-content:flex-start;width:100%;margin-bottom:6px}.sideList>button:not(.primary){justify-content:space-between;width:100%;min-width:0;border-color:transparent;background:#fff}.sideList>button:not(.primary) span:first-child{overflow:hidden;text-overflow:ellipsis}.sideList>button:not(.primary):hover{border-color:#d8e8dc;background:#f2f7f3}.sideList>button.activeItem{border-color:#b8dcc7;background:#eaf5ee;color:#146e4e}.editor{display:grid;gap:17px;padding:22px}.twoCols{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:14px}.actions{display:flex;flex-wrap:wrap;gap:8px}.editor .actions{padding-top:8px;border-top:1px solid #e6ede7}.emptyState{display:grid;justify-items:center;align-content:center;gap:8px;min-height:190px;padding:24px;color:#8da095;text-align:center}.emptyState strong{color:#546b5e;font-size:14px}.emptyState span{font-size:12px}.error,.ok{margin:0 0 14px;border-radius:6px;padding:10px 12px;font-size:12px}.error{border:1px solid #e7c8c4;background:#fff0ee;color:#a44642}.ok{border:1px solid #c2e1cc;background:#eff9f1;color:#287348}@media(max-width:1100px){.reviewCard{grid-template-columns:112px minmax(0,1fr)}.reviewCard>img{width:112px;height:82px}.reviewActions{grid-column:2}}@media(max-width:760px){.app{display:block}.sidebar{position:sticky;z-index:5;height:auto;min-height:0;padding:10px 14px 0}.brand{padding:0 0 10px}.brandMark{width:32px;height:32px}.brand strong{font-size:15px}.brand span{display:none}.sidebar nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;margin:0 -3px}.sidebar nav::-webkit-scrollbar{display:none}.sidebar nav button{flex-direction:column;justify-content:center;gap:2px;min-width:0;min-height:46px;padding:3px 1px;border-radius:6px 6px 0 0;font-size:10px}.sidebar nav button svg{width:15px;height:15px}.sidebarFooter{position:absolute;top:10px;right:14px;margin:0;padding:0;border:0}.serviceHost{display:none}.sidebarFooter .logout{width:32px;height:32px;min-height:32px;padding:0;justify-content:center}.sidebarFooter .logout span{display:none}.main{padding:22px 16px 48px}.pageHeader{margin-bottom:20px}.pageHeader h1{font-size:22px}.interactiveLayout,.mediaInsert{grid-template-columns:1fr}.sideList{display:flex;align-items:center;overflow-x:auto}.sideList>.primary,.sideList>button:not(.primary){width:auto;flex:none;margin:0}}@media(max-width:560px){.metricGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{min-height:110px;padding:15px}.metric strong{margin-top:17px;font-size:26px}.reviewCard{grid-template-columns:84px minmax(0,1fr);gap:11px;padding:9px}.reviewCard>img{width:84px;height:94px}.reviewActions{grid-column:1 / -1;justify-content:flex-end}.reviewActions button{flex:1}.reviewBody p{-webkit-line-clamp:1}.cardTitle{flex-wrap:wrap;gap:5px}.twoCols{grid-template-columns:1fr}.editor{padding:16px}.loginCard{padding:24px}.mediaTable{min-width:0}.mediaTable thead{display:none}.mediaTable tbody,.mediaTable tbody tr{display:block}.mediaTable tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;padding:12px;border-bottom:1px solid #edf1ee}.mediaTable td{display:block;min-width:0;padding:0;border:0}.mediaTable td:first-child,.mediaTable td:nth-child(5),.mediaTable td:last-child{grid-column:1 / -1;max-width:none}.mediaTable td:nth-child(2):before,.mediaTable td:nth-child(3):before,.mediaTable td:nth-child(4):before,.mediaTable td:nth-child(5):before{display:block;margin-bottom:3px;color:#84978a;font-size:10px}.mediaTable td:nth-child(2):before{content:"HLS 转码"}.mediaTable td:nth-child(3):before{content:"雪碧图"}.mediaTable td:nth-child(4):before{content:"时长"}.mediaTable td:nth-child(5):before{content:"播放地址"}.mediaPath{max-width:100%}}
