Spaces:
Running
Running
| /* 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; | |
| } | |
| } |