body[data-access]:not([data-access=granted]) .app-nav,body[data-access]:not([data-access=granted]) .app-shell{display:none!important}
.access-screen{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at top,#e9efff 0,transparent 60%),#f6f8fc;color:#12243a;width:100%}
.access-screen[hidden]{display:none}.access-card{width:min(100%,460px);background:#fff;border:1px solid #dfe6f1;border-radius:24px;padding:36px;box-shadow:0 20px 70px #2440780c}
.access-brand{font-size:26px;font-weight:800;letter-spacing:-1px;color:#2463ff;margin-bottom:32px}.access-card h1{font-size:30px;letter-spacing:-1px;line-height:1.2;margin:0 0 16px}.access-card p{font-size:15px;line-height:1.8;color:#617086}.access-card a.primary{display:flex;align-items:center;justify-content:center;text-decoration:none;min-height:48px}
.access-card input{width:100%;min-height:48px;font-size:15px}.access-card label{font-size:14px}.access-card button{min-height:44px}.access-card .access-link{color:#617086;background:none;border:0;font-size:13px;text-decoration:underline;padding:12px 0;display:inline-block}.access-account{word-break:break-word;font-size:13px!important}.access-footer{font-size:12px!important;border-top:1px solid #e7edf6;padding-top:18px;margin-top:22px}.access-error{color:#b8293b!important;min-height:0;overflow-wrap:anywhere}.access-error:empty{display:none}
.admin-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.admin-heading h2{font-size:30px;margin:8px 0}.admin-heading p{max-width:680px;line-height:1.7;color:var(--muted);font-size:14px}.admin-stats{display:flex;flex-wrap:wrap;gap:24px;margin:0 0 28px}.admin-stats div{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}.admin-stats strong{font-size:24px;color:var(--text)}
.admin-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:start}.admin-box{padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.admin-box h3{margin:0 0 12px;font-size:18px}.admin-box label{font-size:13px}.admin-box .admin-muted,.admin-muted{font-size:13px;color:var(--muted);line-height:1.7}.admin-box input,.admin-box select{width:100%;min-height:44px}.admin-box .primary{min-height:46px}.admin-key-list{display:grid;gap:14px;margin-top:18px}.admin-key-card{padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.admin-key-head{display:flex;justify-content:space-between;gap:12px}.admin-key-head h3{font-size:16px;margin:0 0 4px;overflow-wrap:anywhere}.admin-key-head p{margin:0;overflow-wrap:anywhere}.admin-state{font-size:11px;border-radius:6px;padding:6px 8px;background:var(--surface);align-self:flex-start;white-space:nowrap}.admin-state.active{background:#e8f6f0;color:#087b56}.admin-state.revoked,.admin-state.expired{background:#fff0f0;color:#ac3249}.admin-key-info{display:flex;gap:16px;flex-wrap:wrap;margin:16px 0;font-size:12px;color:var(--muted)}.admin-key-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-key-actions button{min-height:40px;font-size:12px}.admin-zones{margin-top:26px}.admin-zone-choice{display:flex;align-items:center;gap:12px;padding:12px 0;line-height:1.6;border-bottom:1px solid var(--line);font-size:13px!important}.admin-zone-choice input{width:18px!important;height:18px;min-height:18px!important;flex:none}.admin-zone-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.admin-zone-actions button{min-height:44px}.admin-key-dialog{max-width:520px;width:calc(100vw - 32px);padding:24px}.admin-key-dialog textarea{width:100%;font-family:monospace;font-size:15px;line-height:1.7;resize:none;min-height:108px}.admin-key-dialog p{font-size:14px;line-height:1.7;color:var(--muted)}
body[data-role=member] [data-admin-only],body[data-role=member] .settings-advanced{display:none!important}
@media(max-width:800px){.admin-layout{grid-template-columns:1fr}.admin-heading h2{font-size:25px}.admin-box{padding:20px}.admin-key-head{flex-direction:column}.admin-stats{gap:16px}.access-screen{padding:16px}.access-card{padding:28px 24px}.access-card h1{font-size:27px}}
