:root{--bg: #f3f3f1;--panel: #fcfcfb;--raised: #ffffff;--text: #1b1b1a;--muted: #62625e;--faint: #8b8b86;--line: #e3e3df;--line-strong: #cfcfca;--hover: #ededea;--accent: #1f62b8;--accent-text: #ffffff;--accent-soft: #e4eefb;--series-1: #2a78d6;--series-2: #eb6834;--good: #0ca30c;--warning: #fab219;--critical: #d03b3b;--offline: #9a9a94;--anomaly: #7b4fd6;--crit: #b02a2a;--crit-bg: #fbe8e8;--warn: #7a5200;--warn-bg: #fdf1cf;--ok: #0a6e0a;--ok-bg: #e1f4e1;--info: #55554f;--info-bg: #e9e9e5;--anom: #5d35b5;--anom-bg: #eee8fb;--shadow: 0 1px 2px rgba(20, 20, 18, .05), 0 2px 8px rgba(20, 20, 18, .04);--pop-shadow: 0 8px 30px rgba(20, 20, 18, .16), 0 1px 3px rgba(20, 20, 18, .1);--radius: 12px;font:14px/1.45 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #111110;--panel: #1a1a19;--raised: #222221;--text: #ececea;--muted: #a3a39d;--faint: #7d7d77;--line: #2c2c2a;--line-strong: #3d3d3a;--hover: #262624;--accent: #6aa5ee;--accent-text: #0d1622;--accent-soft: #1b2a3d;--series-1: #3987e5;--series-2: #d95926;--offline: #6d6d68;--anomaly: #a98bf0;--crit: #f29090;--crit-bg: #3b1c1c;--warn: #fab219;--warn-bg: #382b08;--ok: #62cf62;--ok-bg: #132f15;--info: #b9b9b3;--info-bg: #2b2b29;--anom: #bca5f5;--anom-bg: #2a2140;--shadow: 0 1px 2px rgba(0, 0, 0, .3);--pop-shadow: 0 10px 34px rgba(0, 0, 0, .55), 0 0 0 1px rgba(255, 255, 255, .04);color-scheme:dark}}:root[data-theme=dark]{--bg: #111110;--panel: #1a1a19;--raised: #222221;--text: #ececea;--muted: #a3a39d;--faint: #7d7d77;--line: #2c2c2a;--line-strong: #3d3d3a;--hover: #262624;--accent: #6aa5ee;--accent-text: #0d1622;--accent-soft: #1b2a3d;--series-1: #3987e5;--series-2: #d95926;--offline: #6d6d68;--anomaly: #a98bf0;--crit: #f29090;--crit-bg: #3b1c1c;--warn: #fab219;--warn-bg: #382b08;--ok: #62cf62;--ok-bg: #132f15;--info: #b9b9b3;--info-bg: #2b2b29;--anom: #bca5f5;--anom-bg: #2a2140;--shadow: 0 1px 2px rgba(0, 0, 0, .3);--pop-shadow: 0 10px 34px rgba(0, 0, 0, .55), 0 0 0 1px rgba(255, 255, 255, .04);color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:24px;line-height:1.2;margin:0;letter-spacing:-.02em}h2{font-size:15px;margin:0 0 10px;letter-spacing:-.005em}p{margin:4px 0}section{margin-top:30px}small{font-size:.5em;font-weight:600;color:var(--muted);margin-left:2px}.muted{color:var(--muted)}.small{font-size:12.5px}.mono,pre,kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.right{text-align:right;white-space:nowrap}mark{background:color-mix(in srgb,var(--warning) 38%,transparent);color:inherit;border-radius:3px;padding:0 1px}kbd{font-size:11px;border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:5px;padding:0 5px;color:var(--muted);background:var(--panel)}.shell{display:flex;min-height:100vh}.side{width:232px;flex:none;background:var(--panel);border-right:1px solid var(--line);padding:16px 12px;display:flex;flex-direction:column;gap:2px;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;letter-spacing:-.02em;color:var(--text);padding:4px 10px 10px}.brand:hover{text-decoration:none}.brand-mark{display:inline-flex;align-items:flex-end;gap:3px;width:26px;height:26px;padding:6px;border-radius:8px;background:var(--series-1)}.brand-mark i{flex:1;background:#fff;border-radius:1.5px}.brand-mark i:nth-child(1){height:45%}.brand-mark i:nth-child(2){height:100%}.brand-mark i:nth-child(3){height:70%}.nav-group{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);padding:14px 10px 4px}.nav{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;color:var(--muted);font-weight:500}.nav:hover{background:var(--hover);color:var(--text);text-decoration:none}.nav.on{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-icon{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.nav-count{margin-left:auto;min-width:22px;padding:0 7px;border-radius:99px;font-size:11.5px;font-weight:700;text-align:center;font-variant-numeric:tabular-nums;background:var(--info-bg);color:var(--info)}.nav-count.critical{background:var(--crit-bg);color:var(--crit)}.nav-count.warning{background:var(--warn-bg);color:var(--warn)}.nav-count.anomaly{background:var(--anom-bg);color:var(--anom)}.side-foot{margin-top:auto;padding:12px 10px 2px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:4px;align-items:flex-start}.side-foot button.link{padding-left:0}.content{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:10px 28px;background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.theme{margin-left:auto;font-size:12.5px;color:var(--muted);white-space:nowrap}main{flex:1;min-width:0;width:100%;padding:24px 28px 64px;max-width:1520px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;flex-wrap:wrap}.page-head p{margin-top:5px;max-width:78ch}.actions,.form-actions{display:flex;gap:8px}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:10px}.section-head h2{margin:0}.search{position:relative;flex:1;max-width:680px}.search input{width:100%;height:38px;padding:0 40px 0 38px;border-radius:10px;background:var(--raised);border-color:var(--line-strong);box-shadow:var(--shadow)}.search input::-webkit-search-cancel-button{display:none}.search-icon{position:absolute;left:12px;top:10px;width:18px;height:18px;fill:none;stroke:var(--faint);stroke-width:1.8;stroke-linecap:round;pointer-events:none}.search-kbd{position:absolute;right:10px;top:9px;pointer-events:none}.search input:focus~.search-kbd{display:none}.search-pop{position:absolute;top:44px;left:0;right:0;max-height:min(70vh,620px);overflow-y:auto;background:var(--raised);border:1px solid var(--line-strong);border-radius:12px;box-shadow:var(--pop-shadow);padding:6px}.search-note{padding:14px 12px;color:var(--muted)}.search-group-title{display:flex;justify-content:space-between;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);padding:10px 10px 4px}.search-item{display:flex;align-items:center;gap:12px;padding:7px 10px;border-radius:8px;color:var(--text)}.search-item:hover{text-decoration:none}.search-item.on{background:var(--accent-soft)}.search-main{display:flex;flex-direction:column;min-width:0;flex:1}.search-main>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-main .muted{font-size:12.5px}.search-why{flex:none;max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:1px 7px}.search-foot{display:flex;gap:16px;padding:8px 10px 4px;margin-top:4px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.search-foot kbd{margin-right:3px}button,select,input{font:inherit;color:inherit}button{background:var(--raised);border:1px solid var(--line-strong);border-radius:8px;padding:6px 12px;cursor:pointer}button:hover{background:var(--hover)}button:disabled{opacity:.55;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}button.primary:hover{filter:brightness(1.08);background:var(--accent)}button.danger{color:var(--crit)}button.link{border:0;background:none;padding:2px 6px;color:var(--accent)}button.link:hover{text-decoration:underline}input,select{background:var(--raised);border:1px solid var(--line-strong);border-radius:8px;padding:6px 9px;min-width:0}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--muted)}label input,label select{color:var(--text);font-size:14px}label.check{flex-direction:row;align-items:center;gap:6px;color:var(--text);font-size:14px}fieldset{border:1px solid var(--line);border-radius:10px;margin:14px 0;padding:10px 14px}legend{color:var(--muted);font-size:12.5px;padding:0 6px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.filters input[type=search]{width:260px}.filter-note{background:var(--accent-soft);border-radius:8px;padding:7px 12px;margin:0 0 12px}.segmented{display:inline-flex;flex-wrap:wrap;background:var(--info-bg);border-radius:9px;padding:2px;gap:2px}.segmented button{border:0;background:none;border-radius:7px;padding:4px 11px;color:var(--muted);font-size:13px}.segmented button:hover{color:var(--text)}.segmented button.on{background:var(--raised);color:var(--text);font-weight:600;box-shadow:var(--shadow)}.heroes{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}@media(min-width:1380px){.heroes{grid-template-columns:repeat(5,minmax(0,1fr))}}.hero{position:relative;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;color:var(--text);box-shadow:var(--shadow);overflow:hidden;transition:border-color .12s,transform .12s}.hero:hover{text-decoration:none;border-color:var(--line-strong);transform:translateY(-1px)}.hero:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:transparent}.hero.critical:before{background:var(--critical)}.hero.warning:before{background:var(--warning)}.hero.anomaly:before{background:var(--anomaly)}.hero-label{font-size:12.5px;font-weight:600;color:var(--muted)}.hero-value{font-size:40px;font-weight:700;line-height:1.1;letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:4px}.hero-sub{font-size:12.5px;color:var(--muted);min-height:2.9em}.hero-sub b{color:var(--text)}.hero-viz{margin-top:auto;padding-top:8px}.hero-legend{display:flex;flex-wrap:wrap;gap:3px 10px;margin-top:8px;font-size:12px;color:var(--muted)}.hero-legend i,.chart-key i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px}.hero-list{display:flex;flex-direction:column;gap:3px;font-size:12.5px;color:var(--muted);min-height:44px}.hero-list span{display:flex;justify-content:space-between;gap:8px;white-space:nowrap;overflow:hidden}.hero-list b{color:var(--text);font-weight:600}.spark{display:block;width:100%;height:44px}.spark.empty{border-bottom:1px dashed var(--line-strong)}.segbar{display:flex;gap:2px;width:100%;border-radius:99px;overflow:hidden}.segbar span{min-width:3px;border-radius:2px}.segbar.empty{height:10px;background:var(--info-bg)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.card{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px 14px 20px;color:var(--text);display:flex;flex-direction:column;gap:3px;box-shadow:var(--shadow);overflow:hidden}.card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--warning)}.card.critical:before{background:var(--critical)}.card:hover{text-decoration:none;border-color:var(--line-strong)}.card-top{display:flex;justify-content:space-between;align-items:center}.card-count{font-size:30px;font-weight:700;line-height:1.15;letter-spacing:-.02em}.card-count small{margin-left:6px;font-size:13px;font-weight:500}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;margin-bottom:18px;box-shadow:var(--shadow)}.panel.flush{padding:0;margin-bottom:0;overflow:hidden}.panel-title{font-size:12.5px;font-weight:600;color:var(--muted);padding:10px 16px 6px}.panel-empty{padding:22px 16px;color:var(--muted);text-align:center}.columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:0 16px;align-items:start}.columns.three{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.anomaly-row,.fleet-row,.top-row{display:grid;align-items:center;gap:16px;padding:10px 16px;color:var(--text);border-top:1px solid var(--line)}.anomaly-row:first-child,.fleet-row:first-child{border-top:0}.anomaly-row:hover,.fleet-row:hover,.top-row:hover{background:var(--hover);text-decoration:none}.anomaly-row{grid-template-columns:minmax(0,1.2fr) minmax(90px,1fr) minmax(0,auto);box-shadow:inset 3px 0 0 var(--anomaly)}.anomaly-row.ended{box-shadow:none}.anomaly-row.ended .rangedot-dot{background:var(--offline)}.anomaly-main,.anomaly-nums,.fleet-name{display:flex;flex-direction:column;min-width:0}.anomaly-main>*,.fleet-name>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.anomaly-main .muted,.anomaly-nums .muted,.fleet-name .muted{font-size:12.5px}.anomaly-nums{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.fleet-row{grid-template-columns:minmax(0,1fr) minmax(100px,1fr)}.top-row{grid-template-columns:minmax(0,1fr) auto;padding:7px 16px}.top-row>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rangedot{position:relative;height:18px}.rangedot:before{content:"";position:absolute;left:0;right:0;top:8px;height:2px;border-radius:1px;background:var(--line-strong)}.rangedot-band{position:absolute;top:5px;height:8px;min-width:4px;border-radius:4px;background:var(--faint);opacity:.55}.rangedot-dot{position:absolute;top:3px;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--anomaly);box-shadow:0 0 0 2px var(--panel)}.badge{display:inline-block;padding:1px 8px;border-radius:99px;font-size:12px;font-weight:600;background:var(--info-bg);color:var(--info);white-space:nowrap}.badge.critical{background:var(--crit-bg);color:var(--crit)}.badge.warning{background:var(--warn-bg);color:var(--warn)}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.anomaly{background:var(--anom-bg);color:var(--anom)}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{display:inline-block;padding:1px 8px;border-radius:6px;font-size:12px;background:var(--info-bg);color:var(--text);margin-right:4px}.chip.plain{color:var(--muted)}.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.facts>div{background:var(--panel);padding:10px 14px}.facts dt{font-size:12px;color:var(--muted)}.facts dd{margin:2px 0 0;font-weight:600;overflow-wrap:anywhere}.table-wrap{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:12px;font-weight:600;color:var(--muted);padding:9px 14px;border-bottom:1px solid var(--line);white-space:nowrap;background:color-mix(in srgb,var(--bg) 55%,var(--panel))}td{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:top}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--hover)}.table-foot{display:flex;justify-content:space-between;align-items:center;padding:7px 14px;border-top:1px solid var(--line);font-size:12.5px}.meter{display:inline-flex;align-items:center;gap:8px}.meter-track{width:72px;height:6px;border-radius:3px;background:var(--info-bg);overflow:hidden}.meter-fill{display:block;height:100%;border-radius:3px;background:var(--good)}.meter-fill.warning{background:var(--warning)}.meter-fill.critical{background:var(--critical)}.meter-num{font-variant-numeric:tabular-nums;min-width:36px;text-align:right}.empty{background:var(--panel);border:1px dashed var(--line-strong);border-radius:var(--radius);padding:28px;text-align:center;color:var(--muted);margin-top:14px}.error{background:var(--crit-bg);color:var(--crit);border-radius:8px;padding:8px 12px;margin:10px 0}.error-text{color:var(--crit)}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-bottom:12px}.rule-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin:8px 0}.rule-row label{flex:1;min-width:150px}.rule-name{width:170px;padding-bottom:7px}.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px}.preview{background:var(--bg);border-radius:8px;padding:9px 12px;margin:12px 0}.created{border-top:1px solid var(--line);margin-top:14px;padding-top:10px}.created button{margin-right:8px}pre{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px 12px;overflow-x:auto;white-space:pre-wrap;word-break:break-all;margin:6px 0 10px}.charts{display:grid;grid-template-columns:repeat(auto-fill,minmax(440px,1fr));gap:12px}.charts.three{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.chart{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:12px 14px 8px;box-shadow:var(--shadow);min-width:0}.chart figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:4px}.chart-title{font-weight:600;font-size:13.5px}.chart-now{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}.chart-note{font-size:12px;color:var(--muted);margin-bottom:2px}.legend{display:flex;gap:12px;font-size:12px;color:var(--muted)}.legend-item{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.key{display:inline-block;width:12px;height:3px;border-radius:2px;flex:none}.key.box{width:9px;height:9px}.chart-plot{position:relative}.chart svg{width:100%;height:auto;display:block;-webkit-user-select:none;user-select:none}.chart .grid{stroke:var(--line);stroke-width:1}.chart .axis{fill:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.chart .line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart .band{fill:var(--faint);opacity:.16}.chart .span.anomaly{fill:var(--anomaly);opacity:.16}.chart .span.issue{fill:var(--critical);opacity:.12}.chart .threshold{stroke:var(--critical);stroke-width:1;stroke-dasharray:4 4;opacity:.75}.chart .threshold-label{fill:var(--muted)}.chart .dot{stroke:var(--panel);stroke-width:2}.chart .crosshair{stroke:var(--faint);stroke-width:1}.chart .selection{fill:var(--series-1);opacity:.15}.tip{position:absolute;top:4px;z-index:5;transform:translate(12px);pointer-events:none;min-width:130px;background:var(--raised);border:1px solid var(--line-strong);border-radius:9px;box-shadow:var(--pop-shadow);padding:7px 10px;font-size:12.5px;white-space:nowrap}.tip.left{transform:translate(calc(-100% - 12px))}.tip-time{color:var(--muted);font-size:11.5px;margin-bottom:3px}.tip-row{display:flex;align-items:center;gap:7px}.tip-row strong{font-variant-numeric:tabular-nums;min-width:38px}.tip-row span{color:var(--muted)}.tip-extra{margin-top:3px;padding-top:3px;border-top:1px solid var(--line);color:var(--muted);font-size:11.5px}.tip-extra.anomaly{color:var(--anom)}.tip-extra.issue{color:var(--crit)}.chart-key{display:flex;flex-wrap:wrap;gap:4px 16px;margin:0 0 10px}.chart-key .key-band{background:var(--faint);opacity:.4}.chart-key .key-span.anomaly{background:var(--anomaly);opacity:.45}.chart-key .key-span.issue{background:var(--critical);opacity:.4}.login{max-width:360px;margin:14vh auto;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--pop-shadow)}.login .brand{padding:0;font-size:22px}@media(max-width:860px){.shell{flex-direction:column}.side{width:auto;height:auto;position:static;flex-direction:row;flex-wrap:wrap;align-items:center;border-right:0;border-bottom:1px solid var(--line);padding:10px 12px}.nav-group{display:none}.nav span:not(.nav-count){display:none}.side-foot{margin:0 0 0 auto;padding:0;border:0;flex-direction:row;align-items:center}.topbar{padding:10px 16px;position:static}.theme{display:none}main{padding:16px 16px 48px}.charts,.charts.three,.columns{grid-template-columns:1fr}.anomaly-row{grid-template-columns:1fr auto}.anomaly-row .rangedot{display:none}.hero-value{font-size:32px}.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.hero{transition:none}.hero:hover{transform:none}}
