:root{color-scheme:light;--color-bg: #f8fafc;--color-surface: #ffffff;--color-surface-2: #f8fafc;--color-surface-3: #eef2ff;--color-border: #e2e8f0;--color-border-strong: #cbd5e1;--color-text: #0f172a;--color-text-muted: #64748b;--color-text-soft: #94a3b8;--color-accent: #4f46e5;--color-accent-weak: rgba(79, 70, 229, .1);--color-secondary: #2563eb;--color-secondary-weak: rgba(37, 99, 235, .08);--color-danger: #ef4444;--color-success: #10b981;--color-warning: #f59e0b;--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SFMono-Regular", "Cascadia Code", "Roboto Mono", Consolas, monospace;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--shadow-panel: 0 10px 28px rgba(15, 23, 42, .06);--sidebar-width: 284px}[data-theme=dark]{color-scheme:dark;--color-bg: #0f172a;--color-surface: #111827;--color-surface-2: #1f2937;--color-surface-3: #374151;--color-border: #334155;--color-border-strong: #475569;--color-text: #f8fafc;--color-text-muted: #cbd5e1;--color-text-soft: #94a3b8;--color-accent: #818cf8;--color-accent-weak: rgba(129, 140, 248, .12);--color-secondary: #60a5fa;--color-secondary-weak: rgba(96, 165, 250, .12)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--color-bg)}.login-panel,.panel,.metric-card,.mini-kv,.mini-status-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-panel)}.login-panel{width:min(100%,380px);padding:24px;display:grid;gap:16px}.login-panel h1,.login-panel p{margin:0}.login-panel h1{font-size:24px}.login-panel p,.login-field span,.muted{color:var(--color-text-muted)}.login-field{display:grid;gap:7px;font-size:13px}.login-error{margin:0;color:var(--color-danger);font-size:13px}.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);background:var(--color-bg)}.app-main{min-width:0;display:grid;grid-template-rows:auto 1fr}.app-content{min-width:0;padding:28px}.platform-sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--color-border);background:var(--color-surface);padding:26px 16px 16px;display:grid;grid-template-rows:auto 1fr auto auto;gap:22px;overflow:auto}.platform-brand,.topbar-title,.topbar-actions,.topbar-profile,.panel-title,.resource-card,.status-pill,.chip,.button,.setup-defaults div{display:flex;align-items:center}.platform-brand{gap:12px;padding:0 8px 22px}.brand-mark{width:34px;height:28px;border-radius:9px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#2563eb,#7c3aed);font-weight:800;font-size:22px;line-height:1}.brand-title{margin:0;font-size:23px;letter-spacing:-.02em}.brand-subtitle{margin:2px 0 0;color:var(--color-text-muted);font-size:12px}.platform-nav{display:grid;align-content:start;gap:8px}.support-nav{padding-top:18px;border-top:1px solid var(--color-border)}.section-title{margin:0 0 8px;color:var(--color-text-muted);font-size:11px;text-transform:uppercase}.platform-nav button,.admin-sidebar button,.recent-mini-list button{min-height:44px;border:1px solid transparent;border-radius:var(--radius-lg);background:transparent;color:#475569;display:flex;align-items:center;gap:12px;padding:0 14px;text-align:left;transition:background .16s ease,border-color .16s ease,color .16s ease}.platform-nav button.active,.platform-nav button:hover,.admin-sidebar button.active,.admin-sidebar button:hover,.recent-mini-list button.active,.recent-mini-list button:hover{border-color:#4f46e529;background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff}.platform-session{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:10px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.platform-session .avatar{width:38px;height:38px;border-radius:999px;display:grid;place-items:center;color:#fff;background:#0f172a;font-size:12px;font-weight:700}.platform-session div:not(.avatar){min-width:0;display:grid;gap:2px}.platform-session strong,.platform-session span,.resource-card strong,.resource-card small,.project-row strong,.project-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.platform-session span,.topbar-profile small,.metric-card span,.metric-card small,.server-row small,.project-row small,.next-step span,.activity-row small,.mini-kv span,.mini-status-card span{color:var(--color-text-muted)}.topbar{min-height:74px;border-bottom:1px solid var(--color-border);background:#ffffffeb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:grid;grid-template-columns:220px minmax(260px,520px) minmax(0,1fr);align-items:center;gap:20px;padding:12px 28px;position:sticky;top:0;z-index:20}.topbar-title{gap:12px;font-size:15px}.topbar-icon{width:28px;height:28px;display:grid;place-items:center;color:var(--color-accent);font-weight:700}.topbar-search{min-width:0;height:42px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:0 12px}.topbar-search .input{border:0;background:transparent;min-height:38px;padding:0}.topbar-search kbd{border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-muted);background:var(--color-surface-2);padding:3px 7px;font-size:12px}.topbar-actions{justify-content:flex-end;gap:12px}.topbar-profile{gap:10px}.topbar-profile div{display:grid}.topbar-profile strong{font-size:13px}.env-pill,.chip,.status-pill{border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-2);color:var(--color-text-muted);min-height:28px;padding:0 10px;font-size:12px;white-space:nowrap}.notification-dot{min-width:18px;height:18px;border-radius:999px;display:grid;place-items:center;background:var(--color-danger);color:#fff;font-size:11px}.input,.select,.textarea{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);outline:none}.input,.select{min-height:40px;padding:0 12px}.textarea{min-height:92px;resize:vertical;padding:12px}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #4f46e51a}.button{min-height:38px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);justify-content:center;gap:8px;padding:0 14px;transition:background .16s ease,border-color .16s ease,color .16s ease}.button:hover{border-color:var(--color-border-strong);background:var(--color-surface-2)}.button.primary{border-color:var(--color-accent);background:var(--color-accent);color:#fff;box-shadow:0 10px 22px #4f46e538}.button.primary:hover{border-color:#4338ca;background:#4338ca}.button.secondary{border-color:#2563eb2e;background:#2563eb14;color:var(--color-secondary)}.compact-button{min-height:32px;padding:0 10px;font-size:12px}.link-button{border:0;background:transparent;color:var(--color-secondary);font-weight:600;font-size:13px}.dashboard-shell,.dashboard-overview,.dashboard-main,.dashboard-side,.stacked-list,.setup-body,.admin-resource-page,.crud-table,.crud-form{display:grid;gap:16px}.dashboard-hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:4px}.dashboard-hero h1{margin:0;font-size:26px;line-height:1.15}.dashboard-hero p{margin:8px 0 0;color:var(--color-text-muted)}.dashboard-badge{border-radius:999px;background:#10b9811a;color:#059669;padding:7px 11px;font-size:12px;font-weight:600}.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.metric-card{min-height:122px;padding:18px;display:flex;justify-content:space-between;gap:14px}.metric-card div:first-child{display:grid;gap:8px}.metric-card strong{font-size:28px;line-height:1}.metric-icon{width:54px;height:54px;border-radius:999px;display:grid;place-items:center;color:var(--color-accent);background:#4f46e51a}.tone-success .metric-icon,.activity-icon.tone-success{color:var(--color-success);background:#10b9811a}.tone-blue .metric-icon{color:var(--color-secondary);background:#2563eb1a}.tone-warning .metric-icon{color:var(--color-warning);background:#f59e0b1f}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(360px,.86fr);gap:16px}.panel{min-width:0;overflow:hidden}.panel-header{min-height:58px;padding:0 18px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-title{margin:0;gap:10px;font-size:16px}.panel-title svg{color:var(--color-accent)}.panel-body{padding:0}.server-table,.project-table{overflow-x:auto}.server-row,.project-row{min-width:640px;display:grid;align-items:center;gap:18px;border-bottom:1px solid var(--color-border);padding:14px 18px}.server-row{grid-template-columns:minmax(150px,1.4fr) 120px repeat(3,minmax(90px,1fr))}.project-row{width:100%;grid-template-columns:minmax(180px,1.4fr) 130px 120px 120px 140px;border-left:0;border-right:0;border-top:0;background:transparent;color:var(--color-text);text-align:left}.server-row:last-child,.project-row:last-child{border-bottom:0}.server-head,.project-head{min-height:40px;background:var(--color-surface-2);color:var(--color-text-muted);font-size:13px;font-weight:600}.project-row:not(.project-head):hover{background:#f8fafc}.project-row.active{background:#eef2ff}.status-online,.project-status{display:inline-flex;align-items:center;gap:6px;color:var(--color-success);font-size:13px}.status-online:before,.project-status:before{content:"";width:7px;height:7px;border-radius:999px;background:currentColor}.status-1{color:var(--color-warning)}.status-2{color:var(--color-secondary)}.usage-cell{display:grid;gap:7px;color:#334155;font-size:13px}.usage-bar{height:5px;border-radius:999px;background:#e5e7eb;overflow:hidden}.usage-bar i{display:block;height:100%;border-radius:inherit;background:var(--color-success)}.usage-bar.warning i{background:var(--color-warning)}.next-action-pill{width:max-content;border:1px solid #bfdbfe;border-radius:7px;background:#eff6ff;color:#2563eb;padding:7px 11px;font-size:12px}.next-step{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:14px;align-items:center;border-bottom:1px solid var(--color-border);padding:14px 18px}.next-step:last-child{border-bottom:0}.step-index{width:26px;height:26px;border-radius:999px;display:grid;place-items:center;background:var(--color-accent);color:#fff;font-size:12px;font-weight:700}.muted-index{border:1px solid #cbd5e1;background:#f1f5f9;color:#475569}.activity-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px 18px}.activity-icon{width:30px;height:30px;border:1px solid currentColor;border-radius:999px;display:grid;place-items:center}.dashboard-compact-row{display:grid;grid-template-columns:1fr 150px;gap:12px}.mini-status-card{padding:14px;display:grid;gap:6px}.workspace{display:grid;grid-template-columns:320px minmax(0,1fr) 300px;gap:16px;align-items:start}.workspace.single{display:block}.setup-wizard{position:sticky;top:102px;max-height:calc(100vh - 130px);overflow:auto}.setup-body{padding:16px}.wizard-steps{display:grid;gap:8px}.wizard-step{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:10px}.wizard-step>span{width:24px;height:24px;border-radius:999px;display:grid;place-items:center;background:#eef2ff;color:var(--color-accent);font-size:12px;font-weight:700}.wizard-step div{min-width:0;display:grid;gap:2px}.wizard-step small{color:var(--color-text-muted)}.setup-defaults{display:grid;grid-template-columns:1fr;gap:8px}.setup-defaults div{gap:8px;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:10px;color:var(--color-text-muted)}.recent-mini-list{display:grid;gap:7px}.recent-mini-list button{min-height:48px;display:grid;grid-template-columns:minmax(0,1fr) auto}.project-detail-view{display:grid;gap:16px}.project-hero-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(135deg,#fff,#f8fafc);box-shadow:var(--shadow-panel);padding:20px;display:flex;justify-content:space-between;gap:18px}.project-hero-card h2{margin:10px 0 6px;font-size:24px}.project-hero-card p{margin:0;color:var(--color-text-muted)}.status-dot{width:8px;height:8px;border-radius:999px;background:var(--color-success)}.actions{display:flex;flex-wrap:wrap;gap:8px}.project-kpi-grid,.resource-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.mini-kv{padding:13px;display:grid;gap:6px}.mini-kv svg{color:var(--color-accent)}.mini-kv strong{font-size:13px}.project-detail-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:16px}.project-logs{grid-column:1 / -1}.resource-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:16px}.resource-meter{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:14px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px}.resource-meter svg{color:var(--color-secondary)}.resource-meter div{display:grid;gap:7px}.log-row{display:grid;grid-template-columns:80px minmax(0,1fr) auto;gap:12px;padding:12px 18px;border-bottom:1px solid var(--color-border)}.log-row:last-child{border-bottom:0}.chat-launcher{position:fixed;right:24px;bottom:24px;z-index:41;min-width:136px;min-height:56px;border:0;border-radius:999px;background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;box-shadow:0 16px 32px #4f46e552;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:700}.chat-launcher i{width:8px;height:8px;border-radius:999px;background:var(--color-success)}.chat-popup{position:fixed;right:24px;bottom:92px;width:min(100vw - 48px,520px);height:min(78vh,760px);z-index:40}.chat{height:100%;display:grid;grid-template-rows:auto auto 1fr auto}.codex-prep{border-bottom:1px solid var(--color-border);padding:14px;display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,220px) auto;gap:10px;align-items:center}.codex-prep div{display:grid;gap:3px}.job-status-list{border-bottom:1px solid var(--color-border);padding:12px 14px;display:grid;gap:8px;background:#f8fafc}.job-status-header,.job-status-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.job-status-row{padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;text-align:left}.job-status-row.active{border-color:#4f46e559;box-shadow:0 0 0 2px #4f46e514}.job-status-row div{min-width:0;display:grid;gap:2px}.job-status-row strong,.job-status-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-status-row span{color:var(--color-text-muted);font-size:12px}.job-status-pill{flex:0 0 auto;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;text-transform:uppercase;background:#e2e8f0;color:var(--color-text-muted)}.job-status-pill.queued{background:#fef3c7;color:#92400e}.job-status-pill.running{background:#dbeafe;color:#1d4ed8}.job-status-pill.completed{background:#d1fae5;color:#047857}.job-status-pill.failed,.job-status-pill.canceled{background:#fee2e2;color:#b91c1c}.job-git-panel{border-bottom:1px solid var(--color-border);padding:12px 14px;display:grid;gap:10px;background:#fff}.job-git-body{display:grid;gap:12px}.job-git-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.job-git-grid>div,.job-git-commit,.job-git-summary,.job-git-files>div{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:8px 10px;background:var(--color-surface);display:grid;gap:4px}.job-git-grid span,.job-git-summary span,.job-git-files span,.job-git-commit span{color:var(--color-text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.02em}.job-git-grid strong,.job-git-files strong,.job-git-commit strong{font-size:13px}.job-git-summary pre{margin:0;white-space:pre-wrap;color:var(--color-text);font-size:12px}.job-git-files{display:grid;gap:8px}.job-git-files>div{grid-template-columns:auto 1fr;align-items:center}.job-git-files>div strong{color:var(--color-primary)}.job-git-commit small{color:var(--color-text-muted);font-size:12px}.messages{overflow:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.message{max-width:88%;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:11px;background:var(--color-surface);white-space:pre-wrap;word-break:break-word}.message.operator{align-self:flex-end;border-color:#4f46e533;background:#eef2ff}.message.system{align-self:flex-start}.message-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px;color:var(--color-text-muted);font-size:11px}.chat-form{border-top:1px solid var(--color-border);padding:12px;display:grid;grid-template-columns:1fr auto auto;gap:8px}.admin-shell{height:calc(100vh - 130px);min-height:680px;display:grid;grid-template-columns:260px minmax(0,1fr)}.admin-sidebar{border-right:1px solid var(--color-border);background:var(--color-surface);padding:18px;overflow:auto;display:grid;align-content:start;gap:18px}.admin-sidebar section{display:grid;gap:6px}.admin-sidebar h3{margin:0 0 4px;color:var(--color-text-muted);font-size:11px;text-transform:uppercase}.admin-content-area{min-width:0;overflow:auto;padding:18px}.admin-page-header{min-height:52px;display:flex;justify-content:space-between;gap:12px;align-items:center}.admin-page-header h2{margin:0;font-size:22px}.admin-page-header span{color:var(--color-text-muted);font-size:13px}.crud-row{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:12px;display:grid;grid-template-columns:minmax(220px,1fr) minmax(320px,auto);gap:12px;align-items:center}.resource-card{min-width:0;justify-content:space-between;gap:12px}.resource-card div:first-child,.registry-row div{min-width:0;display:grid;gap:4px}.badge-row,.crud-actions,.row-actions{display:flex;flex-wrap:wrap;gap:6px}.status-badge,.default-badge{min-height:24px;border:1px solid var(--color-border);border-radius:999px;padding:3px 8px;display:inline-flex;align-items:center;color:var(--color-text-muted);background:var(--color-surface-2);font-size:11px}.default-badge{color:var(--color-accent);border-color:#4f46e53d}.status-active{color:var(--color-success)}.crud-actions button,.row-actions button{min-height:30px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2);color:var(--color-text-muted);padding:0 8px;display:inline-flex;align-items:center;gap:5px;font-size:12px}.crud-actions button:hover{color:var(--color-text);border-color:var(--color-border-strong)}.admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-metrics div,.observability-grid div,.registry-row{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:14px}.admin-metrics strong{display:block;font-size:24px}.admin-metrics span,.observability-grid span{color:var(--color-text-muted);font-size:12px}.observability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.drawer-backdrop,.modal-backdrop{position:fixed;inset:0;z-index:50;background:#0f172a2e;display:flex;justify-content:flex-end}.drawer{width:min(100vw,560px);height:100%;border-left:1px solid var(--color-border);background:var(--color-bg);box-shadow:var(--shadow-panel);display:grid;grid-template-rows:auto 1fr}.drawer-header{min-height:60px;border-bottom:1px solid var(--color-border);padding:14px;display:flex;align-items:center;justify-content:space-between}.drawer-body{min-height:0;overflow:auto;padding:16px}.confirm-dialog{width:min(100vw - 32px,380px);margin:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg);padding:18px;display:grid;gap:14px}.json-view,.lane pre{margin:0;color:var(--color-text-muted);font-family:var(--font-mono);font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.action-result{max-height:220px;overflow:auto}.empty{border:1px dashed var(--color-border);border-radius:var(--radius-lg);padding:14px;color:var(--color-text-muted);background:var(--color-surface-2)}.timeline,.summary-list,.progress-list{display:grid;gap:10px}.timeline-item,.summary-row,.progress-row{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:12px}.timeline-item{display:grid;grid-template-columns:auto 1fr;gap:10px}.timeline-icon{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;color:var(--color-accent);background:#4f46e51a}.timeline-title,.summary-label{margin:0;font-size:13px}.timeline-detail{margin:4px 0 0;color:var(--color-text-muted);font-size:12px}@media(max-width:1280px){.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid,.workspace{grid-template-columns:1fr}.setup-wizard{position:static;max-height:none}}@media(max-width:920px){.app-shell{grid-template-columns:72px minmax(0,1fr)}.platform-sidebar{padding:18px 10px}.platform-brand div:not(.brand-mark),.platform-nav span,.platform-session div:not(.avatar),.support-nav .section-title{display:none}.topbar{grid-template-columns:1fr;gap:10px;padding:12px 16px}.topbar-title{display:none}.topbar-actions{justify-content:flex-start;flex-wrap:wrap}.app-content{padding:16px}.project-kpi-grid,.resource-grid,.admin-metrics,.observability-grid,.dashboard-compact-row,.project-detail-grid,.admin-shell,.crud-row,.codex-prep{grid-template-columns:1fr}.admin-shell{height:auto}.admin-sidebar{border-right:0;border-bottom:1px solid var(--color-border)}}@media(max-width:620px){.app-shell{grid-template-columns:1fr}.platform-sidebar{position:static;height:auto;grid-template-rows:auto auto auto;border-right:0;border-bottom:1px solid var(--color-border)}.platform-brand div:not(.brand-mark),.platform-nav span,.platform-session div:not(.avatar),.support-nav .section-title{display:block}.platform-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.support-nav{display:none}.metric-grid{grid-template-columns:1fr}.dashboard-hero,.project-hero-card,.admin-page-header{flex-direction:column;align-items:stretch}.chat-popup{inset:auto 10px 86px;width:auto;height:min(78vh,680px)}.chat-launcher{right:10px;bottom:14px}.chat-form,.next-step,.activity-row,.log-row{grid-template-columns:1fr}}
