.login-page-bg{min-height:90vh;background-color:#f3f4f6;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.login-card{background:#fff;width:100%;max-width:480px;min-height:620px;padding:3rem 2rem;box-shadow:0 4px 20px #0000000d;border-radius:4px;display:flex;flex-direction:column}.auth-toggle-container{display:flex;position:relative;background:#f1f1f1;border:1px solid #c0c0c0;border-radius:9999px;padding:4px;margin-bottom:2.5rem;width:100%;max-width:350px;margin-left:auto;margin-right:auto}.auth-toggle-slider{position:absolute;top:4px;bottom:4px;width:calc(50% - 4px);background:#000;border-radius:9999px;transition:transform .3s cubic-bezier(.25,.8,.25,1);z-index:1}.auth-toggle-container.login-active .auth-toggle-slider{transform:translate(0)}.auth-toggle-container.register-active .auth-toggle-slider{transform:translate(100%)}.auth-toggle-btn{flex:1;position:relative;z-index:2;padding:.5rem 1rem;font-family:FKGrotesk,sans-serif;font-size:.875rem;font-weight:400;border-radius:9999px;transition:color .3s;cursor:pointer;border:none;background:transparent;color:#666}.auth-toggle-btn.active{color:#fff;background:transparent}.social-login-btn{width:100%;display:flex;align-items:center;justify-content:center;padding:1rem;border:1px solid #c0c0c0;border-radius:8px;background:#fff;font-family:FKGrotesk,sans-serif;font-size:1rem;font-weight:400;cursor:pointer;transition:all .2s;margin-bottom:.75rem;color:#333;box-shadow:0 1px 2px #0000000d}.social-login-btn:last-child{margin-bottom:0}.social-login-btn:hover{background:#f8f8f8}.social-login-btn.apple-btn{background:#000;color:#fff;border-color:#000}.social-login-btn.apple-btn:hover{background:#1f1f1f;border-color:#1f1f1f}.social-login-btn.apple-btn:active{background:#333}.social-login-btn .apple-icon{fill:currentColor}.social-icon{width:20px;height:20px;margin-right:12px;flex-shrink:0}.login-separator{text-align:center;position:relative;margin:2rem 0}.login-separator:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#eee;z-index:1}.login-separator span{background:#fff;padding:0 1rem;position:relative;z-index:2;color:#999;font-size:.85rem;font-family:FKGrotesk,sans-serif}.register-fields{overflow:hidden;transition:max-height .3s ease-in-out,opacity .3s ease-in-out}.register-fields.hidden-fields{max-height:0;opacity:0}.register-fields.visible-fields{max-height:200px;opacity:1}.login-input-group{margin-bottom:1.2rem;position:relative}.login-input{width:100%;padding:1rem;border:1px solid #c0c0c0;background:#fafafa;font-family:FKGrotesk,sans-serif;font-size:.95rem;transition:border-color .2s;color:#000;border-radius:4px}.login-input:focus{outline:none;border-color:#000;background:#fff}.pass-toggle{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#999}.forgot-pass-btn{display:block;font-size:.8rem;color:#000;text-decoration:underline;margin-bottom:2rem;font-family:FKGrotesk,sans-serif;background:none;border:none;padding:0;cursor:pointer}.remember-forgot-container{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;width:100%}.remember-forgot-container .forgot-pass-btn{margin-bottom:0}.remember-me-label{display:flex;align-items:center;gap:.5rem;font-family:FKGrotesk,sans-serif;font-size:.8rem;color:#666;cursor:pointer;user-select:none}.remember-me-checkbox{cursor:pointer;accent-color:#000;width:16px;height:16px;margin:0}.login-submit-btn{width:100%;background:#000;color:#fff;padding:1rem;font-family:FKGrotesk,sans-serif;font-weight:400;font-size:.875rem;border:none;border-radius:8px;cursor:pointer;transition:opacity .2s}.login-submit-btn:hover:not(:disabled){opacity:.9}.login-submit-btn:disabled{background:#ccc;cursor:not-allowed}.error-msg{color:#e53e3e;font-size:.85rem;margin-bottom:1.5rem;text-align:center;font-family:FKGrotesk,sans-serif}.success-msg{color:#38a169;font-size:.85rem;margin-bottom:1.5rem;text-align:center;font-family:FKGrotesk,sans-serif}.reset-card{max-width:600px;text-align:center}.reset-title{font-family:FKScreamer,sans-serif;font-size:3.5rem;font-weight:300;margin-bottom:2rem;letter-spacing:-1px}.reset-instructions{font-family:FKGrotesk,sans-serif;font-size:1rem;color:#333;line-height:1.5;margin-bottom:2.5rem;max-width:500px;margin-left:auto;margin-right:auto}@keyframes favorite-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.4)}}.animate-favorite-bounce{animation:favorite-bounce .4s cubic-bezier(.175,.885,.32,1.275)}
