.error-message{padding:14px 18px;background-color:#fafafa;border-left:3px solid #666;border-radius:4px;margin:20px 0}.error-text{margin:0;font-size:14px;line-height:1.6;color:#333;font-weight:400}@media(max-width:768px){.error-message{padding:12px 14px}.error-text{font-size:13px}}.auth-page{min-height:calc(100vh - 140px);display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:#fafafa}.auth-container{width:100%;max-width:480px;margin:0 auto}.auth-box{background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000001a;padding:3rem 2.5rem}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h1{font-family:Poppins,Source Sans Pro,Inter,sans-serif;font-size:2rem;font-weight:600;color:#000;margin:0 0 .5rem;letter-spacing:-.3px;line-height:1.3}.auth-header p{font-size:.95rem;color:#666;margin:0}.auth-error{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fafafa;border:1px solid #f0f0f0;border-radius:4px;color:#666;font-size:.9rem;margin-bottom:1.5rem}.auth-error svg{flex-shrink:0}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.938rem;font-weight:600;color:#333}.form-group input{width:100%;padding:.875rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:Poppins,Source Sans Pro,Inter,sans-serif;transition:all .2s;background:#fafafa}.form-group input:focus{outline:none;border-color:#000;background:#fff;box-shadow:0 0 0 3px #0000000d}.form-group input::placeholder{color:#999}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{padding-right:3rem}.password-toggle{position:absolute;right:.75rem;background:none;border:none;color:#666;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:color .2s}.password-toggle:hover{color:#000}.password-toggle svg{width:20px;height:20px}.form-footer{display:flex;justify-content:flex-end;margin-top:-.5rem}.forgot-password-link{font-size:.875rem;color:#666;text-decoration:none;transition:color .2s}.forgot-password-link:hover{color:#000;text-decoration:underline}.auth-submit-btn{width:100%;padding:1rem;background:#000;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:.5rem}.auth-submit-btn:hover:not(:disabled){background:#333;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-divider{display:flex;align-items:center;text-align:center;margin:1.5rem 0;color:#999;font-size:.875rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid #e0e0e0}.auth-divider span{padding:0 1rem}.social-auth-buttons{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.social-auth-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:.875rem 1rem;border:2px solid #e0e0e0;border-radius:8px;background:#fff;font-size:.938rem;font-weight:600;cursor:pointer;transition:all .2s}.social-auth-btn:not(:disabled):hover{border-color:#000;transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.social-auth-btn:disabled{opacity:.5;cursor:not-allowed}.social-auth-btn.google{color:#000;border-color:#dadce0}.social-auth-btn.google:not(:disabled):hover{background:#f8f9fa;border-color:#000}.social-auth-btn.facebook,.social-auth-btn.twitter{color:#000}.social-auth-btn svg{flex-shrink:0}.auth-footer{margin-top:2rem;padding-top:2rem;border-top:1px solid #e0e0e0;text-align:center}.auth-footer p{font-size:.938rem;color:#666;margin:0}.auth-footer a{color:#000;font-weight:600;text-decoration:none;transition:opacity .2s}.auth-footer a:hover{opacity:.7;text-decoration:underline}.spinner{width:40px;height:40px;margin:0 auto;border:4px solid #f3f3f3;border-top:4px solid #000;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:600px){.auth-box{padding:2rem 1.5rem}.auth-header h1{font-size:1.75rem}.auth-header p{font-size:.875rem}}
