.login-container{display:flex;justify-content:center;align-items:center;min-height:80vh;padding:2rem;background-color:#f8f9fa}.login-form-container{width:100%;max-width:450px;padding:2rem;background-color:white;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.1)}.login-form-container h1{text-align:center;margin-bottom:1.5rem;color:#333;font-size:1.8rem}.login-form{gap:1.2rem}.form-group,.login-form{display:flex;flex-direction:column}.form-group label{margin-bottom:.5rem;font-weight:500;color:#555}.form-group input{padding:.8rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;transition:border-color .3s}.form-group input:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 2px rgba(74,144,226,.2)}.form-group input.error{border-color:#e74c3c}.error-message{color:#e74c3c;font-size:.85rem;margin-top:.4rem}.submit-button{margin-top:1rem;padding:.8rem;background-color:#4a90e2;color:white;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .3s}.submit-button:hover{background-color:#3a7bc8}.form-footer{margin-top:1.5rem;text-align:center;color:#666}.toggle-button{background:none;border:none;color:#4a90e2;font-weight:600;cursor:pointer;margin-left:.5rem;padding:0;font-size:inherit}.toggle-button:hover{text-decoration:underline}.forgot-password{display:block;margin-top:1rem;color:#666;text-decoration:none;font-size:.9rem}.forgot-password:hover{text-decoration:underline}@media (max-width:768px){.login-form-container{padding:1.5rem}.login-container{padding:1rem}}