*{margin:0;padding:0;box-sizing:border-box}body{font-family:Figtree,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;display:flex;align-items:center;justify-content:center}.login-page{background:#fff;display:block}.login-page .login-split{display:flex;min-height:100vh}.login-page .login-left{width:40%;background:#f3f7ff;display:flex;align-items:center;justify-content:center}.login-page .login-left-inner{text-align:center}.login-page .login-logo{max-width:180px;height:auto;display:inline-block}.login-page .login-left-caption{margin-top:.75rem;color:#1f2d5a;font-weight:600}.login-page .login-right{width:60%;display:flex;align-items:center;justify-content:center;padding:2rem}.login-page .login-container{background:transparent;box-shadow:none;padding:0;max-width:420px;width:100%}.login-page .login-header{text-align:left;margin-bottom:1.25rem}.login-page .login-header h1{font-size:1.25rem;font-weight:700;color:#0f172a}.auth-container,.login-container,.forgot-password-container,.reset-password-container{background:#fff;padding:2rem;border-radius:10px;box-shadow:0 15px 35px #0000001a;width:100%;max-width:400px}.auth-header,.login-header,.forgot-password-header,.reset-password-header{text-align:center;margin-bottom:2rem}.auth-header h1,.login-header h1,.forgot-password-header h1,.reset-password-header h1{color:#333;font-size:2rem;font-weight:600;margin-bottom:.5rem}.auth-header p,.login-header p,.forgot-password-header p,.reset-password-header p{color:#666;font-size:.9rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:500}.form-group input{width:100%;padding:.8rem .9rem;border:2px solid #e1e5e9;border-radius:10px;font-size:1rem;transition:border-color .3s ease,background-color .3s ease;background:#eef3ff;border-color:#d6e0fe}.form-group input:focus{outline:none;border-color:#5477ff;background:#e9efff}.form-group input.error{border-color:#e53e3e}.error-message{color:#e53e3e;font-size:.875rem;margin-top:.25rem}.auth-button,.login-button,.submit-button{width:100%;background:#153e90;color:#fff;border:none;padding:.8rem;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background-color .2s ease,transform .2s ease}.auth-button:hover,.login-button:hover,.submit-button:hover{transform:translateY(-2px);background:#1a4db3}.auth-button:disabled,.login-button:disabled,.submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-link,.forgot-password,.back-to-login{text-align:center;margin-top:1rem}.auth-link a,.forgot-password a,.back-to-login a{color:#153e90;text-decoration:none;font-size:.9rem}.auth-link a:hover,.forgot-password a:hover,.back-to-login a:hover{text-decoration:underline}.loading{display:none;text-align:center;margin-top:1rem}.spinner{border:2px solid #f3f3f3;border-top:2px solid #667eea;border-radius:50%;width:20px;height:20px;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.alert{padding:.75rem;border-radius:5px;margin-bottom:1rem;font-size:.9rem}.alert-error{background-color:#fed7d7;color:#c53030;border:1px solid #feb2b2}.alert-success{background-color:#c6f6d5;color:#2f855a;border:1px solid #9ae6b4}.info-box{background-color:#e6f3ff;border:1px solid #b3d9ff;border-radius:5px;padding:1rem;margin-bottom:1.5rem;font-size:.9rem;color:#1a365d}.password-requirements{background-color:#f7fafc;border:1px solid #e2e8f0;border-radius:5px;padding:1rem;margin-bottom:1rem;font-size:.875rem;color:#4a5568}.password-requirements h4{margin-bottom:.5rem;color:#2d3748}.password-requirements ul{margin-left:1rem}.password-requirements li{margin-bottom:.25rem}
