﻿:root {
    --main-color-1: #2C4D21;
    --main-color-2: #8CC049; /*Vert prairie*/
    --main-color-2-op: #8CC0494D; /*Vert prairie op 30%*/
    --main-color-3: #F8F9F8; /*Gris léger*/
    --main-color-4: #E4EED1;
    --bg-ultra-light: #fcfdfd;
    --bg-light: #f8f9f8;
    --bg-disabled: #F4F5F4;
    --bg-dim: #E0E1E0;
    --bg-dark: #D3D3D3;
    --gray-medium: #afaeb2;
    --holiday: #ffb6c180;
    --school-holiday: #E6E6FAB3;
    --weekly-rest-day: #FAFAD2;
    --ok-color: #8cbfc2;
    --ok-high-color: #008000;
    --pending-color: #a503fc;
    --warning-color: #f0976b;
    --warning-color-soft: #f7b89d;
    --danger-color: #ec7773;
    --danger-high-color: #FF0000;
    --danger-color-soft: #f5b8b6;
    --menu-color: #95A690;
    --menu-color-hover: #bcc7b9;
    --emphasize-color: #0000FF;
    --current-day: #87CEEB4D;
    --selected-color: #B6E77C;
    --border-color: #CED4DA;
    --estimated-budget-color: #6495ED;

    /* Neutral grays (former CSS keywords) */
    --gray: #808080; /* grey */
    --gray-dark: #696969; /* dimgrey */
    --gray-light: #DCDCDC; /* gainsboro */

    /* Brand shades that used to live as literals */
    --nav-hover: #48653F;
    --zebra-theme-odd: #E8F2DA;
    --zebra-theme-even: #D1E5B6;
    --scope-year-bg: #E9F5DB;
    --alert-header: #FFAF00;

    /* Links, focus, validation */
    --link-color: #0066CC;
    --link-hover-color: #0052A3;
    --focus-color: var(--main-color-1);
    --valid-color: #26B050;
    --accent-blue: #1E90FF; /* dodgerblue */
    --file-link: #00B1CA;
    --file-link-hover: #25A5C4;
    --file-upload-hover: #0071C1;
    --toggle-off: #C0CEDA;

    /* Banners */
    --alert-warning-bg: #F5DEB3; /* wheat */
    --alert-warning-fg: #FF7F50; /* coral */
    --alert-danger-bg: #F8D7DA;
    --alert-danger-fg: #842029;
    --alert-danger-border: #F5C2C7;
    --error-ui-bg: #FFFFE0; /* lightyellow */
    --error-boundary-bg: #B32121;

    /* Environment badge in the navigation bar. Plain green, amber and red: the muted --ok-color,
       --warning-color and --danger-color are all too soft on the dark green bar. Same values as the back
       office, so both applications speak one signal language. */
    --ok-strong: #2E7D32;
    --warning-strong: #F9A825;
    --danger-strong: #C62828;

    /* Weather gauge */
    --gauge-bg: #E8F0FE;
    --gauge-fg: #1A73E8;

    /* Weather icons, drawn on the light day cards (#F8F9F8, #D8E8C4 when selected, #D3D3D3 on hover):
       dark enough to keep about 3:1 there, the sun excepted, which turns brown any darker. Blues
       deepen with the amount of rain or snow, grays with the cloud cover. */
    --weather-sun: #D98E04;
    --weather-moon: #5B6F95;
    --weather-cloud-light: #7E8C9A;
    --weather-cloud: #66727F;
    --weather-fog: #8A949E;
    --weather-drizzle: #3D8FC4;
    --weather-rain: #2470B3;
    --weather-rain-heavy: #1B4F8A;
    --weather-snow: #4C9BD6;
    --weather-snow-heavy: #2E78B8;
    --weather-storm: #7048A8;

    /* Water restriction levels (legal table, official alert colors) */
    --water-fg: #111111;
    --water-muted: #666666;
    --water-card: #F6F7F9;
    --water-border: #E5E7EB;
    --water-vigilance: #0EA5E9;
    --water-alert: #F59E0B;
    --water-alert-high: #EF4444;
    --water-crisis: #111827;
    --water-crisis-fg: #F9FAFB;
}

.main-color-1 {
    color: var(--main-color-1);
}

.main-color-2 {
    color: var(--main-color-2);
}

.main-color-3 {
    color: var(--main-color-3);
}

.main-color-4 {
    color: var(--main-color-4);
}

.gray-medium {
    color: var(--gray-medium);
}

.school-holiday {
    color: var(--school-holiday);
}

.ok-color {
    color: var(--ok-color);
}

.ok-high-color {
    color: var(--ok-high-color);
}

.pending-color {
    color: var(--pending-color);
}

.warning-color {
    color: var(--warning-color);
}

.danger-color {
    color: var(--danger-color);
}

.danger-high-color {
    color: var(--danger-high-color);
}

.weather-sun { color: var(--weather-sun); }
.weather-moon { color: var(--weather-moon); }
.weather-cloud-light { color: var(--weather-cloud-light); }
.weather-cloud { color: var(--weather-cloud); }
.weather-fog { color: var(--weather-fog); }
.weather-drizzle { color: var(--weather-drizzle); }
.weather-rain { color: var(--weather-rain); }
.weather-rain-heavy { color: var(--weather-rain-heavy); }
.weather-snow { color: var(--weather-snow); }
.weather-snow-heavy { color: var(--weather-snow-heavy); }
.weather-storm { color: var(--weather-storm); }

.even-line-bg {
    background-color: var(--bg-dark) !important
}

.emphasize-color {
    color: var(--emphasize-color) !important;
}

.bg-danger {
    background-color: #f9b5ac !important;
}

.bg-ok {
    background-color: #b3e9c7 !important;
}

.bg-warning {
    background-color: #f4c95d !important;
}

.bg-ok-high {
    background-color: var(--ok-high-color) !important;
}

.bg-bg-dark {
    background-color: var(--bg-dark) !important;
}

.bg-bg-light {
    background-color: var(--bg-light) !important;
}

.bg-weekly-rest-day {
    background-color: var(--weekly-rest-day);
}

.bg-current-day {
    background-color: var(--current-day);
}

.bg-holiday {
    background-color: var(--holiday);
}

.bg-school-holiday {
    background-color: var(--school-holiday);
}

.bg-selected {
    background-color: var(--selected-color) !important;
}

.bg-white {
    background-color: white;
}
