:root {
    --cream: #ffffff;
    --cream-dark: #d7e5df;
    --background: 0 0% 100%;
    --secondary: 0 0% 100%;
    --accent: 0 0% 100%;
    --muted: 0 0% 98%;
    --radius: 1rem;
    --olive-dark: #014A37;
    --olive: #007A65;
    --olive-mid: #026a56;
    --olive-light: #2a9b87;
    --olive-pale: #d2ebe4;
    --gold: #d7aa45;
    --text: #12362c;
    --text-dark: #0a281f;
    --text-mid: #1d4f41;
    --text-light: #4c6f66;
}

html,
body {
    background: #ffffff !important;
}

body {
    background-image: none !important;
    color: var(--text-dark);
}

.bg-background,
.bg-card,
.bg-[var(--cream)] {
    background-color: #ffffff !important;
}

.content-card,
.stat-card,
.checkpoint-card,
.car-card,
.leaflet-container,
.pagination-btn,
.bg-white,
.bg-background,
.bg-card,
.bg-[var(--cream)] {
    border-radius: 20px;
}

.rounded-sm {
    border-radius: 14px !important;
}

.rounded,
.rounded-md {
    border-radius: 16px !important;
}

.rounded-lg,
.rounded-xl,
.rounded-2xl,
.sm\:rounded-lg {
    border-radius: 20px !important;
}

.shadow-sm,
.shadow-md,
.shadow-lg,
.hover\:shadow-md:hover,
.hover\:shadow-sm:hover {
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08) !important;
}

.site-header,
.footer-section,
footer.bg-\[var\(--olive-dark\)\],
header.site-header {
    background: #014A37 !important;
}

.accent-stripe-top,
.accent-stripe-bottom,
.flag-stripe-red,
.flag-stripe-olive {
    background: #014A37 !important;
}

.content-card,
.stat-card,
.panel,
.auth-card,
.info-card,
.ticket-shell,
.ticket-panel {
    border-color: rgba(1, 74, 55, 0.12) !important;
}

.btn-primary,
.primary-btn,
.bg-\[var\(--olive\)\],
.bg-\[var\(--olive-dark\)\] {
    background-color: #014A37 !important;
}

.hover\:bg-\[var\(--olive-dark\)\]:hover,
.hover\:bg-\[var\(--olive\)\]:hover {
    background-color: #007A65 !important;
}

.text-\[var\(--olive\)\],
.text-\[var\(--olive-dark\)\],
.text-primary {
    color: #014A37 !important;
}

.border-\[var\(--olive\)\],
.border-\[var\(--gold\)\] {
    border-color: rgba(1, 74, 55, 0.18) !important;
}

[data-sonner-toaster] {
    --border-radius: 18px;
}

[data-sonner-toast][data-styled="true"] {
    background: #ffffff;
    border-color: #e5e7eb;
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
}

.i18n-switcher {
    position: fixed;
    right: 16px;
    bottom: 16px;
    z-index: 120;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(1, 74, 55, 0.14);
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
    backdrop-filter: blur(10px);
}

.i18n-switcher__title {
    color: var(--text-light);
    font-size: 12px;
    font-weight: 600;
}

.i18n-switcher__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    color: var(--olive-dark);
    background: rgba(1, 74, 55, 0.06);
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.i18n-switcher__link.is-active {
    background: #014A37;
    color: #ffffff;
}

@media (max-width: 640px) {
    .i18n-switcher {
        right: 10px;
        bottom: 10px;
        padding: 8px 10px;
        gap: 6px;
    }

    .i18n-switcher__title {
        display: none;
    }
}