.auth-page { max-width:460px; margin:0 auto; padding:32px 24px 44px; display:flex; flex-direction:column; gap:20px; }
.auth-page .h1 { margin:0; font-size:clamp(32px,8vw,44px); line-height:1.12; }
.auth-page p { margin:0; }
.auth-mark { display:grid; place-items:center; width:58px; height:58px; color:var(--green); background:var(--sand); border-radius:50%; }
.auth-intro { line-height:1.7; color:var(--body); }
.auth-form { display:grid; gap:12px; }
.auth-form .input { width:100%; min-height:54px; font-size:16px; }
.auth-form .btn { margin-top:4px; min-height:50px; }
.auth-code { letter-spacing:.12em; font-variant-numeric:tabular-nums; }
.auth-code::placeholder { letter-spacing:normal; }
.auth-recovery { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; }
.auth-recovery button { min-height:44px; }
.auth-page button:disabled { opacity:.55; cursor:default; }
.auth-email { overflow-wrap:anywhere; }
.auth-summary { display:grid; gap:12px; line-height:1.6; font-size:14px; }
.auth-local-note { border-top:1px solid var(--line); padding-top:20px; font-size:12px; line-height:1.7; color:var(--muted); }
.auth-guest { display:flex; align-items:center; justify-content:center; gap:10px; padding:12px 0; font-weight:600; }
.auth-error { border-left:3px solid var(--green); padding:12px; background:var(--sand); color:var(--text); font-size:14px; }
.auth-switch-cover { position:fixed; inset:0; z-index:99999; display:grid; place-items:center; background:var(--cream); color:var(--text); }
