:root {
    --bi2bi-primary: #1E5AA8;
    --bi2bi-primary-dark: #0F3D73;
    --bi2bi-primary-light: #E8F1FA;
    --bi2bi-primary-muted: #5B8FC7;
    --bi2bi-surface: #F8FAFC;
    --bi2bi-text: #1E293B;
}

.bi2bi-site {
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: #212529;
}

.bi2bi-navbar {
    background-color: var(--bi2bi-primary) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.bi2bi-navbar .navbar-brand,
.bi2bi-navbar .nav-link {
    color: #fff !important;
}

.bi2bi-navbar .nav-link.active,
.bi2bi-navbar .nav-link:hover {
    color: rgba(255, 255, 255, 0.85) !important;
}

.bi2bi-nav-logo {
    filter: brightness(0) invert(1);
}

.bi2bi-cta {
    color: var(--bi2bi-primary-dark) !important;
    font-weight: 600;
}

.bi2bi-cta:hover {
    background-color: #f8f9fa !important;
}

.bi2bi-footer {
    background-color: #1a1d21;
    color: #adb5bd;
}

.bi2bi-footer .bi2bi-tagline {
    color: #fff;
    font-size: 1.1rem;
    letter-spacing: 0.02em;
}

.bi2bi-hero {
    background: linear-gradient(135deg, var(--bi2bi-primary) 0%, var(--bi2bi-primary-dark) 100%);
    color: #fff;
    padding: 4rem 0;
}

.bi2bi-hero h1 {
    font-weight: 700;
}

.bi2bi-hero .form-control:focus {
    border-color: var(--bi2bi-primary);
    box-shadow: 0 0 0 0.25rem rgba(30, 90, 168, 0.25);
}

.bi2bi-stat-card {
    border: none;
    border-radius: 0.5rem;
    box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    height: 100%;
}

.bi2bi-stat-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 0.25rem 1rem rgba(30, 90, 168, 0.15);
}

.bi2bi-stat-card .stat-value {
    color: var(--bi2bi-primary);
    font-size: 2rem;
    font-weight: 700;
}

.bi2bi-stat-card .stat-label {
    color: #6c757d;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.bi2bi-section-title {
    font-weight: 600;
    margin-bottom: 1.5rem;
}

.bi2bi-category-card {
    border: 1px solid #e9ecef;
    border-radius: 0.5rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.bi2bi-category-card:hover {
    border-color: var(--bi2bi-primary);
    box-shadow: 0 0.25rem 0.75rem rgba(30, 90, 168, 0.12);
}

.btn-bi2bi-primary {
    background-color: var(--bi2bi-primary);
    border-color: var(--bi2bi-primary);
    color: #fff;
}

.btn-bi2bi-primary:hover {
    background-color: var(--bi2bi-primary-dark);
    border-color: var(--bi2bi-primary-dark);
    color: #fff;
}
