@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&display=swap'); :root { --primary-color: #4A90E2; --secondary-color: #50E3C2; --background-color: #F4F7F6; --surface-color: #FFFFFF; --text-color: #333333; --light-text-color: #FFFFFF; --border-radius: 0.5rem; --shadow: 0 4px 6px rgba(0, 0, 0, 0.1); } body { font-family: 'Poppins', sans-serif; background-color: var(--background-color); color: var(--text-color); margin: 0; padding: 0; display: flex; align-items: center; justify-content: center; min-height: 100vh; } .login-container { width: 100%; height: 100vh; display: flex; align-items: center; justify-content: center; background: linear-gradient(rgba(74, 144, 226, 0.8), rgba(80, 227, 194, 0.8)), url('https://picsum.photos/seed/schoolhero/1600/900') no-repeat center center; background-size: cover; } .login-card { background: var(--surface-color); padding: 2.5rem 2rem; border-radius: var(--border-radius); box-shadow: var(--shadow); width: 100%; max-width: 400px; text-align: center; animation: fadeIn 0.5s ease-in-out; } @keyframes fadeIn { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } } .login-card img.logo { width: 150px; margin-bottom: 1rem; } .login-card h1 { margin-bottom: 0.5rem; font-weight: 700; color: var(--text-color); } .login-card p.tagline { margin-bottom: 2rem; color: #666; } .form-group { margin-bottom: 1.5rem; text-align: left; } .form-group label { display: block; margin-bottom: 0.5rem; font-weight: 600; } .form-control, .form-select { width: 100%; padding: 0.75rem; border: 1px solid #ccc; border-radius: var(--border-radius); box-sizing: border-box; transition: border-color 0.3s; } .form-control:focus, .form-select:focus { outline: none; border-color: var(--primary-color); } .btn-login { width: 100%; padding: 0.85rem; border: none; border-radius: var(--border-radius); background-color: var(--primary-color); color: var(--light-text-color); font-size: 1rem; font-weight: 600; cursor: pointer; transition: background-color 0.3s, transform 0.2s; } .btn-login:hover { background-color: #357ABD; transform: translateY(-2px); } .footer { position: absolute; bottom: 1rem; color: var(--light-text-color); text-align: center; width: 100%; font-size: 0.9rem; } #error-message { color: #721c24; /* Dark red text */ background-color: #f8d7da; /* Light red background */ border: 1px solid #f5c6cb; /* Red border */ padding: 0.75rem 1.25rem; margin-bottom: 1rem; border-radius: var(--border-radius); display: none; /* Hidden by default */ text-align: center; font-size: 0.9rem; }