/* account.css - shared styling for the admin login screen and the
   admin-denied state on /admin. Deliberately its OWN fixed light palette
   (--aps-* tokens below), not the public site's --bg/--text/--accent
   tokens from styles.css -- those flip dark under [data-theme="dark"],
   and the admin console should always stay light/readable regardless of
   what a visitor last toggled on the public pages. */

:root{
  --aps-bg:#ffffff;
  --aps-surface:#edeff3;
  --aps-border:#dde1e7;
  --aps-text:#333c48;
  --aps-heading:#20242c;
  --aps-muted:#707a87;
  --aps-accent:#0a8fd1;
}

.auth-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;background:var(--aps-bg)}
.auth-back{align-self:flex-start;margin:0 0 18px 2px;color:var(--aps-accent);font-size:14px}
.auth-card{width:100%;max-width:380px;background:var(--aps-bg);border:1px solid var(--aps-border);border-radius:10px;padding:32px 28px;box-shadow:0 2px 18px rgba(0,0,0,.06)}
.auth-brand{text-align:center;margin-bottom:18px}
.auth-brand-text{font-size:20px;font-weight:700;letter-spacing:.04em;color:var(--aps-heading)}
.auth-tagline{font-size:13px;color:var(--aps-muted);margin-top:2px}
.auth-title{font-size:22px;font-weight:500;color:var(--aps-heading);margin:0 0 8px;text-align:center}
.auth-subtitle{font-size:14px;color:var(--aps-muted);text-align:center;margin:0 0 22px;line-height:1.5}
.auth-label{display:block;font-size:13px;color:var(--aps-text);margin:0 0 6px}
.auth-input{width:100%;padding:10px 12px;font-size:16px;border:1px solid var(--aps-border);border-radius:6px;background:var(--aps-bg);color:var(--aps-text);margin-bottom:14px}
.auth-input:focus{outline:none;border-color:var(--aps-accent)}
.auth-code{letter-spacing:8px;text-align:center;font-family:'SF Mono',Menlo,monospace}
.auth-primary{width:100%;padding:11px;font-size:15px;font-weight:600;color:#fff;background:var(--aps-accent);border:none;border-radius:6px;cursor:pointer}
.auth-primary:hover{opacity:.92}
.auth-primary:disabled{opacity:.6;cursor:default}
.auth-secondary{width:100%;padding:10px;font-size:14px;margin-top:10px;color:var(--aps-text);background:transparent;border:1px solid var(--aps-border);border-radius:6px;cursor:pointer}
.auth-sent-to{font-size:14px;color:var(--aps-text);margin:0 0 16px;text-align:center}
.auth-msg{min-height:20px;font-size:13px;text-align:center;margin-top:14px;color:var(--aps-muted)}
.auth-msg.error{color:#c0392b}
.auth-msg.success{color:#1f7a44}

.simple-page{max-width:480px;margin:80px auto;text-align:center;padding:0 20px}
.simple-page h1{color:var(--aps-heading);font-weight:500}
.admin-login-btn{display:inline-block;width:auto;padding:10px 22px;margin:18px 8px 0}
