.auth{display:flex;align-items:center;justify-content:center;min-height:76vh;padding:var(--space-8) var(--space-4)}.auth__inner{width:100%;max-width:400px}.auth-body{width:100%}.auth-title{margin:0;text-align:center;font-family:var(--font-display);font-size:40px;line-height:1.1;letter-spacing:-.02em;color:var(--text-primary)}@media(max-width:480px){.auth-title{font-size:32px}}.auth-subtitle{margin:var(--space-3) 0 var(--space-7);text-align:center;font-size:15px;line-height:1.5;color:var(--text-secondary)}.auth-form{display:flex;flex-direction:column;gap:var(--space-4)}.auth-field{display:flex;flex-direction:column;gap:var(--space-2)}.auth-field__label{font-size:13px;font-weight:500;color:var(--text-secondary)}.auth-field__error{margin:0;font-size:13px;color:var(--danger)}.auth-input-wrap{position:relative}.auth-input{width:100%;height:52px;padding:0 var(--space-4);background:var(--surface-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-1);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-ui);font-size:16px;transition:border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out)}.auth-input::placeholder{color:var(--text-muted)}.auth-input:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:var(--surface-2)}.auth-input--pw{padding-right:48px}.auth-input--error{border-color:var(--danger)}.auth-input__toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;background:transparent;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:color var(--dur-fast) var(--ease-out)}.auth-input__toggle:hover{color:var(--text-secondary)}.auth-input__toggle:focus-visible{outline:none;box-shadow:var(--ring)}.auth-reqs{list-style:none;margin:calc(var(--space-1) * -1) 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1) var(--space-3)}.auth-req{display:flex;align-items:center;gap:var(--space-2);font-size:12.5px;color:var(--text-muted);transition:color var(--dur-base) var(--ease-out)}.auth-req__mark{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:1px solid var(--border-2);border-radius:var(--radius-full);color:transparent;transition:color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out)}.auth-req--met{color:var(--text-secondary)}.auth-req--met .auth-req__mark{color:var(--success);border-color:var(--success);background:#2bd9a024}.consent-checkboxes.auth-consent{padding:0 5px}.auth-row-right{display:flex;justify-content:flex-end;margin-top:calc(var(--space-2) * -1)}.auth-link{font-size:13px;color:var(--accent);text-decoration:none;transition:color var(--dur-fast) var(--ease-out)}.auth-link:hover{color:var(--accent-hover)}.auth-link:focus-visible{outline:none;box-shadow:var(--ring);border-radius:4px}.auth-alert{margin:0;padding:var(--space-3);font-size:13.5px;color:var(--danger);background:#ff3b5c1a;border:1px solid rgba(255,59,92,.28);border-radius:var(--radius-md)}.auth-submit{margin-top:var(--space-2);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.auth-social{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}.auth-divider{display:flex;align-items:center;gap:var(--space-3);color:var(--text-muted);font-size:12.5px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-1)}.auth-tg-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.auth-tg-btn svg{color:#29a9eb}.auth-switch{margin-top:var(--space-6);text-align:center;font-size:14px;color:var(--text-secondary)}.auth-spin{animation:auth-spin .7s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}@media(max-width:480px){.auth-reqs{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.auth-spin{animation:none}.auth-input,.auth-input__toggle,.auth-req,.auth-req__mark,.auth-link,.auth-submit{transition:none}}
