:root{--bg: #f7f9fd;--surface: #fff;--inset: #f1f5fb;--border: #dfe6f2;--border-strong: #c9d4e6;--text: #0b1428;--text-2: #3c4353;--muted: #77829a;--accent: #1364b0;--accent-wash: #e6effb;--cta: #1eb014;--cta-press: #17930e;--danger: #c81e1e;--danger-wash: #fdeaea;--warn: #9a6a12;--warn-wash: #fdf3e1;--ok: #138a0c;--ok-wash: #e4faee;--r: 12px;--font: Lato, system-ui, -apple-system, sans-serif;--mono: "Geist Mono", ui-monospace, monospace;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 var(--font);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}button:disabled{cursor:default;opacity:.5}h1{font-size:22px;font-weight:900;margin:0}h2{font-size:15px;font-weight:900;margin:0 0 10px}h2.inline{display:inline}p{margin:6px 0}.mono{font-family:var(--mono)}.muted{color:var(--muted)}.sec{color:var(--text-2)}.small{font-size:12.5px}.tiny{font-size:11.5px}.strong{font-weight:700}.row{display:flex;align-items:center;gap:8px}.row.top{align-items:flex-start}.row.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.center{min-height:100%;display:grid;place-items:center;padding:24px}.error{color:var(--danger);margin:6px 0;white-space:pre-wrap}.note{color:var(--ok);margin:0 0 10px}.shell{min-height:100%;display:flex;flex-direction:column}.topbar{height:54px;flex:none;display:flex;align-items:center;gap:10px;padding:0 18px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.logo{font-weight:900;letter-spacing:.03em;font-size:15px;padding-right:14px;border-right:1px solid var(--border)}.logo span{color:var(--accent)}.tab{padding:6px 12px;border-radius:8px;color:var(--text-2);font-weight:700}.tab.on,.tab:hover{background:var(--accent-wash);color:var(--accent)}.health{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.page{width:100%;max-width:1180px;margin:0 auto;padding:22px 20px 120px}.head{margin-bottom:14px;align-items:flex-start}.meta{margin-top:6px;gap:12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:16px 18px;margin-bottom:14px}.card.narrow{max-width:420px}.card.empty{text-align:center;padding:40px}.card.later{background:#fbfcfe}.card.status{display:flex;gap:18px;align-items:flex-start}.msg{font-weight:700;margin:0}.pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:700;background:var(--inset);color:var(--text-2);white-space:nowrap}.pill.ok{background:var(--ok-wash);color:var(--ok)}.pill.bad{background:var(--danger-wash);color:var(--danger)}.pill.warn{background:var(--warn-wash);color:var(--warn)}.st-planning,.st-looks,.st-clips{background:var(--accent-wash)!important;color:var(--accent)!important}.st-shotlist,.st-pick{background:var(--warn-wash)!important;color:var(--warn)!important}.st-done{background:var(--ok-wash)!important;color:var(--ok)!important}.st-plan-failed,.st-review,.st-budget{background:var(--danger-wash)!important;color:var(--danger)!important}.tag{display:inline-block;padding:1px 7px;border-radius:6px;font-size:11.5px;background:var(--inset);color:var(--text-2);text-transform:lowercase}.tag.sec-hook{background:#fff1d6;color:#8a5a00}.tag.sec-cta{background:#e6f6e4;color:#17740f}h2 .tag{margin-left:8px;font-weight:700;text-transform:none}.btn{padding:7px 14px;border-radius:9px;border:1px solid var(--border-strong);background:var(--surface);font-weight:700;white-space:nowrap;text-decoration:none;display:inline-block}.btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn.primary{background:var(--cta);border-color:var(--cta);color:#fff}.btn.primary:hover:not(:disabled){background:var(--cta-press);color:#fff}.btn.big{padding:11px 28px;font-size:15px}.btn.ghost{border-color:transparent;color:var(--text-2)}.link{color:var(--accent);font-weight:700;text-decoration:none}.link:hover{text-decoration:underline}.icon{width:26px;height:26px;border-radius:7px;border:1px solid var(--border);font-size:14px}.icon:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}input,textarea,select{border:1px solid var(--border-strong);border-radius:9px;padding:7px 10px;background:var(--surface);outline:none}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1364b022}textarea{width:100%;resize:vertical}input.num{width:76px}.toggle{align-self:flex-start;display:inline-flex;align-items:center;gap:7px;padding:5px 10px 5px 5px;border-radius:999px;border:1px solid var(--border-strong);font-weight:700;font-size:12.5px}.toggle .knob{width:26px;height:16px;border-radius:999px;background:var(--border-strong);position:relative;transition:background .15s}.toggle .knob:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:left .15s}.toggle.on .knob{background:var(--accent)}.toggle.on .knob:after{left:12px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px 18px}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field.wide{grid-column:1 / -1}.field .label{font-weight:700;font-size:12.5px;color:var(--text-2)}.field .hint{font-size:12px;color:var(--muted)}.field select,.field input{width:100%}textarea.script{font-size:14px;min-height:220px}.presets select{min-width:160px}.photos{display:flex;flex-wrap:wrap;gap:10px}.photo{width:96px;height:96px;border-radius:10px;border:1px solid var(--border);overflow:hidden;position:relative;background:var(--inset)}.photo img{width:100%;height:100%;object-fit:cover}.photo .x{position:absolute;top:3px;right:3px;width:22px;height:22px;border-radius:50%;background:#0b1428b0;color:#fff}.photo.add{display:grid;place-items:center;color:var(--accent);font-weight:700;border-style:dashed;border-color:var(--border-strong)}.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mode{text-align:left;border:1.5px solid var(--border);border-radius:11px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.mode span{color:var(--text-2);font-size:12.5px}.mode.on{border-color:var(--accent);background:var(--accent-wash)}.startbar{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:14px 18px;box-shadow:0 6px 22px #16295014}.startbar.sticky{position:sticky;bottom:12px;z-index:10}.est{font-size:16px}table.list{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}table.list th{text-align:left;font-size:12px;color:var(--muted);font-weight:700;padding:9px 12px;border-bottom:1px solid var(--border);background:#fbfcfe}table.list td{padding:10px 12px;border-bottom:1px solid var(--border)}table.list tr:last-child td{border-bottom:0}table.list tbody tr{cursor:pointer}table.list tbody tr:hover{background:#f6f9ff}.num{text-align:right;font-variant-numeric:tabular-nums}table.kv td{padding:4px 14px 4px 0;vertical-align:top}.credits{min-width:230px;display:flex;flex-direction:column;gap:4px}.credits strong{font-size:18px}.bar{height:6px;border-radius:99px;background:var(--inset);overflow:hidden}.bar span{display:block;height:100%;background:var(--accent)}.bar span.hot{background:var(--danger)}.events{margin:8px 0 0;padding-left:20px;font-size:12.5px}.events li{margin:2px 0}.looks{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin-bottom:10px}.look{border:1px solid var(--border);border-radius:11px;padding:12px;display:flex;flex-direction:column;gap:6px}input.name{font-weight:700;flex:1;min-width:0;padding:4px 8px}strong.name{flex:1}.tiles{display:flex;flex-wrap:wrap;gap:8px}.tile{width:132px;border:2px solid transparent;border-radius:10px;background:var(--inset);padding:4px}.tile img,.tile video{width:100%;aspect-ratio:9 / 16;object-fit:cover;border-radius:7px;display:block;background:#0b1428;cursor:pointer}.tile.picked{border-color:var(--cta)}.tile .ph{aspect-ratio:9 / 16;display:grid;place-items:center;text-align:center;color:var(--muted);font-size:12px;border-radius:7px;background:repeating-linear-gradient(135deg,#eef3fb,#eef3fb 8px,#f6f9fd 8px,#f6f9fd 16px)}.tile.submitted .ph,.tile.submitting .ph{color:var(--accent)}.tile.failed .ph{color:var(--danger);background:var(--danger-wash)}.tiles.clips .tile{width:168px}pre.prompt,textarea.prompt{font-family:var(--mono);font-size:12px;white-space:pre-wrap;background:var(--inset);border-radius:9px;padding:10px;margin:6px 0 0;max-height:420px;overflow:auto}textarea.prompt{background:var(--surface)}textarea.text{font-size:13px}details summary{cursor:pointer;margin:4px 0}.shots{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}.shot{border:1px solid var(--border);border-left:4px solid var(--border-strong);border-radius:11px;padding:12px;display:flex;flex-direction:column;gap:7px}.shot.hook{border-left-color:#e0a526}.shot.cta{border-left-color:var(--cta)}.shot.locked{background:#fbfcfe}.shothead .sid{font-weight:700;color:var(--accent);min-width:34px}.opts select{width:auto}.refs{display:flex;flex-wrap:wrap;gap:6px}.chip{padding:3px 9px;border-radius:999px;border:1px solid var(--border-strong);font-size:12px;background:var(--surface);color:var(--text-2)}.chip.on{border-color:var(--accent);background:var(--accent-wash);color:var(--accent);font-weight:700}@media (max-width: 720px){.modes{grid-template-columns:1fr}.card.status{flex-direction:column}.health{display:none}}
