:root {
    /* Primary scale — violet 4S de la maquette (hue oklch 295) */
    --rz-primary-50: #F7F4FE;
    --rz-primary-100: #EDE7FD;
    --rz-primary-200: #DCD1FB;
    --rz-primary-300: #C0AAF7;
    /* lighter */
    --rz-primary-400: #9C74F3;
    /* light */
    --rz-primary-500: #7C3AED;
    /* primary */
    --rz-primary-600: #6425D6;
    /* dark */

    --rz-primary-700: #4C1D95;
    /* maquette : couleur des titres de panneaux */
    --rz-primary-800: #3A1173;
    /* darker — fond sidebar */
    --rz-primary-900: #2A1050;
    /* Semantic aliases */
    --rz-primary-lighter: var(--rz-primary-100);
    --rz-primary-light: var(--rz-primary-300);
    --rz-primary: var(--rz-primary-500);
    --rz-primary-dark: var(--rz-primary-600);
    --rz-primary-darker: var(--rz-primary-800);
    --rz-on-primary: #ffffff;
    --rz-on-primary-light: #241238;
    --rz-on-primary-lighter: #2E1A47;
    --rz-on-primary-dark: #ffffff;
    --rz-on-primary-darker: #E4DBF6;
    /* Typographie de la maquette */
    --rz-text-font-family: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;
    --rz-text-monospace-font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
    /* Neutres de la maquette (gris froids, faible saturation) */
    /* Ombres de la maquette */
    --rz-shadow-1: 0 1px 2px rgba(34, 32, 58, 0.04);
    --rz-shadow-2: 0 1px 2px rgba(34, 32, 58, 0.04), 0 4px 12px rgba(34, 32, 58, 0.04);
    --rz-shadow-3: 0 12px 32px rgba(34, 32, 58, 0.08), 0 2px 6px rgba(34, 32, 58, 0.04);
    /* customisizing */
    --rz-layout-body-border-radius: 16px 0 0 16px;
    --rz-layout-body-margin: 0rem;
    --rz-layout-body-padding: 2rem;
    --rz-layout-body-background-color: var(--rz-base-100);
    --rz-layout-background-color: var(--rz-primary-darker);
    --rz-sidebar-background-color: var(--rz-primary-darker);
    --rz-card-background-color: var(--rz-base-50);
    --rz-dialog-background-color: var(--rz-base-50);
    --rz-dialog-title-background-color: var(--rz-base-50);
    --rz-grid-header-background-color: var(--rz-primary-100);
    --rz-grid-header-cell-border-bottom: var(--rz-border-width) solid var(--rz-base-600);
    --rz-button-border-radius: var(--rz-border-radius-2);
    --rz-input-border-radius: var(--rz-border-radius-2);
    --rz-form-field-margin-block: 0;
    --rz-badge-border-radius: var(--rz-border-radius-2);
    --rz-skeleton-background-color: var(--rz-base-400);
    --rz-skeleton-animation-color: var(--rz-base-50);
    --rz-skeleton-border-radius: var(--rz-border-radius);
    --rz-skeleton-animation-duration: 1s;
    --rz-tabs-padding: 1rem 0.5rem 0.5rem 0.5rem;
    --rz-text-caption-color: var(--rz-base-800);
    /* Statuts de la maquette (success / danger / warning / info) */
    --rz-success-lighter: #EAFBF0;
    --rz-success-light: #A8E8C0;
    --rz-success: #33A06A;
    --rz-success-dark: #268053;
    --rz-success-darker: #1B5C3C;
    --rz-on-success: #ffffff;
    --rz-danger-lighter: #FDECEC;
    --rz-danger-light: #F5A9A4;
    --rz-danger: #DC3F35;
    --rz-danger-dark: #B22D25;
    --rz-danger-darker: #7A1E19;
    --rz-on-danger: #ffffff;
    --rz-warning-lighter: #FDF3E4;
    --rz-warning-light: #F5CE92;
    --rz-warning: #E09B34;
    --rz-warning-dark: #B67A24;
    --rz-warning-darker: #7A5219;
    --rz-on-warning: #ffffff;
    --rz-info-lighter: #EAF0FD;
    --rz-info-light: #A9BEF3;
    --rz-info: #3B6FD4;
    --rz-info-dark: #2E58A9;
    --rz-info-darker: #1F3D77;
    --rz-on-info: #ffffff;
    /* ORANGE */
    --rz-color-orange-lighter: #fff0e1;
    --rz-color-orange-light: #ffcc99;
    --rz-color-orange: #f9801d;
    --rz-color-orange-dark: #c66917;
    --rz-color-orange-darker: #7a3f0e;
    /* MAGENTA */
    --rz-color-magenta-lighter: #ffe1ff;
    --rz-color-magenta-light: #ff99ff;
    --rz-color-magenta: #c74ebd;
    --rz-color-magenta-dark: #9f3e97;
    --rz-color-magenta-darker: #632760;
    /* YELLOW */
    --rz-color-yellow-lighter: #ffffdd;
    --rz-color-yellow-light: #ffff99;
    --rz-color-yellow: #fed83d;
    --rz-color-yellow-dark: #cbae31;
    --rz-color-yellow-darker: #7d6c1f;
    /* LIME */
    --rz-color-lime-lighter: #eaffdd;
    --rz-color-lime-light: #bfff99;
    --rz-color-lime: #80c71f;
    --rz-color-lime-dark: #669f19;
    --rz-color-lime-darker: #406410;
    /* PINK */
    --rz-color-pink-lighter: #ffe5f0;
    --rz-color-pink-light: #ffb3d1;
    --rz-color-pink: #f38baa;
    --rz-color-pink-dark: #c26f88;
    --rz-color-pink-darker: #794556;
    /* GRAY */
    --rz-color-gray-lighter: #f2f2f2;
    --rz-color-gray-light: #cccccc;
    --rz-color-gray: #474f52;
    --rz-color-gray-dark: #393f42;
    --rz-color-gray-darker: #232729;
    /* CYAN */
    --rz-color-cyan-lighter: #ddffff;
    --rz-color-cyan-light: #99ffff;
    --rz-color-cyan: #169c9c;
    --rz-color-cyan-dark: #127d7d;
    --rz-color-cyan-darker: #0b4e4e;
    /* PURPLE */
    --rz-color-purple-lighter: #f0ddff;
    --rz-color-purple-light: #c599ff;
    --rz-color-purple: #8932b8;
    --rz-color-purple-dark: #6e2893;
    --rz-color-purple-darker: #45195c;
    /* BLUE */
    --rz-color-blue-lighter: #dde7ff;
    --rz-color-blue-light: #99b3ff;
    --rz-color-blue: #3c44aa;
    --rz-color-blue-dark: #303688;
    --rz-color-blue-darker: #1e2255;
    /* BROWN */
    --rz-color-brown-lighter: #f1e3d3;
    --rz-color-brown-light: #c9a27a;
    --rz-color-brown: #835432;
    --rz-color-brown-dark: #694328;
    --rz-color-brown-darker: #422a19;
    /* GREEN */
    --rz-color-green-lighter: #ddffdd;
    --rz-color-green-light: #99ff99;
    --rz-color-green: #5e7c16;
    --rz-color-green-dark: #4b6312;
    --rz-color-green-darker: #2f3e0b;
    /* RED */
    --rz-color-red-lighter: #ffdede;
    --rz-color-red-light: #ff9999;
    --rz-color-red: #b02e26;
    --rz-color-red-dark: #8c251e;
    --rz-color-red-darker: #571712;
    /* BLACK */
    --rz-color-black-lighter: #f2f2f2;
    --rz-color-black-light: #b3b3b3;
    --rz-color-black: #1a1a1a;
    --rz-color-black-dark: #0f0f0f;
    --rz-color-black-darker: #050505;
    /* Palette des séries de graphiques utilisée dans la maquette */
}

.rz-panel-menu {
    /* Panel menu on dark primary background */
    --rz-panel-menu-item-background-color: transparent;
    --rz-panel-menu-item-border: none;
    --rz-panel-menu-item-border-radius: 8px;
    --rz-panel-menu-item-margin-block: 0.5rem;
    --rz-panel-menu-item-color: rgba(255, 255, 255, 0.82);
    --rz-panel-menu-item-hover-color: #ffffff;
    --rz-panel-menu-item-hover-background-color: rgba(255, 255, 255, 0.08);
    --rz-panel-menu-item-active-color: #ffffff;
    --rz-panel-menu-item-active-background-color: rgba(255, 255, 255, 0.16);
    --rz-panel-menu-item-active-indicator: transparent;
    --rz-panel-menu-focus-outline: 2px solid rgba(255, 255, 255, 0.32);
    --rz-panel-menu-focus-outline-offset: calc(-1 * var(--rz-outline-width));
    /* Level 2 */
    --rz-panel-menu-item-2nd-level-color: rgba(255, 255, 255, 0.68);
    --rz-panel-menu-item-2nd-level-background-color: transparent;
    --rz-panel-menu-item-2nd-level-hover-color: #ffffff;
    --rz-panel-menu-item-2nd-level-hover-background-color: rgba(255, 255, 255, 0.08);
    --rz-panel-menu-item-2nd-level-active-color: #ffffff;
    --rz-panel-menu-item-2nd-level-active-background-color: rgba(255, 255, 255, 0.14);
    /* Level 3 */
    --rz-panel-menu-item-3rd-level-color: rgba(255, 255, 255, 0.62);
    --rz-panel-menu-item-3rd-level-background-color: transparent;
    --rz-panel-menu-item-3rd-level-hover-color: #ffffff;
    --rz-panel-menu-item-3rd-level-hover-background-color: rgba(255, 255, 255, 0.08);
    --rz-panel-menu-item-3rd-level-active-color: #ffffff;
    --rz-panel-menu-item-3rd-level-active-background-color: rgba(255, 255, 255, 0.14);
    /* Icons */
    --rz-panel-menu-icon-color: rgba(255, 255, 255, 0.72);
}

hr {
    border: 1px solid var(--rz-base-300);
}

.rz-grid-auto {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(var(--grid-min-width, 320px), var(--grid-max-width, 1fr)));
    gap: var(--grid-gap, 1.5rem);
}

.rz-grid-2 {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--grid-gap, 1.5rem);
}

.rz-grid-3 {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--grid-gap, 1.5rem);
}

.rz-grid-4 {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--grid-gap, 1.5rem);
}

.rz-grid-5 {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr);
    gap: var(--grid-gap, 1.5rem);
}

.rz-tabview.rz-tabview-top > .rz-tabview-panels {
    border-top: 2px solid var(--rz-base-500);
}

.rz-alert-content {
    width: 100%;
}

.rz-alert {
    --rz-alert-margin: 0 0 !important;
}

/* Radzen only scales an alert's spacing with Size: the title stays locked to H6 typography and the
   icon to the global --rz-icon-size, so an ExtraSmall alert still renders full-size text and icon.
   Scale the text and the icon with the size too (Medium / Large keep the Radzen defaults). */
.rz-alert-xs {
    --rz-alert-icon-size: 1rem;
}

    .rz-alert-xs .rz-alert-title {
        font-size: var(--rz-text-caption-font-size);
        line-height: var(--rz-text-caption-line-height);
        margin-bottom: 0;
    }

    .rz-alert-xs .rz-alert-message {
        font-size: var(--rz-text-caption-font-size);
        line-height: var(--rz-text-caption-line-height);
    }

.rz-alert-sm {
    --rz-alert-icon-size: 1.25rem;
}

    .rz-alert-sm .rz-alert-title {
        font-size: var(--rz-text-body2-font-size);
        line-height: var(--rz-text-body2-line-height);
        margin-bottom: 0.125rem;
    }

    .rz-alert-sm .rz-alert-message {
        font-size: var(--rz-text-body2-font-size);
        line-height: var(--rz-text-body2-line-height);
    }

.rz-tabview-panels {
    overflow: visible;
}

.rz-tabview.rz-tabview-top > .rz-tabview-nav .rz-tabview-selected {
    border: none !important;
}

.rz-button {
    text-transform: none !important;
}

.rz-button-md {
    padding: .5rem 1rem;
}

.rz-panel-titlebar {
    align-items: center;
}

/* Sidebar text palette */
.rz-panel-menu .rz-navigation-item-link {
    background: radial-gradient(circle, transparent 1%, rgba(255, 255, 255, 0.14) 1%) center / 15000%;
}

    .rz-panel-menu .rz-navigation-item-link.active {
        border-left: 4px solid var(--rz-primary-light);
    }

    .rz-panel-menu .rz-navigation-item-link:active {
        background-color: rgba(255, 255, 255, 0.14);
    }

.rz-navigation-item-icon-children,
.rz-text-section {
    color: rgba(255, 255, 255, 0.35) !important;
}

.rz-text-section {
    margin-inline: 0.75rem;
    margin-top: 0.75rem;
    text-transform: uppercase;
}

.rz-border-rounded {
    border-radius: 9999px;
}

.rz-container {
    max-width: 1320px;
    margin-inline: auto;
}

.rz-data-grid.rz-clickable .rz-data-row {
    cursor: pointer;
}

    .rz-data-grid.rz-clickable .rz-data-row:hover td {
        background-color: var(--rz-primary-50) !important;
    }

    .rz-data-grid.rz-clickable .rz-data-row:active td {
        background-color: var(--rz-primary-100) !important;
    }

.rz-fw-100 {
    font-weight: 100;
}

.rz-fw-200 {
    font-weight: 200;
}

.rz-fw-300 {
    font-weight: 300;
}

.rz-fw-400 {
    font-weight: 400;
}

.rz-fw-500 {
    font-weight: 500;
}

.rz-fw-600 {
    font-weight: 600;
}

.rz-fw-700 {
    font-weight: 700;
}

.rz-fw-800 {
    font-weight: 800;
}

.rz-fw-900 {
    font-weight: 900;
}
