html {
    font-size: 14px;
}

:root {
    --nhs-blue: #005eb8;
    --bs-primary: #005eb8;
    --bs-primary-rgb: 0, 94, 184;
    --bs-link-color: #005eb8;
    --bs-link-hover-color: #004a91;
    --bs-primary-bg-subtle: #e6f0ff;
    --bs-primary-border-subtle: #c7dcff;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

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

.bg-primary {
    background-color: var(--nhs-blue) !important;
}

.text-primary {
    color: var(--nhs-blue) !important;
}

.btn-primary {
    background-color: var(--nhs-blue);
    border-color: var(--nhs-blue);
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: #004a91;
    border-color: #004a91;
}

.btn-outline-primary {
    color: var(--nhs-blue);
    border-color: var(--nhs-blue);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background-color: var(--nhs-blue);
    border-color: var(--nhs-blue);
}

.badge.bg-primary {
    background-color: var(--nhs-blue) !important;
}

.bg-label-primary,
.badge.bg-primary-subtle {
    background-color: #e6f0ff !important;
    color: #004a91 !important;
}

.menu-item.active > .menu-link,
.menu-item.open > .menu-link {
    color: var(--nhs-blue);
}

.report-link {
    color: inherit;
}

.report-link:hover {
    border-color: var(--nhs-blue);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.fc .fc-toolbar-title {
    font-size: 1.1rem;
}

.fc .fc-button-primary {
    background-color: var(--nhs-blue);
    border-color: var(--nhs-blue);
}

.fc .fc-button-primary:not(:disabled).fc-button-active,
.fc .fc-button-primary:not(:disabled):active,
.fc .fc-button-primary:hover {
    background-color: #004a91;
    border-color: #004a91;
}

#visit-calendar {
    min-height: 620px;
}

.card {
    border-radius: 0.8rem;
}

.metric-card {
    background: linear-gradient(135deg, #ffffff 0%, #f7faff 100%);
}

.map-container {
    min-height: 320px;
}

table td,
table th {
    vertical-align: middle;
}

.badge.bg-success-subtle {
    background-color: #e7f6ed;
}

.badge.bg-danger-subtle {
    background-color: #ffe5e9;
}
