.auth-page{min-height:calc(100vh - 120px);display:flex;align-items:center;justify-content:center;padding:32px 16px 48px}.auth-card{width:min(100%,520px);background:var(--bg-card);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow-lg);padding:30px}.auth-icon{width:64px;height:64px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;border-radius:18px;background:var(--primary-soft);font-size:30px}.auth-heading{text-align:center;margin-bottom:22px}.auth-kicker{display:inline-block;color:var(--primary);font-weight:800;font-size:.9rem;margin-bottom:5px}.auth-heading h1{margin:0;color:var(--text-dark);font-size:clamp(1.6rem,4vw,2.1rem)}.auth-heading p{margin:10px 0 0;color:var(--text-muted);line-height:1.8}.auth-alert{border-radius:12px;padding:12px 14px;margin-bottom:16px;line-height:1.7}.auth-alert-danger{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.auth-form{display:grid;gap:16px}.auth-field{display:grid;gap:7px}.auth-field label{font-weight:800;color:var(--text-dark)}.auth-field input{width:100%;min-height:48px;border:1px solid var(--border-dark);border-radius:12px;background:#fff;color:var(--text-dark);padding:10px 13px;font:inherit;outline:none;transition:border-color .2s,box-shadow .2s}.auth-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,.12)}.auth-help{color:var(--text-muted);font-size:.82rem}.auth-error{color:#b91c1c;font-size:.86rem;font-weight:700}.auth-check{display:flex;align-items:flex-start;gap:9px;color:var(--text-main);line-height:1.8;font-size:.93rem}.auth-check input{margin-top:6px;accent-color:var(--primary)}.auth-check a,.auth-secondary a{color:var(--primary);font-weight:800;text-decoration:none}.auth-check a:hover,.auth-secondary a:hover{text-decoration:underline}.auth-submit{border:0;border-radius:13px;min-height:50px;background:var(--primary);color:#fff;font:inherit;font-weight:800;cursor:pointer;padding:10px 18px;transition:background .2s,transform .2s}.auth-submit:hover{background:var(--primary-dark)}.auth-submit:active{transform:translateY(1px)}.auth-secondary{text-align:center;margin-top:20px;color:var(--text-main);line-height:1.8}.auth-guest-note{margin-top:12px;text-align:center;color:var(--text-muted);font-size:.86rem;line-height:1.7}@media(max-width:600px){.auth-page{padding:20px 12px 36px}.auth-card{padding:22px 18px;border-radius:20px}}
