:root{--orange:#ff7a5c;--orange-light:#ffb5a0;--orange-dark:#e56347;--charcoal:#2b2b2b;--charcoal-light:#3d3d3d;--ivory:#fffbf7;--sand:#f4e4d6;--sand-light:#faf2e9;--warm-gray:#6b6560;--warm-gray-light:#9a9590;--white:#fff;--space-xs:0.5rem;--space-sm:0.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--ease-smooth:cubic-bezier(0.4,0,0.2,1)}*,:after,:before{margin:0;padding:0;box-sizing:border-box}.auth-container{height:100vh;max-height:100vh;display:flex;align-items:center;justify-content:center;background:transparent;padding:0;position:relative;overflow:hidden}.auth-background{position:fixed;top:0;left:0;right:0;bottom:0;z-index:100;overflow:hidden;pointer-events:none}.floating-orb{position:absolute;width:300px;height:300px;border-radius:50%;background:var(--orange);opacity:.5;filter:blur(150px);-webkit-filter:blur(150px);top:50%;left:-180px;transform:translateY(-50%)}.auth-card{flex-direction:column;position:relative;z-index:1000;max-width:480px;width:100%;height:100%;max-height:100vh;padding:var(--space-lg) var(--space-xl);padding-top:max(var(--space-lg),env(safe-area-inset-top));padding-bottom:max(var(--space-lg),env(safe-area-inset-bottom));overflow-y:auto}.auth-card,.close-button{display:flex;background:transparent;justify-content:center}.close-button{position:absolute;top:var(--space-lg);right:var(--space-lg);width:32px;height:32px;align-items:center;border:none;cursor:pointer;color:var(--charcoal);opacity:.6;transition:opacity .3s var(--ease-smooth);padding:0;z-index:10}.close-button:hover{opacity:1}.back-button{display:inline-flex;align-items:center;gap:var(--space-xs);color:var(--charcoal);opacity:.6;font-size:var(--text-sm);font-weight:500;text-decoration:none;margin-bottom:var(--space-xl);transition:opacity .3s var(--ease-smooth);padding:var(--space-xs) 0;align-self:flex-start}.back-button:hover{opacity:1}.auth-header{margin-top:0}.auth-header,.auth-logo{margin-bottom:var(--space-xl)}.auth-logo{display:block}.auth-title{font-family:"Source Serif 4",Georgia,serif;font-size:var(--text-3xl);font-weight:600;color:var(--charcoal);margin-bottom:var(--space-sm);letter-spacing:-.02em;line-height:1.2}.auth-subtitle{font-size:var(--text-sm);color:var(--warm-gray);line-height:1.5;max-width:400px}.auth-form{gap:var(--space-md)}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:var(--space-sm)}.form-label{font-size:var(--text-sm);font-weight:500;color:var(--charcoal);opacity:.7;letter-spacing:-.01em}.form-input{padding:var(--space-md) var(--space-lg);font-size:var(--text-base);border:none;border-radius:12px;background:hsla(0,0%,100%,.6);color:var(--charcoal);transition:all .3s var(--ease-smooth);font-family:inherit;outline:none}.form-input::-moz-placeholder{color:var(--warm-gray-light)}.form-input::placeholder{color:var(--warm-gray-light)}.form-input:focus{background:#fff;box-shadow:0 0 0 3px rgba(255,122,92,.15)}.form-input:disabled{opacity:.6;cursor:not-allowed}.form-checkbox-group{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) 0}.form-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--orange)}.form-checkbox-label{font-size:var(--text-sm);color:var(--charcoal);opacity:.8;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.forgot-password{align-self:flex-end;font-size:var(--text-sm);color:var(--warm-gray);text-decoration:none;margin-top:calc(var(--space-sm) * -1);margin-bottom:var(--space-sm);transition:color .3s ease}.forgot-password:hover{color:var(--orange)}.auth-btn-primary{padding:var(--space-lg) var(--space-xl);background:var(--orange);color:#fff;border:none;border-radius:100px;font-size:var(--text-base);font-weight:600;cursor:pointer;transition:all .3s var(--ease-smooth);font-family:inherit;text-decoration:none;display:inline-block;text-align:center;box-shadow:0 2px 12px rgba(255,122,92,.25)}.auth-btn-primary:hover:not(:disabled){background:var(--orange-dark);transform:translateY(-1px);box-shadow:0 4px 16px rgba(255,122,92,.35)}.auth-btn-primary:active:not(:disabled){transform:translateY(0)}.auth-btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-google{padding:var(--space-md) var(--space-xl);background:#fff;color:var(--charcoal);border:1px solid rgba(43,43,43,.1);border-radius:12px;font-size:var(--text-base);font-weight:500;cursor:pointer;transition:all .3s var(--ease-smooth);display:flex;align-items:center;justify-content:center;gap:var(--space-sm);font-family:inherit;box-shadow:0 1px 3px rgba(43,43,43,.05)}.btn-google:hover:not(:disabled){background:#fff;box-shadow:0 2px 8px rgba(43,43,43,.1);transform:translateY(-1px)}.btn-google:active:not(:disabled){transform:translateY(0)}.btn-google:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-divider{display:flex;align-items:center;gap:var(--space-md);margin:var(--space-md) 0;font-size:var(--text-sm);color:var(--warm-gray);text-align:center}.auth-divider:after,.auth-divider:before{content:"";flex:1;height:1px;background:rgba(43,43,43,.15)}.error-message{padding:var(--space-md) var(--space-lg);background:rgba(229,99,71,.1);border:1px solid rgba(229,99,71,.2);border-radius:12px;color:#c53030;font-size:var(--text-sm);line-height:1.5;font-weight:500}.auth-footer{margin-top:var(--space-xl);text-align:center;font-size:var(--text-sm);color:var(--warm-gray)}.auth-link{color:var(--charcoal);text-decoration:underline;font-weight:600;transition:color .3s ease}.auth-link:hover{color:var(--orange)}.privacy-text{font-size:var(--text-xs);color:var(--warm-gray);text-align:center;margin-top:var(--space-md);line-height:1.5}.privacy-text a{color:var(--charcoal);text-decoration:underline;font-weight:500}@media (max-width:640px){.auth-card{padding:var(--space-md) var(--space-lg)}.auth-title{font-size:var(--text-4xl)}.auth-header{margin-bottom:var(--space-md)}}@media (max-width:480px){.auth-card{padding:var(--space-sm) var(--space-md)}.auth-title{font-size:var(--text-4xl)}.auth-subtitle{font-size:var(--text-xs);line-height:1.4}.auth-btn-primary,.btn-google{font-size:var(--text-sm);padding:var(--space-md) var(--space-lg)}.auth-header{margin-bottom:var(--space-sm)}.auth-form{gap:var(--space-sm)}}