:root {
    --color-background: #e7ecf5;
    --color-primary: #0c419a;
    --color-primary-dark: #07275c;
    --color-footer: #2f384d;
    --color-info-banner: #ced9eb;
    --color-primary-hover: #0a3580;
    --color-legend: #23b2bb;
    --bs-font-sans-serif: Arial, sans-serif;
    --bs-body-font-family: Arial, sans-serif;
}

body {
    background-color: var(--color-background);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    font-family: Arial, sans-serif;
}

main {
    flex: 1;
}

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

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

.text-primary,
.link-primary {
    color: var(--color-primary) !important;
}

.link-primary:hover {
    color: var(--color-primary-dark) !important;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--color-primary-dark);
}

.card-header-primary {
    background-color: white;
    color: var(--color-primary-dark);
    border-bottom: none;
}

.card-header-primary h1 {
    font-weight: 900;
    font-size: 2.5rem;
}

legend {
    color: var(--color-legend) !important;
}

.alert-info-custom {
    background-color: var(--color-info-banner);
    border-color: var(--color-info-banner);
    color: var(--color-primary-dark);
}

.footer {
    background-color: var(--color-footer);
    color: white;
}

.footer a {
    color: white;
}

.footer a:hover {
    color: var(--color-info-banner);
}

.form-check-label {
    display: inline-flex;
    align-items: baseline;
}

.form-check-label abbr {
    margin-left: 0.25rem;
    white-space: nowrap;
}

@media (max-width: 576px) {
    .form-check {
        padding-left: 1em;
    }
}

.logo-header {
    max-height: 60px;
}

@media (max-width: 576px) {
    .logo-header {
        max-height: 40px;
    }
}

.flatpickr-calendar {
    border-radius: 0.5rem;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    border: 1px solid rgba(0, 0, 0, 0.1);
    font-family: Arial, sans-serif;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: white;
}

.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover {
    background-color: var(--color-primary-hover);
    border-color: var(--color-primary-hover);
    color: white;
}

.flatpickr-day:hover {
    background-color: var(--color-info-banner);
    border-color: var(--color-info-banner);
}

.flatpickr-months .flatpickr-month {
    background-color: var(--color-primary);
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
    background-color: var(--color-primary);
    color: white;
}

.flatpickr-current-month input.cur-year {
    color: white;
}

.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
    background-color: var(--color-primary-hover);
}

.flatpickr-current-month .numInputWrapper span {
    border-color: rgba(255, 255, 255, 0.3);
}

.flatpickr-current-month .numInputWrapper span:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

.flatpickr-current-month .numInputWrapper span.arrowUp:after {
    border-bottom-color: white;
}

.flatpickr-current-month .numInputWrapper span.arrowDown:after {
    border-top-color: white;
}

.flatpickr-weekdays {
    background-color: var(--color-primary-dark);
}

.flatpickr-weekdays .flatpickr-weekdaycontainer .flatpickr-weekday {
    color: white;
}

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
    color: white;
    fill: white;
}

.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
    color: rgba(255, 255, 255, 0.8);
}

.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
    fill: rgba(255, 255, 255, 0.8);
}
