:root{--bg-main:#0F172A;--card-main:#1E293B;--card-border:#334155;--accent-blue:#2563EB;--accent-sky:#38BDF8;--text-main:#E0E3E5;--text-muted:#94A3B8;--bg:var(--bg-main);--bg-glow:radial-gradient(1200px 600px at 15% -10%,rgba(37,99,235,.18),transparent 60%);--panel:var(--card-main);--panel2:#24314a;--panel3:#2c3b57;--line:var(--card-border);--text:var(--text-main);--muted:var(--text-muted);--brand:var(--accent-blue);--brand2:#1d4ed8;--brand-soft:rgba(37,99,235,.14);--brand-line:rgba(37,99,235,.4);--accent:var(--accent-sky);--ok:#22c55e;--ok-bg:#0f2a1c;--warn:#f59e0b;--bad:#ef4444;--bad-bg:#301418;--radius:16px;font-family:Hanken Grotesk,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:var(--bg);color:var(--text)}body{background-image:var(--bg-glow);background-attachment:fixed}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0 0 .5rem;font-weight:700;letter-spacing:-.01em;font-family:Plus Jakarta Sans,system-ui,sans-serif}h1{font-size:1.6rem}h2{font-size:1.25rem}h3{font-size:1rem}p{margin:.25rem 0}small{color:var(--muted)}.font-headline{font-family:Plus Jakarta Sans,system-ui,sans-serif}.font-mono-code{font-family:JetBrains Mono,ui-monospace,monospace}.glass-panel{background:#1e293bd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(51,65,85,.6)}.glow-active{box-shadow:0 0 20px #2563eb59}.glow-sky{box-shadow:0 0 15px #38bdf840}.inner-glow{box-shadow:inset 0 0 0 1px #ffffff14}.layout{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.side{background:var(--panel);border-right:1px solid var(--line);padding:18px 12px;display:flex;flex-direction:column;gap:3px;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:40}.side .logo{display:flex;align-items:center;gap:9px;font-weight:800;font-size:1.15rem;padding:6px 10px 20px;letter-spacing:-.02em}.side .logo b{color:var(--accent)}.side .logo .mark{width:30px;height:30px;border-radius:10px;background:var(--brand);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.side a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:12px;color:var(--muted);font-weight:600;font-size:.92rem;transition:.15s}.side a svg{flex:0 0 auto;opacity:.85}.side a:hover{background:var(--panel3);color:var(--text)}.side a.active{background:var(--brand);color:#fff;box-shadow:0 4px 14px -4px var(--brand-line)}.side a.active svg{opacity:1}.side .nav-secondary{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:3px}.side .spacer{flex:1}.side .logout{color:#ff8a8a}.side .logout:hover{background:var(--bad-bg)}.main{padding:0}.mobile-topbar,.drawer-overlay{display:none}.app-topbar{display:flex;justify-content:flex-end;align-items:center;gap:14px;padding:16px 32px;border-bottom:1px solid var(--line)}.clips-pill{display:flex;align-items:center;gap:6px;background:var(--brand-soft);border:1px solid var(--brand-line);color:var(--accent);padding:7px 14px;border-radius:999px;font-weight:700;font-size:.85rem;font-family:JetBrains Mono,ui-monospace,monospace;cursor:pointer}.icon-btn{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);background:transparent;border:1px solid transparent}.icon-btn:hover{background:var(--panel3);color:var(--text)}.user-chip{display:flex;align-items:center;gap:10px}.user-chip .who{text-align:right;line-height:1.15}.user-chip .who b{font-size:.85rem;display:block}.user-chip .who small{text-transform:uppercase;letter-spacing:.05em;font-size:.68rem}.avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--accent));display:inline-flex;align-items:center;justify-content:center;font-weight:800;color:#04101f;font-size:.9rem}.page{padding:26px 32px 40px;max-width:1200px;width:100%}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:12px;flex-wrap:wrap}.credits-pill{background:linear-gradient(135deg,var(--brand),var(--brand2));padding:8px 14px;border-radius:999px;font-weight:600;font-size:.9rem;color:#fff}.grid{display:grid;gap:18px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.card-h{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}.card-b{padding:18px}.stat{padding:20px;display:flex;align-items:center;gap:14px}.stat .ic{width:42px;height:42px;border-radius:12px;background:var(--brand-soft);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.stat .v{font-size:1.7rem;font-weight:800;line-height:1.1}.stat .l{color:var(--muted);font-size:.82rem}.btn{border:0;border-radius:999px;padding:10px 18px;font-weight:700;cursor:pointer;font-size:.92rem;transition:.15s;display:inline-flex;align-items:center;gap:8px}.btn.primary{background:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand2)}.btn.ghost{background:var(--panel2);color:var(--text);border:1px solid var(--line)}.btn.ghost:hover{background:var(--panel3)}.btn.danger{background:var(--bad-bg);color:#ff8a8a;border:1px solid #5a2424}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.sm{padding:6px 12px;font-size:.82rem}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field span{font-size:.85rem;color:var(--muted);font-weight:500}input,select,textarea{background:var(--panel2);border:1px solid var(--line);color:var(--text);padding:10px 12px;border-radius:12px;font-size:.95rem;font-family:inherit}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand);border-color:transparent}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}tr:hover td{background:#2f6feb0d}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:700;background:var(--panel2);color:var(--muted);white-space:nowrap}.badge.s-completed,.badge.s-ready,.badge.s-active,.badge.s-passed,.badge.s-approved{background:var(--ok-bg);color:#6ee7a0}.badge.s-failed,.badge.s-rejected,.badge.s-disabled{background:var(--bad-bg);color:#ff8a8a}.badge.s-queued,.badge.s-generating,.badge.s-validating,.badge.s-assembling,.badge.s-finalizing,.badge.s-planning,.badge.s-preparing,.badge.s-analyzing,.badge.s-preparing_product,.badge.s-analyzing_reference,.badge.s-processing{background:var(--brand-soft);color:var(--accent)}.empty{padding:44px 20px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius)}.error-box{background:var(--bad-bg);color:#ffb4b4;border:1px solid #5a2424;padding:12px 14px;border-radius:12px;margin:10px 0}.spinner{width:22px;height:22px;border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--panel2),#212939,var(--panel2));background-size:200% 100%;animation:sk 1.2s infinite;border-radius:12px}@keyframes sk{to{background-position:-200% 0}}.progress{height:8px;background:var(--panel2);border-radius:999px;overflow:hidden}.progress div{height:100%;background:linear-gradient(90deg,var(--brand),var(--accent));transition:width .5s}.wizard{display:grid;grid-template-columns:1fr 340px;gap:20px}.steps{display:flex;flex-direction:column;gap:14px}.step{border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;background:var(--panel)}.step.done{border-color:#1d4fd1}.step h3{display:flex;gap:10px;align-items:center}.step .num{width:26px;height:26px;border-radius:50%;background:var(--panel2);display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;color:var(--muted)}.step.done .num{background:var(--brand);color:#fff}.thumb{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:12px;background:var(--panel2)}.video-card{display:flex;flex-direction:column;gap:8px}.video-card .thumb{aspect-ratio:9/16;max-height:280px}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}.tile{border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--panel2);cursor:pointer}.tile.sel{outline:2px solid var(--brand)}.tile img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;background:#000}.timeline{display:flex;flex-direction:column;gap:6px;font-size:.85rem}.timeline li{list-style:none;display:flex;gap:10px}.timeline time{color:var(--muted);min-width:70px}.bp-track{display:grid;grid-auto-flow:column;gap:2px;height:22px;border-radius:6px;overflow:hidden}.bp-track div{background:var(--brand);opacity:.85;font-size:.65rem;padding:3px 4px;white-space:nowrap;overflow:hidden}.bp-track div:nth-child(2n){background:var(--accent);color:#04101f}.login{min-height:100vh;display:grid;place-items:center;padding:20px;background-image:var(--bg-glow)}.login .card{width:100%;max-width:420px}.drop{border:2px dashed var(--line);border-radius:12px;padding:22px;text-align:center;color:var(--muted);cursor:pointer}.drop:hover{border-color:var(--brand)}.radio-cards{display:flex;gap:10px}.radio-cards label{flex:1;border:1px solid var(--line);border-radius:12px;padding:14px;cursor:pointer;background:var(--panel2)}.radio-cards label.sel{outline:2px solid var(--brand)}.radio-cards input{display:none}.kv{display:grid;grid-template-columns:150px 1fr;gap:6px 12px;font-size:.9rem}.kv b{color:var(--muted);font-weight:500}.welcome-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.welcome-grid .card{padding:18px}.welcome-grid .ic{width:38px;height:38px;border-radius:10px;background:var(--brand-soft);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;margin-bottom:10px}.intent-card{cursor:pointer;text-align:left;color:var(--text);font:inherit}.intent-card:hover{border-color:var(--brand)}.intent-card b{color:var(--accent);margin-right:4px}.chat{display:flex;flex-direction:column;gap:14px;max-height:60vh;overflow-y:auto;padding:4px 2px}.msg{max-width:75%;padding:12px 16px;border-radius:16px;line-height:1.5;font-size:.92rem;white-space:pre-wrap}.msg.assistant{background:var(--panel2);border:1px solid var(--line);align-self:flex-start;border-bottom-left-radius:4px}.msg.user{background:var(--brand);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}.chat-input{display:flex;gap:10px;align-items:flex-end;margin-top:14px}.chat-input textarea{flex:1;resize:none;min-height:46px;max-height:140px}.session-list{display:flex;flex-direction:column;gap:10px}.session-row{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.folders{display:flex;flex-direction:column;gap:4px}.folders a{padding:9px 12px;border-radius:10px;color:var(--muted);font-size:.88rem;font-weight:600}.folders a.active,.folders a:hover{background:var(--panel3);color:var(--text)}.merge-cols{display:grid;grid-template-columns:1fr 340px;gap:18px}.queue{display:flex;flex-direction:column;gap:8px;min-height:120px}.queue-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;font-size:.85rem}.queue-item .n{width:22px;height:22px;border-radius:50%;background:var(--brand);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;flex:0 0 auto}.queue-item[draggable]{cursor:grab}.queue-item.dragging{opacity:.4}.queue-item .drag-handle{display:flex;color:var(--muted);flex:0 0 auto;cursor:grab}.queue-item.drop-target{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.plan{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:12px}.plan.hi{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.plan .price{font-size:2rem;font-weight:800}.tut-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.tut-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}.tut-card .th{height:130px;background:linear-gradient(135deg,var(--brand-soft),var(--panel3));display:flex;align-items:center;justify-content:center;color:var(--accent)}.tut-card .b{padding:16px;display:flex;flex-direction:column;gap:6px;flex:1}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px}.tabs button{background:transparent;border:0;padding:12px 18px;color:var(--muted);font-weight:700;font-size:.9rem;cursor:pointer;border-bottom:2px solid transparent}.tabs button.active{color:var(--text);border-bottom-color:var(--brand)}.asset-picker{position:relative;display:inline-block}.card:has(.chat-input){overflow:visible}.asset-menu{position:absolute;bottom:calc(100% + 8px);left:0;max-height:min(60vh,420px);overflow-y:auto;background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:6px;width:280px;box-shadow:0 12px 30px -8px #00000080;z-index:10}.asset-menu button{display:block;width:100%;text-align:left;background:transparent;border:0;color:var(--text);padding:10px 12px;border-radius:8px;cursor:pointer}.asset-menu button:hover{background:var(--panel3)}.asset-menu small{display:block;color:var(--muted)}.attachment-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.attachment-chip{display:inline-flex;align-items:center;gap:6px;background:var(--panel3);border:1px solid var(--line);border-radius:999px;padding:5px 10px;color:var(--text)}.msg.user .attachment-chip{background:#ffffff26;border-color:#ffffff40;color:#fff}.attachment-chip small{color:inherit}.attachment-chip button{display:flex;background:transparent;border:0;color:inherit;opacity:.7;cursor:pointer;padding:0}.attachment-chip button:hover{opacity:1}@media (max-width:900px){.layout{grid-template-columns:1fr}.mobile-topbar{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg-main);z-index:30}.mobile-topbar .menu-btn{background:transparent;border:1px solid var(--line);color:var(--text);border-radius:10px;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center}.mobile-topbar .logo{display:flex;align-items:center;gap:8px;font-weight:800}.side{position:fixed;left:0;top:0;height:100vh;width:280px;max-width:82vw;transform:translate(-100%);transition:transform .2s ease;z-index:50}.side.open{transform:translate(0)}.drawer-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#04081099;z-index:45}.drawer-overlay.open{display:block}.side .spacer{display:none}.page{padding:16px}.app-topbar{padding:12px 16px}.g2,.g3,.g4,.welcome-grid,.merge-cols,.pricing,.wizard{grid-template-columns:1fr}}.section-h{margin:18px 0 10px;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.section-h:first-child{margin-top:0}.intent-card:hover{border-color:var(--accent)}.intent-card.selected{border-color:var(--accent);background:var(--brand-soft)}.format-note{margin:8px 0 0;max-width:640px}.format-note small{color:var(--muted);line-height:1.5}
