.users{width:100%;border-collapse:collapse;font-size:14px}.users td,.users th{padding:10px 16px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}.users thead th{background:var(--head);font-size:12px;font-weight:500;color:var(--muted)}.users tbody tr:last-child td{border-bottom:0}.users tbody tr:hover td{background:var(--bg)}.users tbody tr.selected td{background:#f2f6fe}.users__person{display:flex;align-items:center;gap:10px}.users__name{font-weight:500}.users__meta{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--faint)}.users__actions{text-align:right}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px 2px 6px;border-radius:999px;font-size:12px;font-weight:500;background:var(--surface);border:1px solid var(--soft-line);color:#185fa5}.badge--ADMIN{background:var(--soft);border-color:transparent;color:var(--ink)}.badge--ACTIVE{background:#e6f4ee;border-color:transparent;color:#17734c}.badge--PENDING{background:var(--soft);border-color:transparent;color:var(--ink)}.badge--SUSPENDED{background:#fdf3e1;border-color:transparent;color:#8a5a12}.badge--DISABLED{background:#fef2f3;border-color:transparent;color:var(--danger-text)}.badge--DELETED{background:#f1f1f3;border-color:transparent;color:var(--muted)}.act{width:32px;height:32px;border-radius:8px;background:var(--surface);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.act--edit{border:1px solid #b9cef5;color:var(--accent)}.act--del{border:1px solid #f5b4ba;color:var(--danger)}.act:disabled{opacity:.4;cursor:not-allowed}.confirm-inline{display:inline-flex;align-items:center;gap:6px}.empty,.table-footer{padding:24px 16px;text-align:center;font-size:14px;color:var(--muted)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;background:#0f172a52;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;justify-content:center;align-items:flex-start;padding:96px 16px 32px;overflow-y:auto}.modal{position:relative;width:100%;max-width:640px;background:var(--surface);border-radius:16px;box-shadow:0 30px 60px -20px #0f172a73;overflow:hidden;animation:pop .18s ease-out}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.modal{animation:none}}.modal__head{padding:18px 20px 18px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.modal__head h2{font-size:17px;font-weight:600;letter-spacing:-.015em}.modal__body{padding:24px;display:flex;flex-direction:column;gap:18px}.modal__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.modal__foot{padding:14px 20px;background:var(--head);border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}.iconbtn{width:32px;height:32px;border:0;background:transparent;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);cursor:pointer}.role-option{padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);text-align:left;display:flex;gap:12px;align-items:flex-start}.role-option[aria-pressed=true]{border:1.5px solid var(--accent);background:#f5f8fe}.role-option:disabled{cursor:not-allowed}.role-option__title{font-size:14px;font-weight:500;color:var(--text)}.people{display:flex;flex-wrap:wrap;gap:6px}.people span{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#f1f5f9;font-size:13px}@media (max-width: 640px){.stats,.modal__grid{grid-template-columns:minmax(0,1fr)}.stats>div+div{border-left:0;border-top:1px solid var(--line)}}.page{position:relative;min-height:100vh}.page__band{position:absolute;top:0;left:0;right:0;height:280px;background-color:#eaf0fc;background-image:radial-gradient(#d3dff7 1px,transparent 1.2px);background-size:18px 18px;border-bottom:1px solid #dfe7f8}.page__content{position:relative}.topbar,.main{max-width:1120px;margin:0 auto;padding-left:16px;padding-right:16px}.topbar{height:60px;display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar__user{display:flex;align-items:center;gap:12px}.link{border:0;background:none;padding:0;font-size:13px;color:#3a5ba8;cursor:pointer;min-height:44px}.main{padding-top:36px;padding-bottom:64px;display:flex;flex-direction:column;gap:20px}.title{display:flex;align-items:center;gap:14px}.title__icon{width:44px;height:44px;border-radius:12px;background:var(--surface);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 1px 2px #1d3f8a14}.title h1{font-size:24px;font-weight:600;letter-spacing:-.025em}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 1px 2px #0f172a0a}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.stats>div{padding:14px 18px;display:flex;align-items:baseline;justify-content:space-between;gap:12px}.stats>div+div{border-left:1px solid var(--line)}.stats__value{font-size:22px;font-weight:600;letter-spacing:-.02em}.table-panel{overflow:hidden}.toolbar{min-height:58px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.toolbar__left{display:flex;align-items:center;gap:8px;flex:1 1 360px;flex-wrap:wrap}.search{position:relative;display:flex;align-items:center;flex:0 1 280px;min-width:200px}.search svg{position:absolute;left:10px;color:var(--muted)}.search input{height:34px;padding:0 10px 0 32px;border:1px solid var(--border);background:var(--surface);border-radius:8px;font-size:13px;color:var(--text);width:100%}.chip{height:32px;padding:0 12px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--muted)}.chip:hover{border-color:#bfd0f3;color:var(--ink)}.chip[aria-pressed=true],.chip[aria-expanded=true]{border-color:#9db8ee;background:var(--soft);color:var(--ink);font-weight:500}.chip--square{border-radius:8px;height:34px}.count{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--accent);color:#fff;font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.btn-soft{height:34px;padding:0 12px 0 10px;border:1px solid #dce4f4;border-radius:9px;background:var(--surface);color:var(--text);display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:500;cursor:pointer;box-shadow:0 1px 2px #1d3f8a14}.btn-soft svg{color:var(--accent)}.pill{height:34px;padding:0 12px;border-radius:8px;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;cursor:pointer;background:var(--surface)}.pill--edit{border:1px solid #b9cef5;color:var(--accent)}.pill--del{border:1px solid #f5b4ba;color:var(--danger)}.pill:disabled{opacity:.5;cursor:not-allowed}.filters{padding:14px 16px;background:#fafbfd;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px 24px;flex-wrap:wrap}.filters__group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.filters__label{font-size:12px;color:var(--muted);margin-right:2px}:root{--font: "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;--bg: #f8fafc;--surface: #ffffff;--text: #1e3a8a;--muted: #3f5a93;--faint: #5e739c;--border: #e5e7eb;--line: #eef1f5;--head: #fafbfc;--accent: #2b64d8;--soft: #eef3fd;--soft-line: #b5d4f4;--ink: #1d3f8a;--danger: #dc2626;--danger-text: #b42318;--radius: 12px}*{box-sizing:border-box}body{margin:0;background-color:var(--bg);background-image:radial-gradient(ellipse 60% 55% at 50% 45%,var(--bg) 35%,transparent 100%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Cg fill='%232B64D8'%3E%3Crect x='20' y='20' width='7' height='7' rx='2' fill-opacity='.06'/%3E%3Crect x='29' y='20' width='7' height='7' rx='2' fill-opacity='.14'/%3E%3Crect x='20' y='29' width='7' height='7' rx='2' fill-opacity='.06'/%3E%3Crect x='29' y='29' width='7' height='7' rx='2' fill-opacity='.06'/%3E%3C/g%3E%3C/svg%3E");background-attachment:fixed;color:var(--text);font-family:var(--font);font-size:14px}input,select,button{font:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,p{margin:0}input::placeholder{color:#94a3b8}input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--accent);cursor:pointer}.btn{height:38px;padding:0 16px;border:0;border-radius:10px;background:var(--accent);color:#fff;font-size:14px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--ghost{background:var(--surface);color:var(--text);border:1px solid var(--border);font-weight:400}.btn--danger{background:var(--danger)}.btn--small{height:32px;padding:0 12px;border-radius:8px;font-size:13px}.field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:var(--muted)}.field input,.field select{height:40px;padding:0 12px;border:1px solid var(--border);background:var(--surface);border-radius:8px;font-size:14px;font-weight:400;color:var(--text);width:100%}.field input:focus{border-color:#93b1ec}.field input[readonly],.field input:disabled,.field select:disabled{background:var(--bg);color:var(--faint)}.hint{font-size:13px;color:var(--muted)}.error{font-size:13px;color:var(--danger-text)}.brand{display:flex;align-items:center;gap:10px}.brand__name{font-size:15px;font-weight:600;letter-spacing:-.02em}.brand__sep{color:#9bb0da}.brand__area{font-size:14px;color:#3a5ba8}.initials{width:32px;height:32px;border-radius:999px;background:var(--surface);border:1px solid var(--soft-line);color:#185fa5;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex:none}.initials--admin{background:var(--soft);border-color:transparent;color:var(--ink)}.login{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:48px 16px}.login__card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;gap:20px;box-shadow:0 1px 2px #0f172a0a}.login__card h1{font-size:20px;font-weight:600;letter-spacing:-.02em}.login__card form{display:flex;flex-direction:column;gap:14px}.notice{background:var(--soft);color:var(--ink);border-radius:8px;padding:10px 12px;font-size:13px}.rules{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;font-size:12px;color:var(--muted)}.rules li:before{content:"○ "}.rules__ok{color:var(--ink)}.rules__ok:before{content:"✓ "}
