:root{--paper:#f5f7f5;--surface:#fff;--surface-2:#eef2ef;--ink:#152420;--ink-dim:#5b6960;--line:#dce3de;--accent:#1f6f55;--accent-ink:#fff;--good:#1f6f55;--warn:#9a5b00;--warn-bg:#fff4e0;--critical:#a3261f;--critical-bg:#fdeceb;--info:#1d5fa8;--info-bg:#e8f1fb}@media (prefers-color-scheme:dark){:root{--paper:#101916;--surface:#17221e;--surface-2:#1e2b26;--ink:#e8efeb;--ink-dim:#9fb0a6;--line:#2b3a34;--accent:#4bb892;--accent-ink:#08130f;--good:#4bb892;--warn:#f0b25b;--warn-bg:#33270f;--critical:#f08a82;--critical-bg:#381614;--info:#7db3ee;--info-bg:#14263a}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--paper);color:var(--ink);font:14px/1.45 IBM Plex Sans,system-ui,-apple-system,Segoe UI,sans-serif}h1,h2,h3{margin:0 0 6px;font-family:Fraunces,Georgia,serif;font-weight:600}a{color:var(--accent)}.page{max-width:1100px;margin:0 auto;padding:24px 16px 56px}.page.narrow{max-width:420px;padding-top:64px}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px}.sub{color:var(--ink-dim);margin:0 0 16px}.field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.field>label,.label{color:var(--ink-dim);font-size:12px;font-weight:600}input[type=text],input[type=email],input[type=password],select,textarea{border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;border-radius:8px;width:100%;padding:9px 10px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--accent)}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn-danger{color:var(--critical)}.btn-small{padding:5px 10px;font-size:12.5px}.btn-block{width:100%}.error{background:var(--critical-bg);color:var(--critical);border-radius:8px;margin-bottom:12px;padding:9px 12px}.notice{background:var(--info-bg);color:var(--info);border-radius:8px;margin-bottom:12px;padding:9px 12px}.secret{background:var(--warn-bg);border:1px solid var(--warn);border-radius:10px;margin-bottom:16px;padding:12px 14px}.secret code{background:var(--surface);-webkit-user-select:all;user-select:all;border-radius:6px;padding:2px 8px;font:600 15px IBM Plex Mono,ui-monospace,monospace}.topbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;display:flex}.topbar .grow{flex:1}table.grid{border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:12px;width:100%;overflow:hidden}table.grid th{text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-dim);background:var(--surface-2);padding:9px 12px;font-size:11px}table.grid td{border-top:1px solid var(--line);vertical-align:top;padding:10px 12px}.muted{color:var(--ink-dim);font-size:12.5px}.chip{background:var(--surface-2);border-radius:999px;padding:2px 8px;font-size:11.5px;font-weight:600;display:inline-block}.chip.good{background:color-mix(in srgb, var(--good) 15%, transparent);color:var(--good)}.chip.warn{background:var(--warn-bg);color:var(--warn)}.chip.off{background:var(--critical-bg);color:var(--critical)}.row-actions{flex-wrap:wrap;gap:6px;display:flex}.overlay{z-index:10;background:#00000073;justify-content:center;align-items:flex-start;padding:32px 12px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border:1px solid var(--line);border-radius:14px;width:100%;max-width:640px;padding:22px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}fieldset.box{border:1px solid var(--line);border-radius:10px;margin:0 0 14px;padding:12px 14px}fieldset.box legend{color:var(--ink-dim);padding:0 6px;font-size:12px;font-weight:700}.choices{flex-direction:column;gap:6px;display:flex}.choices label,.check{color:var(--ink);align-items:center;gap:8px;font-size:14px;font-weight:400;display:flex}.choices input,.check input{width:auto}.svc-group{border-top:1px dashed var(--line);margin-top:8px;padding-top:8px}.svc-group .items{flex-wrap:wrap;gap:4px 16px;margin:6px 0 0 24px;display:flex}.presets{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}@media (max-width:640px){.grid-2{grid-template-columns:1fr!important}}.grid-2{grid-template-columns:1fr 1fr;gap:0 12px;display:grid}
