:root{--bg: #f4f6fa;--surface: #ffffff;--surface-2: #eef1f7;--text: #14213d;--muted: #5b6784;--border: #d9dfeb;--brand: #0f2854;--brand-contrast: #ffffff;--accent: #1f7a5a;--ok: #1f7a5a;--ok-bg: #e1f4ec;--warn: #9a5b00;--warn-bg: #fff1d6;--bad: #b3261e;--bad-bg: #fde4e1;--info: #1c4fa3;--info-bg: #e3ecfb;--radius: 12px;--shadow: 0 1px 2px rgb(15 40 84 / .06), 0 4px 16px rgb(15 40 84 / .05);--sidebar: 15rem}@media (prefers-color-scheme: dark){:root{--bg: #0b1220;--surface: #131c2f;--surface-2: #1a2540;--text: #e8ecf6;--muted: #9aa6c2;--border: #26324f;--brand: #4f7ddb;--brand-contrast: #0b1220;--accent: #4fd1a1;--ok: #5fd7a8;--ok-bg: #123a2c;--warn: #f2b660;--warn-bg: #3a2a0c;--bad: #ff8f86;--bad-bg: #431a17;--info: #8db4ff;--info-bg: #14264a;--shadow: none}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1{font-size:1.4rem;margin:0}h2{font-size:1.05rem;margin:0}a{color:var(--info)}code{font-size:.85em}.muted{color:var(--muted)}.small{font-size:.85rem}.num{text-align:right;font-variant-numeric:tabular-nums}.center{display:grid;place-items:center;min-height:40vh}.btn{min-height:2.5rem;padding:0 1rem;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-weight:600;cursor:pointer}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible,.input:focus-visible,a:focus-visible,summary:focus-visible,.menu-btn:focus-visible{outline:3px solid var(--info);outline-offset:2px}.btn-primary{background:var(--brand);color:var(--brand-contrast);border-color:transparent}.btn-primary:hover:not(:disabled){filter:brightness(1.12);background:var(--brand)}.btn-danger{background:var(--bad-bg);color:var(--bad);border-color:transparent}.btn-ghost{background:transparent;border-color:transparent;color:var(--info)}.btn-block{width:100%;margin-top:.5rem}.field{display:grid;gap:.25rem;margin-bottom:.9rem}.field label{font-size:.85rem;font-weight:600}.field-help{color:var(--muted);font-size:.8rem;margin:0}.field-error{color:var(--bad);font-size:.85rem;margin:0}.input{width:100%;min-height:2.5rem;padding:0 .7rem;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit}.input[aria-invalid=true]{border-color:var(--bad)}.input:disabled{background:var(--surface-2);color:var(--muted)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.toolbar{display:flex;gap:1rem;align-items:end;justify-content:space-between;flex-wrap:wrap;margin-bottom:1rem}.toolbar .input[type=search]{max-width:24rem}.toolbar .field{margin:0}.alert{padding:.7rem .9rem;border-radius:10px;margin:0 0 1rem}.alert ul{margin:.3rem 0 0;padding-left:1.2rem}.alert-bad{background:var(--bad-bg);color:var(--bad)}.alert-ok{background:var(--ok-bg);color:var(--ok)}.alert-info{background:var(--info-bg);color:var(--info)}.badge{display:inline-flex;padding:.1rem .6rem;border-radius:999px;font-size:.78rem;font-weight:700;background:var(--surface-2);color:var(--muted)}.badge-ok{background:var(--ok-bg);color:var(--ok)}.badge-warn{background:var(--warn-bg);color:var(--warn)}.badge-bad{background:var(--bad-bg);color:var(--bad)}.badge-info{background:var(--info-bg);color:var(--info)}.toasts{pointer-events:none;position:fixed;right:1rem;bottom:1rem;display:grid;gap:.5rem;z-index:50;max-width:calc(100% - 2rem)}.toast{padding:.7rem 1rem;border-radius:10px;color:#fff;box-shadow:0 6px 24px #00000040}.toast-ok{background:var(--ok)}.toast-bad{background:var(--bad)}@media (prefers-color-scheme: dark){.toast-ok,.toast-bad{color:#0b1220}}.empty{text-align:center;padding:2rem 1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow);margin-bottom:1rem}.card-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:0 1rem}.page-head{display:flex;justify-content:space-between;align-items:start;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.page-head p{margin:.25rem 0 0;max-width:46rem}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{text-align:left;padding:.55rem .6rem;border-top:1px solid var(--border);vertical-align:middle}th.num,td.num{text-align:right}thead th{border-top:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}tfoot th{border-top:2px solid var(--border);font-size:.92rem;text-transform:none;color:var(--text)}tbody tr:hover{background:var(--surface-2)}.roles-help{margin-top:1rem}.roles-help summary{cursor:pointer;color:var(--info)}.roles-help dl{display:grid;gap:.4rem;margin:.6rem 0 0}.roles-help dt{font-weight:700}.roles-help dd{margin:0;color:var(--muted)}.modal{border:0;border-radius:var(--radius);padding:0;width:min(34rem,calc(100% - 2rem));background:var(--surface);color:var(--text);box-shadow:0 20px 60px #00000059}.modal::backdrop{background:#080e1c8c}.modal-body{padding:1.2rem 1.2rem .4rem}.modal-body h2{margin-bottom:1rem}.modal-foot{display:flex;justify-content:flex-end;gap:.6rem;padding:.8rem 1.2rem 1.2rem}.auth-page{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:linear-gradient(160deg,var(--brand),#0b1b3d)}.auth-card{width:min(26rem,100%);background:var(--surface);border-radius:16px;padding:2rem 1.6rem;box-shadow:0 20px 60px #0000004d}.auth-card h1{text-align:center}.auth-org{text-align:center;margin:.2rem 0 1.4rem;font-weight:600;min-height:1.4em}.auth-foot{text-align:center;margin:1.2rem 0 0}.brand-mark{display:grid;place-items:center;width:3rem;height:3rem;margin:0 auto .8rem;border-radius:50%;background:var(--brand);color:var(--brand-contrast);font-weight:800;font-size:1.3rem}.brand-mark.small{width:1.8rem;height:1.8rem;margin:0;font-size:.95rem}.shell{display:grid;grid-template-columns:var(--sidebar) 1fr;grid-template-rows:auto 1fr;min-height:100vh}.topbar{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 1rem;background:var(--brand);color:var(--brand-contrast);position:sticky;top:0;z-index:20}.topbar .btn-ghost{color:inherit;border-color:#ffffff59}.brand{display:flex;align-items:center;gap:.6rem}.brand .org{opacity:.8;font-weight:400}.brand .brand-mark.small{background:#ffffff2e;color:inherit}.who{display:flex;align-items:center;gap:1rem;text-align:right}.who small{opacity:.8}.who-link{color:inherit;text-decoration:none}.who-link:hover strong{text-decoration:underline}.profile{display:grid;gap:.8rem;margin:0}.profile dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.profile dd{margin:.1rem 0 0}.menu-btn{display:none;background:transparent;color:inherit;border:1px solid rgb(255 255 255 / .35);border-radius:8px;font-size:1.2rem;min-width:2.5rem;min-height:2.5rem;cursor:pointer}.sidebar{display:flex;flex-direction:column;gap:.15rem;padding:1rem .6rem;border-right:1px solid var(--border);background:var(--surface)}.sidebar a{padding:.55rem .8rem;border-radius:10px;color:var(--text);text-decoration:none;font-weight:500}.sidebar a:hover{background:var(--surface-2)}.sidebar a.active{background:var(--info-bg);color:var(--info);font-weight:700}.content{padding:1.5rem;max-width:72rem;width:100%;min-width:0}.shell>*{min-width:0}@media (max-width: 800px){.shell{grid-template-columns:1fr}.menu-btn{display:block}.who-link,.brand .org{display:none}.sidebar{display:none;border-right:0;border-bottom:1px solid var(--border)}.sidebar.open{display:flex}.grid2{grid-template-columns:1fr}.content{padding:1rem}}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
