:root{color-scheme:light;--bg:#f5f6f5;--surface:#fff;--input:#f0f2f1;--ink:#202b29;--muted:#677571;--line:#dfe6e2;--accent:#22664e;--ok:#267351;--bad:#b23e3e;--warn:#96601a;--focus:#62a589;--soft:#e8f1eb}*{box-sizing:border-box}body.dark{color-scheme:dark;--bg:#141b19;--surface:#1c2522;--input:#151e1b;--ink:#e6eee9;--muted:#a3b4ac;--line:#34423b;--accent:#8fceab;--ok:#83c8a0;--bad:#ee9494;--warn:#e3b86e;--focus:#8fceab;--soft:#24392e}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 Inter,system-ui,sans-serif;font-variant-numeric:tabular-nums}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--focus)}button{min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);cursor:pointer}button:hover{background:var(--soft)}button:active{transform:scale(.98)}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:600}.primary:hover{filter:brightness(1.1);background:var(--accent)}header{max-width:1280px;margin:auto;padding:24px 40px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;color:var(--ink);text-decoration:none;font-weight:700;letter-spacing:.12em;font-size:18px}.brand small{font-size:12px;letter-spacing:0;font-weight:400;color:var(--muted);border-left:1px solid var(--line);padding-left:12px}.pulse-mark{color:var(--ok);font-size:28px}.header-actions{display:flex;gap:8px}main{max-width:1280px;padding:48px 40px 32px;margin:auto;min-height:75vh}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.15em;color:var(--muted);margin:0 0 12px}h1{font-size:36px;line-height:1.15;letter-spacing:-.035em;margin:0 0 16px;font-weight:600;max-width:760px;text-wrap:balance}h2{font-size:20px;letter-spacing:-.02em;margin:0 0 8px}.muted{color:var(--muted);margin:0}.intro,.section-top{display:flex;align-items:center;justify-content:space-between;gap:24px}.overview{display:grid;grid-template-columns:repeat(4,1fr);padding:28px 0;margin:28px 0 24px;border-block:1px solid var(--line)}.overview>div{padding:0 24px;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.overview>div:first-child{padding-left:0;border:0}.metric-label{font-size:12px;color:var(--muted)}strong{font-size:32px;font-weight:600;letter-spacing:-.03em}.small-metric{font-size:20px;line-height:48px}.overview .muted{font-size:12px}nav{display:flex;gap:8px;margin-bottom:32px;border-bottom:1px solid var(--line)}.tab{border:0;border-radius:0;background:transparent;color:var(--muted);padding:12px 16px;border-bottom:2px solid transparent}.tab.active{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.section-top{margin-bottom:24px}.section-top p{font-size:13px}.targets{display:flex;flex-direction:column;gap:12px}.target{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px 24px;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(160px,1fr) 120px auto;align-items:center;gap:24px}.target-name{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:600}.dot{width:9px;height:9px;border-radius:50%;background:var(--muted);flex-shrink:0}.dot.up{background:var(--ok)}.dot.down{background:var(--bad)}.dot.warning{background:var(--warn)}.address{font-size:12px;color:var(--muted);word-break:break-word;margin-top:4px}.detail{font-size:12px;margin-top:8px;color:var(--muted)}.state{font-size:12px;font-weight:600;color:var(--ok)}.state.down{color:var(--bad)}.state.pending,.state.warning{color:var(--warn)}.bars{display:flex;gap:1px;height:24px;margin-bottom:8px}.bar{flex:1;min-width:1px;background:var(--ok);border-radius:2px;opacity:.7}.bar.bad{background:var(--bad)}.uptime{font-size:12px;color:var(--muted)}.latency strong{font-size:20px}.latency span{display:block;color:var(--muted);font-size:11px}.help{font-size:12px;margin-top:20px;max-width:850px}.login{max-width:460px;margin:48px auto 80px}.login h1{font-size:40px}.login form{margin-top:32px}label{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;font-size:13px;font-weight:500}input,select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--input);padding:12px;color:var(--ink)}.login .primary{width:100%}dialog{width:min(480px,calc(100% - 32px));padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink)}dialog::backdrop{background:#10201b99}dialog .primary{width:100%;margin-top:24px}dialog .section-top{margin-bottom:24px}.switch{flex-direction:row;align-items:center;gap:12px;min-height:44px;font-size:15px}.switch input{width:20px;min-height:20px;height:20px;accent-color:var(--accent)}#settings-form{margin-top:28px}#message{padding:16px;background:var(--soft);border-radius:8px;margin-top:24px;position:sticky;bottom:16px}.warning{color:var(--warn);padding:12px 16px;background:var(--surface);border:1px solid var(--line);border-radius:8px;margin:20px 0}.event{padding:20px 0;border-bottom:1px solid var(--line)}.event b{font-weight:600}.event p{font-size:13px;margin:4px 0;color:var(--muted)}.event .down{color:var(--bad)}.audit-heading{margin-top:40px}.empty{padding:40px 24px;background:var(--surface);border:1px solid var(--line);border-radius:12px;color:var(--muted)}footer{max-width:1280px;margin:auto;padding:24px 40px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;display:flex;justify-content:space-between;gap:16px}[hidden]{display:none!important}@media(max-width:900px){.target{grid-template-columns:minmax(0,1fr) 140px;gap:16px}.latency{grid-column:1}.target>button{grid-column:2;grid-row:2}.overview>div{padding:0 16px}.brand small{display:none}}@media(max-width:560px){header{padding:16px 20px}.brand{font-size:15px}.header-actions button{padding:8px 12px;font-size:12px}main{padding:32px 20px}.intro,.section-top{align-items:flex-start;flex-direction:column;gap:16px}h1{font-size:30px}.intro>button{width:100%}.overview{grid-template-columns:1fr 1fr;gap:24px;padding:24px 0}.overview>div{border:0;padding:0}.overview strong{font-size:28px}.overview .small-metric{font-size:18px;line-height:42px}nav{gap:0}.tab{padding:12px 8px;font-size:12px;flex:1}.target{grid-template-columns:minmax(0,1fr);padding:20px;gap:16px}.target>button{grid-column:1;grid-row:auto}.latency{display:none}.target-name{font-size:16px}.section-top>button{width:100%}footer{padding:20px;flex-direction:column;gap:4px}.login{margin:28px auto}.login h1{font-size:34px}dialog{padding:24px}dialog .section-top{flex-direction:row}dialog .section-top>button{width:auto}}@media(prefers-reduced-motion:reduce){button:active{transform:none}}

.object-actions{display:flex;gap:8px;flex-wrap:wrap}.agent-metrics{font-size:12px;color:var(--muted);margin-top:8px}.target-controls{display:flex;flex-direction:column;gap:8px}.target-controls button{font-size:12px}.revoked{opacity:.65}code{font-size:12px;overflow-wrap:anywhere}li{margin-bottom:12px}@media(max-width:900px){.target-controls{grid-column:2;grid-row:2}}@media(max-width:560px){.object-actions{width:100%}.object-actions button{flex:1}.target-controls{grid-column:1;grid-row:auto;flex-direction:row}.target-controls button{flex:1}}

.download{display:inline-flex;min-height:44px;align-items:center;padding:10px 16px;color:var(--accent);border:1px solid var(--line);border-radius:8px;text-decoration:none}.download:hover{background:var(--soft)}

.route-reports{margin-top:24px}.route-report{padding:20px 24px;background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:12px}.route-report p{font-size:13px;line-height:1.6;margin-top:12px;max-width:900px}.dot.limited,.bar.limited{background:var(--muted)}.state.limited{color:var(--muted)}@media(max-width:560px){.route-report{padding:20px}.route-report .target-name{align-items:flex-start;font-size:15px}.route-report .dot{margin-top:8px}}

.server-card,.project-card{padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:16px}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:24px 0}.compact-metric{display:flex;flex-direction:column;gap:8px}.compact-metric span{font-size:12px}.compact-metric strong{font-size:24px;overflow-wrap:anywhere}.spark{display:flex;align-items:end;gap:1px;height:52px;margin:24px 0}.spark-bar{flex:1;min-width:0;max-width:24px;background:var(--accent);border-radius:2px;opacity:.6}.technical{margin-top:24px;color:var(--muted);font-size:13px}.technical summary{cursor:pointer;min-height:44px;padding:12px 0}.technical p{overflow-wrap:anywhere}.technical .targets{margin-top:20px}.technical .section-top{margin-top:20px}@media(max-width:560px){.metrics-grid{grid-template-columns:1fr 1fr;gap:24px}.server-card,.project-card{padding:20px}nav{overflow-x:auto}.tab{flex:none;white-space:nowrap}.compact-metric strong{font-size:22px}}

.chart-toolbar{display:flex;gap:16px;align-items:center;justify-content:space-between;font-size:12px;margin-top:20px}.chart-toolbar select{max-width:220px;padding:8px;min-height:44px}.chart-toolbar+.spark{margin-top:12px}@media(max-width:560px){.chart-toolbar{align-items:flex-start;flex-direction:column;gap:8px}.chart-toolbar select{max-width:100%}}
.usage-estimate{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid var(--line)}.usage-estimate span{font-size:13px}.usage-estimate strong{font-size:24px;white-space:nowrap}@media(max-width:560px){.usage-estimate{align-items:flex-start;flex-direction:column;gap:8px}.usage-estimate strong{font-size:22px}}

.http-errors summary{min-height:44px;padding:10px 0;cursor:pointer;font-weight:600}.http-error{padding:16px 0;border-top:1px solid var(--line)}.http-error p{margin:4px 0;overflow-wrap:anywhere}.error-route{font-family:ui-monospace,monospace;font-size:13px}.http-errors>p{margin:8px 0;font-size:13px}

.http-error-list{max-height:480px;overflow-y:auto;overscroll-behavior:contain;padding-right:8px}
