.login-page{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:2rem;background-color:#f9fafb}.login-page .login-card{width:100%;max-width:450px;padding:2.5rem;background:#fff;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.08)}.login-page .login-card .login-header{text-align:center;margin-bottom:2rem}.login-page .login-card .login-header h1{font-size:1.75rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.login-page .login-card .login-header .login-subtitle{color:#6b7280;font-size:.95rem}.login-page .login-card .success-message{display:flex;align-items:center;padding:1rem;background-color:#ecfdf5;color:#047857;border-radius:6px;margin-bottom:1.5rem}.login-page .login-card .success-message svg{margin-right:.75rem;flex-shrink:0}.login-page .login-card .error-alert{padding:1rem;background-color:#fef2f2;color:#b91c1c;border-radius:6px;margin-bottom:1.5rem}.login-page .login-card .login-form .form-control{margin-bottom:1.5rem}.login-page .login-card .login-form .form-control label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151}.login-page .login-card .login-form .form-control .label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.login-page .login-card .login-form .form-control .label-row .forgot-password{font-size:.85rem;color:#4f46e5;text-decoration:none}.login-page .login-card .login-form .form-control .label-row .forgot-password:hover{text-decoration:underline}.login-page .login-card .login-form .form-control .input-wrapper{position:relative}.login-page .login-card .login-form .form-control .input-wrapper .input-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#9ca3af}.login-page .login-card .login-form .form-control .input-wrapper input{width:100%;padding:.75rem 1rem .75rem 2.5rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;transition:all .15s ease}.login-page .login-card .login-form .form-control .input-wrapper input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px rgba(79,70,229,.1)}.login-page .login-card .login-form .form-control .input-wrapper input::-moz-placeholder{color:#9ca3af}.login-page .login-card .login-form .form-control .input-wrapper input::placeholder{color:#9ca3af}.login-page .login-card .login-form .form-control .input-wrapper .password-toggle{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:transparent;border:none;cursor:pointer;color:#6b7280;padding:.25rem}.login-page .login-card .login-form .form-control .input-wrapper .password-toggle:hover{color:#4b5563}.login-page .login-card .login-form .form-control .error-message{margin-top:.5rem;color:#ef4444;font-size:.875rem}.login-page .login-card .login-form .form-control-inline{margin-bottom:1.5rem}.login-page .login-card .login-form .form-control-inline .checkbox-label{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.login-page .login-card .login-form .form-control-inline .checkbox-label input[type=checkbox]{width:1rem;height:1rem;margin:0;cursor:pointer;accent-color:#4f46e5;flex-shrink:0}.login-page .login-card .login-form .form-control-inline .checkbox-label span{font-size:.9rem;color:#4b5563;line-height:1.4}.login-page .login-card .login-form .btn-login{width:100%;padding:.875rem 1rem;background-color:#4f46e5;color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .15s ease;display:flex;justify-content:center;align-items:center}.login-page .login-card .login-form .btn-login:hover{background-color:#4338ca}.login-page .login-card .login-form .btn-login:disabled{opacity:.7;cursor:not-allowed}.login-page .login-card .login-footer{margin-top:2rem}.login-page .login-card .login-footer .register-link{text-align:center;font-size:.9rem;color:#6b7280}.login-page .login-card .login-footer .register-link a{color:#4f46e5;font-weight:500;text-decoration:none}.login-page .login-card .login-footer .register-link a:hover{text-decoration:underline}.login-page .login-card .login-footer .or-divider{position:relative;text-align:center;margin:1.5rem 0}.login-page .login-card .login-footer .or-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background-color:#e5e7eb}.login-page .login-card .login-footer .or-divider span{position:relative;display:inline-block;padding:0 .75rem;background-color:#fff;color:#9ca3af;font-size:.85rem}.login-page .login-card .login-footer .social-login .social-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:.75rem 1rem;border-radius:6px;background-color:#fff;border:1px solid #d1d5db;font-weight:500;color:#4b5563;cursor:pointer;transition:all .15s ease}.login-page .login-card .login-footer .social-login .social-btn img{margin-right:.75rem}.login-page .login-card .login-footer .social-login .social-btn:hover{background-color:#f9fafb;border-color:#9ca3af}.login-page .login-card .login-footer .social-login .social-btn.google:hover{background-color:#f8fafc;box-shadow:0 1px 3px rgba(0,0,0,.05)}