:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172a32;background:#f4f6f8;font-size:14px;--bg:#f4f6f8;--panel:#fff;--text:#172a32;--muted:#718087;--line:#e5eaed;--accent:#167f6d;--soft:#e9f5f1;--danger:#bc4654;--shadow:0 3px 16px #1b344506}*{box-sizing:border-box}body{margin:0}body.dark{--bg:#111d25;--panel:#1a2a34;--text:#e5edf0;--muted:#9aabb5;--line:#30424b;--soft:#183e36;--accent:#67cdb2;background:var(--bg);color:var(--text)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:inherit;text-decoration:none}button,input,select{border-radius:7px}input,select{background:var(--panel);color:var(--text);border:1px solid #cbd5da;padding:9px 10px;min-height:38px}input:focus,select:focus,button:focus-visible{outline:2px solid #62bba6;outline-offset:2px}button{border:0;background:none;color:inherit}h1,h2,p{margin:0}h1{font-size:28px;letter-spacing:-.8px;font-weight:650;line-height:1.25}h2{font-size:15px;font-weight:650}p{color:var(--muted);line-height:1.55}small{color:var(--muted)}.hidden{display:none!important}.sidebar{width:236px;position:fixed;inset:0 auto 0 0;background:#152b35;color:#dae5e8;display:flex;flex-direction:column;padding:30px 18px;z-index:10}.brand{display:flex;gap:12px;align-items:center;font-size:21px;letter-spacing:1.8px;font-weight:750;padding-left:8px}.brand-icon{display:inline-grid;place-items:center;background:#79d5b5;color:#153d35;width:38px;height:40px;border-radius:9px;font-size:25px;font-weight:750;letter-spacing:0}.brand-sub{display:block;font-size:9px;letter-spacing:1.7px;color:#8da3ad;margin-top:5px;font-weight:500}.site-pill{display:flex;align-items:center;gap:9px;margin:31px 7px 32px;border:1px solid #304750;border-radius:7px;padding:10px 11px;font-size:12px}.dot{display:inline-block;width:6px;height:6px;background:#7cd9b4;border-radius:50%;vertical-align:middle;flex-shrink:0}.nav-label{font-size:9px;color:#7994a1;letter-spacing:1.5px;padding:0 11px 11px}nav{display:flex;flex-direction:column;gap:6px}nav button{display:flex;gap:12px;align-items:center;text-align:left;padding:12px 11px;color:#aabcc5;font-size:12px}nav button span{width:17px;font-size:19px;text-align:center;line-height:1}nav button.active{color:#dffcf1;background:#24463f}nav button:hover{background:#263e48}.sidebar-footer{margin-top:auto;border-top:1px solid #2b424c;padding:22px 10px 0;font-size:10px;color:#b5c7ce}.sidebar-footer small{display:block;font-size:10px;margin:9px 0 18px;color:#7895a2}.quiet{font-size:11px;color:#93abb7;padding:4px 8px 4px 0}.workspace{margin-left:236px}header{height:68px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:var(--panel)}.breadcrumbs{font-size:11px;color:var(--muted)}.breadcrumbs span{padding:0 13px;color:#bbc6cb}.header-right{display:flex;align-items:center;gap:12px;font-size:11px}.icon-button{font-size:22px;border:1px solid var(--line);width:31px;height:31px;line-height:25px}main{max-width:1760px;margin:auto;padding:30px 34px 18px}.title-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:23px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.8px;color:var(--accent);margin-bottom:8px}.title-row p{font-size:12px;margin-top:8px}.secondary,.primary{padding:10px 14px;font-size:12px;font-weight:600;border:1px solid var(--line);background:var(--panel);white-space:nowrap}.primary{background:#1a7968;border-color:#1a7968;color:#fff}.secondary:hover{border-color:#8aa69f}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:22px}.period-buttons{display:flex;gap:2px;border:1px solid var(--line);background:var(--panel);padding:3px;border-radius:8px}.period-buttons button{padding:7px 10px;font-size:11px;white-space:nowrap}.period-buttons .active{color:var(--accent);background:var(--soft);font-weight:650}.toolbar-date{font-size:10px;color:var(--muted)}.auto{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted);margin-left:auto;white-space:nowrap}.auto input{min-height:auto;accent-color:#1a7968}.custom-period{display:flex;gap:12px;align-items:end;background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:14px;margin-bottom:16px}label{display:flex;flex-direction:column;gap:7px;font-size:12px}.cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin-bottom:20px}.metric{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:17px 18px;min-height:119px;box-shadow:var(--shadow)}.metric-label{font-size:11px;color:var(--muted);line-height:1.4;min-height:17px}.metric-value{font-variant-numeric:tabular-nums;font-size:27px;letter-spacing:-1px;font-weight:620;margin:12px 0 8px;white-space:nowrap}.metric-value small{font-size:12px;letter-spacing:0;font-weight:400;margin-left:4px}.metric-caption{font-size:9px;color:var(--muted);line-height:1.4}.metric.focus{border-top:3px solid #268b74;padding-top:15px}.metric.focus .metric-value{color:var(--accent)}.metric.alert .metric-value{color:var(--danger)}.chart-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:18px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:11px;overflow:hidden;box-shadow:var(--shadow);margin-bottom:18px}.chart-grid .panel{margin-bottom:0}.panel-heading{display:flex;justify-content:space-between;align-items:start;padding:20px 21px 13px;gap:12px}.panel-heading p{font-size:10px;margin-top:6px}.badge{font-size:8px;font-weight:700;letter-spacing:1px;padding:5px 7px;background:var(--bg);border-radius:4px;color:var(--muted)}.legend{display:flex;gap:12px;flex-wrap:wrap;padding:0 21px 8px;font-size:10px}.legend label{display:flex;flex-direction:row;align-items:center;gap:4px;font-size:10px;cursor:pointer;color:var(--muted)}.legend input{width:10px;height:10px;min-height:0;margin:0;accent-color:var(--color)}.chart{height:215px;padding:0 15px;position:relative}.chart svg{display:block;width:100%;height:100%;overflow:visible}.chart svg text{fill:var(--muted);font-size:10px}.chart-note{font-size:9px;color:var(--muted);padding:6px 21px 17px;line-height:1.6}.bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.notes{font-size:11px;color:var(--muted);padding:0 22px 0 36px;line-height:1.6;margin:0 0 15px}.notes li{margin-bottom:8px}.health-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 21px;border-top:1px solid var(--line);font-size:11px}.health-row small{font-size:9px;display:block;margin-top:4px}.status{font-size:9px;padding:4px 6px;border-radius:5px;white-space:nowrap;background:var(--soft);color:var(--accent)}.status.warn{background:#fff3dc;color:#97640e}.status.bad{background:#feebed;color:#bc4654}.notice{background:#edf3f6;color:#446271;border:1px solid #d8e4eb;border-radius:8px;padding:12px 15px;font-size:11px;line-height:1.6;margin-bottom:18px}.dark .notice{background:#213a49;color:#b0c9d6;border-color:#315060}.alerts{display:grid;gap:7px;margin-bottom:15px}.alert-item{padding:10px 14px;background:#fff6e6;color:#946211;border:1px solid #f0dbb1;border-radius:7px;font-size:11px}.alert-item.bad{background:#fff0f1;color:#a33948;border-color:#efccd1}.filterbar{display:flex;align-items:end;flex-wrap:wrap;gap:11px;margin:0 0 18px}.filterbar label{font-size:10px;min-width:90px}.filterbar input,.filterbar select{font-size:11px}.filterbar input[type=number]{width:95px}.grow{flex:1}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px;white-space:nowrap;text-align:left}th{font-size:9px;font-weight:600;letter-spacing:.2px;color:var(--muted);background:var(--bg);padding:11px 18px}td{padding:12px 18px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}tr:last-child td{border:0}.route-cell{max-width:430px;overflow:hidden;text-overflow:ellipsis;font-family:ui-monospace,SFMono-Regular,monospace;font-size:10px}.empty{text-align:center;color:var(--muted);padding:45px 25px;font-size:12px}.method{font-size:9px;border-radius:4px;background:var(--soft);color:var(--accent);padding:4px 6px}.method.post{background:#edf0fc;color:#6678b8}.signature{font-size:10px;padding:10px 21px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.event-row{padding:16px 21px;border-top:1px solid var(--line);display:flex;gap:15px;align-items:start}.event-row time{color:var(--muted);font-size:10px;white-space:nowrap}.event-row strong{font-size:12px;font-weight:550}.event-row small{display:block;font-size:9px;margin-top:5px}footer{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);padding-top:18px}dialog{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:14px;width:min(450px,94vw);padding:27px;box-shadow:0 24px 100px #102f3644}dialog::backdrop{background:#102a3570;backdrop-filter:blur(3px)}dialog h2{font-size:21px;margin:0 0 24px}dialog label{margin-bottom:18px}dialog .muted{font-size:11px}.dialog-actions{display:flex;justify-content:end;gap:10px;margin-top:22px}.error{color:#b2404e;font-size:12px}.chart-tooltip{position:fixed;z-index:100;background:#132c37;color:#ecf5f7;border-radius:8px;padding:12px 14px;box-shadow:0 6px 24px #112c4433;font-size:10px;pointer-events:none;line-height:1.9;max-width:260px}.hover-line{stroke:#93a8b2;stroke-dasharray:3 4;pointer-events:none}.event-line{stroke:#b29a69;stroke-dasharray:2 5;opacity:.65}.login-page{display:grid;place-items:center;min-height:100dvh;background:#f0f5f4;color:#172a32}.login-card{background:#fff;border:1px solid #dce7e3;border-radius:17px;padding:40px;width:min(410px,94vw);box-shadow:0 20px 70px #203c3510}.login-card .brand-icon{margin-bottom:26px}.login-card h1{margin-bottom:12px}.login-card p{font-size:13px}.login-card form{margin-top:29px}.login-card input,.login-card .primary{width:100%;margin-top:10px}.login-card label{font-size:12px}.login-card .primary{margin-top:15px;padding:13px}.login-card small{display:block;margin-top:25px;font-size:10px}.muted{color:var(--muted)}@media(min-width:1600px){.cards{gap:17px}.metric{padding:22px}.metric-value{font-size:32px}.chart{height:250px}}@media(max-width:1200px){.sidebar{width:205px;padding:26px 13px}.workspace{margin-left:205px}main{padding:25px 22px}header{padding:0 22px}.cards{grid-template-columns:repeat(3,1fr)}.chart-grid{grid-template-columns:1fr 1fr}.toolbar-date{display:none}.auto{margin-left:0}.metric-value{font-size:25px}.panel-heading{padding:17px}.legend{padding:0 17px 8px;gap:8px}}@media(max-width:900px){.sidebar{position:relative;width:100%;padding:16px 18px;display:block}.brand{font-size:17px;display:inline-flex;padding:0}.brand-icon{width:30px;height:32px;font-size:20px}.brand-sub{font-size:7px}.site-pill,.nav-label,.sidebar-footer{display:none}nav{flex-direction:row;gap:5px;overflow:auto;margin-top:16px}nav button{padding:8px 10px;font-size:11px;white-space:nowrap}nav button span{display:none}.workspace{margin-left:0}header{height:48px}.chart-grid,.bottom-grid{grid-template-columns:1fr}.chart{height:220px}.title-row{align-items:start}h1{font-size:24px}.header-right{font-size:9px}.period-buttons{overflow:auto;max-width:100%}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.toolbar{gap:9px}.metric{padding:14px 12px;min-height:113px}.metric-label{font-size:10px}.metric-value{font-size:23px}.metric-caption{font-size:8px}.title-row .secondary{font-size:10px;padding:9px}.bottom-grid{margin-top:18px;gap:0}}@media(max-width:550px){main{padding:21px 14px}header{padding:0 14px}.breadcrumbs{font-size:9px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.metric-value{font-size:27px}.title-row{flex-wrap:wrap}.title-row .secondary{margin-top:4px}.period-buttons button{font-size:10px;padding:7px 8px}.custom-period{flex-wrap:wrap}h1{font-size:25px}.panel-heading h2{font-size:14px}footer{font-size:8px}.chart{height:205px}.filterbar{gap:8px}.filterbar label{min-width:95px}.filterbar .grow{min-width:100%}.auto{font-size:10px}.event-row{flex-direction:column;gap:7px}}

@media(max-width:900px){.sidebar-footer{display:flex;position:absolute;top:18px;right:18px;padding:0;margin:0;border:0;font-size:0;gap:8px}.sidebar-footer>.dot,.sidebar-footer small{display:none}.sidebar-footer .quiet{font-size:10px}}

.extra-charts{margin-top:18px}
