:root{--accent:#1c5d99;--accent-contrast:#ffffff;--accent-soft:#eaf1f8;--text:#16191d;--muted:#5b6470;--surface:#ffffff;--surface-alt:#f6f7f9;--border:#d3d8de;--danger:#a3282f;--success:#1d6b45;--radius:8px;color-scheme:light}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.55;color:var(--text);background:var(--surface-alt)}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--text);outline-offset:2px;border-radius:4px}.sr-only{width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip,.sr-only{position:absolute}.skip{left:8px;top:-60px;padding:10px 14px;background:var(--text);color:#fff;border-radius:var(--radius);text-decoration:none;z-index:10;transition:top .15s}.skip:focus{top:8px}.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.side{background:var(--surface);border-right:1px solid var(--border);padding:20px 16px;display:flex;flex-direction:column;gap:20px}.brand{font-weight:700;font-size:1.05rem;margin:0}.brand small{display:block;font-weight:400;font-size:.8rem;color:var(--muted)}.nav{display:grid;grid-gap:2px;gap:2px}.nav a{display:block;padding:10px 12px;min-height:44px;color:inherit;text-decoration:none;border-radius:var(--radius);display:flex;align-items:center}.nav a:hover{background:var(--surface-alt)}.nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:600;box-shadow:inset 3px 0 0 var(--accent)}.main{padding:28px 32px 64px;max-width:900px}h1{font-size:1.5rem;margin:0 0 4px}h2{font-size:1.1rem;margin:28px 0 10px}.lead{color:var(--muted);margin:0 0 24px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.card,.row{margin-bottom:14px}.row{display:grid;grid-gap:4px;gap:4px}.row label{font-size:.875rem;font-weight:600}.row .help{font-size:.8rem;color:var(--muted)}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:14px;gap:14px}input,select,textarea{width:100%;min-height:44px;padding:10px 12px;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}textarea{min-height:88px;resize:vertical}input[aria-invalid=true]{border-color:var(--danger);border-width:2px}input[type=checkbox]{width:auto;min-height:auto}button{font:inherit;min-height:44px;padding:10px 16px;border-radius:var(--radius);cursor:pointer;border:1px solid var(--border);background:var(--surface);color:inherit}button:hover:not(:disabled){background:var(--surface-alt)}button:disabled{opacity:.6;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);font-weight:600}button.primary:hover:not(:disabled){background:#17507f}button.danger{color:var(--danger);border-color:var(--danger)}button.link{border:0;background:none;padding:4px 0;min-height:24px;text-decoration:underline;color:var(--accent)}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:top}th{font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}tbody tr:last-child td{border-bottom:0}.tag{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem;border:1px solid}.tag--ok{color:var(--success)}.tag--ok,.tag--wait{border-color:currentColor}.tag--wait{color:var(--muted)}.tag--off{color:var(--danger);border-color:currentColor}.notice{padding:12px 14px;border-radius:var(--radius);border:1px solid;margin-bottom:14px}.notice--error{color:var(--danger)}.notice--ok{color:var(--success)}.empty{color:var(--muted)}code,pre{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.85rem}pre{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);padding:14px;overflow-x:auto;margin:0}@media (max-width:780px){.shell{grid-template-columns:1fr}.side{border-right:0;border-bottom:1px solid var(--border)}.nav{grid-auto-flow:column;overflow-x:auto}.main{padding:20px 16px 48px}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important}}