.admin-page .admin {padding-top:50px}
.admin-page .card {margin:22px 0}
.stats {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}
.stat {background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:15px 18px;display:grid;gap:4px;color:var(--muted);font-size:14px}
.stat strong {font-size:30px;color:var(--text);font-variant-numeric:tabular-nums}
.badge {display:inline-block;background:#252d46;border-radius:99px;padding:4px 10px;color:#dce1fb;font-size:13px}
.badge[data-state=allowed] {background:#153c34;color:#a3efcf}
.badge[data-state=blocked] {background:#492735;color:#ffc4d4}
.badge[data-state=expired],.badge[data-state=pending] {background:#40341c;color:#ffdfa2}
.filters {margin-top:15px}
.filters label:first-child {flex:1;min-width:180px}
.actions {display:flex;gap:7px}
.actions button {padding:7px 11px;font-size:13px;min-height:36px}
.pager {justify-content:flex-end;align-items:center;margin-top:16px}
dialog {background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:14px;width:min(460px,calc(100% - 28px));padding:24px}
dialog::backdrop {background:#02040bcc}
dialog label {margin:12px 0}
.presets {gap:8px}
.presets button {min-height:36px;padding:6px 10px}
#editor-status {margin:10px 0;color:#ffc4d4}
@media(max-width:600px) {.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding:12px}.admin-page .admin{padding-top:30px}}

.admin-page {
  min-height: 100vh;
  background: radial-gradient(ellipse at 50% 38%, #202547 0%, transparent 52%), var(--bg);
}
.admin-page .admin:has(#dashboard[hidden]) {
  min-height: calc(100svh - 82px);
  display: grid;
  place-items: center;
  padding: 28px 0;
}
.access-shell {width:100%}
.access-card {
  width:min(100%, 440px);
  margin-inline:auto;
  padding:38px 34px;
  text-align:center;
  background:linear-gradient(155deg,#1b2138,#10131f 70%);
  border:1px solid #343c5c;
  border-radius:24px;
  box-shadow:0 22px 75px #03050caa;
}
.access-mark {
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  margin:0 auto 23px;
  border:1px solid #6874b8;
  border-radius:17px;
  background:#343e73;
  color:#eef0ff;
  font-size:30px;
  font-weight:900;
}
.access-card .eyebrow {margin-bottom:10px}
.access-card h1 {font-size:clamp(28px,7vw,39px);line-height:1.1;letter-spacing:-.055em;margin-bottom:13px}
.access-card #status {color:var(--muted);font-size:15px;min-height:24px;margin:0}
.access-card button {width:100%;justify-content:center;margin-top:24px;min-height:48px}
.access-card #login {background:#5865f2;color:white}
.access-card #login:hover {background:#6874f7}
.admin:has(#dashboard:not([hidden])) .access-card {
  width:100%;padding:0;margin:0;text-align:left;background:none;border:0;border-radius:0;box-shadow:none
}
.admin:has(#dashboard:not([hidden])) .access-mark,
.admin:has(#dashboard:not([hidden])) .access-card .eyebrow,
.admin:has(#dashboard:not([hidden])) .access-card h1 {display:none}
.dashboard-title {margin-top:14px;align-items:center}
.dashboard-title h2 {font-size:clamp(30px,6vw,54px);line-height:1.1;letter-spacing:-.055em;margin:0}
@media(max-width:480px) {.access-card{padding:30px 22px}}
