:root,[data-theme=light]{--bg:#f4f6fa;--surface:#fff;--text:#1f2a37;--muted:#607086;--line:#dce3ec;--primary:#0b63f6;--danger:#ba1b1b;--success:#18794e;--sidebar-bg:#fff;--nav-btn-hover:#f0f4fb;--nav-btn-active-bg:#edf4ff;--nav-btn-active-color:#0b63f6;--input-bg:#fff}[data-theme=dark]{--bg:#0e1010;--surface:#1e1e1e;--text:#fff;--muted:#8b949e;--line:#2a2d2d;--primary:#77a5a1;--danger:#f85149;--success:#3fb950;--sidebar-bg:#1e1e1e;--nav-btn-hover:#2a2d2d;--nav-btn-active-bg:#77a5a126;--nav-btn-active-color:#77a5a1;--input-bg:#0e1010}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;padding:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.dashboard-layout{min-height:100vh;display:flex}.loading-screen{height:100vh;color:var(--muted);justify-content:center;align-items:center;display:flex}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--line);z-index:10;flex-direction:column;width:230px;min-height:100vh;padding:20px 12px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.sidebar-top{flex:1}.sidebar-bottom{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:12px;display:flex}.sidebar-logo{border-bottom:1px solid var(--line);margin-bottom:16px;padding:0 8px 20px}.sidebar-logo-text{color:var(--primary);letter-spacing:-.01em;font-size:18px;font-weight:700}.sidebar-logo-version{color:#fff;vertical-align:super;margin-left:6px;font-size:11px;font-weight:500}.sidebar-nav{flex-direction:column;gap:2px;display:flex}.nav-btn{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:9px 12px;font-size:14px;transition:background .12s,color .12s}.nav-btn:hover{background:var(--nav-btn-hover)}.nav-btn.active{background:var(--nav-btn-active-bg);color:var(--nav-btn-active-color);font-weight:600}.theme-toggle{color:var(--muted);font-size:13px}.sign-out-btn{color:var(--danger);border-color:var(--danger)!important}.sign-out-btn:hover{background:color-mix(in srgb,var(--danger)10%,transparent)}.user-info{border:1px solid var(--line);background:var(--bg);border-radius:8px;flex-direction:column;gap:3px;padding:8px 12px;display:flex}.user-email{color:var(--text);word-break:break-all;font-size:12px;font-weight:500}.user-role{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.nav-section-label{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;padding:9px 12px;font-size:14px;transition:background .12s,color .12s;display:flex}.nav-section-label:hover{background:var(--nav-btn-hover)}.nav-section-label.active{color:var(--nav-btn-active-color);font-weight:600}.nav-section-chevron{color:var(--muted);font-size:10px;transition:transform .15s}.nav-section-chevron.open{transform:rotate(90deg)}.nav-children{flex-direction:column;gap:1px;padding-left:12px;display:flex}.nav-children .nav-btn{padding:7px 12px;font-size:13px}.processing-indicator{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:60px 24px;display:flex}.processing-indicator .spinner{width:32px;height:32px}.processing-indicator h2{margin:0;font-size:18px}.processing-indicator p{margin:0;font-size:14px}.dashboard-right{flex:1;min-height:100vh;margin-left:230px;display:flex}.dashboard-main{flex:1;max-width:100%;padding:24px}.session-sidebar{background:var(--sidebar-bg);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;width:160px;height:100vh;padding:20px 10px;display:flex;position:sticky;top:0;overflow-y:auto}.session-sidebar-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:6px;padding:0 8px 10px;font-size:11px;font-weight:700}.session-session-id{color:var(--muted);margin:0;padding:0 8px 8px;font-size:10px}.session-nav{flex-direction:column;gap:2px;display:flex}.session-nav-btn{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:8px 10px;font-size:13px;transition:background .12s,color .12s}.session-nav-btn:hover:not(:disabled){background:var(--nav-btn-hover)}.session-nav-btn.active{background:var(--nav-btn-active-bg);color:var(--nav-btn-active-color);font-weight:600}.session-nav-btn:disabled{color:var(--muted);opacity:.4;cursor:not-allowed}.session-main{flex:1;min-width:0;padding:24px;overflow-x:hidden}main{max-width:1180px;margin:0 auto;padding:20px}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px}.grid{gap:14px;display:grid}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}h1,h2,h3,h4{color:var(--text);margin:0 0 10px}p{color:var(--muted);margin:0 0 10px}label{color:var(--muted);margin:0 0 6px;font-size:13px;display:block}input,select,textarea,button{width:100%;font:inherit}input,select,textarea{border:1px solid var(--line);background:var(--input-bg);color:var(--text);border-radius:8px;padding:10px}textarea{resize:vertical;min-height:86px}button{border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;padding:10px 12px}.row button{width:auto}button.primary{background:var(--primary);border-color:var(--primary);color:#fff}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}button.success{background:var(--success);border-color:var(--success);color:#fff}.row{align-items:center;gap:10px;display:flex}.badge{border:1px solid var(--line);color:var(--muted);background:var(--bg);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.stepper{flex-wrap:wrap;gap:8px;display:flex}.step{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:6px 10px;font-size:12px}.step.active{border-color:var(--primary);color:var(--primary);background:var(--nav-btn-active-bg)}.kanban{grid-template-columns:repeat(5,minmax(160px,1fr));gap:10px;display:grid}.column{border:1px solid var(--line);background:var(--bg);border-radius:8px;padding:8px}.ticket{border:1px solid var(--line);background:var(--surface);border-radius:6px;margin-top:8px;padding:8px;font-size:13px}.ticket.clickable{cursor:pointer}.ticket.clickable:hover{border-color:var(--primary)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.modal-backdrop{z-index:30;background:#141d2b73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{width:min(640px,100%)}.drawer-backdrop{z-index:20;background:#141d2b73;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--surface);border-left:1px solid var(--line);width:min(480px,100%);height:100%;padding:18px;overflow:auto}.drawer pre{white-space:pre-wrap;word-break:break-word;background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:6px;padding:10px}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid var(--line);border-top-color:var(--primary);border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.75s linear infinite spin}.current-step-card{border-left:4px solid var(--primary)}.review-panel{background:color-mix(in srgb,var(--primary)5%,var(--surface))}.step-review-dot{background:var(--primary);vertical-align:middle;border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-left:6px;display:inline-block}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}@media (max-width:960px){.grid.two,.grid.three,.kanban{grid-template-columns:1fr}.sidebar{width:180px}.dashboard-right{margin-left:180px}.session-sidebar{width:130px}}@media (max-width:640px){.sidebar{border-right:none;border-bottom:1px solid var(--line);width:100%;min-height:auto;position:static}.dashboard-layout{flex-direction:column}.dashboard-right{flex-direction:column;margin-left:0}.session-sidebar{border-right:none;border-bottom:1px solid var(--line);width:100%;height:auto;position:static}.session-nav{flex-flow:wrap}.session-nav-btn{width:auto}}
