:root{color-scheme:light;--bg: #f5f7f8;--surface: #ffffff;--surface-2: #eef3f1;--text: #18201f;--muted: #61706d;--line: #d7e0dd;--accent: #0f7f6e;--accent-strong: #0a5f54;--warn: #b45309;--danger: #b42318;--ok: #11845b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{color-scheme:dark;--bg: #141716;--surface: #1d2321;--surface-2: #26302d;--text: #edf4f1;--muted: #9ba9a5;--line: #34403d;--accent: #37b39c;--accent-strong: #5ecdb9;--warn: #f59e0b;--danger: #ff6b5f;--ok: #5ac89a}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);color:var(--text)}a{color:inherit}button,select,a{font:inherit}.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 28px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand,.top-actions,.topbar-start,.button-row{display:flex;align-items:center;gap:10px}.topbar-start{min-width:0;flex:1}.topbar-page-actions{display:flex;align-items:center;gap:8px;min-width:0}.topbar-text-button{min-height:32px;padding:0 12px;white-space:nowrap}.brand{text-decoration:none;font-weight:800}.brand-mark{width:16px;height:28px;border-radius:4px;background:linear-gradient(180deg,var(--accent),#d6a537)}.icon-button,.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border:1px solid var(--line);border-radius:8px;text-decoration:none;cursor:pointer}.icon-button{width:38px;background:var(--surface);color:var(--text)}.primary-button,.secondary-button{gap:8px;padding:0 14px;font-weight:700}.primary-button{color:#fff;background:var(--accent);border-color:var(--accent)}.secondary-button{background:var(--surface);color:var(--text)}.page{width:min(1180px,calc(100vw - 32px));margin:0 auto;padding:34px 0 56px}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.page-heading.compact{align-items:center}.eyebrow,.breadcrumb{margin:0 0 8px;color:var(--muted);font-size:.9rem;text-decoration:none}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(2rem,4vw,3rem);line-height:1.05}h2{margin-bottom:8px;font-size:1.05rem}.select-label{display:grid;gap:6px;color:var(--muted);font-size:.9rem}select{min-width:220px;min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text)}.group-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.group-card,.panel,.metric{border:1px solid var(--line);border-radius:8px;background:var(--surface)}.group-card{display:grid;gap:26px;min-height:184px;padding:18px}.group-card p,.muted-text{color:var(--muted)}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.status{display:inline-flex;align-items:center;min-height:26px;padding:0 8px;border-radius:999px;font-size:.8rem;font-weight:800;background:var(--surface-2);color:var(--muted)}.status.ok{color:var(--ok)}.status-strip{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;margin-bottom:14px}.metric{min-height:98px;padding:16px}.metric span,.metric small{display:block;color:var(--muted)}.metric strong{display:block;margin-top:8px;overflow-wrap:anywhere;font-size:1.25rem}.metric.ok strong{color:var(--ok)}.metric.warn strong,.metric.warn small{color:var(--warn)}.panel{margin-top:14px;padding:18px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.table-wrap{overflow-x:auto}table{width:100%;min-width:760px;border-collapse:collapse}th,td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{color:var(--muted);font-size:.82rem;text-transform:uppercase}.alerts{display:grid;gap:8px;padding:0;margin:0;list-style:none}.alerts li{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.severity{color:var(--danger);font-weight:800}.empty-state{display:grid;min-height:220px;place-items:center;color:var(--muted)}@media (max-width: 760px){.topbar{padding:0 16px}.page-heading,.card-footer{align-items:stretch;flex-direction:column}.status-strip{grid-template-columns:1fr}.secondary-button,.primary-button{width:100%}}html:has(.cap-dashboard-page){--cap-t: .875}html:has(.cap-dashboard-page),body:has(.cap-dashboard-page){overflow:hidden;height:100%}html:has(.cap-dashboard-page) .app-shell{font-size:calc(1rem * var(--cap-t))}.app-shell:has(.cap-dashboard-page){height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column}.app-shell:has(.cap-dashboard-page) .topbar{flex-shrink:0}.app-shell:has(.cap-dashboard-page) main{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.page.cap-dashboard-page{box-sizing:border-box;width:min(1680px,calc(100vw - 72px));height:100%;max-height:100%;margin:0 auto;padding:10px 0 16px;display:flex;flex-direction:column;overflow:hidden}.cap-dashboard-grid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,2.05fr) minmax(360px,1fr);gap:12px 20px;align-items:stretch;overflow:hidden}.cap-dashboard-col{display:flex;flex-direction:column;gap:12px;min-width:0;min-height:0;overflow:hidden}.cap-dashboard-grid-dimmed{opacity:.35;pointer-events:none}.cap-card{display:flex;flex-direction:column;background:#fff;border:1px solid #dbe4f1;border-radius:0;min-height:0;padding:16px 20px;color:#162848;overflow:hidden}.cap-dashboard-col>.cap-card{flex:1 1 0;min-height:0;max-height:none}.cap-dashboard-col>.cap-dashboard-row-top{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1.72fr) minmax(220px,1fr);gap:12px;align-items:start;min-width:0}.cap-dashboard-row-top>.cap-card{height:auto;max-height:none;min-height:0}.cap-card-pressure{align-self:start}.cap-card-pressure .cap-card-body{flex:0 0 auto;min-height:auto;overflow:visible}.cap-dashboard-row-top>.schedule-card{align-self:stretch}.cap-dashboard-row-top>.schedule-card .cap-card-body{overflow:auto}.cap-card-chrome{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-shrink:0;margin-bottom:10px}.cap-card-header{flex:1;min-width:0}.cap-card-header .cap-panel-title,.cap-card-header .section-split-heading{margin-bottom:0}.cap-card-expand-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;min-height:32px;flex-shrink:0;border:1px solid #dbe4f1;border-radius:6px;background:#f8fafc;color:#415575;cursor:pointer}.cap-card-expand-btn:hover{border-color:#b8c8e4;background:#eef3fb;color:#1d3355}.cap-card-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.cap-card-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;border:0;padding:0;background:#0c14296b;cursor:pointer}.cap-card-fullscreen-shell{position:fixed;top:56px;right:28px;bottom:28px;left:28px;z-index:100;display:flex;flex-direction:column;min-height:0;pointer-events:none}.cap-card-fullscreen-shell .cap-card{pointer-events:auto;flex:1;width:100%;max-height:none;min-height:0;padding:20px 24px}.cap-card-fullscreen-shell .cap-card-body{flex:1;min-height:0;overflow:auto}.cap-card-is-expanded .what-to-do p,.cap-card-fullscreen-shell .what-to-do p{display:block;overflow:visible;-webkit-line-clamp:unset}.cap-panel-title,.section-split-heading{display:flex;align-items:center}.section-split-heading{justify-content:space-between;gap:18px}.cap-panel-title{gap:10px;margin-bottom:12px}.cap-panel-title span{display:inline-flex;color:#1458ff}.cap-panel-title h2{margin:0;color:#1d3355;font-size:calc(.95rem * var(--cap-t));line-height:1;font-weight:900;letter-spacing:.06em}.pressure-main{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1fr);gap:14px 18px;align-items:start}.pressure-value{display:flex;align-items:baseline;gap:10px;color:#0c1429;font-size:clamp(calc(2rem * var(--cap-t)),calc(3.2vw * var(--cap-t)),calc(2.75rem * var(--cap-t)));line-height:1;font-weight:900}.pressure-value span{color:#526381;font-size:calc(.95rem * var(--cap-t));font-weight:700}.pressure-side{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:10px 14px;align-items:center}.band-badge{justify-self:end;grid-column:1 / -1;padding:5px 10px;border:1px solid #9cf0d0;background:#eafff6;color:#008565;font-size:calc(.78rem * var(--cap-t));font-weight:900;letter-spacing:.04em}.band-badge.danger{border-color:#ff9cb0;background:#fff0f3;color:#d41445}.setpoint-lines{display:grid;gap:7px}.member-pressure-lines{width:min(220px,100%);height:72px;overflow:visible}.member-pressure-line{color:var(--line-color)}.member-pressure-path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;vector-effect:non-scaling-stroke}.member-pressure-marker{fill:currentColor}.pressure-band-guide{stroke:#dbe5f3;stroke-width:1;vector-effect:non-scaling-stroke}.lead-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;color:#516483;font-size:calc(.75rem * var(--cap-t))}.pressure-legend-item{display:inline-flex;align-items:center;gap:6px}.pressure-legend-item em{color:#8a98b6;font-style:normal}.dot{display:inline-flex;width:9px;height:9px;border-radius:999px;background:var(--line-color)}.pressure-legend-item:first-child .dot{margin-left:0}.setpoint-copy{display:grid;gap:4px;align-self:end;color:#516483;font-size:calc(.82rem * var(--cap-t));text-align:right}.setpoint-copy strong{color:#172948}.setpoint-copy em{margin-top:12px;color:#94a0bc}.target-pressure-form{display:flex;justify-content:flex-end;gap:5px;margin-top:8px}.target-pressure-form label{display:inline-flex;align-items:center;gap:5px}.target-pressure-form span{color:#71809d;font-size:calc(.66rem * var(--cap-t));font-weight:800;letter-spacing:.05em;text-transform:uppercase}.target-pressure-form input{width:64px;height:26px;border:1px solid #cbd8ea;background:#fff;color:#162848;font-size:calc(.75rem * var(--cap-t));text-align:right}.target-pressure-form button{height:26px;border:1px solid #b8c8e4;background:#f8fafc;color:#1d3355;font-size:calc(.66rem * var(--cap-t));font-weight:900;cursor:pointer}.target-pressure-form button[type=submit]{border-color:#77edbd;background:#e9fff6;color:#008b68}.target-pressure-form button:disabled{cursor:wait;opacity:.65}.pressure-gauge{margin-top:14px}.gauge-track{position:relative;height:12px;border-radius:7px;background:#eef3fa;overflow:visible}.gauge-band{position:absolute;top:0;bottom:0;background:#bdf4df;border-left:2px solid #00a47a;border-right:2px solid #00a47a}.gauge-marker{position:absolute;top:-5px;width:4px;height:22px;background:#0c1429}.gauge-labels{position:relative;height:18px;padding-top:8px;color:#8290b3;font-size:calc(.78rem * var(--cap-t));font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.gauge-labels span{position:absolute;transform:translate(-50%);white-space:nowrap}.gauge-labels .gauge-label-start{transform:translate(0)}.gauge-labels .gauge-label-end{transform:translate(-100%)}.status-boxes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.status-box{display:grid;place-items:center;min-height:64px;border:1px solid #dbe4f1;background:#f8fafc}.status-box.green{border-color:#9cf0d0;background:#eafff6;color:#008565}.status-box.muted strong{color:#93a0b7}.status-box strong{font-size:calc(1.65rem * var(--cap-t));line-height:1}.status-box span{font-size:calc(.68rem * var(--cap-t));letter-spacing:.12em}.members-total{margin-top:10px;text-align:center;color:#9ba5bd;font-size:calc(.86rem * var(--cap-t))}.cap-engine-state{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;align-items:center;margin-top:10px;padding:8px 10px;border:1px solid #dbe4f1;background:#f8fafc;color:#536481;font-size:calc(.72rem * var(--cap-t))}.cap-engine-state span{color:#8490aa;font-weight:900;letter-spacing:.12em}.cap-engine-state strong{color:#008565;font-size:calc(.82rem * var(--cap-t));letter-spacing:.1em}.cap-engine-state p{grid-column:1 / -1;margin:0;color:#6b7893;font-size:calc(.74rem * var(--cap-t))}.cap-engine-state.off{border-color:#ffb6c6;background:#fff4f7}.cap-engine-state.off strong{color:#d41445}.schedule-card,.action-card{min-height:0}.schedule-card p,.faults-card p{color:#273a5c}.schedule-card em{color:#8a96b2}.schedule-window-list{display:grid;gap:7px;margin-top:10px}.schedule-window-row{display:grid;grid-template-columns:48px minmax(92px,max-content) minmax(0,1fr);gap:10px;align-items:center;color:#273a5c;font-size:calc(.82rem * var(--cap-t))}.schedule-window-row>span:first-child{justify-self:start;padding:3px 7px;font-size:calc(.66rem * var(--cap-t));font-weight:900;letter-spacing:.08em}.schedule-run{background:#e9fff6;color:#008b68}.schedule-stop{background:#fff0f3;color:#d41445}.schedule-window-row>span:last-child{color:#8a96b2}.running-pill{padding:5px 10px;border:1px solid #77edbd;background:#e9fff6;color:#008b68;font-size:calc(.78rem * var(--cap-t));font-weight:900;letter-spacing:.06em}.running-pill.stopped{border-color:#ff9cb0;background:#fff0f3;color:#d41445}.decision-chip{display:inline-flex;align-items:center;justify-content:center;justify-self:start;min-width:78px;min-height:24px;padding:0 8px;background:#f0f4fb;color:#1e3558;font-size:calc(.8rem * var(--cap-t));font-weight:900;white-space:nowrap}.auto-control-switch{display:inline-flex;align-items:center;gap:7px;color:#536481;font-size:calc(.72rem * var(--cap-t));font-weight:900;letter-spacing:.08em;cursor:pointer}.auto-control-switch input{position:absolute;opacity:0;pointer-events:none}.auto-control-switch span{position:relative;width:34px;height:18px;border:1px solid #cbd8ea;border-radius:999px;background:#eef3fa}.auto-control-switch span:after{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:999px;background:#8da0bf;content:"";transition:transform .15s ease,background .15s ease}.auto-control-switch input:checked+span{border-color:#77edbd;background:#e9fff6}.auto-control-switch input:checked+span:after{transform:translate(16px);background:#008b68}.auto-control-switch input:focus-visible+span{outline:2px solid #1458ff;outline-offset:2px}.auto-control-switch input:disabled+span,.auto-control-switch input:disabled~strong{cursor:wait;opacity:.65}.action-copy{margin:8px 0 6px;color:#203457;font-size:calc(.92rem * var(--cap-t));line-height:1.3}.decision-meta{color:#8592b2;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.auto-control-note,.cap-engine-note{margin:-2px 0 8px;color:#d41445;font-size:calc(.78rem * var(--cap-t));font-weight:800}.what-to-do{display:flex;justify-content:space-between;gap:12px;margin-top:8px;padding:10px 12px;border:1px solid #a9cbff;background:#edf5ff;color:#17335c;font-size:calc(.86rem * var(--cap-t))}.what-to-do strong,.what-to-do a{color:#004eea;font-weight:900;text-decoration:none}.what-to-do p{margin:4px 0 0}.members-card .cap-table-wrap{overflow-x:auto}.member-legend{display:flex;gap:14px;color:#667693}.member-legend span{display:flex;align-items:center;gap:7px}.member-legend i,.serial-dot{width:11px;height:11px;border-radius:999px;display:inline-flex}.legend-running,.serial-dot.running{background:#a7caff}.legend-sleep{background:#ffb4c3}.legend-stopped,.serial-dot.stopped{background:#cbd5e1}.member-role-cell{display:inline-flex;align-items:center;gap:8px}.activity-led{position:relative;display:inline-flex;width:10px;height:10px;flex:0 0 10px;border:0;border-radius:0;background:gray;box-shadow:none}.activity-led.live{background:#22b455}.activity-led.offline,.activity-led.idle{background:gray}.activity-led.pulse{animation:activity-led-flash-offline .48s steps(1,end)}.activity-led.live.pulse{animation-name:activity-led-flash-live}@keyframes activity-led-flash-live{0%,to{background:#22b455}50%{background:gray}}@keyframes activity-led-flash-offline{0%,to{background:gray}50%{background:#22b455}}@media (prefers-reduced-motion: reduce){.activity-led.pulse{animation:none}}.cap-table-wrap{overflow-x:auto}.cap-members-table{min-width:0;width:100%;font-size:calc(.82rem * var(--cap-t))}.cap-members-table th{color:#8c99b2;font-size:calc(.7rem * var(--cap-t));letter-spacing:.1em}.cap-members-table td,.cap-members-table th{padding:5px 4px}.cap-members-table em{color:#8c99b2}.mode-chip{padding:5px 10px;background:#f2f6fb;color:#1c3152}.muted-cell{color:#b7c0d1}.connectivity-badge{display:inline-flex;align-items:center;min-width:72px;justify-content:center;padding:3px 7px;border:1px solid #d6e0ef;background:#f6f9fd;color:#52617a;font-size:calc(.64rem * var(--cap-t));font-weight:900;letter-spacing:.08em;white-space:nowrap}.connectivity-badge.online{border-color:#9ff2d4;background:#e9fff6;color:#008565}.connectivity-badge.offline{border-color:#d7e0ed;background:#f1f5f9;color:#64748b}.connectivity-badge.warning{border-color:#f8d087;background:#fff8e8;color:#9a6200}.connectivity-badge.unknown{border-color:#d7e0ed;background:#f8fafc;color:#8c99b2}.member-state{display:inline-flex;align-items:center;gap:7px;font-weight:800}.member-state.running{color:#008565}.running-fan-icon{animation:running-fan-spin 1s linear infinite;transform-origin:center}@keyframes running-fan-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.running-fan-icon{animation:none}}.member-state.stopped{color:#4b5b75}.control-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:76px;min-height:28px;border:0;color:#fff;font-size:calc(.76rem * var(--cap-t));font-weight:900;cursor:pointer}.control-button.stop{background:#e3134d}.control-button.start{background:#009a70}.control-button:disabled{cursor:not-allowed;opacity:.72}.control-button[aria-busy=true]{cursor:wait}.command-message{margin:8px 0 0;color:#536481;font-size:calc(.76rem * var(--cap-t))}.command-feedback{margin-top:8px;display:grid;gap:8px}.command-feedback .command-message{margin:0}.command-debug-meta{margin:0;color:#536481;font-size:calc(.72rem * var(--cap-t))}.command-status-panel{display:grid;grid-template-columns:minmax(180px,1fr) minmax(90px,max-content) max-content;gap:8px 12px;align-items:center;border:1px solid #d7e3f3;background:#f8fbff;padding:8px;color:#1d3355;font-size:calc(.72rem * var(--cap-t))}.command-status-panel div{display:grid;gap:2px;min-width:0}.command-status-panel span{color:#8290ad;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.command-status-panel code{overflow-wrap:anywhere;color:#1c3152}.command-status-panel strong{color:#0f7f6e;text-transform:uppercase}.command-status-panel p{grid-column:1 / -1;margin:0;color:#b42318}.command-status-panel button{border:1px solid #9fc0f8;background:#fff;color:#0d55d9;font-weight:800;cursor:pointer;padding:5px 8px}.command-status-panel button:disabled{cursor:wait;opacity:.65}.command-curl-block,.command-debug-response{border:1px solid #b7d2ff;background:#f0f6ff;padding:8px}.command-curl-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px;color:#0f2d57;font-size:calc(.72rem * var(--cap-t))}.command-curl-heading button{border:1px solid #9fc0f8;background:#fff;color:#0d55d9;font-weight:800;cursor:pointer;padding:3px 8px}.command-curl-block pre,.command-debug-response pre{margin:0;max-height:160px;overflow:auto;color:#1c3152;font-size:calc(.68rem * var(--cap-t));white-space:pre-wrap}.command-debug-response summary{cursor:pointer;color:#0f2d57;font-size:calc(.72rem * var(--cap-t));font-weight:800}.fault-list{padding-left:18px}.recent-card{min-height:0}.recent-list{display:grid;gap:6px}.recent-row{display:grid;grid-template-columns:minmax(180px,240px) minmax(78px,max-content) minmax(0,1fr);gap:12px;align-items:center;color:#536481;font-size:calc(.82rem * var(--cap-t))}.recent-row code{color:#7585aa}@media (max-width: 1100px){.cap-dashboard-page{width:min(100% - 28px,900px)}.cap-dashboard-grid{grid-template-columns:1fr;grid-template-rows:minmax(0,1.15fr) minmax(0,1fr)}.cap-dashboard-row-top,.pressure-main,.pressure-side{grid-template-columns:1fr}.pressure-value{font-size:calc(2.25rem * var(--cap-t))}.status-boxes,.recent-row{grid-template-columns:1fr}.cap-card-fullscreen-shell{top:56px;right:16px;bottom:16px;left:16px}}@media (min-width: 1200px){.topbar{height:50px;padding:0 34px}.brand{font-size:calc(1rem * var(--cap-t))}.brand-mark{width:14px;height:24px}.top-actions .icon-button{width:34px;min-height:34px}.cap-dashboard-page{width:min(1700px,calc(100vw - 96px));padding-top:12px;padding-bottom:12px}.topbar-text-button{min-height:34px;padding:0 13px;font-size:calc(.95rem * var(--cap-t))}.cap-dashboard-grid{grid-template-columns:minmax(0,2.08fr) minmax(380px,.92fr);gap:12px 24px}.what-to-do p{display:-webkit-box;margin:3px 0 0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.2}.cap-card-fullscreen-shell{top:52px;right:32px;bottom:32px;left:32px}}
