:root{--bg: #171717;--surface: #1f1f1f;--surface-raised: #262626;--surface-hover: #2c2c2c;--border: #303030;--border-strong: #3d3d3d;--text: #ececec;--text-secondary: #b4b4b4;--text-muted: #8a8a8a;--accent: #e8e8e8;--accent-text: #171717;--focus: #7aa7ff;--danger: #f0837a;--danger-border: #5d3330;--danger-surface: #2a1e1d;--ok: #7fd6a4;--ok-border: #2f4b3b;--ok-surface: #1b2621;--radius: 6px;--row-height: 44px;color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;color:var(--text)}*{box-sizing:border-box}body{margin:0;background:var(--bg);-webkit-font-smoothing:antialiased}h1{font-size:1.25rem;font-weight:600;margin:0}h2{font-size:1.05rem;font-weight:600;margin:0}p{margin:0;line-height:1.5}.muted,.hint{color:var(--text-muted)}.hint{font-size:.85rem;margin-top:.25rem}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}button{font:inherit;border-radius:var(--radius);border:1px solid transparent;padding:.45rem .85rem;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}button:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);color:var(--accent-text);font-weight:500}.btn-primary:hover:not(:disabled){background:#fff}.btn-secondary{background:var(--surface-raised);color:var(--text);border-color:var(--border-strong)}.btn-secondary:hover:not(:disabled){background:var(--surface-hover)}.btn-danger{background:var(--danger-surface);color:var(--danger);border-color:var(--danger-border);font-weight:500}.btn-danger:hover:not(:disabled){background:#332523}.btn-ghost{background:transparent;color:var(--text-secondary);padding:.3rem .5rem}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.btn-ghost-danger:hover:not(:disabled){color:var(--danger)}.link-button{background:none;border:0;color:var(--text-secondary);padding:.3rem .5rem}.link-button:hover{color:var(--text)}input,select{font:inherit;color:var(--text);background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius);padding:.45rem .6rem;width:100%}input::placeholder{color:var(--text-muted)}input:hover,select:hover{border-color:#4a4a4a}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.9rem}.field label{font-size:.82rem;font-weight:500;color:var(--text-secondary)}.field-inline{margin-bottom:0;min-width:12rem}.password-input{display:flex;gap:.4rem;align-items:center}.password-toggle{flex:none;min-width:3.5rem}.login{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1.75rem}.login .card{width:min(23rem,100%)}.login-form{display:flex;flex-direction:column}.login-form label{font-size:.82rem;font-weight:500;color:var(--text-secondary);margin-bottom:.3rem}.login-form input{margin-bottom:.9rem}.login-form input[type=password]{margin-bottom:1.8rem}.subtitle{color:var(--text-muted);margin:.2rem 0 1.5rem}.error,.form-error{color:var(--danger);font-size:.88rem;margin:0 0 .9rem}.layout{min-height:100vh}.topbar{display:flex;align-items:center;gap:1.75rem;padding:0 1.5rem;height:52px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:5}.brand{font-weight:600;letter-spacing:.01em}.topbar nav{display:flex;gap:.35rem}.topbar nav a{color:var(--text-secondary);text-decoration:none;padding:.35rem .7rem;border-radius:var(--radius)}.topbar nav a:hover{background:var(--surface-hover);color:var(--text)}.topbar nav a.active{background:var(--surface-raised);color:var(--text)}.topbar-right{margin-left:auto}.content{padding:1.75rem;max-width:76rem}.centered-note{padding:3rem;text-align:center;color:var(--text-muted)}.page{display:flex;flex-direction:column;gap:1.25rem}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.page-subtitle{color:var(--text-muted);margin-top:.3rem}.toolbar{display:flex;flex-wrap:wrap;gap:1rem;align-items:end}.notice{background:var(--ok-surface);border:1px solid var(--ok-border);color:var(--ok);border-radius:var(--radius);padding:.55rem .8rem;font-size:.9rem}.identity{margin:0 0 1.25rem}.identity dt{color:var(--text-muted);font-size:.82rem}.identity dd{margin:.2rem 0 0;font-weight:500}.identity .role{font-weight:400;color:var(--text-muted)}.data-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.data-table th,.data-table td{text-align:left;padding:0 .9rem;height:var(--row-height);border-bottom:1px solid var(--border)}.data-table thead th{background:var(--surface-raised);color:var(--text-secondary);font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;padding:0}.data-table thead th:not(:has(.sort-button)){padding:0 .9rem}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:var(--surface-hover)}.sort-button{width:100%;height:var(--row-height);padding:0 .9rem;background:none;border:0;border-radius:0;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;text-align:left;display:flex;align-items:center;gap:.35rem}.sort-button:hover{color:var(--text);background:var(--surface-hover)}.sort-indicator{color:var(--text-muted);font-size:.75rem}.cell-strong{font-weight:500}.cell-secondary{color:var(--text-muted);margin-left:.5rem}.cell-muted{color:var(--text-secondary);white-space:nowrap}.table-note{color:var(--text-muted);text-align:center;height:6rem}.row-actions{display:flex;gap:.15rem;flex-wrap:wrap}.badge{display:inline-block;font-size:.78rem;padding:.15rem .5rem;border-radius:999px;border:1px solid transparent}.badge-active{background:var(--ok-surface);border-color:var(--ok-border);color:var(--ok)}.badge-blocked{background:var(--danger-surface);border-color:var(--danger-border);color:var(--danger)}.pagination{display:flex;align-items:center;gap:1rem}.page-status{color:var(--text-muted);font-size:.88rem}.modal-backdrop{position:fixed;inset:0;background:#0009;display:grid;place-items:center;padding:1.5rem;z-index:20}.modal{width:min(26rem,100%);background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;padding:1.5rem}.modal-title{margin-bottom:1.1rem}.modal-body{margin-bottom:1.1rem;color:var(--text-secondary)}.modal-body .field label{color:var(--text-secondary)}.modal-actions{display:flex;justify-content:flex-end;gap:.6rem}.readonly-field{margin:0 0 .9rem}.readonly-field dt{font-size:.82rem;font-weight:500;color:var(--text-secondary)}.readonly-field dd{margin:.3rem 0 0;color:var(--text);font-weight:500}.checkbox-list{border:1px solid var(--border);border-radius:var(--radius);margin:0 0 .6rem;padding:.5rem .75rem .6rem;display:flex;flex-direction:column;gap:.15rem;max-height:16rem;overflow-y:auto}.checkbox-list legend{font-size:.82rem;font-weight:500;color:var(--text-secondary);padding:0 .3rem}.checkbox{display:flex;align-items:center;gap:.55rem;padding:.35rem 0;color:var(--text);cursor:pointer}.checkbox input{width:auto;margin:0;accent-color:var(--accent)}@media(max-width:720px){.content{padding:1rem}.page-header{flex-direction:column}.data-table{display:block;overflow-x:auto}}
