:root{--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--font-sans: -apple-system, BlinkMacSystemFont, "Inter", "SF Pro Text", system-ui, sans-serif;--font-mono: "SF Mono", "JetBrains Mono", ui-monospace, Menlo, monospace;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 20px;--text-xl: 28px;--text-2xl: 40px;--leading-tight: 1.25;--leading-normal: 1.5;--leading-trace: 1.8;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--dur-hover: .15s;--dur-base: .25s;--dur-sheet: .3s;--ease: cubic-bezier(.4, 0, .2, 1);--z-sticky: 30;--z-overlay: 50;--z-toast: 60}[data-theme=dark]{--bg-canvas: #0B0C0E;--bg-surface: #15171B;--bg-elevated: #1C1F25;--bg-trace: #0E1013;--border-default: #282C34;--border-strong: #3A3F4A;--text-primary: #F1F2F4;--text-secondary: #A0A6B0;--text-tertiary: #6C727D;--brand: #E63950;--brand-hover: #F25164;--brand-fg: #FFFFFF;--brand-bg: rgba(230, 57, 80, .14);--success: #36B14A;--success-fg: #6FD27F;--success-bg: rgba(54, 177, 74, .15);--info: #4C8DF6;--info-fg: #86B4FF;--info-bg: rgba(76, 141, 246, .15);--warning: #E9A23B;--warning-fg: #F2BC6B;--warning-bg: rgba(233, 162, 59, .16);--error: #FF5247;--error-fg: #FF8079;--error-bg: rgba(255, 82, 71, .15);--neutral-fg: #BCC2CC;--neutral-bg: rgba(160, 166, 176, .13);--trace-fg: #C9CEDA;--trace-dim: #7B828E;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 6px 20px rgba(0, 0, 0, .45);--shadow-lg: 0 24px 48px rgba(0, 0, 0, .55);--ring: rgba(230, 57, 80, .55);--skeleton: #23262E}[data-theme=light]{--bg-canvas: #F6F6F7;--bg-surface: #FFFFFF;--bg-elevated: #FFFFFF;--bg-trace: #0F1115;--border-default: #E5E6E9;--border-strong: #D2D4D9;--text-primary: #0B0C0E;--text-secondary: #585E68;--text-tertiary: #8A8F99;--brand: #C8102E;--brand-hover: #A60E27;--brand-fg: #FFFFFF;--brand-bg: rgba(200, 16, 46, .08);--success: #16A34A;--success-fg: #15803D;--success-bg: rgba(22, 163, 74, .1);--info: #2563EB;--info-fg: #1D4ED8;--info-bg: rgba(37, 99, 235, .1);--warning: #D97706;--warning-fg: #B45309;--warning-bg: rgba(217, 119, 6, .12);--error: #DC2626;--error-fg: #B91C1C;--error-bg: rgba(220, 38, 38, .1);--neutral-fg: #585E68;--neutral-bg: rgba(88, 94, 104, .1);--trace-fg: #D6DAE2;--trace-dim: #8A93A3;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 24px 48px rgba(0, 0, 0, .16);--ring: rgba(200, 16, 46, .45);--skeleton: #ECEDEF}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:0ms!important;animation-duration:0ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}*{box-sizing:border-box}html{background:var(--bg-canvas)}body{margin:0;background:var(--bg-canvas);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-sm)}a{color:inherit}button,input,select,textarea{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--ring);outline-offset:2px}h1,h2,h3,p{margin:0}h1{font-size:var(--text-xl);line-height:var(--leading-tight)}h2{font-size:var(--text-base);line-height:var(--leading-tight)}h3{font-size:var(--text-base)}.app-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--bg-surface);border-right:1px solid var(--border-default);height:100vh;overflow-y:auto;padding:var(--space-6);position:sticky;top:0}.brand{align-items:center;border-radius:var(--radius-md);display:flex;gap:var(--space-3);font-weight:800;margin-bottom:var(--space-8);min-height:44px;text-decoration:none}.enso{border:4px solid var(--brand);border-radius:var(--radius-full);border-right-color:transparent;display:inline-block;flex:0 0 auto;height:26px;width:26px}.nav-link{align-items:center;border-radius:var(--radius-md);color:var(--text-secondary);display:flex;gap:var(--space-3);min-height:44px;padding:0 var(--space-3);text-decoration:none}.nav-link+.nav-link{margin-top:var(--space-1)}.nav-link.active,.nav-link:hover{background:var(--neutral-bg);color:var(--text-primary)}.compose-button{align-items:center;background:var(--brand);border-radius:var(--radius-md);color:var(--brand-fg);display:flex;font-weight:800;gap:var(--space-2);justify-content:center;margin-top:var(--space-8);min-height:44px;text-decoration:none}.compose-button:hover{background:var(--brand-hover)}.bell-link{align-items:center;border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);display:inline-flex;gap:var(--space-2);justify-content:center;margin-top:var(--space-3);min-height:40px;padding:0 var(--space-3);text-decoration:none}.bell-link span{background:var(--brand);border-radius:var(--radius-full);color:var(--brand-fg);font-family:var(--font-mono);font-size:var(--text-xs);min-width:20px;padding:1px var(--space-2);text-align:center}.main-surface{min-width:0;padding:var(--space-8)}.page-stack{display:grid;gap:var(--space-6);margin:0 auto;max-width:1180px}.mobile-readable{max-width:820px}.page-header{align-items:flex-start;display:flex;gap:var(--space-6);justify-content:space-between}.page-header p,.muted{color:var(--text-secondary);line-height:var(--leading-normal);margin-top:var(--space-2);max-width:760px}.primary-button,.secondary-button,.danger-button{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-weight:800;gap:var(--space-2);justify-content:center;min-height:44px;padding:0 var(--space-4);text-decoration:none;transition:background var(--dur-hover) var(--ease),border-color var(--dur-hover) var(--ease),color var(--dur-hover) var(--ease);white-space:nowrap}.primary-button{background:var(--brand);border:0;color:var(--brand-fg)}.primary-button:hover{background:var(--brand-hover)}.secondary-button{background:var(--bg-elevated);border:1px solid var(--border-strong);color:var(--text-primary)}.danger-button{background:transparent;border:1px solid var(--border-strong);color:var(--error-fg)}.danger-button:hover{background:var(--error-bg);border-color:var(--error)}.icon-button{align-items:center;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:inline-flex;height:36px;justify-content:center;width:36px}.text-link{align-items:center;color:var(--brand);display:inline-flex;font-weight:800;gap:var(--space-1);text-decoration:none}.stat-grid,.recipe-grid,.project-grid,.mcp-grid,.settings-grid{display:grid;gap:var(--space-4)}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.metric,.panel,.run-card,.project-card,.connection-card,.mcp-card,.settings-card,.table-panel,.auth-panel,.budget-hero,.approval-digest{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.metric{display:grid;gap:var(--space-2);padding:var(--space-4)}.metric svg{color:var(--brand)}.metric span{color:var(--text-secondary);font-size:var(--text-xs)}.metric strong{font-size:var(--text-lg)}.split-grid,.detail-grid{display:grid;gap:var(--space-4);grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr)}.panel{padding:var(--space-4)}.panel-header,.run-card-top{align-items:flex-start;display:flex;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-4)}.count-badge,.live-dot{background:var(--neutral-bg);border:1px solid var(--border-default);border-radius:var(--radius-full);color:var(--text-secondary);display:inline-flex;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:800;padding:var(--space-1) var(--space-3)}.live-dot{color:var(--success-fg)}.card-list{display:grid;gap:var(--space-3)}.run-card,.project-card{padding:var(--space-4)}.eyebrow{color:var(--text-tertiary);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:800;letter-spacing:0;margin-bottom:var(--space-1);text-transform:uppercase}.status-pill,.health-badge,.chip{align-items:center;border:1px solid var(--border-default);border-radius:var(--radius-full);display:inline-flex;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:800;min-height:26px;padding:0 var(--space-3);text-transform:capitalize;white-space:nowrap}.status-running,.health-running{background:var(--info-bg);color:var(--info-fg)}.health-healthy{background:var(--success-bg);color:var(--success-fg)}.status-blocked,.health-degraded,.health-blocked{background:var(--warning-bg);color:var(--warning-fg)}.status-failed,.status-cancelled,.health-down{background:var(--error-bg);color:var(--error-fg)}.status-completed{background:var(--success-bg);color:var(--success-fg)}.status-queued,.health-unconfigured{background:var(--neutral-bg);color:var(--neutral-fg)}.progress-line{background:var(--neutral-bg);border-radius:var(--radius-full);height:8px;overflow:hidden;width:100%}.progress-line span{background:var(--brand);display:block;height:100%}.run-meta,.budget-row{align-items:center;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-family:var(--font-mono);font-size:var(--text-xs);gap:var(--space-3);justify-content:space-between;margin:var(--space-3) 0}.recipe-grid{grid-template-columns:repeat(6,minmax(150px,1fr))}.recipe-tile{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;display:grid;gap:var(--space-2);min-height:132px;padding:var(--space-4);text-align:left}.recipe-tile:hover{background:var(--bg-elevated);border-color:var(--border-strong)}.recipe-tile svg,.mcp-card svg,.settings-card svg{color:var(--brand)}.recipe-tile span,.mcp-card p,.settings-card span{color:var(--text-secondary);font-size:var(--text-xs);line-height:var(--leading-normal)}.action-bar,.decision-bar,.composer{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3)}.trace-panel{min-height:520px}.trace-list,.tree,.chat-log{display:grid;gap:var(--space-3)}.trace-list{background:var(--bg-trace);border-radius:var(--radius-md);padding:var(--space-4)}.trace-row{border-left:3px solid var(--border-strong);display:grid;gap:var(--space-1);padding:var(--space-3)}.trace-row span,.trace-row small{color:var(--trace-dim);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:800}.trace-row p{color:var(--trace-fg)}.trace-approval{background:var(--warning-bg);border-color:var(--warning)}.tree-node{align-items:center;border:1px solid var(--border-default);border-radius:var(--radius-md);display:flex;gap:var(--space-3);justify-content:space-between;padding:var(--space-3)}.tree-node.active{border-color:var(--brand)}.approval-digest{display:grid;gap:var(--space-4);padding:var(--space-6)}.digest-section{display:grid;gap:var(--space-2)}.digest-section strong{color:var(--brand);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase}.digest-section ul{margin:0;padding-left:var(--space-6)}.digest-section li+li{margin-top:var(--space-1)}.resource-list,.tool-call-stack,.chip-row,.health-grid{display:flex;flex-wrap:wrap;gap:var(--space-2)}code{background:var(--bg-trace);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--trace-fg);font-family:var(--font-mono);font-size:var(--text-xs);padding:var(--space-1) var(--space-2)}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-card{display:grid;gap:var(--space-3)}.needs-you{border-color:var(--border-strong)}.mini-budget{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-3)}.approval-row{align-items:center;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:var(--text-primary);display:grid;gap:var(--space-4);grid-template-columns:1fr auto auto;padding:var(--space-4);text-decoration:none}.approval-row:hover{background:var(--bg-elevated);border-color:var(--border-strong)}.empty-panel{min-height:260px;place-items:center;text-align:center}.empty-panel svg{color:var(--text-tertiary)}.compose-panel,.compose-form{display:grid;gap:var(--space-4)}.segmented{background:var(--bg-canvas);border:1px solid var(--border-default);border-radius:var(--radius-md);display:grid;gap:var(--space-1);grid-template-columns:1fr 1fr;padding:3px}.segmented button{background:transparent;border:0;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-weight:800;min-height:38px}.segmented button.active{background:var(--bg-elevated);box-shadow:var(--shadow-sm);color:var(--text-primary)}textarea{min-height:96px;padding:var(--space-3);resize:vertical}details{border-top:1px solid var(--border-default);padding-top:var(--space-3)}summary{cursor:pointer;font-weight:800}.acl-row{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between;margin-top:var(--space-2)}.budget-hero{align-items:center;display:flex;gap:var(--space-4);padding:var(--space-6)}.budget-hero svg{color:var(--brand)}.table-panel{overflow:hidden}.table-row{align-items:center;display:grid;gap:var(--space-4);grid-template-columns:1fr 1.4fr 1.2fr auto;min-height:58px;padding:0 var(--space-4)}.table-row+.table-row{border-top:1px solid var(--border-default)}.mcp-grid,.settings-grid,.connection-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.mcp-card,.settings-card{display:grid;gap:var(--space-2);padding:var(--space-4);text-align:left}.settings-card{grid-template-columns:auto 1fr auto}.settings-card span{grid-column:2 / 4}.connection-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr))}.connection-card{display:grid;gap:var(--space-3);padding:var(--space-4)}.connection-card h3{font-size:var(--text-lg)}.connection-card p{color:var(--text-secondary);font-size:var(--text-sm)}.connection-card code{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);overflow-wrap:anywhere;padding:var(--space-2) var(--space-3)}.connection-top,.connection-actions{align-items:flex-start;display:flex;gap:var(--space-3);justify-content:space-between}.connection-actions{align-items:center}.scope-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.connection-signals{display:grid;gap:var(--space-2)}.connection-signals span{align-items:center;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);display:flex;font-size:var(--text-xs);font-weight:800;min-height:32px;padding:0 var(--space-2)}.provider-chat-panel{display:grid;gap:var(--space-4)}.provider-chat-layout{display:grid;gap:var(--space-4);grid-template-columns:260px minmax(0,1fr)}.provider-picker{background:var(--bg-canvas);border:1px solid var(--border-default);border-radius:var(--radius-md);display:grid;gap:var(--space-2);padding:var(--space-2)}.provider-picker button{background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:grid;gap:2px;min-height:58px;padding:var(--space-3);text-align:left}.provider-picker button:hover,.provider-picker button.active{background:var(--bg-elevated);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.provider-picker span{color:var(--text-secondary);font-size:var(--text-xs);font-weight:800}.provider-chat-surface{display:grid;gap:var(--space-3);min-width:0}.provider-chat-log{align-content:end;background:var(--bg-canvas);border:1px solid var(--border-default);border-radius:var(--radius-md);display:grid;gap:var(--space-3);min-height:340px;padding:var(--space-4)}.provider-empty-chat,.provider-chat-message{border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-3)}.provider-empty-chat{align-items:center;color:var(--text-secondary);display:flex;gap:var(--space-2)}.provider-chat-message{background:var(--bg-surface);max-width:780px}.provider-chat-user{background:var(--info-bg);margin-left:auto}.provider-chat-message div{align-items:center;display:flex;gap:var(--space-2);justify-content:space-between;margin-bottom:var(--space-2)}.provider-chat-message time{color:var(--text-tertiary);font-size:var(--text-xs);font-weight:800}.provider-chat-message p{color:var(--text-primary);margin:0}.provider-composer{align-items:flex-end;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);display:flex;gap:var(--space-3);padding:var(--space-3)}.provider-composer textarea{flex:1 1 auto;min-height:86px}.scope-list span{background:var(--neutral-bg);border:1px solid var(--border-default);border-radius:var(--radius-full);color:var(--text-secondary);font-size:var(--text-xs);font-weight:700;padding:var(--space-1) var(--space-2)}.agent-oauth-panel{display:grid;gap:var(--space-4)}.connection-strip{display:grid;gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr))}.connection-strip article{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);display:grid;gap:var(--space-2);padding:var(--space-3)}.connection-strip span:last-child{color:var(--text-secondary);font-size:var(--text-xs)}.notification-row{align-items:center;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);display:grid;gap:var(--space-3);grid-template-columns:auto 1fr auto;padding:var(--space-4)}.notification-row.unread{border-color:var(--brand)}.notification-row p,.notification-row time{color:var(--text-secondary);font-size:var(--text-xs)}.chat-page{min-height:calc(100vh - 64px)}.chat-log{align-content:end;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);min-height:420px;padding:var(--space-4)}.chat-bubble{align-items:flex-start;border-radius:var(--radius-md);display:flex;gap:var(--space-2);max-width:740px;padding:var(--space-3)}.chat-assistant{background:var(--neutral-bg)}.chat-user{background:var(--info-bg);margin-left:auto}.composer{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-3)}.composer input{flex:1 1 260px}input,select,textarea{background:var(--bg-canvas);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-primary);min-height:44px;padding:0 var(--space-3)}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}.toast{background:var(--success-bg);border:1px solid var(--success);border-radius:var(--radius-md);color:var(--success-fg);font-weight:800;padding:var(--space-3)}.auth-page{display:grid;min-height:100vh;place-items:center;padding:var(--space-6)}.auth-panel{max-width:420px;padding:var(--space-8);width:100%}.auth-brand{margin-bottom:var(--space-8)}.stack{display:grid;gap:var(--space-4);margin-top:var(--space-6)}label{color:var(--text-secondary);display:grid;gap:var(--space-2);font-size:var(--text-sm);font-weight:700}.form-error{color:var(--error-fg);margin-top:var(--space-4)}@media(max-width:1100px){.stat-grid,.project-grid,.connection-grid,.connection-strip,.mcp-grid,.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.split-grid,.detail-grid,.provider-chat-layout{grid-template-columns:1fr}}@media(max-width:760px){.app-shell{display:block;padding-bottom:74px}.sidebar{align-items:center;background:var(--bg-surface);border-right:0;border-top:1px solid var(--border-default);bottom:0;display:grid;grid-template-columns:repeat(5,1fr);height:74px;left:0;overflow:visible;padding:var(--space-2);position:fixed;right:0;top:auto;z-index:var(--z-sticky)}.brand,.bell-link{display:none}.sidebar nav{display:contents}.nav-link{flex-direction:column;font-size:var(--text-xs);gap:2px;justify-content:center;min-height:56px;padding:0}.nav-link+.nav-link{margin-top:0}.compose-button{border-radius:var(--radius-full);bottom:86px;box-shadow:var(--shadow-lg);height:56px;margin:0;overflow:hidden;padding:0;position:fixed;right:var(--space-4);width:56px;z-index:var(--z-sticky)}.compose-button span,.compose-button:not(:has(span)){font-size:0}.main-surface{padding:var(--space-4)}.page-header,.panel-header,.run-card-top{align-items:stretch;flex-direction:column}h1{font-size:var(--text-lg)}.stat-grid,.recipe-grid,.project-grid,.connection-grid,.connection-strip,.mcp-grid,.settings-grid,.table-row{grid-template-columns:1fr}.settings-card{grid-template-columns:auto 1fr}.settings-card span{grid-column:1 / 3}.decision-bar .primary-button,.decision-bar .secondary-button,.decision-bar .danger-button,.action-bar .primary-button,.action-bar .secondary-button{width:100%}.provider-composer{align-items:stretch;flex-direction:column}.provider-picker{grid-template-columns:1fr}}
