:root{--bg:#f5f6f8;--panel:#fff;--panel-2:#eef0f3;--border:#d6dae1;--border-strong:#868d9a;--text:#16181d;--muted:#5a6170;--brand:#007bff;--accent:#0066d6;--accent-2:#0052ab;--cyan:#00d9ff;--creative:#8b5cf6;--navy:#000b24;--silver:#d9e6f2;--ok:#15803d;--warn:#b45309;--err:#b91c1c;--real:#1d4ed8;--ai:#7c3aed;--card:#b45309;--radius:10px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;margin:0;padding:0}body{font:14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,DejaVu Sans,sans-serif}a{color:inherit}h1,h2,h3{margin:0 0 .5rem;line-height:1.2}h1{font-size:1.6rem}h2{font-size:1.2rem}h3{font-size:1rem}p{margin:.25rem 0 .75rem}code{background:var(--panel-2);border-radius:4px;padding:1px 5px;font-size:.9em}.shell{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--panel);border-right:1px solid var(--border);height:100vh;padding:18px 14px;position:sticky;top:0}.brand{background:var(--navy);border-radius:12px;margin-bottom:22px;padding:10px 12px 9px;box-shadow:inset 0 0 0 1px #007bff59}.brand-row{align-items:center;gap:10px;display:flex}.brand-icon{border-radius:8px;flex:none;display:block}.brand-company{color:#8a9bb4;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;margin-top:6px;font-size:9.5px;font-weight:600}.brand-lg{text-align:center;margin-bottom:18px;padding:16px 18px 14px}.brand-lg .brand-row{justify-content:center;gap:12px}.brand-lg .brand-company{margin-top:8px;font-size:11px}.wordmark{letter-spacing:-.02em;white-space:nowrap;font-family:Avenir Next,Segoe UI,system-ui,sans-serif;font-style:italic;font-weight:800;line-height:1}.wm-igo{color:var(--silver)}.wm-cinema{background:linear-gradient(90deg, var(--brand), var(--cyan));color:#0000;-webkit-background-clip:text;background-clip:text;padding-right:.1em}.nav a{color:var(--muted);border-radius:8px;margin-bottom:2px;padding:8px 10px;text-decoration:none;display:block}.nav a:hover{color:var(--navy);box-shadow:inset 3px 0 0 var(--brand);background:#e6f4ff}.sidebar-foot{color:var(--muted);font-size:11px;position:absolute;bottom:16px;left:14px;right:14px}.main{width:100%;max-width:1400px;padding:24px 32px 60px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:16px}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.between{justify-content:space-between}.grid{gap:14px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.muted{color:var(--muted)}.small{font-size:12px}.spacer{flex:1}.stack>*+*{margin-top:8px}button,.btn{background:var(--panel-2);color:var(--text);border:1px solid var(--border);cursor:pointer;font:inherit;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-weight:600;text-decoration:none;display:inline-flex}button:hover:not(:disabled),.btn:hover{background:#e3e6eb;border-color:#b4bac5}button:disabled{opacity:.45;cursor:not-allowed}button.primary,.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover:not(:disabled){background:var(--accent-2)}button.ok{background:var(--ok);border-color:var(--ok);color:#fff}button.ok:hover:not(:disabled){background:#166534;border-color:#166534}button.danger{color:#991b1b;background:#fef2f2;border-color:#f3a5a5}button.danger:hover:not(:disabled){background:#fee2e2;border-color:#e57b7b}button.ghost{background:0 0}button.sm{padding:4px 8px;font-size:12px}input,select,textarea{color:var(--text);border:1px solid var(--border-strong);font:inherit;background:#fff;border-radius:7px;width:100%;padding:7px 9px}textarea{resize:vertical;min-height:60px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand)}::placeholder{color:#6b7280}label{color:var(--muted);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.field{margin-bottom:10px}.check{color:var(--text);align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.check input{width:auto}.badge{letter-spacing:.3px;background:var(--panel-2);border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.badge.real{color:#1e40af;background:#e3edff;border-color:#a9c4f5}.badge.ai{color:#5b21b6;background:#f1ebfe;border-color:#c4b5fd}.badge.endcard,.badge.title{color:#92400e;background:#fef3c7;border-color:#f2c94c}.badge.ok{color:#166534;background:#dcfce7;border-color:#8fdcab}.badge.warn{color:#92400e;background:#fef3c7;border-color:#f2c94c}.badge.err{color:#991b1b;background:#fee2e2;border-color:#f3a5a5}.badge.mock{background:var(--panel-2)}.badge.live{color:#9b0c24;background:#fde4e8;border-color:#f0a2af}.badge.test{color:#92400e;background:#fef3c7;border-color:#f2c94c}.notice{border:1px solid var(--border);background:var(--panel-2);border-radius:8px;margin-bottom:12px;padding:10px 12px}.notice.err{background:#fef2f2;border-color:#f3a5a5}.notice.warn{background:#fffbeb;border-color:#f2c94c}.notice.ok{background:#f0fdf4;border-color:#8fdcab}.notice ul{margin:6px 0 0 18px;padding:0}.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin:16px 0;display:flex}.tab{color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:9px 12px}.tab.active{color:var(--text);border-image:linear-gradient(90deg, var(--brand), var(--cyan)) 1}.tab .count{background:var(--accent);color:#fff;border-radius:999px;margin-left:6px;padding:0 6px;font-size:11px}.steps{flex-wrap:wrap;gap:6px;display:flex}.step{background:var(--panel-2);border:1px solid var(--border);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:flex}.step.done{color:#166534;background:#f0fdf4;border-color:#8fdcab}.step .dot{background:#a3a9b4;border-radius:50%;width:8px;height:8px}.step.done .dot{background:var(--ok)}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.card .thumb{aspect-ratio:16/9;background:#e3e6eb 50%/cover no-repeat;position:relative}.card .thumb .badges{flex-wrap:wrap;gap:4px;display:flex;position:absolute;top:8px;left:8px}.card .body{flex:1;padding:10px 12px}.card .title{word-break:break-all;font-size:13px;font-weight:700}.scene{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:260px 1fr;gap:14px;margin-bottom:12px;padding:12px;display:grid}.scene.has-error{border-color:#e57b7b}.scene .media{aspect-ratio:16/9;color:var(--muted);text-align:center;background:#e3e6eb 50%/cover no-repeat;border-radius:8px;place-items:center;padding:8px;font-size:12px;display:grid;position:relative;overflow:hidden}.scene .media video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.media .attribution{z-index:1;color:#fff;background:#0009;border-radius:4px;padding:2px 6px;font-size:10px;position:absolute;bottom:6px;right:6px}.scene-num{color:var(--muted);font-weight:800}.timeline{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:12px;overflow-x:auto}.ruler{border-bottom:1px solid var(--border);height:18px;margin-left:90px;position:relative}.ruler span{color:var(--muted);font-size:10px;position:absolute;transform:translate(-50%)}.track{align-items:stretch;margin-top:8px;display:flex}.track-label{width:90px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;flex:none;padding-top:10px;font-size:11px;font-weight:700}.track-lane{background:var(--panel-2);border-radius:6px;flex:1;height:46px;position:relative}.clip{white-space:nowrap;text-overflow:ellipsis;cursor:pointer;color:#fff;background-position:50%;background-size:cover;border:1px solid #00000026;border-radius:5px;padding:3px 6px;font-size:11px;position:absolute;top:3px;bottom:3px;overflow:hidden}.clip.real{background-color:#2563eb}.clip.ai{background-color:var(--ai)}.clip.endcard,.clip.title{background-color:#b45309}.clip.audio{background:var(--ok)}.clip.audio.missing{color:#3f4552;background:repeating-linear-gradient(45deg,#e3e6eb,#e3e6eb 6px,#d6dae1 6px 12px)}.clip.audio.missing .label{text-shadow:none}.clip.caption{background:#4b5563}.clip.music{background:linear-gradient(90deg,#155e75,#0e7490)}.clip.selected{outline:2px solid var(--text);outline-offset:1px;z-index:2}.clip .label{text-shadow:0 1px 2px #0009;font-weight:700;position:relative}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:8px 10px}th{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-size:11px}.money{font-variant-numeric:tabular-nums;font-weight:700}.bar{background:var(--panel-2);border-radius:999px;height:8px;overflow:hidden}.bar>div{background:linear-gradient(90deg, var(--brand), var(--cyan));height:100%}.bar.ok>div{background:var(--ok)}.approval-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);grid-template-columns:1fr 260px;gap:16px;margin-bottom:12px;padding:14px;display:grid}.approval-card.blocked{border-color:#f3a5a5}.approval-amount{font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:800}.logs{color:var(--text);border:1px solid var(--border);white-space:pre-wrap;background:#f8f9fb;border-radius:8px;max-height:260px;padding:8px;font:12px/1.45 ui-monospace,DejaVu Sans Mono,monospace;overflow:auto}.logs .warn{color:var(--warn)}.logs .error{color:var(--err)}video.player{background:#000;border-radius:8px;width:100%}.render-grid{grid-template-columns:2fr 1fr;align-items:start;gap:14px;display:grid}.toast{z-index:50;max-width:460px;position:fixed;bottom:20px;right:20px}@media (max-width:1000px){.shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.scene,.approval-card,.render-grid,.grid-2,.grid-3{grid-template-columns:1fr}}.sidebar-user{background:var(--panel);word-break:break-all;border-radius:8px;justify-content:space-between;align-items:center;gap:6px;margin-top:18px;padding:8px 10px;display:flex}.btn.small{padding:3px 8px;font-size:11px}.worker-status{flex-direction:column;gap:4px;margin-top:14px;padding:0 10px;display:flex}.worker-status .badge{white-space:normal;align-self:flex-start}.warn-text{color:var(--warn)}
