.auth-wrapper{background-color:var(--color-bg);min-height:100dvh;padding:var(--space-12) var(--space-4);font-family:var(--font-sans);display:flex;position:relative;overflow-x:hidden}.auth-home-link{top:var(--space-6);left:var(--space-8);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);align-items:center;gap:var(--space-2);transition:color var(--duration-fast);text-decoration:none;display:flex;position:absolute}.auth-home-link:hover{color:var(--color-primary)}@media (max-width:600px){.auth-home-link{top:var(--space-4);left:var(--space-4)}}.auth-inner{gap:var(--space-8);flex-direction:column;width:100%;max-width:1000px;margin:auto;display:flex}@media (min-width:900px){.auth-inner{flex-direction:row;justify-content:space-between;align-items:center}}.auth-brand-side{display:none}@media (min-width:900px){.auth-brand-side{padding-right:var(--space-12);flex-direction:column;flex:1;display:flex}.auth-brand-logo{font-family:var(--font-display);font-size:var(--text-3xl);color:var(--color-primary);letter-spacing:var(--tracking-tight);margin-bottom:var(--space-6);font-weight:700}.auth-brand-headline{font-family:var(--font-display);letter-spacing:-.03em;color:var(--color-text-primary);margin-bottom:var(--space-6);text-wrap:balance;font-size:3.5rem;font-weight:700;line-height:1.1}.auth-brand-sub{font-size:var(--text-xl);line-height:var(--leading-relaxed);color:var(--color-text-secondary)}}.auth-form-side{width:100%;max-width:440px;margin:0 auto}.auth-card{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-6) var(--space-5);box-shadow:var(--shadow-diffusion);border:none}@media (min-width:480px){.auth-card{padding:var(--space-6) var(--space-6)}}.auth-header{margin-bottom:var(--space-6)}.auth-mobile-logo{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-primary);letter-spacing:var(--tracking-tight);margin-bottom:var(--space-8);text-align:center;font-weight:700;display:block}@media (min-width:900px){.auth-mobile-logo{display:none}}.auth-heading{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--color-text-primary);margin-bottom:var(--space-2)}.auth-sub{font-size:var(--text-sm);color:var(--color-text-secondary)}.auth-form{gap:var(--space-4);flex-direction:column;display:flex}.auth-field{gap:var(--space-1);margin-bottom:var(--space-2);flex-direction:column;display:flex}.auth-label{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:500}.auth-input.error{border-color:var(--color-error)}.auth-input.error:focus{box-shadow:0 0 0 2px #ba1a1a1f}.auth-error-msg{color:var(--color-error);font-size:var(--text-sm);margin-top:calc(-1 * var(--space-1))}.auth-input{background:var(--input-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text-primary);min-height:2.75rem;transition:border-color var(--duration-fast);outline:none}.auth-input::placeholder{color:var(--color-text-tertiary)}.auth-input:hover{border-color:var(--color-text-tertiary)}.auth-input:focus{border-color:var(--color-primary);background:var(--input-bg-focus);box-shadow:0 0 0 2px #10373114}.auth-footer{font-size:var(--text-sm);margin-top:var(--space-2);justify-content:space-between;align-items:center;display:flex}.auth-checkbox-label{align-items:center;gap:var(--space-2);cursor:pointer;color:var(--color-text-secondary);-webkit-user-select:none;user-select:none;font-weight:var(--weight-medium);display:flex}.auth-checkbox-label input[type=checkbox]{width:1.125rem;height:1.125rem;accent-color:var(--color-primary);cursor:pointer;border-radius:4px}.auth-forgot{font-weight:var(--weight-semibold);color:var(--color-primary);transition:opacity var(--duration-fast) var(--ease-out);text-decoration:none}.auth-forgot:hover{opacity:.8}.auth-submit{width:100%;min-height:2.75rem;margin-top:var(--space-2);border-radius:var(--radius-lg);background:var(--color-primary);color:var(--color-text-on-primary);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);box-shadow:var(--shadow-diffusion);border:none;justify-content:center;align-items:center;display:flex}.auth-submit:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-diffusion-hover);transform:translateY(-1px)}.auth-submit:active{transform:scale(.98);box-shadow:0 2px 8px #10373126}.auth-social-container{gap:var(--space-3);margin-top:var(--space-2);flex-direction:row;display:flex}.auth-social-btn{justify-content:center;align-items:center;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;min-height:2.75rem;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text-primary);cursor:pointer;transition:all var(--duration-fast);background:0 0;flex:1;display:flex}.auth-social-btn:hover{background:var(--input-bg-focus);border-color:var(--color-text-tertiary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.auth-social-btn:active{box-shadow:none;transform:scale(.98)}.auth-social-btn svg{flex-shrink:0}.auth-switch{margin-top:var(--space-6);text-align:center;font-size:var(--text-sm);color:var(--color-text-secondary);padding-top:var(--space-4);border-top:1px solid #0000000d}.auth-switch a{color:var(--color-primary);font-weight:var(--weight-semibold);margin-left:var(--space-1);text-decoration:none}.auth-switch a:hover{text-decoration:underline}
