:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f9f9f7;--surface:#fcfcfb;--surface-2:#f0efec;--text:#0b0b0b;--text-2:#52514e;--muted:#898781;--grid:#e1e0d9;--axis:#c3c2b7;--border:#0b0b0b1a;--accent:#2a78d6;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--good:#0ca30c;--good-text:#006300;--warning:#fab219;--serious:#ec835a;--critical:#d03b3b;--info:#898781;--radius:10px;font-family:system-ui,-apple-system,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface:#1a1a19;--surface-2:#232321;--text:#f0efec;--text-2:#c3c2b7;--muted:#898781;--grid:#2c2c2a;--axis:#383835;--border:#ffffff1a;--accent:#3987e5;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--good-text:#0ca30c}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface:#1a1a19;--surface-2:#232321;--text:#f0efec;--text-2:#c3c2b7;--muted:#898781;--grid:#2c2c2a;--axis:#383835;--border:#ffffff1a;--accent:#3987e5;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--good-text:#0ca30c}*{box-sizing:border-box}html,body{margin:0}body{background:var(--page);color:var(--text);font-size:14px;line-height:1.45}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}.topbar{border-bottom:1px solid var(--border);background:var(--surface);z-index:10;align-items:center;gap:20px;height:52px;padding:0 24px;display:flex;position:sticky;top:0}.topbar .brand{font-weight:650}.topbar nav{flex:1;gap:4px;display:flex}.topbar nav a{color:var(--text-2);border-radius:6px;padding:6px 10px}.topbar nav a:hover{background:var(--surface-2);text-decoration:none}.topbar .right{color:var(--muted);align-items:center;gap:12px;font-size:12px;display:flex}main{max-width:1280px;margin:0 auto;padding:24px}h1{margin:0 0 4px;font-size:22px;font-weight:650}h2{margin:0 0 12px;font-size:15px;font-weight:600}.sub{color:var(--text-2);margin:0 0 20px}.muted{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.num{font-variant-numeric:tabular-nums}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.section{margin-top:24px}.grid{gap:16px;display:grid}.grid.kpi{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.grid.hosts{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.grid.two{grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}.stat .label{color:var(--text-2);font-size:12px}.stat .value{margin-top:2px;font-size:28px;font-weight:600}.stat .hint{color:var(--muted);font-size:12px}.badge{white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:550;display:inline-flex}.badge .dot{background:var(--info);border-radius:50%;flex:none;width:8px;height:8px}.badge.good .dot{background:var(--good)}.badge.warning .dot{background:var(--warning)}.badge.serious .dot{background:var(--serious)}.badge.critical .dot{background:var(--critical)}.meter{grid-template-columns:44px 1fr 48px;align-items:center;gap:10px;margin-top:8px;display:grid}.meter .m-name{color:var(--text-2);font-size:12px}.meter .track{background:var(--surface-2);border-radius:3px;height:6px;overflow:hidden}.meter .fill{background:var(--series-1);border-radius:3px;height:100%}.meter .fill.high{background:var(--critical)}.meter .val{text-align:right;font-variant-numeric:tabular-nums;font-size:12px}.host-card{display:block}.host-card:hover{border-color:var(--axis);text-decoration:none}.host-card header{justify-content:space-between;align-items:start;gap:8px;display:flex}.host-card .name{font-size:15px;font-weight:600}.host-card footer{color:var(--muted);justify-content:space-between;margin-top:12px;font-size:12px;display:flex}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--grid);vertical-align:top;padding:8px 10px}th{color:var(--muted);font-size:12px;font-weight:500}tr:last-child td{border-bottom:none}td.r,th.r{text-align:right;font-variant-numeric:tabular-nums}.table-wrap{overflow-x:auto}.tabs{background:var(--surface-2);border-radius:8px;gap:2px;padding:2px;display:inline-flex}.tabs a{color:var(--text-2);border-radius:6px;padding:4px 10px;font-size:12px}.tabs a:hover{color:var(--text);text-decoration:none}.tabs a.active{background:var(--surface);color:var(--text);box-shadow:0 0 0 1px var(--border)}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}select,input[type=password],button{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:6px 10px}button.primary{background:var(--accent);color:#fff;cursor:pointer;border-color:#0000}button.link{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.empty{color:var(--muted);text-align:center;padding:24px}details pre{white-space:pre-wrap;word-break:break-word;background:var(--surface-2);border-radius:6px;margin:8px 0 0;padding:10px}details summary{cursor:pointer}.chart{position:relative}.chart svg{width:100%;display:block;overflow:visible}.chart .legend{color:var(--text-2);flex-wrap:wrap;gap:14px;margin-bottom:8px;font-size:12px;display:flex}.chart .legend i{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block}.chart .tip{pointer-events:none;background:var(--surface);border:1px solid var(--border);z-index:5;border-radius:8px;min-width:150px;padding:8px 10px;font-size:12px;position:absolute;box-shadow:0 4px 16px #0000001f}.chart .tip .t{color:var(--muted);margin-bottom:4px}.chart .tip .row{justify-content:space-between;gap:12px;display:flex}.chart .tip .row span:first-child{color:var(--text-2)}.chart .tip .row i{border-radius:2px;width:8px;height:8px;margin-right:6px;display:inline-block}.login{max-width:340px;margin:12vh auto}.login form{gap:12px;display:grid}.error{color:var(--critical);font-size:13px}@media (max-width:640px){main{padding:16px}.topbar{gap:12px;padding:0 16px}.topbar .right .refresh{display:none}.grid.two,.grid.hosts{grid-template-columns:1fr}}
