/* Login Page Theme Variables */ :root { --bg-color: #f4f6f8; --card-bg: #fff; --text-primary: #2c3e50; --text-secondary: #7f8c8d; --accent-color: #4285f4; --border-color: #e1e4e8; --error-color: #e74c3c; --success-color: #27ae60; --shadow-sm: 0 2px 4px rgba(0,0,0,0.05); --shadow-md: 0 4px 6px rgba(0,0,0,0.1); --shadow-lg: 0 10px 15px rgba(0,0,0,0.1); } /* Reset and Base Styles */ * { margin: 0; padding: 0; box-sizing: border-box; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; } body { background-color: var(--bg-color); min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 20px; } /* Login Container */ .login-container { width: 100%; max-width: 400px; } .login-card { background-color: var(--card-bg); border-radius: 12px; box-shadow: var(--shadow-lg); padding: 32px; } /* Login Header */ .login-header { text-align: center; margin-bottom: 32px; } .login-logo { width: 120px; height: auto; margin-bottom: 16px; } .login-header h1 { color: var(--text-primary); font-size: 24px; font-weight: 600; } /* Login Form */ .login-form { margin-bottom: 24px; } .form-group { margin-bottom: 20px; } .form-group label { display: block; color: var(--text-secondary); margin-bottom: 8px; font-size: 14px; } .form-group label i { margin-right: 8px; color: var(--accent-color); } .form-group input { width: 100%; padding: 12px; border: 1px solid var(--border-color); border-radius: 6px; font-size: 16px; transition: all 0.2s ease; } .form-group input:focus { outline: none; border-color: var(--accent-color); box-shadow: 0 0 0 3px rgba(66, 133, 244, 0.1); } /* Password Input Group */ .password-input { position: relative; } .toggle-password { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); background: none; border: none; color: var(--text-secondary); cursor: pointer; padding: 4px; } .toggle-password:hover { color: var(--text-primary); } /* Error Message */ .error-message { color: var(--error-color); font-size: 14px; margin-bottom: 16px; min-height: 20px; } /* Login Button */ .login-btn { width: 100%; padding: 12px; background-color: var(--accent-color); color: white; border: none; border-radius: 6px; font-size: 16px; font-weight: 500; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; transition: all 0.2s ease; } .login-btn:hover { opacity: 0.9; transform: translateY(-1px); } .login-btn:active { transform: translateY(0); } /* Login Footer */ .login-footer { text-align: center; margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--border-color); } .login-footer p { color: var(--text-secondary); font-size: 14px; margin-bottom: 12px; } .back-link { color: var(--accent-color); text-decoration: none; font-size: 14px; display: inline-flex; align-items: center; gap: 4px; transition: color 0.2s ease; } .back-link:hover { color: var(--text-primary); } /* Responsive Design */ @media (max-width: 480px) { .login-card { padding: 24px; } .login-logo { width: 100px; } .login-header h1 { font-size: 20px; } }