/* /_content/Palladium.Client/css/fonts-poppins.css */
/*pd:d1955359b5aa*/
@font-face{font-family:Poppins;font-style:normal;font-weight:300;font-display:swap;src:url(/_content/Palladium.Client/fonts/poppins/pxiByp8kv8JHgFVrLDz8Z11lFc-K.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:300;font-display:swap;src:url(/_content/Palladium.Client/fonts/poppins/pxiByp8kv8JHgFVrLDz8Z1JlFc-K.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:300;font-display:swap;src:url(/_content/Palladium.Client/fonts/poppins/pxiByp8kv8JHgFVrLDz8Z1xlFQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/_content/Palladium.Client/fonts/poppins/pxiEyp8kv8JHgFVrJJbecmNE.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/_content/Palladium.Client/fonts/poppins/pxiEyp8kv8JHgFVrJJnecmNE.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/_content/Palladium.Client/fonts/poppins/pxiEyp8kv8JHgFVrJJfecg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/_content/Palladium.Client/fonts/poppins/pxiByp8kv8JHgFVrLGT9Z11lFc-K.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/_content/Palladium.Client/fonts/poppins/pxiByp8kv8JHgFVrLGT9Z1JlFc-K.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/_content/Palladium.Client/fonts/poppins/pxiByp8kv8JHgFVrLGT9Z1xlFQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/_content/Palladium.Client/fonts/poppins/pxiByp8kv8JHgFVrLEj6Z11lFc-K.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/_content/Palladium.Client/fonts/poppins/pxiByp8kv8JHgFVrLEj6Z1JlFc-K.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/_content/Palladium.Client/fonts/poppins/pxiByp8kv8JHgFVrLEj6Z1xlFQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/_content/Palladium.Client/fonts/poppins/pxiByp8kv8JHgFVrLCz7Z11lFc-K.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/_content/Palladium.Client/fonts/poppins/pxiByp8kv8JHgFVrLCz7Z1JlFc-K.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/_content/Palladium.Client/fonts/poppins/pxiByp8kv8JHgFVrLCz7Z1xlFQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* /Palladium.styles.css */
/* _content/CoreBlazor.Grid/Components/Grids/V3/HelpGridV3.razor.rz.scp.css */
/* HelpGridV3 — CSS isolé (bundle {App}.styles.css du host).
   Jetons de thème avec valeurs Colibase par défaut : surchargez-les dans un
   sélecteur plus spécifique (.gdg { --c-accent: ... }) pour thématiser.
   E5/G9 (mode sombre) : ce bloc de jetons (les --c-* et --sh-lg) est REDÉFINI plus bas sous
   @media screen and (prefers-color-scheme: dark) (gardé par :root:not([data-theme="light"]) ET par
   l'opt-in gdg-theme-auto — sans lui, la grille reste claire en système sombre, G6)
   et sous @media screen { :root[data-theme="dark"] { ... } } — "screen" (round 1 de revue) pour
   qu'aucun des deux ne déteigne sur @media print, plus bas, qui reste sur CES valeurs claires —
   jamais de couleur en dur ailleurs dans ce fichier
   (ThemeTests.Aucune_couleur_codee_en_dur_hors_des_declarations_de_variables). */

.gdg[b-rtq6ts6y5n] {
    --c-accent: #C8392C;
    --c-accent-700: #AC2E22;
    --c-accent-soft: #FBEBE9;
    --c-accent-soft-2: #F6DAD6;
    --c-border: #E2E6EB;
    --c-border-2: #D2D8DF;
    --c-surface: #FFFFFF;
    --c-surface-2: #EEF1F4;
    --c-surface-3: #E4E8ED;
    --c-row-sel: #D7DEE7;      /* ligne cochée : gris franc, distinct du survol et de l'accent */
    --c-col-active: #ffd9d4;  /* colonne active (E1) : rouge clair, lisible en clair comme en sombre */
    --c-ink: #1A2230;
    --c-ink-2: #4A586B;
    --c-ink-3: #8693A4;
    --c-navy: #16202E;
    --c-on-navy: #EAF0F7;
    --c-info: #2F5FA8;
    --c-info-soft: #E6EDF8;
    --c-warning-soft: #FBF0DC;
    --sh-lg: 0 18px 48px -18px rgba(16,28,45,.28), 0 6px 18px -10px rgba(16,28,45,.12);

    /* Jetons ajoutés en tâche 4 pour éliminer les couleurs en dur restantes (E5) : valeurs claires
       IDENTIQUES à ce qu'elles remplacent (G6, apparence claire inchangée). --c-on-accent, les
       surcouches --ov-*, les ombres --sh-float* et les jetons d'impression n'ont PAS besoin de
       variante sombre (le fond qu'ils accompagnent — accent, marine — reste suffisamment sombre/
       saturé dans les deux thèmes, et l'impression est volontairement figée). --c-danger-soft(-2),
       --c-on-info ET --c-danger-ink, EUX, sont redéfinis dans les deux blocs sombres ci-dessous
       (round 1 et 2 de revue, tâche 4) : la valeur claire d'origine ne suffisait plus une fois
       --c-ink-2/--c-info éclaircis en sombre, ou (--c-danger-ink, round 2) une fois --c-accent
       lui-même redéfini en sombre — voir la table de contraste du rapport. */
    --c-on-accent: #fff;                              /* texte/icône sur un fond --c-accent/--c-navy */
    --c-on-info: #fff;                                /* texte/icône sur un fond --c-info (distinct de on-accent : --c-info s'éclaircit en sombre, contrairement à accent/navy) */
    --ov-12: rgba(255, 255, 255, .12);                /* surcouches blanches sur fond sombre (puces, barres) */
    --ov-16: rgba(255, 255, 255, .16);
    --ov-22: rgba(255, 255, 255, .22);
    --ov-25: rgba(255, 255, 255, .25);
    --ov-28: rgba(255, 255, 255, .28);
    --ov-40: rgba(255, 255, 255, .4);
    --ov-50: rgba(255, 255, 255, .5);
    --sh-float: 0 10px 26px rgba(15, 23, 42, .30), 0 2px 6px rgba(15, 23, 42, .20);   /* barre de sélection */
    --sh-float-2: 0 10px 26px rgba(15, 23, 42, .22), 0 2px 6px rgba(15, 23, 42, .14); /* bandeau d'annulation */
    --c-danger-soft: #FCEBEB;                         /* rapport d'édition massive écartée */
    --c-danger-soft-2: #F0C9C9;
    --c-danger-ink: #C8392C;                          /* round 2 : texte sur --c-danger-soft (titre du rapport) — même valeur que --c-accent en clair (G6), mais un jeton dédié : --c-accent lui-même reste inchangé (décision du contrôleur, round 2), voir sa variante sombre plus bas */
    --c-print-ink: #000;                              /* impression : toujours noir sur blanc, quel que soit le thème écran */
    --c-print-border: #999;
}

/* E5/G9 : mode sombre — préférence système, tant que l'hôte n'a pas figé le thème sur "light".
   OPT-IN (G6, revue finale du jalon 21) : ce bloc ne vaut QUE si l'hôte le demande — classe gdg-theme-auto sur
   <html>, sur un ancêtre de la grille, ou sur la racine .gdg elle-même (paramètre AutoDarkMode). Sans opt-in,
   une grille reste claire même si le système est sombre (comportement 1.1.0 : CoreBlazor.Shared, PalladiumStats
   et toute page claire qui ne gère pas le sombre ne voient pas une grille sombre surgir dans une page claire).
   "screen" (round 1 de revue, tâche 4) : SANS lui, ce bloc s'appliquait aussi à l'impression — un
   navigateur qui imprime avec le thème sombre actif aurait rendu --c-ink-2 (texte des cellules)
   quasi invisible sur le papier blanc de @media print (qui, lui, ne redéfinit QUE color/border,
   pas --c-surface). Restreindre au support écran laisse l'impression sur les jetons clairs, seuls
   déclarés dans .gdg (ligne 9) — la promesse du README (« impression toujours noir sur blanc, quel
   que soit le thème de l'écran ») redevient vraie. */
@media screen and (prefers-color-scheme: dark) {
    :root.gdg-theme-auto:not([data-theme="light"]) .gdg[b-rtq6ts6y5n],
    :root:not([data-theme="light"]) .gdg-theme-auto .gdg[b-rtq6ts6y5n],
    :root:not([data-theme="light"]) .gdg.gdg-theme-auto[b-rtq6ts6y5n] {
        --c-accent: #CC4534;
        --c-accent-700: #B23A2A;
        --c-accent-soft: #331A1C;
        --c-accent-soft-2: #452420;
        --c-border: #3A4454;
        --c-border-2: #4B5768;
        --c-surface: #1C232D;
        --c-surface-2: #242D39;
        --c-surface-3: #2D3745;
        --c-row-sel: #3B4A5C;
        --c-col-active: #4A2420;
        --c-ink: #EDF1F6;
        --c-ink-2: #C7D0DC;
        --c-ink-3: #94A3B8;
        --c-navy: #0E141C;
        --c-on-navy: #EAF0F7;
        --c-info: #6FA8E8;
        --c-info-soft: #1C2A3D;
        --c-warning-soft: #3B341E;
        --sh-lg: 0 18px 48px -18px rgba(0, 0, 0, .65), 0 6px 18px -10px rgba(0, 0, 0, .45);
        --c-on-info: #0E141C;      /* round 1 : --c-info s'éclaircit en sombre (texte lisible sur --c-info-soft) — un texte blanc dessus (fond de puce/bouton) serait quasi invisible (~2,5:1) ; ce quasi-noir donne 7,4:1 */
        --c-danger-soft: #2A1416; /* round 1 : la version claire faisait disparaître --c-ink-2 (texte du rapport, devenu clair en sombre) — voir table de contraste du rapport */
        --c-danger-soft-2: #452420;
        --c-danger-ink: #E86F5B;  /* round 2 : --c-accent sombre (#CC4534) ne dépasse pas 3,7:1 sur --c-danger-soft sombre (ni 4,5:1 sur aucun fond sombre plausible, c'est la couleur elle-même qui plafonne à 4,47:1 contre du noir pur) ; l'éclaircir ici, SANS toucher --c-accent (décision du contrôleur), donne 5,67:1 */
    }
}

/* E5/G9 : mode sombre — forcé par l'hôte (attribut data-theme, contrat rp-theme-auto de RPrinter).
   "screen" (round 1 de revue, tâche 4) : même raison que le bloc @media ci-dessus — data-theme reste
   posé sur <html> pendant l'impression (l'hôte ne l'enlève pas pour imprimer), donc SANS ce garde
   la feuille imprimée aurait hérité des jetons sombres malgré @media print. */
@media screen {
    :root[data-theme="dark"] .gdg[b-rtq6ts6y5n] {
        --c-accent: #CC4534;
        --c-accent-700: #B23A2A;
        --c-accent-soft: #331A1C;
        --c-accent-soft-2: #452420;
        --c-border: #3A4454;
        --c-border-2: #4B5768;
        --c-surface: #1C232D;
        --c-surface-2: #242D39;
        --c-surface-3: #2D3745;
        --c-row-sel: #3B4A5C;
        --c-col-active: #4A2420;
        --c-ink: #EDF1F6;
        --c-ink-2: #C7D0DC;
        --c-ink-3: #94A3B8;
        --c-navy: #0E141C;
        --c-on-navy: #EAF0F7;
        --c-info: #6FA8E8;
        --c-info-soft: #1C2A3D;
        --c-warning-soft: #3B341E;
        --sh-lg: 0 18px 48px -18px rgba(0, 0, 0, .65), 0 6px 18px -10px rgba(0, 0, 0, .45);
        --c-on-info: #0E141C;
        --c-danger-soft: #2A1416;
        --c-danger-soft-2: #452420;
        --c-danger-ink: #E86F5B;
    }
}

/* =========================================================================
   HelpGridV3 (Components/Grids/V3) — préfixe gdg-
   Styles globaux (pas de CSS isolé : l'hôte Uno ne sert pas les bundles scoped).
   ========================================================================= */

/* position: relative → repère des éléments en surimpression (barre de sélection, bandeau d'annulation) */
.gdg[b-rtq6ts6y5n] { position: relative; color: var(--c-ink); font-size: 13.5px; outline: none; }

/* ---- zone de groupage ---- */
.gdg-groupzone[b-rtq6ts6y5n] {
    display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
    min-height: 40px; padding: 6px 12px; margin-bottom: 10px;
    border: 1.5px dashed var(--c-border); border-radius: 10px;
    background: var(--c-surface-2);
    transition: border-color .15s, background .15s;
}
.gdg-groupzone.gdg-dropover[b-rtq6ts6y5n] { border-color: var(--c-accent); background: var(--c-accent-soft); }
.gdg-groupicon[b-rtq6ts6y5n] { color: var(--c-ink-3); font-size: 14px; }
.gdg-grouphint[b-rtq6ts6y5n] { color: var(--c-ink-3); font-size: 12.5px; }
.gdg-groupchip[b-rtq6ts6y5n] {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 4px 6px 4px 12px; border-radius: 999px;
    background: var(--c-navy); color: var(--c-on-navy);
    font-size: 12.5px; font-weight: 600; cursor: pointer; user-select: none;
}
.gdg-chipdir[b-rtq6ts6y5n] { font-size: 11px; opacity: .9; }
.gdg-chipx[b-rtq6ts6y5n] {
    border: none; background: var(--ov-22); color: var(--c-on-accent);
    width: 18px; height: 18px; border-radius: 50%; cursor: pointer;
    font-size: 13px; line-height: 1; padding: 0;
}
.gdg-chipx:hover[b-rtq6ts6y5n] { background: var(--ov-40); }
.gdg-link[b-rtq6ts6y5n] { border: none; background: none; color: var(--c-accent); font-size: 12px; cursor: pointer; padding: 2px 4px; }
.gdg-link:hover[b-rtq6ts6y5n] { text-decoration: underline; }

/* ---- barre d'outils ---- */
.gdg-toolbar[b-rtq6ts6y5n] { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
.gdg-spacer[b-rtq6ts6y5n] { flex: 1; }
.gdg-search[b-rtq6ts6y5n] {
    flex: 1; min-width: 200px; max-width: 400px; padding: 8px 12px;
    border: 1px solid var(--c-border); border-radius: 9px;
    background: var(--c-surface); font-size: 13.5px; color: var(--c-ink);
}
.gdg-search:focus[b-rtq6ts6y5n] { outline: 2px solid var(--c-accent); outline-offset: -1px; }
/* Les selecteurs ::deep habillent aussi ce que l'ECRAN place dans ToolbarContent ou dans un
   gabarit de cellule : le CSS a portee ne descend pas dans le balisage venu d'un autre composant,
   et un bouton maison au milieu des boutons de la grille se voyait tout de suite. Un <button
   class="gdg-btn"> ecrit dans une page a donc exactement l'allure des boutons de la barre. */
.gdg-btn[b-rtq6ts6y5n], .gdg-iconbtn[b-rtq6ts6y5n],
.gdg[b-rtq6ts6y5n]  .gdg-btn, .gdg[b-rtq6ts6y5n]  .gdg-iconbtn {
    display: inline-flex; align-items: center; justify-content: center; gap: 5px;
    border: 1px solid var(--c-border); background: var(--c-surface); color: var(--c-ink-2);
    border-radius: 9px; padding: 7px 12px; font-size: 12.5px; font-weight: 600; cursor: pointer;
}
.gdg-iconbtn[b-rtq6ts6y5n], .gdg[b-rtq6ts6y5n]  .gdg-iconbtn { width: 34px; height: 34px; padding: 0; font-size: 15px; }
.gdg-btn:hover[b-rtq6ts6y5n], .gdg-iconbtn:hover[b-rtq6ts6y5n],
.gdg[b-rtq6ts6y5n]  .gdg-btn:hover, .gdg[b-rtq6ts6y5n]  .gdg-iconbtn:hover { border-color: var(--c-accent); color: var(--c-accent); }
.gdg-iconbtn.is-on[b-rtq6ts6y5n], .gdg[b-rtq6ts6y5n]  .gdg-iconbtn.is-on { background: var(--c-accent-soft); border-color: var(--c-accent); color: var(--c-accent); }

/* ---- sélecteur de colonnes ---- */
.gdg-colmenu-host[b-rtq6ts6y5n] { position: relative; }
.gdg-overlay[b-rtq6ts6y5n] { position: fixed; inset: 0; z-index: 40; }
.gdg-colmenu[b-rtq6ts6y5n] {
    position: absolute; right: 0; top: calc(100% + 6px); z-index: 50;
    min-width: 220px; max-height: 320px; overflow-y: auto; padding: 8px;
    border: 1px solid var(--c-border); border-radius: 12px;
    background: var(--c-surface); box-shadow: var(--sh-lg);
}
.gdg-colmenu-title[b-rtq6ts6y5n] {
    margin: 4px 8px 8px; font-size: 11px; font-weight: 700;
    letter-spacing: .06em; text-transform: uppercase; color: var(--c-ink-3);
}
.gdg-colopt[b-rtq6ts6y5n] { display: flex; align-items: center; gap: 9px; padding: 7px 8px; border-radius: 8px; cursor: pointer; font-size: 13px; }
.gdg-colopt:hover[b-rtq6ts6y5n] { background: var(--c-surface-2); }

/* ---- barre de sélection (1.9.0) ----
   Dans le PIED de la grille, à la place du compteur de lignes : emplacement fixe, toujours présent, qui
   ne recouvre aucune ligne et ne décale rien quand on coche. Avant elle flottait au-dessus du tableau
   (pastille sombre déplaçable) et masquait les lignes qu'on venait de sélectionner. Même langage que le
   pied : clair et discret — le compteur en pastille d'accent douce, les actions en liens qui ne prennent
   un fond qu'au survol. Trop d'actions : défilement horizontal, jamais de retour à la ligne. */
.gdg-selbar[b-rtq6ts6y5n] {
    display: flex; align-items: center; gap: 2px; flex-wrap: nowrap;
    min-width: 0; flex: 0 1 auto; overflow-x: auto;
    scrollbar-width: none;
    animation: gdg-selin-b-rtq6ts6y5n .14s ease-out;
}
.gdg-selbar[b-rtq6ts6y5n]::-webkit-scrollbar { display: none; }
@keyframes gdg-selin-b-rtq6ts6y5n { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
    .gdg-selbar[b-rtq6ts6y5n] { animation: none; }
}
.gdg-selcount[b-rtq6ts6y5n] {
    display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0;
    margin-right: 6px; padding: 2px 10px 2px 8px; border-radius: 999px;
    background: var(--c-accent-soft); color: var(--c-accent-700);
    font-weight: 600; font-size: 12.5px; white-space: nowrap;
}
.gdg-selcount[b-rtq6ts6y5n]::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--c-accent); }
.gdg-seldiv[b-rtq6ts6y5n] { width: 1px; height: 14px; margin: 0 4px; background: var(--c-border-2); flex-shrink: 0; }
.gdg-selact[b-rtq6ts6y5n] {
    border: none; background: none; color: var(--c-ink-2);
    border-radius: 6px; padding: 3px 8px; font-size: 12.5px; cursor: pointer; white-space: nowrap;
}
.gdg-selact:hover[b-rtq6ts6y5n] { background: var(--c-surface-3); color: var(--c-ink); }
.gdg-selact:focus-visible[b-rtq6ts6y5n] { outline: 2px solid var(--c-accent); outline-offset: 1px; }
/* groupes comparatifs A/B rappeles dans la barre : pastilles claires, comme le compteur */
.gdg-selbar .gdg-cmpchip[b-rtq6ts6y5n] { background: var(--c-surface-3); color: var(--c-ink-2); padding: 2px 4px 2px 10px; margin-left: 4px; flex-shrink: 0; }
.gdg-selbar .gdg-cmpchip:hover[b-rtq6ts6y5n] { background: var(--c-border-2); }
.gdg-selbar .gdg-chipx[b-rtq6ts6y5n] { background: transparent; color: var(--c-ink-3); }
.gdg-selbar .gdg-chipx:hover[b-rtq6ts6y5n] { background: var(--c-surface); color: var(--c-ink); }

/* ---- tableau ---- */
/* position: relative → repère du filet de chargement, posé sur l'arête haute sans occuper de place */
.gdg-card[b-rtq6ts6y5n] { position: relative; border: 1px solid var(--c-border); border-radius: 12px; background: var(--c-surface); overflow: hidden; }
.gdg-scroll[b-rtq6ts6y5n] { overflow: auto; }
/* user-select: none → Shift+clic sélectionne des LIGNES, pas du texte. Sans cela le navigateur
   étend en même temps sa propre sélection de texte et surligne la moitié du tableau en bleu.
   Copier reste possible et donne un meilleur résultat : Ctrl+C (TSV) ou l'export.
   Les zones de saisie gardent la sélection, sinon on ne pourrait plus corriger une valeur. */
.gdg-table[b-rtq6ts6y5n] { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 13.5px; user-select: none; -webkit-user-select: none; }
.gdg-table input[b-rtq6ts6y5n], .gdg-table textarea[b-rtq6ts6y5n], .gdg-table select[b-rtq6ts6y5n], .gdg-table [contenteditable="true"][b-rtq6ts6y5n] {
    user-select: text; -webkit-user-select: text;
}
.gdg-th[b-rtq6ts6y5n] {
    position: sticky; top: 0; z-index: 2;
    background: var(--c-surface-2); color: var(--c-ink-3);
    padding: 11px 14px; font-size: 11px; font-weight: 700;
    letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; user-select: none;
}
.gdg-table.is-dense .gdg-th[b-rtq6ts6y5n] { padding: 7px 12px; }
.gdg-th.is-sortable[b-rtq6ts6y5n] { cursor: pointer; }
.gdg-th.is-sortable:hover[b-rtq6ts6y5n] { color: var(--c-accent); }
.gdg-th.gdg-dropover[b-rtq6ts6y5n] { box-shadow: inset 3px 0 0 var(--c-accent); background: var(--c-accent-soft); }
.gdg-thlabel[b-rtq6ts6y5n] { display: inline-flex; align-items: center; gap: 5px; vertical-align: middle; }
.gdg-sorticon[b-rtq6ts6y5n] { font-size: 12px; }
.gdg-sortorder[b-rtq6ts6y5n] { font-size: 9px; font-weight: 800; }
.gdg-filteron[b-rtq6ts6y5n] { color: var(--c-accent); display: inline-flex; }
.gdg-resize[b-rtq6ts6y5n] { position: absolute; top: 0; right: -3px; width: 7px; height: 100%; cursor: col-resize; z-index: 3; }
.gdg-resize:hover[b-rtq6ts6y5n] { background: var(--c-accent); opacity: .5; }

/* ligne de filtres */
.gdg-filterrow th[b-rtq6ts6y5n] {
    position: sticky; top: 36px; z-index: 2;
    background: var(--c-surface); padding: 6px 8px;
    border-bottom: 1px solid var(--c-border); font-weight: 400;
}
.gdg-fwrap[b-rtq6ts6y5n] { display: flex; gap: 4px; }
.gdg-fop[b-rtq6ts6y5n] {
    width: 42%; min-width: 0; border: 1px solid var(--c-border); border-radius: 7px;
    background: var(--c-surface-2); font-size: 11.5px; padding: 5px 3px; color: var(--c-ink-2);
}
.gdg-fin[b-rtq6ts6y5n], .gdg-fsel[b-rtq6ts6y5n] {
    flex: 1; width: 100%; min-width: 0; border: 1px solid var(--c-border); border-radius: 7px;
    padding: 5px 8px; font-size: 12.5px; background: var(--c-surface); color: var(--c-ink);
}
.gdg-fin:focus[b-rtq6ts6y5n], .gdg-fsel:focus[b-rtq6ts6y5n], .gdg-fop:focus[b-rtq6ts6y5n] { outline: 2px solid var(--c-accent); outline-offset: -1px; }

/* lignes */
.gdg-datarow[b-rtq6ts6y5n] { border-top: 1px solid var(--c-border); }
.gdg-datarow.is-clickable[b-rtq6ts6y5n] { cursor: pointer; }
.gdg-datarow:hover[b-rtq6ts6y5n] { background: var(--c-surface-2); }
/* Sélection en GRIS, pas dans la couleur d'accent : le rouge tenait déjà un autre rôle sur les
   écrans qui teintent leurs lignes (ticket interne en rose, ligne en anomalie…) et les deux
   messages se confondaient. Le gris ne dit qu'une chose : « cette ligne est cochée ». */
.gdg-datarow.is-selected[b-rtq6ts6y5n] { background: var(--c-row-sel); }
.gdg-datarow.is-focus[b-rtq6ts6y5n] { box-shadow: inset 2px 0 0 var(--c-accent); }
.gdg-datarow.gdg-marquee-hit[b-rtq6ts6y5n] { background: var(--c-row-sel); }

/* Sélection POSSÉDÉE PAR L'HÔTE (E9) : quand la grille n'a pas la sélection (Selectable=false), un
   écran pose ces classes via RowClassFunc plutôt que d'écrire son propre CSS. Même jetons que la
   sélection interne (--c-row-sel/--c-accent) pour rester cohérent visuellement.
   Écrites préfixées par .gdg-datarow (comme .gdg-datarow.is-selected juste au-dessus) : une classe
   seule (.gdg-row-selected) a une spécificité plus faible que .gdg-datarow:hover et perdrait au
   survol, quel que soit l'ordre des règles — round 1 de revue (25/09). Le zébrage (plus bas dans ce
   fichier) et le combo « ligne gelée sélectionnée » ont chacun besoin de leur propre règle, à
   spécificité au moins égale, pour la même raison : voir plus bas. */
.gdg-datarow.gdg-row-selected[b-rtq6ts6y5n] { background: var(--c-row-sel); }
/* .gdg-datarow.gdg-row-current : même spécificité que .gdg-datarow.is-focus (2 classes) juste
   au-dessus, mais des valeurs DIFFÉRENTES (2px vs 3px) — placée après, elle gagne l'égalité et le
   liseré « ligne courante » de l'hôte reste visible même quand la ligne a aussi le focus clavier. */
.gdg-datarow.gdg-row-current[b-rtq6ts6y5n] { box-shadow: inset 3px 0 0 var(--c-accent); }
.gdg-cell[b-rtq6ts6y5n] {
    padding: 11px 14px; color: var(--c-ink-2);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 1px;
}
.gdg-table.is-dense .gdg-cell[b-rtq6ts6y5n] { padding: 7px 12px; font-size: 12.5px; }
.gdg-cell.is-num[b-rtq6ts6y5n] { font-variant-numeric: tabular-nums; }
.gdg-checkcell[b-rtq6ts6y5n] { width: 42px; text-align: center; padding: 8px; }
.gdg-check[b-rtq6ts6y5n] {
    width: 17px; height: 17px; border: 1.5px solid var(--c-ink-3); border-radius: 4px;
    background: var(--c-surface); cursor: pointer; padding: 0;
    font-size: 11px; line-height: 1; color: var(--c-on-accent);
}
.gdg-check.is-all[b-rtq6ts6y5n] { background: var(--c-accent); border-color: var(--c-accent); }
.gdg-check.is-some[b-rtq6ts6y5n] { background: var(--c-accent); border-color: var(--c-accent); position: relative; }
.gdg-check.is-some[b-rtq6ts6y5n]::after { content: ""; position: absolute; inset: 5px 3px; background: var(--c-on-accent); border-radius: 1px; }

/* groupes */
.gdg-grouprow[b-rtq6ts6y5n] { background: var(--c-surface-2); border-top: 1px solid var(--c-border); cursor: pointer; user-select: none; }
.gdg-grouprow td[b-rtq6ts6y5n] { padding: 9px 14px; font-size: 13px; }
.gdg-caret[b-rtq6ts6y5n] { display: inline-block; width: 16px; color: var(--c-ink-3); }
.gdg-grouplabel[b-rtq6ts6y5n] { font-weight: 700; color: var(--c-ink); }
.gdg-groupcount[b-rtq6ts6y5n] { color: var(--c-ink-3); margin-left: 6px; font-size: 12px; }
.gdg-empty[b-rtq6ts6y5n] { padding: 36px 16px; text-align: center; color: var(--c-ink-3); }

/* ---- pied : compteur à gauche, taille de page et navigation à droite ---- */
.gdg-footer[b-rtq6ts6y5n] {
    display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
    margin-top: 10px; padding: 8px 12px;
    border: 1px solid var(--c-border); border-radius: 10px;
    background: var(--c-surface-2);
    font-size: 12.5px; color: var(--c-ink-3);
}
.gdg-count[b-rtq6ts6y5n] { font-weight: 600; color: var(--c-ink-2); }
.gdg-pager[b-rtq6ts6y5n] { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.gdg-pagesize[b-rtq6ts6y5n] { display: flex; align-items: center; gap: 7px; white-space: nowrap; }
/* Taille de page (1.5.0) : champ numérique et bouton de menu fondus en un seul contrôle ;
   le menu s'ouvre vers le HAUT, le pied étant en bas de la grille. */
.gdg-pscombo[b-rtq6ts6y5n] {
    position: relative; display: inline-flex; align-items: stretch;
    border: 1px solid var(--c-border); border-radius: 7px; background: var(--c-surface);
}
.gdg-pscombo:hover[b-rtq6ts6y5n], .gdg-pscombo:focus-within[b-rtq6ts6y5n] { border-color: var(--c-accent); }
.gdg-pscombo input[b-rtq6ts6y5n] {
    width: 4.2em; padding: 4px 2px 4px 8px; border: 0; border-radius: 7px 0 0 7px;
    background: transparent; color: var(--c-ink-2); font: inherit; font-variant-numeric: tabular-nums;
    outline: none; -moz-appearance: textfield; appearance: textfield;
}
.gdg-pscombo input[b-rtq6ts6y5n]::-webkit-outer-spin-button,
.gdg-pscombo input[b-rtq6ts6y5n]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.gdg-pscombo-auto[b-rtq6ts6y5n] {
    align-self: center; margin-right: 2px; padding: 1px 5px; border-radius: 5px;
    font-size: 10.5px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase;
    background: var(--c-surface-2); color: var(--c-ink-3);
}
.gdg-pscombo-btn[b-rtq6ts6y5n] {
    padding: 0 7px; border: 0; border-left: 1px solid var(--c-border); border-radius: 0 7px 7px 0;
    background: transparent; color: var(--c-ink-3); cursor: pointer; font-size: 11px; line-height: 1;
}
.gdg-pscombo-btn:hover[b-rtq6ts6y5n] { color: var(--c-accent); background: var(--c-surface-2); }
.gdg-pscombo-menu[b-rtq6ts6y5n] {
    position: absolute; right: 0; bottom: calc(100% + 6px); z-index: 50;
    display: flex; flex-direction: column; min-width: 100%; padding: 4px;
    border: 1px solid var(--c-border); border-radius: 10px;
    background: var(--c-surface); box-shadow: var(--sh-lg);
}
.gdg-pscombo-opt[b-rtq6ts6y5n] {
    padding: 6px 12px; border: 0; border-radius: 7px; background: transparent;
    color: var(--c-ink-2); font: inherit; font-variant-numeric: tabular-nums; text-align: right;
    white-space: nowrap; cursor: pointer;
}
.gdg-pscombo-opt:hover[b-rtq6ts6y5n], .gdg-pscombo-opt:focus-visible[b-rtq6ts6y5n] { background: var(--c-surface-2); outline: none; }
.gdg-pscombo-opt.is-selected[b-rtq6ts6y5n] { color: var(--c-accent); font-weight: 700; }

/* Les numéros et les flèches forment un seul bloc : on lit d'un coup où on est et où aller. */
.gdg-pagenav[b-rtq6ts6y5n] {
    display: flex; align-items: center; gap: 2px; padding: 2px;
    border: 1px solid var(--c-border); border-radius: 9px; background: var(--c-surface);
}
.gdg-pagebtn[b-rtq6ts6y5n], .gdg-pagenav .gdg-pagenum[b-rtq6ts6y5n] {
    min-width: 30px; height: 28px; padding: 0 7px;
    border: none; background: none; color: var(--c-ink-2);
    border-radius: 7px; cursor: pointer; font-size: 13px; line-height: 1;
    font-variant-numeric: tabular-nums;
}
.gdg-pagebtn[b-rtq6ts6y5n] { font-size: 15px; }
.gdg-pagebtn:disabled[b-rtq6ts6y5n] { opacity: .35; cursor: default; }
.gdg-pagebtn:not(:disabled):hover[b-rtq6ts6y5n], .gdg-pagenav .gdg-pagenum:hover[b-rtq6ts6y5n] { background: var(--c-surface-2); color: var(--c-accent); }

/* Page courante : contraste franc, pas seulement une nuance — repérable au premier coup d'œil. */
.gdg-pagenav .gdg-pagenum.is-current[b-rtq6ts6y5n] {
    background: var(--c-accent); color: var(--c-on-accent); font-weight: 700;
}
.gdg-pagenav .gdg-pagenum.is-current:hover[b-rtq6ts6y5n] { background: var(--c-accent-700); color: var(--c-on-accent); }
.gdg-pagegap[b-rtq6ts6y5n] { padding: 0 2px; color: var(--c-ink-3); user-select: none; }

@media (forced-colors: active) {
    .gdg-pagenav .gdg-pagenum.is-current[b-rtq6ts6y5n] { outline: 2px solid Highlight; outline-offset: -2px; }
}

/* ---- HelpGridV3 v2 : popup de filtre, menu contextuel, agrégats, drag pointer ---- */

.gdg-th[b-rtq6ts6y5n] { touch-action: none; }

.gdg-fbtn[b-rtq6ts6y5n] {
    border: none; background: none; padding: 2px 5px; margin-left: 2px;
    cursor: pointer; color: var(--c-ink-3); display: inline-flex;
    vertical-align: middle; border-radius: 5px;
}
.gdg-fbtn:hover[b-rtq6ts6y5n] { color: var(--c-accent); background: var(--c-accent-soft); }
.gdg-fbtn.is-on[b-rtq6ts6y5n] { color: var(--c-accent); }

.gdg-fpopup[b-rtq6ts6y5n] {
    position: fixed; z-index: 70; min-width: 250px; max-width: 300px; padding: 12px;
    border: 1px solid var(--c-border); border-radius: 12px;
    background: var(--c-surface); box-shadow: var(--sh-lg);
}
.gdg-fpopup-title[b-rtq6ts6y5n] {
    margin: 0 0 10px; font-size: 11px; font-weight: 700;
    letter-spacing: .06em; text-transform: uppercase; color: var(--c-ink-3);
}
.gdg-fpopup .gdg-fwrap[b-rtq6ts6y5n], .gdg-fpopup .gdg-fsel[b-rtq6ts6y5n] { margin-bottom: 10px; }
.gdg-fpopup-actions[b-rtq6ts6y5n] { display: flex; justify-content: flex-end; gap: 8px; }

.gdg-ctxmenu[b-rtq6ts6y5n] {
    position: fixed; z-index: 70; min-width: 180px; padding: 6px;
    border: 1px solid var(--c-border); border-radius: 12px;
    background: var(--c-surface); box-shadow: var(--sh-lg);
}
.gdg-mi[b-rtq6ts6y5n] {
    display: flex; align-items: center; gap: 9px; width: 100%; text-align: left;
    border: none; background: none; padding: 8px 10px; border-radius: 8px;
    font-size: 13.5px; color: var(--c-ink); cursor: pointer;
}
.gdg-mi:hover[b-rtq6ts6y5n] { background: var(--c-surface-2); }
.gdg-mi.is-danger[b-rtq6ts6y5n] { color: var(--c-accent); }
.gdg-mi.is-danger:hover[b-rtq6ts6y5n] { background: var(--c-accent-soft); }

.gdg-aggrow td[b-rtq6ts6y5n] {
    background: var(--c-surface-2); border-top: 2px solid var(--c-border-2);
    padding: 8px 14px; font-size: 12px; font-weight: 700; color: var(--c-ink-2);
    font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.gdg-aggrow.is-sel td[b-rtq6ts6y5n] { background: var(--c-accent-soft); color: var(--c-accent-700); border-top: 1px solid var(--c-accent-soft-2); }

.gdg-groupfoot td[b-rtq6ts6y5n] {
    background: var(--c-surface-2); border-top: 1px dashed var(--c-border);
    padding: 6px 14px; font-size: 12px; font-weight: 600; color: var(--c-ink-2);
    font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

.gdg-groupagg[b-rtq6ts6y5n] { margin-left: 10px; font-weight: 600; font-size: 12px; color: var(--c-ink-3); }

/* ---- HelpGridV3 v3 : drag inter-grilles, saisie page size ---- */

.gdg-draghandle[b-rtq6ts6y5n] {
    width: 30px; text-align: center; cursor: grab; color: var(--c-ink-3);
    font-size: 13px; user-select: none; touch-action: none; padding: 8px 4px;
}
.gdg-draghandle:hover[b-rtq6ts6y5n] { color: var(--c-accent); }
.gdg-draghandle-h[b-rtq6ts6y5n] { width: 30px; position: sticky; top: 0; z-index: 2; background: var(--c-surface-2); }

.gdg.gdg-droptarget .gdg-card[b-rtq6ts6y5n] {
    outline: 2px dashed var(--c-accent);
    outline-offset: 2px;
    background: var(--c-accent-soft);
}

/* (l'ancienne saisie libre du nombre de lignes par page a été retirée : le menu de taille de
   page suffit, deux commandes pour la même chose prêtaient à confusion.) */
.gdg-pagenum:focus-visible[b-rtq6ts6y5n] { outline: 2px solid var(--c-accent); outline-offset: -2px; }

/* ---- HelpGridV3 v4 : colonnes gelées, pied collant, comparaisons A/B ---- */

/* toutes les cellules d'en-tête (y compris poignée/cases) collent en haut */
.gdg-headrow th[b-rtq6ts6y5n] { position: sticky; top: 0; z-index: 2; background: var(--c-surface-2); }

/* cadenas d'épinglage */
.gdg-pinbtn[b-rtq6ts6y5n] {
    border: none; background: none; padding: 2px 4px; margin-left: 1px;
    cursor: pointer; color: var(--c-ink-3); opacity: .45;
    display: inline-flex; vertical-align: middle; border-radius: 5px;
}
.gdg-th:hover .gdg-pinbtn[b-rtq6ts6y5n] { opacity: 1; }
.gdg-pinbtn:hover[b-rtq6ts6y5n] { color: var(--c-accent); background: var(--c-accent-soft); }
.gdg-pinbtn.is-on[b-rtq6ts6y5n] { opacity: 1; color: var(--c-accent); }

/* Colonnes gelées : un fond OPAQUE est obligatoire, le reste de la table glisse dessous.
   Mais l'opacité ne doit pas écraser la couleur de la ligne : une ligne colorée par une règle
   (ou par une classe de l'écran) doit l'être de bout en bout, colonnes gelées comprises.
   D'où : la LIGNE porte le fond, les cellules gelées l'héritent. */

/* Teinte de ligne : --row-bg est le point d'entrée des écrans (GridRowRules, style inline).
   Une classe utilitaire (bg-red-100…) ne suffisait pas — cette règle-ci, portée par le CSS isolé,
   gagne en spécificité et repeignait la ligne en blanc. Passer par une variable laisse en place le
   survol et la sélection, qui ont leurs propres jetons, et n'écrase pas le fond des cases à cocher. */
.gdg-datarow[b-rtq6ts6y5n] { background: var(--row-bg, var(--c-surface)); }
.gdg-th.is-pinned[b-rtq6ts6y5n] { z-index: 4; box-shadow: 1px 0 0 var(--c-border-2); }

/* Colonnes utilitaires (détail, poignée, case « tout sélectionner ») : gelées à gauche par
   construction, donc AU-DESSUS des en-têtes libres (2) ET des en-têtes gelés (4). Sans cela le
   défilement horizontal faisait glisser le libellé d'une colonne libre par-dessus la case à cocher
   d'en-tête, qui devenait illisible. Les cellules de corps, elles, sont déjà couvertes par is-pinned. */
.gdg-headrow th.gdg-utilth[b-rtq6ts6y5n],
.gdg-headrow th.gdg-expcell-h[b-rtq6ts6y5n],
.gdg-headrow th.gdg-draghandle-h[b-rtq6ts6y5n],
.gdg-filterrow th.gdg-utilth[b-rtq6ts6y5n] { z-index: 5; }
.gdg-filterrow th.is-pinned[b-rtq6ts6y5n] { z-index: 4; background: var(--c-surface); box-shadow: 1px 0 0 var(--c-border-2); }
.gdg-cell.is-pinned[b-rtq6ts6y5n], .gdg-checkcell.is-pinned[b-rtq6ts6y5n], .gdg-draghandle.is-pinned[b-rtq6ts6y5n] {
    z-index: 1; background-color: inherit; box-shadow: 1px 0 0 var(--c-border-2);
}
.gdg-groupfoot td.is-pinned[b-rtq6ts6y5n] { background: var(--c-surface-2); z-index: 1; }

/* E10 — colonnes virtualisées : la position de chaque colonne est CALCULÉE à partir des largeurs
   déclarées. La largeur rendue doit donc être exactement la largeur déclarée, marge intérieure
   comprise (border-box), sinon l'écart d'une colonne s'accumulerait sur des centaines d'autres.
   Les entretoises (gauche/droite) tiennent la place des colonnes non rendues : aucune marge,
   aucun contenu, rien à cliquer. */
.gdg-table.is-colvirt th[b-rtq6ts6y5n], .gdg-table.is-colvirt td[b-rtq6ts6y5n] { box-sizing: border-box; }
.gdg-colspacer[b-rtq6ts6y5n] { padding: 0 !important; pointer-events: none; }

/* pied d'agrégats collant : les lignes (max 4 : total, sélection, A, B) s'empilent depuis le bas */
.gdg-table.is-stickyfoot tfoot td[b-rtq6ts6y5n] { position: sticky; z-index: 3; height: 34px; box-sizing: border-box; }
.gdg-table.is-stickyfoot tfoot tr:nth-last-child(1) td[b-rtq6ts6y5n] { bottom: 0; }
.gdg-table.is-stickyfoot tfoot tr:nth-last-child(2) td[b-rtq6ts6y5n] { bottom: 34px; }
.gdg-table.is-stickyfoot tfoot tr:nth-last-child(3) td[b-rtq6ts6y5n] { bottom: 68px; }
.gdg-table.is-stickyfoot tfoot tr:nth-last-child(4) td[b-rtq6ts6y5n] { bottom: 102px; }

/* chips et ligne comparatives des groupes de sélection */
.gdg-cmpchip[b-rtq6ts6y5n] {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 4px 6px 4px 12px; border-radius: 999px;
    background: var(--ov-16); color: var(--c-on-accent);
    font-size: 12.5px; font-weight: 700; cursor: pointer; user-select: none;
}
.gdg-cmpchip:hover[b-rtq6ts6y5n] { background: var(--ov-28); }
.gdg-aggrow.is-cmp td[b-rtq6ts6y5n] { background: var(--c-info-soft); color: var(--c-info); border-top: 1px solid var(--c-border); }

/* ---- HelpGridV3 v5 : master-detail, groupes illimités au pied ---- */

.gdg-expcell[b-rtq6ts6y5n] { width: 34px; text-align: center; padding: 6px 2px; }
.gdg-expcell-h[b-rtq6ts6y5n] { width: 34px; }
.gdg-expbtn[b-rtq6ts6y5n] {
    border: none; background: none; cursor: pointer; color: var(--c-ink-3);
    font-size: 13px; line-height: 1; padding: 4px 6px; border-radius: 6px;
    transition: transform .15s;
    display: inline-block;
}
.gdg-expbtn:hover[b-rtq6ts6y5n] { color: var(--c-accent); background: var(--c-accent-soft); }
.gdg-expbtn.is-open[b-rtq6ts6y5n] { transform: rotate(90deg); color: var(--c-accent); }

.gdg-detailrow > td[b-rtq6ts6y5n] {
    background: var(--c-surface-2);
    border-top: 1px dashed var(--c-border);
    padding: 0;
}
.gdg-detail[b-rtq6ts6y5n] { padding: 14px 18px 16px; }
/* grille imbriquée dans un détail : carte plus discrète */
.gdg-detail .gdg-card[b-rtq6ts6y5n] { box-shadow: none; }
.gdg-detail .gdg[b-rtq6ts6y5n] { font-size: 13px; }

/* étiquette + croix des groupes comparatifs dans le pied */
.gdg-cmptag[b-rtq6ts6y5n] {
    display: inline-flex; align-items: center; gap: 5px; margin-right: 8px;
    padding: 1px 6px 1px 9px; border-radius: 999px;
    background: var(--c-info); color: var(--c-on-info); font-size: 10.5px; font-weight: 800;
}
.gdg-cmpx[b-rtq6ts6y5n] {
    border: none; background: var(--ov-25); color: var(--c-on-accent);
    width: 14px; height: 14px; border-radius: 50%; cursor: pointer;
    font-size: 11px; line-height: 1; padding: 0;
}
.gdg-cmpx:hover[b-rtq6ts6y5n] { background: var(--ov-50); }

/* onglets de la démo master-detail */
.gdg-demo-tabs[b-rtq6ts6y5n] { display: flex; gap: 4px; margin-bottom: 12px; border-bottom: 1px solid var(--c-border); }
.gdg-demo-tab[b-rtq6ts6y5n] {
    border: none; background: none; cursor: pointer; padding: 8px 16px;
    font-size: 13px; font-weight: 600; color: var(--c-ink-3);
    border-bottom: 2px solid transparent; margin-bottom: -1px;
}
.gdg-demo-tab:hover[b-rtq6ts6y5n] { color: var(--c-ink); }
.gdg-demo-tab.is-active[b-rtq6ts6y5n] { color: var(--c-accent); border-bottom-color: var(--c-accent); }

/* ---- HelpGridV3 a11y ---- */

/* texte uniquement pour les lecteurs d'écran (région aria-live) */
.gdg-sronly[b-rtq6ts6y5n] {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* le caret de groupe est désormais un vrai bouton focalisable */
button.gdg-caret[b-rtq6ts6y5n] {
    border: none; background: none; cursor: pointer; padding: 0;
    display: inline-block; width: 16px; color: var(--c-ink-3); font-size: inherit;
}
button.gdg-caret:focus-visible[b-rtq6ts6y5n] { outline: 2px solid var(--c-accent); outline-offset: 1px; border-radius: 4px; }

/* focus visible cohérent sur les contrôles internes de la grille */
.gdg button:focus-visible[b-rtq6ts6y5n], .gdg input:focus-visible[b-rtq6ts6y5n], .gdg select:focus-visible[b-rtq6ts6y5n] {
    outline: 2px solid var(--c-accent); outline-offset: 1px;
}

/* ---- HelpGridV3 v8 : édition inline, vues nommées, undo, divers ---- */

.gdg-editin[b-rtq6ts6y5n] {
    width: 100%; min-width: 0; border: 1px solid var(--c-accent); border-radius: 6px;
    padding: 4px 8px; font-size: inherit; font-family: inherit;
    background: var(--c-surface); color: var(--c-ink);
}

/* même traitement que la barre de sélection : en surimpression, l'écran ne saute pas.
   Les deux ne coexistent jamais — « Nettoyer » vide la sélection avant d'afficher l'annulation. */
.gdg-undobar[b-rtq6ts6y5n] {
    position: absolute; z-index: 30;
    left: 50%; bottom: 62px; transform: translateX(-50%);
    display: flex; align-items: center; gap: 10px;
    max-width: calc(100% - 24px);
    margin: 0; padding: 8px 14px; border-radius: 999px;
    background: var(--c-info-soft); color: var(--c-info); font-size: 13px;
    border: 1px solid var(--c-border);
    box-shadow: var(--sh-float-2);
    animation: gdg-selrise .16s ease-out;
}
@media (max-width: 700px) {
    .gdg-undobar[b-rtq6ts6y5n] { left: 12px; right: 12px; transform: none; max-width: none; border-radius: 12px; animation: none; }
}
@media (prefers-reduced-motion: reduce) {
    .gdg-undobar[b-rtq6ts6y5n] { animation: none; }
}
.gdg-undobar .gdg-chipx[b-rtq6ts6y5n] { background: var(--c-info); color: var(--c-on-info); margin-left: auto; }

.gdg-viewrow[b-rtq6ts6y5n] { display: flex; align-items: center; gap: 6px; padding: 2px 4px; }
/* La croix de suppression d une vue heritait du style « chip sombre » : blanche sur fond clair,
   donc invisible. Meme correction que pour les regles. */
.gdg-viewrow .gdg-chipx[b-rtq6ts6y5n] {
    background: none; color: var(--c-ink-3);
    width: 22px; height: 22px; border-radius: 6px;
}
.gdg-viewrow .gdg-chipx:hover[b-rtq6ts6y5n] { background: var(--c-accent-soft); color: var(--c-accent); }

.gdg-viewapply[b-rtq6ts6y5n] {
    flex: 1; text-align: left; border: none; background: none; cursor: pointer;
    padding: 7px 8px; border-radius: 8px; font-size: 13px; color: var(--c-ink);
}
.gdg-viewapply:hover[b-rtq6ts6y5n] { background: var(--c-surface-2); }
.gdg-viewrow .gdg-chipx[b-rtq6ts6y5n] { background: var(--c-surface-3); color: var(--c-ink-2); }
.gdg-viewrow .gdg-chipx:hover[b-rtq6ts6y5n] { background: var(--c-accent); color: var(--c-on-accent); }
.gdg-viewsave[b-rtq6ts6y5n] { display: flex; gap: 6px; padding: 8px 4px 2px; border-top: 1px solid var(--c-border); margin-top: 6px; }

.gdg-exploading[b-rtq6ts6y5n] { color: var(--c-ink-3); font-weight: 700; }

.gdg mark[b-rtq6ts6y5n] { background: var(--c-warning-soft); color: inherit; border-radius: 3px; padding: 0 1px; }

/* contraste AA des en-têtes (ink-3 était à ~3.5:1) */
.gdg-th[b-rtq6ts6y5n] { color: var(--c-ink-2); }

/* cible tactile du redimensionnement élargie sur écrans tactiles */
@media (pointer: coarse) {
    .gdg-resize[b-rtq6ts6y5n] { width: 16px; right: -8px; }
}

/* animations neutralisées si l'utilisateur le demande */
@media (prefers-reduced-motion: reduce) {
    .gdg *[b-rtq6ts6y5n], .gdg *[b-rtq6ts6y5n]::before, .gdg *[b-rtq6ts6y5n]::after { transition: none !important; animation: none !important; }
}

/* ---- HelpGridV3 v9 : densités (3 niveaux), zébré, multiligne ---- */

/* Compacte (ex is-dense) */
.gdg-table.density-compact .gdg-th[b-rtq6ts6y5n] { padding: 7px 12px; }
.gdg-table.density-compact .gdg-cell[b-rtq6ts6y5n] { padding: 7px 12px; font-size: 12.5px; }
.gdg-table.density-compact .gdg-checkcell[b-rtq6ts6y5n], .gdg-table.density-compact .gdg-expcell[b-rtq6ts6y5n] { padding: 5px 4px; }

/* Ultra-compacte : densité maximale type tableur/Omnis */
.gdg-table.density-ultra .gdg-th[b-rtq6ts6y5n] { padding: 5px 9px; font-size: 10px; }
.gdg-table.density-ultra .gdg-cell[b-rtq6ts6y5n] { padding: 3px 9px; font-size: 11.5px; }
.gdg-table.density-ultra .gdg-checkcell[b-rtq6ts6y5n], .gdg-table.density-ultra .gdg-expcell[b-rtq6ts6y5n] { padding: 2px 4px; }
.gdg-table.density-ultra .gdg-grouprow td[b-rtq6ts6y5n] { padding: 4px 9px; font-size: 11.5px; }
.gdg-table.density-ultra .gdg-groupfoot td[b-rtq6ts6y5n] { padding: 3px 9px; font-size: 11px; }
.gdg-table.density-ultra .gdg-filterrow th[b-rtq6ts6y5n] { top: 26px; }

/* Lignes zébrées — le survol et la sélection gardent la priorité (règles plus bas = gagnantes) */
/* --row-bg d'abord : une ligne teintee par une regle d'ecran garde sa couleur, sinon le zebre
   l'effacait une ligne sur deux (et la teinte ne voulait plus rien dire). */
.gdg-table.is-zebra tbody .gdg-datarow:nth-child(even)[b-rtq6ts6y5n] { background: var(--row-bg, var(--c-surface-2)); }
/* (les cellules gelees heritent du fond de la ligne : plus besoin de les repeindre) */
.gdg-table.is-zebra tbody .gdg-datarow:hover[b-rtq6ts6y5n] { background: var(--c-surface-3); }
.gdg-table.is-zebra tbody .gdg-datarow.is-selected[b-rtq6ts6y5n],
.gdg-table.is-zebra tbody .gdg-datarow.gdg-marquee-hit[b-rtq6ts6y5n] { background: var(--c-row-sel); }
/* E9, round 1 : même besoin que .is-selected juste au-dessus — sans cette règle zébrée, une ligne
   paire (fond du zébrage) ou survolée écraserait le fond posé par l'hôte via gdg-row-selected. */
.gdg-table.is-zebra tbody .gdg-datarow.gdg-row-selected[b-rtq6ts6y5n] { background: var(--c-row-sel); }

/* Texte multiligne : enlève l'ellipse, les lignes prennent la hauteur du contenu */
.gdg-table.is-wrap .gdg-cell[b-rtq6ts6y5n] { white-space: normal; overflow: visible; text-overflow: clip; max-width: none; }

/* Ultra-compacte : jamais de repli, même si le multiligne (is-wrap) est actif — la ligne reste
   à hauteur fixe (E6) ; l'infobulle porte le texte complet (voir title dans HelpGridV3.razor).
   Même spécificité que la règle is-wrap ci-dessus : celle-ci gagne parce qu'elle vient après. */
.gdg-table.density-ultra .gdg-cell[b-rtq6ts6y5n] { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Le <mark> du surlignage est injecté via MarkupString : il ne porte pas l'attribut de scope,
   d'où ::deep (la cellule parente, elle, le porte). */
.gdg-cell[b-rtq6ts6y5n]  mark { background: var(--c-warning-soft); color: inherit; border-radius: 3px; padding: 0 1px; }
/* =========================================================================
   Édition : ligne en cours, actions, dialogues (« Remplacer », confirmation)
   Ajout de la V3 CoreBlazor — même préfixe gdg-, portable tel quel vers
   la grille SrvColibase (aucun token nouveau, aucune dépendance).
   ========================================================================= */

/* Variantes de bouton utilisées par les actions d'écriture */
/* variantes (dont ::deep, pour les boutons places par l'ecran dans la barre) */
.gdg-btn.is-primary[b-rtq6ts6y5n], .gdg[b-rtq6ts6y5n]  .gdg-btn.is-primary {
    background: var(--c-accent); border-color: var(--c-accent); color: var(--c-on-accent);
}
.gdg-btn.is-primary:hover[b-rtq6ts6y5n], .gdg[b-rtq6ts6y5n]  .gdg-btn.is-primary:hover { background: var(--c-accent-700); border-color: var(--c-accent-700); color: var(--c-on-accent); }
.gdg-btn.is-danger[b-rtq6ts6y5n], .gdg[b-rtq6ts6y5n]  .gdg-btn.is-danger { color: var(--c-accent); border-color: var(--c-accent-soft-2); }
.gdg-btn.is-danger:hover[b-rtq6ts6y5n], .gdg[b-rtq6ts6y5n]  .gdg-btn.is-danger:hover { background: var(--c-accent-soft); border-color: var(--c-accent); }
.gdg-btn:disabled[b-rtq6ts6y5n], .gdg[b-rtq6ts6y5n]  .gdg-btn:disabled { opacity: .45; cursor: not-allowed; }
.gdg-btn:disabled:hover[b-rtq6ts6y5n], .gdg[b-rtq6ts6y5n]  .gdg-btn:disabled:hover { border-color: var(--c-border); color: var(--c-ink-2); background: var(--c-surface); }

/* Ligne en édition : liseré d'accent à gauche, fond légèrement teinté */
.gdg-table tbody .gdg-datarow.is-editing[b-rtq6ts6y5n],
.gdg-table tbody .gdg-datarow.is-editing .gdg-cell:first-child[b-rtq6ts6y5n] { box-shadow: inset 3px 0 0 var(--c-accent); }
/* E9, round 1 : cette règle est plus spécifique que .gdg-datarow.gdg-row-current et gagnerait le
   box-shadow d'une ligne à la fois en édition ET courante côté hôte — mais la valeur posée est
   IDENTIQUE (inset 3px 0 0 var(--c-accent)) : aucune différence visible, donc aucune règle combinée
   n'est ajoutée ici (contrairement à is-frozenrow, dont le fond diffère de la sélection). Si l'une
   des deux valeurs change un jour, revoir cette note. */

/* Barre d'actions sous la ligne en édition */
.gdg-editrow td[b-rtq6ts6y5n] { padding: 0; background: var(--c-accent-soft); border-bottom: 1px solid var(--c-border); }
.gdg-editactions[b-rtq6ts6y5n] {
    display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
    padding: 8px 12px; box-shadow: inset 3px 0 0 var(--c-accent);
}
.gdg-edithint[b-rtq6ts6y5n] { font-size: 11.5px; color: var(--c-ink-3); }
.gdg-editerr[b-rtq6ts6y5n] { font-size: 12.5px; font-weight: 600; color: var(--c-accent); }

/* Dialogues centrés (édition massive, confirmation) */
.gdg-dialog[b-rtq6ts6y5n] {
    position: fixed; z-index: 71; left: 50%; top: 50%; transform: translate(-50%, -50%);
    width: min(560px, calc(100vw - 32px)); max-height: min(76vh, 720px);
    display: flex; flex-direction: column;
    background: var(--c-surface); border: 1px solid var(--c-border-2); border-radius: 12px;
    box-shadow: var(--sh-lg); padding: 16px;
}
.gdg-dialog.is-narrow[b-rtq6ts6y5n] { width: min(420px, calc(100vw - 32px)); }
.gdg-dialog-title[b-rtq6ts6y5n] { margin: 0 0 4px; font-size: 14px; font-weight: 700; color: var(--c-ink); }
.gdg-dialog-hint[b-rtq6ts6y5n] { margin: 0 0 10px; font-size: 12px; color: var(--c-ink-3); }
.gdg-dialog-body[b-rtq6ts6y5n] { overflow-y: auto; display: flex; flex-direction: column; gap: 8px; padding-right: 2px; }
.gdg-dialog-actions[b-rtq6ts6y5n] { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; }

/* Une ligne = un champ à remplacer : case « appliquer » + éditeur typé */
.gdg-bulkrow[b-rtq6ts6y5n] {
    display: grid; grid-template-columns: minmax(120px, 40%) 1fr; align-items: center; gap: 10px;
    padding: 6px 8px; border-radius: 8px;
}
.gdg-bulkrow:hover[b-rtq6ts6y5n] { background: var(--c-surface-2); }
.gdg-bulklabel[b-rtq6ts6y5n] { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--c-ink-2); cursor: pointer; }
.gdg-bulkfield[b-rtq6ts6y5n] { min-width: 0; }
.gdg-bulkfield .gdg-editin[b-rtq6ts6y5n] { position: static; width: 100%; }

/* Lignes ecartees : le lot continue apres un refus, donc le dialogue doit pouvoir en montrer
   plusieurs sans repousser ses propres boutons hors de l ecran. */
.gdg-bulkreport[b-rtq6ts6y5n] {
    margin: 10px 0 0; padding: 8px 10px; border-radius: 8px;
    background: var(--c-danger-soft); border: 1px solid var(--c-danger-soft-2);
}
.gdg-bulkreport-title[b-rtq6ts6y5n] { margin: 0 0 6px; font-size: 12.5px; font-weight: 600; color: var(--c-danger-ink); }
.gdg-bulkreport-list[b-rtq6ts6y5n] {
    margin: 0; padding-left: 18px; max-height: 140px; overflow-y: auto;
    font-size: 12px; color: var(--c-ink-2); line-height: 1.55;
}

/* =========================================================================
   Colonnes : débordement, en-têtes empilés, menu de colonne
   ========================================================================= */

.gdg-cell.is-clip[b-rtq6ts6y5n] { white-space: nowrap; overflow: hidden; text-overflow: clip; }
.gdg-cell.is-wrapcell[b-rtq6ts6y5n] { white-space: normal; overflow: visible; text-overflow: clip; max-width: none; }

/* En-tête groupé (stacked headers) : une ligne au-dessus des colonnes */
.gdg-headgrouprow .gdg-thgroup[b-rtq6ts6y5n] {
    padding: 6px 12px; text-align: center; font-size: 11px; font-weight: 700;
    letter-spacing: .04em; text-transform: uppercase; color: var(--c-ink-3);
    background: var(--c-surface-2); border-bottom: 1px solid var(--c-border);
    border-right: 1px solid var(--c-border);
}
.gdg-headgrouprow .gdg-thgroup.is-empty[b-rtq6ts6y5n] { background: var(--c-surface); border-right-color: transparent; }

/* Bouton du menu de colonne : discret, révélé au survol ou au focus clavier */
.gdg-colmenubtn[b-rtq6ts6y5n] {
    border: none; background: none; cursor: pointer; color: var(--c-ink-3);
    font-size: 14px; line-height: 1; padding: 2px 4px; border-radius: 5px;
    opacity: 0; transition: opacity .12s ease;
}
.gdg-th:hover .gdg-colmenubtn[b-rtq6ts6y5n],
.gdg-th:focus-within .gdg-colmenubtn[b-rtq6ts6y5n],
.gdg-colmenubtn:focus-visible[b-rtq6ts6y5n] { opacity: 1; }
.gdg-colmenubtn:hover[b-rtq6ts6y5n] { background: var(--c-surface-3); color: var(--c-accent); }

/* =========================================================================
   Cellules actives et colonne de commandes
   ========================================================================= */

/* Enveloppe d'un contrôle interactif dans une cellule : la grille y neutralise
   le clic de ligne, la sélection et le déclencheur d'édition. */
.gdg-cellaction[b-rtq6ts6y5n] { display: flex; align-items: center; gap: 6px; min-width: 0; }
.gdg-cellaction > select[b-rtq6ts6y5n],
.gdg-cellaction > input:not([type="checkbox"])[b-rtq6ts6y5n] {
    width: 100%; min-width: 0; padding: 3px 6px; font: inherit; color: var(--c-ink);
    background: var(--c-surface); border: 1px solid var(--c-border); border-radius: 6px;
}
.gdg-cellaction > select:hover[b-rtq6ts6y5n] { border-color: var(--c-accent); }

/* E7 : enveloppe purement événementielle du gabarit de cellule (Template/ChildContent d'un écran) —
   seul @onkeydown:stopPropagation (HelpGridV3.razor) en fait usage. display:contents ne change QUE
   la mise en page (l'enveloppe ne génère pas de boîte : dans une cellule en flex/grid, ses enfants
   participent comme s'ils étaient directement dans le <td>). Elle reste un vrai nœud du DOM pour le
   reste — round 1 de revue, tâche 4 : un sélecteur CSS d'écran de la forme `td > x` (combinateur
   « enfant direct ») ne matche donc PLUS x une fois enveloppé (son parent réel est ce <span>) ; un
   sélecteur descendant `td x` ou une règle héritée (`color`, `font`…) continue de fonctionner. */
.gdg-celltemplate[b-rtq6ts6y5n] { display: contents; }

.gdg-cmds[b-rtq6ts6y5n] { display: flex; align-items: center; justify-content: center; gap: 4px; }
.gdg-cmd[b-rtq6ts6y5n] {
    border: 1px solid transparent; background: none; cursor: pointer; color: var(--c-ink-2);
    border-radius: 6px; padding: 3px 7px; font-size: 13px; line-height: 1.1;
    min-width: 28px; min-height: 28px;
}
.gdg-cmd:hover[b-rtq6ts6y5n] { background: var(--c-surface-2); border-color: var(--c-border); color: var(--c-accent); }
.gdg-cmd.is-primary[b-rtq6ts6y5n] { color: var(--c-on-accent); background: var(--c-accent); border-color: var(--c-accent); }
.gdg-cmd.is-primary:hover[b-rtq6ts6y5n] { background: var(--c-accent-700); }
.gdg-cmd.is-danger:hover[b-rtq6ts6y5n] { background: var(--c-accent-soft); border-color: var(--c-accent); color: var(--c-accent); }

/* Cellule modifiée non enregistrée (mode lot) : coin replié — un repère de forme,
   pas seulement de couleur, pour rester lisible en contraste forcé. */
.gdg-cell.is-dirty[b-rtq6ts6y5n] { position: relative; font-weight: 600; }
.gdg-cell.is-dirty[b-rtq6ts6y5n]::after {
    content: ""; position: absolute; top: 0; inset-inline-start: 0;
    border-width: 5px 5px 0 0; border-style: solid;
    border-color: var(--c-accent) transparent transparent transparent;
}

/* =========================================================================
   Filtre multi-liste (façon tableur)
   ========================================================================= */

.gdg-fmulti[b-rtq6ts6y5n] { display: flex; flex-direction: column; gap: 6px; min-width: 220px; }
.gdg-fmulti-actions[b-rtq6ts6y5n] { display: flex; align-items: center; gap: 10px; }
.gdg-fmulti-count[b-rtq6ts6y5n] {
    margin-inline-start: auto; font-size: 11px; font-weight: 700; color: var(--c-accent);
    background: var(--c-accent-soft); border-radius: 999px; padding: 1px 7px;
}
.gdg-fmulti-list[b-rtq6ts6y5n] { max-height: 220px; overflow-y: auto; display: flex; flex-direction: column; gap: 2px; }
.gdg-fmulti-item[b-rtq6ts6y5n] {
    display: flex; align-items: center; gap: 8px; padding: 4px 6px; border-radius: 6px;
    font-size: 12.5px; color: var(--c-ink-2); cursor: pointer;
}
.gdg-fmulti-item:hover[b-rtq6ts6y5n] { background: var(--c-surface-2); }

/* =========================================================================
   Formulaire d'édition en dialogue
   ========================================================================= */

.gdg-formrow[b-rtq6ts6y5n] {
    display: grid; grid-template-columns: minmax(120px, 34%) 1fr; align-items: center; gap: 10px;
    padding: 5px 2px;
}
.gdg-formlabel[b-rtq6ts6y5n] { font-size: 13px; color: var(--c-ink-2); }
.gdg-req[b-rtq6ts6y5n] { color: var(--c-accent); margin-inline-start: 3px; }
.gdg-formfield[b-rtq6ts6y5n] { min-width: 0; }
.gdg-formfield .gdg-editin[b-rtq6ts6y5n] { position: static; width: 100%; }

/* =========================================================================
   Lignes gelées et espace réservé de la virtualisation
   ========================================================================= */

.gdg-datarow.is-frozenrow[b-rtq6ts6y5n] { background: var(--c-surface); box-shadow: 0 1px 0 var(--c-border); }
/* E9, round 1 : même spécificité (2 classes) que la règle juste au-dessus — sans ce combo à 3
   classes, une ligne gelée ET sélectionnée par l'hôte perdrait sa teinte de sélection (le fond
   « gelé » l'emporterait selon l'ordre du fichier, alors qu'une ligne sélectionnée doit le rester
   même gelée). */
.gdg-datarow.is-frozenrow.gdg-row-selected[b-rtq6ts6y5n] { background: var(--c-row-sel); }
.gdg-datarow.is-placeholder td[b-rtq6ts6y5n] { color: var(--c-ink-3); font-style: italic; }

/* =========================================================================
   Accessibilité
   ========================================================================= */

/* Anneau de focus visible partout. :focus-visible seulement : rien au clic
   souris, toujours au clavier. */
.gdg :focus-visible[b-rtq6ts6y5n],
.gdg-th:focus-visible[b-rtq6ts6y5n],
.gdg-cell:focus-visible[b-rtq6ts6y5n] {
    outline: 2px solid var(--c-accent); outline-offset: -2px; border-radius: 4px;
}

/* La ligne focalisée au clavier reste identifiable sans dépendre de la couleur */
.gdg-table tbody .gdg-datarow.is-focus[b-rtq6ts6y5n] { outline: 2px solid var(--c-info); outline-offset: -2px; }

/* (La zone d'annonce aria-live utilise .gdg-sronly, déjà défini plus haut.) */

/* Pointeur grossier (tactile) : cibles de 44 px, recommandation WCAG 2.5.5 */
@media (pointer: coarse) {
    .gdg-btn[b-rtq6ts6y5n], .gdg-iconbtn[b-rtq6ts6y5n], .gdg-cmd[b-rtq6ts6y5n], .gdg-pagebtn[b-rtq6ts6y5n] { min-height: 44px; min-width: 44px; }
    .gdg-check[b-rtq6ts6y5n], .gdg-checkcell input[type="checkbox"][b-rtq6ts6y5n] { transform: scale(1.25); }
    .gdg-fmulti-item[b-rtq6ts6y5n] { padding: 10px 6px; }
}

/* Mouvement réduit : transitions coupées, changements d'état conservés */
@media (prefers-reduced-motion: reduce) {
    .gdg *[b-rtq6ts6y5n], .gdg *[b-rtq6ts6y5n]::before, .gdg *[b-rtq6ts6y5n]::after {
        transition-duration: 0.01ms;
        animation-duration: 0.01ms;
        animation-iteration-count: 1;
        scroll-behavior: auto;
    }
}

/* Contraste forcé (Windows) : bordures au système, et les repères qui ne
   tenaient qu'à la couleur passent en formes. */
@media (forced-colors: active) {
    .gdg-table[b-rtq6ts6y5n], .gdg-th[b-rtq6ts6y5n], .gdg-cell[b-rtq6ts6y5n] { border-color: CanvasText; }
    .gdg-table tbody .gdg-datarow.is-selected[b-rtq6ts6y5n] { outline: 2px solid Highlight; outline-offset: -2px; }
    .gdg-cell.is-dirty[b-rtq6ts6y5n]::after { border-top-color: CanvasText; }
    .gdg-btn[b-rtq6ts6y5n], .gdg-iconbtn[b-rtq6ts6y5n], .gdg-cmd[b-rtq6ts6y5n] { border-color: CanvasText; }
    .gdg-sorticon[b-rtq6ts6y5n], .gdg-filteron[b-rtq6ts6y5n] { forced-color-adjust: none; }
}

/* =========================================================================
   Droite-à-gauche
   ========================================================================= */

.gdg[dir="rtl"] .gdg-resize[b-rtq6ts6y5n] { inset-inline-end: auto; inset-inline-start: 0; }
.gdg[dir="rtl"] .gdg-editactions[b-rtq6ts6y5n] { box-shadow: inset -3px 0 0 var(--c-accent); }

/* =========================================================================
   Impression : la grille à plat, sans commandes, en-têtes répétés.
   C'est aussi le chemin PDF — le navigateur sait enregistrer en PDF et le rendu
   reste fidèle à ce que l'utilisateur voit.
   ========================================================================= */

@media print {
    .gdg-toolbar[b-rtq6ts6y5n], .gdg-grouppanel[b-rtq6ts6y5n], .gdg-selbar[b-rtq6ts6y5n], .gdg-footer[b-rtq6ts6y5n], .gdg-undobar[b-rtq6ts6y5n], .gdg-loadbar[b-rtq6ts6y5n],
    .gdg-resize[b-rtq6ts6y5n], .gdg-pinbtn[b-rtq6ts6y5n], .gdg-colmenubtn[b-rtq6ts6y5n], .gdg-fbtn[b-rtq6ts6y5n], .gdg-filterrow[b-rtq6ts6y5n],
    .gdg-cmds[b-rtq6ts6y5n], .gdg-checkcell[b-rtq6ts6y5n], .gdg-draghandle[b-rtq6ts6y5n], .gdg-expcell[b-rtq6ts6y5n] { display: none; }

    .gdg[b-rtq6ts6y5n] { color: var(--c-print-ink); font-size: 10.5pt; }
    .gdg-scroll[b-rtq6ts6y5n] { max-height: none; overflow: visible; }
    .gdg-table[b-rtq6ts6y5n] { table-layout: auto; width: 100%; }
    .gdg-table thead[b-rtq6ts6y5n] { display: table-header-group; }
    .gdg-table tfoot[b-rtq6ts6y5n] { display: table-footer-group; }
    .gdg-datarow[b-rtq6ts6y5n] { break-inside: avoid; page-break-inside: avoid; }
    .gdg-th[b-rtq6ts6y5n], .gdg-cell[b-rtq6ts6y5n] {
        position: static; white-space: normal; max-width: none;
        border: 1px solid var(--c-print-border); padding: 4px 6px;
    }
    .gdg-table tbody .gdg-datarow.is-selected[b-rtq6ts6y5n] { background: none; font-weight: 700; }
}

/* Cellule active du clavier : contour net, visible aussi en contraste force */
.gdg-cell.is-focuscell[b-rtq6ts6y5n] { outline: 2px solid var(--c-accent); outline-offset: -2px; }
@media (forced-colors: active) {
    .gdg-cell.is-focuscell[b-rtq6ts6y5n] { outline: 2px solid Highlight; }
}

/* Colonne active (E1) : en-tête + chaque cellule. Fond posé directement sur le <th>/<td> (pas sur
   la <tr>) : il couvre donc toujours le zébrage (fond posé sur la <tr>, une autre boîte) sans
   !important. Écrit avec deux classes pour l'emporter, à égalité de source, sur .gdg-th.is-pinned /
   .gdg-cell.is-pinned quand la colonne active est aussi gelée (cette règle vient après). */
.gdg-th.gdg-col-active[b-rtq6ts6y5n] { background: var(--c-col-active); }
.gdg-cell.gdg-col-active[b-rtq6ts6y5n] { background: var(--c-col-active); }

/* =========================================================================
   Ligne de filtres : tenir dans la largeur de la colonne, sans grandir en hauteur
   ========================================================================= */

/* Le selecteur d'operateur garde une largeur lisible ("Contient" ne doit pas
   devenir "Contie") ; c'est la saisie qui cede la place, pas l'etiquette. */
.gdg-filterrow .gdg-fop[b-rtq6ts6y5n] {
    flex: 0 0 auto; width: auto; min-width: 74px; max-width: 96px;
    padding: 5px 2px; font-size: 11px;
}
.gdg-filterrow .gdg-fin[b-rtq6ts6y5n], .gdg-filterrow .gdg-fsel[b-rtq6ts6y5n] { flex: 1 1 auto; min-width: 0; }
.gdg-filterrow .gdg-fwrap[b-rtq6ts6y5n] { gap: 3px; min-width: 0; }

/* Une hauteur de ligne stable : aucun controle de filtre ne depasse. */
.gdg-filterrow th[b-rtq6ts6y5n] { vertical-align: middle; }

/* Filtre multi-liste dans la ligne : un bouton compact, la liste s'ouvre en popup.
   Rendre la liste ici ferait une ligne de 300 px de haut. */
.gdg-fmulti-btn[b-rtq6ts6y5n] {
    display: flex; align-items: center; justify-content: space-between; gap: 4px;
    width: 100%; min-width: 0; padding: 5px 8px;
    border: 1px solid var(--c-border); border-radius: 7px;
    background: var(--c-surface); color: var(--c-ink-2);
    font-size: 12.5px; cursor: pointer;
}
.gdg-fmulti-btn:hover[b-rtq6ts6y5n] { border-color: var(--c-accent); color: var(--c-accent); }
.gdg-fmulti-btn.is-on[b-rtq6ts6y5n] { border-color: var(--c-accent); background: var(--c-accent-soft); color: var(--c-accent); font-weight: 600; }
.gdg-fmulti-btnlabel[b-rtq6ts6y5n] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gdg-fmulti-caret[b-rtq6ts6y5n] { flex: 0 0 auto; font-size: 10px; opacity: .7; }

/* Dans le popup, la liste retrouve sa place */
.gdg-fpopup .gdg-fmulti[b-rtq6ts6y5n] { min-width: 240px; }

/* Puce d'un filtre sans valeur (Vide / Non vide) dans la ligne de filtres : clic = effacer */
.gdg-fchip[b-rtq6ts6y5n] {
    display: inline-flex; align-items: center; gap: 6px; max-width: 100%;
    padding: 4px 9px; border-radius: 999px; cursor: pointer;
    border: 1px solid var(--c-accent); background: var(--c-accent-soft);
    color: var(--c-accent); font-size: 12px; font-weight: 600;
}
.gdg-fchip:hover[b-rtq6ts6y5n] { background: var(--c-accent-soft-2); }
.gdg-fchip-label[b-rtq6ts6y5n] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* =========================================================================
   Combobox de filtre : saisie + panneau de valeurs, au theme de la grille
   (le datalist natif n'est ni stylable ni pilotable au clavier de facon sure)
   ========================================================================= */

.gdg-fcombo[b-rtq6ts6y5n] { position: relative; display: flex; align-items: center; flex: 1 1 auto; min-width: 0; }
.gdg-fcombo .gdg-fin[b-rtq6ts6y5n] { padding-right: 22px; }
.gdg-fcombo-caret[b-rtq6ts6y5n] {
    position: absolute; inset-inline-end: 4px; border: none; background: none;
    color: var(--c-ink-3); cursor: pointer; font-size: 10px; line-height: 1; padding: 2px;
}
.gdg-fcombo-caret:hover[b-rtq6ts6y5n] { color: var(--c-accent); }

.gdg-combolist[b-rtq6ts6y5n] {
    position: fixed; z-index: 79; max-height: 280px; overflow-y: auto;
    min-width: 200px; padding: 4px;
    border: 1px solid var(--c-border-2); border-radius: 10px;
    background: var(--c-surface); box-shadow: var(--sh-lg);
}
.gdg-combo-opt[b-rtq6ts6y5n] {
    display: block; width: 100%; text-align: start;
    border: none; background: none; color: var(--c-ink-2);
    padding: 6px 9px; border-radius: 7px; cursor: pointer;
    font-size: 12.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.gdg-combo-opt:hover[b-rtq6ts6y5n], .gdg-combo-opt.is-active[b-rtq6ts6y5n] { background: var(--c-accent-soft); color: var(--c-accent); }
.gdg-combo-empty[b-rtq6ts6y5n], .gdg-combo-more[b-rtq6ts6y5n] {
    margin: 0; padding: 7px 9px; font-size: 12px; color: var(--c-ink-3); font-style: italic;
}

/* =========================================================================
   Chargement : bandeau discret pendant un rechargement, lignes fantomes au
   premier affichage. Jamais de voile sur des donnees deja lisibles.
   ========================================================================= */

/* Rechargement : filet anime sur l'arete haute de la carte, HORS FLUX. En bandeau, son
   apparition et sa disparition decalaient le tableau de ~27 px a chaque frappe dans un
   filtre — insupportable a l'usage. Ici rien ne bouge et rien n'est recouvert. */
.gdg-loadbar[b-rtq6ts6y5n] {
    position: absolute; top: 0; left: 0; right: 0; height: 3px; z-index: 5;
    overflow: hidden; background: var(--c-accent-soft);
    border-top-left-radius: 12px; border-top-right-radius: 12px;
    pointer-events: none;
}
.gdg-loadbar[b-rtq6ts6y5n]::after {
    content: ""; position: absolute; top: 0; bottom: 0; left: -40%; width: 40%;
    background: var(--c-accent);
    animation: gdg-loadslide-b-rtq6ts6y5n 1.1s ease-in-out infinite;
}
@keyframes gdg-loadslide-b-rtq6ts6y5n { from { left: -40%; } to { left: 100%; } }
/* sans animation : un filet plein et atténué dit « en cours » sans bouger */
@media (prefers-reduced-motion: reduce) {
    .gdg-loadbar[b-rtq6ts6y5n]::after { animation: none; left: 0; width: 100%; opacity: .55; }
}
@media (forced-colors: active) {
    .gdg-loadbar[b-rtq6ts6y5n]::after { background: Highlight; }
}

.gdg-spinner[b-rtq6ts6y5n] {
    width: 13px; height: 13px; flex: 0 0 auto; border-radius: 50%;
    border: 2px solid var(--c-accent-soft-2); border-top-color: var(--c-accent);
    animation: gdg-spin-b-rtq6ts6y5n .7s linear infinite;
}
@keyframes gdg-spin-b-rtq6ts6y5n { to { transform: rotate(360deg); } }

.gdg-empty .gdg-spinner[b-rtq6ts6y5n] { display: inline-block; vertical-align: -2px; margin-inline-end: 8px; }

/* Lignes fantomes : la forme du tableau apparait avant les donnees */
.gdg-skelrow td[b-rtq6ts6y5n] { padding: 11px 14px; border-top: 1px solid var(--c-border); }
.gdg-skel[b-rtq6ts6y5n] {
    display: block; height: 11px; border-radius: 6px;
    background: linear-gradient(90deg, var(--c-surface-2) 25%, var(--c-surface-3) 37%, var(--c-surface-2) 63%);
    background-size: 400% 100%;
    animation: gdg-shimmer-b-rtq6ts6y5n 1.3s ease-in-out infinite;
}
@keyframes gdg-shimmer-b-rtq6ts6y5n { 0% { background-position: 100% 0; } 100% { background-position: 0 0; } }

/* Mouvement reduit : on garde le repere, on enleve l'animation */
@media (prefers-reduced-motion: reduce) {
    .gdg-spinner[b-rtq6ts6y5n] { animation: none; border-top-color: var(--c-accent); }
    .gdg-skel[b-rtq6ts6y5n] { animation: none; background: var(--c-surface-2); }
}

/* Erreur de chargement de la source : visible, avec un bouton pour reessayer */
.gdg-loaderr[b-rtq6ts6y5n] {
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
    padding: 8px 12px; font-size: 12.5px; font-weight: 600;
    color: var(--c-accent); background: var(--c-accent-soft);
    border-bottom: 1px solid var(--c-accent-soft-2);
}
.gdg-loaderr-msg[b-rtq6ts6y5n] { flex: 1 1 auto; min-width: 0; font-weight: 400; color: var(--c-ink-2); }

/* =========================================================================
   Mise en forme conditionnelle — panneau de règles (HelpGridV3.Rules.cs)
   Une carte par règle : en-tête (pastille, nom, œil, croix), « Quand »
   (conditions + puces ET/OU), « Faire » (couleurs, gras, portée).
   ========================================================================= */

.gdg-rulecount[b-rtq6ts6y5n] {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 17px; height: 17px; margin-left: 6px; padding: 0 4px;
    border-radius: 999px; background: var(--c-accent); color: var(--c-on-accent);
    font-size: 10.5px; font-weight: 800;
}

/* Dialogue centre : plus de place que le popover, et il ne depend pas de la position du bouton.
   Trois zones fixes — titre, corps qui defile, pied avec les actions — pour que la liste des regles
   puisse grandir sans pousser le bouton d ajout hors de vue. */
.gdg-dialog.is-wide[b-rtq6ts6y5n] { width: min(720px, calc(100vw - 32px)); max-height: min(82vh, 820px); }
.gdg-dialog-head[b-rtq6ts6y5n] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding-bottom: 10px; margin-bottom: 12px; border-bottom: 1px solid var(--c-border);
}
.gdg-dialog-head .gdg-dialog-title[b-rtq6ts6y5n] { margin: 0; font-size: 15px; }
.gdg-dialogx[b-rtq6ts6y5n] {
    border: none; background: none; color: var(--c-ink-3); cursor: pointer;
    width: 28px; height: 28px; border-radius: 8px; font-size: 20px; line-height: 1; padding: 0;
}
.gdg-dialogx:hover[b-rtq6ts6y5n] { background: var(--c-surface-2); color: var(--c-ink); }
.gdg-dialog-foot[b-rtq6ts6y5n] {
    display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
    padding-top: 12px; margin-top: 12px; border-top: 1px solid var(--c-border);
}
.gdg-dialog-foot .gdg-rulehint[b-rtq6ts6y5n] { flex: 1 1 240px; margin: 0; border: none; padding: 0; }
.gdg-rules-empty[b-rtq6ts6y5n], .gdg-rulehint[b-rtq6ts6y5n] {
    margin: 6px 2px 0; font-size: 12px; line-height: 1.45; color: var(--c-ink-3);
}
.gdg-rulehint[b-rtq6ts6y5n] { border-top: 1px dashed var(--c-border); padding-top: 8px; }

.gdg-rulecard[b-rtq6ts6y5n] {
    border: 1px solid var(--c-border); border-radius: 10px;
    padding: 10px; margin-bottom: 10px; background: var(--c-surface);
}
.gdg-rulecard.is-off[b-rtq6ts6y5n] { opacity: .55; }
.gdg-rulecard-head[b-rtq6ts6y5n] { display: flex; align-items: center; gap: 6px; }

.gdg-ruleswatch[b-rtq6ts6y5n] {
    width: 16px; height: 16px; border-radius: 5px; flex: 0 0 auto;
    display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid var(--c-border-2); cursor: pointer; padding: 0;
    font-size: 10px; color: var(--c-ink-3);
}
.gdg-ruleswatch.is-none[b-rtq6ts6y5n] { background: var(--c-surface); }

.gdg-rulename[b-rtq6ts6y5n] {
    flex: 1 1 auto; min-width: 0; border: 1px solid transparent; border-radius: 6px;
    padding: 3px 6px; font-size: 13px; font-weight: 700; color: var(--c-ink);
    background: transparent;
}
.gdg-rulename:hover[b-rtq6ts6y5n] { border-color: var(--c-border); }
.gdg-rulename:focus[b-rtq6ts6y5n] { border-color: var(--c-accent); outline: none; background: var(--c-surface); }
.gdg-rulename.is-locked[b-rtq6ts6y5n] { padding: 3px 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.gdg-ruleicon[b-rtq6ts6y5n] {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 26px; height: 26px; padding: 0 6px;
    border: 1px solid var(--c-border); background: var(--c-surface); color: var(--c-ink-2);
    border-radius: 6px; font-size: 12px; cursor: pointer; line-height: 1;
}
.gdg-ruleicon:hover:not(:disabled)[b-rtq6ts6y5n] { border-color: var(--c-accent); color: var(--c-accent); }
.gdg-ruleicon.is-on[b-rtq6ts6y5n] { border-color: var(--c-accent); color: var(--c-accent); background: var(--c-accent-soft); }
.gdg-ruleicon:disabled[b-rtq6ts6y5n] { opacity: .4; cursor: default; }

.gdg-rulelocked[b-rtq6ts6y5n] { margin: 8px 2px 0; font-size: 12px; color: var(--c-ink-3); line-height: 1.45; }

.gdg-rulesection[b-rtq6ts6y5n] { margin-top: 10px; }
.gdg-rulesection-head[b-rtq6ts6y5n] {
    display: flex; align-items: center; justify-content: space-between; gap: 8px;
    margin: 0 0 6px; font-size: 11px; font-weight: 700; letter-spacing: .05em;
    text-transform: uppercase; color: var(--c-ink-3);
}

.gdg-rulechips[b-rtq6ts6y5n] { display: inline-flex; gap: 4px; }
.gdg-rulechip[b-rtq6ts6y5n] {
    border: 1px solid var(--c-border); background: var(--c-surface); color: var(--c-ink-2);
    border-radius: 999px; padding: 3px 10px; font-size: 11.5px; font-weight: 700; cursor: pointer;
}
.gdg-rulechip:hover[b-rtq6ts6y5n] { border-color: var(--c-accent); color: var(--c-accent); }
.gdg-rulechip.is-on[b-rtq6ts6y5n] { border-color: var(--c-accent); background: var(--c-accent-soft); color: var(--c-accent); }

/* une condition = colonne + opérateur + valeur(s), sur une ligne qui se replie si besoin */
.gdg-rulecond[b-rtq6ts6y5n] { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; margin-bottom: 5px; }
.gdg-rulecond .gdg-fsel[b-rtq6ts6y5n], .gdg-rulecond .gdg-fin[b-rtq6ts6y5n] { flex: 1 1 120px; min-width: 0; }
.gdg-rulecond .gdg-fop[b-rtq6ts6y5n] { flex: 0 0 130px; width: auto; }

/* Encadré de groupe : les conditions d un même groupe sont visuellement ensemble, et le OU entre
   deux encadrés se lit d un coup — ce qu une liste plate ne montrait pas. */
.gdg-rulegroup[b-rtq6ts6y5n] {
    border: 1px solid var(--c-border); border-radius: 9px;
    padding: 8px; background: var(--c-surface-2);
}
.gdg-rulegroup-head[b-rtq6ts6y5n] { display: flex; align-items: center; gap: 6px; min-height: 22px; margin-bottom: 6px; }

/* opérateur ENTRE deux encadrés, centré sur un filet : la hiérarchie se voit sans lire */
.gdg-rulejoin[b-rtq6ts6y5n] { display: flex; align-items: center; gap: 8px; margin: 8px 0; }
.gdg-rulejoin-line[b-rtq6ts6y5n] { flex: 1; height: 1px; background: var(--c-border-2); }

/* Supprimer (condition, groupe, règle) : trait monochrome, rouge au survol. .gdg-chipx ne pouvait
   pas servir ici — il est blanc sur fond sombre, donc invisible sur une carte claire. */
.gdg-ruledel[b-rtq6ts6y5n] {
    display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
    width: 26px; height: 26px; padding: 0; border-radius: 7px;
    border: 1px solid transparent; background: none; color: var(--c-ink-3); cursor: pointer;
}
.gdg-ruledel:hover[b-rtq6ts6y5n] { border-color: var(--c-accent); color: var(--c-accent); background: var(--c-accent-soft); }

/* icônes en ligne (cadenas du titre) alignées sur le texte */
.gdg-ruleic[b-rtq6ts6y5n] { display: inline-flex; vertical-align: -2px; color: var(--c-ink-3); }

.gdg-rulelink[b-rtq6ts6y5n] {
    border: none; background: none; padding: 2px 0; cursor: pointer;
    font-size: 12px; font-weight: 600; color: var(--c-accent);
}
.gdg-rulelink:hover[b-rtq6ts6y5n] { text-decoration: underline; }

.gdg-ruleactions[b-rtq6ts6y5n] { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.gdg-rulecolor[b-rtq6ts6y5n] {
    display: inline-flex; align-items: center; gap: 6px;
    border: 1px solid var(--c-border); background: var(--c-surface); color: var(--c-ink-2);
    border-radius: 7px; padding: 3px 8px; font-size: 12px; cursor: pointer;
}
.gdg-rulecolor:hover[b-rtq6ts6y5n] { border-color: var(--c-accent); color: var(--c-accent); }

.gdg-rulepalette[b-rtq6ts6y5n] {
    display: flex; align-items: center; gap: 5px; flex-wrap: wrap;
    margin-top: 7px; padding: 7px; border: 1px solid var(--c-border); border-radius: 8px;
    background: var(--c-surface-2);
}
.gdg-rulepalette .gdg-ruleswatch[b-rtq6ts6y5n] { width: 20px; height: 20px; }
.gdg-rulecustom[b-rtq6ts6y5n] { width: 26px; height: 22px; border: 1px solid var(--c-border-2); border-radius: 5px; padding: 0; cursor: pointer; }

.gdg-rulecols[b-rtq6ts6y5n] {
    display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 6px;
    max-height: 132px; overflow-y: auto;
}
.gdg-rulecol[b-rtq6ts6y5n] { display: inline-flex; align-items: center; gap: 5px; font-size: 12.5px; color: var(--c-ink-2); }


.gdg-viewhint[b-rtq6ts6y5n] {
    margin: 8px 8px 6px; padding-top: 8px; border-top: 1px dashed var(--c-border);
    font-size: 11.5px; line-height: 1.45; color: var(--c-ink-3);
}

/* Menu « Options du tableau » (engrenage) : plus large que le simple choix de colonnes, il porte
   aussi une explication. Sans un peu de largeur, la phrase sur la memoire se lit en colonne. */
.gdg-colmenu.is-wide[b-rtq6ts6y5n] { min-width: 300px; max-width: 340px; }
.gdg-menuhint[b-rtq6ts6y5n] {
    margin: 2px 8px 8px; font-size: 11.5px; line-height: 1.45; color: var(--c-ink-3);
}
.gdg-colmenu .gdg-mi[b-rtq6ts6y5n] {
    width: 100%; margin-top: 6px; padding-top: 8px;
    border-top: 1px solid var(--c-border); border-radius: 0 0 8px 8px;
}

/* Une ligne = un reglage a plusieurs valeurs : libelle a gauche, selecteur a droite. Les cases a
   cocher gardent .gdg-colopt ; melanger les deux formes brouillerait la lecture du menu. */
.gdg-optrow[b-rtq6ts6y5n] {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    padding: 5px 8px; border-radius: 8px; cursor: pointer;
}
.gdg-optrow:hover[b-rtq6ts6y5n] { background: var(--c-surface-2); }
.gdg-optlabel[b-rtq6ts6y5n] { font-size: 13px; color: var(--c-ink-2); white-space: nowrap; }
.gdg-optrow .gdg-fsel[b-rtq6ts6y5n] { flex: 0 1 165px; min-width: 0; }

/* _content/Palladium.Client/App.razor.rz.scp.css */
/* No global font here: the scoped selector body[b-…] outranks every
   theme's plain `body { font-family: … }` rule and silently forces
   Helvetica on all sites. Typography belongs to the site theme CSS. */

a[b-frz0kre3a0], .btn-link[b-frz0kre3a0] {
    color: #006bb7;
}

.btn-primary[b-frz0kre3a0] {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.btn:focus[b-frz0kre3a0], .btn:active:focus[b-frz0kre3a0], .btn-link.nav-link:focus[b-frz0kre3a0], .form-control:focus[b-frz0kre3a0], .form-check-input:focus[b-frz0kre3a0] {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.content[b-frz0kre3a0] {
    padding-top: 1.1rem;
}

h1:focus[b-frz0kre3a0] {
    outline: none;
}

.valid.modified:not([type=checkbox])[b-frz0kre3a0] {
    outline: 1px solid #26b050;
}

.invalid[b-frz0kre3a0] {
    outline: 1px solid #e50000;
}

.validation-message[b-frz0kre3a0] {
    color: #e50000;
}

.blazor-error-boundary[b-frz0kre3a0] {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary[b-frz0kre3a0]::after {
        content: "An error has occurred."
    }

.darker-border-checkbox.form-check-input[b-frz0kre3a0] {
    border-color: #929292;
}
/* _content/Palladium.Client/Layouts/MainLayout.razor.rz.scp.css */
.page[b-e9dnocwv05] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-e9dnocwv05] {
    flex: 1;
}

.sidebar[b-e9dnocwv05] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-e9dnocwv05] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-e9dnocwv05]  a, .top-row[b-e9dnocwv05]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

        .top-row[b-e9dnocwv05]  a:hover, .top-row[b-e9dnocwv05]  .btn-link:hover {
            text-decoration: underline;
        }

        .top-row[b-e9dnocwv05]  a:first-child {
            overflow: hidden;
            text-overflow: ellipsis;
        }

@media (max-width: 640.98px) {
    .top-row[b-e9dnocwv05] {
        justify-content: space-between;
    }

        .top-row[b-e9dnocwv05]  a, .top-row[b-e9dnocwv05]  .btn-link {
            margin-left: 0;
        }
}

@media (min-width: 641px) {
    .page[b-e9dnocwv05] {
        flex-direction: row;
    }

    .sidebar[b-e9dnocwv05] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-e9dnocwv05] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

        .top-row.auth[b-e9dnocwv05]  a:first-child {
            flex: 1;
            text-align: right;
            width: 0;
        }

    .top-row[b-e9dnocwv05], article[b-e9dnocwv05] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-e9dnocwv05] {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-e9dnocwv05] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* _content/Palladium.Client/Layouts/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-r8w3iz146b] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

    .navbar-toggler:checked[b-r8w3iz146b] {
        background-color: rgba(255, 255, 255, 0.5);
    }

.top-row[b-r8w3iz146b] {
    height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-r8w3iz146b] {
    font-size: 1.1rem;
}

.bi[b-r8w3iz146b] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-r8w3iz146b] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-r8w3iz146b] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-r8w3iz146b] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.nav-item[b-r8w3iz146b] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-r8w3iz146b] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-r8w3iz146b] {
        padding-bottom: 1rem;
    }

    .nav-item[b-r8w3iz146b]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

    .nav-item[b-r8w3iz146b]  a.active {
        background-color: rgba(255,255,255,0.37);
        color: white;
    }

    .nav-item[b-r8w3iz146b]  .nav-link:hover {
        background-color: rgba(255,255,255,0.1);
        color: white;
    }

.nav-scrollable[b-r8w3iz146b] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-r8w3iz146b] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-r8w3iz146b] {
        display: none;
    }

    .nav-scrollable[b-r8w3iz146b] {
        /* Never collapse the sidebar for wide screens */
        display: block;
        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}

/* _content/Palladium.Localization.Editor/LocalizationEditor.razor.rz.scp.css */
/* Palladium.Localization.Editor — styles isolés (bundle {App}.styles.css).
   Mêmes jetons et mêmes valeurs que HelpGridV3 (--c-*, corail Colibase #C8392C, encre #1A2230, bordures #E2E6EB) :
   l'éditeur se fond dans une page ColibaseApp — interface claire, minimale, sans aplat sombre.
   Sombre UNIQUEMENT sur opt-in, exactement comme la grille (G6) : data-theme="dark" sur <html>, ou prefers-color-scheme
   avec la classe gdg-theme-auto sur la racine / un ancêtre — jamais d'office sur la préférence système. */
.loc-editor[b-nmx0il3lvp] {
    --c-accent: #C8392C;
    --c-accent-700: #AC2E22;
    --c-accent-soft: #FBEBE9;
    --c-accent-soft-2: #F6DAD6;
    --c-border: #E2E6EB;
    --c-border-2: #D2D8DF;
    --c-surface: #FFFFFF;
    --c-surface-2: #EEF1F4;
    --c-surface-3: #E4E8ED;
    --c-ink: #1A2230;
    --c-ink-2: #4A586B;
    --c-ink-3: #8693A4;
    --c-on-accent: #fff;
    --c-info: #2F5FA8;
    --c-info-soft: #E6EDF8;
    --c-warning-soft: #FBF0DC;
    --c-danger-soft: #FCEBEB;
    --c-danger-ink: #C8392C;

    color: var(--c-ink);
    background: transparent;
    font-size: 13px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* ---- barre du haut ---- */
.loc-bar[b-nmx0il3lvp] { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: flex-end; }
.loc-field[b-nmx0il3lvp] { display: flex; flex-direction: column; gap: 4px; font-size: 11.5px; color: var(--c-ink-3); }
.loc-field > span[b-nmx0il3lvp] { font-weight: 600; letter-spacing: .02em; text-transform: uppercase; font-size: 10.5px; }
.loc-field select[b-nmx0il3lvp], .loc-field input[b-nmx0il3lvp], .loc-field textarea[b-nmx0il3lvp] {
    font: inherit; font-size: 13px; color: var(--c-ink); padding: 6px 9px; min-width: 180px;
    border: 1px solid var(--c-border); border-radius: 8px; background: var(--c-surface);
}
.loc-field select:focus[b-nmx0il3lvp], .loc-field input:focus[b-nmx0il3lvp], .loc-field textarea:focus[b-nmx0il3lvp] { outline: none; border-color: var(--c-accent); box-shadow: 0 0 0 3px var(--c-accent-soft); }
.loc-grow[b-nmx0il3lvp] { flex: 1 1 auto; }
.loc-span2[b-nmx0il3lvp] { grid-column: span 2; }
.loc-inline[b-nmx0il3lvp] { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }

/* cultures : pastilles claires, coche fine, pas d'aplat */
.loc-cultures[b-nmx0il3lvp] { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.loc-chip[b-nmx0il3lvp] {
    display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px; cursor: pointer; user-select: none;
    border: 1px solid var(--c-border); border-radius: 999px; background: var(--c-surface); color: var(--c-ink-2);
}
.loc-chip:hover[b-nmx0il3lvp] { border-color: var(--c-border-2); }
.loc-chip.is-on[b-nmx0il3lvp] { background: var(--c-surface-2); color: var(--c-ink); }
.loc-chip.is-neutral.is-on[b-nmx0il3lvp] { font-weight: 600; }
.loc-chip input[b-nmx0il3lvp] { margin: 0; accent-color: var(--c-accent); }
.loc-chip > label[b-nmx0il3lvp] { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.loc-chip-x[b-nmx0il3lvp] { display: inline-flex; align-items: center; border: 0; background: transparent; cursor: pointer; color: var(--c-ink-3); padding: 1px; margin: 0 -4px 0 0; border-radius: 999px; }
.loc-chip-x:hover[b-nmx0il3lvp] { color: var(--c-accent); background: var(--c-accent-soft); }
.loc-chip-add[b-nmx0il3lvp] { font: inherit; font-size: 13px; color: var(--c-ink-2); border-style: dashed; }
.loc-chip-add:hover[b-nmx0il3lvp] { color: var(--c-accent); border-color: var(--c-accent); }
.loc-badge[b-nmx0il3lvp] { background: var(--c-accent-soft); color: var(--c-accent); border-radius: 999px; padding: 0 7px; font-size: 10.5px; font-weight: 700; line-height: 17px; }
.loc-badge.is-override[b-nmx0il3lvp] { background: var(--c-info-soft); color: var(--c-info); }

.loc-check[b-nmx0il3lvp] { display: inline-flex; gap: 6px; align-items: center; cursor: pointer; color: var(--c-ink-2); padding-bottom: 6px; }
.loc-check input[b-nmx0il3lvp] { accent-color: var(--c-accent); }
.loc-actions[b-nmx0il3lvp] { display: flex; gap: 6px; align-items: flex-end; flex-wrap: wrap; margin-left: auto; }

/* icônes SVG en ligne (LocIcons) : alignées sur le texte, couleur du bouton */
.loc-editor[b-nmx0il3lvp]  .loc-ic, .loc-editor .loc-ic[b-nmx0il3lvp] { width: 15px; height: 15px; flex: 0 0 auto; vertical-align: -2px; }
.loc-mini .loc-ic[b-nmx0il3lvp], .loc-x .loc-ic[b-nmx0il3lvp], .loc-term-x .loc-ic[b-nmx0il3lvp] { width: 13px; height: 13px; }

/* termes protégés : pastilles + saisie avec bouton « + » (Entrée ajoute aussi) */
.loc-terms[b-nmx0il3lvp] { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; padding: 6px; border: 1px solid var(--c-border); border-radius: 8px; background: var(--c-surface); }
.loc-term[b-nmx0il3lvp] { display: inline-flex; align-items: center; gap: 4px; padding: 3px 6px 3px 10px; border-radius: 999px; background: var(--c-surface-2); color: var(--c-ink); font-size: 12.5px; }
.loc-term-x[b-nmx0il3lvp] { display: inline-flex; align-items: center; border: 0; background: transparent; cursor: pointer; color: var(--c-ink-3); padding: 2px; border-radius: 999px; }
.loc-term-x:hover[b-nmx0il3lvp] { color: var(--c-accent); background: var(--c-accent-soft); }
.loc-term-add[b-nmx0il3lvp] { display: inline-flex; align-items: center; gap: 4px; }
.loc-term-add input[b-nmx0il3lvp] { font: inherit; font-size: 13px; padding: 4px 8px; border: 1px solid var(--c-border); border-radius: 6px; min-width: 160px; background: var(--c-surface); color: var(--c-ink); }
.loc-term-add input:focus[b-nmx0il3lvp] { outline: none; border-color: var(--c-accent); box-shadow: 0 0 0 3px var(--c-accent-soft); }

/* boutons : même allure que .gdg-btn (blanc, bordure fine, accent au survol) */
.loc-btn[b-nmx0il3lvp] {
    display: inline-flex; align-items: center; gap: 6px; font: inherit; font-size: 13px; padding: 7px 12px; white-space: nowrap; cursor: pointer;
    border: 1px solid var(--c-border); border-radius: 8px; background: var(--c-surface); color: var(--c-ink);
}
.loc-btn:hover:not(:disabled)[b-nmx0il3lvp] { border-color: var(--c-accent); color: var(--c-accent); }
.loc-btn:disabled[b-nmx0il3lvp] { opacity: .45; cursor: not-allowed; }
.loc-btn.is-on[b-nmx0il3lvp] { background: var(--c-accent-soft); border-color: var(--c-accent); color: var(--c-accent); }
.loc-btn-primary[b-nmx0il3lvp] { background: var(--c-accent); border-color: var(--c-accent); color: var(--c-on-accent); }
.loc-btn-primary:hover:not(:disabled)[b-nmx0il3lvp] { background: var(--c-accent-700); border-color: var(--c-accent-700); color: var(--c-on-accent); }
.loc-btn-sm[b-nmx0il3lvp] { padding: 4px 8px; }
.loc-x[b-nmx0il3lvp] { font: inherit; font-size: 18px; line-height: 1; border: 0; background: transparent; cursor: pointer; color: var(--c-ink-3); }
.loc-x:hover[b-nmx0il3lvp] { color: var(--c-accent); }

.loc-menu[b-nmx0il3lvp] { position: relative; }
.loc-menu-pop[b-nmx0il3lvp] {
    position: absolute; right: 0; top: calc(100% + 6px); z-index: 30; min-width: 220px; padding: 6px;
    background: var(--c-surface); border: 1px solid var(--c-border); border-radius: 10px; box-shadow: 0 10px 30px rgba(26, 34, 48, .12);
    display: flex; flex-direction: column;
}
.loc-menu-item[b-nmx0il3lvp] { font: inherit; font-size: 13px; text-align: left; padding: 7px 10px; border: 0; background: transparent; cursor: pointer; border-radius: 6px; color: var(--c-ink); }
.loc-menu-item:hover[b-nmx0il3lvp] { background: var(--c-surface-2); }

/* messages et panneaux */
.loc-message[b-nmx0il3lvp] { display: flex; align-items: center; gap: 10px; padding: 8px 12px; border-radius: 8px; border: 1px solid var(--c-border); background: var(--c-info-soft); color: var(--c-ink); }
.loc-message.is-error[b-nmx0il3lvp] { background: var(--c-danger-soft); color: var(--c-danger-ink); }
.loc-message .loc-x[b-nmx0il3lvp] { margin-left: auto; }

.loc-panel[b-nmx0il3lvp] { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; padding: 10px 14px; border: 1px solid var(--c-border); border-radius: 10px; background: var(--c-surface-2); }
.loc-panel-confirm[b-nmx0il3lvp] { background: var(--c-warning-soft); }
.loc-hint[b-nmx0il3lvp] { color: var(--c-ink-3); font-size: 12px; }
.loc-job-head[b-nmx0il3lvp] { display: flex; gap: 12px; align-items: baseline; flex-wrap: wrap; }
.loc-progress[b-nmx0il3lvp] { width: 100%; height: 6px; margin-top: 6px; accent-color: var(--c-accent); }
.loc-errors[b-nmx0il3lvp] { margin-top: 6px; font-size: 12px; color: var(--c-danger-ink); }
.loc-errors ul[b-nmx0il3lvp] { margin: 4px 0 0; padding-left: 18px; max-height: 140px; overflow: auto; }
.loc-settings-grid[b-nmx0il3lvp] { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px 16px; width: 100%; }
.loc-panel-settings[b-nmx0il3lvp] { flex-direction: column; align-items: stretch; background: var(--c-surface); }
.loc-preview[b-nmx0il3lvp] { margin-left: 8px; }

/* cellules : zone de saisie discrète, outils au survol */
.loc-cell[b-nmx0il3lvp] { display: flex; align-items: flex-start; gap: 4px; width: 100%; }
.loc-cell-input[b-nmx0il3lvp] {
    flex: 1 1 auto; width: 100%; min-height: 26px; resize: vertical; font: inherit; font-size: 13px; padding: 3px 6px;
    border: 1px solid transparent; border-radius: 6px; background: transparent; color: inherit;
}
.loc-cell-input:hover[b-nmx0il3lvp] { border-color: var(--c-border); }
.loc-cell-input:focus[b-nmx0il3lvp] { border-color: var(--c-accent); background: var(--c-surface); outline: none; box-shadow: 0 0 0 3px var(--c-accent-soft); }
.loc-cell-input[b-nmx0il3lvp]::placeholder { color: var(--c-ink-3); font-style: italic; }
.loc-cell-text[b-nmx0il3lvp] { white-space: pre-wrap; }
.loc-cell-tools[b-nmx0il3lvp] { display: inline-flex; gap: 2px; opacity: 0; transition: opacity .12s; }
.loc-cell:hover .loc-cell-tools[b-nmx0il3lvp], .loc-cell:focus-within .loc-cell-tools[b-nmx0il3lvp] { opacity: 1; }
.loc-mini[b-nmx0il3lvp] { font: inherit; font-size: 12px; line-height: 1; padding: 3px 5px; border: 1px solid var(--c-border); border-radius: 6px; background: var(--c-surface); cursor: pointer; color: var(--c-ink-2); }
.loc-mini:hover[b-nmx0il3lvp] { border-color: var(--c-accent); color: var(--c-accent); }

/* origine du texte : surcharge = liseré accent (comme la ligne en édition de la grille), manquant = teinte avertissement */
[b-nmx0il3lvp] td.loc-origin-missing { background: var(--c-warning-soft); }
[b-nmx0il3lvp] td.loc-origin-override { box-shadow: inset 3px 0 0 var(--c-accent); }
[b-nmx0il3lvp] tr.loc-row-missing td:first-of-type { color: var(--c-accent); }

.loc-legend[b-nmx0il3lvp] { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; font-size: 12px; color: var(--c-ink-3); }
.loc-dot[b-nmx0il3lvp] { display: inline-block; width: 12px; height: 12px; border-radius: 3px; border: 1px solid var(--c-border); vertical-align: -2px; margin-right: 4px; background: var(--c-surface); }
.loc-dot.is-override[b-nmx0il3lvp] { box-shadow: inset 3px 0 0 var(--c-accent); }
.loc-dot.is-missing[b-nmx0il3lvp] { background: var(--c-warning-soft); }

/* ---- sombre : opt-in seulement, mêmes valeurs que HelpGridV3 ---- */
@media (prefers-color-scheme: dark) {
    :root.gdg-theme-auto:not([data-theme="light"]) .loc-editor[b-nmx0il3lvp],
    :root:not([data-theme="light"]) .gdg-theme-auto .loc-editor[b-nmx0il3lvp],
    :root:not([data-theme="light"]) .loc-editor.gdg-theme-auto[b-nmx0il3lvp] {
        --c-accent: #CC4534; --c-accent-700: #B23A2A; --c-accent-soft: #331A1C; --c-accent-soft-2: #452420;
        --c-border: #3A4454; --c-border-2: #4B5768; --c-surface: #1C232D; --c-surface-2: #242D39; --c-surface-3: #2D3745;
        --c-ink: #EDF1F6; --c-ink-2: #C7D0DC; --c-ink-3: #94A3B8;
        --c-info-soft: #1E2F4A; --c-warning-soft: #3A3120; --c-danger-soft: #3F1D1D; --c-danger-ink: #F5A3A3;
    }
}
:root[data-theme="dark"] .loc-editor[b-nmx0il3lvp] {
    --c-accent: #CC4534; --c-accent-700: #B23A2A; --c-accent-soft: #331A1C; --c-accent-soft-2: #452420;
    --c-border: #3A4454; --c-border-2: #4B5768; --c-surface: #1C232D; --c-surface-2: #242D39; --c-surface-3: #2D3745;
    --c-ink: #EDF1F6; --c-ink-2: #C7D0DC; --c-ink-3: #94A3B8;
    --c-info-soft: #1E2F4A; --c-warning-soft: #3A3120; --c-danger-soft: #3F1D1D; --c-danger-ink: #F5A3A3;
}

/* ---- vue d'ensemble : modules × langues ---- */
.loc-overview[b-nmx0il3lvp] { border: 1px solid var(--c-border); border-radius: 10px; background: var(--c-surface); max-height: 40vh; overflow: auto; }
.loc-overview table[b-nmx0il3lvp] { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.loc-overview th[b-nmx0il3lvp] { position: sticky; top: 0; background: var(--c-surface-2); color: var(--c-ink-2); font-weight: 600; text-align: left; padding: 6px 10px; border-bottom: 1px solid var(--c-border); }
.loc-overview td[b-nmx0il3lvp] { padding: 5px 10px; border-bottom: 1px solid var(--c-border); }
.loc-overview tr[b-nmx0il3lvp] { cursor: pointer; }
.loc-overview tbody tr:hover[b-nmx0il3lvp] { background: var(--c-surface-2); }
.loc-overview tr.is-current[b-nmx0il3lvp] { background: var(--c-accent-soft); }
.loc-overview .num[b-nmx0il3lvp] { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.loc-overview td.is-full[b-nmx0il3lvp] { color: var(--c-ink-3); }
.loc-overview td.is-empty[b-nmx0il3lvp] { color: var(--c-danger-ink); font-weight: 600; }
.loc-link[b-nmx0il3lvp] { all: unset; cursor: pointer; color: var(--c-ink); font-weight: 600; }
.loc-link:hover[b-nmx0il3lvp], .loc-link:focus-visible[b-nmx0il3lvp] { color: var(--c-accent); text-decoration: underline; }
.loc-muted[b-nmx0il3lvp] { color: var(--c-ink-3); font-size: 11px; }



/* /_content/Palladium.Client/css/site-overrides.css */
/*pd:2c296fe56fca*/
.cat-tile{position:relative!important}.cat-tile:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#000000b8,#00000057 45%,#0000000f);pointer-events:none;z-index:1}.cat-tile__txt{position:relative!important;z-index:2!important}.cat-tile__txt,.cat-tile__txt *{text-shadow:0 1px 5px rgba(0,0,0,.6),0 0 2px rgba(0,0,0,.5)!important}.hero .display,.hero__inner .display,.hero h1,.hero__inner h1{text-shadow:0 2px 20px rgba(0,0,0,.5),0 1px 4px rgba(0,0,0,.55)!important}.palladium-html-import:not([data-import-version]){visibility:visible!important}.palladium-html-import:not([data-import-version]) *{visibility:visible!important}.palladium-html-import:not([data-import-version]) .reveal,.palladium-html-import [data-aos],.palladium-html-import .wow{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}.palladium-html-import [data-pb-import-section-id],.palladium-html-import [data-pb-import-section-id] *{visibility:visible!important}:where([data-import-base=plain]) *,:where([data-import-base=plain]) :before,:where([data-import-base=plain]) :after{box-sizing:revert}:where([data-import-base=plain]) :is(h1,h2,h3,h4,h5,h6){margin-top:revert;margin-bottom:revert;font-size:revert;font-weight:revert;line-height:revert;color:revert}:where([data-import-base=plain]) :is(p,ol,ul,dl,dd,blockquote,figure,address,pre){margin-top:revert;margin-bottom:revert;margin-left:revert;padding-left:revert;font-style:revert;line-height:revert;font-size:revert}:where([data-import-base=plain]) :is(ol,ul) :is(ol,ul){margin-bottom:revert}:where([data-import-base=plain]) :is(small,sub,sup,mark,code,kbd,samp){font-size:revert;padding:revert;background-color:revert;color:revert;border-radius:revert}:where([data-import-base=plain]) a{color:revert;text-decoration:revert}:where([data-import-base=plain]) a:hover{color:revert}:where([data-import-base=plain]) :is(img,svg){vertical-align:revert}:where([data-import-base=plain]) :is(label){display:revert}:where([data-import-base=plain]) :is(button,input,select,optgroup,textarea){margin:revert;font-family:revert;font-size:revert;line-height:revert;text-transform:revert;border-radius:revert}:where([data-import-base=plain]) :is(table){caption-side:revert;border-collapse:revert}:where([data-import-base=plain]) :is(th){text-align:revert}:where([data-import-base=plain]) :is(fieldset){min-width:revert;padding:revert;margin:revert;border:revert}:where([data-import-base=plain]) :is(legend){float:revert;width:revert;padding:revert;margin-bottom:revert;font-size:revert;line-height:revert}:where([data-import-base=plain]) :is(hr){margin:revert;color:revert;border:revert;opacity:revert}.drawer .mmenu a{display:flex;align-items:center;justify-content:space-between;gap:10px}.drawer__head{display:flex;align-items:center;justify-content:space-between}.drawer .close-btn{cursor:pointer;background:none;border:none;font-size:20px;line-height:1;padding:6px 10px}.drawer .close-btn:empty:before{content:"\2715"}.drawer img.logo__mark:not([src]){display:none}@media (max-width: 1080px){#headerMain.header__main{grid-template-columns:auto auto minmax(0,1fr) auto!important}}@media (max-width: 900px){#headerMain.header__main{grid-template-columns:auto 1fr auto!important}}

/* /_content/Palladium.Client/css/palladium-content-guards.css */
/*pd:92f3ce773af7*/
@media (max-width: 480px){.pb-content-zone main,.pb-content-zone aside{min-width:0}.pb-content-zone pre{max-width:100%;overflow-x:auto}.pb-content-zone pre,.pb-content-zone pre code,.pb-content-zone code{white-space:pre-wrap;word-break:break-word}.pb-content-zone .cell{min-width:0}.pb-content-zone [class*="grid-cols-["]{grid-template-columns:1fr}.pb-content-zone .pb-import-section main{padding-left:0!important;padding-right:0!important}}.pb-content-zone .fusion-gallery{display:flex!important;flex-wrap:wrap}.pb-content-zone .fusion-gallery .fusion-gallery-column:not(.awb-gallery-item-hidden){display:block!important}.pb-hidden,.pb-hidden *{display:none!important}h1[tabindex="-1"]:focus,h1[tabindex="-1"]:focus-visible,[tabindex="-1"]:focus-visible:not(button):not(a):not(input):not(select):not(textarea){outline:none!important;box-shadow:none!important}

/* /_content/Palladium.Client/css/pb-animations.css */
/*pd:28c1f4b55682*/
html.pb-anim-ready .pb-anim:not(.pb-anim-in){opacity:0}html.pb-anim-ready .pb-anim.pb-anim-in,.pb-anim.pb-anim-preview{animation-duration:var(--pb-anim-duration, .7s);animation-delay:var(--pb-anim-delay, 0s);animation-timing-function:cubic-bezier(.22,.61,.36,1);animation-fill-mode:both}html.pb-anim-ready .pb-anim--fade.pb-anim-in,.pb-anim--fade.pb-anim-preview{animation-name:pb-fade}html.pb-anim-ready .pb-anim--fade-up.pb-anim-in,.pb-anim--fade-up.pb-anim-preview{animation-name:pb-fade-up}html.pb-anim-ready .pb-anim--fade-down.pb-anim-in,.pb-anim--fade-down.pb-anim-preview{animation-name:pb-fade-down}html.pb-anim-ready .pb-anim--fade-left.pb-anim-in,.pb-anim--fade-left.pb-anim-preview{animation-name:pb-fade-left}html.pb-anim-ready .pb-anim--fade-right.pb-anim-in,.pb-anim--fade-right.pb-anim-preview{animation-name:pb-fade-right}html.pb-anim-ready .pb-anim--zoom-in.pb-anim-in,.pb-anim--zoom-in.pb-anim-preview{animation-name:pb-zoom-in}html.pb-anim-ready .pb-anim--zoom-out.pb-anim-in,.pb-anim--zoom-out.pb-anim-preview{animation-name:pb-zoom-out}html.pb-anim-ready .pb-anim--blur.pb-anim-in,.pb-anim--blur.pb-anim-preview{animation-name:pb-blur}html.pb-anim-ready .pb-anim--rise.pb-anim-in,.pb-anim--rise.pb-anim-preview{animation-name:pb-rise}html.pb-anim-ready .pb-anim--pop.pb-anim-in,.pb-anim--pop.pb-anim-preview{animation-name:pb-pop}html.pb-anim-ready .pb-anim--neon.pb-anim-in,.pb-anim--neon.pb-anim-preview{animation-name:pb-neon}@keyframes pb-fade{0%{opacity:0}}@keyframes pb-fade-up{0%{opacity:0;transform:translateY(28px)}}@keyframes pb-fade-down{0%{opacity:0;transform:translateY(-28px)}}@keyframes pb-fade-left{0%{opacity:0;transform:translate(-36px)}}@keyframes pb-fade-right{0%{opacity:0;transform:translate(36px)}}@keyframes pb-zoom-in{0%{opacity:0;transform:scale(.88)}}@keyframes pb-zoom-out{0%{opacity:0;transform:scale(1.1)}}@keyframes pb-blur{0%{opacity:0;filter:blur(10px)}}@keyframes pb-rise{0%{opacity:0;transform:translateY(56px) scale(.97)}}@keyframes pb-neon{0%{opacity:0;transform:scale(var(--pb-anim-sx, 0),var(--pb-anim-sy, 1))}55%{opacity:1;transform:none}63%{opacity:.25}70%{opacity:1}76%{opacity:.5}84%{opacity:1}}@keyframes pb-pop{0%{opacity:0;transform:scale(.5)}60%{opacity:1;transform:scale(1.06)}80%{transform:scale(.98)}}@media (prefers-reduced-motion: reduce){html.pb-anim-ready .pb-anim{opacity:1!important;animation:none!important}}.pb-hover{transition:transform .35s ease,box-shadow .35s ease,filter .35s ease;will-change:transform}.pb-hover--lift:hover{transform:translateY(-6px);box-shadow:0 18px 40px -12px #00000059}.pb-hover--zoom:hover{transform:scale(1.04)}.pb-hover--zoom-img{overflow:hidden}.pb-hover--zoom-img img{transition:transform .55s ease}.pb-hover--zoom-img:hover img{transform:scale(1.08)}.pb-hover--darken:hover{filter:brightness(.82)}.pb-hover--brighten:hover{filter:brightness(1.12)}.pb-hover--tilt:hover{transform:perspective(800px) rotateX(3deg) rotateY(-4deg) translateY(-3px)}.pb-hover--glow:hover{box-shadow:0 0 0 3px var(--pb-accent, #1AD598),0 12px 30px -10px #0000004d}.pb-hover--shadow:hover{box-shadow:0 10px 28px -8px #0000004d}@media (prefers-reduced-motion: reduce){.pb-hover,.pb-hover *{transition:none!important}.pb-hover:hover{transform:none!important}}.pb-tl-js [data-pb-tl-on=scroll]:not(.pb-tl-play){animation-play-state:paused!important}

/* /_content/Palladium.Client/css/pd-table.css */
/*pd:dfcc11ee8b4d*/
.pd-table-wrap{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}.pd-table-wrap--pin-head{overflow-y:auto;max-height:var(--pd-table-max-h, 60vh)}.pd-table{width:100%;border-collapse:collapse;font-size:.95rem;color:inherit}.pd-table--auto{width:auto;margin-inline:auto}.pd-table caption{caption-side:top;text-align:inherit;font-weight:600;padding:.5rem .25rem;color:inherit}.pd-table--caption-bottom caption{caption-side:bottom}.pd-table th,.pd-table td{padding:.6rem .75rem;border-bottom:1px solid var(--pd-table-border, rgba(128, 144, 160, .28));text-align:left;vertical-align:middle}.pd-table thead th{font-weight:600;background:var(--pd-table-head-bg, rgba(128, 144, 160, .12));border-bottom:2px solid var(--pd-table-border-strong, rgba(128, 144, 160, .45))}.pd-table tfoot td,.pd-table tfoot th{font-weight:600;border-top:2px solid var(--pd-table-border-strong, rgba(128, 144, 160, .45))}.pd-table--striped>tbody>tr:nth-child(odd)>td,.pd-table--striped>tbody>tr:nth-child(odd)>th{background:var(--pd-table-stripe, rgba(128, 144, 160, .07))}.pd-table--js-striped>tbody>tr>td,.pd-table--js-striped>tbody>tr>th{background:transparent}.pd-table--js-striped>tbody>tr.pd-row-alt>td,.pd-table--js-striped>tbody>tr.pd-row-alt>th{background:var(--pd-table-stripe, rgba(128, 144, 160, .07))}.pd-table--bordered th,.pd-table--bordered td{border:1px solid var(--pd-table-border, rgba(128, 144, 160, .28))}.pd-table--clean th,.pd-table--clean td{border:0}.pd-table--clean thead th{background:transparent;border-bottom:2px solid var(--pd-table-border-strong, rgba(128, 144, 160, .45))}.pd-table--hover>tbody>tr:hover>td,.pd-table--hover>tbody>tr:hover>th{background:var(--pd-table-hover, rgba(128, 144, 160, .14))}.pd-table--compact th,.pd-table--compact td{padding:.3rem .5rem}.pd-table--head-col>tbody>tr>:first-child,.pd-table--head-col>tfoot>tr>:first-child{font-weight:600;background:var(--pd-table-head-bg, rgba(128, 144, 160, .12))}.pd-table--pin-head thead th{position:sticky;top:0;z-index:3;background:var(--pd-table-sticky-bg, Canvas);background-clip:padding-box}.pd-table--pin-col tr>:first-child{position:sticky;left:0;z-index:2;background:var(--pd-table-sticky-bg, Canvas);background-clip:padding-box}.pd-table--pin-head.pd-table--pin-col thead th:first-child{z-index:4}.pd-al-l{text-align:left!important}.pd-al-c{text-align:center!important}.pd-al-r{text-align:right!important}table[data-pd-sort] thead th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}table[data-pd-sort] thead th:after{content:"";display:inline-block;width:.85em;opacity:.45}table[data-pd-sort] thead th.pd-sort-asc:after{content:" \25b2";opacity:1}table[data-pd-sort] thead th.pd-sort-desc:after{content:" \25bc";opacity:1}table[data-pd-sort] thead th:focus-visible{outline:2px solid var(--pd-table-border-strong, rgba(128, 144, 160, .6));outline-offset:-2px}tr.pd-row-hide{display:none}.pd-table-search{display:block;width:min(320px,100%);margin:0 0 .6rem;padding:.45rem .7rem;font:inherit;color:inherit;background:transparent;border:1px solid var(--pd-table-border, rgba(128, 144, 160, .35));border-radius:6px;outline:none}.pd-table-search:focus{border-color:var(--pd-table-border-strong, rgba(128, 144, 160, .6))}.pd-table-pager{display:flex;align-items:center;gap:.6rem;justify-content:flex-end;margin:.5rem 0 0;font-size:.9rem}.pd-table-pager-btn{font:inherit;color:inherit;background:transparent;border:1px solid var(--pd-table-border, rgba(128, 144, 160, .35));border-radius:6px;padding:.15rem .65rem;cursor:pointer;line-height:1.4}.pd-table-pager-btn:disabled{opacity:.35;cursor:default}.pd-table-pager-btn:not(:disabled):hover{background:var(--pd-table-hover, rgba(128, 144, 160, .14))}.pd-table-export{font:inherit;font-size:.85rem;color:inherit;background:transparent;border:1px solid var(--pd-table-border, rgba(128, 144, 160, .35));border-radius:6px;padding:.3rem .8rem;margin:.5rem 0 0;cursor:pointer}.pd-table-export:hover{background:var(--pd-table-hover, rgba(128, 144, 160, .14))}

/* /_content/Palladium.Client/css/pb-cards.css */
/*pd:1d001618fe10*/
.pb-hovercard{position:relative;display:block;overflow:hidden;isolation:isolate;height:var(--pbhc-h, 320px);border-radius:var(--pbhc-radius, 14px);background:#0b1929;color:#fff;text-decoration:none;transition:transform .7s cubic-bezier(.4,.2,.2,1)}.pb-hovercard-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease;border-radius:inherit}.pb-hovercard-body{position:absolute;left:0;right:0;bottom:0;padding:22px 24px;background:linear-gradient(to top,var(--pbhc-overlay, rgba(11,25,41,.88)) 40%,rgba(11,25,41,0));transition:transform .4s ease,opacity .4s ease,background .4s ease}.pb-hovercard-title{font-size:1.4rem;font-weight:700;margin:0 0 6px;color:#fff}.pb-hovercard-text{font-size:.95rem;line-height:1.5;margin:0 0 12px;opacity:.95}.pb-hovercard-link{display:inline-block;font-weight:600;color:#fff;text-decoration:none;border-bottom:2px solid currentColor}.pb-hovercard--reveal .pb-hovercard-text,.pb-hovercard--reveal .pb-hovercard-link{opacity:0;transform:translateY(12px);transition:opacity .35s ease,transform .35s ease}.pb-hovercard--reveal:hover .pb-hovercard-text,.pb-hovercard--reveal:hover .pb-hovercard-link{opacity:1;transform:none}.pb-hovercard--reveal:hover .pb-hovercard-body{background:var(--pbhc-overlay, rgba(11,25,41,.88))}.pb-hovercard--fade .pb-hovercard-body{top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:flex-end;opacity:0;background:var(--pbhc-overlay, rgba(11,25,41,.88))}.pb-hovercard--fade:hover .pb-hovercard-body{opacity:1}.pb-hovercard--zoom:hover .pb-hovercard-img{transform:scale(1.08)}.pb-hovercard--flip{transform-style:preserve-3d;overflow:visible;background:transparent;isolation:auto}.pb-hovercard--flip:hover{transform:rotateY(180deg)}.pb-hovercard--flip .pb-hovercard-img{backface-visibility:hidden}.pb-hovercard--flip .pb-hovercard-body{top:0;right:0;bottom:0;left:0;transform:rotateY(180deg);backface-visibility:hidden;display:flex;flex-direction:column;justify-content:center;background:var(--pbhc-overlay, #0B1929);border-radius:inherit}.pb-hovercard-front{position:absolute;top:0;right:0;bottom:0;left:0;box-sizing:border-box;padding:24px;border-radius:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;background:var(--pbhc-front, #0F4A2B);color:#fff;backface-visibility:hidden;-webkit-backface-visibility:hidden}.pb-hovercard--flip .pb-hovercard-body{-webkit-backface-visibility:hidden}.pb-hovercard--click{cursor:pointer}.pb-hovercard--click:focus-visible{outline:3px solid var(--pbw-accent, #1AD598);outline-offset:4px}.pb-hovercard--flip.pb-hovercard--click:hover{transform:none}.pb-hovercard.pb-hovercard--flip.is-flipped{transform:rotateY(180deg)}.pb-hovercard--reveal.pb-hovercard--click:hover .pb-hovercard-text,.pb-hovercard--reveal.pb-hovercard--click:hover .pb-hovercard-link{opacity:0;transform:translateY(12px)}.pb-hovercard.pb-hovercard--reveal.is-flipped.is-flipped .pb-hovercard-text,.pb-hovercard.pb-hovercard--reveal.is-flipped.is-flipped .pb-hovercard-link{opacity:1;transform:none}.pb-hovercard--fade.pb-hovercard--click:hover .pb-hovercard-body{opacity:0}.pb-hovercard.pb-hovercard--fade.is-flipped.is-flipped .pb-hovercard-body{opacity:1}.pb-hovercard--zoom.pb-hovercard--click:hover .pb-hovercard-img{transform:none}.pb-hovercard.pb-hovercard--zoom.is-flipped.is-flipped .pb-hovercard-img{transform:scale(1.08)}@media (hover: none){.pb-hovercard--reveal:not(.pb-hovercard--click) .pb-hovercard-text,.pb-hovercard--reveal:not(.pb-hovercard--click) .pb-hovercard-link{opacity:1;transform:none}.pb-hovercard--fade:not(.pb-hovercard--click) .pb-hovercard-body{opacity:1}.pb-hovercard--flip:not(.pb-hovercard--click):hover{transform:none}.pb-hovercard--flip:not(.pb-hovercard--click) .pb-hovercard-body{transform:none;position:absolute;inset:auto 0 0 0;justify-content:flex-end;background:linear-gradient(to top,var(--pbhc-overlay, rgba(11,25,41,.88)) 40%,transparent)}}@media (prefers-reduced-motion: reduce){.pb-hovercard,.pb-hovercard *{transition:none!important}}

/* /_content/Palladium.Client/css/pd-compare.css */
/*pd:c19dd9d27b66*/
.pd-compare{--pdc-pos: 50%;--pdc-line: #fff;--pdc-line-shadow: rgba(0, 0, 0, .45);--pdc-knob-bg: #fff;--pdc-knob-fg: #111827;--pdc-knob-size: 44px;--pdc-accent: var(--pd-accent, var(--bs-primary, #2563eb));--pdc-label-bg: rgba(17, 24, 39, .72);--pdc-label-fg: #fff;--pdc-radius: 12px;--pdc-fit: cover;position:relative;display:block;width:100%;margin:0;overflow:hidden;border-radius:var(--pdc-radius);isolation:isolate;aspect-ratio:4 / 3;background:#7f7f7f1f;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;touch-action:pan-y pinch-zoom;cursor:ew-resize}.pd-compare--v{touch-action:pan-x pan-y pinch-zoom;cursor:ns-resize}.pd-compare--hover{cursor:crosshair}.pd-compare-img,.pd-compare-before-clip{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.pd-compare-img{display:block;max-width:none;object-fit:var(--pdc-fit);pointer-events:none;-webkit-user-drag:none}.pd-compare-before-clip{clip-path:inset(0 calc(100% - var(--pdc-pos)) 0 0);z-index:1}.pd-compare--v .pd-compare-before-clip{clip-path:inset(0 0 calc(100% - var(--pdc-pos)) 0)}.pd-compare--animate .pd-compare-before-clip{transition:clip-path .22s ease-out}.pd-compare--animate .pd-compare-divider{transition:left .22s ease-out,top .22s ease-out}.pd-compare-divider{position:absolute;z-index:3;top:0;bottom:0;left:var(--pdc-pos);width:2px;margin-left:-1px;background:var(--pdc-line);box-shadow:0 0 0 1px var(--pdc-line-shadow),0 0 12px #00000040;pointer-events:none}.pd-compare--v .pd-compare-divider{top:var(--pdc-pos);bottom:auto;left:0;right:0;width:auto;height:2px;margin:-1px 0 0}.pd-compare-knob{position:absolute;top:50%;left:50%;width:var(--pdc-knob-size);height:var(--pdc-knob-size);transform:translate(-50%,-50%);border-radius:50%;background:var(--pdc-knob-bg);color:var(--pdc-knob-fg);box-shadow:0 0 0 1px var(--pdc-line-shadow),0 4px 14px #00000059;display:flex;align-items:center;justify-content:center;gap:6px;pointer-events:auto;touch-action:none;cursor:inherit}.pd-compare-knob:before,.pd-compare-knob:after{content:"";width:0;height:0;border-style:solid;border-color:transparent}.pd-compare-knob:before{border-width:6px 7px 6px 0;border-right-color:currentColor}.pd-compare-knob:after{border-width:6px 0 6px 7px;border-left-color:currentColor}.pd-compare--v .pd-compare-knob{flex-direction:column}.pd-compare--v .pd-compare-knob:before{border-width:0 6px 7px 6px;border-color:transparent transparent currentColor}.pd-compare--v .pd-compare-knob:after{border-width:7px 6px 0 6px;border-color:currentColor transparent transparent}.pd-compare--dragging .pd-compare-knob{transform:translate(-50%,-50%) scale(1.08)}.pd-compare--focus .pd-compare-knob,.pd-compare:has(.pd-compare-range:focus-visible) .pd-compare-knob{outline:3px solid var(--pdc-accent);outline-offset:3px}.pd-compare-range{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;width:100%;height:100%;margin:0;opacity:0;pointer-events:none;cursor:inherit}.pd-compare-label{position:absolute;z-index:2;top:12px;max-width:calc(50% - 24px);padding:4px 10px;border-radius:999px;background:var(--pdc-label-bg);color:var(--pdc-label-fg);font-size:.78rem;font-weight:600;line-height:1.4;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;transition:opacity .2s ease}.pd-compare-label--before{left:12px}.pd-compare-label--after{right:12px}.pd-compare--v .pd-compare-label--after{top:auto;bottom:12px;right:auto;left:12px}.pd-compare--v .pd-compare-label{max-width:calc(100% - 24px)}.pd-compare[data-pdc-edge=start] .pd-compare-label--before,.pd-compare[data-pdc-edge=end] .pd-compare-label--after{opacity:0}.pd-compare--single{cursor:auto;touch-action:auto}@media (prefers-reduced-motion: reduce){.pd-compare--animate .pd-compare-before-clip,.pd-compare--animate .pd-compare-divider,.pd-compare-label{transition:none}.pd-compare--dragging .pd-compare-knob{transform:translate(-50%,-50%)}}@media (pointer: coarse){.pd-compare{--pdc-knob-size: 48px}}@media print{.pd-compare-divider,.pd-compare-range{display:none}}.pb-editor-canvas .pd-compare,.pb-editor-canvas .pd-compare *{cursor:default}

/* /_content/Palladium.Client/css/pd-zoom.css */
/*pd:679aeaf5255c*/
.pd-zoom{position:relative;width:96vw;height:96vh;max-width:96vw;max-height:96vh;overflow:hidden;display:flex;align-items:center;justify-content:center;touch-action:none;cursor:zoom-in;outline:none;user-select:none;-webkit-user-select:none}.pd-zoom.is-zoomed{cursor:grab}.pd-zoom.is-zoomed:active{cursor:grabbing}.pd-zoom>img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transform-origin:center center;will-change:transform;box-shadow:0 20px 60px #00000080;-webkit-user-drag:none;pointer-events:auto}.pd-zoom__scale,.pd-zoom__hint{position:absolute;left:50%;transform:translate(-50%);padding:6px 12px;border-radius:999px;background:#0000008c;color:#fff;font:500 12px/1.3 system-ui,sans-serif;letter-spacing:.02em;pointer-events:none;white-space:nowrap;transition:opacity .4s ease}.pd-zoom__scale{top:14px}.pd-zoom__scale:empty{display:none}.pd-zoom__hint{bottom:16px;max-width:92%;white-space:normal;text-align:center}.pd-zoom__hint.is-gone{opacity:0}@media (prefers-reduced-motion: reduce){.pd-zoom__hint{transition:none}}

/* /_content/Palladium.Client/css/pb-widgets.css */
/*pd:3cfcce1c6447*/
.pb-w{--pbw-accent: #1AD598;--pbw-radius: 12px;--pbw-border: rgba(0, 0, 0, .12);--pbw-muted: #6b7280}.pb-tabs{display:block}.pb-tabs-nav{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--pbw-border)}.pb-tabs-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-bottom:2px solid transparent;padding:10px 16px;font:inherit;font-weight:600;color:var(--pbw-muted);cursor:pointer;border-radius:var(--pbw-radius) var(--pbw-radius) 0 0}.pb-tabs-tab:hover{color:inherit;background:#00000009}.pb-tabs-tab[aria-selected=true]{color:inherit;border-bottom-color:var(--pbw-accent)}.pb-tabs-panels{padding:20px 2px}.pb-tabs-panel+.pb-tabs-panel{margin-top:18px}.pb-tabs--live .pb-tabs-panel[hidden]{display:none}.pb-tabs.pbw-edit-one .pb-tabs-panel:not(.is-shown){display:none}.pb-tabs.pbw-edit-one .pb-tabs-panel+.pb-tabs-panel{margin-top:0}.pb-tabs.pbw-edit-one .pb-tabs-tab{cursor:pointer}.pb-tabs-tab{position:relative}.pb-tabs--auto:not(.pb-tabs--stopped) .pb-tabs-tab[aria-selected=true]:after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:100%;background:var(--pbw-accent);transform-origin:left center;animation:pb-tabs-progress var(--pbw-autoplay, 5s) linear both}@keyframes pb-tabs-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.pb-tabs[data-pbw-layout=vertical]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:28px;align-items:start}.pb-tabs[data-pbw-layout=vertical] .pb-tabs-nav{flex-direction:column;flex-wrap:nowrap;gap:10px;border-bottom:0}.pb-tabs[data-pbw-layout=vertical] .pb-tabs-tab{text-align:left;padding:16px 18px;overflow:hidden;border:1px solid var(--pbw-border);border-radius:var(--pbw-radius)}.pb-tabs[data-pbw-layout=vertical] .pb-tabs-tab[aria-selected=true]{border-color:var(--pbw-accent);background:#00000006}.pb-tabs--auto[data-pbw-layout=vertical]:not(.pb-tabs--stopped) .pb-tabs-tab[aria-selected=true]:after{bottom:0;height:3px}.pb-tabs[data-pbw-layout=vertical] .pb-tabs-panels{padding:0}@media (max-width: 768px){.pb-tabs[data-pbw-layout=vertical]{grid-template-columns:minmax(0,1fr)}}.pb-tabs--live .pb-tabs-panel+.pb-tabs-panel{margin-top:0}.pb-acc{display:grid;gap:var(--pbw-gap, 10px)}.pb-acc-item{border:1px solid var(--pbw-border);border-radius:var(--pbw-radius);background:#fff9;overflow:hidden}.pb-acc-item>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;font-weight:650;cursor:pointer;list-style:none}.pb-acc-item>summary::-webkit-details-marker{display:none}.pb-acc-item>summary:after{content:"";width:10px;height:10px;flex:0 0 auto;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .25s ease}.pb-acc-item[open]>summary:after{transform:rotate(-135deg) translateY(-2px)}.pb-acc-body{padding:0 18px 16px;line-height:1.65}.pb-counter{display:grid;gap:6px;text-align:center}.pb-counter-value{font-size:clamp(28px,4vw,44px);font-weight:800;line-height:1}.pb-counter-label{font-size:.95rem;color:var(--pbw-muted)}.pb-progress{display:grid;gap:8px}.pb-progress-head{display:flex;justify-content:space-between;font-size:.9rem;font-weight:600}.pb-progress-track{height:var(--pbw-height, 10px);border-radius:999px;background:#00000014;overflow:hidden}.pb-progress-bar{height:100%;width:var(--pbw-value, 60%);border-radius:inherit;background:var(--pbw-accent);transition:width var(--pbw-speed, 1.1s) cubic-bezier(.3,.8,.3,1)}.pb-progress--live .pb-progress-bar{width:0}.pb-progress--live.pb-progress--in .pb-progress-bar{width:var(--pbw-value, 60%)}.pb-ba{position:relative;overflow:hidden;border-radius:var(--pbw-radius);isolation:isolate}.pb-ba img{display:block;width:100%;height:100%;object-fit:cover}.pb-ba-after{position:absolute;top:0;right:0;bottom:0;left:0;clip-path:inset(0 0 0 var(--pbw-split, 50%))}.pb-ba-handle{position:absolute;top:0;bottom:0;left:var(--pbw-split, 50%);width:2px;background:#fff;box-shadow:0 0 0 1px #00000040;pointer-events:none}.pb-ba-handle:after{content:"";position:absolute;top:50%;left:50%;width:34px;height:34px;transform:translate(-50%,-50%);border-radius:50%;background:#fff;box-shadow:0 2px 10px #0000004d}.pb-ba-range{position:absolute;inset:auto 0 12px;width:calc(100% - 24px);margin:0 12px;accent-color:var(--pbw-accent)}.pb-ba-label{position:absolute;top:12px;padding:4px 10px;border-radius:999px;background:#0b1929b8;color:#fff;font-size:.78rem;font-weight:600}.pb-ba-label--before{left:12px}.pb-ba-label--after{right:12px}.pb-marquee{overflow:hidden;position:relative}.pb-marquee-track{display:flex;align-items:center;gap:var(--pbw-gap, 48px);width:max-content;animation:pb-marquee-scroll var(--pbw-speed, 26s) linear infinite}.pb-marquee:hover .pb-marquee-track{animation-play-state:paused}.pb-marquee-item{flex:0 0 auto;font-weight:700;color:var(--pbw-muted);font-size:1.05rem}.pb-marquee-item img{max-height:var(--pbw-height, 42px);width:auto}@keyframes pb-marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion: reduce){.pb-marquee-track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}}.pb-editor-canvas .pb-marquee-track{animation:none}.pb-editor-canvas .pb-acc-item>*:not(summary){display:block!important;content-visibility:visible!important}.pb-editor-canvas .pb-acc-item::details-content{content-visibility:visible!important}.pb-editor-canvas .pb-ba-range{pointer-events:none}.pb-hotspots{display:grid;gap:16px;--pbw-dim: rgba(6, 20, 14, .52)}.pb-hotspots-media{position:relative;overflow:hidden;border-radius:var(--pbw-radius);line-height:0}.pb-hotspots-img{display:block;width:100%;height:auto}.pb-hotspots-items{margin:0;padding:0;list-style:none;counter-reset:pbw-hotspot;display:grid;gap:6px}.pb-hotspot{counter-increment:pbw-hotspot;position:relative;display:block;min-height:30px;padding:10px 12px 10px 56px;border:1px solid transparent;border-radius:var(--pbw-radius);line-height:1.5}.pb-hotspot:before{content:counter(pbw-hotspot);position:absolute;left:12px;top:10px;width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;background:color-mix(in srgb,var(--pbw-accent) 18%,white);color:color-mix(in srgb,var(--pbw-accent) 55%,black);transition:background .25s,color .25s}.pb-hotspot-title{font-weight:700}.pb-hotspot-sub:before{content:var(--pbw-hotspot-sep, " : ")}.pb-hotspot-text{display:block;color:var(--pbw-muted)}.pb-hotspots-aside{display:flex;flex-direction:column;gap:16px;min-width:0}.pb-hotspots-figure{display:flex;flex-direction:column;gap:14px;min-width:0;margin:0}.pb-hotspots-note{margin:0;font-size:13px;color:var(--pbw-muted)}.pb-hotspots--live .pb-hotspot{cursor:pointer;transition:background .25s,border-color .25s,box-shadow .25s}.pb-hotspots--live .pb-hotspot .pb-hotspot-text{display:none}.pb-hotspots--live .pb-hotspot.is-active{background:#fff;border-color:color-mix(in srgb,var(--pbw-accent) 40%,transparent);box-shadow:0 10px 24px -18px #00000080}.pb-hotspots--live .pb-hotspot.is-active:before{background:var(--pbw-accent);color:#06210f}.pb-hotspots--live .pb-hotspot:focus-visible{outline:3px solid var(--pbw-accent);outline-offset:2px}.pb-hotspots--live[data-pbw-list=side]{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:start;gap:28px}.pb-hotspots--live[data-pbw-list=side] .pb-hotspots-items{grid-column:1;grid-row:1 / span 2}.pb-hotspots--live[data-pbw-list=side] .pb-hotspots-media,.pb-hotspots--live[data-pbw-list=side] .pb-hotspots-caption{grid-column:2}.pb-hotspots[data-pbw-list=side]:has(>.pb-hotspots-aside){grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:48px;align-items:center}.pb-hotspots[data-pbw-list=side]>.pb-hotspots-aside{grid-column:1;grid-row:1}.pb-hotspots[data-pbw-list=side]>.pb-hotspots-figure{grid-column:2;grid-row:1}.pb-hotspots--live[data-pbw-list=none] .pb-hotspots-items{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (max-width: 768px){.pb-hotspots--live[data-pbw-list=side]{grid-template-columns:minmax(0,1fr)}.pb-hotspots--live[data-pbw-list=side] .pb-hotspots-items,.pb-hotspots--live[data-pbw-list=side] .pb-hotspots-media,.pb-hotspots--live[data-pbw-list=side] .pb-hotspots-caption{grid-column:1;grid-row:auto}.pb-hotspots[data-pbw-list=side] .pb-hotspots-items{order:3}.pb-hotspots[data-pbw-list=side]:has(>.pb-hotspots-aside){grid-template-columns:minmax(0,1fr);gap:28px}.pb-hotspots[data-pbw-list=side]>.pb-hotspots-aside,.pb-hotspots[data-pbw-list=side]>.pb-hotspots-figure{grid-column:1;grid-row:auto}.pb-hotspots--live[data-pbw-list=side] .pb-hotspots-aside .pb-hotspots-items{order:0}}.pb-hotspots-light{position:absolute;left:0;top:0;width:0;height:0;opacity:0;pointer-events:none;border-radius:10px;border:3px solid var(--pbw-accent);box-shadow:0 0 0 4000px var(--pbw-dim),0 0 22px color-mix(in srgb,var(--pbw-accent) 85%,transparent);transition:left .55s cubic-bezier(.22,1,.36,1),top .55s cubic-bezier(.22,1,.36,1),width .55s cubic-bezier(.22,1,.36,1),height .55s cubic-bezier(.22,1,.36,1),opacity .3s}.pb-hotspots-light.is-on{opacity:1}.pb-hotspots-dot{position:absolute;transform:translate(-50%,-50%);width:32px;height:32px;padding:0;border:2px solid #fff;border-radius:50%;cursor:pointer;font:inherit;font-size:14px;font-weight:800;line-height:1;background:var(--pbw-accent);color:#06210f;display:inline-flex;align-items:center;justify-content:center;animation:pb-hotspot-pulse 1.8s ease-out infinite;transition:transform .25s,background .25s}.pb-hotspots-dot.is-active{background:#fff;color:color-mix(in srgb,var(--pbw-accent) 55%,black);transform:translate(-50%,-50%) scale(1.15);animation:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--pbw-accent) 60%,transparent)}.pb-hotspots-dot:hover{transform:translate(-50%,-50%) scale(1.12)}.pb-hotspots-dot:focus-visible{outline:3px solid #fff;outline-offset:2px}@keyframes pb-hotspot-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--pbw-accent) 75%,transparent)}70%{box-shadow:0 0 0 14px transparent}to{box-shadow:0 0 0 0 transparent}}.pb-hotspots-caption{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;min-height:64px;border:1px solid var(--pbw-border);border-radius:var(--pbw-radius);background:#fff;line-height:1.55}.pb-hotspots-caption.is-fresh{animation:pb-hotspot-caption .45s cubic-bezier(.22,1,.36,1) both}@keyframes pb-hotspot-caption{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.pb-hotspots-caption-num{flex-shrink:0;width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--pbw-accent);color:#06210f;font-weight:800}.pb-hotspots-caption-title{display:block;margin-bottom:4px}.pb-hotspots-caption-text{color:var(--pbw-muted)}@media (prefers-reduced-motion: reduce){.pb-hotspots-dot,.pb-hotspots-caption.is-fresh{animation:none}.pb-hotspots-light{transition:none}}.pb-hotspots-preview-dot{position:absolute;transform:translate(-50%,-50%);width:28px;height:28px;border-radius:50%;border:2px solid #fff;background:var(--pbw-accent);color:#06210f;font:800 13px/24px sans-serif;text-align:center;z-index:2}.pb-hotspots-preview-dot.is-selected{background:#fff;color:#06210f;box-shadow:0 0 0 4px var(--pbw-accent)}.pb-hotspots-preview-zone{position:absolute;border:2px dashed var(--pbw-accent);border-radius:8px;background:#ffffff1f;pointer-events:none}.pb-hotspots-preview-zone.is-editable{pointer-events:auto;cursor:move;z-index:1;box-shadow:0 0 0 4000px #06140e59}.pb-hotspots-preview-handle{position:absolute;right:-7px;bottom:-7px;width:14px;height:14px;border-radius:3px;background:#fff;border:2px solid var(--pbw-accent);cursor:nwse-resize}.pb-hotspots-preview-dot{cursor:grab;-webkit-user-select:none;user-select:none}.pb-filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.pb-filter-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:44px;padding:0 18px;border-radius:999px;cursor:pointer;font:inherit;font-size:14px;font-weight:700;color:inherit;background:#fff;border:1px solid var(--pbw-border);transition:background .2s,border-color .2s,color .2s}.pb-filter-chip:hover{border-color:var(--pbw-accent)}.pb-filter-chip[aria-pressed=true]{background:var(--pbw-accent);border-color:var(--pbw-accent);color:#06210f}.pb-filter-chip:focus-visible{outline:3px solid var(--pbw-accent);outline-offset:2px}.pb-filter--live [data-pbw-cat][hidden]{display:none!important}.pb-filter-chip{display:inline-flex;align-items:center;justify-content:center;gap:8px}.pb-filter-count{min-width:22px;height:22px;padding:0 6px;box-sizing:border-box;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;background:var(--pbw-count-bg, rgba(0, 0, 0, .07));color:var(--pbw-count-fg, inherit)}.pb-filter-chip[aria-pressed=true] .pb-filter-count{background:var(--pbw-count-active-bg, rgba(255, 255, 255, .28));color:var(--pbw-count-active-fg, inherit)}.pb-filter[data-pbw-count=paren] .pb-filter-count,.pb-filter[data-pbw-count=paren] .pb-filter-chip[aria-pressed=true] .pb-filter-count{min-width:0;height:auto;padding:0;border-radius:0;background:none;font-weight:600;opacity:.75}.pb-filter[data-pbw-count=paren] .pb-filter-count:before{content:"("}.pb-filter[data-pbw-count=paren] .pb-filter-count:after{content:")"}.pb-filter-preview{pointer-events:none}.pb-filter-labels{display:none}.pb-editor-canvas .pb-filter-labels{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;padding:8px 10px;list-style:none;border:1px dashed rgba(0,0,0,.3);border-radius:10px;font:600 12px/1.6 sans-serif}.pb-editor-canvas .pb-filter-labels>*{padding:2px 10px;border-radius:999px;background:#0000000f}.pb-editor-canvas .pb-filter [data-pbw-cat]:before{content:attr(data-pbw-cat);display:inline-block;margin:0 0 6px;padding:2px 8px;border-radius:999px;font:700 11px/1.6 sans-serif;letter-spacing:.06em;text-transform:uppercase;background:#0000000f}.pb-countdown{display:flex;flex-wrap:wrap;gap:var(--pbw-gap, 14px);justify-content:center}.pb-countdown-cell{min-width:74px;padding:12px 14px;text-align:center;border:1px solid var(--pbw-border);border-radius:var(--pbw-radius);background:#fff9}.pb-countdown-num{display:block;font-size:1.9rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.pb-countdown-unit{display:block;margin-top:6px;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--pbw-muted)}.pb-countdown-over{font-weight:700}.pb-video{position:relative;display:block;border-radius:var(--pbw-radius);overflow:hidden}.pb-video img{display:block;width:100%;height:auto}.pb-video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:74px;height:74px;border:0;border-radius:50%;cursor:pointer;background:#ffffffeb;box-shadow:0 6px 24px #0000004d}.pb-video-play:after{content:"";position:absolute;top:50%;left:54%;transform:translate(-50%,-50%);border-style:solid;border-width:12px 0 12px 20px;border-color:transparent transparent transparent #0B1929}.pb-video-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;background:#03080fe0;padding:24px}.pb-video-modal[hidden]{display:none!important}.pb-video-modal iframe,.pb-video-modal video{width:min(1100px,100%);aspect-ratio:16 / 9;border:0;border-radius:10px;background:#000}.pb-video-close{position:absolute;top:18px;right:22px;width:42px;height:42px;border:0;border-radius:50%;background:#ffffff29;color:#fff;font-size:22px;line-height:1;cursor:pointer}.pd-powered-by{text-align:center;padding:10px 16px 14px;font-size:11.5px;letter-spacing:.02em;color:var(--pd-text-secondary, #94A3B8);background:transparent}.pd-powered-by a{color:inherit;text-decoration:none;opacity:.75;transition:opacity .15s ease}.pd-powered-by a:hover,.pd-powered-by a:focus-visible{opacity:1;text-decoration:underline}.legal-page h2{margin:2.1rem 0 .8rem}.legal-page h2:first-of-type{margin-top:0}.legal-page h3,.legal-page h4,.legal-page h5{margin:1.3rem 0 .5rem}.legal-page p,.legal-page ul,.legal-page ol,.legal-page table{margin:0 0 .9rem}.legal-page p:empty{display:none}

/* /_content/Palladium.Client/css/view-transitions.css */
/*pd:a66b799d9bc9*/
@view-transition{navigation: auto;}::view-transition-old(root),::view-transition-new(root){animation-duration:.32s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-old(root){animation-name:pd-vt-fade-out}::view-transition-new(root){animation-name:pd-vt-fade-in}@keyframes pd-vt-fade-out{to{opacity:0}}@keyframes pd-vt-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}html[data-pd-transitions=off]{view-transition-name:none}html[data-pd-transitions=off]::view-transition-old(root),html[data-pd-transitions=off]::view-transition-new(root){animation:none}@media (prefers-reduced-motion: reduce){::view-transition-old(root),::view-transition-new(root){animation-duration:1ms;animation-name:pd-vt-none}@keyframes pd-vt-none{0%,to{opacity:1;transform:none}}}

