:root{--accent:#1f5fbf;--accent-ink:#fff;--ink:#111418;--ink-soft:#4a525c;--line:#d5dae0;--surface:#fff;--page:#f4f6f8;--danger:#a3171f;--danger-soft:#fdecec;--ok:#1e6b35;--ok-soft:#e8f5ec;--warn:#7a4b00;--warn-soft:#fff4dc;--radius:8px;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);color:var(--ink);background:var(--page);font-size:17px;line-height:1.5}a{color:var(--accent)}h1{margin:0 0 .5rem;font-size:1.6rem}h2{margin:1.5rem 0 .5rem;font-size:1.2rem}p.lead{color:var(--ink-soft);margin-top:0}.env-banner{background:var(--warn-soft);color:var(--warn);text-align:center;border-bottom:2px solid var(--warn);padding:4px;font-weight:700}.shell{min-height:100vh;display:flex}.nav{background:var(--surface);border-right:1px solid var(--line);flex-shrink:0;width:220px;padding:16px 12px}.nav .brand{margin:0 8px 16px;font-size:1.2rem;font-weight:800}.nav a{border-radius:var(--radius);color:var(--ink);padding:10px 12px;font-weight:600;text-decoration:none;display:block}.nav a:hover,.nav a[aria-current=page]{background:var(--page)}.nav a[aria-current=page]{box-shadow:inset 4px 0 0 var(--accent)}.nav .who{color:var(--ink-soft);border-top:1px solid var(--line);margin-top:24px;padding:8px 12px;font-size:.9rem}.main{flex:1;min-width:0;max-width:1100px;padding:24px}@media (max-width:760px){.shell{flex-direction:column}.nav{border-right:0;border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;width:100%;padding:8px 16px;display:flex}.nav .brand{width:100%;margin:4px 0}.nav a{padding:8px 10px}.nav .who{width:100%;margin-top:4px}.main{padding:16px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px;padding:16px}.grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}label{margin:12px 0 4px;font-weight:600;display:block}input[type=text],input[type=email],input[type=password],select,textarea{width:100%;max-width:480px;font:inherit;border-radius:var(--radius);color:var(--ink);background:#fff;border:1px solid #8a939d;padding:10px 12px}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.check{align-items:flex-start;gap:8px;margin:6px 0;font-weight:400;display:flex}.check input{flex-shrink:0;width:18px;height:18px;margin-top:5px}fieldset{border:1px solid var(--line);border-radius:var(--radius);margin:12px 0;padding:8px 12px}legend{font-weight:700}.hint{color:var(--ink-soft);margin:2px 0 0;font-size:.9rem}button,.button{font:inherit;border-radius:var(--radius);border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);cursor:pointer;padding:10px 18px;font-weight:700;text-decoration:none;display:inline-block}button.secondary{color:var(--accent);background:#fff}button.danger{color:var(--danger);border-color:var(--danger);background:#fff}button[disabled]{opacity:.6;cursor:wait}.actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}.message{border-radius:var(--radius);margin:12px 0;padding:10px 14px;font-weight:600}.message.error{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger)}.message.ok{background:var(--ok-soft);color:var(--ok);border:1px solid var(--ok)}.status{border:1px solid;border-radius:999px;padding:2px 8px;font-size:.85rem;font-weight:700;display:inline-block}.status.notset{color:var(--warn);background:var(--warn-soft)}.status.off{color:var(--ink-soft)}.status.on{color:var(--ok);background:var(--ok-soft)}table{border-collapse:collapse;background:var(--surface);width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px}th{color:var(--ink-soft);font-size:.9rem}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}.empty{text-align:center;color:var(--ink-soft);padding:24px}details>summary{cursor:pointer;color:var(--accent);font-weight:600}
