:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color-scheme:light dark;color:#1f2328;background:#f6f8fa;--border: #d0d7de;--card: #fff;--accent: #e8590c}@media(prefers-color-scheme:dark){:root{color:#e6edf3;background:#0d1117;--border: #30363d;--card: #161b22}}body{margin:0}.app{max-width:960px;margin:24px auto;padding:0 24px}h1{margin:0 0 8px}h2{margin:0 0 16px}.muted{opacity:.7}.err{color:#cf222e;margin:8px 0}button{font:inherit;padding:6px 12px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:inherit;cursor:pointer}button:hover{border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}button.active{border-color:var(--accent);color:var(--accent)}button.danger:hover{border-color:#cf222e;color:#cf222e}input{font:inherit;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:inherit}.topbar{display:flex;align-items:center;gap:12px;padding:10px 24px;border-bottom:1px solid var(--border);background:var(--card)}.topbar nav{display:flex;gap:6px;margin-left:12px}.topbar .spacer{flex:1}.login{min-height:100vh;display:grid;place-items:center;padding:24px;box-sizing:border-box}.login .card{display:flex;flex-direction:column;gap:12px;width:min(340px,100%);padding:28px;border:1px solid var(--border);border-radius:12px;background:var(--card)}.login .card img{align-self:center;border-radius:14px}.login h1{text-align:center}.login label{display:flex;flex-direction:column;gap:4px;font-size:.9rem}.login button[type=submit]{margin-top:8px;background:var(--accent);color:#fff;border-color:var(--accent)}table.users{width:100%;border-collapse:collapse;margin-bottom:16px}table.users th,table.users td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}table.users tr.inactive td{opacity:.5}table.users code{font-size:1rem;-webkit-user-select:all;user-select:all}.actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.row{display:flex;gap:8px;flex-wrap:wrap}.impersonation{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 24px;background:#fff3cd;color:#5c4400;font-size:.95rem}@media(prefers-color-scheme:dark){.impersonation{background:#3d3000;color:#ffe08a}}table.clients{width:100%;border-collapse:collapse}table.clients th,table.clients td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}table.clients a{color:var(--accent);text-decoration:none}table.clients a:hover{text-decoration:underline}
