@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600&family=Poppins:wght@600;700&display=swap'); :root { --primary-color: #4A90E2; --secondary-color: #50E3C2; --background-color: #F4F7F6; --surface-color: #FFFFFF; --text-color: #333333; --border-radius: 0.75rem; --primary-font: 'Poppins', sans-serif; --secondary-font: 'Open Sans', sans-serif; } body { background-color: var(--background-color); font-family: var(--secondary-font); color: var(--text-color); margin: 0; } h1, h2, h3, h4, h5, h6 { font-family: var(--primary-font); font-weight: 700; } /* New Login Page Styles */ .login-container { display: flex; min-height: 100vh; width: 100%; } .login-hero-split { flex: 1; background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)); display: flex; justify-content: center; align-items: center; color: white; padding: 3rem; text-align: center; } .hero-content { max-width: 400px; } .hero-title { font-size: 3.5rem; font-weight: 700; margin-bottom: 1rem; } .hero-subtitle { font-size: 1.25rem; font-family: var(--secondary-font); opacity: 0.9; } .login-form-area { flex: 1; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 3rem; background-color: var(--surface-color); } .login-card { width: 100%; max-width: 400px; border: none; box-shadow: 0 15px 40px rgba(0,0,0,0.08); border-radius: var(--border-radius); padding: 2.5rem; background-color: var(--surface-color); } .login-card .card-title { color: var(--primary-color); font-weight: 600; } .form-label { font-weight: 600; color: #555; } .form-control { border-radius: var(--border-radius); padding: 0.85rem 1.1rem; border: 1px solid #ddd; transition: border-color 0.2s, box-shadow 0.2s; } .form-control:focus { box-shadow: 0 0 0 0.25rem rgba(74, 144, 226, 0.2); border-color: var(--primary-color); } .btn-primary { background-color: var(--primary-color); border-color: var(--primary-color); border-radius: var(--border-radius); padding: 0.85rem 1.5rem; font-weight: 600; font-size: 1.1rem; transition: background-color 0.3s ease, transform 0.2s ease; } .btn-primary:hover { background-color: #357ABD; border-color: #357ABD; transform: translateY(-2px); } .alert { border-radius: var(--border-radius); } /* Admin Dashboard Styles */ .admin-container { display: flex; min-height: 100vh; } .sidebar { width: 250px; background-color: var(--surface-color); box-shadow: 2px 0 10px rgba(0,0,0,0.05); display: flex; flex-direction: column; } .sidebar-header { padding: 1.5rem; text-align: center; border-bottom: 1px solid var(--background-color); } .sidebar-header h3 { color: var(--primary-color); margin: 0; } .sidebar-nav ul { list-style: none; padding: 0; margin: 1rem 0; } .sidebar-nav li { padding: 0.5rem 1.5rem; } .sidebar-nav a { text-decoration: none; color: var(--text-color); font-weight: 600; display: block; transition: color 0.2s ease; } .sidebar-nav a:hover, .sidebar-nav li.active a { color: var(--primary-color); } .main-content { flex-grow: 1; padding: 2rem; background-color: var(--background-color); } .main-header { margin-bottom: 2rem; } .dashboard-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1.5rem; } .dashboard-card { background-color: var(--surface-color); border-radius: var(--border-radius); padding: 1.5rem; box-shadow: 0 4px 15px rgba(0,0,0,0.05); transition: transform 0.3s ease, box-shadow 0.3s ease; } .dashboard-card:hover { transform: translateY(-5px); box-shadow: 0 8px 25px rgba(0,0,0,0.08); } .dashboard-card h4 { color: var(--primary-color); margin-top: 0; margin-bottom: 0.5rem; } .card-value { font-size: 2.5rem; font-weight: 700; margin-bottom: 0.5rem; } .card-footer { color: #6c757d; font-size: 0.9rem; } /* User Management Table */ .user-table { width: 100%; border-collapse: collapse; margin-top: 1rem; } .user-table th, .user-table td { padding: 0.75rem 1rem; text-align: left; border-bottom: 1px solid #eee; } .user-table thead th { font-family: var(--primary-font); font-weight: 600; color: var(--primary-color); } .user-table tbody tr:hover { background-color: rgba(74, 144, 226, 0.05); } .action-link { color: var(--primary-color); text-decoration: none; margin-right: 1rem; font-weight: 600; } .action-link:hover { text-decoration: underline; } .full-width-card { grid-column: 1 / -1; } .content-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; } .form-group { margin-bottom: 1.5rem; } .error-message { color: #dc3545; font-size: 0.875em; margin-top: 0.25rem; } .alert-danger { color: #721c24; background-color: #f8d7da; border-color: #f5c6cb; } .alert-success { color: #155724; background-color: #d4edda; border-color: #c3e6cb; } @media (max-width: 768px) { .login-container { flex-direction: column; } .login-hero-split { padding: 2rem; min-height: 200px; } .hero-title { font-size: 2.5rem; } .login-form-area { padding: 2rem 1rem; } }