:root{--bg:#f4f7f5;--surface:#fff;--soft:#f8fbf9;--line:#dce8e2;--line-strong:#c8ddd4;--ink:#0d241d;--muted:#64756f;--quiet:#93a49d;--brand:#075f50;--brand-2:#0f8b75;--mint:#dcf3ea;--mint-soft:#edf8f4;--amber:#f4a62a;--amber-soft:#fff5df;--danger:#c74b36;--danger-soft:#fff1ec;--shadow:0 18px 44px #0d241d21;--small-shadow:0 8px 22px #0d241d14;color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--bg);margin:0;overflow:hidden}button,textarea,input,select{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.56}.app{background:var(--bg);grid-template-rows:92px minmax(0,1fr) 172px;min-width:1280px;height:100vh;display:grid}.topbar{background:var(--surface);border-bottom:1px solid var(--line);grid-template-columns:250px;justify-content:start;align-items:center;gap:20px;padding:0 28px;display:grid}.projectTitle{gap:4px;display:grid}.projectTitle.brandOnly{align-items:center}.projectTitle strong{font-size:18px;line-height:1.1}.projectTitle.brandOnly strong{font-size:21px;font-weight:860}.projectTitle span{color:var(--muted);font-size:12px}.stageNav{justify-content:center;align-items:center;gap:10px;display:flex}.stage{color:#63736e;background:#f0f4f2;border-radius:999px;justify-content:center;align-items:center;gap:7px;min-width:92px;height:42px;padding:0 16px;font-weight:760;transition:transform .16s,background .16s,color .16s;display:inline-flex}.stage span{color:#91a39b;font-size:11px;font-weight:900}.stage:hover{background:#e7efeb;transform:translateY(-1px)}.stage.active{color:var(--brand);background:var(--mint);box-shadow:inset 0 0 0 1px #bfe0d5,0 8px 18px #075f501f}.stage.active span{color:var(--brand)}.progressBox{width:220px;color:var(--brand);justify-self:end;gap:8px;font-weight:820;display:grid}.progressTrack{background:#e2ece7;border-radius:999px;height:8px;display:block;overflow:hidden}.progressTrack i{background:var(--brand);border-radius:inherit;height:100%;transition:width .28s;display:block}.progressTrack.big{height:12px;margin:16px 0}.body{grid-template-columns:250px minmax(680px,1fr) 360px;min-height:0;display:grid}.sidebar,.inspector{background:var(--surface);overflow:auto}.sidebar{border-right:1px solid var(--line);padding:24px 18px}.statusPanel{background:var(--soft);border:1px solid var(--line);border-radius:8px;gap:6px;padding:14px 14px 16px;display:grid}.statusPanel h1{letter-spacing:0;margin:0 0 4px;font-size:20px}.statusPanel strong{color:var(--ink);font-size:13px;line-height:1.35}.statusPanel span{color:var(--muted);font-size:12px;line-height:1.45}.sidebar h1,.inspector h2,.canvasHeader h2,.commandBar h2{letter-spacing:0;margin:0;font-size:20px}.sidebarHint{color:var(--muted);margin:10px 0 0;font-size:12px;line-height:1.5}.resourceGroup{margin-top:28px}.resourceGroup h2{color:var(--muted);margin:0 0 10px;font-size:15px}.resource{color:#203630;text-align:left;background:0 0;border-radius:8px;align-items:center;width:100%;height:32px;margin:4px 0;padding:0 10px 0 18px;display:flex}.resource span{color:#9aa8a2;width:38px;font-size:11px;font-weight:800}.resource.active{color:var(--brand);background:var(--mint-soft);outline:1px solid var(--line-strong);font-weight:820}.canvasArea{background:var(--soft);min-width:0;padding:34px;overflow:auto}.canvasHeader{justify-content:space-between;align-items:flex-start;gap:28px;display:flex}.canvasHeader p,.assetPool span{color:var(--muted);margin:8px 0 0;font-size:13px}.eyebrow{color:var(--brand);margin-bottom:8px;font-size:12px;font-weight:850;display:block}.outlineButton,.softButton,.primaryButton,.dangerButton,.iconButton{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:36px;padding:0 14px;font-weight:760;display:inline-flex}.outlineButton,.softButton,.iconButton.light{color:var(--brand);background:var(--mint-soft);border:1px solid var(--line)}.primaryButton{color:#fff;background:var(--brand);box-shadow:0 8px 18px #075f502e}.dangerButton{color:#fff;background:var(--danger)}.primaryButton.full,.dangerButton.full{width:100%}.assetPool{background:var(--surface);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:18px;margin-top:22px;padding:18px 20px;display:flex}.poolRefs,.refList,.outputList,.buttonRow{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.refChip{min-height:32px;color:var(--brand);background:var(--mint-soft);border:1px solid #bfe0d5;border-radius:999px;padding:0 13px;font-size:13px;font-weight:760}.refChip:hover{background:var(--mint)}.refChip.tail{color:#7a4a00;background:var(--amber-soft);border-color:#e8c47f}.shotList{gap:18px;margin-top:26px;display:grid}.shotCard{background:var(--surface);border:1px solid var(--line);box-shadow:var(--small-shadow);border-radius:8px;padding:18px 20px;transition:border-color .18s,box-shadow .18s,transform .18s}.shotCard:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.shotCard.selected{border-color:var(--brand);box-shadow:0 0 0 2px #075f5014, var(--shadow)}.shotCard header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.shotCard header div{align-items:baseline;gap:18px;display:flex}.shotCard header em{color:var(--quiet);font-size:12px;font-style:normal;font-weight:820}.shotCard h3{margin:0;font-size:17px}.shotCard p{color:#53655e;margin:10px 0 16px;font-size:13px}.shotPreviewRow{background:var(--soft);border:1px solid var(--line);border-radius:8px;grid-template-columns:178px minmax(0,1fr);align-items:stretch;gap:14px;margin:8px 0 16px;padding:12px;display:grid}.shotPreviewThumb{width:100%;min-height:104px;color:var(--muted);border:1px solid var(--line);background:#edf4f1;border-radius:8px;place-items:center;font-size:12px;font-weight:760;display:grid;overflow:hidden}.shotPreviewThumb img{object-fit:cover;width:100%;height:104px}.shotPreviewMeta{color:#33463f;grid-template-columns:78px minmax(0,1fr);align-content:center;gap:8px 12px;font-size:12px;display:grid}.shotPreviewMeta strong{color:var(--brand);font-weight:850}.shotPreviewMeta span{color:var(--muted);line-height:1.5}.status,.qaBadge{border-radius:999px;min-height:30px;padding:0 13px;font-size:12px;font-weight:820}.status.ok{color:var(--brand);background:var(--mint-soft)}.status.warn{color:var(--danger);background:var(--danger-soft)}.status.idle{color:#7a641f;background:var(--amber-soft)}.shotGrid{grid-template-columns:70px minmax(240px,1fr) 34px auto auto;align-items:center;gap:10px 14px;display:grid}.smallLabel{color:var(--muted);font-size:12px;font-weight:760}.outputList span,.outputList button{color:#344640;background:#f0f4f2;border-radius:999px;min-height:30px;padding:0 12px;font-size:12px}.outputList button:hover{color:var(--brand);background:var(--mint-soft)}.qaBadge{color:var(--brand);background:var(--mint-soft);border:1px solid #bfe0d5}.qaBadge.danger{color:var(--danger);background:var(--danger-soft);border-color:#efb8ab}.inspector{border-left:1px solid var(--line)}.inspector>header{border-bottom:1px solid var(--line);padding:28px 24px 18px}.tabs{gap:10px;margin-top:16px;display:flex}.tabs button{height:32px;color:var(--muted);background:#f1f5f3;border-radius:999px;padding:0 16px;font-weight:760}.tabs button.active{color:var(--brand);background:var(--mint)}.inspectorBody{padding:20px 24px}.inspectorBody h3{margin:0 0 14px;font-size:17px}.previewCard{background:var(--soft);border:1px solid var(--line);border-radius:8px;grid-template-columns:98px 1fr;align-items:center;gap:14px;min-height:120px;padding:14px;display:grid}.previewCard img{object-fit:contain;width:98px;height:98px}.previewCard strong,.previewCard span{display:block}.previewCard span{color:var(--muted);margin-top:6px;font-size:12px}.metaList{grid-template-columns:80px 1fr;gap:8px 12px;margin:18px 0;font-size:13px;display:grid}.metaList dt{color:var(--muted);font-weight:760}.metaList dd{color:#2c3d37;margin:0}.metaList.compact{grid-template-columns:90px 1fr}.fieldLabel{color:var(--muted);margin-bottom:8px;font-size:12px;font-weight:780;display:block}.inspector textarea,.agentInput textarea{resize:none;width:100%;color:var(--ink);background:var(--soft);border:1px solid var(--line-strong);border-radius:8px;outline:none}.inspector textarea{height:145px;padding:12px}.inspector textarea:focus,.agentInput textarea:focus{border-color:var(--brand-2);box-shadow:0 0 0 3px #0f8b751f}.compiledBox{background:#111a17;border-radius:8px;margin:16px 0;padding:12px}.compiledBox strong{color:#d7eee6}pre{color:#dce8e2;white-space:pre-wrap;margin:10px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.55;overflow:auto}.qaChecklist,.qaModalList,.ruleList{gap:12px;margin:0 0 20px;padding:0;list-style:none;display:grid}.qaChecklist li{color:#30423b;grid-template-columns:18px 1fr;gap:10px;font-size:13px;display:grid}.commandBar{background:var(--surface);border-top:1px solid var(--line);grid-template-columns:minmax(680px,1fr) 420px;gap:22px;padding:16px 28px;display:grid}.commandBar h2{margin-bottom:10px;font-size:16px}.inputRow{grid-template-columns:minmax(0,1fr) 128px;gap:12px;display:grid}.agentInput textarea{height:80px;padding:16px 18px}.primaryButton.run{height:80px}.jobBox{color:#dce8e2;background:#111a17;border-radius:8px;min-height:108px;padding:12px}.jobBox p{color:#cbd8d2;margin:5px 0;font-size:12px}.jobRow{grid-template-columns:70px 80px 1fr 70px;align-items:center;gap:10px;margin-bottom:8px;font-size:12px;display:grid}.jobRow i{background:#2a3a35;border-radius:999px;height:6px;overflow:hidden}.jobRow b{background:#32c39e;height:100%;display:block}.jobRow em{color:#a4b8b0;font-style:normal}.modalLayer,.contextLayer{z-index:40;position:fixed;inset:0}.modalLayer{background:#0d241d47;place-items:center;padding:32px;display:grid}.modal{width:min(620px,100vw - 64px);max-height:calc(100vh - 80px);box-shadow:var(--shadow);background:#fff;border-radius:12px;padding:24px;overflow:auto}.modalWide{width:min(900px,100vw - 64px)}.modalHeader{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.modalHeader h2{margin:0;font-size:22px}.iconButton{width:36px;min-height:36px;padding:0}.icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.assetModalGrid{grid-template-columns:230px 1fr;gap:26px;display:grid}.assetPreview{background:var(--soft);border:1px solid var(--line);border-radius:8px;place-items:center;min-height:310px;display:grid}.assetPreview img{object-fit:contain;width:190px;height:270px}.modalText h3{margin:0 0 10px}.modalText p,.taskModal p{color:var(--muted);line-height:1.7}.promptModalGrid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.promptModalGrid section{background:var(--soft);border:1px solid var(--line);border-radius:8px;min-height:340px;padding:18px}.promptModalGrid p{color:#30423b;line-height:1.8}.promptModalGrid pre{color:#dce8e2;background:#111a17;border-radius:8px;padding:14px}.qaModalList li{border-radius:8px;align-items:flex-start;gap:10px;padding:12px;display:flex}.qaModalList .fail{color:var(--danger);background:var(--danger-soft)}.qaModalList .pass{color:var(--brand);background:var(--mint-soft)}.buttonRow.right{justify-content:flex-end}.ruleList li{background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:10px 12px}.libraryGrid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin-top:24px;display:grid}.libraryCard{background:var(--surface);border:1px solid var(--line);box-shadow:var(--small-shadow);border-radius:8px;overflow:hidden}.libraryThumb{background:var(--soft);width:100%;height:168px;padding:0;display:block;position:relative;overflow:hidden}.libraryThumb img{object-fit:cover;width:100%;height:100%;transition:transform .22s}.libraryThumb:hover img{transform:scale(1.03)}.playMark{color:#fff;background:#0d241d47;place-items:center;display:grid;position:absolute;inset:0}.playMark .icon{background:#075f50db;border-radius:999px;width:46px;height:46px;padding:12px}.libraryInfo{padding:14px}.libraryInfo strong,.libraryInfo span{display:block}.libraryInfo span{color:var(--muted);margin-top:5px;font-size:12px}.libraryInfo p{color:#51645d;min-height:44px;margin:10px 0 12px;font-size:13px;line-height:1.65}.softButton.mini{min-height:30px;padding:0 10px;font-size:12px}.textPanel{background:var(--surface);border:1px solid var(--line);max-width:760px;box-shadow:var(--small-shadow);border-radius:8px;gap:12px;margin-top:24px;padding:22px;display:grid}.textPanel p{color:#33453f;margin:0;line-height:1.8}.brandInfoGrid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;margin-top:24px;display:grid}.brandInfoCard{background:var(--surface);border:1px solid var(--line);box-shadow:var(--small-shadow);border-radius:8px;overflow:hidden}.brandInfoCard img{object-fit:cover;background:var(--soft);border-bottom:1px solid var(--line);width:100%;height:180px}.brandInfoCard:first-child img{object-fit:contain;padding:18px}.brandInfoCard div{padding:16px 18px 18px}.brandInfoCard h3{margin:0 0 10px;font-size:17px}.brandInfoCard p{color:#51645d;margin:0;font-size:13px;line-height:1.75}.outputSpecPanel{grid-template-columns:minmax(420px,1fr) 310px;gap:18px;max-width:980px;margin-top:24px;display:grid}.specFormGrid{background:var(--surface);border:1px solid var(--line);box-shadow:var(--small-shadow);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px;display:grid}.specFormGrid label{gap:8px;display:grid}.specFormGrid label.wide{grid-column:1/-1}.specFormGrid label span{color:var(--muted);font-size:12px;font-weight:820}.specFormGrid input,.specFormGrid select{width:100%;height:38px;color:var(--ink);background:var(--soft);border:1px solid var(--line-strong);border-radius:8px;outline:none;padding:0 11px}.specFormGrid input:focus,.specFormGrid select:focus{border-color:var(--brand-2);box-shadow:0 0 0 3px #0f8b751f}.specImpact{box-shadow:var(--small-shadow);background:#111a17;border-radius:8px;padding:20px}.specImpact h3{color:#e2f5ee;margin:0 0 14px;font-size:17px}.specImpact p{color:#cbd8d2;margin:10px 0;font-size:13px;line-height:1.6}.providerLayout{grid-template-columns:minmax(360px,.9fr) minmax(520px,1.1fr);gap:18px;margin-top:24px;display:grid}.providerPanel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--small-shadow);border-radius:8px;padding:20px}.providerHeader{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.providerHeader h3{margin:0 0 8px;font-size:18px}.providerHeader p{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.providerBadge{text-align:center;border-radius:999px;min-width:92px;padding:7px 10px;font-size:12px;font-weight:850}.providerBadge.ok{color:var(--brand);background:var(--mint-soft);border:1px solid #bfe0d5}.providerBadge.warn{color:var(--danger);background:var(--danger-soft);border:1px solid #efb8ab}.capabilityGrid{gap:10px;margin-top:18px;display:grid}.capability{background:var(--soft);border:1px solid var(--line);border-radius:8px;grid-template-columns:110px 88px minmax(0,1fr);align-items:center;gap:10px;padding:11px 12px;display:grid}.capability strong{font-size:13px}.capability span{color:var(--brand);font-size:12px;font-weight:850}.capability p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.providerForm{grid-template-columns:minmax(0,1fr) 190px;gap:14px;margin-bottom:16px;display:grid}.providerForm label{gap:8px;display:grid}.providerForm label.wide{grid-column:1/-1}.providerForm span{color:var(--muted);font-size:12px;font-weight:820}.providerForm input,.providerForm select,.providerForm textarea{width:100%;color:var(--ink);background:var(--soft);border:1px solid var(--line-strong);border-radius:8px;outline:none}.providerForm input,.providerForm select{height:38px;padding:0 11px}.providerForm textarea{resize:vertical;min-height:126px;padding:12px}.providerForm input:focus,.providerForm select:focus,.providerForm textarea:focus{border-color:var(--brand-2);box-shadow:0 0 0 3px #0f8b751f}.providerError{color:var(--danger);background:var(--danger-soft);border:1px solid #efb8ab;border-radius:8px;margin:14px 0 0;padding:11px 12px;font-size:13px;line-height:1.6}.providerResult{background:var(--soft);border:1px solid var(--line);border-radius:8px;grid-template-columns:190px minmax(0,1fr);align-items:center;gap:16px;margin-top:16px;padding:14px;display:grid}.providerResult img{object-fit:cover;border:1px solid var(--line);background:#edf4f1;border-radius:8px;width:190px;height:252px}.docSummaryGrid,.batchStats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px;display:grid}.docSummaryGrid article,.batchStats article{background:var(--surface);border:1px solid var(--line);min-height:96px;box-shadow:var(--small-shadow);border-radius:8px;padding:18px}.docSummaryGrid strong,.batchStats strong{color:var(--brand);font-size:26px;line-height:1;display:block}.docSummaryGrid span,.batchStats span{color:var(--muted);margin-top:10px;font-size:12px;font-weight:780;display:block}.docPackGrid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-top:18px;display:grid}.docPackCard{background:var(--surface);border:1px solid var(--line);box-shadow:var(--small-shadow);border-radius:8px;padding:18px}.docPackCard header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.docPackCard strong,.docPackCard span{display:block}.docPackCard span{color:var(--muted);margin-top:6px;font-size:12px;line-height:1.45}.docPackCard em{border-radius:999px;flex:none;padding:6px 10px;font-size:11px;font-style:normal;font-weight:860}.docPackCard em.ok{color:var(--brand);background:var(--mint-soft);border:1px solid #bfe0d5}.docPackCard em.warn{color:#7a641f;background:var(--amber-soft);border:1px solid #e8c47f}.docMeta{grid-template-columns:72px 1fr;gap:8px 12px;margin:0 0 16px;font-size:12px;display:grid}.docMeta dt{color:var(--muted);font-weight:820}.docMeta dd{color:#2f433c;margin:0;line-height:1.55}.docFlowPanel{box-shadow:var(--small-shadow);background:#0f211c;border-radius:8px;margin-top:18px;padding:20px}.docFlowPanel.compact{background:var(--surface);border:1px solid var(--line)}.docFlowPanel h3{color:#e2f5ee;margin:0 0 14px;font-size:17px}.docFlowPanel.compact h3{color:var(--ink)}.docFlowPanel p{color:#587066;margin:0 0 14px;font-size:13px;line-height:1.75}.flowSteps{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.flowSteps span{color:#0f211c;background:#dff5ed;border-radius:999px;min-height:30px;padding:6px 10px;font-size:12px;font-weight:800}.batchControlPanel{grid-template-columns:minmax(0,1fr) 280px;align-items:stretch;gap:18px;margin-top:24px;display:grid}.batchStats{margin-top:0}.batchActions{background:var(--surface);border:1px solid var(--line);box-shadow:var(--small-shadow);border-radius:8px;gap:10px;padding:16px;display:grid}.batchActions button{width:100%}.lockedDocs{background:var(--surface);border:1px solid var(--line);border-radius:8px;align-items:center;gap:14px;margin-top:16px;padding:14px 16px;display:flex}.lockedDocs strong{color:var(--brand);letter-spacing:0;flex:none;font-size:12px}.lockedDocs div{flex-wrap:wrap;gap:8px;display:flex}.lockedDocs span{color:#31473f;background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:11px;font-weight:780}.manifestTable{background:var(--line);border:1px solid var(--line);box-shadow:var(--small-shadow);border-radius:8px;grid-template-columns:112px minmax(300px,1.1fr) minmax(220px,.9fr) minmax(220px,.8fr);gap:1px;margin-top:18px;display:grid;overflow:hidden}.manifestHead{min-height:46px;color:var(--muted);background:#f3f8f5;padding:14px;font-size:12px;font-weight:860}.manifestRow{display:contents}.manifestCell{background:var(--surface);min-height:142px;padding:14px}.manifestCell.strong{align-content:start;gap:8px;display:grid}.manifestCell.strong b{color:var(--brand);font-size:19px}.manifestCell.strong span,.manifestCell.strong em,.manifestCell small{color:var(--muted);font-size:12px;font-style:normal;line-height:1.45}.manifestCell strong{color:#203630;margin-bottom:8px;font-size:13px;display:block}.manifestCell p{color:#53675f;margin:0 0 10px;font-size:12px;line-height:1.65}.manifestCell.chips{flex-wrap:wrap;align-content:flex-start;gap:8px;display:flex}.manifestCell.chips span{overflow-wrap:anywhere;max-width:100%;color:var(--brand);background:var(--mint-soft);border:1px solid #c3e3d7;border-radius:8px;padding:6px 8px;font-size:11px;font-weight:760}.resultCell{align-content:start;gap:10px;display:grid}.resultCell img{object-fit:cover;background:var(--soft);border:1px solid var(--line);border-radius:8px;width:100%;max-height:180px}.inlineError{color:var(--danger);background:var(--danger-soft);border:1px solid #efb8ab;border-radius:8px;margin:0;padding:8px 10px;font-size:12px;line-height:1.5}.inspectorHint{color:var(--muted);margin:14px 0 0;font-size:12px;line-height:1.7}.scriptLayout{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:18px;margin-top:24px;display:grid}.scriptDoc,.miniShot,.stageCard,.videoRow,.reviewCard{background:var(--surface);border:1px solid var(--line);box-shadow:var(--small-shadow);border-radius:8px}.scriptDoc{padding:22px}.scriptDoc h3,.miniShot h3,.stageCard h3,.videoRow h3,.reviewCard h3{margin:0 0 10px;font-size:17px}.scriptDoc p,.miniShot p,.stageCard p,.videoRow p,.reviewCard p{color:#51645d;margin:0;font-size:13px;line-height:1.75}.scriptMeta{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.scriptMeta span{min-height:30px;color:var(--brand);background:var(--mint-soft);border:1px solid #c9e4da;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:780}.shotList.compact{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.miniShot{padding:16px}.miniShot strong{color:var(--brand);margin-bottom:8px;font-size:12px;display:block}.kanbanGrid,.reviewGrid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin-top:24px;display:grid}.stageCard{padding:14px}.stageCard header{justify-content:space-between;gap:12px;margin-bottom:12px;display:flex}.stageCard header strong{color:var(--brand)}.stageCard header span{color:var(--muted);font-size:12px;font-weight:780}.thumbStrip{border:1px solid var(--line);background:#edf4f1;border-radius:8px;place-items:center;height:150px;margin-bottom:14px;display:grid;overflow:hidden}.thumbStrip img{object-fit:cover;width:100%;height:100%}.emptyThumb,.emptyState{color:var(--muted);font-weight:760}.videoBoard{gap:14px;margin-top:24px;display:grid}.videoRow{grid-template-columns:150px minmax(0,1fr) 160px;align-items:center;gap:16px;padding:14px;display:grid}.videoThumb{width:150px;height:92px;color:var(--muted);border:1px solid var(--line);background:#edf4f1;border-radius:8px;position:relative;overflow:hidden}.videoThumb img{object-fit:cover;width:100%;height:100%}.videoThumb .icon{color:#fff;background:#075f50e0;border-radius:999px;width:38px;height:38px;padding:9px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.videoActions{justify-items:end;gap:8px;display:grid}.qaMatrix{background:var(--line);border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(180px,1.2fr) repeat(5,minmax(98px,.75fr)) 110px;gap:1px;margin-top:24px;display:grid;overflow:hidden}.qaRow{display:contents}.qaHead,.qaCell{background:var(--surface);min-height:54px;padding:12px}.qaHead{color:var(--muted);font-size:12px;font-weight:850}.qaCell{color:#2c3d37;align-content:center;font-size:12px;display:grid}.qaCell.strong{color:var(--ink);font-weight:850}.qaCell.strong span{color:var(--muted);margin-top:4px;font-weight:520;display:block}.qaCell.good{color:var(--brand);background:#f5fbf8}.qaCell.bad{color:var(--danger);background:var(--danger-soft)}.timelinePanel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--small-shadow);border-radius:8px;grid-template-columns:82px minmax(0,1fr);gap:10px 14px;margin-top:24px;padding:22px;display:grid}.trackLabel{color:var(--muted);align-items:center;font-size:12px;font-weight:850;display:grid}.timelineTrack{color:#486058;background:var(--soft);border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;min-height:54px;padding:8px;display:flex}.clip{min-width:122px;min-height:42px;color:var(--brand);text-align:left;background:var(--mint-soft);border:1px solid #bfe0d5;border-radius:8px;padding:8px 12px;display:grid}.clip.warn{color:var(--danger);background:var(--danger-soft);border-color:#efb8ab}.clip.idle{color:#806000;background:var(--amber-soft);border-color:#e8c47f}.clip span{margin-top:3px;font-size:11px}.timelineTrack.subtitles,.timelineTrack.audio,.timelineTrack.bgm{padding-left:16px;font-size:13px}.reviewCard{padding:20px}.emptyState{text-align:center;background:var(--surface);border:1px dashed var(--line-strong);border-radius:8px;align-content:center;place-items:center;min-height:320px;margin-top:24px;padding:28px;display:grid}.emptyState .icon{width:42px;height:42px;color:var(--brand);margin-bottom:14px}.emptyState h3{margin:0 0 8px}.emptyState p{max-width:420px;color:var(--muted);margin:0;line-height:1.7}.mediaPreviewGrid{grid-template-columns:minmax(320px,1fr) 320px;gap:24px;display:grid}.mediaStage{border:1px solid var(--line);background:#eef4f1;border-radius:8px;min-height:430px;position:relative;overflow:hidden}.mediaStage img{object-fit:cover;width:100%;height:100%;min-height:430px}.mediaStage.video:after{content:"";background:linear-gradient(#0d241d0a,#0d241d6b);position:absolute;inset:0}.videoOverlay{z-index:1;color:#fff;align-content:center;place-items:center;gap:12px;font-weight:820;display:grid;position:absolute;inset:0}.videoOverlay .icon{background:#075f50e6;border-radius:999px;width:62px;height:62px;padding:17px}.contextMenu{border:1px solid var(--line);width:250px;box-shadow:var(--shadow);background:#fff;border-radius:10px;gap:3px;margin:0;padding:10px;display:grid;position:absolute}.contextMenu strong{color:var(--muted);padding:8px 10px;font-size:12px}.contextMenu button{color:#263a33;text-align:left;background:0 0;border-radius:7px;min-height:34px;padding:0 10px}.contextMenu button:hover{background:var(--mint-soft)}.contextMenu .dangerItem{color:var(--danger)}@media (width<=1180px){body{overflow:auto}.app{min-width:0;height:auto;min-height:100vh}.topbar,.body,.commandBar{grid-template-columns:1fr}.stageNav{justify-content:flex-start;overflow-x:auto}.sidebar,.inspector{max-height:none}.shotGrid,.shotPreviewRow,.commandBar,.scriptLayout,.outputSpecPanel,.videoRow,.mediaPreviewGrid,.assetModalGrid,.promptModalGrid{grid-template-columns:1fr}.qaMatrix{grid-template-columns:180px repeat(5,100px) 110px;overflow-x:auto}}
