:root{--blue:#1d4e89;--accent:#f2a541;--background:#f5f8fb;--surface:#fff;--text:#1f2933;--soft:#52606d;--border:#d9e2ec;--error:#c62828;--ok:#2e7d32}
@media (prefers-color-scheme:dark){:root{--blue:#90b4e8;--background:#12161c;--surface:#1c222b;--text:#e8edf3;--soft:#a7b3c2;--border:#2f3a47}}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;background:var(--background);color:var(--text);line-height:1.55}
a{color:var(--blue)}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1.25rem;background:var(--surface);border-bottom:1px solid var(--border);gap:1rem;flex-wrap:wrap}
.topbar nav{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.logo{font-weight:800;text-decoration:none;font-size:1.2rem}
.inline{display:inline}
.link-button{background:none;border:0;color:var(--blue);text-decoration:underline;cursor:pointer;font:inherit;padding:0}
.button{display:inline-block;background:var(--blue);color:#fff;border:0;border-radius:999px;padding:.65em 1.3em;font:inherit;font-weight:600;text-decoration:none;cursor:pointer}
.button.secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}
.button:disabled{opacity:.5;cursor:not-allowed}
.error{color:var(--error)}
.ok{color:var(--ok)}
.impersonate-bar{background:#b71c1c;color:#fff;padding:.6rem 1.25rem;font-weight:600}
.impersonate-bar .link-button{color:#fff}
.content{padding:1.25rem}
textarea,input,select{font:inherit;padding:.65rem .75rem;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);width:100%}
.form_block{max-width:520px;margin:2rem auto;background:var(--surface);padding:1.5rem;border-radius:16px}
.form_block form{display:flex;flex-direction:column;gap:.8rem}
.form_block label{display:flex;flex-direction:column;gap:.3rem;font-weight:600}
.form_block label.checkmark{flex-direction:row;align-items:center;font-weight:400}
.form_block label.checkmark input{width:auto}
.details{display:grid;grid-template-columns:auto 1fr;gap:.3rem 1rem}
.details dt{font-weight:600}
.details dd{margin:0}
.wide{max-width:1100px;margin:0 auto}
.table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:12px;overflow:hidden}
.table th,.table td{text-align:left;padding:.6rem .8rem;border-bottom:1px solid var(--border)}
.filter{display:flex;gap:.75rem;align-items:flex-end;margin-bottom:1rem}
.filter label{display:flex;flex-direction:column}
