:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--background: #f7f8fa;--surface: #ffffff;--surface-muted: #f1f3f5;--text: #111827;--muted: #6b7280;--soft: #9ca3af;--border: #e5e7eb;--primary: #2563eb;--primary-soft: #dbeafe;--danger: #dc2626;--danger-soft: #fee2e2;--success: #16a34a;--success-soft: #dcfce7;--warning: #d97706;--warning-soft: #fef3c7;background:var(--background);color:var(--text)}:root[data-theme=dark]{color-scheme:dark;--background: #101113;--surface: #181a1d;--surface-muted: #24272b;--text: #f9fafb;--muted: #a1a1aa;--soft: #71717a;--border: #30343a;--primary: #7aa7d9;--primary-soft: #2a3038;--danger: #f87171;--danger-soft: #3c2228;--success: #4ade80;--success-soft: #173426;--warning: #fbbf24;--warning-soft: #3a2f16}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--background)}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}svg{width:20px;height:20px;stroke-width:2}h1,h2,p{margin:0}h1{font-size:clamp(1.65rem,3vw,2.15rem);letter-spacing:-.04em}h2{font-size:1.2rem}small{color:var(--muted);display:block;margin-top:4px}code{font-family:SFMono-Regular,Consolas,monospace;font-size:.78rem}.app-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:22px 16px;position:sticky;top:0;height:100vh}.brand{align-items:center;display:flex;font-size:1.25rem;font-weight:900;gap:10px;padding:4px 10px 24px}.brand svg{color:var(--primary);height:27px;width:27px}.brand small{background:var(--primary-soft);border-radius:6px;color:var(--primary);font-size:.58rem;letter-spacing:.08em;margin:0 0 0 auto;padding:4px 5px}.sidebar nav{display:grid;gap:5px}.nav-item{align-items:center;background:transparent;border:0;border-radius:12px;color:var(--muted);cursor:pointer;display:flex;font-weight:750;gap:12px;padding:11px 12px;text-align:left}.nav-item:hover{background:var(--surface-muted);color:var(--text)}.nav-item.active{background:var(--primary-soft);color:var(--primary)}.sidebar-footer{align-items:center;border-top:1px solid var(--border);display:flex;gap:6px;margin-top:auto;padding:16px 4px 0}.admin-identity{min-width:0;flex:1}.admin-identity strong,.admin-identity span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-identity strong{font-size:.84rem}.admin-identity span{color:var(--muted);font-size:.7rem;margin-top:3px}.main-content{min-width:0}.page-header{align-items:center;background:color-mix(in srgb,var(--background) 92%,transparent);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;min-height:102px;padding:24px clamp(20px,4vw,48px);position:sticky;top:0;z-index:4;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.page-header p{color:var(--muted);margin-top:6px}.page-body{display:grid;gap:18px;margin:0 auto;max-width:1440px;padding:28px clamp(20px,4vw,48px) 60px}.card{background:var(--surface);border:1px solid var(--border);border-radius:18px}.metric-grid{display:grid;gap:14px;grid-template-columns:repeat(5,minmax(150px,1fr))}.metric-card{align-items:center;display:flex;gap:14px;padding:18px}.metric-icon{align-items:center;background:var(--primary-soft);border-radius:12px;color:var(--primary);display:flex;justify-content:center;padding:10px}.metric-card span,.metric-card strong,.metric-card small{display:block}.metric-card span{color:var(--muted);font-size:.75rem;font-weight:750}.metric-card strong{font-size:1.45rem;margin-top:4px}.metric-card small{font-size:.68rem}.hero-card{align-items:center;display:flex;justify-content:space-between;min-height:190px;padding:30px}.hero-card h2{font-size:1.5rem;margin:8px 0}.hero-card p{line-height:1.6;max-width:680px}.eyebrow{color:var(--primary);font-size:.7rem;font-weight:900;letter-spacing:.1em}.security-badge{align-items:center;background:var(--primary);border-radius:50%;color:#fff;display:flex;font-size:1.4rem;font-weight:900;height:96px;justify-content:center;width:96px}.policy-card{align-items:center;display:grid;gap:18px;grid-template-columns:auto minmax(0,1fr) auto;padding:24px}.policy-icon{align-items:center;background:var(--primary-soft);border-radius:14px;color:var(--primary);display:flex;height:48px;justify-content:center;width:48px}.policy-icon svg{height:24px;width:24px}.policy-copy{display:grid;gap:7px}.policy-copy p{line-height:1.55;max-width:720px}.policy-warning{color:var(--warning);font-size:.82rem;font-weight:800}.switch-control{align-items:center;cursor:pointer;display:grid;gap:6px;justify-items:center}.switch-control input{height:1px;opacity:0;position:absolute;width:1px}.switch-track{background:var(--soft);border-radius:999px;display:block;height:30px;padding:3px;transition:background .16s ease;width:52px}.switch-thumb{background:#fff;border-radius:50%;box-shadow:0 2px 6px #00000040;display:block;height:24px;transition:transform .16s ease;width:24px}.switch-control input:checked+.switch-track{background:var(--primary)}.switch-control input:checked+.switch-track .switch-thumb{transform:translate(22px)}.switch-control input:focus-visible+.switch-track{outline:3px solid color-mix(in srgb,var(--primary) 28%,transparent);outline-offset:2px}.switch-control strong{font-size:.72rem}.switch-control:has(input:disabled){cursor:wait;opacity:.55}.table-card{overflow:hidden}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--border);padding:14px 16px;text-align:left;vertical-align:middle}th{color:var(--muted);font-size:.7rem;letter-spacing:.04em;text-transform:uppercase}td{font-size:.84rem}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:color-mix(in srgb,var(--surface-muted) 55%,transparent)}.row-actions{text-align:right;white-space:nowrap}.row-actions>*{margin-left:5px}.device-cell{align-items:center;display:flex;gap:10px;min-width:210px}.device-cell svg{color:var(--primary)}.button{align-items:center;border:1px solid transparent;border-radius:12px;cursor:pointer;display:inline-flex;font-weight:800;gap:8px;justify-content:center;min-height:44px;padding:0 16px;text-decoration:none}.button.primary{background:var(--primary);color:#fff}.button.secondary{background:var(--surface-muted);border-color:var(--border);color:var(--text)}.button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.4}.icon-button{align-items:center;background:var(--surface-muted);border:1px solid var(--border);border-radius:10px;color:var(--muted);cursor:pointer;display:inline-flex;height:38px;justify-content:center;padding:0;width:38px}.icon-button:hover{color:var(--text)}.icon-button.danger{color:var(--danger)}.icon-button svg{height:17px;width:17px}.badge{border-radius:999px;display:inline-block;font-size:.68rem;font-weight:850;padding:5px 8px;text-transform:capitalize}.badge.success{background:var(--success-soft);color:var(--success)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.warning{background:var(--warning-soft);color:var(--warning)}.badge.primary-badge{background:var(--primary-soft);color:var(--primary)}.badge.muted-badge{background:var(--surface-muted);color:var(--muted)}.field{display:grid;gap:7px}.field span{color:var(--muted);font-size:.75rem;font-weight:800}.field input,.search-box input{background:var(--surface);border:1px solid var(--border);border-radius:11px;color:var(--text);min-height:44px;outline:0;padding:0 12px}.field input:focus,.search-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.form-card{padding:20px}.form-stack{display:grid;gap:15px;margin-top:24px}.inline-form{align-items:end;display:flex;gap:12px}.grow{flex:1}.search-box{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:12px;display:flex;padding-left:11px}.search-box svg{color:var(--soft);height:17px;width:17px}.search-box input{border:0;min-width:220px}.code-reveal{align-items:center;background:var(--primary-soft);border-radius:12px;display:flex;justify-content:space-between;margin-top:16px;padding:12px 14px}.code-reveal span{color:var(--primary);display:block;font-size:.7rem;font-weight:800}.code-reveal code{display:block;font-size:1rem;font-weight:900;letter-spacing:.08em;margin-top:3px}.invitation-email-option{min-height:44px;white-space:nowrap}.invitation-code-cell{align-items:center;display:flex;gap:8px;min-width:230px}.invitation-code-cell code{font-size:.72rem;overflow-wrap:anywhere}.error-text,.error-box{color:var(--danger)}.error-box{background:var(--danger-soft);border-radius:12px;padding:13px 15px}.success-box{background:var(--success-soft);border-radius:12px;color:var(--success);display:grid;gap:14px;margin-top:22px;padding:16px}.muted{color:var(--muted)}.auth-page,.loading-screen{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:24px}.auth-page:before{background:radial-gradient(circle,color-mix(in srgb,var(--primary) 20%,transparent),transparent 65%);content:"";height:520px;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%);width:720px;z-index:-1}.auth-panel{background:var(--surface);border:1px solid var(--border);border-radius:22px;box-shadow:0 24px 80px #00000014;max-width:460px;padding:30px;text-align:center;width:100%}.auth-panel>.muted{line-height:1.55;margin-top:8px}.auth-icon{align-items:center;background:var(--primary);border-radius:18px;color:#fff;display:flex;height:62px;justify-content:center;margin:0 auto 18px;width:62px}.auth-icon svg{height:30px;width:30px}.auth-panel .field{text-align:left}.recovery-grid{background:var(--surface-muted);border-radius:12px;display:grid;gap:8px;grid-template-columns:1fr 1fr;padding:14px;text-align:left}.qr-enrollment{align-items:center;display:grid;gap:10px;justify-items:center}.qr-enrollment svg{background:#fff;border-radius:16px;height:216px;padding:10px;width:216px}.qr-enrollment p{font-size:.75rem;line-height:1.5;max-width:320px}.modal-backdrop{align-items:center;background:#0000008c;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:20}.modal{margin:0;max-height:calc(100vh - 40px);max-width:650px;overflow-y:auto;padding:22px;width:100%}.modal-header{align-items:center;display:flex;justify-content:space-between}.modal-header p{color:var(--muted);margin-top:4px}.role-dialog{display:grid;gap:20px;max-width:520px}.role-options{display:grid;gap:10px}.role-option{align-items:center;background:var(--surface-muted);border:1px solid var(--border);border-radius:14px;color:var(--text);cursor:pointer;display:flex;gap:16px;justify-content:space-between;padding:16px;text-align:left;width:100%}.role-option:hover,.role-option.active{border-color:var(--primary)}.role-option.active{background:color-mix(in srgb,var(--primary) 10%,var(--surface))}.role-option span{display:grid;gap:5px}.role-option small{color:var(--muted);line-height:1.4}.role-option svg{color:var(--primary);flex:0 0 auto;height:20px;width:20px}.form-grid{display:grid;gap:14px;grid-template-columns:1fr 1fr}.checkbox-field{align-items:center;display:flex;gap:8px}@media(max-width:1080px){.metric-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.app-shell{display:block;padding-bottom:76px}.sidebar{border:0;border-top:1px solid var(--border);display:block;height:70px;inset:auto 0 0;padding:8px;position:fixed;z-index:10}.brand,.sidebar-footer{display:none}.sidebar nav{display:grid;grid-template-columns:repeat(6,1fr)}.nav-item{align-items:center;font-size:.58rem;gap:2px;justify-content:center;padding:6px 2px}.nav-item span{display:block}.nav-item{flex-direction:column}.nav-item svg{height:19px;width:19px}.page-header{align-items:flex-start;min-height:auto;padding:18px 20px;position:static}.page-header p{font-size:.8rem}.page-header .search-box{margin-left:12px}.search-box input{min-width:90px;width:120px}.page-body{padding:18px 14px 40px}.metric-grid{grid-template-columns:1fr 1fr}.metric-card{padding:14px}.hero-card{align-items:flex-start}.security-badge{display:none}.policy-card{grid-template-columns:auto minmax(0,1fr)}.switch-control{grid-column:1 / -1;grid-template-columns:auto auto;justify-items:start}.inline-form{align-items:stretch;flex-direction:column}.form-grid{grid-template-columns:1fr}}
