.auth-page{background:var(--surface);min-height:100dvh;color:var(--text-primary);font-family:var(--font-sans);justify-content:center;align-items:center;padding:2rem 1.5rem;display:flex;position:relative}.auth-bg{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.auth-layout{z-index:1;grid-template-columns:1fr 420px;align-items:center;gap:4rem;width:100%;max-width:940px;display:grid;position:relative}.auth-aside{flex-direction:column;gap:1.5rem;min-width:0;display:flex}.auth-brand-link{color:var(--text-primary);letter-spacing:-.02em;border-radius:10px;align-self:flex-start;align-items:center;gap:.7rem;font-size:1.2rem;font-weight:800;text-decoration:none;transition:opacity .18s;display:inline-flex}.auth-brand-link:hover{opacity:.85}.auth-brand-mark{object-fit:cover;border:1px solid var(--border);border-radius:8px}.auth-aside-title{letter-spacing:-.04em;color:var(--text-primary);text-wrap:balance;max-width:15ch;margin:0;font-size:clamp(1.6rem,2.6vw,2.25rem);font-weight:900;line-height:1.12}.auth-points{flex-direction:column;gap:.9rem;margin:0;padding:0;list-style:none;display:flex}.auth-point{color:var(--text-secondary);align-items:center;gap:.75rem;font-size:.95rem;line-height:1.4;display:flex}.auth-point-icon{filter:hue-rotate(-14deg)saturate(1.05);flex:none;width:30px;height:30px}.auth-card{background:var(--surface-raised);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:18px;padding:2rem}.auth-title{letter-spacing:-.03em;color:var(--text-primary);text-wrap:balance;margin:0 0 .35rem;font-size:1.5rem;font-weight:800}.auth-sub{color:var(--text-muted);margin:0 0 1.25rem;font-size:.88rem}.auth-social{margin-bottom:1rem}.auth-form{flex-direction:column;gap:.9rem;display:flex}.auth-field{flex-direction:column;gap:.4rem;display:flex}.auth-label{color:var(--text-secondary);font-size:.82rem;font-weight:600}.auth-input{border:1px solid var(--border);background:var(--overlay-2);width:100%;color:var(--text-primary);border-radius:10px;padding:.75rem .9rem;font-family:inherit;font-size:1rem;line-height:1.35;transition:border-color .18s,box-shadow .18s,background .18s}.auth-input::placeholder{color:var(--text-faint)}.auth-input:hover{border-color:var(--border-strong)}.auth-input:focus{border-color:var(--accent-text);background:var(--overlay-3);box-shadow:0 0 0 3px var(--accent-line);outline:none}:-webkit-any(.auth-input:autofill,.auth-input:-webkit-autofill){-webkit-text-fill-color:var(--text-primary);-webkit-box-shadow:inset 0 0 0 1000px var(--border-subtle);caret-color:var(--text-primary)}:is(.auth-input:autofill,.auth-input:autofill){-webkit-text-fill-color:var(--text-primary);-webkit-box-shadow:inset 0 0 0 1000px var(--border-subtle);caret-color:var(--text-primary)}.auth-submit{background:var(--primary);width:100%;color:var(--on-primary);box-shadow:var(--shadow-md);border:none;border-radius:10px;margin-top:.15rem;padding:.8rem;font-family:inherit;font-size:.95rem;font-weight:700;transition:background .18s,box-shadow .18s,transform .18s}.auth-submit:hover:not(:disabled){background:var(--primary);box-shadow:var(--shadow-md)}.auth-submit:active:not(:disabled){transform:translateY(1px)}.auth-alert{text-align:center;background:var(--danger-soft);border:1px solid var(--danger-line);color:var(--danger-text);border-radius:8px;padding:.7rem .85rem;font-size:.85rem;line-height:1.5}.auth-alert-ok{background:var(--success-soft);border-color:var(--success-line);color:var(--success-text)}.auth-foot{text-align:center;color:var(--text-muted);margin:1.25rem 0 0;font-size:.86rem}.auth-link{color:var(--accent-text);border-radius:4px;font-weight:600;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-page a:focus-visible,.auth-page button:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px}@media (max-width:900px){.auth-layout{grid-template-columns:1fr;justify-items:center;gap:1.5rem;max-width:420px}.auth-aside{align-items:center;gap:0}.auth-brand-link{align-self:center}.auth-aside-title,.auth-points{display:none}}@media (max-width:480px){.auth-page{align-items:flex-start;padding:1.25rem 1rem}.auth-card{border-radius:16px;padding:1.4rem 1.15rem}.auth-title{font-size:1.35rem}}@media (max-height:760px){.auth-page{align-items:flex-start}}@media (prefers-reduced-motion:reduce){.auth-input,.auth-submit,.auth-brand-link{transition:none}.auth-submit:active:not(:disabled){transform:none}}