@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css");:root{--primary-color:#6c4ab6;--secondary-color:#4a30a5;--accent-color:#d64a6c;--background-light:#ffffff;--text-dark:#2d2d2d;--card-light:#fafafa;--border-color:#e0e0e0;--gradient-start:#f9f9ff;--gradient-end:#fff9e6}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,Arial,sans-serif;background-color:var(--background-light);color:var(--text-dark);line-height:1.6;overflow-x:hidden;background-image:linear-gradient(135deg,var(--gradient-start) 0,var(--gradient-end) 100%)}.container{max-width:1200px;margin:auto;padding:2rem}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:2rem}.login-form{width:100%;max-width:400px;padding:2rem;background-color:white;border-radius:12px;box-shadow:0 4px 15px rgba(0,0,0,.05);border:1px solid var(--border-color)}.login-form h1{text-align:center;font-size:2.5rem;color:var(--primary-color);margin-bottom:1rem;font-weight:700}.login-form p{text-align:center;color:var(--text-dark);margin-bottom:2rem;font-size:1.1rem}.login-form label{display:block;margin-top:1rem;font-size:.9rem;color:var(--text-dark);font-weight:700}.login-form input[type=email],.login-form input[type=password]{width:100%;padding:.75rem;margin-top:.5rem;border:1px solid var(--border-color);border-radius:6px;font-size:1rem;color:var(--text-dark);background-color:white;transition:border-color .3s ease}.login-form input[type=email]:focus,.login-form input[type=password]:focus{border-color:var(--primary-color);outline:none}.login-form .remember-me{display:flex;align-items:center;margin:1rem 0}.login-form .remember-me input{margin-right:.5rem;accent-color:var(--primary-color)}.login-form .forgot-password{display:block;text-align:right;margin:.5rem 0;font-size:.9rem;color:var(--secondary-color);text-decoration:none}.login-form .forgot-password:hover{text-decoration:underline}.login-form .submit-button{width:100%;padding:.75rem;margin-top:1rem;background:linear-gradient(to right,var(--primary-color),var(--accent-color));color:white;border:none;border-radius:6px;font-size:1rem;font-weight:700;cursor:pointer;transition:background .3s ease,transform .2s ease}.login-form .submit-button:hover{background:linear-gradient(90deg,#5a3b9d,#c53a5d);transform:scale(1.02)}.login-form .divider{display:flex;align-items:center;margin:2rem 0;text-align:center}.login-form .divider:after,.login-form .divider:before{content:"";flex:1;border-bottom:1px solid var(--border-color)}.login-form .divider span{padding:0 1rem;color:var(--text-dark);font-size:.9rem}.login-form .google-button{width:100%;padding:.75rem;margin:1rem 0;background-color:white;border:1px solid var(--border-color);border-radius:6px;font-size:1rem;font-weight:700;color:var(--text-dark);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .3s ease}.login-form .google-button:hover{background-color:#f0f0f0}.login-form .google-button img{width:20px;height:20px;margin-right:.5rem}.login-form .register-link{text-align:center;margin-top:1.5rem;font-size:.9rem;color:var(--text-dark)}.login-form .register-link a{color:var(--secondary-color);text-decoration:none;font-weight:700}.login-form .register-link a:hover{text-decoration:underline}.message-success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.message-error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}