.auth-page{min-height:max(884px,100dvh);background:var(--color-bg);display:flex;flex-direction:column;align-items:center;position:relative;overflow-x:hidden}.auth-bg-circle-tr{top:-10%;right:-10%;background:color-mix(in srgb,var(--color-primary) 5%,transparent)}.auth-bg-circle-bl,.auth-bg-circle-tr{position:fixed;width:40%;height:40%;border-radius:9999px;filter:blur(100px);z-index:0;pointer-events:none}.auth-bg-circle-bl{bottom:-10%;left:-10%;background:color-mix(in srgb,var(--color-secondary) 5%,transparent)}.auth-container{max-width:400px;padding:0 var(--space-4);position:relative;z-index:1}.auth-container,.auth-header-brand{width:100%;display:flex;flex-direction:column;align-items:center}.auth-header-brand{padding-top:64px;padding-bottom:48px}.auth-logo{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-primary);text-decoration:none}.auth-logo .logo-icon{color:var(--color-primary)}.auth-logo span{font-family:var(--font-heading);font-weight:800;font-size:1.5rem;letter-spacing:-.03em}.auth-card{width:100%;background:var(--color-surface);border-radius:var(--border-radius-xl);padding:var(--space-6);box-shadow:var(--shadow-login-card);border:1px solid color-mix(in srgb,var(--color-border) 30%,transparent);margin-bottom:var(--space-6)}.auth-card-title{margin-bottom:2rem}.auth-card-title h1{font-family:var(--font-heading);font-size:1.5rem;font-weight:var(--font-semibold);letter-spacing:-.02em;color:var(--color-text-primary);margin-bottom:var(--space-1)}.auth-card-title p{font-size:var(--text-sm);color:var(--color-text-secondary)}.auth-error{color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 10%,transparent);padding:.75rem;border-radius:var(--border-radius-sm);margin-bottom:var(--space-4);font-size:var(--text-sm)}.auth-form{gap:var(--space-6)}.auth-form,.input-group{display:flex;flex-direction:column}.input-group{gap:var(--space-2)}.input-group-header{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-1)}.input-group label{font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary)}.input-forgot{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-primary);background:none;border:none;padding:0;cursor:pointer}.input-forgot:hover{opacity:.8}.input-group input{width:100%;height:48px;padding:0 var(--space-4);background:var(--color-surface-2);border:none;border-radius:var(--border-radius-md);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-base);transition:box-shadow .2s ease}.input-group input::placeholder{color:var(--color-text-muted)}.input-group input:focus{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 20%,transparent)}.turnstile-container{min-height:65px}.auth-submit-btn,.turnstile-container{display:flex;align-items:center;justify-content:center}.auth-submit-btn{width:100%;height:48px;background:var(--gradient-primary);color:#fff;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-semibold);border:none;border-radius:var(--border-radius-md);gap:var(--space-2);box-shadow:0 4px 16px color-mix(in srgb,var(--color-primary) 25%,transparent);cursor:pointer;transition:opacity .2s ease,transform .1s ease}.auth-submit-btn:hover{opacity:.95}.auth-submit-btn:active{transform:scale(.98)}.auth-submit-btn:disabled{opacity:.7;cursor:not-allowed}.auth-divider{width:100%;display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6)}.auth-divider-line{flex:1 1;height:1px;background:var(--color-border)}.auth-divider span{font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap}.auth-social{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);width:100%}.btn-social{display:flex;align-items:center;gap:var(--space-2);padding:.625rem var(--space-3);background:var(--color-surface-2);border:1px solid color-mix(in srgb,var(--color-border) 20%,transparent);border-radius:var(--border-radius-md);color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:background .15s ease;text-align:left}.btn-social:hover{background:color-mix(in srgb,var(--color-primary) 5%,var(--color-surface-2))}.btn-social-full{grid-column:1/-1}.btn-social-avatar{width:24px;height:24px;border-radius:9999px;overflow:hidden;flex-shrink:0;background:var(--color-border)}.btn-social-avatar img{width:100%;height:100%;object-fit:cover}.auth-oauth-group{flex-direction:column;margin-bottom:var(--space-6)}.auth-oauth-group,.btn-oauth{display:flex;gap:var(--space-3);width:100%}.btn-oauth{height:48px;align-items:center;justify-content:center;border:none;border-radius:var(--border-radius-md);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:background .2s ease,opacity .2s ease,transform .1s ease}.btn-oauth:hover{opacity:.92}.btn-oauth:active{transform:scale(.98)}.btn-oauth:disabled{opacity:.7;cursor:not-allowed}.btn-oauth svg{width:20px;height:20px;flex-shrink:0}.btn-oauth-google{background:var(--color-surface-2);color:var(--color-text-primary);border:1px solid color-mix(in srgb,var(--color-border) 50%,transparent)}.btn-oauth-google:hover{background:color-mix(in srgb,var(--color-google) 8%,var(--color-surface-2))}.auth-footer{margin-top:3rem;padding-bottom:48px;text-align:center;font-size:var(--text-sm);color:var(--color-text-secondary)}.auth-footer button{color:var(--color-primary);font-weight:var(--font-semibold);background:none;border:none;padding:0;cursor:pointer}.auth-footer button:hover{text-decoration:underline}