/* Theme commun Jazimut — Alpha, 16 octobre 2026.
   Reference : couleurs et controles de l'IDE. Les dispositions restent locales.
   Les selecteurs d'adaptation ne s'appliquent pas a l'editeur de code de l'IDE. */
:root {
    --jaz-background: #1b1b1d;
    --jaz-surface: #202023;
    --jaz-raised: #2c2e34;
    --jaz-hover: #2a2c31;
    --jaz-field: #27292e;
    --jaz-text: #d7d7da;
    --jaz-text-strong: #f0f0f2;
    --jaz-muted: #afb3bd;
    --jaz-border: #39393d;
    --jaz-border-strong: #454850;
    --jaz-separator: #35373c;
    --jaz-accent: #b7a58a;
    --jaz-accent-hover: #d0c2aa;
    --jaz-on-accent: #211f1b;
    --jaz-menu-text: #c9cbd1;
    --jaz-selected: #e6dccb;
    --jaz-branch-border: #3b3d43;
    --jaz-submenu-text: #b9bdc6;
    --jaz-hover-muted: #2b2d32;
    --jaz-text-hover: #efeff2;
    --jaz-font: Arial, sans-serif;
    --jaz-body-size: clamp(.8125rem, .76rem + .18vw, .9375rem);
    --jaz-menu-size: clamp(.75rem, .7rem + .12vw, .8125rem);
    --jaz-control-size: clamp(.8125rem, .78rem + .15vw, .9375rem);
    --jaz-title-size: clamp(1.125rem, .95rem + .6vw, 1.5rem);
    --jaz-space-inline: clamp(.625rem, .4rem + .8vw, 1rem);
    --jaz-space-panel: clamp(.875rem, .6rem + 1vw, 1.5rem);
    --jaz-control-radius: 0.3125rem;
    --jaz-card-radius: 0.625rem;
    --jaz-dialog-background: #303339;
    --jaz-dialog-border: #555b63;
    --jaz-dialog-radius: 1.0625rem;
    --jaz-overlay-blur: 0.3125rem;
    --jaz-ink: var(--jaz-on-accent);
    --jaz-rgb-accent: 183 165 138;
    --jaz-rgb-surface: 32 32 35;
    --jaz-rgb-field: 39 41 46;
    --jaz-rgb-border: 57 57 61;
    --jaz-nav-start: #202023;
    --jaz-nav-end: #1b1b1d;
    --jaz-rail-background: #16181b;
    --jaz-table-border: rgba(185, 189, 198, .12);
    --jaz-floating: rgba(32, 32, 35, .96);
    --jaz-card-background: linear-gradient(125deg, #2c2e34, #202023);
    --jaz-card-shadow: inset 0 0.0625rem 0 rgba(255, 255, 255, .04);
    --jaz-depth: 0 1.125rem 3rem rgba(0, 0, 0, .42), 0 0.25rem 0.75rem rgba(0, 0, 0, .24), inset 0 0.0625rem 0 rgba(255, 255, 255, .06);
}

/* Police et surfaces des interfaces raccordees. Aucun changement de grille. */
body.theme-client,
html body.bodyGENERAL {
    color-scheme: dark;
    font-family: var(--jaz-font);
    font-size: var(--jaz-body-size);
    background-color: var(--jaz-background);
    color: var(--jaz-text);
}

/* Champs : garder les tailles et interactions definies dans chaque outil.
   Les entrees techniques de CodeMirror et les champs de couleur sont exclus. */
:is(body.theme-client, html body.bodyGENERAL)
:is(input:not([type]), input[type="text"], input[type="password"], input[type="email"],
    input[type="number"], input[type="date"], input[type="time"],
    input[type="search"], input[type="tel"], input[type="url"], select, textarea):not(:where(.CodeMirror *, .cm-editor *)) {
    background-color: var(--jaz-field) !important;
    border-color: var(--jaz-border-strong) !important;
    border-radius: var(--jaz-control-radius);
    color: var(--jaz-text-strong) !important;
    font-family: var(--jaz-font) !important;
    font-size: var(--jaz-control-size) !important;
    line-height: 1.4;
    min-inline-size: 0;
    max-inline-size: 100%;
    box-sizing: border-box;
    box-shadow: none;
}

:is(body.theme-client, html body.bodyGENERAL)
:is(input:not([type]), input[type="text"], input[type="password"], input[type="email"],
    input[type="number"], input[type="date"], input[type="time"],
    input[type="search"], input[type="tel"], input[type="url"], select, textarea):not(:where(.CodeMirror *, .cm-editor *)):focus-visible {
    border-color: var(--jaz-accent) !important;
    outline: 0.125rem solid rgb(var(--jaz-rgb-accent) / .3);
    outline-offset: 0.0625rem;
}

:is(body.theme-client, html body.bodyGENERAL) :is(input[type="checkbox"], input[type="radio"]) {
    accent-color: var(--jaz-accent);
}

/* Fenetres flottantes. Les panneaux internes gardent des bordures fines. */
body.theme-client #qui .popup,
html body.bodyGENERAL #header_topmenu_ul #autocomplete_recherche_moteur_div,
html body.bodyGENERAL #header_topmenu_ul #autocomplete_recherche_moteur_site_div,
html body.bodyGENERAL #system_bloc_outils {
    background: var(--jaz-dialog-background);
    border: 0.4375rem solid var(--jaz-dialog-border);
    border-radius: var(--jaz-dialog-radius);
    box-shadow: var(--jaz-depth);
    box-sizing: border-box;
    max-inline-size: calc(100vw - 2 * var(--jaz-space-inline));
    max-block-size: calc(100dvh - 2 * var(--jaz-space-panel));
}
body.theme-client .zone-popup {
    background: rgba(10, 10, 12, .66);
    backdrop-filter: blur(var(--jaz-overlay-blur));
    -webkit-backdrop-filter: blur(var(--jaz-overlay-blur));
}

/* Navigation client : memes proportions et survols que les menus de l'IDE. */
body.theme-client #cadre {
    grid-template-columns: clamp(13rem, 18vw, 16.25rem) minmax(0, 1fr);
}
body.theme-client #main {
    padding: var(--jaz-space-panel);
}
body.theme-client #volet {
    background: var(--jaz-surface);
    border-color: var(--jaz-border);
}
body.theme-client #volet h1 {
    padding: var(--jaz-space-panel) var(--jaz-space-inline);
    font: 500 var(--jaz-title-size)/1.3 var(--jaz-font);
}
body.theme-client #volet h1 > span {
    font: 400 0.75rem/1.4 var(--jaz-font);
}
body.theme-client .zone-dashboard > :is(div, button),
body.theme-client .zone-report > a {
    min-height: 2.25rem;
    padding: 0.5rem 0.5625rem;
    border-bottom: 0.0625rem solid var(--jaz-separator);
    border-radius: var(--jaz-control-radius);
    box-sizing: border-box;
}
body.theme-client .zone-dashboard > :is(div, button):hover,
body.theme-client .zone-report > a:hover {
    background: var(--jaz-hover);
    border-color: var(--jaz-separator);
}
body.theme-client .zone-dashboard > :is(div, button)::before {
    width: 1.375rem;
    height: 1.375rem;
    margin-right: 0.5625rem;
    font-size: 1.125rem;
}
body.theme-client .zone-dashboard > :is(div, button) h3,
body.theme-client .zone-report > a h3 {
    color: var(--jaz-menu-text);
    font: 500 var(--jaz-menu-size)/1.4 var(--jaz-font);
}

/* Compteurs compacts, cartes de rubriques et details. */
body.theme-client .bloc_bureau .zone-recap > li {
    background: var(--jaz-card-background);
    border-color: var(--jaz-border);
    box-shadow: var(--jaz-card-shadow);
}
body.theme-client .liste-resultats .liste_rapport {
    gap: 0.625rem;
}
body.theme-client .liste-resultats .liste_rapport > li,
body.theme-client .liste-resultats .liste_rapport > li.liste_rapport_planning_fait {
    min-height: 0;
    gap: 0.5rem 0.625rem;
    padding: clamp(.625rem, .5rem + .4vw, .875rem) var(--jaz-space-inline);
    border-radius: 0.5rem;
    box-shadow: var(--jaz-card-shadow);
}
body.theme-client .liste-resultats .liste_rapport > li:hover {
    transform: none;
}
body.theme-client #main .rapport_detail {
    border-radius: var(--jaz-card-radius);
}
body.theme-client #main .rapport_description {
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
}
body.theme-client #main .rapport_detail > h1 {
    font-weight: 500;
}
body.theme-client .zone-entete :is(.btn-ajout, .btn-id, .btn-telephone),
body.theme-client #modif_rapport input[type="button"] {
    border-radius: var(--jaz-control-radius);
    font-family: var(--jaz-font);
}

/* Reportings : harmoniser les fonds d'interface sans toucher aux PDF,
   aux signatures sur canvas ou aux couleurs semantiques des graphiques. */
body.theme-client :is(.graphique_liste, .graphique_courbe) table,
body.theme-client .graphique_liste .liste_zone li,
body.theme-client .graphique_citation h4,
body.theme-client #reporting_option .ligne1 {
    background: var(--jaz-surface);
    border-color: var(--jaz-border);
    color: var(--jaz-text);
    box-shadow: var(--jaz-card-shadow);
}
body.theme-client :is(.graphique_liste, .graphique_courbe) :is(th, td) {
    background: transparent;
    border-color: var(--jaz-border);
    color: var(--jaz-text);
    font-family: var(--jaz-font);
}
body.theme-client :is(.graphique_liste, .graphique_courbe) table th {
    background: var(--jaz-raised);
}
body.theme-client :is(.graphique_texte, .graphique_liste, .graphique_citation) :is(h3, h4, p) {
    color: var(--jaz-text);
    font-family: var(--jaz-font);
}
body.theme-client :is(.graphique_liste, .graphique_courbe) :is(.bouton_graph, .table_nom a),
body.theme-client .reporting_creer_zone {
    background: var(--jaz-field);
    border-color: var(--jaz-border-strong);
    color: var(--jaz-menu-text);
    font-family: var(--jaz-font);
}
body.theme-client #reporting_entete h1 {
    color: var(--jaz-text-strong);
    font: 500 clamp(1.25rem, 1.05rem + .65vw, 1.625rem)/1.3 var(--jaz-font);
}
body.theme-client .explication_info,
body.theme-client .explication_ok {
    background: var(--jaz-surface);
    color: var(--jaz-text);
    border-color: var(--jaz-border);
}
body.theme-client :is(.explication_info, .explication_ok) :is(h1, p) {
    color: var(--jaz-text);
}

/* Jazimut : conserver les tuiles illustrees, les filigranes et les volets. */
html body.bodyGENERAL #menu_p,
html body.bodyGENERAL #menu_p .menu_cadre {
    background: var(--jaz-rail-background);
}
html body.bodyGENERAL #menu_p .content_cadre {
    background: var(--jaz-floating);
    border-color: var(--jaz-border);
}
html body.bodyGENERAL #menu_zbarre_contenu {
    background-color: var(--jaz-surface);
}
html body.bodyGENERAL .bureau_grandbloc {
    border-color: var(--jaz-border);
    padding: var(--jaz-space-panel);
}
html body.bodyGENERAL .zone-bureau {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 17.5rem), 1fr));
    gap: var(--jaz-space-inline);
}
html body.bodyGENERAL .cadre_bloc_tzz :is(input[type="submit"], input[type="button"], button) {
    font-family: var(--jaz-font);
}

@media (max-width: 48rem) {
    body.theme-client #cadre {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 37.5rem) {
    body.theme-client #qui .popup {
        border-width: 0.3125rem;
        border-radius: 0.75rem;
    }
    body.theme-client .liste-resultats .liste_rapport {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Le survol complete les commandes tactiles et clavier existantes. */
@media (hover: none), (pointer: coarse) {
    body.theme-client,
    html body.bodyGENERAL {
        --jaz-control-size: 1rem;
    }
    :is(body.theme-client, html body.bodyGENERAL)
    :is(input:not([type]), input[type="text"], input[type="password"], input[type="email"],
        input[type="number"], input[type="date"], input[type="time"], input[type="search"],
        input[type="tel"], input[type="url"], select):not(:where(.CodeMirror *, .cm-editor *)) {
        min-block-size: 2.75rem;
    }
    body.theme-client .zone-dashboard > :is(div, button),
    body.theme-client .zone-report > a,
    body.theme-client .zone-entete :is(.btn-ajout, .btn-id, .btn-telephone),
    body.theme-client #modif_rapport input[type="button"] {
        min-height: 2.75rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.theme-client #volet,
    body.theme-client .liste-resultats .liste_rapport > li,
    body.theme-client .zone-dashboard > :is(div, button) {
        transition: none;
    }
}

/* Navigation commune : valeurs des barres existantes de l'IDE, sans degrade. */
:root {
    --jaz-nav-sidebar-background: #09090b;
    --jaz-nav-top-background: rgba(17, 22, 29, .94);
    --jaz-nav-sidebar-border: #222226;
    --jaz-nav-top-border: rgba(156, 177, 196, .15);
    --jaz-nav-hover: #1b1b1f;
    --jaz-client-dialog-width: 32rem;
    --jaz-section-nav-width: 10rem;
    --jaz-month-section-gap: clamp(2rem, 5vw, 3.5rem);
    --jaz-nav-compact-width: 4.25rem;
    --jaz-nav-expanded-width: 16.25rem;
    --jaz-portrait-size: clamp(3.5rem, 5vw, 4.6rem);
    --jaz-heading-illustration-height: clamp(6rem, 10vw, 9rem);
    --jaz-nav-icon-size: clamp(1.125rem, 1.05rem + .3vw, 1.375rem);
    --jaz-icon-home: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'm3%2010%209-7%209%207v10a1%201%200%200%201-1%201h-5v-7H9v7H4a1%201%200%200%201-1-1z'%2F%3E%3C%2Fsvg%3E");
    --jaz-icon-page: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'4'%20y%3D'3'%20width%3D'16'%20height%3D'18'%20rx%3D'2'%2F%3E%3Cpath%20d%3D'M8%207h8M8%2011h8M8%2015h3M8%2018h8'%2F%3E%3C%2Fsvg%3E");
    --jaz-icon-file: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M14%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V8zM14%202v6h6M8%2012h8M8%2016h8'%2F%3E%3C%2Fsvg%3E");
    --jaz-icon-users: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M16%2021v-2a4%204%200%200%200-4-4H6a4%204%200%200%200-4%204v2M22%2021v-2a4%204%200%200%200-3-3.87M16%203.13a4%204%200%200%201%200%207.75'%2F%3E%3Ccircle%20cx%3D'9'%20cy%3D'7'%20r%3D'4'%2F%3E%3C%2Fsvg%3E");
    --jaz-icon-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'3'%20y%3D'3'%20width%3D'18'%20height%3D'18'%20rx%3D'2'%2F%3E%3Ccircle%20cx%3D'8.5'%20cy%3D'8.5'%20r%3D'1.5'%2F%3E%3Cpath%20d%3D'm21%2015-5-5L5%2021'%2F%3E%3C%2Fsvg%3E");
    --jaz-icon-sparkles: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'm12%203%202.7%206.3L21%2012l-6.3%202.7L12%2021l-2.7-6.3L3%2012l6.3-2.7zM3%202v4M1%204h4M21%2018v4M19%2020h4'%2F%3E%3C%2Fsvg%3E");
    --jaz-icon-calendar: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'3'%20y%3D'5'%20width%3D'18'%20height%3D'16'%20rx%3D'2'%2F%3E%3Cpath%20d%3D'M16%203v4M8%203v4M3%2011h18M8%2015h2M14%2015h2M8%2018h2'%2F%3E%3C%2Fsvg%3E");
    --jaz-icon-chart: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M3%203v18h18M7%2016v-4M12%2016V8M17%2016v-6'%2F%3E%3C%2Fsvg%3E");
    --jaz-icon-mail: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'3'%20y%3D'5'%20width%3D'18'%20height%3D'14'%20rx%3D'2'%2F%3E%3Cpath%20d%3D'm3%206%209%207%209-7'%2F%3E%3C%2Fsvg%3E");
    --jaz-icon-chat: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M21%2011a8%208%200%200%201-8%208H5l-3%203V11a9%209%200%200%201%2018-4M7%2010h10M7%2014h6'%2F%3E%3C%2Fsvg%3E");
    --jaz-icon-tasks: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'5'%20y%3D'4'%20width%3D'14'%20height%3D'18'%20rx%3D'2'%2F%3E%3Crect%20x%3D'9'%20y%3D'2'%20width%3D'6'%20height%3D'4'%20rx%3D'1'%2F%3E%3Cpath%20d%3D'm8%2013%203%203%205-6'%2F%3E%3C%2Fsvg%3E");
    --jaz-icon-history: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M3%2011a9%209%200%201%201%202.5%207M3%204v7h7M12%207v5l3%202'%2F%3E%3C%2Fsvg%3E");
    --jaz-icon-grid: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'3'%20y%3D'3'%20width%3D'7'%20height%3D'7'%20rx%3D'1'%2F%3E%3Crect%20x%3D'14'%20y%3D'3'%20width%3D'7'%20height%3D'7'%20rx%3D'1'%2F%3E%3Crect%20x%3D'3'%20y%3D'14'%20width%3D'7'%20height%3D'7'%20rx%3D'1'%2F%3E%3Crect%20x%3D'14'%20y%3D'14'%20width%3D'7'%20height%3D'7'%20rx%3D'1'%2F%3E%3C%2Fsvg%3E");
    --jaz-icon-folder: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M3%207V5a2%202%200%200%201%202-2h5l2%203h7a2%202%200%200%201%202%202v11a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2z'%2F%3E%3C%2Fsvg%3E");
    --jaz-icon-copyright: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'12'%20cy%3D'12'%20r%3D'9'%2F%3E%3Cpath%20d%3D'M15%208a5%205%200%201%200%200%208'%2F%3E%3C%2Fsvg%3E");
    --jaz-icon-edit: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'm16%203%205%205M3%2021l5-1L21%207a2.1%202.1%200%200%200-5-5L3%2015z'%2F%3E%3C%2Fsvg%3E");
    --jaz-icon-phone: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M22%2016.9v3a2%202%200%200%201-2.2%202%2019.8%2019.8%200%200%201-8.6-3.1%2019.5%2019.5%200%200%201-6-6%2019.8%2019.8%200%200%201-3.1-8.7A2%202%200%200%201%204.1%202h3a2%202%200%200%201%202%201.7c.13.96.36%201.9.7%202.8a2%202%200%200%201-.45%202.1L8.1%209.9a16%2016%200%200%200%206%206l1.3-1.3a2%202%200%200%201%202.1-.45c.9.34%201.84.57%202.8.7a2%202%200%200%201%201.7%202.05z'%2F%3E%3C%2Fsvg%3E");
    --jaz-icon-user: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'12'%20cy%3D'8'%20r%3D'4'%2F%3E%3Cpath%20d%3D'M4%2022v-2a8%208%200%200%201%2016%200v2'%2F%3E%3C%2Fsvg%3E");
    --jaz-icon-power: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M12%202v10M5.6%205.6a9%209%200%201%200%2012.8%200'%2F%3E%3C%2Fsvg%3E");
    --jaz-icon-menu: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M4%206h16M4%2012h16M4%2018h16'%2F%3E%3C%2Fsvg%3E");
    --jaz-icon-rocket: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M12%208c4-6%209-5%209-5s1%205-5%209l-4%202-2-2zM12%208H7l-4%205%207-1M16%2012v5l-5%204%201-7M5%2016c-2%200-2%205-2%205s5%200%205-2'%2F%3E%3Ccircle%20cx%3D'16.5'%20cy%3D'7.5'%20r%3D'1'%2F%3E%3C%2Fsvg%3E");
}
body .barre_menu, body .zone_menu_services,
body.theme-client #volet,
html body.bodyGENERAL #menu_p,
html body.bodyGENERAL #menu_p .menu_cadre {
    background: var(--jaz-nav-sidebar-background);
    border-right-color: var(--jaz-nav-sidebar-border);
}
body .zone_entete,
body.theme-client .zone-entete,
html body.bodyGENERAL .bloc_outils_fixe .barre_site,
html body.bodyGENERAL #menu_barre_div {
    background: var(--jaz-nav-top-background);
    border-bottom-color: var(--jaz-nav-top-border);
}
body.theme-client .zone-dashboard > :is(div, button):hover,
body.theme-client .zone-report > a:hover,
html body.bodyGENERAL #menu_p .menu_cadre_a:hover,
html body.bodyGENERAL #menu_barre_div .menubarre_bloc_header_a:is(:hover, :focus-visible, [aria-expanded=true]) {
    background: var(--jaz-nav-hover);
    color: var(--jaz-text-strong);
}
html body.bodyGENERAL #menu_barre_div .menubarre_bloc_header_a { color: var(--jaz-menu-text); }
html body.bodyGENERAL #menu_barre_div .menubarre_bloc_header_a::after { border-color: var(--jaz-muted); }

/* SVG au trait, meme epaisseur et terminaisons, sans police d'icones distante.
   L'IDE conserve ses pictogrammes et ses couleurs d'etat de reference. */
body.theme-client .zone-dashboard > :is(div, button)::before,
body.theme-client .zone-entete :is(.btn-ajout, .btn-telephone, .btn-id)::before,
body.theme-client .bloc_bureau .zone-recap.compteurs-bureau > li h3.tag::before,
html body.bodyGENERAL #menu_p .menu_cadre_a:is(#bouton_onglet_agenda, #bouton_onglet_page, #bouton_onglet_fiche, #bouton_onglet_membre, #bouton_onglet_vente, #bouton_onglet_vente_v2, #bouton_onglet_graphisme, #bouton_onglet_ia_plan)::before {
    content: ''; display: inline-block; flex: none;
    width: var(--jaz-nav-icon-size); height: var(--jaz-nav-icon-size);
    background: currentColor; color: var(--jaz-menu-text);
    -webkit-mask: var(--jaz-nav-icon) center / contain no-repeat;
    mask: var(--jaz-nav-icon) center / contain no-repeat;
    font-size: 0; vertical-align: middle;
}
html body.bodyGENERAL #menu_p .menu_cadre_a:is(#bouton_onglet_agenda, #bouton_onglet_page, #bouton_onglet_fiche, #bouton_onglet_membre, #bouton_onglet_vente, #bouton_onglet_vente_v2, #bouton_onglet_graphisme, #bouton_onglet_ia_plan)::before {
    display: block; margin: .25rem auto .3125rem;
    width: 1.875rem; height: 1.875rem;
}
html body.bodyGENERAL #menu_p .menu_cadre_a:is(#bouton_onglet_agenda, #bouton_onglet_page, #bouton_onglet_fiche, #bouton_onglet_membre, #bouton_onglet_vente, #bouton_onglet_vente_v2, #bouton_onglet_graphisme, #bouton_onglet_ia_plan) > img { display: none; }
body.theme-client .zone-entete .btn-ajout::before { color: inherit; }
body.theme-client .zone-entete .btn-telephone::before { color: var(--jaz-accent); }
body.theme-client .bloc_bureau .zone-recap.compteurs-bureau > li h3.tag::before { margin-right: .5rem; }
body.theme-client .bloc_bureau .zone-recap.compteurs-bureau > li h3.tag.tag_alert::before { color: inherit; }
body.theme-client .zone-dashboard > :is(div, button).bureau { --jaz-nav-icon: var(--jaz-icon-home); }
body.theme-client .zone-dashboard > :is(div, button).echanges { --jaz-nav-icon: var(--jaz-icon-chat); }
body.theme-client .zone-dashboard > :is(div, button).demandes { --jaz-nav-icon: var(--jaz-icon-chat); }
body.theme-client .zone-dashboard > :is(div, button).taches { --jaz-nav-icon: var(--jaz-icon-tasks); }
body.theme-client .zone-dashboard > :is(div, button).taches_plan,
body.theme-client .zone-dashboard > :is(div, button).planning { --jaz-nav-icon: var(--jaz-icon-calendar); }
body.theme-client .zone-dashboard > :is(div, button).histo { --jaz-nav-icon: var(--jaz-icon-history); }
body.theme-client .zone-dashboard > :is(div, button).services { --jaz-nav-icon: var(--jaz-icon-grid); }
body.theme-client .zone-dashboard > :is(div, button).contrats { --jaz-nav-icon: var(--jaz-icon-folder); }
body.theme-client .zone-dashboard > :is(div, button).pi { --jaz-nav-icon: var(--jaz-icon-copyright); }
body.theme-client .zone-dashboard > :is(div, button).editeur { --jaz-nav-icon: var(--jaz-icon-edit); }
html body.bodyGENERAL #menu_p #bouton_onglet_agenda { --jaz-nav-icon: var(--jaz-icon-calendar); }
html body.bodyGENERAL #menu_p #bouton_onglet_page { --jaz-nav-icon: var(--jaz-icon-page); }
html body.bodyGENERAL #menu_p #bouton_onglet_fiche { --jaz-nav-icon: var(--jaz-icon-file); }
html body.bodyGENERAL #menu_p #bouton_onglet_membre { --jaz-nav-icon: var(--jaz-icon-users); }
html body.bodyGENERAL #menu_p #bouton_onglet_vente { --jaz-nav-icon: var(--jaz-icon-chart); }
html body.bodyGENERAL #menu_p #bouton_onglet_vente_v2 { --jaz-nav-icon: var(--jaz-icon-chart); }
html body.bodyGENERAL #menu_p #bouton_onglet_graphisme { --jaz-nav-icon: var(--jaz-icon-image); }
html body.bodyGENERAL #menu_p #bouton_onglet_ia_plan { --jaz-nav-icon: var(--jaz-icon-sparkles); }
body.theme-client .zone-entete .btn-ajout { --jaz-nav-icon: var(--jaz-icon-mail); }
body.theme-client .zone-entete .btn-telephone { --jaz-nav-icon: var(--jaz-icon-phone); }
body.theme-client .zone-entete .btn-id { --jaz-nav-icon: var(--jaz-icon-user); }
body.theme-client .bloc_bureau .zone-recap.compteurs-bureau > li { --jaz-nav-icon: var(--jaz-icon-chat); }
body.theme-client .bloc_bureau .zone-recap.compteurs-bureau > li.taches { --jaz-nav-icon: var(--jaz-icon-tasks); }
body.theme-client .bloc_bureau .zone-recap.compteurs-bureau > li.taches_plan { --jaz-nav-icon: var(--jaz-icon-calendar); }
body.theme-client .bloc_bureau .zone-recap.compteurs-bureau > li.histo { --jaz-nav-icon: var(--jaz-icon-history); }

/* Les quatre raccourcis du haut reprennent la meme famille de traits. */
html body.bodyGENERAL .system_bouton_outils:has(> img:is([src$='/bureau.png'], [src$='/gestion_globale.png'], [src$='/application.png'], [src$='/deconection.png']))::before {
    content: ''; display: block; width: 1.25rem; height: 1.25rem; margin: auto;
    background: var(--jaz-menu-text);
    -webkit-mask: var(--jaz-nav-icon) center / contain no-repeat;
    mask: var(--jaz-nav-icon) center / contain no-repeat;
}
html body.bodyGENERAL .system_bouton_outils > img:is([src$='/bureau.png'], [src$='/gestion_globale.png'], [src$='/application.png'], [src$='/deconection.png']) { display: none; }
html body.bodyGENERAL .system_bouton_outils:has(> img[src$='/bureau.png']) { --jaz-nav-icon: var(--jaz-icon-home); }
html body.bodyGENERAL .system_bouton_outils:has(> img[src$='/gestion_globale.png']) { --jaz-nav-icon: var(--jaz-icon-rocket); }
html body.bodyGENERAL .system_bouton_outils:has(> img[src$='/application.png']) { --jaz-nav-icon: var(--jaz-icon-grid); }
html body.bodyGENERAL .system_bouton_outils:has(> img[src$='/deconection.png']) { --jaz-nav-icon: var(--jaz-icon-power); }

/* Le raccourci Editeur est historiquement classe pi ; son action l'identifie. */
body.theme-client .zone-dashboard > :is(div, button).pi[onclick*='=editeur'] { --jaz-nav-icon: var(--jaz-icon-edit); }
body.theme-client #volet_bouton::before {
    content: ''; display: block; width: 1.25rem; height: 1.25rem;
    background: var(--jaz-menu-text);
    -webkit-mask: var(--jaz-icon-menu) center / contain no-repeat;
    mask: var(--jaz-icon-menu) center / contain no-repeat;
}
body.theme-client #volet_bouton > img { display: none; }

/* Le bandeau visible des avatars partage aussi le fond de la barre de l'IDE. */
html body.bodyGENERAL .bloc_outils_fixe { background: var(--jaz-nav-top-background); }

/* Sur mobile, les champs tactiles agrandis doivent rester au-dessus des raccourcis.
   Le bandeau replie conserve sa hauteur visible ; recherche au focus/survol. */
@media (max-width: 42.5rem) {
    html body.bodyGENERAL .bloc_outils_fixe {
        --jaz-header-search-height: 8rem;
        top: calc(-1 * var(--jaz-header-search-height));
        height: calc(var(--jaz-header-search-height) + 3.5rem);
    }
    html body.bodyGENERAL .bloc_outils_fixe:is(:hover, :focus-within) { top: 0; }
    html body.bodyGENERAL .bloc_outils_fixe .barre_site { min-height: var(--jaz-header-search-height); }
    html body.bodyGENERAL .bloc_outils_fixe .barre_edito { top: calc(var(--jaz-header-search-height) + .3125rem); }
    html body.bodyGENERAL .bloc_outils_fixe .barre_bouton { top: calc(var(--jaz-header-search-height) + .6875rem); }
}

/* Defilement des listes de services/serveurs : meme palette sur petit ecran. */
@media (max-width: 56.25rem) {
    body .menu_serveurs #zone_menu_serveurs > :is([data-id=etat_services], [data-id=etat_serveur]) {
        color-scheme: dark; scrollbar-width: thin;
        scrollbar-color: var(--jaz-border-strong) var(--jaz-nav-top-background);
    }
}

/* Menu client ouvert : le titre reste sous la commande de fermeture. */
@media (max-width: 48rem) {
    body.theme-client #volet h1 { padding-block-start: 2.75rem; }
}

/* Composants illustres Studio / Galerie, valides pour l'accueil client.
   Les outils peuvent reutiliser ces classes sans changer leurs menus ou listes. */
:root {
    --jaz-studio-beige: #dfbf95;
    --jaz-studio-lilac: #b8a8d3;
    --jaz-request-accent: var(--jaz-studio-lilac);
    --jaz-request-background: color-mix(in srgb, var(--jaz-studio-lilac) 9%, var(--jaz-nav-sidebar-background));
    --jaz-request-border: color-mix(in srgb, var(--jaz-studio-lilac) 28%, var(--jaz-border));
    --jaz-studio-tile-background: linear-gradient(135deg, #303239, #24272e);
    --jaz-studio-feature-background: linear-gradient(125deg, #393a40, #25282e);
    --jaz-studio-border: #414149;
    --jaz-studio-shadow: inset 0 .0625rem 0 rgb(255 255 255 / .04), 0 .375rem 1.25rem rgb(0 0 0 / .18);
    --jaz-icon-report: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8zM14 2v6h6M8 17v-3M12 17v-6M16 17v-4'/%3E%3C/svg%3E");
    --jaz-icon-arrow-link: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M7 7h10v10'/%3E%3C/svg%3E");
}
.jaz-studio-surface,
.jaz-studio-feature {
    --jaz-studio-icon-color: var(--jaz-studio-beige);
    --jaz-studio-icon: var(--jaz-icon-tasks);
    --jaz-studio-background: radial-gradient(ellipse at 10% 0%, color-mix(in srgb, var(--jaz-studio-icon-color) 12%, transparent), transparent 80%), var(--jaz-studio-tile-background);
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: var(--jaz-studio-background);
    border: .0625rem solid var(--jaz-studio-border);
    border-radius: .875rem;
    box-shadow: var(--jaz-studio-shadow);
}
.jaz-studio-feature {
    --jaz-studio-background: radial-gradient(ellipse at 5% 0%, color-mix(in srgb, var(--jaz-studio-icon-color) 17%, transparent), transparent 85%), var(--jaz-studio-feature-background);
}
.jaz-studio-lilac { --jaz-studio-icon-color: var(--jaz-studio-lilac); }
.jaz-studio-icon {
    position: relative;
    display: grid;
    place-items: center;
    flex: none;
    inline-size: 2.875rem;
    block-size: 2.875rem;
    margin: 0;
    border: .0625rem solid rgb(255 255 255 / .09);
    border-radius: .875rem;
    background: linear-gradient(130deg, #4a4c53, #363941);
    box-shadow: 0 .375rem .875rem rgb(0 0 0 / .18), inset 0 .0625rem rgb(255 255 255 / .07);
    transform: rotate(-8deg);
}
.jaz-studio-icon::before {
    content: '';
    inline-size: 1.625rem;
    block-size: 1.625rem;
    background: var(--jaz-studio-icon-color, var(--jaz-studio-beige));
    -webkit-mask: var(--jaz-studio-icon) center / contain no-repeat;
    mask: var(--jaz-studio-icon) center / contain no-repeat;
}
.jaz-studio-watermark::after {
    content: '';
    position: absolute;
    z-index: -1;
    inset: auto -.5rem -.625rem auto;
    inline-size: 6rem;
    block-size: 6rem;
    background: var(--jaz-studio-icon-color);
    -webkit-mask: var(--jaz-studio-icon) center / contain no-repeat;
    mask: var(--jaz-studio-icon) center / contain no-repeat;
    transform: rotate(-13deg);
    opacity: .07;
    pointer-events: none;
}
.jaz-studio-feature.jaz-studio-watermark::after {
    inset: auto -.75rem 2rem auto;
    inline-size: clamp(8rem, 9vw, 10rem);
    block-size: clamp(8rem, 9vw, 10rem);
}

/* Les rubriques conditionnelles du client ont aussi une icone au trait. */
body.theme-client .zone-dashboard > :is(div, button) { --jaz-nav-icon: var(--jaz-icon-file); }
body.theme-client .zone-dashboard > :is(div, button).demande_on { --jaz-nav-icon: var(--jaz-icon-chat); }


/* En-tetes Studio / Galerie : meme composant pour les rubriques secondaires.
   La densite du contenu reste geree par chaque outil. */
.jaz-studio-heading {
    display: block;
    min-inline-size: 0;
    min-block-size: 7.5rem;
    margin: 0 0 1.25rem;
    padding: clamp(1.125rem, .95rem + .5vw, 1.5rem) clamp(1.125rem, 5vw, 5rem) 1.25rem 5.5rem;
    box-sizing: border-box;
    text-align: left;
}
.jaz-studio-heading > .jaz-studio-icon {
    position: absolute;
    inset: 1.25rem auto auto 1.25rem;
}
.jaz-studio-heading :is(h1, h2, p) {
    position: relative;
    margin: 0;
    color: var(--jaz-text-strong);
    font-family: var(--jaz-font);
    overflow-wrap: anywhere;
}
.jaz-studio-heading :is(h1, h2) { font-size: clamp(1.25rem, 1.1rem + .5vw, 1.625rem); font-weight: 400; line-height: 1.3; }
.jaz-studio-heading p { margin-block-start: .5rem; color: var(--jaz-muted); font-size: .8125rem; line-height: 1.5; }
.jaz-studio-heading.jaz-studio-watermark::after { inline-size: 7rem; block-size: 7rem; }
@media (max-width: 37.5rem) {
    .jaz-studio-heading { min-block-size: 6.5rem; padding: 1.125rem 1rem 1.125rem 4.75rem; }
    .jaz-studio-heading > .jaz-studio-icon { inset: 1.125rem auto auto .9375rem; inline-size: 2.625rem; block-size: 2.625rem; }
    .jaz-studio-heading.jaz-studio-watermark::after { inline-size: 5rem; block-size: 5rem; }
}


/* Messages et pages d'erreur communs — Alpha, 17 octobre 2026. */
body.jaz-error-screen {
    margin: 0;
    min-height: 100vh;
    min-height: 100svh;
    display: grid;
    padding: clamp(1rem, 4vw, 3rem);
    box-sizing: border-box;
    background: var(--jaz-background, #1b1b1d);
    color: var(--jaz-text, #d7d7da);
    font: var(--jaz-body-size, .9375rem)/1.6 var(--jaz-font, Arial, sans-serif);
    color-scheme: dark;
}
.jaz-error-layout { width: min(100%, 42rem); margin: auto; display: grid; justify-items: center; gap: 1.25rem; text-align: center; }
.jaz-error-card { width: 100%; box-sizing: border-box; padding: clamp(1.25rem, 4vw, 2rem); border: 1px solid var(--jaz-border); border-radius: var(--jaz-card-radius); background: var(--jaz-surface); box-shadow: var(--jaz-card-shadow); overflow-wrap: anywhere; }
.jaz-error-eyebrow { color: var(--jaz-muted); font-size: .75rem; letter-spacing: .06em; }
.jaz-error-card h1 { margin: .5rem 0 1rem; color: var(--jaz-text-strong); font-size: clamp(1.25rem, 3vw, 1.75rem); line-height: 1.3; }
.jaz-error-message > :first-child { margin-top: 0; }
.jaz-error-message a { color: var(--jaz-accent-hover); }
.jaz-error-action { display: inline-flex; justify-content: center; align-items: center; min-height: 2.75rem; margin-top: 1.25rem; padding: .5rem 1.25rem; box-sizing: border-box; border: 1px solid var(--jaz-border-strong); border-radius: var(--jaz-control-radius); background: var(--jaz-raised); color: var(--jaz-text-strong); text-decoration: none; }
.jaz-error-action:hover { background: var(--jaz-hover); border-color: var(--jaz-accent); }
.jaz-error-action:focus-visible { outline: 2px solid var(--jaz-accent); outline-offset: .25rem; }
.jaz-error-hint, .jaz-error-domain { color: var(--jaz-muted); font-size: .8125rem; }
.jaz-error-hint { margin: .75rem 0 0; }
.jaz-error-robot { width: clamp(10rem, 32vw, 18rem); max-width: 100%; height: auto; filter: invert(.9) grayscale(1); }
.jaz-feedback { padding: .75rem 1rem; border: 1px solid var(--jaz-border, #39393d); border-radius: var(--jaz-control-radius, .3125rem); background: var(--jaz-surface, #202023); color: var(--jaz-text, #d7d7da); font: .875rem/1.5 var(--jaz-font, Arial, sans-serif); overflow-wrap: anywhere; }
.jaz-feedback:empty { display: none; }
.jaz-feedback--error { border-inline-start: .2rem solid #c68f89; }
.jaz-feedback--session { border-inline-start: .2rem solid var(--jaz-accent, #b7a58a); }


/* Voiles des menus : apparition progressive commune, Alpha, 17 octobre 2026.
   Garder les voiles dans le rendu au repos permet aussi leur fermeture douce. */
:root {
    --jaz-overlay-duration: 1.1s;
    --jaz-overlay-easing: ease-in-out;
}
html body.bodyGENERAL #menu_p::before,
html body.bodyGENERAL :is(#jaz_header_menu_backdrop, #jaz_header_search_backdrop),
body:has(.zone_menu_ic) .barre_bureau::before {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    -webkit-backdrop-filter: blur(0);
    backdrop-filter: blur(0);
    transition: opacity var(--jaz-overlay-duration) var(--jaz-overlay-easing),
        -webkit-backdrop-filter var(--jaz-overlay-duration) var(--jaz-overlay-easing),
        backdrop-filter var(--jaz-overlay-duration) var(--jaz-overlay-easing),
        visibility 0s linear var(--jaz-overlay-duration);
}
html body.bodyGENERAL :is(#jaz_header_menu_backdrop, #jaz_header_search_backdrop) {
    display: block;
}
html body.bodyGENERAL #menu_p::before { --jaz-menu-blur: .25rem; }
body:has(.zone_menu_ic) .barre_bureau::before {
    content: '';
    position: fixed;
    z-index: 900;
    inset: 66px 0 0 80px; /* Reperes existants de la barre IDE. */
    background: rgb(5 8 13 / 16%);
}
html body.bodyGENERAL #menu_p.zbarreOn::before,
html body.bodyGENERAL.jaz-header-menu-open #jaz_header_menu_backdrop,
html body.bodyGENERAL.jaz-header-search-open #jaz_header_search_backdrop,
body:has(.zone_menu_ic:hover, .zone_menu_ic:focus-within) .barre_bureau::before {
    opacity: 1;
    visibility: visible;
    -webkit-backdrop-filter: blur(var(--jaz-menu-blur, var(--jaz-overlay-blur)));
    backdrop-filter: blur(var(--jaz-menu-blur, var(--jaz-overlay-blur)));
    transition-delay: 0s;
}
@media (hover: hover) and (pointer: fine) {
    html body.bodyGENERAL #menu_p:hover::before {
        opacity: 1;
        visibility: visible;
        -webkit-backdrop-filter: blur(var(--jaz-menu-blur));
        backdrop-filter: blur(var(--jaz-menu-blur));
        transition-delay: 0s;
    }
}
@media (max-width: 700px) {
    body:has(.zone_menu_ic) .barre_bureau::before { left: 70px; }
    body:has(.zone_menu_ic:hover, .zone_menu_ic:focus-within) .barre_bureau::before { left: 70px; }
}
/* Le client garde son voile assombri existant, sans ajouter de flou au survol. */
@media (max-width: 48rem) {
    html body.theme-client #volet_fond,
    html body.theme-client #volet_fond[hidden] {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 20;
        border: 0;
        background: rgb(0 0 0 / .5);
        cursor: pointer;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity var(--jaz-overlay-duration) var(--jaz-overlay-easing),
            visibility 0s linear var(--jaz-overlay-duration);
    }
    html body.theme-client #volet_fond:not([hidden]) {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transition-delay: 0s;
    }
}
@media (prefers-reduced-motion: reduce) {
    html body.bodyGENERAL #menu_p::before,
    html body.bodyGENERAL :is(#jaz_header_menu_backdrop, #jaz_header_search_backdrop),
    body:has(.zone_menu_ic) .barre_bureau::before,
    html body.theme-client #volet_fond {
        transition: none;
    }
}


/* Changer de systeme : valeurs modifiables et liens sans cadres imbriques. */
html body.bodyGENERAL #header_topmenu_ul #autocomplete_recherche_moteur_site :is(#choix_version, #choix_securite) {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0;
    box-shadow: none;
    min-block-size: 2rem;
    padding: .375rem .625rem .375rem 0;
    cursor: pointer;
}
html body.bodyGENERAL #header_topmenu_ul #autocomplete_recherche_moteur_site :is(#choix_version, #choix_securite):hover {
    color: var(--jaz-accent-hover) !important;
}
html body.bodyGENERAL #header_topmenu_ul #autocomplete_recherche_moteur_site :is(#choix_version, #choix_securite) :is(option, optgroup) {
    background: var(--jaz-field);
    color: var(--jaz-text-strong);
}
html body.bodyGENERAL #header_topmenu_ul #autocomplete_recherche_moteur_site .liste_des_domaines > li {
    padding: 0;
    margin: 0 0 .375rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
html body.bodyGENERAL #autocomplete_recherche_moteur_site :is(.liste_des_domaines a, a.lienadmin) {
    display: inline;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--jaz-menu-text);
    font: inherit;
    overflow-wrap: anywhere;
    text-decoration: none;
}
html body.bodyGENERAL #autocomplete_recherche_moteur_site :is(.liste_des_domaines a, a.lienadmin):is(:hover, :focus-visible) {
    color: var(--jaz-accent-hover);
    text-decoration: underline;
    text-underline-offset: .1875em;
}
html body.bodyGENERAL #autocomplete_recherche_moteur_site :is(.liste_des_domaines a, a.lienadmin):focus-visible {
    outline: .125rem solid var(--jaz-accent);
    outline-offset: .1875rem;
}
@media (hover: none), (pointer: coarse) {
    html body.bodyGENERAL #header_topmenu_ul #autocomplete_recherche_moteur_site :is(#choix_version, #choix_securite) { min-block-size: 2.75rem; }
}


/* Apparition des panneaux de système/recherche : effet visuel uniquement. */
@keyframes jaz-header-panel-appear {
 from { opacity:0; transform:translateY(-6px) scale(.992); }
 to { opacity:1; transform:translateY(0) scale(1); }
}
html body.bodyGENERAL #header_topmenu_ul :is(#autocomplete_recherche_moteur_site_div,#autocomplete_recherche_moteur_div) {
 animation:jaz-header-panel-appear 280ms cubic-bezier(.2,.7,.25,1) both;
 transform-origin:top left;
}
@media(prefers-reduced-motion:reduce) {
 html body.bodyGENERAL #header_topmenu_ul :is(#autocomplete_recherche_moteur_site_div,#autocomplete_recherche_moteur_div) { animation:none; }
}
