:root{--bg: #171717;--surface: #1c1c1c;--surface-2: #232323;--surface-3: #2a2a2a;--line: #2e2e2e;--line-strong: #3e3e3e;--ink: #ededed;--slate: #b4b4b4;--steel: #898989;--accent: #3ecf8e;--accent-2: #34b27b;--accent-subtle: rgb(62 207 142 / .12);--accent-border: rgb(62 207 142 / .4);--ok: #3ecf8e;--ok-bg: rgb(62 207 142 / .12);--warn: #f5a623;--warn-bg: rgb(245 166 35 / .12);--danger: #f47067;--danger-bg: rgb(244 112 103 / .12);--radius: 6px;--gap: 14px;--ease: cubic-bezier(.22, 1, .36, 1);--shadow-card: none;--inset: none}*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;font-family:IBM Plex Sans,system-ui,sans-serif;font-size:13px;line-height:1.5;color:var(--slate);background:var(--bg);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}h1,h2,h3{color:var(--ink);margin:0 0 14px;letter-spacing:-.01em;line-height:1.2}h1{font-size:20px;font-weight:500}h2{font-size:14px;font-weight:500;margin-top:28px}a{color:inherit}small,.muted{color:var(--steel)}::selection{background:#3ecf8e40}.wordmark{font-family:Archivo,IBM Plex Sans,sans-serif;font-weight:700;font-stretch:expanded;letter-spacing:.08em;color:var(--ink);display:inline-flex;align-items:center;gap:8px}.wordmark:before{content:"";width:8px;height:16px;background:var(--accent);display:inline-block;transform:skew(-12deg);border-radius:1px}input,select,button{font:inherit;font-size:13px;color:var(--ink);background:var(--surface);padding:9px 12px;border-radius:var(--radius);border:1px solid var(--line-strong);transition:border-color .14s var(--ease),background-color .14s var(--ease)}input::placeholder{color:var(--steel)}input:hover,select:hover{border-color:var(--steel)}input:focus-visible,select:focus-visible{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px;box-shadow:none}:is(button,a):focus-visible{outline:2px solid var(--accent);outline-offset:1px}button{cursor:pointer;font-weight:500;background:var(--surface-2);display:inline-flex;align-items:center;justify-content:center;gap:6px}button svg{flex:none;opacity:.85}button:hover{background:var(--surface-3);border-color:var(--line-strong)}button.primary{background:var(--accent);border-color:var(--accent);color:#072a1c;font-weight:600}button.primary:hover{background:var(--accent-2);border-color:var(--accent-2)}button:disabled{opacity:.45;cursor:not-allowed}button.danger-ghost{color:var(--danger);background:transparent;border-color:transparent;padding:4px 8px;font-size:12px}button.danger-ghost:hover{background:var(--danger-bg)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}table{border-collapse:separate;border-spacing:0;width:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;font-size:13px}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line)}tbody tr:last-child td{border-bottom:none}th{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--slate);background:var(--surface-2);position:sticky;top:0}tbody tr{transition:background-color .12s var(--ease)}tbody tr:hover td{background:var(--surface-2)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:500;padding:2px 8px;border-radius:999px;white-space:nowrap;border:1px solid transparent}.badge:before{content:"";width:5px;height:5px;border-radius:999px;background:currentColor;flex:none}.badge.st{min-width:116px;justify-content:center;padding-left:10px;padding-right:10px}.badge.kd{min-width:74px;justify-content:center}.badge.ok{color:var(--ok);background:var(--ok-bg);border-color:#3ecf8e4d}.badge.warn{color:var(--warn);background:var(--warn-bg);border-color:#f5a6234d}.badge.danger{color:var(--danger);background:var(--danger-bg);border-color:#f470674d}.page-sub{color:var(--steel);margin:-8px 0 20px;font-size:13px;max-width:62ch}.empty{text-align:center;padding:32px 16px;font-size:13px;color:var(--steel);background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--radius)}.empty a{color:var(--accent);font-weight:500}.msg-err,.msg-ok{padding:9px 12px;border-radius:var(--radius);font-weight:500;border:1px solid transparent;font-size:13px}.msg-err{color:var(--danger);background:var(--danger-bg);border-color:#f470674d}.msg-ok{color:var(--ok);background:var(--ok-bg);border-color:#3ecf8e4d}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:16px 18px;align-items:end;padding:20px;margin-bottom:var(--gap)}.form-grid>.btn-row,.filters>.fbtns,.logfilter>.lfbtn{display:flex;align-items:center;gap:10px;white-space:nowrap}.form-grid>.btn-row button,.filters .fbtns button,.logfilter .lfbtn button{padding-left:14px;padding-right:14px}.field{display:grid;gap:7px;min-width:0}.field>span{font-size:11px;font-weight:500;color:var(--steel);text-transform:uppercase;letter-spacing:.04em}.field input,.field select{width:100%}.table-wrap{overflow-x:auto}.table-wrap table{min-width:560px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}@media(max-width:520px){.form-grid{grid-template-columns:1fr 1fr}.form-grid button{grid-column:1 / -1}input,select,button{padding:10px 12px}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(pointer:coarse){input,select,button{min-height:48px;padding:12px 14px;font-size:16px}button.danger-ghost,.ghost{min-height:44px;padding:10px 12px;font-size:14px}.actions{display:flex;gap:10px;justify-content:flex-end;align-items:center}}@media(max-width:720px){.badge.st,.badge.kd{min-width:0}.field>span,th{font-size:12px}.filters,.logfilter,.form-grid{grid-template-columns:1fr}}
