:root{color-scheme:light dark;--bg: #f6f6f7;--surface: #ffffff;--surface-2: #fafafa;--sidebar: #fbfbfc;--border: #e4e4e7;--text: #18181b;--muted: #71717a;--faint: #a1a1aa;--accent: #18181b;--accent-fg: #ffffff;--focus: #18181b;--link: #3f3f46;--row-hover: #fafafa;--nav-hover: #f2f2f3;--nav-active: #ededef;--track: #ececee;--ok: #2f6f4f;--ok-bg: #eef4f0;--ok-bd: #cfe0d6;--warn: #8a6100;--warn-bg: #f7f2e4;--warn-bd: #e4d7b6;--bad: #a4262c;--bad-bg: #f8eced;--bad-bd: #e7c9cb;--info: #1f5fa8;--info-bg: #ecf1f8;--info-bd: #ccdaeb;--muted-bg: #f2f2f3;--muted-bd: #e4e4e7;--chart-bar: #d4d4d8;--chart-bar-bd: #a1a1aa;--chart-line: #18181b;--radius: 6px;--radius-sm: 4px;--mono: ui-monospace, SFMono-Regular, Menlo, monospace;--shadow-pop: 0 1px 2px rgba(0, 0, 0, .04), 0 8px 24px rgba(0, 0, 0, .08)}@media(prefers-color-scheme:dark){:root{--bg: #121214;--surface: #1a1a1d;--surface-2: #202023;--sidebar: #171719;--border: #2a2a2e;--text: #f4f4f5;--muted: #a1a1aa;--faint: #71717a;--accent: #f4f4f5;--accent-fg: #121214;--focus: #e4e4e7;--link: #d4d4d8;--row-hover: #202023;--nav-hover: #202023;--nav-active: #26262a;--track: #2a2a2e;--ok: #7fb99a;--ok-bg: #1b2621;--ok-bd: #2c3d34;--warn: #d8b45f;--warn-bg: #262217;--warn-bd: #3d3722;--bad: #e08b8f;--bad-bg: #261a1b;--bad-bd: #3d2a2c;--info: #8ab4e0;--info-bg: #171f28;--info-bd: #25303d;--muted-bg: #232327;--muted-bd: #2a2a2e;--chart-bar: #3f3f46;--chart-bar-bd: #71717a;--chart-line: #e4e4e7;--shadow-pop: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .5)}}*{box-sizing:border-box}body{margin:0;font:13.5px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}code,pre,.mono{font-family:var(--mono)}input,select,textarea,button{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}input,select{height:32px;padding:0 10px}textarea{padding:8px 10px;min-height:90px;resize:vertical;width:100%}input[type=checkbox]{height:auto;width:15px;padding:0;accent-color:var(--accent)}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--focus);outline-offset:1px}button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;font-size:13.5px;line-height:1;cursor:pointer;transition:background-color .12s,border-color .12s,color .12s}button:hover{background:var(--surface-2);border-color:var(--faint)}button:disabled{opacity:.5;cursor:not-allowed}button:disabled:hover{background:var(--surface);border-color:var(--border)}button.acc{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}button.acc:hover{background:var(--accent);border-color:var(--accent);opacity:.88}button.danger{background:var(--surface);border-color:var(--bad-bd);color:var(--bad)}button.danger:hover{background:var(--bad-bg);border-color:var(--bad)}button.ghost{background:transparent;border-color:transparent}button.ghost:hover{background:var(--nav-hover);border-color:transparent}button.small{height:24px;padding:0 8px;font-size:11.5px;gap:4px}button.linklike{height:auto;padding:0;gap:4px;background:none;border:0;color:var(--link);text-decoration:underline;font-size:inherit}button.linklike:hover{background:none}button svg,a.nav svg,.vt svg,h2 svg{vertical-align:-3px}#app{display:flex;min-height:100vh}#sidebar{width:236px;flex:0 0 236px;background:var(--sidebar);border-right:1px solid var(--border);padding:12px 10px;position:sticky;top:0;height:100vh;overflow:auto}#sidebar .brand{display:flex;gap:8px;align-items:flex-start;padding:2px 8px 12px;border-bottom:1px solid var(--border);font-weight:600;font-size:14px;letter-spacing:.01em}#sidebar .brand small{display:block;color:var(--muted);font-weight:400;font-size:11px;margin-top:2px}#sidebar .brand .bmark{display:inline-flex;margin-top:2px;color:var(--muted)}#sidebar .grp{color:var(--faint);font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:12px 8px 4px}#sidebar a.nav{display:flex;gap:8px;align-items:center;height:32px;padding:0 8px;border-radius:var(--radius);color:var(--text);text-decoration:none;font-size:13.5px}#sidebar a.nav:hover{background:var(--nav-hover);text-decoration:none}#sidebar a.nav.on{background:var(--nav-active);font-weight:500}#sidebar a.nav .ic{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex:0 0 16px;color:var(--muted)}#sidebar a.nav:hover .ic,#sidebar a.nav.on .ic{color:var(--text)}main{flex:1;min-width:0}header{position:sticky;top:0;z-index:6;background:var(--surface);border-bottom:1px solid var(--border);padding:10px 24px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}header .hrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}header .hrow.h-status{margin-left:auto}header .h-title{display:none}header .hamburger{display:none}header select.small{height:24px;padding:0 6px;font-size:11.5px}.wrap{padding:20px 24px 64px;max-width:1360px;margin:0 auto}h2.vt{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:15px;font-weight:600}h2.vt svg{color:var(--muted)}.vsub{color:var(--muted);font-size:12px;margin-bottom:16px}.blocks>*{margin-bottom:16px}.badge{display:inline-block;padding:0 6px;border:1px solid var(--muted-bd);border-radius:var(--radius-sm);font-size:11px;font-weight:500;line-height:16px;background:var(--muted-bg);color:var(--muted)}.b-ok,.b-basic{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-bd)}.b-warn,.b-trial{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-bd)}.b-bad{background:var(--bad-bg);color:var(--bad);border-color:var(--bad-bd)}.b-info,.b-pro{background:var(--info-bg);color:var(--info);border-color:var(--info-bd)}.b-muted,.b-free{background:var(--muted-bg);color:var(--muted);border-color:var(--muted-bd)}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.muted{color:var(--muted)}.err{color:var(--bad)}.ok{color:var(--ok)}.grow{flex:1}.hint{color:var(--muted);font-size:12px}.metrics{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:12px}.metric{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.metric .ml{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.metric .mv{font-size:20px;font-weight:600;margin-top:6px;font-variant-numeric:tabular-nums}.metric .md{color:var(--muted);font-size:12px;margin-top:2px}.metric.t-ok .mv{color:var(--ok)}.metric.t-warn .mv{color:var(--warn)}.metric.t-bad .mv{color:var(--bad)}.metric.t-info .mv{color:var(--info)}.metric.t-hint .mv{color:var(--muted)}.kvv.t-ok{color:var(--ok)}.kvv.t-warn{color:var(--warn)}.kvv.t-bad{color:var(--bad)}.kvv.t-info{color:var(--info)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.card>.ct{font-weight:600;font-size:15px;padding-bottom:8px;margin-bottom:12px;border-bottom:1px solid var(--border)}.card>.cth{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:600;font-size:15px;padding-bottom:8px;margin-bottom:12px;border-bottom:1px solid var(--border)}.card>.cth .ctht:empty{min-height:0}td .cp{height:18px;padding:0 4px;margin-left:6px;opacity:0;vertical-align:middle;background:transparent;border-color:transparent;color:var(--muted)}td:hover .cp,td:focus-within .cp{opacity:1}td .cp:hover{background:var(--nav-hover);border-color:transparent;color:var(--text)}.qsearch{position:relative;display:flex;align-items:center;flex:1 1 200px;max-width:320px}.qsearch .qic{position:absolute;left:8px;color:var(--faint);pointer-events:none}.qsearch .qin{height:24px;padding:0 8px 0 28px;font-size:11.5px;width:100%}.qsearch .qclear{position:absolute;right:3px;height:20px;padding:0 4px;background:transparent;border-color:transparent;color:var(--muted)}.qsearch .qclear:hover{background:var(--nav-hover);border-color:transparent}.qsearch .qsug{position:absolute;top:28px;left:0;right:0;z-index:12;display:flex;flex-direction:column;gap:2px;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-pop)}.qsearch .qsugi{justify-content:flex-start;height:28px;padding:0 8px;font-size:12.5px;background:transparent;border-color:transparent;text-align:left}.qsearch .qsugi:hover{background:var(--nav-hover);border-color:transparent}.qsearch .qsugi svg{color:var(--muted)}.qsearch .qhint{position:absolute;top:28px;left:0;right:0;z-index:12;padding:8px 10px;font-size:12px;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-pop)}.card>.cd{color:var(--muted);font-size:12px;margin:-4px 0 12px}table{width:100%;border-collapse:collapse;font-size:13.5px}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:middle}th{color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}tr.clickable{cursor:pointer}tbody tr:hover td{background:var(--row-hover)}td.num,th.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}.kv{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px 20px}.kv .kl{color:var(--muted);font-size:12px}.kv .kvv{font-size:13.5px;word-break:break-word}pre.code{background:var(--surface-2);border:1px solid var(--border);padding:10px 12px;border-radius:var(--radius);overflow:auto;font-size:12px;max-height:320px;white-space:pre-wrap;margin:0}.bar{background:var(--track);border-radius:3px;height:6px;width:110px;overflow:hidden;display:inline-block;vertical-align:middle;margin-right:6px}.bar>i{display:block;height:100%;background:var(--faint)}.bar.hot>i{background:var(--warn)}.bar.over>i{background:var(--bad)}.tabs{display:flex;gap:2px;margin-bottom:12px;flex-wrap:wrap;border-bottom:1px solid var(--border)}.tabs .tb{height:30px;padding:0 12px;font-size:13px;background:transparent;border:1px solid transparent;border-bottom:0;border-radius:var(--radius) var(--radius) 0 0;color:var(--muted)}.tabs .tb:hover{background:var(--nav-hover);border-color:transparent;color:var(--text)}.tabs .tb.on{background:var(--surface);border-color:var(--border);color:var(--text);font-weight:500;margin-bottom:-1px}.filters{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.filters label,.field label{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.field{min-width:150px}.field.wide{min-width:280px;flex:1}.field select,.field input,.field textarea{width:100%}.field input[type=checkbox]{width:15px;height:15px}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#18181b61;display:flex;align-items:flex-start;justify-content:center;z-index:20;padding:48px 16px;overflow:auto}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-pop);padding:20px;width:680px;max-width:100%;max-height:88vh;overflow:auto}.modal h2{margin:0 0 12px;font-size:15px;font-weight:600}.modal-msg{margin-bottom:12px;white-space:pre-wrap;font-size:13.5px}.modal-actions{margin-top:14px}#toasts{position:fixed;right:16px;bottom:16px;z-index:40;display:flex;flex-direction:column;gap:8px;max-width:420px}.toast{display:flex;gap:8px;align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--faint);padding:10px 12px;border-radius:var(--radius);font-size:13px;box-shadow:var(--shadow-pop)}.toast svg{flex:0 0 16px;margin-top:1px;color:var(--muted)}.toast.ok{border-left-color:var(--ok)}.toast.ok svg{color:var(--ok)}.toast.bad{border-left-color:var(--bad)}.toast.bad svg{color:var(--bad)}.chart{display:flex;align-items:flex-end;gap:6px;height:150px;padding-top:6px;border-bottom:1px solid var(--border)}.chart .cbar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;min-width:14px}.chart .cb{width:100%;background:var(--chart-bar);border:1px solid var(--chart-bar-bd);border-bottom:0;border-radius:2px 2px 0 0;min-height:2px}.chart .cl{color:var(--muted);font-size:11px;white-space:nowrap;transform:rotate(-35deg)}.chart .cv{font-size:11px;color:var(--text);font-variant-numeric:tabular-nums}.hbars{display:flex;flex-direction:column;gap:6px}.hbar{display:grid;grid-template-columns:minmax(90px,180px) 1fr auto;gap:10px;align-items:center}.hbar .hl{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hbar .ht{background:var(--track);border-radius:3px;height:12px;overflow:hidden}.hbar .ht>i{display:block;height:100%;background:var(--chart-bar)}.hbar .hv{font-size:12px;min-width:52px;text-align:right;font-variant-numeric:tabular-nums}.line-chart{width:100%;height:160px;color:var(--chart-line)}.line-chart path{stroke:var(--chart-line);stroke-width:1.5;fill:none}.line-chart .grid{stroke:var(--border);stroke-width:1}.line-chart circle{fill:var(--chart-line);stroke:none}.pager{display:flex;gap:6px;align-items:center;margin-top:12px}.pager .muted{font-variant-numeric:tabular-nums}details summary{cursor:pointer;padding:4px 0}.custom-script{margin-top:8px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-wrap .box{width:400px;max-width:92vw;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.login-wrap h1{font-size:15px;font-weight:600;margin:0 0 4px;text-align:center}.login-wrap .sub{color:var(--muted);font-size:12px;margin-bottom:16px}.login-wrap label{display:block;color:var(--muted);font-size:12px;margin:12px 0 4px}.login-wrap input{width:100%}.login-wrap button{width:100%;margin-top:12px}.login-wrap button.linklike{width:auto;margin-top:0;vertical-align:baseline}.login-wrap form button[type=submit]{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.login-wrap form button[type=submit]:hover{opacity:.88}.login-wrap .err{color:var(--bad);font-size:13px;margin-top:12px}.login-wrap .hint{color:var(--muted);font-size:12px;margin-top:12px}.login-wrap .code{font-size:20px;letter-spacing:.3em;text-align:center;font-family:var(--mono)}.login-wrap .lock{display:flex;justify-content:center;color:var(--muted);margin-bottom:10px}.login-wrap .qr{display:flex;justify-content:center;margin:12px 0}.login-wrap .qr svg{background:#fff;padding:8px;border:1px solid var(--border);border-radius:var(--radius)}.backup-codes{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:12px;font-family:var(--mono);font-size:13px;white-space:pre-wrap;word-break:break-all}.boot{padding:40px;text-align:center;color:var(--muted)}.boot-err{padding:8px 24px}.sb-backdrop,#sidebar .sb-close{display:none}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.form-actions{margin-top:12px}@media(max-width:1000px){#sidebar{width:190px;flex-basis:190px}.wrap,header{padding-left:16px;padding-right:16px}}@media(max-width:768px){#sidebar{position:fixed;top:0;bottom:0;left:0;width:min(280px,84vw);flex:none;height:100vh;z-index:30;transform:translate(-100%);visibility:hidden;transition:transform .18s ease,visibility .18s ease}#sidebar.open{transform:none;visibility:visible;box-shadow:var(--shadow-pop)}.sb-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;background:#18181b61}#sidebar a.nav{height:44px}#sidebar .brand{align-items:flex-start}#sidebar .sb-close{display:inline-flex;margin-left:auto;min-width:40px;min-height:40px}header{padding:8px 12px;gap:8px}header .hrow{width:100%}header .hrow.h-status{margin-left:0}header .h-main{order:1}header .h-status{order:2}header .h-title{display:block;flex:1 1 auto;min-width:0;font-weight:600;font-size:14px}header .hamburger{display:inline-flex;min-width:44px}header .bl{display:none}header .qsearch{flex:1 1 120px;max-width:none}input,select,button{min-height:40px}input[type=checkbox]{min-height:0;width:20px;height:20px}button.small{min-height:40px;padding:0 10px}.qsearch .qin{height:44px;min-height:44px}.qsearch .qclear{height:40px;width:40px;min-height:40px}.qsearch .qic{left:10px}.qsearch .qsug,.qsearch .qhint{top:48px}.wrap{padding:14px 12px 72px}.wrap h2.vt{display:none}.table-scroll{margin:0 -4px}table{font-size:13px}th,td{padding:10px}th:first-child,td:first-child{position:sticky;left:0;z-index:1;background:var(--surface);box-shadow:inset -1px 0 0 var(--border)}tbody tr:hover td:first-child{background:var(--row-hover)}td .cp{opacity:1;height:40px;width:40px;min-height:40px;padding:0;margin-left:2px}.pager{flex-wrap:wrap;gap:6px}.pager .muted{margin-left:auto}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{padding:10px 12px}.metric .mv{font-size:18px}.chart{height:140px;gap:4px;overflow-x:auto}.chart .cbar{min-width:16px}.chart .cl{font-size:10px}.line-chart{height:140px}.hbar{grid-template-columns:minmax(64px,34%) 1fr auto;gap:8px}.hbar .hl{font-size:11px}.kv,.form-grid{grid-template-columns:1fr}.field,.filters .field{min-width:0;width:100%}.filters{gap:10px}.filters button{flex:1}.modal-bg{padding:0;align-items:flex-end}.modal{width:100%;max-width:100%;height:calc(100% - 10px);max-height:calc(100% - 10px);border-radius:8px 8px 0 0;padding:16px 14px;display:flex;flex-direction:column}.modal h2{padding-right:28px}.modal form{display:flex;flex-direction:column;flex:1}.modal-actions{margin-top:auto;padding-top:12px}.modal-actions button{flex:1;min-height:44px}#toasts{left:12px;right:12px;bottom:12px;max-width:none}.toast{font-size:12.5px}.login-wrap{padding:16px 12px 32px;align-items:flex-start}.login-wrap .box{width:100%;max-width:100%;padding:18px 16px}.login-wrap input{min-height:44px}.login-wrap .code{font-size:22px;letter-spacing:.22em}.login-wrap button{min-height:44px}.backup-codes{font-size:12px}}@media(max-width:380px){.metrics{grid-template-columns:1fr}.pager .p-ends{display:none}.metric .mv{font-size:17px}}
