:root{--sans:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--heading:var(--sans);--mono:"SF Mono", ui-monospace, Consolas, "Courier New", monospace;--shadow-soft:0 1px 2px #0000000a, 0 8px 24px #0000000f;--selection:#ff950038;font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.5}:root[data-theme=dark]{--bg:#000;--panel-bg:#1c1c1e;--panel-muted:#2c2c2e;--panel-strong:#323234;--line:#ffffff14;--line-strong:#ffffff21;--text-strong:#f5f5f7;--text:#e4e4e6;--muted:#98989d;--muted-strong:#c7c7cc;--accent:#ff9f0a;--accent-deep:#ff8f00;--accent-soft:#ff9f0a24;--success-soft:#30d15824;--success-text:#30d158;--danger-soft:#ff453a24;--danger-text:#ff6961;--overlay:#0000008c;--shadow-card:0 1px 2px #0006;--shadow-card-hover:0 6px 20px #00000073;color:var(--text-strong);background:var(--bg)}:root[data-theme=light]{--bg:#f5f5f7;--panel-bg:#fff;--panel-muted:#f5f5f7;--panel-strong:#fff;--line:#00000012;--line-strong:#0000001f;--text-strong:#1d1d1f;--text:#333336;--muted:#6e6e73;--muted-strong:#48484a;--accent:#ff9500;--accent-deep:#d97c00;--accent-soft:#ff95001f;--success-soft:#34c7591f;--success-text:#1f8a3b;--danger-soft:#ff3b301a;--danger-text:#d70015;--overlay:#00000059;--shadow-card:0 1px 2px #0000000a, 0 1px 3px #0000000a;--shadow-card-hover:0 6px 18px #00000014;color:var(--text-strong);background:var(--bg)}*{box-sizing:border-box}html{min-height:100%}body{background:inherit;min-height:100svh;color:var(--text-strong);margin:0}button,input,textarea,select{font:inherit}button{color:inherit}code,pre{font-family:var(--mono)}h1,h2,h3,h4,h5,h6{font-family:var(--heading);letter-spacing:-.01em;color:var(--text-strong);font-weight:600}h1{letter-spacing:-.02em;margin:0 0 4px;font-size:1.75rem;font-weight:700;line-height:1.2}h2{letter-spacing:-.02em;margin:0 0 4px;font-size:1.5rem;font-weight:700;line-height:1.25}p{margin:0}#root{min-height:100svh;position:relative}::selection{background:var(--selection)}.workspace-shell{min-height:100svh;padding:32px 24px;position:relative}.workspace-shell.is-chat-route{align-items:stretch;display:grid}.workspace-backdrop{background:var(--bg);position:fixed;inset:0}.workspace-grid{z-index:1;grid-template-columns:minmax(0,1.65fr) minmax(340px,.95fr);align-items:start;gap:20px;display:grid;position:relative}.dashboard-page,.chat-page{z-index:1;position:relative}.dashboard-page{width:100%;max-width:1360px;margin:0 auto;display:grid}.chat-page{place-items:stretch stretch;min-height:calc(100svh - 64px);display:grid}.operations-frame,.terminal-frame,.start-modal{border:1px solid var(--line);background:var(--panel-bg);box-shadow:var(--shadow-soft);border-radius:20px}.operations-frame{gap:24px;padding:28px;display:grid}.operations-frame-full{width:100%}.operations-header,.terminal-header,.panel-card-head,.quality-panel-head,.live-head,.table-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.operations-header h2,.terminal-header h2,.panel-card h3,.table-head h3,.live-head h3,.start-modal h1{color:var(--text-strong);margin:0}.operations-header p,.panel-card p,.table-head p,.live-head p,.start-modal p,.hint-text,.conversation-subtitle,.detail-card span,.summary-card span,.summary-card small,.quality-item span,.toolbar-field span,.tab-button span{color:var(--muted)}.brand-row{align-items:center;gap:8px;margin-bottom:6px;display:flex}.brand-mark{background-color:var(--accent);flex-shrink:0;width:20px;height:20px;-webkit-mask:url(/assets/orbitus-mark-CjcdhcFx.svg) 50%/contain no-repeat;mask:url(/assets/orbitus-mark-CjcdhcFx.svg) 50%/contain no-repeat}.ghost-button.theme-toggle{border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex}.theme-toggle svg{width:18px;height:18px}.terminal-kicker,.modal-badge,.section-kicker,.status-badge,.live-badge{border-radius:999px;align-items:center;width:fit-content;padding:4px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.terminal-kicker,.section-kicker{background:var(--panel-muted);border:1px solid var(--line);color:var(--muted-strong)}.modal-badge{background:var(--accent-soft);color:var(--accent-deep)}.status-badge,.live-badge{background:var(--success-soft);color:var(--success-text)}.toolbar-grid,.preset-row,.tabs-row,.summary-grid,.detail-grid{gap:10px;display:grid}.toolbar-grid{grid-template-columns:minmax(220px,1.6fr) repeat(2,minmax(170px,1fr))}.operations-header-actions{justify-items:end;gap:12px;display:grid}.route-actions{flex-wrap:wrap;gap:8px;display:flex}.toolbar-field,.tab-button,.preset-button,.conversation-card,.quality-item,.primary-button,.ghost-button{transition:background .15s,border-color .15s,color .15s,box-shadow .15s}.toolbar-field{gap:6px;display:grid}.toolbar-field input,.terminal-form input{border:1px solid var(--line-strong);background:var(--panel-strong);min-width:0;color:var(--text-strong);border-radius:12px;padding:10px 14px}.toolbar-field input:focus,.terminal-form input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);outline:none}.preset-row{grid-auto-flow:unset;background:var(--panel-muted);border:1px solid var(--line);border-radius:11px;justify-content:start;gap:2px;width:fit-content;padding:3px;display:inline-flex}.preset-button,.tab-button,.conversation-card,.quality-item,.panel-card,.table-card,.detail-card,.metric-chip,.summary-card{border:1px solid var(--line);background:var(--panel-muted);box-shadow:var(--shadow-card)}.preset-button,.primary-button,.ghost-button{font:inherit;cursor:pointer;border-radius:9px;padding:8px 14px;font-weight:500}.preset-button{box-shadow:none;background:0 0;border:none}.preset-button,.tab-button,.ghost-button{color:var(--muted-strong)}.preset-button.is-active{background:var(--panel-strong);color:var(--text-strong);box-shadow:var(--shadow-card)}.tab-button.is-active,.conversation-card.is-active,.quality-item.is-active{border-color:var(--accent);background:var(--accent-soft)}.tab-button{text-align:left;cursor:pointer;border-radius:14px;gap:4px;padding:14px 16px;display:grid}.tab-button strong,.conversation-row strong,.summary-card strong,.detail-card strong,.quality-item strong{color:var(--text-strong)}.tabs-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.operations-content{display:block}.view-frame,.view-stack,.conversation-list,.message-thread,.quality-list,.quality-detail-panel,.quality-detail-grid,.quality-detail-card{gap:10px;display:grid}.panel-card,.table-card{border-radius:16px;padding:18px}.summary-grid,.summary-grid.tight{grid-template-columns:repeat(4,1fr)}.summary-card,.detail-card,.metric-chip{border-radius:14px;gap:4px;padding:14px;display:grid}.summary-card strong,.detail-card strong{font-size:1.2rem;font-weight:600}.dashboard-split,.quality-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;display:grid}.quality-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.conversation-card,.quality-item{cursor:pointer;width:100%;color:inherit;border-radius:14px;padding:0}.live-card{border-left:3px solid var(--success-text)}.conversation-row{grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:14px;display:grid}.conversation-main,.conversation-side,.quality-item,.quality-item>div{gap:6px;min-width:0;display:grid}.conversation-topline{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.conversation-subtitle{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.conversation-main p{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.conversation-side{text-align:right;color:var(--muted-strong);white-space:nowrap;justify-items:end;font-size:.86rem}.status-dot{border-radius:999px;padding:3px 9px;font-size:.72rem;font-weight:600;display:inline-flex}.status-open{background:var(--success-soft);color:var(--success-text)}.status-closed{background:var(--danger-soft);color:var(--danger-text)}.detail-drawer-backdrop{z-index:40;background:var(--overlay);opacity:0;pointer-events:none;transition:opacity .25s;position:fixed;inset:0}.detail-drawer-backdrop.is-open{opacity:1;pointer-events:auto}.detail-drawer{z-index:50;background:var(--panel-bg);border-left:1px solid var(--line);width:min(480px,100vw);box-shadow:var(--shadow-soft);align-content:start;gap:18px;min-width:0;padding:24px;transition:transform .28s;display:grid;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%)}.detail-drawer.is-open{transform:translate(0)}.detail-drawer-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.detail-drawer-head h3{margin-top:4px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.message-thread{max-height:720px;overflow:auto}.message-bubble{border:1px solid var(--line);background:var(--panel-muted);border-radius:14px;padding:12px 14px}.message-bubble.is-user{background:var(--success-soft)}.message-bubble.is-assistant{background:var(--panel-muted)}.message-bubble span{color:var(--accent);margin-bottom:4px;font-size:.8rem;font-weight:600;display:block}.message-bubble p,.conversation-main p,.terminal-line p{color:var(--text);white-space:pre-wrap;margin:0;line-height:1.6}.quality-panel{gap:10px;display:grid}.quality-actions{justify-content:space-between;align-items:center;gap:16px;width:100%;display:flex}.quality-actions>div{gap:6px;display:grid}.quality-actions span{color:var(--muted);font-size:.9rem}.quality-item{text-align:left;padding:14px}.quality-item>div{grid-template-columns:minmax(0,1fr) auto;align-items:center}.quality-detail-panel{border:1px solid var(--line);background:var(--panel-muted);border-radius:16px;padding:16px}.quality-detail-head h4,.quality-detail-card p,.quality-detail-card ul{margin:0}.quality-detail-card{border:1px solid var(--line);background:var(--panel-strong);border-radius:12px;padding:12px 14px}.quality-detail-card span{color:var(--accent);font-size:.76rem;font-weight:600}.quality-detail-list{color:var(--text);padding-left:18px;line-height:1.6}.quality-detail-card p,.quality-detail-list li{color:var(--text)}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);text-align:left;color:var(--muted-strong);padding:12px}th{color:var(--muted);font-size:.76rem;font-weight:600}tbody tr{transition:background .15s}tbody tr:hover{background:var(--panel-muted)}.empty-state{border:1px dashed var(--line-strong);min-height:120px;color:var(--muted);text-align:center;border-radius:14px;place-items:center;padding:28px 20px;font-size:.92rem;display:grid}.mini-table{gap:4px;display:grid}.mini-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:12px 4px;display:grid}.mini-row:last-child{border-bottom:none}.mini-row>div{gap:4px;display:grid}.mini-row>div:last-child{text-align:right;justify-items:end}.mini-row strong{color:var(--text-strong)}.mini-row span{color:var(--muted);font-size:.82rem}.terminal-frame{grid-template-rows:auto 1fr auto;min-height:calc(100svh - 48px);display:grid;position:sticky;top:24px;overflow:hidden}.terminal-frame-full{width:min(1200px,100%);min-height:calc(100svh - 48px);margin:0 auto;position:relative;top:0}.terminal-header{border-bottom:1px solid var(--line);padding:20px 24px}.terminal-header-actions{align-items:center;gap:10px;display:flex}.terminal-body{align-content:start;gap:10px;padding:24px;display:grid;overflow:auto}.terminal-line{border:1px solid var(--line);background:var(--panel-muted);border-radius:14px;gap:6px;padding:12px 14px;display:grid}.terminal-line.is-user{background:var(--success-soft)}.terminal-line.is-assistant{background:var(--panel-muted)}.terminal-line.is-typing{width:fit-content;min-width:112px;animation:.22s ease-out both typing-bubble-enter}.terminal-line.is-typing.is-leaving{pointer-events:none;animation:.18s ease-in both typing-bubble-exit}.typing-indicator{align-items:center;gap:5px;min-height:20px;display:inline-flex}.typing-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:1s ease-in-out infinite typing-bounce}.typing-dot:nth-child(3){animation-delay:.14s}.typing-dot:nth-child(4){animation-delay:.28s}@keyframes typing-bounce{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}@keyframes typing-bubble-enter{0%{opacity:0;transform:translateY(5px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes typing-bubble-exit{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-3px)scale(.96)}}.terminal-line.is-system{background:var(--danger-soft)}.terminal-prompt{color:var(--muted);font-family:var(--mono);font-size:.85rem}.terminal-form{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:18px 24px 24px;display:grid}.primary-button,.ghost-button{border:0}.primary-button{background:var(--accent);color:#fff}.primary-button:hover{background:var(--accent-deep)}.ghost-button{background:var(--panel-muted);color:var(--muted-strong);border:1px solid var(--line)}.ghost-button:hover{background:var(--panel-strong);color:var(--text-strong)}.preset-button:hover,.conversation-card:hover,.quality-item:hover,.tab-button:hover{border-color:var(--line-strong)}.conversation-card:hover,.quality-item:hover{box-shadow:var(--shadow-card-hover)}.primary-button:disabled,.ghost-button:disabled{cursor:wait;opacity:.6}.modal-overlay{z-index:3;background:var(--overlay);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.start-modal{z-index:4;gap:14px;max-width:440px;padding:28px;display:grid;position:relative}.inline-error{color:var(--danger-text)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=1280px){.workspace-grid{grid-template-columns:1fr}.terminal-frame{min-height:720px;position:relative;top:0}}@media (width<=860px){.workspace-shell{padding:14px}.toolbar-grid,.dashboard-split,.quality-grid,.quality-detail-grid,.detail-grid,.terminal-form,.conversation-row,.tabs-row,.summary-grid,.summary-grid.tight{grid-template-columns:1fr}.operations-header-actions,.route-actions{justify-items:stretch}.conversation-side,.quality-item>div{justify-items:start}}
