:root{--bg:#080b12;--panel:#101520;--panel-2:#151b28;--line:#242c3a;--text:#f6f8fb;--muted:#8f9bad;--accent:#9b7cff;--accent-2:#46d5b2}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{min-height:100vh}a{color:inherit;text-decoration:none}button{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{border-right:1px solid var(--line);background:#0b0f17;padding:28px 18px;display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh}.brand-mark{display:flex;align-items:center;gap:12px;margin:0 8px 34px}.brand-mark strong{display:block;font-size:15px}.brand-mark span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.logo{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),#5e8cff);font-weight:900;font-size:13px}nav{display:grid;grid-gap:5px;gap:5px}.nav-link{color:#aab4c4;padding:11px 12px;border-radius:10px;display:flex;align-items:center;gap:10px;font-size:14px}.nav-link:hover{background:var(--panel-2);color:white}.nav-dot{width:6px;height:6px;border-radius:50%;background:#4f5b6c}.sidebar-footer{margin-top:auto;color:var(--muted);font-size:11px;padding:13px;border:1px solid var(--line);border-radius:10px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent-2);margin-right:7px}.main{padding:0 34px 50px;max-width:1500px;width:100%;margin:0 auto}.topbar{height:96px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.topbar h1{margin:3px 0 0;font-size:21px}.topbar-actions{display:flex;align-items:center;gap:9px}.eyebrow{color:var(--accent-2);letter-spacing:.12em;font-size:10px;font-weight:800}.primary-button,.secondary-button{border:0;border-radius:10px;padding:12px 17px;color:white;cursor:pointer}.primary-button{background:var(--accent);font-weight:700}.secondary-button{background:#242b39;border:1px solid #343d4e}.logout-button{border:1px solid #323b4d;background:#111722;color:#aeb8c7;border-radius:10px;padding:11px 14px;cursor:pointer}.logout-button:hover{color:white;border-color:#4a566d}.hero{margin-top:34px;border:1px solid var(--line);border-radius:20px;padding:34px;display:flex;justify-content:space-between;gap:30px;align-items:center;background:radial-gradient(circle at top right,rgba(155,124,255,.18),transparent 35%),var(--panel)}.hero h2{font-size:clamp(30px,4vw,50px);line-height:1.03;max-width:760px;margin:10px 0 15px;letter-spacing:-.04em}.hero p{color:var(--muted);max-width:700px;line-height:1.6;margin:0}.hero-badge{min-width:260px;padding:20px;border-radius:15px;background:rgba(8,11,18,.65);border:1px solid #34304d}.hero-badge small,.hero-badge span{display:block;color:var(--muted)}.hero-badge span{font-size:9px;letter-spacing:.13em;font-weight:800}.hero-badge strong{display:block;margin:8px 0;font-size:19px}.hero-badge small{line-height:1.5}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin:18px 0}.metric{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:19px}.metric small,.metric span{display:block;color:var(--muted)}.metric span{font-size:12px}.metric strong{display:block;font-size:29px;margin:7px 0 3px}.metric small{font-size:10px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:17px;padding:24px;margin-top:18px}.panel.compact{margin:0;min-height:245px}.panel-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.panel h3{margin:5px 0 0;font-size:20px}.text-link{font-size:12px;color:#b8a8ff}.brand-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:13px;gap:13px}.brand-card{display:flex;gap:13px;align-items:center;border:1px solid var(--line);padding:14px;border-radius:13px;background:#0c111a}.brand-thumb{width:46px;height:58px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,#28243d,#171d2b);color:#c9beff;font-weight:800}.brand-card h4{margin:0 0 4px;font-size:14px}.brand-card p{margin:0 0 8px;color:var(--muted);font-size:11px}.pill{border:1px solid #384357;border-radius:99px;padding:4px 7px;color:#aeb8c6;font-size:9px}.two-column{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px;margin-top:18px}.check-list{padding:0;margin:20px 0 0;list-style:none;display:grid;grid-gap:11px;gap:11px;color:#c5cbd5;font-size:13px}.check-list li:before{content:"✓";color:var(--accent-2);margin-right:10px;font-weight:900}.pipeline{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin:24px 0}.pipeline span{background:#191f2b;border:1px solid #2c3444;padding:8px 10px;border-radius:8px;font-size:11px}.pipeline b{color:#59657a}.muted{color:var(--muted);font-size:12px;line-height:1.5}.page-heading{padding:38px 0 14px}.page-heading h2{font-size:38px;margin:8px 0}.page-heading p{color:var(--muted);max-width:680px;line-height:1.6}.empty-card{min-height:360px;border:1px dashed #30394a;border-radius:18px;display:grid;place-items:center;align-content:center;text-align:center;padding:40px;background:var(--panel)}.empty-card h3{margin:13px 0 7px}.empty-card p{color:var(--muted);max-width:470px;line-height:1.5;margin:0 0 18px}.empty-icon{font-size:27px;color:var(--accent)}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 0,rgba(155,124,255,.16),transparent 34%),#080b12}.login-card{width:min(430px,100%);background:#101520;border:1px solid #293244;border-radius:20px;padding:32px;box-shadow:0 24px 80px rgba(0,0,0,.35)}.login-logo{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),#5e8cff);font-weight:900;margin-bottom:22px}.login-card h1{font-size:34px;margin:8px 0}.login-card p{color:var(--muted);line-height:1.6;font-size:13px;margin:0 0 22px}.login-form{display:grid;grid-gap:14px;gap:14px}.login-form label{display:grid;grid-gap:7px;gap:7px;font-size:11px;color:#aab5c5;font-weight:700}.login-form input{width:100%;border:1px solid #364054;background:#090e15;color:white;border-radius:10px;padding:13px;font:inherit}.login-form button{border:0;background:var(--accent);color:white;border-radius:10px;padding:13px;font-weight:800;cursor:pointer}.login-card small{display:block;margin-top:18px;color:#687589;font-size:10px}.login-error{border:1px solid #66313b;background:#2b1419;color:#ffbcc7;border-radius:10px;padding:10px 12px;font-size:11px;margin-bottom:14px}@media(max-width:1000px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.main{padding:0 18px 35px}.brand-grid,.metric-grid{grid-template-columns:repeat(2,1fr)}.two-column{grid-template-columns:1fr}.hero{align-items:flex-start;flex-direction:column}}@media(max-width:620px){.brand-grid,.metric-grid{grid-template-columns:1fr}.topbar{height:80px}.primary-button,.topbar .eyebrow{display:none}}.reference-drop{width:100%;min-height:92px;border:1.5px dashed #46536a;border-radius:12px;background:#0b111a;color:#aeb9c8;display:grid;place-items:center;text-align:center;padding:15px;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.reference-drop.dragging,.reference-drop:hover{border-color:var(--accent);background:rgba(155,124,255,.09);color:#fff}.reference-drop.uploading{cursor:wait;opacity:.8}.reference-drop.error{border-color:#b54a5a;background:rgba(181,74,90,.08);color:#ffbdc6}.reference-drop strong{display:block;color:#fff;font-size:12px;margin-bottom:4px}.reference-drop span{display:block;font-size:10px;line-height:1.45}.reference-drop input{display:none}.reference-drop-progress{width:100%;height:4px;border-radius:99px;overflow:hidden;background:#1e2634;margin-top:9px}.reference-drop-progress i{display:block;height:100%;width:55%;background:var(--accent);border-radius:99px;animation:dropUploadPulse 1s ease-in-out infinite alternate}@keyframes dropUploadPulse{0%{transform:translateX(-20%)}to{transform:translateX(95%)}}.queue-asset-preview{margin-top:14px;padding:12px;border:1px solid var(--border);border-radius:12px;background:#0b111a}.queue-asset-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.queue-asset-preview img,.queue-asset-preview video{display:block;width:min(100%,520px);max-height:520px;object-fit:contain;border-radius:10px;border:1px solid var(--border);background:#070b12}.queue-asset-preview audio{display:block;width:min(100%,520px);margin:6px 0 10px}.queue-asset-preview .open-link{display:inline-block;margin-top:10px}.danger-button,.logout-button,.primary-button,.save-button,.secondary-button,.tiny-button,button{transition:transform .08s ease,filter .12s ease,opacity .12s ease,box-shadow .12s ease}.danger-button:not(:disabled):active,.save-button:not(:disabled):active,.tiny-button:not(:disabled):active,button:not(:disabled):active{transform:translateY(1px) scale(.985);filter:brightness(.9)}button[aria-busy=true]{cursor:wait!important;opacity:.82;box-shadow:inset 0 0 0 2px rgba(155,124,255,.18)}button:disabled{cursor:not-allowed}.button-inner{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.button-spinner{width:13px;height:13px;border:2px solid rgba(255,255,255,.38);border-top-color:#fff;border-radius:50%;display:inline-block;animation:tboButtonSpin .7s linear infinite}@keyframes tboButtonSpin{to{transform:rotate(1turn)}}.page-grid{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.5fr);grid-gap:18px;gap:18px;align-items:start}.form-card,.record-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px}.form-card{position:-webkit-sticky;position:sticky;top:18px}.form-card h3,.record-card h3{margin:5px 0 14px}.form-grid{display:grid;grid-gap:12px;gap:12px}.form-grid.two{grid-template-columns:1fr 1fr}.field{display:grid;grid-gap:6px;gap:6px}.field label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#9ca8b8;font-weight:800}.field input,.field select,.field textarea{width:100%;border:1px solid #31394a;background:#0b1018;color:#f7f8fb;border-radius:9px;padding:10px 11px;font:inherit;font-size:12px;outline:none}.field textarea{min-height:88px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#7e69d8}.record-list{display:grid;grid-gap:12px;gap:12px}.record-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px}.record-head p{margin:4px 0 0;color:var(--muted);font-size:11px}.record-actions{display:flex;gap:8px;align-items:center}.danger-button{border:1px solid #5a2832;background:#2a1319;color:#ffb6c3;border-radius:8px;padding:8px 10px}.danger-button,.save-button{font-size:11px;cursor:pointer}.save-button{border:0;background:#6f5be7;color:white;border-radius:8px;padding:9px 12px;font-weight:700}.lock-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid #28574f;color:#72e4c8;background:#0d211e;border-radius:999px;padding:5px 8px;font-size:9px}.small-meta{color:var(--muted);font-size:10px}.blank-state{border:1px dashed #30394a;border-radius:14px;padding:28px;text-align:center;color:var(--muted)}.reference-zone{border-top:1px solid var(--line);margin-top:8px;padding-top:16px}.reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.reference-card{border:1px solid #2d3545;border-radius:12px;background:#0a0f17;padding:10px;min-height:160px}.reference-card img{width:100%;height:130px;object-fit:cover;border-radius:8px;border:1px solid #2c3444;display:block;margin-bottom:8px}.reference-placeholder{height:130px;border-radius:8px;border:1px dashed #333d50;display:grid;place-items:center;color:#667287;font-size:10px;margin-bottom:8px;text-align:center;padding:10px}.reference-card strong{display:block;font-size:11px;margin-bottom:3px}.reference-card small{color:var(--muted);font-size:9px}.upload-row{display:grid;grid-template-columns:145px 1fr auto;grid-gap:8px;gap:8px;align-items:end}.upload-row input[type=file]{font-size:10px}.storage-alert{border:1px solid #5b4a25;background:#201a0e;color:#ebd18b;border-radius:10px;padding:11px 12px;font-size:11px;line-height:1.45}.storage-ok{border-color:#275348;background:#0c211c;color:#82e3cb}.mini-form{display:grid;grid-gap:8px;gap:8px;margin-top:10px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}.status-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px}.status-card h3{margin:7px 0}.status-card code{display:block;background:#090e15;border:1px solid #252e3d;border-radius:8px;padding:8px;margin-top:6px;font-size:10px;color:#b9c3d2;overflow:auto}@media(max-width:920px){.page-grid,.settings-grid{grid-template-columns:1fr}.form-card{position:static}.form-grid.two,.reference-grid,.upload-row{grid-template-columns:1fr}}.production-grid{display:grid;grid-template-columns:minmax(310px,.8fr) minmax(0,1.4fr);grid-gap:18px;gap:18px;align-items:start}.production-list{display:grid;grid-gap:12px;gap:12px}.production-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px}.production-card h3{margin:6px 0 7px}.production-meta{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 14px}.meta-chip{border:1px solid #354055;background:#0b1018;color:#aeb9c9;border-radius:999px;padding:5px 8px;font-size:9px}.open-link{display:inline-flex;border:1px solid #4c4190;background:#17142b;color:#c9beff;border-radius:8px;padding:8px 11px;font-size:11px;font-weight:700}.planner-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.planner-layout{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.5fr);grid-gap:18px;gap:18px;align-items:start}.scene-stack{display:grid;grid-gap:16px;gap:16px}.scene-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px}.scene-title-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.shot-stack{display:grid;grid-gap:9px;gap:9px;margin-top:14px}.shot-card{background:#0a0f17;border:1px solid #2b3445;border-radius:11px;padding:12px}.shot-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:9px}.shot-card h4{margin:0;font-size:12px}.duration-line{font-size:10px;color:var(--muted);margin-top:5px}.progress-shell{height:7px;background:#0a0e15;border:1px solid #283142;border-radius:99px;overflow:hidden;margin-top:8px}.progress-fill{height:100%;background:linear-gradient(90deg,#705ce6,#46d5b2)}.inline-actions{display:flex;gap:7px;align-items:center}.compact-form{display:grid;grid-gap:9px;gap:9px;border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.tiny-button{border:1px solid #3a465b;background:#131a26;color:#d6dce6;border-radius:7px;padding:7px 9px;font-size:10px;cursor:pointer}.planner-note{border:1px solid #2e554b;background:#0d1c19;color:#9fdccb;border-radius:10px;padding:10px 12px;font-size:11px;line-height:1.5}@media(max-width:920px){.planner-layout,.production-grid{grid-template-columns:1fr}}.episode-list{display:grid;grid-gap:12px;gap:12px}.episode-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px}.episode-card h3{margin:6px 0 8px}.episode-builder{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.45fr);grid-gap:18px;gap:18px;align-items:start}.event-stack{display:grid;grid-gap:10px;gap:10px}.event-card{background:#0a0f17;border:1px solid #2c3546;border-radius:12px;padding:13px}.event-card h4{margin:0 0 5px}.memory-state{border:1px solid #28584d;background:#0c211d;color:#8be5cf;border-radius:10px;padding:11px 12px;font-size:11px}.memory-pending{border-color:#594a27;background:#211a0d;color:#e7ce8b}.carry-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.event-checks{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:10px}@media(max-width:920px){.carry-grid,.episode-builder{grid-template-columns:1fr}}