:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f5f7;--ink:#1d1d1f;--ink-2:#6e6e73;--ink-3:#86868b;--line:#0000000f;--rule:#d2d2d7;--field-edge:#8e8e93;--glass:#ffffffa8;--glass-edge:#fffc;--glass-shadow:0 0 0 1px #0000000a, 0 1px 2px #0000000a, 0 12px 32px -8px #00000014;--solid:#fff;--bar:#ffffffb8;--fill:#0000000d;--fill-hover:#00000014;--segment:#fff;--row-hover:#ffffff8c;--accent:#2b55f0;--accent-press:#1f45d6;--accent-ink:#fff;--link:#2b55f0;--focus:#2b55f073;--glow-1:#2b55f029;--glow-2:#7a5af81f;--series:#2b55f0;--series-hover:#1f45d6;--axis:#c7c7cc;--good:#0a7d0a;--good-ink:#fff;--warning:#f5a623;--warning-ink:#1d1d1f;--warning-text:#8a6d2f;--warning-glass:#fff8ebbf;--warning-edge:#f5a62359;--critical:#d93025;--critical-ink:#fff;--nodata:#e8e8ed;--nodata-ink:#6e6e73;--error-ink:#b42318;--radius:18px;--pad:clamp(16px, 5vw, 40px);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif;font-size:15px;line-height:1.5}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0b0d;--ink:#f5f5f7;--ink-2:#a1a1a6;--ink-3:#8e8e93;--line:#ffffff14;--rule:#3a3a3c;--field-edge:#8e8e93;--glass:#1c1c1e9e;--glass-edge:#ffffff14;--glass-shadow:0 0 0 1px #ffffff0f;--solid:#1c1c1e;--bar:#161618b8;--fill:#ffffff14;--fill-hover:#ffffff21;--segment:#ffffff29;--row-hover:#ffffff0a;--accent:#3e66f5;--accent-press:#2b55f0;--link:#6d8dff;--focus:#6d8dff8c;--glow-1:#3e66f52e;--glow-2:#7a5af81f;--series:#6d8dff;--series-hover:#9cb1ff;--axis:#48484a;--warning-text:#f5c26b;--warning-glass:#3c2d0f99;--warning-edge:#f5a62359;--nodata:#3a3a3c;--nodata-ink:#c7c7cc;--error-ink:#ff8a80}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0b0d;--ink:#f5f5f7;--ink-2:#a1a1a6;--ink-3:#8e8e93;--line:#ffffff14;--rule:#3a3a3c;--field-edge:#8e8e93;--glass:#1c1c1e9e;--glass-edge:#ffffff14;--glass-shadow:0 0 0 1px #ffffff0f;--solid:#1c1c1e;--bar:#161618b8;--fill:#ffffff14;--fill-hover:#ffffff21;--segment:#ffffff29;--row-hover:#ffffff0a;--accent:#3e66f5;--accent-press:#2b55f0;--link:#6d8dff;--focus:#6d8dff8c;--glow-1:#3e66f52e;--glow-2:#7a5af81f;--series:#6d8dff;--series-hover:#9cb1ff;--axis:#48484a;--warning-text:#f5c26b;--warning-glass:#3c2d0f99;--warning-edge:#f5a62359;--nodata:#3a3a3c;--nodata-ink:#c7c7cc;--error-ink:#ff8a80}*{box-sizing:border-box}html{background:var(--bg);color:var(--ink)}body{min-height:100vh;margin:0}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(640px 640px at 6% -8%, var(--glow-1), transparent 70%), radial-gradient(600px 600px at 100% 42%, var(--glow-2), transparent 70%);position:fixed;inset:0}a{color:var(--link);text-decoration:none}a:hover{text-underline-offset:2px;text-decoration:underline}h1{letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:2.25rem;font-weight:600;line-height:1.1}h2{margin:0;font-size:1.13rem;font-weight:600;line-height:1.3}button{font:inherit;letter-spacing:inherit;cursor:pointer}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.muted{color:var(--ink-2)}.small{font-size:.87rem}.strong{font-weight:600}.medium{font-weight:500}.mono{letter-spacing:0;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.85em}.num{font-variant-numeric:tabular-nums}.error{color:var(--error-ink)}.warn-text{color:var(--warning-text);font-weight:500}.note{margin:12px 0 0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.topbar{z-index:10;background:var(--bar);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);box-shadow:0 1px 0 var(--line);position:sticky;top:0}.topbar-inner{max-width:1080px;padding:0 var(--pad);justify-content:space-between;align-items:center;gap:16px;height:52px;margin:0 auto;display:flex}.brand{color:var(--ink);align-items:center;gap:12px;font-weight:500;display:inline-flex}.brand:hover{text-decoration:none}.brand-divider{background:var(--rule);width:1px;height:18px}.wordmark{width:auto;height:18px;display:block}.wordmark-dark{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .wordmark-light{display:none}:root:not([data-theme=light]) .wordmark-dark{display:block}}:root[data-theme=dark] .wordmark-light{display:none}:root[data-theme=dark] .wordmark-dark{display:block}.topbar-user{align-items:center;gap:12px;min-width:0;font-size:.87rem;display:flex}.topbar-name{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.preview-bar{background:var(--ink);color:var(--bg);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 12px;padding:8px 16px;font-size:.87rem;display:flex}.preview-bar button{color:inherit;text-underline-offset:2px;background:0 0;border:0;padding:0;font-weight:500;text-decoration:underline}.page{max-width:1080px;padding:40px var(--pad) 72px;margin:0 auto}.stack{flex-direction:column;gap:24px;display:flex}.narrow{max-width:760px;margin:0 auto}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px;display:flex}.page-head>div{flex-direction:column;gap:4px;min-width:0;display:flex}.lede{color:var(--ink-2);margin:0;font-size:1.13rem}.back{align-self:flex-start;font-size:.93rem}.head-actions{flex-wrap:wrap;gap:12px;display:flex}.refreshing .card{opacity:.85;transition:opacity .2s}.center-note{text-align:center;max-width:420px;margin:80px auto}.btn{background:var(--fill);height:32px;color:var(--ink);white-space:nowrap;-webkit-tap-highlight-color:transparent;border:0;border-radius:980px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:.87rem;font-weight:500;text-decoration:none;transition-property:scale,background-color;transition-duration:.15s;transition-timing-function:ease-out;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-lg{height:40px;padding:0 18px;font-size:.93rem}.btn-block{width:100%}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-danger{color:var(--error-ink)}.btn-danger-solid{background:var(--critical);color:var(--critical-ink)}@media (hover:hover){.btn:hover:not(:disabled){background:var(--fill-hover);text-decoration:none}.btn-primary:hover:not(:disabled){background:var(--accent-press)}.btn-danger-solid:hover:not(:disabled){background:#b3261e}}@media (prefers-reduced-motion:no-preference){.btn:active:not(:disabled){scale:.96}}.link-button{color:var(--link);background:0 0;border:0;padding:0;font-size:.87rem}.row-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.in-flight{color:var(--ink-2);white-space:nowrap;font-size:.87rem;font-weight:500}.in-flight:before{content:"";background:var(--warning);border-radius:50%;width:8px;height:8px;margin-right:7px;animation:1.2s ease-in-out infinite pulse;display:inline-block}@keyframes pulse{50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.in-flight:before{animation:none}}.card{background:var(--glass);-webkit-backdrop-filter:blur(24px)saturate(160%);backdrop-filter:blur(24px)saturate(160%);border:1px solid var(--glass-edge);border-radius:var(--radius);box-shadow:var(--glass-shadow);min-width:0;padding:22px}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.card-flush{padding:0;overflow:hidden}.cols{flex-wrap:wrap;align-items:flex-start;gap:24px;display:flex}.cols>.card{flex:380px}.empty{color:var(--ink-2);margin:4px 0}.list{margin:0;padding:0;list-style:none}.list>li+li{border-top:1px solid var(--line)}.tiles{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.tile{background:var(--glass);-webkit-backdrop-filter:blur(24px)saturate(160%);backdrop-filter:blur(24px)saturate(160%);border:1px solid var(--glass-edge);border-radius:var(--radius);box-shadow:var(--glass-shadow);padding:16px 18px}.tile-label{color:var(--ink-2);font-size:.87rem}.tile-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:2px;font-size:1.75rem;font-weight:600;line-height:1.2}.tile-sub{color:var(--ink-2);margin-top:2px;font-size:.83rem}.grid-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;display:grid}.grid-wide-right{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.facts{grid-template-columns:max-content 1fr;gap:6px 16px;margin:16px 0 0;font-size:.93rem;display:grid}.facts dt{color:var(--ink-2)}.facts dd{margin:0}.badge{white-space:nowrap;color:var(--ink);align-items:center;gap:6px;font-size:.87rem;font-weight:500;display:inline-flex}.badge-icon,.status-icon{letter-spacing:0;border-radius:50%;flex:none;place-items:center;width:18px;height:18px;font-size:11px;font-weight:700;line-height:1;display:inline-grid}.status-icon{width:22px;height:22px;font-size:12px}.status-icon-lg{width:28px;height:28px;font-size:14px}.status-icon-xl{width:48px;height:48px;font-size:24px}.badge-ok .badge-icon,.status-ok{background:var(--good);color:var(--good-ink)}.badge-attention .badge-icon,.status-attention{background:var(--warning);color:var(--warning-ink)}.badge-down .badge-icon,.status-down{background:var(--critical);color:var(--critical-ink)}.badge-nodata .badge-icon,.status-nodata{background:var(--nodata);color:var(--nodata-ink)}.badge-nodata{color:var(--ink-2)}.fleet-row{color:var(--ink);grid-template-columns:auto minmax(0,1fr) minmax(0,2fr) 6.5em auto;grid-template-areas:"icon name state when chev";align-items:center;gap:4px 16px;padding:18px 22px;transition:background-color .15s ease-out;display:grid}.fleet-row:hover{text-decoration:none}@media (hover:hover){.fleet-row:hover{background:var(--row-hover)}}.fleet-row>.status-icon{grid-area:icon}.fleet-name{flex-direction:column;grid-area:name;min-width:0;display:flex}.fleet-state{grid-area:state;min-width:0}.fleet-when{text-align:end;color:var(--ink-2);font-variant-numeric:tabular-nums;grid-area:when;font-size:.87rem}.fleet-row>.chevron{grid-area:chev}.chevron{color:var(--ink-3);flex:none}.status-head{align-items:flex-start;gap:14px;display:flex}.status-head>div{flex-direction:column;gap:2px;min-width:0;display:flex}.status-title{font-size:1.13rem;font-weight:600}.facts-inline{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px 32px;margin:14px 0 0;padding-top:14px;font-size:.87rem;display:flex}.facts-inline>div{gap:6px;display:flex}.facts-inline dt{color:var(--ink-2)}.facts-inline dd{font-variant-numeric:tabular-nums;margin:0}.item-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:12px 0;display:flex}.item-row>div:first-child{flex-direction:column;gap:2px;min-width:0;display:flex}.conn-row{justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.conn-state{color:var(--ink-2);white-space:nowrap;align-items:center;gap:6px;font-size:.87rem;display:inline-flex}.conn-state .status-icon{width:16px;height:16px;font-size:10px}.conn-state.is-attention{color:var(--warning-text);font-weight:500}.conn-state.is-down{color:var(--error-ink);font-weight:500}.change-row{flex-wrap:wrap;gap:4px 16px;padding:12px 0;display:flex}.list>li:first-child{padding-top:0}.list>li:last-child{padding-bottom:0}.change-when{color:var(--ink-2);font-variant-numeric:tabular-nums;flex:0 0 120px;font-size:.87rem}.change-what{text-wrap:pretty;flex:320px;min-width:0}.change-who{color:var(--ink-2);text-align:end;flex:none;font-size:.87rem}.more-links{color:var(--ink-2);flex-wrap:wrap;align-items:baseline;gap:6px 18px;font-size:.93rem;display:flex}.hero{align-items:center;gap:18px;display:flex}.hero>div{flex-direction:column;gap:2px;min-width:0;display:flex}.notice{background:var(--warning-glass);box-shadow:0 0 0 1px var(--warning-edge), 0 12px 32px -8px #00000014}.notice-item{align-items:flex-start;gap:14px;display:flex}.notice-item+.notice-item{margin-top:14px}.notice-item>div{flex-direction:column;gap:2px;min-width:0;display:flex}.notice-item p{color:var(--ink-2);text-wrap:pretty;margin:0}.numbers{flex-wrap:wrap;gap:16px 48px;display:flex}.number{flex-direction:column;display:flex}.number-value{letter-spacing:-.025em;font-variant-numeric:tabular-nums;font-size:2.7rem;font-weight:600;line-height:1.1}.foot-note{color:var(--ink-2);text-align:center;margin:0;font-size:.93rem}.tabs{background:var(--fill);border-radius:22px;flex-wrap:wrap;align-self:flex-start;gap:4px;padding:4px;display:flex}.tab{color:var(--ink-2);white-space:nowrap;background:0 0;border:0;border-radius:980px;padding:6px 14px;font-size:.87rem;font-weight:500;transition:background-color .15s ease-out}.tab.active{background:var(--segment);color:var(--ink);box-shadow:0 1px 2px #00000014}@media (hover:hover){.tab:hover:not(.active){color:var(--ink)}}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.93rem}.table th{text-align:start;color:var(--ink-2);border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 10px;font-size:.83rem;font-weight:500}.table td{border-bottom:1px solid var(--line);vertical-align:top;padding:10px}.table tr:last-child td{border-bottom:0}.table .num{text-align:end;font-variant-numeric:tabular-nums}.table.compact td{padding:7px 10px}.table td.row-actions{text-align:end;white-space:nowrap;display:table-cell}.table td.row-actions .btn+.btn{margin-inline-start:6px}.alert-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.alert-list li{grid-template-columns:96px 1fr;align-items:start;gap:10px;display:grid}.chart{margin:0}.chart-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;font-size:.93rem;display:flex}.chart-title{font-weight:600}.chart-plot{position:relative}.chart-plot svg{width:100%;height:auto;display:block;overflow:visible}.grid{stroke:var(--line);stroke-width:1px}.axis{stroke:var(--axis);stroke-width:1px}.tick{fill:var(--ink-2);font-variant-numeric:tabular-nums;font-size:11px}.col{fill:var(--series)}.col-hover{fill:var(--series-hover)}.tooltip{background:var(--solid);white-space:nowrap;pointer-events:none;box-shadow:0 0 0 1px var(--line), 0 8px 24px #0000001f;z-index:2;border-radius:10px;padding:6px 10px;font-size:.83rem;position:absolute;top:-6px;transform:translate(-50%,-100%)}.strip{grid-template-columns:repeat(96,minmax(0,1fr));gap:2px;height:28px;display:grid;position:relative}.cell{border-radius:2px}.cell-ok{background:var(--good)}.cell-attention{background:var(--warning)}.cell-down{background:var(--critical)}.cell-nodata{background:var(--nodata)}.cell-hover{outline:2px solid var(--ink);outline-offset:1px}.strip-axis{justify-content:space-between;margin-top:4px;font-size:.8rem;display:flex}.legend{color:var(--ink-2);flex-wrap:wrap;gap:6px 14px;margin:10px 0 0;padding:0;font-size:.83rem;list-style:none;display:flex}.legend li{align-items:center;gap:6px;display:inline-flex}.swatch{border-radius:2px;width:10px;height:10px;display:inline-block}.barlist{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.barlist li{grid-template-columns:80px 1fr auto;align-items:center;gap:10px;font-size:.9rem;display:grid}.barlist-label{color:var(--ink-2);text-overflow:ellipsis;overflow:hidden}.barlist-track{height:14px}.barlist-bar{background:var(--series);border-radius:0 4px 4px 0;min-width:2px;height:100%;display:block}.barlist-value{font-variant-numeric:tabular-nums;color:var(--ink)}.filter{font:inherit;border:1px solid var(--field-edge);background:var(--solid);color:var(--ink);border-radius:980px;width:min(220px,100%);padding:6px 12px;font-size:1rem}.card-intro{margin:-6px 0 10px}.card-foot{justify-content:flex-start;margin-top:12px}.sub-head{color:var(--ink-2);margin:18px 0 6px;font-size:.93rem;font-weight:600}.dialog{background:var(--solid);width:min(440px,100vw - 32px);color:var(--ink);box-shadow:0 0 0 1px var(--line), 0 24px 64px #00000040;overscroll-behavior:contain;border:0;border-radius:20px;padding:24px}.dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000004d}.dialog h2{font-size:1.13rem}.dialog-body{color:var(--ink-2);font-size:.93rem}.dialog-body p{margin:10px 0 0}.field{flex-direction:column;gap:6px;margin-top:16px;font-size:.87rem;display:flex}.field input{font:inherit;border:1px solid var(--field-edge);background:var(--solid);color:var(--ink);border-radius:10px;padding:8px 12px;font-size:1rem}.dialog .error{margin:12px 0 0;font-size:.9rem}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.login{place-items:center;min-height:100vh;padding:16px;display:grid}.login-card{flex-direction:column;gap:16px;width:min(380px,100%);padding:32px;display:flex}.login-card .brand{margin-bottom:4px}.login-card p{margin:0}.login-form,.dev-login{flex-direction:column;gap:10px;display:flex}.login-staff,.dev-login{border-top:1px solid var(--line);padding-top:16px}.login-form input,.dev-login input{font:inherit;border:1px solid var(--field-edge);background:var(--solid);color:var(--ink);border-radius:12px;padding:10px 14px;font-size:1rem}.login-form .link{color:var(--ink-2);text-underline-offset:2px;background:0 0;border:0;align-self:flex-start;padding:0;font-size:.87rem;text-decoration:underline}@media (width<=760px){.page{padding-top:28px}.topbar-name{display:none}.fleet-row{grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"icon name when chev"".state state.";gap:4px 12px;padding:16px 18px}.grid-2,.grid-wide-right{grid-template-columns:minmax(0,1fr)}.hide-sm{display:none}.alert-list li{grid-template-columns:1fr;gap:4px}.change-who{text-align:start}h1{font-size:1.9rem}}@media (width<=480px){.with-toggle .brand-divider,.with-toggle .brand-name{display:none}}
