:root{
  --rush-red:#9e2416;
  --rush-red-dark:#74150d;
  --rush-gold:#b38f65;
  --rush-ink:#261c1a;
  --rush-muted:#6f625d;
  --rush-line:rgba(158,36,22,.14);
  --rush-bg:#f6f1eb;
  --rush-card:#fffdfa;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--rush-bg);color:var(--rush-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
body.rush49-auth-page{min-height:100svh;background:
 radial-gradient(circle at 18% -10%,rgba(179,143,101,.22),transparent 34%),
 radial-gradient(circle at 100% 105%,rgba(158,36,22,.14),transparent 34%),
 linear-gradient(180deg,#fbf8f4 0%,#f2ebe3 100%)}
.rush49-auth-stage{min-height:100svh;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) 18px max(24px,env(safe-area-inset-bottom))}
.rush49-auth-wrap{width:min(100%,520px)}
.rush49-auth-inner{background:rgba(255,253,250,.96);border:1px solid var(--rush-line);border-radius:28px;padding:30px;box-shadow:0 26px 70px rgba(58,28,21,.14),0 3px 14px rgba(58,28,21,.07);backdrop-filter:blur(16px)}
.rush49-auth-brand{text-align:center;margin-bottom:24px}
.rush49-auth-logo{display:block;width:132px;height:132px;object-fit:contain;margin:0 auto 15px;filter:drop-shadow(0 8px 14px rgba(73,31,23,.10))}
.rush49-auth-eyebrow{color:var(--rush-gold);font-size:12px;line-height:1;font-weight:900;letter-spacing:.18em;margin-bottom:8px}
.rush49-auth-title{margin:0;color:var(--rush-red-dark);font-size:34px;line-height:1.05;font-weight:900;letter-spacing:-.025em}
.rush49-auth-subtitle{margin:10px auto 0;max-width:390px;color:var(--rush-muted);font-size:16px;line-height:1.45}
.rush49-auth-field{margin-bottom:16px}
.rush49-auth-label{display:block;margin:0 0 7px;color:var(--rush-ink);font-size:14px;font-weight:800}
.rush49-auth-input{display:block;width:100%;height:50px;border:1px solid rgba(86,60,52,.22);border-radius:13px;background:#fff;color:var(--rush-ink);padding:0 14px;font:inherit;font-size:16px;box-shadow:inset 0 1px 2px rgba(0,0,0,.025);appearance:none}
.rush49-auth-input:focus{outline:0;border-color:var(--rush-gold);box-shadow:0 0 0 4px rgba(179,143,101,.18)}
.rush49-auth-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rush49-auth-help{margin:-5px 0 16px;color:var(--rush-muted);font-size:13px}
.rush49-auth-forgot{text-align:right;margin:-6px 0 16px;font-size:14px}
.rush49-auth-forgot a,.rush49-auth-links a{color:var(--rush-red);font-weight:800;text-decoration:none}
.rush49-auth-forgot a:hover,.rush49-auth-links a:hover{text-decoration:underline}
.rush49-auth-button{display:block;width:100%;border:0;border-radius:999px;background:linear-gradient(135deg,var(--rush-red),#b52a1a);color:#fff;padding:14px 18px;font-size:16px;line-height:1.2;font-weight:900;letter-spacing:.01em;cursor:pointer;text-align:center;text-decoration:none;box-shadow:0 10px 24px rgba(158,36,22,.22)}
.rush49-auth-button:active{transform:translateY(1px)}
.rush49-auth-button-link{margin-top:8px}
.rush49-auth-links{text-align:center;margin-top:18px;color:var(--rush-muted);font-size:14px;line-height:1.5}
.rush49-auth-separator{display:inline-block;margin:0 8px;color:#b7a9a3}
.rush49-auth-notice{margin:0 0 18px;padding:12px 14px;border-radius:13px;font-size:14px;line-height:1.4}
.rush49-auth-notice-error{background:#fff0ee;color:#7b1b11;border:1px solid rgba(158,36,22,.18)}
.rush49-auth-notice-success{background:#eff9f1;color:#25613a;border:1px solid rgba(37,97,58,.16)}
.rush49-auth-centered{text-align:center;margin:0;color:var(--rush-muted)}
.rush49-auth-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:560px){
  .rush49-auth-stage{padding-left:14px;padding-right:14px}
  .rush49-auth-inner{padding:24px 20px;border-radius:24px}
  .rush49-auth-logo{width:112px;height:112px}
  .rush49-auth-title{font-size:31px}
  .rush49-auth-subtitle{font-size:15px}
  .rush49-auth-row{grid-template-columns:1fr;gap:0}
}
@media(max-height:680px){
  .rush49-auth-stage{place-items:start center;padding-top:16px}
  .rush49-auth-logo{width:88px;height:88px;margin-bottom:10px}
  .rush49-auth-brand{margin-bottom:18px}
  .rush49-auth-title{font-size:28px}
}
