:root{--bg-base:#0a0c10;--bg-surface:#11141b;--bg-surface-2:#171b24;--bg-inset:#070910;--border-subtle:#1e2430;--border-strong:#2c3444;--text-primary:#e8ecf4;--text-secondary:#99a3b5;--text-muted:#667085;--st-working:#34d399;--st-thinking:#6ee7b7;--st-waiting:#fbbf24;--st-queued:#d19b2a;--st-idle:#64748b;--st-scheduled:#60a5fa;--st-awaiting_approval:#a78bfa;--st-throttled:#fb923c;--st-error:#f87171;--st-disabled:#3f4757;--st-draft:#7c8698;--st-stale:#8b5cf6;--dom-health:#2dd4bf;--dom-fitness:#38bdf8;--dom-finance:#eab308;--dom-projects:#a78bfa;--dom-engineering:#818cf8;--dom-system:#94a3b8;--dom-general:#f472b6;--font-sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:ui-monospace,"SF Mono","Cascadia Mono",Menlo,monospace;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-full:999px;--dur-fast:120ms;--dur-base:200ms;--ease-out:cubic-bezier(0.2,0,0,1)}:root[data-theme=light]{--bg-base:#f7f8fa;--bg-surface:#fff;--bg-surface-2:#f0f2f6;--bg-inset:#eceff4;--border-subtle:#e3e7ee;--border-strong:#cdd4e0;--text-primary:#0e131b;--text-secondary:#4a5567;--text-muted:#7b8798;--st-working:#059669;--st-waiting:#b45309;--st-error:#dc2626;--st-scheduled:#2563eb}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg-base);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{text-decoration:none}a,button{color:inherit}button{font:inherit;cursor:pointer}.mono{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.sidebar{background:var(--bg-surface);border-right:1px solid var(--border-subtle);padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-5);position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:var(--sp-2);font-weight:600;letter-spacing:-.01em}.brand-mark{width:26px;height:26px;border-radius:var(--r-sm);background:linear-gradient(135deg,var(--dom-general),var(--dom-fitness));display:grid;place-items:center;font-size:13px;font-weight:700;color:#0a0c10}.nav{display:flex;flex-direction:column;gap:2px}.nav-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:var(--sp-3) 0 var(--sp-1) var(--sp-2)}.nav a{padding:7px var(--sp-3);border-radius:var(--r-sm);color:var(--text-secondary);display:flex;align-items:center;gap:var(--sp-2);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast)}.nav a.active,.nav a:hover{background:var(--bg-surface-2);color:var(--text-primary)}.nav a.active{font-weight:500}.main{padding:var(--sp-6) var(--sp-8);max-width:1500px}.page-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--sp-5);gap:var(--sp-4);flex-wrap:wrap}h1{font-size:22px;margin:0;letter-spacing:-.02em}h1,h2{font-weight:600}h2{font-size:15px;margin:0 0 var(--sp-3)}.subtitle{color:var(--text-muted);font-size:13px}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-md);padding:var(--sp-4)}.grid{display:grid;grid-gap:var(--sp-3);gap:var(--sp-3)}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.grid-stats{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:1100px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.grid-3{grid-template-columns:1fr}}.stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.stat-value{font-size:26px;font-weight:600;margin-top:var(--sp-1);letter-spacing:-.02em}.stat-sub{font-size:12px;color:var(--text-muted);margin-top:2px}.dot{width:9px;height:9px;flex:none;position:relative;display:inline-block}.dot,.dot:after{border-radius:var(--r-full)}.dot:after{content:"";position:absolute;inset:-3px;border:1px solid;opacity:0}.dot.pulse:after{animation:pulse 1.8s var(--ease-out) infinite}@keyframes pulse{0%{transform:scale(.8);opacity:.55}to{transform:scale(1.9);opacity:0}}.dot.breathe{animation:breathe 4s ease-in-out infinite}@keyframes breathe{0%,to{opacity:.45}50%{opacity:.85}}.dot.spin:after{opacity:1;border-top-color:transparent;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;padding:2px 8px;border-radius:var(--r-full);background:var(--bg-surface-2);color:var(--text-secondary);white-space:nowrap}.agent-card,.pill{border:1px solid var(--border-subtle)}.agent-card{background:var(--bg-surface);border-left:3px solid var(--domain-color,var(--border-strong));border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2);transition:border-color var(--dur-base) var(--ease-out),transform var(--dur-fast)}.agent-card:hover{border-color:var(--border-strong)}.agent-card.is-active{box-shadow:0 0 0 1px color-mix(in oklab,var(--st-working) 35%,transparent)}.agent-card .row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.agent-name{font-weight:600;font-size:13px;letter-spacing:-.01em}.agent-meta{font-size:11px;color:var(--text-muted)}.agent-label{font-size:12px;color:var(--text-secondary);min-height:18px}.spark{display:flex;align-items:flex-end;gap:2px;height:22px}.spark span{flex:1 1;background:var(--domain-color,var(--text-muted));border-radius:1px;opacity:.75;min-height:1px}.meter{height:3px;background:var(--bg-inset);border-radius:var(--r-full);overflow:hidden}.meter>i{display:block;height:100%;background:var(--st-working);transition:width var(--dur-base) var(--ease-out)}.meter.warn>i{background:var(--st-throttled)}.meter.danger>i{background:var(--st-error)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:500;white-space:nowrap}td,th{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border-subtle)}tbody tr:hover{background:var(--bg-surface-2)}td.num{text-align:right;font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chat{display:flex;flex-direction:column;height:100vh;max-width:860px;margin:0 auto;padding:var(--sp-5) var(--sp-4)}.chat-log{flex:1 1;overflow-y:auto;gap:var(--sp-4);padding-bottom:var(--sp-5)}.chat-log,.msg{display:flex;flex-direction:column}.msg{gap:4px;max-width:92%}.msg.user{align-self:flex-end;align-items:flex-end}.msg .bubble{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-lg);background:var(--bg-surface);border:1px solid var(--border-subtle);white-space:pre-wrap;word-break:break-word}.msg.user .bubble{background:var(--bg-surface-2);border-color:var(--border-strong)}.msg .who{font-size:11px;color:var(--text-muted)}.composer{display:flex;gap:var(--sp-2);border-top:1px solid var(--border-subtle);padding-top:var(--sp-3)}.composer textarea{flex:1 1;resize:none;background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--r-md);padding:var(--sp-3);font:inherit;min-height:46px;max-height:180px}.composer textarea:focus{outline:none;border-color:var(--border-strong)}.btn{background:var(--text-primary);color:var(--bg-base);border:none;border-radius:var(--r-md);padding:0 var(--sp-5);font-weight:500;transition:opacity var(--dur-fast)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.ghost{background:var(--bg-surface-2);color:var(--text-primary);border:1px solid var(--border-subtle);padding:6px var(--sp-3)}input[type=email],input[type=password],input[type=text],select{background:var(--bg-inset);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);font:inherit;width:100%}.tabs{display:inline-flex;gap:2px;padding:3px;border-radius:var(--r-md);background:var(--bg-surface-2);border:1px solid var(--border-subtle)}.tabs button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;font:inherit;font-size:13px;padding:5px 14px;border-radius:var(--r-sm);background:transparent;color:var(--text-secondary);transition:background var(--dur-fast),color var(--dur-fast)}.tabs button:hover{color:var(--text-primary)}.tabs button[aria-selected=true]{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--sh-1)}.empty{color:var(--text-muted);padding:var(--sp-8);text-align:center}.error-box{background:color-mix(in oklab,var(--st-error) 12%,transparent);border:1px solid var(--st-error);color:var(--text-primary);padding:var(--sp-3);border-radius:var(--r-sm);font-size:13px}.input,textarea.input{background:var(--bg-inset);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);font:inherit;width:100%}.input:focus,textarea.input:focus{outline:none;border-color:var(--border-strong)}input[type=checkbox],input[type=checkbox].input{width:auto;accent-color:var(--st-scheduled)}.record-form{display:block}.card.record-form{margin-bottom:var(--sp-4)}.modal{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--r-lg);padding:0;max-height:min(88vh,900px);overflow:auto}.modal::-webkit-backdrop{background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal::backdrop{background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border-subtle);position:-webkit-sticky;position:sticky;top:0;background:var(--bg-surface);z-index:1}.modal-body{padding:var(--sp-5)}.icon-btn{background:transparent;border:1px solid transparent;border-radius:var(--r-sm);color:var(--text-muted);padding:4px 8px;line-height:1;transition:background var(--dur-fast),color var(--dur-fast)}.icon-btn:hover{background:var(--bg-surface-2);color:var(--text-primary)}.btn.danger{background:transparent;color:var(--st-error);border:1px solid var(--st-error);padding:6px var(--sp-3)}.toolbar{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin-bottom:var(--sp-4)}.toolbar .search{flex:1 1;min-width:200px;max-width:320px}.chip{font-size:12px;padding:5px 12px;border-radius:var(--r-full);background:transparent;border:1px solid var(--border-subtle);color:var(--text-secondary);transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast)}.chip:hover,.chip[aria-pressed=true]{color:var(--text-primary);border-color:var(--border-strong)}.chip[aria-pressed=true]{background:var(--bg-surface-2)}.chip .count{color:var(--text-muted);margin-left:6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.project-card{position:relative;display:flex;flex-direction:column;gap:var(--sp-3)}.project-card:hover{border-color:var(--border-strong)}.stretched:after{content:"";position:absolute;inset:0;border-radius:inherit}.project-card .actions{position:relative;z-index:1}.meter.lg{height:6px}.meter>i.muted{background:var(--st-idle)}.progress-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-2)}.progress-pct{font-size:20px;font-weight:600;letter-spacing:-.02em}.gantt{--gantt-label:220px;font-size:12px}.gantt-axis{position:relative;height:18px;margin-left:var(--gantt-label);color:var(--text-muted);font-size:11px}.gantt-tick-label{position:absolute;transform:translateX(-50%);white-space:nowrap}.gantt-grid{position:relative;display:grid;grid-template-columns:var(--gantt-label) 1fr}.gantt-overlay{position:absolute;left:var(--gantt-label);right:0;top:0;bottom:0;pointer-events:none}.gantt-tick{background:var(--border-subtle)}.gantt-tick,.gantt-today{position:absolute;top:0;bottom:0;width:1px}.gantt-today{background:var(--border-strong)}.gantt-today:before{content:"";position:absolute;top:-4px;left:-3px;border:3px solid transparent;border-top:3px solid var(--border-strong)}.gantt-row{display:contents}.gantt-label{grid-column:1;padding:7px var(--sp-3) 7px 0;min-width:0;border-bottom:1px solid var(--border-subtle)}.gantt-title{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-meta{color:var(--text-muted);font-size:11px}.gantt-track{grid-column:2;position:relative;height:100%;min-height:34px;border-bottom:1px solid var(--border-subtle)}.gantt-bar{position:absolute;top:50%;transform:translateY(-50%);height:14px;min-width:3px;border-radius:4px;background:var(--bar-colour);overflow:hidden;display:flex;align-items:center}.gantt-bar.is-planned{background:color-mix(in oklab,var(--bar-colour) 22%,transparent);border:1px dashed color-mix(in oklab,var(--bar-colour) 70%,transparent)}.gantt-bar.is-milestone{height:18px;background:var(--bg-inset);border:1px solid var(--border-subtle)}.gantt-bar.is-late{border-color:var(--st-error);box-shadow:0 0 0 1px color-mix(in oklab,var(--st-error) 45%,transparent)}.gantt-fill{display:block;height:100%;background:var(--bar-colour);opacity:.85}.gantt-bar-label{left:8px;right:6px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis}.gantt-bar-label,.gantt-outside-label{position:absolute;font-size:10px;white-space:nowrap;pointer-events:none}.gantt-outside-label{top:50%;transform:translateY(-50%);margin-left:6px;color:var(--text-muted)}.gantt-marker{position:absolute;top:3px;width:0;height:0;margin-left:-4px;border:4px solid transparent;border-top:4px solid var(--text-secondary)}.gantt-marker.is-missed{border-top-color:var(--st-error)}.chart-legend,.gantt-legend{display:flex;flex-wrap:wrap;gap:var(--sp-4);font-size:11px;color:var(--text-muted);margin:var(--sp-2) 0 var(--sp-3)}.chart-legend .key,.gantt-legend .key{display:inline-block;width:14px;height:8px;border-radius:3px;margin-right:5px;vertical-align:middle;background:var(--st-idle)}.chart-legend .key.line{height:3px;border-radius:2px}.chart-legend .key.dashed{background:repeating-linear-gradient(90deg,currentColor 0 4px,transparent 4px 8px)}.gantt-legend .key.is-done{background:var(--st-scheduled)}.gantt-legend .key.is-planned{background:color-mix(in oklab,var(--st-idle) 30%,transparent);border:1px dashed var(--st-idle)}.gantt-legend .key.is-late{background:transparent;border:1px solid var(--st-error)}.gantt-legend .key.is-marker{width:0;height:0;border:4px solid transparent;border-top:4px solid var(--text-secondary);border-radius:0}.gantt-legend .key.is-today{width:2px;height:12px;border-radius:0;background:var(--border-strong)}.chart-axis{width:40px;display:flex;flex-direction:column-reverse;justify-content:space-between;font-size:10px;color:var(--text-muted);text-align:right;padding-right:6px}.chart-dot{position:absolute;width:8px;height:8px;border-radius:var(--r-full);transform:translate(-50%,-50%);box-shadow:0 0 0 2px var(--bg-surface)}.chart-flag{position:absolute;top:-2px;transform:translateX(-50%);font-size:10px;color:var(--text-muted);background:var(--bg-surface);padding:0 3px;white-space:nowrap}.chart-foot{display:flex;justify-content:space-between;gap:var(--sp-3);font-size:11px;color:var(--text-muted);margin-top:var(--sp-2)}@media (prefers-reduced-motion:reduce){*,:after{animation:none!important;transition:none!important}}@media (max-width:860px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center}.main{padding:var(--sp-4)}}