:root {
    --bs-primary: #1A237E;
    --bs-secondary: #6c757d;
    --bs-success: #198754;
    --bs-info: #0dcaf0;
    --bs-warning: #ffc107;
    --bs-danger: #dc3545;
    --bs-light: #F5F5F5;
    --bs-dark: #212121;
    --bs-primary-rgb: 26, 35, 126;
    --bs-font-sans-serif: 'Lato', sans-serif;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
}

body {
    background-color: var(--bs-light);
    color: var(--bs-dark);
}

.hero-section {
    background: linear-gradient(to right, #1A237E, #2962FF);
    padding: 4rem 0;
    margin-bottom: -1px; /* Overlap to avoid gap */
}

.section-title {
    color: var(--bs-primary);
    font-weight: 700;
}

.btn-primary {
    background-color: #2962FF;
    border-color: #2962FF;
    transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;
}

.btn-primary:hover {
    background-color: #1A237E;
    border-color: #1A237E;
}

.card {
    border: none;
}

.card-header.bg-primary {
     background-color: var(--bs-primary) !important;
}

.table {
    margin-bottom: 0;
}

.table th {
    font-weight: 600;
    color: var(--bs-dark);
}

.badge.bg-primary-soft {
    color: var(--bs-primary);
    background-color: rgba(var(--bs-primary-rgb), 0.1);
}