:root{--plane: #f9f9f7;--surface: #fcfcfb;--surface-raised: #ffffff;--surface-sunken: #f2f1ed;--ink: #0b0b0b;--ink-secondary: #52514e;--ink-muted: #898781;--grid: #e1e0d9;--baseline: #c3c2b7;--border: rgba(11, 11, 11, .1);--border-strong: rgba(11, 11, 11, .18);--up: #0ca30c;--slow: #fab219;--degraded: #ec835a;--down: #d03b3b;--paused: #898781;--series: #2a78d6;--font: system-ui, -apple-system, "Segoe UI", sans-serif;--radius: 14px;--radius-sm: 10px;--radius-pill: 999px;--shadow: 0 1px 2px rgba(11, 11, 11, .04), 0 8px 24px rgba(11, 11, 11, .05);--edge: rgba(11, 11, 11, .045);--card-wash: linear-gradient(180deg, rgba(11, 11, 11, .012), transparent 40%);--glass: color-mix(in srgb, var(--plane) 82%, transparent);--mesh-a: rgba(12, 163, 12, .05);--mesh-b: rgba(42, 120, 214, .045);--tabbar: calc(56px + env(safe-area-inset-bottom, 0px)) ;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--plane: #0d0d0d;--surface: #1a1a19;--surface-raised: #222221;--surface-sunken: #131312;--ink: #ffffff;--ink-secondary: #c3c2b7;--ink-muted: #898781;--grid: #2c2c2a;--baseline: #383835;--border: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .18);--series: #3987e5;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .35);--edge: rgba(255, 255, 255, .07);--card-wash: linear-gradient(180deg, rgba(255, 255, 255, .028), transparent 42%);--glass: color-mix(in srgb, var(--plane) 74%, transparent);--mesh-a: rgba(12, 163, 12, .1);--mesh-b: rgba(57, 135, 229, .09);color-scheme:dark}}:root[data-theme=dark]{--plane: #0d0d0d;--surface: #1a1a19;--surface-raised: #222221;--surface-sunken: #131312;--ink: #ffffff;--ink-secondary: #c3c2b7;--ink-muted: #898781;--grid: #2c2c2a;--baseline: #383835;--border: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .18);--series: #3987e5;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .35);--edge: rgba(255, 255, 255, .07);--card-wash: linear-gradient(180deg, rgba(255, 255, 255, .028), transparent 42%);--glass: color-mix(in srgb, var(--plane) 74%, transparent);--mesh-a: rgba(12, 163, 12, .1);--mesh-b: rgba(57, 135, 229, .09);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:15px;line-height:1.5;color:var(--ink);background:var(--plane);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}body:before{content:"";position:fixed;inset:0 0 auto;height:420px;pointer-events:none;z-index:0;background:radial-gradient(60% 100% at 18% 0%,var(--mesh-a),transparent 70%),radial-gradient(55% 100% at 88% 0%,var(--mesh-b),transparent 72%);transition:background .9s ease}body[data-global=down]:before{background:radial-gradient(65% 100% at 22% 0%,color-mix(in srgb,var(--down) 16%,transparent),transparent 70%),radial-gradient(55% 100% at 85% 0%,color-mix(in srgb,var(--down) 9%,transparent),transparent 72%)}body[data-global=slow]:before{background:radial-gradient(65% 100% at 22% 0%,color-mix(in srgb,var(--slow) 13%,transparent),transparent 70%),radial-gradient(55% 100% at 85% 0%,var(--mesh-b),transparent 72%)}.shell,.auth-screen{position:relative;z-index:1}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--series);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--series);outline-offset:2px;border-radius:4px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.mono{font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.shell{display:flex;min-height:100%}.sidebar{position:sticky;top:0;display:none;flex-direction:column;gap:4px;width:232px;height:100vh;padding:20px 14px;background:var(--surface);border-right:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 20px;font-size:15px;font-weight:650;letter-spacing:-.01em}.brand-dot{width:9px;height:9px;border-radius:50%;background:var(--up);box-shadow:0 0 0 3px color-mix(in srgb,var(--up) 22%,transparent);flex:none}.brand-dot[data-state=down]{background:var(--down);box-shadow:0 0 0 3px color-mix(in srgb,var(--down) 22%,transparent);animation:pulse 1.6s ease-in-out infinite}.brand-dot[data-state=slow]{background:var(--slow);box-shadow:0 0 0 3px color-mix(in srgb,var(--slow) 22%,transparent)}.brand-dot[data-state=idle]{background:var(--paused);box-shadow:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.nav-item{display:flex;align-items:center;gap:11px;padding:9px 11px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--ink-secondary);font-size:14px;font-weight:500;text-align:left;width:100%;transition:background .12s ease,color .12s ease}.nav-item:hover{background:var(--surface-sunken);color:var(--ink)}.nav-item[aria-current=page]{background:var(--surface-sunken);color:var(--ink);font-weight:600;box-shadow:inset 0 1px 0 var(--edge)}.nav-item[aria-current=page]:before{content:"";position:absolute;left:0;width:2px;height:17px;border-radius:0 2px 2px 0;background:var(--series)}.nav-item{position:relative}.nav-item .badge{margin-left:auto}.main{flex:1;min-width:0;padding:0 0 var(--tabbar)}.container{width:100%;min-width:0;max-width:1180px;margin:0 auto;padding-inline:16px;padding-block:20px 32px}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top,0px));background:var(--glass);backdrop-filter:blur(16px) saturate(140%);border-bottom:1px solid var(--border)}.topbar h1{margin:0;font-size:17px;font-weight:650;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-mobile-brand{display:flex;align-items:center;gap:9px}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.card{position:relative;min-width:0;background:var(--card-wash),var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card:before,.stat:before{content:"";position:absolute;inset:0 0 auto;height:1px;border-radius:var(--radius) var(--radius) 0 0;background:linear-gradient(90deg,transparent,var(--edge) 22%,var(--edge) 78%,transparent);pointer-events:none}.card-head{display:flex;align-items:baseline;gap:10px;padding:14px 16px 0}.card-head h2,.card-head h3{margin:0;font-size:13px;font-weight:620;letter-spacing:.01em;color:var(--ink)}.card-head .hint{margin-left:auto;font-size:12px;color:var(--ink-muted)}.card-body{padding:14px 16px}.section-title{display:flex;align-items:baseline;gap:10px;margin:26px 0 12px;font-size:13px;font-weight:620;letter-spacing:.02em;text-transform:uppercase;color:var(--ink-muted)}.section-title .count{font-weight:500;text-transform:none;letter-spacing:0}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:10px;min-width:0}.stat{position:relative;padding:15px 16px;background:var(--card-wash),var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color .2s ease,transform .2s ease}.stat:hover{border-color:var(--border-strong)}.stat[data-state=down]:after,.stat[data-state=slow]:after{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,currentColor 30%,currentColor 70%,transparent);opacity:.9}.stat[data-state=down]:after{color:var(--down)}.stat[data-state=slow]:after{color:var(--slow)}.stat-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:550;color:var(--ink-secondary)}.stat-value{margin-top:7px;font-size:31px;font-weight:650;line-height:1.06;letter-spacing:-.025em}.stat-unit{font-size:14px;font-weight:550;color:var(--ink-muted);margin-left:3px}.stat-meta{margin-top:3px;font-size:12px;color:var(--ink-muted)}.stat.hero{padding:18px 20px}.stat.hero .stat-value{font-size:52px;letter-spacing:-.035em}.stat.hero .stat-label{font-size:12.5px}.stat[data-state=down]{border-color:color-mix(in srgb,var(--down) 45%,var(--border))}.stat[data-state=down] .stat-value{color:var(--down)}.stat[data-state=slow] .stat-value{color:var(--slow)}.stat[data-state=up] .stat-value{color:var(--up)}.pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px 3px 7px;border-radius:var(--radius-pill);font-size:11.5px;font-weight:620;letter-spacing:.01em;white-space:nowrap;border:1px solid transparent}.pill-glyph{font-size:9px;line-height:1}.pill[data-state=up]{color:var(--up);background:color-mix(in srgb,var(--up) 14%,transparent);border-color:color-mix(in srgb,var(--up) 30%,transparent)}.pill[data-state=down]{color:var(--down);background:color-mix(in srgb,var(--down) 15%,transparent);border-color:color-mix(in srgb,var(--down) 34%,transparent)}.pill[data-state=slow]{color:var(--slow);background:color-mix(in srgb,var(--slow) 15%,transparent);border-color:color-mix(in srgb,var(--slow) 32%,transparent)}.pill[data-state=degraded]{color:var(--degraded);background:color-mix(in srgb,var(--degraded) 15%,transparent);border-color:color-mix(in srgb,var(--degraded) 32%,transparent)}.pill[data-state=paused]{color:var(--paused);background:color-mix(in srgb,var(--paused) 14%,transparent);border-color:color-mix(in srgb,var(--paused) 28%,transparent)}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;border-radius:var(--radius-pill);font-size:11px;font-weight:650;font-variant-numeric:tabular-nums;background:var(--down);color:#fff}.badge[data-tone=neutral]{background:var(--surface-sunken);color:var(--ink-secondary)}.check-list{display:flex;flex-direction:column;gap:8px}.check-list>*{animation:row-in .32s cubic-bezier(.22,.8,.3,1) backwards}.check-list>*:nth-child(1){animation-delay:0ms}.check-list>*:nth-child(2){animation-delay:22ms}.check-list>*:nth-child(3){animation-delay:44ms}.check-list>*:nth-child(4){animation-delay:66ms}.check-list>*:nth-child(5){animation-delay:88ms}.check-list>*:nth-child(n+6){animation-delay:105ms}@keyframes row-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.check-row{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:13px 15px 13px 18px;background:var(--card-wash),var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:left;overflow:hidden;transition:border-color .16s ease,transform .16s ease,box-shadow .2s ease}.check-row:after{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--paused)}.check-row[data-state=up]:after{background:var(--up)}.check-row[data-state=down]:after{background:var(--down)}.check-row[data-state=slow]:after{background:var(--slow)}.check-row[data-state=degraded]:after{background:var(--degraded)}.check-row:hover{border-color:var(--border-strong);transform:translateY(-1px)}.check-row:active{transform:translateY(0) scale(.997)}.check-row[data-state=down]{border-color:color-mix(in srgb,var(--down) 34%,var(--border));box-shadow:0 0 0 1px color-mix(in srgb,var(--down) 12%,transparent),0 6px 22px color-mix(in srgb,var(--down) 12%,transparent)}.check-row[data-state=down]:after{animation:rail-pulse 2s ease-in-out infinite}@keyframes rail-pulse{0%,to{opacity:1}50%{opacity:.4}}.check-name{display:block;font-size:14.5px;font-weight:600;letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.check-sub{display:block;margin-top:2px;font-size:12px;color:var(--ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.check-metrics{display:flex;align-items:center;gap:14px}.check-rt{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;text-align:right;min-width:62px}.check-rt[data-state=slow]{color:var(--slow)}.check-rt[data-state=down]{color:var(--down)}.check-rt small{font-weight:500;color:var(--ink-muted)}.compact .check-row{padding:8px 12px}.compact .check-sub{display:none}.chart-wrap{width:100%}.chart-svg{display:block;width:100%;overflow:visible}.refreshing{opacity:.55;transition:opacity .16s ease}.tooltip{position:fixed;z-index:60;pointer-events:none;min-width:132px;padding:9px 11px;background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:0 6px 24px #00000038;font-size:12px;line-height:1.45}.tooltip-time{color:var(--ink-muted);font-size:11px;margin-bottom:3px}.tooltip-row{display:flex;align-items:center;gap:7px;justify-content:space-between}.tooltip-value{font-weight:650;font-variant-numeric:tabular-nums}.legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:12px;color:var(--ink-secondary)}.legend-item{display:inline-flex;align-items:center;gap:6px}.legend-swatch{width:10px;height:10px;border-radius:3px;flex:none}.table-scroll{overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:13px}table.data th,table.data td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--grid);white-space:nowrap}table.data th{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-muted)}table.data td.num{text-align:right;font-variant-numeric:tabular-nums}table.data tbody tr:last-child td{border-bottom:none}table.data tbody tr:hover{background:var(--surface-sunken)}.filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px}.segmented{display:inline-flex;max-width:100%;overflow-x:auto;scrollbar-width:none;padding:2px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-sm)}.segmented::-webkit-scrollbar{display:none}.segmented button{flex:none;padding:5px 11px;border:none;border-radius:6px;background:transparent;color:var(--ink-secondary);font-size:12.5px;font-weight:550;white-space:nowrap}.segmented button[aria-pressed=true]{background:var(--surface-raised);color:var(--ink);font-weight:620;box-shadow:0 1px 2px #00000024,inset 0 1px 0 var(--edge)}.segmented button:not([aria-pressed=true]):hover{color:var(--ink)}.search{flex:1 1 180px;min-width:140px;padding:7px 11px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink)}.search::placeholder{color:var(--ink-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 15px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-size:14px;font-weight:550;transition:background .12s ease,border-color .12s ease,opacity .12s ease}.btn:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-sunken)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--series);border-color:transparent;color:#fff;font-weight:600}.btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--series) 86%,#000);border-color:transparent}.btn-danger{color:var(--down);border-color:color-mix(in srgb,var(--down) 34%,transparent);background:transparent}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--down) 12%,transparent)}.btn-sm{min-height:32px;padding:5px 11px;font-size:13px}.btn-icon{min-height:38px;width:38px;padding:0}.btn-block{width:100%}.field{margin-bottom:15px}.field label{display:block;margin-bottom:6px;font-size:13px;font-weight:570;color:var(--ink-secondary)}.field .help{margin-top:5px;font-size:12px;color:var(--ink-muted);line-height:1.45}.input{width:100%;padding:10px 12px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink)}.input:focus{border-color:var(--series);background:var(--surface)}.input[type=number]{font-variant-numeric:tabular-nums}.switch-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--grid)}.switch-row:last-child{border-bottom:none}.switch-row .switch-text{flex:1;min-width:0}.switch-row .switch-title{display:block;font-size:14px;font-weight:550}.switch-row .switch-desc{display:block;font-size:12px;color:var(--ink-muted);margin-top:2px;line-height:1.45}.switch{position:relative;flex:none;width:44px;height:26px;appearance:none;background:var(--baseline);border-radius:var(--radius-pill);transition:background .16s ease}.switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .16s ease}.switch:checked{background:var(--up)}.switch:checked:after{transform:translate(18px)}.notice{display:flex;gap:10px;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-sunken);font-size:13px;line-height:1.5}.notice[data-tone=error]{border-color:color-mix(in srgb,var(--down) 40%,transparent);background:color-mix(in srgb,var(--down) 10%,transparent)}.notice[data-tone=warning]{border-color:color-mix(in srgb,var(--slow) 40%,transparent);background:color-mix(in srgb,var(--slow) 10%,transparent)}.notice[data-tone=success]{border-color:color-mix(in srgb,var(--up) 40%,transparent);background:color-mix(in srgb,var(--up) 10%,transparent)}.notice-glyph{flex:none;font-size:14px;line-height:1.4}.notice strong{font-weight:620}.empty{padding:44px 20px;text-align:center;color:var(--ink-muted);font-size:14px}.empty-glyph{font-size:26px;opacity:.55;display:block;margin-bottom:8px}.auth-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px 16px;padding-top:calc(24px + env(safe-area-inset-top,0px))}.auth-card{width:100%;max-width:380px;padding:28px 24px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:4px;font-size:19px;font-weight:680;letter-spacing:-.02em}.auth-tagline{margin:0 0 22px;font-size:13px;color:var(--ink-muted)}.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--glass);backdrop-filter:blur(18px) saturate(140%);border-top:1px solid var(--border)}.tabbar button{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px 9px;border:none;background:transparent;color:var(--ink-muted);font-size:10.5px;font-weight:550}.tabbar button[aria-current=page]{color:var(--ink)}.tabbar button[aria-current=page]:before{content:"";position:absolute;top:0;left:50%;width:26px;height:2px;border-radius:0 0 2px 2px;background:var(--series);transform:translate(-50%)}.tabbar .tab-glyph{font-size:17px;line-height:1.1}.tabbar .tab-badge{position:absolute;top:4px;left:50%;margin-left:6px;min-width:16px;height:16px;padding:0 4px;font-size:10px}@media(min-width:900px){.sidebar{display:flex}.tabbar{display:none}.main{padding-bottom:0}.topbar-mobile-brand{display:none}.container{padding-inline:28px}}@media(max-width:560px){.stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}.stat.hero{grid-column:1 / -1}.check-metrics{gap:9px}.check-metrics .chart-svg{display:none}.check-row{gap:9px;padding:11px 12px}.pill{padding:3px 7px;font-size:11px}}@keyframes spin{to{transform:rotate(360deg)}}.fleet{margin-top:14px}.fleet-bar{display:flex;gap:2px;height:8px;margin-bottom:10px}.fleet-seg{display:block;min-width:6px;border-radius:4px;transition:flex-basis .5s cubic-bezier(.22,.8,.3,1)}.fleet-legend{font-size:12px;gap:5px 15px}.fleet-legend strong{font-weight:650;color:var(--ink)}.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.step{display:grid;grid-template-columns:22px minmax(0,1fr) minmax(60px,1.1fr) 64px;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--grid)}.step:last-child{border-bottom:none}.step-index{font-size:11px;color:var(--ink-muted);text-align:right}.step-text{min-width:0}.step-fn{display:block;font-size:13px;font-weight:600}.step-label{display:block;font-size:11.5px;color:var(--ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.step-bar{height:6px;background:var(--surface-sunken);border-radius:3px;overflow:hidden}.step-fill{display:block;height:100%;border-radius:3px;background:var(--series);transition:width .4s cubic-bezier(.22,.8,.3,1)}.step-fill[data-peak=true]{background:var(--slow)}.step-fill[data-pause=true]{background:var(--baseline)}.step-ms{font-size:12.5px;text-align:right;color:var(--ink-secondary)}@media(max-width:560px){.step{grid-template-columns:20px minmax(0,1fr) 58px}.step-bar{display:none}}
