:root{--surface:#fff;--surface-raised:#f8f9fa;--surface-sunken:#f1f3f5;--surface-hover:#f0f1f3;--background:#fff;--background-secondary:#f8f9fa;--foreground:#1a1b23;--foreground-secondary:#6b6f7a;--foreground-tertiary:#a0a4ae;--primary:#6d5dd5;--primary-hover:#5a4bc4;--primary-foreground:#fff;--primary-subtle:#6d5dd51a;--border:#e8e8ed;--border-strong:#d4d4d9;--font-sans:"Outfit", system-ui, -apple-system, sans-serif;--font-display:"Source Serif 4", Georgia, serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--duration-fast:.15s;--ease-out:cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased}.auth-page{background:var(--background);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.auth-page__background{z-index:0;background:linear-gradient(135deg, var(--background-secondary) 0%, var(--background) 100%);position:absolute;inset:0}.auth-page__gradient{position:absolute;inset:0}.auth-page__container{z-index:1;width:100%;max-width:22rem;padding:var(--space-6);gap:var(--space-6);flex-direction:column;display:flex;position:relative}.auth-page__brand{text-align:center}.auth-page__logo{justify-content:center;align-items:center;gap:var(--space-2);font-size:var(--text-2xl);color:var(--foreground);letter-spacing:-.02em;font-weight:700;text-decoration:none;display:inline-flex}.auth-page__logo-icon{width:var(--space-7);height:var(--space-7);color:var(--primary)}.auth-page__welcome{text-align:center;gap:var(--space-2);flex-direction:column;display:flex}.auth-page__title{font-size:var(--text-xl);color:var(--foreground);font-weight:700}.auth-page__description{color:var(--foreground-secondary);font-size:var(--text-sm)}.auth-page__social-button{justify-content:center;align-items:center;gap:var(--space-3);width:100%;height:2.75rem;padding:0 var(--space-4);font-size:var(--text-base);color:var(--foreground);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);font-weight:500;font-family:var(--font-sans);display:flex}.auth-page__social-button:hover{background:var(--surface-hover);border-color:var(--border-strong)}.auth-page__social-button:disabled{opacity:.7;cursor:not-allowed}.auth-page__social-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.auth-page__social-icon{width:1.25rem;height:1.25rem}.auth-page__divider{align-items:center;gap:var(--space-4);width:100%;color:var(--foreground-tertiary);font-size:var(--text-sm);display:flex}.auth-page__divider:before,.auth-page__divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-page__card{border-radius:var(--radius-xl);width:100%;padding:var(--space-8) var(--space-6);background:var(--surface);border:1px solid var(--border)}.auth-page__form{gap:var(--space-4);flex-direction:column;display:flex}.form__group{gap:var(--space-1);flex-direction:column;display:flex}.form__label-row{justify-content:space-between;align-items:center;display:flex}.form__label{font-size:var(--text-sm);color:var(--foreground);font-weight:500}.form__link{font-size:var(--text-sm);color:var(--foreground-secondary);text-decoration:none}.form__link:hover{color:var(--primary)}.input-with-icon{align-items:center;display:flex;position:relative}.input-with-icon .input-icon{left:var(--space-4);width:1.125rem;height:1.125rem;color:var(--foreground-tertiary);pointer-events:none;transition:color var(--duration-fast) var(--ease-out);position:absolute}.input-with-icon:focus-within .input-icon{color:var(--primary)}.input{border:1px solid var(--border);border-radius:var(--radius-md);width:100%;font-size:var(--text-sm);font-family:var(--font-sans);background:var(--background);color:var(--foreground);transition:border-color var(--duration-fast);outline:none;padding:.625rem .75rem}.input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-subtle)}.input--with-icon{padding-left:2.75rem}.input--with-toggle{padding-right:2.75rem}.input-toggle{right:var(--space-3);padding:var(--space-1);color:var(--foreground-tertiary);cursor:pointer;transition:color var(--duration-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute}.input-toggle:hover{color:var(--foreground)}.input-toggle .input-icon{width:1.125rem;height:1.125rem;position:static}.auth-page__button{width:100%;height:2.75rem;margin-top:var(--space-2);padding:0 var(--space-4);background:var(--primary);color:var(--primary-foreground);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:background var(--duration-fast);justify-content:center;align-items:center;gap:var(--space-2);border:none;display:inline-flex}.auth-page__button:hover{background:var(--primary-hover)}.auth-page__button:disabled{opacity:.7;cursor:not-allowed}.auth-page__error{color:#dc2626;font-size:var(--text-sm);text-align:center;border-radius:var(--radius-md);background:#dc262614;padding:.5rem .75rem}.auth-page__footer{text-align:center;font-size:var(--text-sm);color:var(--foreground-secondary)}.auth-page__footer a{color:var(--primary);font-weight:500;text-decoration:none}.auth-page__footer a:hover{text-decoration:underline}.auth-page__loading{min-height:100vh;color:var(--foreground-secondary);justify-content:center;align-items:center;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}@media (min-width:640px){.auth-page__container{max-width:28rem;padding:var(--space-8)}.auth-page__title{font-size:var(--text-2xl)}}@media (max-width:480px){.auth-page__container{padding:var(--space-3) var(--space-4);gap:var(--space-3);padding-top:var(--space-8)}.auth-page{padding-top:var(--space-4);align-items:flex-start}.auth-page__title{font-size:var(--text-lg)}.auth-page__description{font-size:var(--text-xs)}}
