:root{--bg:#0b111b;--sidebar:#0e1520;--panel:#131c29;--panel2:#172231;--line:#263343;--line2:#1d2a3a;--text:#e9f1f5;--soft:#a1b1be;--muted:#768897;--teal:#3ad8bc;--blue:#70a8e7;--amber:#efc77b;--red:#e58d99;--violet:#aa9deb;--radius:13px;--font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--teal);outline-offset:2px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}svg{display:block}.shell{min-height:100vh;display:flex}.sidebar{width:236px;flex-shrink:0;background:var(--sidebar);border-right:1px solid var(--line2);padding:27px 13px 14px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:3px 13px 44px;font-size:21px;font-weight:750;letter-spacing:-.65px}.brand-sub{font-size:9px;display:block;letter-spacing:2.3px;color:#8ca1af;font-weight:700;margin-top:2px}.brand-symbol{width:34px;height:34px;display:grid;place-content:center;gap:4px;transform:rotate(-37deg)}.brand-symbol span{display:block;width:22px;height:7px;border:2px solid var(--teal);border-radius:2px}.brand-symbol span:nth-child(2){opacity:.7}.brand-symbol span:nth-child(3){opacity:.4}.side-section{padding:0 13px;color:#687b8c;font-size:10px;font-weight:700;letter-spacing:1.5px;margin-bottom:13px}.side-section-second{margin-top:35px}.nav{display:grid;gap:4px}.nav-link{width:100%;padding:11px 13px;background:none;border:1px solid transparent;color:#a9b6c1;text-align:left;display:flex;align-items:center;gap:12px;border-radius:8px;font-weight:540;font-size:13px}.nav-link:hover{background:#182432;color:#eaf7fa}.nav-link.active{background:#172d34;color:#b5fff0;border-color:#235b57}.nav-icon{height:18px;width:18px;color:#8ca0ae}.nav-link.active .nav-icon{color:var(--teal)}.nav-icon svg{width:18px;height:18px}.nav-counter{margin-left:auto;padding:2px 6px;font-size:10px;background:#253343;border-radius:4px;color:#a7becd}.sidebar-bottom{margin-top:auto}.side-server{border:1px solid var(--line);background:#15202d;padding:13px 10px;display:flex;align-items:center;gap:10px;border-radius:9px}.live-dot{width:7px;height:7px;display:inline-block;border-radius:99px;background:var(--teal);box-shadow:0 0 0 4px #3ad8bc18;flex-shrink:0}.side-server b,.side-server small{display:block}.side-server b{font-size:12px}.side-server small{font-size:11px;color:#8a9aa6;margin-top:4px}.side-version{font-size:9px;letter-spacing:1.4px;color:#607484;display:flex;justify-content:space-between;margin:20px 7px 0}.main-wrap{min-width:0;flex:1}.topbar{height:68px;border-bottom:1px solid var(--line2);display:flex;align-items:center;justify-content:space-between;padding:0 36px;background:#0d1420}.breadcrumbs{font-size:11px;color:#768a98;font-weight:700;letter-spacing:1.2px}.breadcrumbs span{padding:0 12px;color:#536577}.breadcrumbs strong{font-size:12px;letter-spacing:0;color:#d4e0e7;font-weight:600}.top-actions{display:flex;align-items:center;gap:19px}.sync-chip{font-size:11px;display:flex;align-items:center;gap:10px;color:#b7e9df}.top-time{font-size:11px;color:#8297a5;font-variant-numeric:tabular-nums}.icon-button{background:#172330;color:#abc0cc;border:1px solid #2a3b4b;border-radius:8px;width:31px;height:31px;font-size:21px}.avatar{height:30px;width:30px;border-radius:50%;border:1px solid #406469;background:#183e43;color:#b5fff0;display:grid;place-items:center;font-size:12px;font-weight:800}.mobile-toggle{display:none}.content{max-width:1740px;padding:39px 36px 25px;margin:auto}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:27px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:760;color:var(--teal);text-transform:uppercase}h1{font-size:31px;letter-spacing:-1.1px;margin:10px 0 6px;font-weight:710}h2{letter-spacing:-.3px}.subtitle{color:#889cab;margin:0;font-size:13px;line-height:1.7}.page-tools{display:flex;gap:10px;align-items:center}.select-wrap{display:flex;align-items:center;gap:12px;background:#15202d;border:1px solid var(--line);padding:8px 11px;border-radius:8px;color:var(--muted);font-size:11px}.select-wrap select{background:transparent;color:#d9e8f1;border:none;outline:0;font-size:12px;cursor:pointer}.select-wrap option{background:#18222f}.button{border-radius:8px;display:inline-flex;gap:12px;align-items:center;justify-content:center;padding:9px 13px;font-size:12px;font-weight:700;border:1px solid var(--line)}.button-outline{background:#14202c;color:#d9e7ef}.button-outline:hover{border-color:#4d6775}.button-primary{background:#2bc5a8;border-color:#2bc5a8;color:#0b2021}.demo-warning{border:1px solid #886d34;background:#4c3b1b;color:#f5d799;padding:11px 15px;border-radius:8px;margin-bottom:18px;font-size:11px;font-weight:700;letter-spacing:.2px}.summary-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.metric-card{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);padding:20px 20px 19px;position:relative;overflow:hidden;min-height:130px}.metric-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:#2a3c4c}.metric-card.emphasis:before{background:var(--teal)}.metric-label{color:#98adba;font-size:12px;font-weight:550;margin-bottom:13px;display:flex;align-items:center;gap:7px}.metric-value{font-size:29px;font-weight:690;letter-spacing:-1.2px;line-height:1.1;font-variant-numeric:tabular-nums}.metric-suffix{font-size:13px;font-weight:500;color:#a0b4c1;margin-left:5px}.metric-note{margin-top:12px;color:#8397a6;font-size:11px}.metric-note .good{color:var(--teal)}.metric-note .bad{color:var(--red)}.dashboard-grid{display:grid;gap:16px;margin-bottom:16px}.first-row{grid-template-columns:1.04fr 1fr}.second-row{grid-template-columns:1fr 1.04fr}.third-row{grid-template-columns:1.04fr 1fr}.panel{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);padding:22px;min-width:0}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;gap:10px}.panel-title{font-size:15px;font-weight:720;letter-spacing:-.2px;margin-bottom:6px}.panel-subtitle{color:#869aa9;font-size:11px}.panel-aside{font-size:10px;color:#8a9eaa;background:#1d2c3a;border:1px solid #2a3b49;border-radius:5px;padding:5px 8px;white-space:nowrap}.system-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.system-stat{border:1px solid #283747;background:#182330;padding:13px 14px;border-radius:8px}.stat-upper{display:flex;align-items:center;justify-content:space-between;color:#93a5b1;font-size:11px}.stat-big{font-size:21px;font-weight:680;margin:12px 0 8px;font-variant-numeric:tabular-nums}.stat-detail{font-size:10px;color:#879aa8}.progress{background:#2a3a49;border-radius:9px;height:5px;overflow:hidden}.progress span{height:100%;display:block;border-radius:9px;background:var(--teal)}.progress.blue span{background:var(--blue)}.progress.violet span{background:var(--violet)}.server-chart-head{display:flex;justify-content:space-between;gap:10px;margin:22px 0 6px;color:#a1b1bc;font-size:11px;font-weight:580}.legend{display:flex;align-items:center;gap:13px;color:#8396a4;font-size:10px}.legend i{height:7px;width:7px;display:inline-block;border-radius:2px;margin-right:5px}.chart-frame{width:100%;height:132px;position:relative;background:repeating-linear-gradient(to bottom,transparent 0,transparent 32px,#263546 33px,transparent 34px);border-bottom:1px solid #293848}.chart-frame svg{width:100%;height:100%}.chart-axis{display:flex;justify-content:space-between;color:#647a8c;font-size:9px;margin-top:8px}.server-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line2);padding-top:15px;margin-top:16px;gap:10px}.server-footer div{font-size:11px;color:#9aafbc}.server-footer strong{color:#e1edf3;margin-left:6px;font-variant-numeric:tabular-nums}.usage-buckets{display:flex;align-items:flex-end;justify-content:space-between;height:164px;gap:13px;padding:9px 9px 0;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 38px,#263546 39px,transparent 40px)}.bucket{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;height:100%;gap:0}.bar-seg{width:100%;min-height:0;transition:height .3s ease}.bar-seg.claude{background:var(--violet)}.bar-seg.codex{background:var(--blue)}.bar-seg.deepseek{background:var(--teal)}.bucket-labels{display:flex;justify-content:space-between;gap:13px;padding:10px 9px 0}.bucket-labels span{font-size:10px;color:#7d90a0;text-align:center;flex:1}.usage-footer{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-top:16px}.usage-note{color:#768a99;font-size:10px}.agent-list{display:grid;gap:6px}.agent-row{padding:11px 11px;border:1px solid #263746;border-radius:8px;display:flex;gap:11px;align-items:center}.agent-symbol{height:29px;width:29px;border-radius:7px;background:#1d4240;display:grid;place-items:center;color:var(--teal);font-size:13px;font-weight:750}.agent-row:nth-child(2) .agent-symbol{background:#2a304a;color:#afadeb}.agent-row:nth-child(3) .agent-symbol{background:#253c4d;color:#91c8ea}.agent-row:nth-child(4) .agent-symbol{background:#294138;color:#9be0b0}.agent-row:nth-child(5) .agent-symbol{background:#3b3040;color:#d7aed5}.agent-name{font-size:12px;font-weight:670}.agent-model{font-size:10px;color:#7f94a1;margin-top:3px}.agent-status{margin-left:auto;color:#9fb0ba;font-size:10px;display:flex;align-items:center;gap:7px}.agent-status .live-dot{height:6px;width:6px}.pipeline-summary{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}.status-cell{flex:1;min-width:80px;padding:11px 9px;border-radius:7px;background:#1b2734;border:1px solid #283748}.status-cell b{display:block;font-size:22px;margin:7px 0 4px;font-weight:680}.status-cell small{font-size:10px;color:#9fb0bd}.status-cell .status-dot{width:7px;height:7px;display:inline-block;background:var(--blue);border-radius:50%;margin-right:5px}.status-cell:nth-child(4) .status-dot{background:var(--amber)}.status-cell:nth-child(5) .status-dot{background:var(--red)}.status-cell:nth-child(6) .status-dot{background:var(--teal)}.activity-head{display:flex;justify-content:space-between;align-items:center;color:#b3c2ca;font-size:11px;margin-bottom:9px}.task-feed{display:grid;gap:0}.feed-row{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-top:1px solid var(--line2)}.feed-dot{height:7px;width:7px;border-radius:50%;margin-top:4px;flex-shrink:0;background:#779ac2}.feed-main{flex:1;min-width:0}.feed-title{font-size:11px;color:#d0dce5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feed-desc{color:#788e9d;margin-top:4px;font-size:10px}.feed-time{white-space:nowrap;color:#7a8e9e;font-size:10px}.sub-list{display:grid;gap:10px}.sub-entry{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:13px;padding:13px 13px;border:1px solid var(--line);border-radius:8px;background:#182330}.provider-logo{border-radius:7px;width:36px;height:36px;display:grid;place-items:center;font-size:16px;font-weight:720;background:#413129;color:#f4ab85}.provider-logo.codex{background:#263643;color:#deebf2}.provider-logo.deepseek{background:#1b3c48;color:#8ae4ed}.provider-name{font-size:12px;font-weight:700}.provider-detail{font-size:10px;color:#88a0ae;margin-top:5px;line-height:1.45}.provider-right{text-align:right;min-width:78px}.provider-value{font-size:14px;font-weight:680}.provider-tag{font-size:9px;margin-top:5px;color:#87a6b6}.tag{padding:3px 6px;border:1px solid #385e56;color:#8ce3ca;background:#183630;border-radius:4px;font-size:9px}.tag.off{color:#dbba82;border-color:#66543b;background:#332b23}.table-wrap{overflow-x:auto}.task-table{border-collapse:collapse;width:100%;text-align:left;min-width:380px}.task-table th{color:#6f8797;letter-spacing:.8px;font-weight:740;font-size:9px;padding:0 8px 13px;text-transform:uppercase}.task-table td{border-top:1px solid var(--line2);padding:12px 8px;color:#cdd9e2;font-size:11px;max-width:210px}.task-table .truncate{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:250px}.task-table .taskid{font-size:10px;color:#8ca7bb;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.task-state{display:inline-block;padding:4px 7px;border:1px solid #314958;background:#1e303b;border-radius:5px;font-size:10px;color:#a7c6cf;white-space:nowrap}.task-state.done{background:#193731;border-color:#285b4e;color:#8ce3c4}.task-state.blocked{background:#382731;border-color:#603645;color:#edaab2}.task-state.in_progress{background:#223750;border-color:#31577c;color:#b9d5fb}.empty{padding:24px 13px;border:1px dashed #334454;border-radius:8px;font-size:12px;line-height:1.6;color:#8195a4;text-align:center}.mini-callout{font-size:11px;color:#8197a5;margin-top:13px;line-height:1.7}.inline-green{color:var(--teal)}.section-heading{margin:23px 0 14px;font-size:14px}.info-list{display:grid;gap:11px}.info-row{display:flex;gap:15px;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line2);font-size:12px}.info-row span{color:#8fa2ae}.info-row b{font-weight:550;text-align:right}.footer{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#647b8c;padding:10px 1px 3px}.login-layer{position:fixed;inset:0;background:#080e16ee;backdrop-filter:blur(9px);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{width:min(100%,410px);border:1px solid #314658;background:#142030;border-radius:15px;padding:34px;box-shadow:0 30px 130px #0006}.login-logo{font-size:34px;color:var(--teal);margin-bottom:22px}.login-card h2{font-size:25px;margin:9px 0 12px}.login-card p{font-size:12px;line-height:1.7;color:#8fa3b0}.login-card label{font-size:11px;color:#c1d1d9;display:block;margin:27px 0 8px}.login-card input{background:#0d1621;border:1px solid #35495a;border-radius:8px;padding:12px;color:white;width:100%}.login-card .button{width:100%;margin-top:14px;padding:13px}.login-error{color:var(--red)!important;min-height:12px;margin:5px 0!important}.demo-link{display:block;text-align:center;font-size:11px;color:#a5bcce;margin-top:19px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:1450px){.sidebar{width:215px}.content{padding:30px 25px}.topbar{padding:0 25px}.system-stat{padding:11px}.panel{padding:18px}.status-cell{min-width:69px;padding:10px 7px}.status-cell small{font-size:9px}}
@media(max-width:1140px){.first-row,.second-row,.third-row{grid-template-columns:1fr}.summary-cards{grid-template-columns:repeat(2,1fr)}.panel{padding:21px}.dashboard-grid{gap:14px}.content{max-width:900px}.server-chart-head{margin-top:24px}.chart-frame{height:165px}}
@media(max-width:760px){.sidebar{position:fixed;z-index:30;transform:translateX(-100%);transition:transform .2s;box-shadow:0 20px 100px #0008}.sidebar.open{transform:translateX(0)}.mobile-toggle{display:block;border:0;background:none;color:#c6d2da;font-size:20px;padding:0 13px 0 0}.topbar{padding:0 16px;height:57px}.top-time,.breadcrumbs{display:none}.content{padding:25px 15px}.page-header{align-items:flex-start;flex-direction:column}.page-tools{width:100%;justify-content:space-between}.metric-card{padding:15px;min-height:115px}.metric-value{font-size:25px}.metric-label{font-size:11px}.panel{padding:16px}.system-stat{padding:10px}.system-numbers{gap:7px}.stat-big{font-size:19px}.summary-cards{gap:9px}.status-cell{min-width:75px}.footer span{display:none}}
@media(max-width:420px){.system-numbers{grid-template-columns:repeat(3,1fr)}.stat-detail{font-size:9px}.status-cell{min-width:70px}.metric-value{font-size:23px}.panel-aside{font-size:9px}.top-actions{gap:12px}}
/* v0.2: read-only Kanban and factory observability — restrained design */
.factory-row{grid-template-columns:1fr}
.factory-metrics{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr));gap:8px}
.factory-stat{background:#182330;border:1px solid #293847;border-radius:8px;padding:14px 12px;min-width:0;display:flex;flex-direction:column;gap:6px}
.factory-stat>span{font-size:10px;line-height:1.45;color:#8fa5b5}
.factory-stat strong{font-size:24px;line-height:1.15;font-variant-numeric:tabular-nums;letter-spacing:-.5px}
.factory-stat small{font-size:9px;line-height:1.4;color:#718898}
.quality-note{border-top:1px solid var(--line2);padding-top:13px;margin-top:13px;font-size:11px;line-height:1.6;color:#879daa}
.quality-note b{color:#c5d5df}
.task-toolbar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.view-toggle{background:#111c28;border:1px solid #304353;padding:3px;border-radius:8px;display:flex;gap:3px}
.view-toggle button{font:inherit;font-size:12px;font-weight:650;border:0;border-radius:5px;background:transparent;color:#99afbc;padding:9px 13px;cursor:pointer}
.view-toggle button.active{color:#eaf3f6;background:#2c4556;box-shadow:inset 0 0 0 1px #476075}
.task-search{flex:1;min-width:180px}
.task-search input,.filter-field select{height:38px;background:#111c28;border:1px solid #304353;border-radius:6px;color:#d7e6ef;padding:0 12px;width:100%;outline-offset:2px}
.task-search input:focus,.filter-field select:focus{border-color:#64bac7;outline:1px solid #417c8b}
.filter-field{display:flex;flex-direction:column;gap:5px;color:#8fa4b0;font-size:10px;min-width:140px}
.kanban-scroll{overflow:auto;max-width:100%;padding-bottom:12px;scrollbar-color:#425869 #14212c}
.kanban-lanes{display:grid;grid-template-columns:repeat(8,minmax(188px,1fr));gap:9px;min-width:1550px}
.kanban-lane{min-height:340px;max-height:620px;overflow:hidden;display:flex;flex-direction:column;background:#121e2a;border:1px solid #304150;border-radius:9px}
.lane-heading{display:flex;align-items:center;justify-content:space-between;padding:14px 13px;border-bottom:1px solid #293b49;font-size:11px;font-weight:690}
.lane-name{display:flex;align-items:center;gap:8px}
.status-mark{width:7px;height:7px;border-radius:50%;background:#67899f;display:inline-block}
.lane-triage .status-mark{background:#997dcc}.lane-todo .status-mark{background:#8295aa}.lane-scheduled .status-mark{background:#d0ad75}.lane-ready .status-mark{background:#d6b65b}.lane-in_progress .status-mark{background:#5dbcb9}.lane-blocked .status-mark{background:#d87180}.lane-review .status-mark{background:#76a7ce}.lane-done .status-mark{background:#65b89c}
.lane-count{font-variant-numeric:tabular-nums;padding:3px 8px;border-radius:5px;background:#233442;color:#a5b8c4}
.lane-cards{padding:9px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}
.kanban-card{width:100%;text-align:left;display:flex;flex-direction:column;gap:11px;border:1px solid #354a59;background:#1b2b38;border-radius:7px;padding:11px;color:#dceaf0;font:inherit;cursor:pointer;min-height:124px}
.kanban-card:hover{border-color:#6a9bac;background:#223746}.kanban-card:focus-visible{outline:2px solid var(--teal)}
.kanban-card-top,.kanban-card-meta{display:flex;justify-content:space-between;gap:8px;color:#85a0b2;font-size:10px;overflow:hidden}.kanban-card-top code{font-size:10px;color:#86c5d0}
.kanban-card strong{font-size:12px;font-weight:610;line-height:1.45;overflow-wrap:anywhere}
.kanban-card-meta{flex-wrap:wrap;font-size:9px}.kanban-card-meta span{white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.lane-empty{padding:26px 6px;text-align:center;color:#627a8c;font-size:11px;border:1px dashed #344654;border-radius:7px}
.task-list{min-width:710px}.task-list tbody tr{cursor:pointer}.task-list tbody tr:hover td{background:#213241}.task-list tbody tr:focus-visible{outline:2px solid #5cb9bc}
.task-list strong{display:block;margin-top:5px;font-size:12px;font-weight:610;overflow-wrap:anywhere}
.feed-link{width:100%;font:inherit;text-align:left;cursor:pointer;border-right:0;border-bottom:0;border-left:0;background:transparent;color:inherit}.feed-link:hover .feed-title{color:var(--teal)}
.feed-dot.status-blocked{background:#d87180}.feed-dot.status-done{background:#5dbb99}.feed-dot.status-in_progress{background:#5fabc9}
.text-action{background:none;border:0;color:#78c7ce;padding:12px 0 0;cursor:pointer;font-size:11px;font-weight:660}
.task-drawer-backdrop{position:fixed;inset:0;background:#03080dc0;z-index:50}
.task-drawer{position:fixed;top:0;bottom:0;right:0;z-index:51;background:#142231;border-left:1px solid #354b5d;box-shadow:-16px 0 60px #0007;width:min(480px,100%);padding:28px;overflow-y:auto}
.drawer-head{display:flex;align-items:center;justify-content:space-between}.drawer-id{margin-top:33px;color:#75bfca;font-family:ui-monospace,Consolas,monospace;font-size:12px}.task-drawer h2{font-size:23px;line-height:1.4;margin:12px 0 17px;overflow-wrap:anywhere}.drawer-badge{display:inline-flex}
.task-properties{margin-top:28px;border-top:1px solid var(--line2)}.task-properties>div{border-bottom:1px solid var(--line2);display:grid;grid-template-columns:120px 1fr;gap:13px;padding:14px 0;font-size:12px}.task-properties dt{color:#849aac}.task-properties dd{margin:0;overflow-wrap:anywhere}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
[hidden]{display:none!important}
@media(max-width:1450px){.factory-metrics{grid-template-columns:repeat(4,1fr)}}
@media(max-width:800px){.factory-metrics{grid-template-columns:repeat(2,1fr)}.task-search{flex-basis:100%;order:3}.task-toolbar{align-items:center}.filter-field{min-width:130px;flex:1}}
