/* Dossilia — habillage « moderne et coloré » (maquettes validées). Chargé en dernier : il remplace le style Apple/ardoise sans toucher au HTML des pages. */
@font-face{font-family:"Figtree";font-style:normal;font-weight:400 800;font-display:swap;src:url("fonts/figtree-latin.woff2") format("woff2")}
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:700 800;font-display:swap;src:url("fonts/bricolage-latin.woff2") format("woff2")}
:root{
--bg:#F6F4F0;--surface:#FFFFFF;--surface2:#FAF8F5;--ink:#1C1A24;--ink2:#5A5668;--line:#E6E2DA;
--btn:#1d4f91;--brand-ink:#123259;--brand-soft:#E4EDF8;
--teal:#0B6E61;--teal-soft:#E1F3EC;--coral:#B23509;--coral-soft:#FDE4DA;
--amber:#725000;--amber-soft:#FCEBBF;--pink:#A21B5E;--pink-soft:#FBE0EE;--danger:#B42318;--danger-soft:#FDE1DE;
--acc:#1d4f91;
--ui-shadow:0 1px 2px rgba(28,26,36,.06),0 8px 24px rgba(28,26,36,.06);
--ui-font:Figtree,"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
--ui-head:"Bricolage Grotesque",Figtree,"Segoe UI",system-ui,-apple-system,sans-serif;
--sl-900:#1C1A24;--sl-700:#3a3748;--sl-600:#4b4859;--sl-500:#5A5668;--sl-300:#E6E2DA;--sl-200:#EEEAE3;--sl-100:#F1EEE8;--sl-50:#FAF8F5;--ap-bg:#F6F4F0;--blue:#123259;--blue-soft:#E4EDF8;--mint:#0B6E61;--mint-soft:#D9F2EC;
}
body.ui2{font-family:var(--ui-font);color:var(--ink);font-size:16px;-webkit-font-smoothing:antialiased}
body.ui2,body.ui2:has(.ap){background:var(--bg)!important;--bs-body-bg:var(--bg);--bs-body-color:var(--ink);--bs-body-font-family:var(--ui-font);--bs-link-color:var(--acc,var(--btn));--bs-link-hover-color:var(--brand-ink)}
.ui2 .ap{font-family:var(--ui-font);color:var(--ink)}
.ui2 h1,.ui2 .h1{font-family:var(--ui-head);font-weight:800;letter-spacing:-.01em;line-height:1.15;color:var(--ink);font-size:clamp(1.6rem,3vw,2rem)}
.ui2 h2,.ui2 .h2{font-family:var(--ui-head);font-weight:700;letter-spacing:0;color:var(--ink);font-size:1.25rem}
.ui2 h3,.ui2 .h3{color:var(--ink);font-weight:700}
.ui2 .text-body-secondary,.ui2 .text-muted{color:var(--ink2)!important}
.ui2 a:not(.btn):not(.nav-link):not(.dropdown-item):not(.page-link):not(.list-group-item):not([class^="cl-"]):not([class*=" cl-"]):not([class*="dui-"]){color:var(--lnk,var(--acc,var(--btn)))}
.ui2 :focus-visible{outline:3px solid var(--acc,var(--btn));outline-offset:2px}

/* cartes */
.ui2 .card,.ui2 .ap .card{border:1px solid var(--line)!important;border-radius:18px;background:var(--surface);box-shadow:var(--ui-shadow)!important}
.ui2 .card-header{border-bottom:1px solid var(--line);font-family:var(--ui-head);font-weight:700}
.ui2 .card-footer{border-top:1px solid var(--line)}
.ui2 .bg-light,.ui2 .bg-body-tertiary{background:var(--surface2)!important}

/* boutons */
.ui2 .btn{border-radius:12px;font-weight:600;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}
.ui2 .btn-sm{min-height:36px;border-radius:10px}
.ui2 .btn-lg{min-height:52px;border-radius:14px}
.ui2 .btn-primary{--bs-btn-bg:var(--acc,var(--btn));--bs-btn-border-color:var(--acc,var(--btn));--bs-btn-hover-bg:var(--brand-ink);--bs-btn-hover-border-color:var(--brand-ink);--bs-btn-active-bg:var(--brand-ink);--bs-btn-active-border-color:var(--brand-ink);--bs-btn-disabled-bg:var(--acc,var(--btn));--bs-btn-disabled-border-color:var(--acc,var(--btn));--bs-btn-color:#fff;--bs-btn-hover-color:#fff;border-radius:12px}
.ui2 .btn-outline-primary{--bs-btn-color:var(--acc,var(--btn));--bs-btn-border-color:var(--line);--bs-btn-hover-bg:var(--brand-soft);--bs-btn-hover-color:var(--brand-ink);--bs-btn-hover-border-color:var(--brand-soft);--bs-btn-active-bg:var(--brand-soft);--bs-btn-active-color:var(--brand-ink);background:var(--surface)}
.ui2 .btn-outline-secondary{--bs-btn-color:var(--ink);--bs-btn-border-color:var(--line);--bs-btn-hover-bg:var(--surface2);--bs-btn-hover-color:var(--ink);--bs-btn-hover-border-color:var(--line);background:var(--surface)}
.ui2 .btn-outline-danger{--bs-btn-color:var(--danger);--bs-btn-border-color:var(--danger);--bs-btn-hover-bg:var(--danger);--bs-btn-hover-border-color:var(--danger)}
.ui2 .dash-head .btn-lg{box-shadow:0 6px 18px rgba(29,79,145,.25)}

/* champs */
.ui2 .form-control,.ui2 .form-select{border:1.5px solid var(--line);border-radius:12px;min-height:46px;background-color:var(--surface);color:var(--ink);font-weight:500}
.ui2 textarea.form-control{min-height:96px}
.ui2 .form-control:focus,.ui2 .form-select:focus{border-color:var(--acc,var(--btn));box-shadow:0 0 0 .22rem rgba(29,79,145,.18)}
.ui2 .form-label{font-weight:700;color:var(--ink);font-size:.92rem}
.ui2 .form-check-input:checked{background-color:var(--acc,var(--btn));border-color:var(--acc,var(--btn))}
.ui2 .form-check-input{width:1.2em;height:1.2em}

/* pastilles et statuts */
.ui2 .badge{font-weight:700;border-radius:99px;padding:.4em .7em}
.ui2 .badge.bg-success-subtle,.ui2 .bg-success-subtle{background:var(--teal-soft)!important;color:var(--teal)!important}
.ui2 .badge.bg-warning-subtle,.ui2 .bg-warning-subtle{background:var(--amber-soft)!important;color:var(--amber)!important}
.ui2 .badge.bg-secondary-subtle,.ui2 .bg-secondary-subtle{background:var(--surface2)!important;color:var(--ink2)!important;border:1px solid var(--line)}
.ui2 .badge.bg-danger-subtle{background:var(--danger-soft)!important;color:var(--danger)!important}
.ui2 .badge.bg-info-subtle,.ui2 .badge.bg-primary-subtle{background:var(--brand-soft)!important;color:var(--brand-ink)!important}
.ui2 .st-chip{border-radius:99px;font-weight:700}
.ui2 .alert{border-radius:14px;border-width:1px}
.ui2 .alert-info{background:var(--brand-soft);border-color:transparent;color:var(--brand-ink)}
.ui2 .alert-warning{background:var(--amber-soft);border-color:transparent;color:var(--amber)}
.ui2 .alert-danger{background:var(--danger-soft);border-color:transparent;color:var(--danger)}
.ui2 .alert-success{background:var(--teal-soft);border-color:transparent;color:var(--teal)}

/* tableaux */
.ui2 .table{--bs-table-bg:transparent;color:var(--ink)}
.ui2 .table thead th,.ui2 .table>thead>tr>th{background:var(--surface2)!important;color:var(--ink2);font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;border-bottom:1px solid var(--line)}
.ui2 .table>:not(caption)>*>*{padding:.9rem .75rem;border-color:var(--line)}
.ui2 .table-hover>tbody>tr:hover>*{background:var(--brand-soft)}
.ui2 hr{border-color:var(--line);opacity:1}

/* onglets et segments */
.ui2 .nav-tabs{border-bottom:1px solid var(--line)}
.ui2 .nav-tabs .nav-link{min-height:44px;color:var(--ink2);font-weight:600;border:0;border-bottom:3px solid transparent;border-radius:0}
.ui2 .nav-tabs .nav-link.active{color:var(--brand-ink);background:transparent;border-bottom-color:var(--acc,var(--btn))}
.ui2 .nav-pills .nav-link.active{background:var(--acc,var(--btn))}
.ui2 .seg{background:var(--surface);border:1px solid var(--line);border-radius:12px}
.ui2 .seg a{border-radius:9px;min-height:36px;display:inline-flex;align-items:center;color:var(--ink2)}
.ui2 .seg a.on{background:var(--ink);color:#fff;box-shadow:none}
.ui2 .progress{height:10px;border-radius:99px;background:var(--line)}
.ui2 .progress-bar{background:var(--acc,var(--btn));border-radius:99px}

/* tableau de bord : indicateurs colorés */
.ui2 .kpis{gap:14px}
.ui2 .kpi{border:0;border-radius:18px;padding:18px 20px;color:#fff;box-shadow:var(--ui-shadow);background:var(--acc,var(--btn))}
.ui2 .kpi b{font-family:var(--ui-head);font-weight:800;font-size:2.1rem;color:#fff!important}
.ui2 .kpi span{color:rgba(255,255,255,.92);font-weight:600}
.ui2 .kpi:nth-child(2){background:#0B7A6C}
.ui2 .kpi:nth-child(3){background:#2F3A45}
.ui2 .kpi:nth-child(4){background:#0E6A7C}
.ui2 .kpi:nth-child(5){background:#4B5663}.ui2 .kpi:nth-child(5) b,.ui2 .kpi:nth-child(5) span{color:#FFFFFF!important}
.ui2 .kpi.warn{background:#2F3A45}.ui2 .kpi.warn b,.ui2 .kpi.warn span{color:#FFFFFF!important}

/* fenêtres et menus */
.ui2 .modal-content{border:0;border-radius:20px;box-shadow:0 20px 50px rgba(28,26,36,.25)}
.ui2 .dropdown-menu{border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px rgba(28,26,36,.18);padding:6px}
.ui2 .dropdown-item{border-radius:10px;min-height:44px;display:flex;align-items:center;gap:.6rem;font-weight:600;color:var(--ink)}
.ui2 .dropdown-item:hover,.ui2 .dropdown-item:focus{background:var(--brand-soft);color:var(--brand-ink)}
.ui2 .dropdown-item.active{background:var(--brand-soft);color:var(--brand-ink)}

/* ===== navigation ===== */
.ui2 .navbar-portal{background:var(--surface)!important;border-bottom:1px solid var(--line)!important;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
body.ui2 .navbar-portal .navbar-brand,body.ui2 .navbar-portal .navbar-brand.text-primary{color:var(--ink)!important}
body.ui2 .navbar-portal .nav-link{color:var(--ink)!important;font-weight:600;border-radius:12px;min-height:44px;display:flex;align-items:center;gap:.7rem;padding:0 .8rem}
body.ui2 .navbar-portal .nav-link:hover,body.ui2 .navbar-portal .nav-link:focus{background:var(--surface2);color:var(--brand-ink)!important}
body.ui2 .navbar-portal .nav-link.active,body.ui2 .navbar-portal .nav-link.show{background:var(--brand-soft);color:var(--brand-ink)!important;font-weight:700}
.ui2 .navbar-portal .ic{width:20px;height:20px;flex:none}
body.ui2 .navbar-portal .dropdown-item{color:var(--ink);font-weight:600;border-radius:12px;min-height:44px;display:flex;align-items:center;gap:.7rem;padding:0 .8rem;white-space:normal}
body.ui2 .navbar-portal .dropdown-item:hover,body.ui2 .navbar-portal .dropdown-item:focus{background:var(--surface2);color:var(--brand-ink)}
body.ui2 .navbar-portal .dropdown-item.active{background:var(--brand-soft);color:var(--brand-ink);font-weight:700}
.ui2 .navbar-portal .chat-badge{margin-left:auto}

@media (min-width:1200px){
 body.has-sb{padding-left:264px}
 body.has-sb .navbar-portal{position:fixed;left:0;top:0;bottom:0;width:264px;height:100vh;padding:18px 14px;border-right:1px solid var(--line)!important;border-bottom:0!important;overflow-y:auto;z-index:1030;display:block}
 body.has-sb .navbar-portal>.container{display:flex;flex-direction:column;align-items:stretch;max-width:none;min-height:100%;padding:0;gap:4px}
 body.has-sb .navbar-portal .navbar-brand{display:flex;padding:2px 8px 14px;margin:0}
 body.has-sb .navbar-portal .navbar-brand img{height:34px;width:auto;max-width:200px}
 body.has-sb .navbar-portal .navbar-toggler{display:none}
 body.has-sb .navbar-portal .navbar-collapse{display:flex!important;flex-direction:column;flex:1;align-items:stretch;height:auto!important}
 body.has-sb .navbar-portal .navbar-nav{flex-direction:column;width:100%;gap:1px}
 body.has-sb .navbar-portal .navbar-nav.me-auto{margin-right:0!important}
 body.has-sb .navbar-portal .navbar-nav:last-child{margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}
 /* groupes : titre fixe + liens toujours visibles */
 body.has-sb .navbar-portal .nav-group>.dropdown-toggle{pointer-events:none;min-height:0;padding:14px 12px 4px;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)!important;font-weight:700;background:transparent!important}
 body.has-sb .navbar-portal .nav-group>.dropdown-toggle::after{display:none}
 body.has-sb .navbar-portal .nav-group>.dropdown-toggle .ic{display:none}
 body.has-sb .navbar-portal .nav-group>.dropdown-menu,body.has-sb .navbar-portal .nav-user>.dropdown-menu{display:block!important;position:static!important;transform:none!important;inset:auto!important;border:0;background:transparent;box-shadow:none;padding:0;margin:0;min-width:0;width:100%}
 /* menu du compte, en bas */
 body.has-sb .navbar-portal .nav-user>.dropdown-toggle{pointer-events:none;flex-direction:row;background:var(--surface2)!important;border:1px solid var(--line);border-radius:14px;min-height:52px;white-space:normal;line-height:1.25}
 body.has-sb .navbar-portal .nav-user>.dropdown-toggle::after{display:none}
 body.has-sb .navbar-portal .nav-user .dropdown-divider{margin:4px 0}
 body.has-sb .navbar-portal .nav-user .dropdown-item{min-height:40px;font-weight:600;color:var(--ink2)}
 body.has-sb main.container{max-width:1180px}
}
@media (max-width:1199.98px){
 body.ui2 .navbar-portal{position:sticky;top:0;z-index:1030}
 body.ui2 .navbar-portal .navbar-nav{padding:6px 0}
 body.ui2 .navbar-portal .nav-group>.dropdown-toggle{font-weight:700}
 .ui2 .navbar-toggler{min-width:44px;min-height:44px;border-radius:12px;border-color:var(--line)}
}
.ui2 main.container{padding-top:1.75rem;padding-bottom:3rem}
@media (max-width:575.98px){.ui2 main.container{padding-left:16px;padding-right:16px}.ui2 .btn{min-height:46px}}

/* pied de page */
.ui2 footer.site-foot{background:var(--surface);border-top:1px solid var(--line);color:var(--ink2);font-family:var(--ui-font)}
.ui2 footer.site-foot h3{color:var(--ink)}

@media (prefers-reduced-motion:reduce){.ui2 *{animation:none!important;transition:none!important}}

.ui2 h1 .ic,.ui2 h1 svg{color:var(--ink2)}
.ui2 .seg a{color:var(--ink2)!important}.ui2 .seg a.on{background:var(--ink);color:#fff!important}

/* ===== Tableau : en-têtes de colonnes colorés ===== */
.ui2 .tb-head{padding:0;gap:.75rem}
.ui2 .tb-head>*{min-height:40px;display:flex;align-items:center;padding:0 14px;border-radius:12px;font-weight:700;background:var(--surface2);color:var(--ink2)}
.ui2 .tb-head>*:nth-child(2){background:var(--coral-soft);color:var(--coral)}
.ui2 .tb-head>*:nth-child(3){background:var(--brand-soft);color:var(--brand-ink)}
.ui2 .tb-head>*:nth-child(4){background:var(--teal-soft);color:var(--teal)}
.ui2 .tb-dos{border:1px solid var(--line);border-left:4px solid var(--acc,var(--btn));border-radius:14px;box-shadow:var(--ui-shadow)}
.ui2 .tb-row{border-bottom:1px solid var(--line)}
.ui2 .tcard,.ui2 .tc{border-radius:14px;border:1px solid var(--line)}

/* ===== Fiche dossier : deux colonnes sur grand écran ===== */
@media (min-width:1400px){
 body[data-page="dossier.php"] main.container{max-width:1240px;column-count:2;column-gap:18px}
 body[data-page="dossier.php"] main.container>section,body[data-page="dossier.php"] main.container>div{break-inside:avoid;-webkit-column-break-inside:avoid;display:block}
 body[data-page="dossier.php"] main.container>section:first-child{column-span:all}
}
/* ===== Parcours : pastilles d'étapes ===== */
.ui2 .card h2 small,.ui2 .card h2 .text-body-secondary{font-weight:600}
.ui2 .badge.rounded-pill.text-bg-danger{background:var(--coral)!important;color:#fff}
.ui2 .tb-head .kn{background:rgba(255,255,255,.75);color:inherit;border-radius:99px;padding:0 8px;margin-left:auto}

/* =====================================================================
   ui3 — écrans restants : composants communs, portail client, admin, états, mode sombre
   ===================================================================== */
:root{--st:#0B7A6C;--sc:#2F3A45;--sp:#0E6A7C;--sa:#4B5663;--lnk:var(--acc,#1d4f91)}

/* ---- composants communs ---- */
.dui-i{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dui-i.sm{width:16px;height:16px}.dui-i.lg{width:26px;height:26px}
.dui-chip{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:0 10px;border-radius:99px;font-size:12.5px;font-weight:700;white-space:nowrap;background:var(--surface2);color:var(--ink2);border:1px solid var(--line)}
.dui-chip.v{background:var(--brand-soft);color:var(--brand-ink);border-color:transparent}
.dui-chip.t{background:var(--teal-soft);color:var(--teal);border-color:transparent}
.dui-chip.c{background:var(--coral-soft);color:var(--coral);border-color:transparent}
.dui-chip.a{background:var(--amber-soft);color:var(--amber);border-color:transparent}
.dui-chip.r{background:var(--danger-soft);color:var(--danger);border-color:transparent}
/* en-tête de page posé sur le fond (maquettes) : titre, phrase d'aide, actions à droite */
.dui-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 20px;margin:0 0 18px}
.dui-head>div:first-child{flex:1 1 320px;min-width:0}
.dui-head h1{margin:0;display:flex;align-items:center;gap:10px}
.dui-head p{margin:6px 0 0;color:var(--ink2);max-width:70ch}
.dui-head .dui-act{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
/* titre de page qui est dans la première carte : la carte devient un simple en-tête */
.ui2 .card.dui-flat{background:transparent;border:0!important;box-shadow:none!important;border-radius:0}
.ui2 .card.dui-flat>.card-body{padding:0 0 .25rem}
.dui-note{border-radius:16px;padding:14px 18px;background:var(--amber-soft);color:var(--amber);font-size:.95rem}
.dui-note b{color:inherit}
/* choix entre deux modes (Courriels : infolettre / campagnes) */
.dui-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 18px}
.dui-choice{display:flex;align-items:center;gap:14px;padding:16px;border-radius:18px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--ui-shadow);text-decoration:none;color:var(--ink);min-height:76px}
.dui-choice.on{border:2px solid var(--btn);padding:15px}
.dui-choice .dui-ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex:none;background:var(--pink-soft);color:var(--pink)}
.dui-choice:nth-child(2) .dui-ico{background:var(--brand-soft);color:var(--brand-ink)}
.dui-choice b{display:block;font-size:15px}.dui-choice small{display:block;color:var(--ink2);font-size:13px}
.dui-choice>span:nth-child(2){flex:1;min-width:0}
@media (max-width:575.98px){.dui-choices{grid-template-columns:1fr}}
/* étapes numérotées */
.dui-stp{list-style:none;margin:0 0 6px;padding:18px 24px;display:flex;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--ui-shadow)}
.dui-stp li{flex:1;position:relative;text-align:center;min-width:0}
.dui-stp li::before{content:"";position:absolute;top:17px;left:-50%;width:100%;height:4px;background:var(--line)}
.dui-stp li:first-child::before{display:none}
.dui-stp li.done::before,.dui-stp li.now::before{background:var(--st)}
.dui-stp li>a,.dui-stp li>.dui-sw{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ink);text-decoration:none;position:relative;min-height:44px;padding:0 2px}
.dui-stp li>a:hover span:last-child{text-decoration:underline}
.dui-dot{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:var(--surface);border:3px solid var(--line);color:var(--ink2);position:relative;z-index:1;flex:none}
.dui-stp .done .dui-dot{background:var(--st);border-color:var(--st);color:#fff}
.dui-stp .now .dui-dot{background:var(--btn);border-color:var(--btn);color:#fff;box-shadow:0 0 0 5px var(--brand-soft)}
@media (max-width:575.98px){.dui-stp{padding:14px 8px}.dui-stp li>a,.dui-stp li>.dui-sw{font-size:11.5px}}
/* états vides et erreurs */
.dui-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:32px 20px;border:2px dashed var(--line);border-radius:18px;background:var(--surface)}
.dui-empty-art{max-width:100%;height:auto}
.dui-empty-t{margin:4px 0 0;font-family:var(--ui-head);font-size:1.25rem;font-weight:700;color:var(--ink)}
.dui-empty-p{margin:0;max-width:46ch;color:var(--ink2)}
.dui-empty-act{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:6px}
.dui-empty.sm{padding:20px 16px;gap:6px}.dui-empty.sm .dui-empty-art{width:96px;height:auto}.dui-empty.sm .dui-empty-t{font-size:1.05rem}
.dui-error{max-width:540px;margin:48px auto;padding:32px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;background:var(--coral-soft);border-radius:20px}
.dui-error-ic{width:64px;height:64px;border-radius:20px;background:var(--sc);color:#fff;display:grid;place-items:center}
.dui-error-t{margin:0;font-size:1.6rem}.dui-error-p{margin:0;color:var(--ink2)}.dui-error-c{margin:0;font-size:12px;color:var(--ink2)}
.ui2 .dui-error .dui-error-t,.ui2 .dui-error .dui-error-p{color:var(--ink)}
.ui2 .dui-error .dui-error-p{color:var(--ink2)}
.ui2 table .dui-empty{border:0;background:transparent;padding:20px 12px}

/* ---- Courriels, Équipe, Rémunération, Statistiques ---- */
body[data-page="statistiques.php"] .row.g-3.mb-3>[class*="col"]>.card{border:0!important;color:#fff;background:var(--acc,var(--btn))}
body[data-page="statistiques.php"] .row.g-3.mb-3>[class*="col"]:nth-child(2)>.card{background:#0B7A6C}
body[data-page="statistiques.php"] .row.g-3.mb-3>[class*="col"]:nth-child(3)>.card{background:#2F3A45}
body[data-page="statistiques.php"] .row.g-3.mb-3>[class*="col"]:nth-child(4)>.card{background:#0E6A7C}
body[data-page="statistiques.php"] .row.g-3.mb-3>[class*="col"]:nth-child(5)>.card{background:#4B5663;color:#FFFFFF}
body[data-page="statistiques.php"] .row.g-3.mb-3 .display-6{font-family:var(--ui-head);font-weight:800;color:inherit!important}
body[data-page="statistiques.php"] .row.g-3.mb-3 .text-body-secondary{color:inherit!important;opacity:.95;font-weight:600}
.dui-kpis{display:grid;grid-template-columns:1.3fr repeat(3,minmax(0,1fr));gap:14px;margin:0 0 18px}
.dui-kpis>*{min-width:0}
.dui-kpi-main{background:var(--acc,var(--btn));color:#fff;border-radius:18px;padding:16px 20px;box-shadow:var(--ui-shadow)}
.dui-kpi-main small,.dui-kpi-main span{display:block;font-size:12px;font-weight:700;opacity:.95}
.dui-kpi-main b{display:block;font:800 clamp(1.5rem,3vw,2rem)/1.15 var(--ui-head)}
.dui-kpi-sub{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px 16px;box-shadow:var(--ui-shadow)}
.dui-kpi-sub small{display:block;font-size:12px;font-weight:700;color:var(--ink2)}
.dui-kpi-sub b{display:block;font:700 1.2rem/1.3 var(--ui-head)}
@media (max-width:991.98px){.dui-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dui-kpi-main{grid-column:1/-1}}
body[data-page="remun.php"] .row.g-3>[class*="col"]>.card{border-radius:16px}
body[data-page="remun.php"] .row.g-3>[class*="col"]:nth-child(1)>.card{background:var(--brand-soft);border-color:transparent!important}
body[data-page="remun.php"] .row.g-3>[class*="col"]:nth-child(3)>.card{background:var(--teal-soft);border-color:transparent!important}
body[data-page="remun.php"] .row.g-3>[class*="col"]:nth-child(4)>.card{background:var(--amber-soft);border-color:transparent!important}
body[data-page="remun.php"] .row.g-3 .fs-4{font-family:var(--ui-head);font-weight:800}
.dui-month{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.dui-month a,.dui-month span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:99px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:600;font-size:14px;text-decoration:none}
.dui-month span{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.ui2 .table-responsive{border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.ui2 .table-responsive>.table{margin:0}
.ui2 .table-responsive>.table>tbody>tr:last-child>*{border-bottom:0}

/* ---- pages d'aide et d'outils : plus de violet ---- */
.ui2 [class*="pt-c-violet"]{background:var(--brand-soft)!important;color:var(--brand-ink)!important}
.ui2 .text-bg-primary{background:var(--acc,var(--btn))!important;color:#fff!important}

/* ---- connexion et inscription ---- */
/* (voir assets/login.css) */

/* ---- portail client connecté ---- */
body.ui-cl{padding-bottom:0}
.cl-top{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1030}
.cl-in{max-width:1320px;margin:0 auto;display:flex;align-items:center;gap:16px;padding:10px 20px;min-height:72px}
.cl-brand{display:flex;align-items:center;gap:12px;min-height:44px;text-decoration:none;color:var(--ink);flex:0 1 auto;min-width:44px}
.cl-brand img{width:38px;height:38px;border-radius:11px;object-fit:contain;flex:none}
.cl-bt{display:flex;flex-direction:column;line-height:1.25;min-width:0;max-width:220px}
@media (min-width:768px) and (max-width:1199.98px){.cl-bt{display:none}}
.cl-bt small{font-size:12px;color:var(--ink2)}
.cl-bt b{font-size:15px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cl-nav{display:flex;gap:4px;margin:0 auto}
.cl-tab{position:relative;display:flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:12px;color:var(--ink);font-weight:600;text-decoration:none;white-space:nowrap}
.cl-tab:hover{background:var(--surface2)}
.cl-tab.on{background:var(--brand-soft);color:var(--brand-ink)}
.cl-n{font-size:12px;font-weight:700;background:var(--coral-soft);color:var(--coral);border-radius:99px;padding:1px 8px;line-height:1.5}
.cl-tools{display:flex;gap:2px;margin-left:auto}
.cl-nav+.cl-tools{margin-left:0}
.cl-tool{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border-radius:12px;color:var(--ink2);font-weight:600;text-decoration:none;white-space:nowrap}
.cl-tool:hover,.cl-tool.on{background:var(--surface2);color:var(--ink)}
.cl-top :focus-visible{outline:3px solid var(--lnk,var(--btn));outline-offset:2px}
@media (max-width:1299.98px){
 .cl-tool span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 .cl-tool{padding:0;width:44px;justify-content:center}
}
@media (min-width:768px) and (max-width:899.98px){.cl-in{gap:6px;padding:10px 12px}.cl-tab{padding:0 8px;gap:5px;font-size:14px}.cl-tab .dui-i{display:none}}
@media (max-width:767.98px){
 body.ui-cl{padding-bottom:84px}
 .cl-in{padding:10px 16px;min-height:64px}
 .cl-tools{margin-left:auto}
 .cl-out{display:none}
 .cl-top{position:static}
 .cl-nav{position:fixed;left:0;right:0;bottom:0;margin:0;z-index:1040;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:6px 6px calc(8px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line)}
 .cl-tab{flex-direction:column;justify-content:center;gap:3px;font-size:11.5px;min-height:56px;padding:2px 0}
 .cl-n{position:absolute;top:2px;left:calc(50% + 6px);min-width:18px;height:18px;padding:0 5px;background:var(--sc);color:#fff;font-size:11px;display:grid;place-items:center}
}
body.ui2 main.container.cl-home{max-width:760px!important}
body.ui2[data-page="valider.php"] main.container,body.ui2[data-page="signer.php"] main.container{max-width:860px!important}
.cl-hello{font-size:clamp(1.6rem,5vw,2rem);margin:0 0 16px}
.ui2 .cl-prog{background:var(--btn);color:#fff;border-radius:18px;padding:18px 20px;margin:0 0 22px;box-shadow:var(--ui-shadow)}
.ui2 .cl-prog h2{color:#fff;font-size:1.3rem;margin:2px 0 14px}
.cl-prog-k{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.95}
.cl-bar{height:10px;border-radius:99px;background:rgba(255,255,255,.3);overflow:hidden}
.cl-bar i{display:block;height:100%;background:#fff;border-radius:99px;min-width:4px}
.cl-prog-l{display:flex;gap:12px;margin-top:8px;font-size:.92rem}.cl-prog-l b{flex:1}
.ui2 a.cl-prog-a{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:6px;color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.ui2 .cl-h2{font-size:1.15rem;margin:0 0 12px}
.cl-todos{display:grid;gap:10px;margin:0 0 22px}
.ui2 a.cl-todo{display:flex;align-items:center;gap:14px;min-height:68px;padding:12px 14px;border-radius:16px;color:var(--ink);text-decoration:none;background:var(--brand-soft);border:1px solid transparent}
.ui2 a.cl-todo:hover{border-color:currentColor}
.cl-todo.t-c{background:var(--coral-soft)}.cl-todo.t-a{background:var(--amber-soft)}
.cl-todo-ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex:none;background:var(--btn);color:#fff}
.cl-todo.t-c .cl-todo-ic{background:var(--sc)}.cl-todo.t-a .cl-todo-ic{background:var(--sa);color:#FFFFFF}
.cl-todo-t{flex:1;min-width:0;display:flex;flex-direction:column}
.cl-todo-t b{font-size:15.5px}.cl-todo-t small{color:var(--ink2);font-size:13px;overflow:hidden;text-overflow:ellipsis}
.cl-todo-go{color:var(--ink2)}
.cl-done{display:flex;gap:14px;align-items:center;padding:16px;border-radius:16px;background:var(--teal-soft);color:var(--teal);margin:0 0 22px}
.cl-done div{display:flex;flex-direction:column;color:var(--ink)}.cl-done b{color:var(--teal)}.cl-done span{font-size:14px;color:var(--ink2)}
.cl-pro,.cl-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}
.cl-av{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:13px;flex:none;background:var(--teal-soft);color:var(--teal)}
.cl-pro-t,.cl-row-t{flex:1;min-width:0;display:flex;flex-direction:column}
.cl-pro-t small,.cl-row-t small{color:var(--ink2);font-size:13px}
.cl-list{display:grid;gap:10px;margin:0 0 14px}
.cl-row-ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex:none;background:var(--teal-soft);color:var(--teal)}
.cl-row-ic.t-a{background:var(--amber-soft);color:var(--amber)}
.ui2 .cl-row-dl{width:44px;padding:0}
.cl-note{font-size:13px;color:var(--ink2)}
.ui2 .cl-card{padding:18px 20px;margin:0 0 16px}
.cl-solde{background:var(--sp);color:#fff;border-radius:18px;padding:18px 20px;margin:0 0 22px;box-shadow:var(--ui-shadow)}
.cl-solde.ok{background:var(--st)}
.cl-solde-k{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.cl-solde-v{font:800 clamp(2rem,8vw,2.4rem)/1.15 var(--ui-head)}
.cl-solde-s{font-size:.95rem;margin-bottom:14px}
.ui2 .btn.cl-solde-b{width:100%;min-height:52px;background:#fff;color:#1C1A24;border-color:#fff;font-size:16px}
.cl-solde-n{margin:12px 0 0;font-size:13px;opacity:.95}
/* barre d'onglets : le pied de page ne passe pas sous la barre */
@media (max-width:767.98px){body.ui-cl .site-foot{padding-bottom:12px}}

/* questionnaire */
body.ui2[data-page="questionnaire.php"] main.container{max-width:760px!important}
body[data-page="questionnaire.php"] #app .progress{height:10px;margin-bottom:8px}
body[data-page="questionnaire.php"] #app .card-body{padding:20px}
body[data-page="questionnaire.php"] #app label.fs-4{font-family:var(--ui-head);font-size:clamp(1.3rem,4vw,1.6rem)!important;line-height:1.25}
body[data-page="questionnaire.php"] #app .btn.text-start{display:flex;align-items:center;justify-content:flex-start;min-height:60px;padding:0 16px 0 52px;border:2px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);font-size:16px;font-weight:600;position:relative;text-align:left;white-space:normal}
body[data-page="questionnaire.php"] #app .btn.text-start::before{content:"";position:absolute;left:16px;width:22px;height:22px;border-radius:50%;border:2px solid var(--ink2);background:var(--surface)}
body[data-page="questionnaire.php"] #app .btn.text-start.active{border-color:var(--btn);background:var(--brand-soft);color:var(--brand-ink)}
body[data-page="questionnaire.php"] #app .btn.text-start.active::before{border-color:var(--btn);background:radial-gradient(circle,#fff 0 3px,var(--btn) 3.5px)}
body[data-page="questionnaire.php"] #app .bg-primary-subtle{background:var(--brand-soft)!important;color:var(--ink)}
body[data-page="questionnaire.php"] #app #next,body[data-page="questionnaire.php"] #app #prev{min-height:52px;padding:0 24px}
/* documents à vérifier / contrat */
body[data-page="valider.php"] main section.card,body[data-page="signer.php"] main section.card{border-radius:18px}
body[data-page="valider.php"] main .border.rounded-3{border-color:var(--line)!important;border-radius:16px!important}
body[data-page="signer.php"] .form-check{display:flex;gap:12px;align-items:flex-start;padding:14px 14px 14px 44px;border-radius:16px;background:var(--amber-soft);margin:0}
body[data-page="signer.php"] .form-check .form-check-input{margin-top:.2rem;width:1.4em;height:1.4em}
body[data-page="signer.php"] .form-check-label{color:var(--ink);font-size:.95rem}
body[data-page="signer.php"] form .btn-primary{min-height:52px;font-size:16px}
.ui2 .chip{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:99px;font-size:12.5px;font-weight:700;background:var(--surface2);color:var(--ink2);border:1px solid var(--line)}
.ui2 .chip.ok{background:var(--teal-soft);color:var(--teal);border-color:transparent}
.ui2 .chip.warn{background:var(--amber-soft);color:var(--amber);border-color:transparent}
.ui2 .chip.bad{background:var(--danger-soft);color:var(--danger);border-color:transparent}

/* ---- administration de la plateforme et soutien ---- */
body[data-page^="plateforme"] main .card h2,body[data-page^="support"] main .card h2{font-size:1.2rem}
.ui2 .badge.text-bg-success{background:var(--teal-soft)!important;color:var(--teal)!important}
.ui2 .badge.text-bg-warning{background:var(--amber-soft)!important;color:var(--amber)!important}
.ui2 .badge.text-bg-danger{background:var(--danger-soft)!important;color:var(--danger)!important}
.ui2 .badge.text-bg-secondary{background:var(--surface2)!important;color:var(--ink2)!important;border:1px solid var(--line)}
.ui2 .badge.text-bg-info{background:var(--brand-soft)!important;color:var(--brand-ink)!important}
.ui2 .badge.text-bg-light{background:var(--surface2)!important;color:var(--ink)!important;border:1px solid var(--line)}
.ui2 .badge.text-bg-dark{background:var(--ink)!important;color:var(--surface)!important}
.ui2 .badge.text-bg-dark{padding:.5em .9em}
.ui2 .badge.text-bg-primary.chat-badge,.ui2 .badge.text-bg-danger.chat-badge{background:var(--sc)!important;color:#fff!important}

/* =====================================================================
   Mode sombre (préférence du système) — mêmes variables que la maquette « .dark », en bleu (jamais de violet)
   ===================================================================== */
@media (prefers-color-scheme:dark){
:root{color-scheme:dark;
--bg:#0F1318;--surface:#171C23;--surface2:#1E2530;--ink:#EEF1F6;--ink2:#A9B3C2;--line:#2E3745;
--btn:#2F6BC0;--acc:#2F6BC0;--lnk:#8DBBF5;--brand-ink:#B5D3F8;--brand-soft:#1A2D49;
--teal:#7CE0CD;--teal-soft:#12352E;--coral:#FFAF92;--coral-soft:#402219;--amber:#F6CF72;--amber-soft:#3C2F10;
--pink:#FFA3D0;--pink-soft:#42182F;--danger:#FFA59C;--danger-soft:#451C18;
--ui-shadow:0 1px 2px rgba(0,0,0,.45),0 8px 24px rgba(0,0,0,.25);
--sl-900:#EEF1F6;--sl-700:#D3D9E3;--sl-600:#C0C8D5;--sl-500:#A9B3C2;--sl-300:#2E3745;--sl-200:#262E3A;--sl-100:#1E2530;--sl-50:#171C23;--ap-bg:#0F1318;--blue:#B5D3F8;--blue-soft:#1A2D49;--mint:#7CE0CD;--mint-soft:#12352E;
--bs-body-bg:#0F1318;--bs-body-color:#EEF1F6;--bs-emphasis-color:#fff;--bs-heading-color:#EEF1F6;--bs-secondary-color:#A9B3C2;--bs-secondary-bg:#1E2530;--bs-tertiary-color:#A9B3C2;--bs-tertiary-bg:#1E2530;--bs-border-color:#2E3745;--bs-border-color-translucent:rgba(255,255,255,.12);
--bs-link-color:#8DBBF5;--bs-link-hover-color:#B5D3F8;--bs-link-color-rgb:141,187,245;--bs-link-hover-color-rgb:181,211,248;
--bs-primary-bg-subtle:#1A2D49;--bs-primary-text-emphasis:#B5D3F8;--bs-primary-border-subtle:#274a78;
--bs-success-bg-subtle:#12352E;--bs-success-text-emphasis:#7CE0CD;--bs-success-border-subtle:#1d5846;
--bs-warning-bg-subtle:#3C2F10;--bs-warning-text-emphasis:#F6CF72;--bs-warning-border-subtle:#5c4a18;
--bs-danger-bg-subtle:#451C18;--bs-danger-text-emphasis:#FFA59C;--bs-danger-border-subtle:#6a2a24;
--bs-info-bg-subtle:#1A2D49;--bs-info-text-emphasis:#B5D3F8;--bs-info-border-subtle:#274a78;
--bs-light-bg-subtle:#1E2530;--bs-dark-bg-subtle:#2E3745;--bs-code-color:#F3A6C9;--bs-highlight-bg:#3C2F10;
--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23A9B3C2' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}
body.ui2,body.ui2:has(.ap){background:var(--bg)!important;color:var(--ink)}
.ui2 .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23A9B3C2' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}
.ui2 .form-control::placeholder,.ui2 textarea::placeholder{color:#8591A3;opacity:1}
.ui2 .form-control:disabled,.ui2 .form-select:disabled,.ui2 .form-control[readonly]{background-color:var(--surface2);color:var(--ink2)}
.ui2 .form-control:focus,.ui2 .form-select:focus{box-shadow:0 0 0 .22rem rgba(141,187,245,.28);border-color:#8DBBF5}
.ui2 :focus-visible{outline-color:#8DBBF5}
.ui2 .form-check-input{background-color:var(--surface2);border-color:#5b6778}
.ui2 .form-check-input:checked{background-color:var(--btn);border-color:var(--btn)}
.ui2 .btn-close{filter:invert(1) grayscale(100%) brightness(200%)}
.ui2 .btn-primary{--bs-btn-bg:#2F6BC0;--bs-btn-border-color:#2F6BC0;--bs-btn-hover-bg:#3C7AD3;--bs-btn-hover-border-color:#3C7AD3;--bs-btn-active-bg:#3C7AD3;--bs-btn-active-border-color:#3C7AD3;--bs-btn-disabled-bg:#2F6BC0;--bs-btn-disabled-border-color:#2F6BC0}
.ui2 .btn-outline-primary{--bs-btn-color:#8DBBF5;--bs-btn-border-color:var(--line);--bs-btn-hover-bg:var(--brand-soft);--bs-btn-hover-color:#B5D3F8;--bs-btn-active-bg:var(--brand-soft);--bs-btn-active-color:#B5D3F8}
.ui2 .btn-outline-secondary{--bs-btn-color:var(--ink);--bs-btn-hover-bg:var(--surface2);--bs-btn-hover-color:var(--ink);--bs-btn-active-bg:var(--surface2);--bs-btn-active-color:var(--ink)}
.ui2 .btn-outline-danger{--bs-btn-color:#FFA59C;--bs-btn-border-color:#8a3a33;--bs-btn-hover-bg:#8a2a22;--bs-btn-hover-color:#fff}
.ui2 .btn-outline-warning{--bs-btn-color:#F6CF72;--bs-btn-border-color:#7a6320;--bs-btn-hover-bg:#7a6320;--bs-btn-hover-color:#fff}
.ui2 .btn-link{--bs-btn-color:#8DBBF5;--bs-btn-hover-color:#B5D3F8}
.ui2 .btn-danger{--bs-btn-bg:#B42318;--bs-btn-border-color:#B42318}
.ui2 .text-primary,.ui2 .text-primary-emphasis{color:#8DBBF5!important}
.ui2 .text-danger{color:var(--danger)!important}.ui2 .text-success{color:var(--teal)!important}.ui2 .text-warning{color:var(--amber)!important}
.ui2 .seg a.on{background:var(--ink);color:var(--bg)!important}
.ui2 .progress-bar{background:#5C9AE6}
.ui2 .alert-info{background:var(--brand-soft);color:var(--brand-ink)}
.ui2 .table{--bs-table-color:var(--ink);--bs-table-striped-bg:rgba(255,255,255,.03);--bs-table-hover-bg:var(--brand-soft);--bs-table-hover-color:var(--ink);--bs-table-border-color:var(--line)}
.ui2 .table-active,.ui2 .table-active>*{--bs-table-bg:var(--brand-soft);--bs-table-bg-state:var(--brand-soft);--bs-table-color:var(--ink);background:var(--brand-soft)!important;color:var(--ink)!important}
.ui2 .table-hover>tbody>tr:hover>*{background:var(--brand-soft);color:var(--ink)}
.ui2 .modal-content{background:var(--surface);color:var(--ink);box-shadow:0 20px 50px rgba(0,0,0,.6)}
.ui2 .dropdown-menu{background:var(--surface);box-shadow:0 12px 32px rgba(0,0,0,.5)}
.ui2 .list-group-item{background:transparent;color:var(--ink);border-color:var(--line)}
.ui2 .navbar-toggler{background:var(--surface2)}
.ui2 .navbar-toggler-icon{filter:invert(1)}
.ui2 .kpi{box-shadow:none}
.ui2 .kpi.warn b,.ui2 .kpi.warn span,.ui2 .kpi:nth-child(5) b,.ui2 .kpi:nth-child(5) span{color:#FFFFFF!important}
.ui2 hr{border-color:var(--line)}
.ui2 code,.ui2 kbd{color:#F3A6C9}
.ui2 pre{background:var(--surface2);color:var(--ink)}
.ui2 .border,.ui2 .border-top,.ui2 .border-bottom{border-color:var(--line)!important}
.ui2 .bg-white,.ui2 .bg-body{background:var(--surface)!important;color:var(--ink)}
.ui2 .text-body-secondary,.ui2 .text-muted,.ui2 small.text-body-secondary{color:var(--ink2)!important}
.ui2 .text-dark{color:var(--ink)!important}
.ui2 .shadow-sm,.ui2 .shadow{box-shadow:none!important}
.ui2 input[type="date"],.ui2 input[type="time"],.ui2 input[type="file"]{color-scheme:dark}
.ui2 .form-control::file-selector-button{background:var(--surface2);color:var(--ink);border-color:var(--line)}
/* logos : une pastille claire garde le logo (texte sombre) lisible sur fond sombre */
.ui2 .navbar-portal .navbar-brand img,.ui2 footer.site-foot img,.ui2 .ap-flogo img{background:#F6F4F0;border-radius:10px;padding:4px 8px;box-sizing:content-box}
.ui2 .cl-brand img{background:#F6F4F0;padding:3px}
.ui2 .brand-logo,.ui2 .lg-brand img{background:#F6F4F0;border-radius:10px;padding:4px 8px}
.ui2 img.qr,.ui2 img[src*="qr"]{background:#fff;padding:6px;border-radius:8px}
/* composants ui3 */
.ui2 .dui-error{background:var(--coral-soft)}
.ui2 a.cl-solde-b{background:#fff;color:#1C1A24}
.ui2 .cl-solde{background:#9A1F5E}.ui2 .cl-solde.ok{background:#0B7A6C}
.dui-month span{background:var(--ink);color:var(--bg)}
body[data-page="statistiques.php"] .row.g-3.mb-3>[class*="col"]>.card{background:#1d4f91}
body[data-page="statistiques.php"] .row.g-3.mb-3>[class*="col"]:nth-child(2)>.card{background:#0B7A6C}
body[data-page="statistiques.php"] .row.g-3.mb-3>[class*="col"]:nth-child(3)>.card{background:#2F3A45}
body[data-page="statistiques.php"] .row.g-3.mb-3>[class*="col"]:nth-child(4)>.card{background:#0E6A7C}
body[data-page="statistiques.php"] .row.g-3.mb-3>[class*="col"]:nth-child(5)>.card{background:#4B5663}
body[data-page="questionnaire.php"] #app .btn.text-start.active::before{background:radial-gradient(circle,#fff 0 3px,var(--btn) 3.5px)}
}

/* ---- administration : indicateurs colorés (maquette AdminStats) ---- */
.dui-solids{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px}
.dui-solid{border-radius:18px;padding:16px 20px;color:#fff;box-shadow:var(--ui-shadow);min-width:0}
.dui-solid small{display:block;font-size:12px;font-weight:700;letter-spacing:.02em}
.dui-solid b{display:block;font:800 clamp(1.7rem,3vw,2.1rem)/1.15 var(--ui-head)}
.dui-solid span{display:block;font-size:12.5px}
.dui-solid a{color:inherit!important;font-weight:700;text-decoration:underline}
.dui-solid.s-v{background:#1d4f91}.dui-solid.s-t{background:#0B7A6C}.dui-solid.s-p{background:#0E6A7C}.dui-solid.s-c{background:#2F3A45}
.dui-solid.s-a{background:#4B5663;color:#FFFFFF}
@media (max-width:991.98px){.dui-solids{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media (prefers-color-scheme:dark){
.ui2 .btn-outline-secondary,.ui2 .btn-secondary,.ui2 .btn-light{color:var(--ink)}
.ui2 .btn-secondary,.ui2 .btn-light{--bs-btn-bg:var(--surface2);--bs-btn-border-color:var(--line);--bs-btn-hover-bg:var(--line);--bs-btn-hover-color:var(--ink);background:var(--surface2);border-color:var(--line)}
.ui2 .table-primary,.ui2 .table-info{--bs-table-bg:var(--brand-soft);--bs-table-color:var(--ink);--bs-table-border-color:var(--line)}
.ui2 .table-success{--bs-table-bg:var(--teal-soft);--bs-table-color:var(--ink)}
.ui2 .table-warning{--bs-table-bg:var(--amber-soft);--bs-table-color:var(--ink)}
.ui2 .table-danger{--bs-table-bg:var(--danger-soft);--bs-table-color:var(--ink)}
.ui2 .table-light,.ui2 .table-secondary{--bs-table-bg:var(--surface2);--bs-table-color:var(--ink)}
.ui2 .st-chip{background:var(--surface2);color:var(--ink);border-color:var(--line)}
.ui2 .plan-pop{background:var(--amber-soft)}
}

/* grilles Bootstrap : un tableau large défile dans son bloc au lieu d'élargir la page (mobile) */
.ui2 .d-grid>*{min-width:0}

/* ui3 dark-legacy : fonds clairs codés en dur dans les anciens CSS */
@media (prefers-color-scheme:dark){
body.ui2 .tick{background:var(--surface)!important}
body.ui2 .hero{background:var(--surface)!important}
body.ui2 .shp{background:var(--surface)!important;border-color:var(--line)!important}
body.ui2 .shp.e{background:var(--surface)!important}
body.ui2 .shp.m{background:var(--surface2)!important}
body.ui2 .pf-thumb{background:var(--surface)!important}
body.ui2 .flx-where{background:var(--surface2)!important;color:var(--ink)!important}
body.ui2 .flx-nav a{background:var(--surface2)!important;color:var(--ink)!important}
body:has(.ap){background:var(--surface2)!important}
body.ui2 .ap .card{background:var(--surface)!important}
body.ui2 .ap .form-control,body.ui2 .ap .form-select,body.ui2 .ap textarea{background:var(--surface)!important;border-color:var(--line)!important}
body.ui2 .ap-empty{background:var(--surface)!important}
body.ui2 .ap-card{background:var(--surface)!important}
body.ui2 .ap-pill{background:var(--surface2)!important;color:var(--ink)!important}
body.ui2 .ap-pill.ap-on{background:var(--surface2)!important;color:var(--ink)!important}
body.ui2 .ap-section{background:var(--surface)!important}
body.ui2 .ap-choice{background:var(--surface)!important;border-color:var(--line)!important}
body.ui2 .ap-details{background:var(--surface2)!important}
body.ui2 .ap-kpi{background:var(--surface)!important}
body.ui2 .ap-seg{background:var(--surface2)!important}
body.ui2 .ap-tab.active{background:var(--surface)!important}
body.ui2 .ap-use{background:var(--surface2)!important}
body.ui2 .ap-menu > summary:hover,body.ui2 .ap-menu[open] > summary{background:var(--surface2)!important}
body.ui2 .ap-menu-list{background:var(--surface)!important}
body.ui2 .ap-menu-list a:hover,body.ui2 .ap-menu-list button:hover,body.ui2 .ap-menu-list a:focus-visible,body.ui2 .ap-menu-list button:focus-visible{background:var(--surface2)!important}
body{background:var(--surface2)!important;color:var(--ink)!important}
body.ui2 .card{background:var(--surface)!important}
body.ui2 .form-control,body.ui2 .form-select{background:var(--surface)!important}
body.ui2 .form-control:focus,body.ui2 .form-select:focus{background:var(--surface)!important}
body.ui2 .card,body.ui2 .ap .card{background:var(--surface)!important}
body.ui2 .kpi{background:var(--surface)!important}
body.ui2 .seg a.on{background:var(--surface)!important}
body.ui2 .nd-opt:has(input:checked){background:var(--surface)!important}
body{background:var(--surface)!important}
body.ui2 .kcard{background:var(--surface)!important;border-color:var(--line)!important}
body.ui2 .ktag-prog{background:var(--surface2)!important;color:var(--ink)!important}
body.ui2 .ktag-date{background:var(--surface2)!important;color:var(--ink)!important}
body.ui2 .ktag-late{background:var(--surface2)!important;color:var(--ink)!important}
body.ui2 .ktag-q{background:var(--surface2)!important;color:var(--ink)!important}
body.ui2 .kprog{background:var(--surface2)!important}
body.ui2 .kcard .form-select-sm{background:var(--surface2)!important}
body.ui2 .form-control,body.ui2 .form-select,body.ui2 textarea.form-control{background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line)!important}
body.ui2 .form-control:disabled,body.ui2 .form-select:disabled{background:var(--surface2)!important;color:var(--ink2)!important}
body.ui2 .input-group-text{background:var(--surface2)!important;color:var(--ink2)!important;border-color:var(--line)!important}
body.ui2 .chat-plus{background:var(--surface)!important}
body.ui2 .chat-pane{background:var(--surface)!important}
body.ui2 .chat-day span{background:var(--surface)!important}
body.ui2 .chat-msg.is-ment{background:var(--surface2)!important}
body.ui2 .chat-note.is-err{background:var(--surface2)!important;color:var(--ink)!important}
body.ui2 .chat-compose textarea:focus{background:var(--surface)!important}
body.ui2 .chat-mlist{background:var(--surface)!important}
body.ui2 .share-bar{background:var(--surface)!important}
body.ui2 .share-hand{background:var(--surface)!important}
body.ui2 .share-grant{background:var(--surface)!important}
body.ui2 .tb-dos{background:var(--surface)!important;border-color:var(--line)!important}
body.ui2 .tb-tog{background:var(--surface2)!important;color:var(--ink)!important}
body.ui2 .tb-alldone{background:var(--surface2)!important}
body.ui2 .tb-col{background:var(--surface2)!important;border-color:var(--line)!important}
body.ui2 .tb-col[data-state="doing"]{background:var(--surface2)!important}
body.ui2 .tb-col[data-state="done"]{background:var(--surface2)!important}
body.ui2 .tcard{background:var(--surface)!important;border-color:var(--line)!important}
body.ui2 .tc-dots:hover,body.ui2 .tc-dots[aria-expanded="true"]{background:var(--surface2)!important}
body.ui2 .tc-pop button:hover,body.ui2 .tc-pop button:focus-visible{background:var(--surface2)!important}
body.ui2 .tc-sub,body.ui2 .tc-state{background:var(--surface)!important;border-color:var(--line)!important}
body.ui2 .capbar{background:var(--surface2)!important}
body.ui2 .bl-pill{background:var(--surface2)!important;color:var(--ink)!important}
body.ui2 .bl-pill:hover{background:var(--surface2)!important}
body.ui2 .bl-pill.on{background:var(--surface)!important;color:var(--ink)!important}
body.ui2 .tc-asg{background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line)!important}
body.ui2 .tc-step{background:var(--surface2)!important;color:var(--ink)!important}
body.ui2 .tb-prog-bar{background:var(--surface2)!important}
body.ui2 .etp-here{background:var(--surface2)!important}
body.ui2 .filt-bar .btn-outline-primary{background:var(--surface2)!important}
body.ui2 .navbar-portal .nav-link:hover,body.ui2 .navbar-portal .nav-link:focus{background:var(--surface2)!important;color:var(--ink)!important}
body.ui2 .navbar-portal .nav-link.active,body.ui2 .navbar-portal .nav-link.show{background:var(--surface2)!important;color:var(--ink)!important}
body.ui2 .fm-dots:hover,body.ui2 .fm-menu[open] > .fm-dots{background:var(--surface2)!important;color:var(--ink)!important}
body.ui2 .fm-pop{background:var(--surface)!important;border-color:var(--line)!important}
body.ui2 .fm-pop a:hover,body.ui2 .fm-pop button:hover{background:var(--surface2)!important}
body.ui2 .wz-prog li > a,body.ui2 .wz-prog li:not(:has(a)){background:var(--surface2)!important;color:var(--ink2)!important}
body.ui2 .wz-prog .is-done > a,body.ui2 .wz-prog .is-done:not(:has(a)){background:var(--surface2)!important;color:var(--ink)!important}
body.ui2 .wz-prog .is-cur span{background:var(--surface)!important}
body.ui2 .wz-bar{background:var(--surface2)!important}
body.ui2 .wz-goal{background:var(--surface)!important;border-color:var(--line)!important}
body.ui2 .wz-goal:has(input:checked){background:var(--surface)!important}
body.ui2 .wz-seg{background:var(--surface)!important;border-color:var(--line)!important}
body.ui2 .wz-frame{background:var(--surface2)!important}
body.ui2 .wz-frame iframe{background:var(--surface)!important}
body.ui2 .wz-tile{background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line)!important}
body.ui2 .wz-tile.is-cur{background:var(--surface)!important}
body.ui2 .wz-thumb{background:var(--surface2)!important}
body.ui2 .wz-pgb{background:var(--surface2)!important;color:var(--ink)!important}
body.ui2 .wz-pgb.on span{background:var(--surface)!important}
body.ui2 .wz-pay.ok{background:var(--surface2)!important;color:var(--ink)!important}
body.ui2 .wz-pay.warn{background:var(--surface2)!important;color:var(--ink)!important}
body.ui2 .wz-checks .ok{background:var(--surface2)!important;color:var(--ink)!important}
body.ui2 .wz-checks .warn{background:var(--surface2)!important;color:var(--ink)!important}
body.ui2 .wz-checks .bad{background:var(--surface2)!important;color:var(--ink)!important}
body.ui2 .wz-help{background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line)!important}
body.ui2 .wz-draftbar{background:var(--surface)!important}
body.ui2 .wz-draftbar li a{background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line)!important}
body.ui2 .wz-draftbar li.ok a{background:var(--surface2)!important;color:var(--ink)!important}
body.ui2 .sh-ok{background:var(--surface2)!important;color:var(--ink)!important}
body.ui2 .sh-warn{background:var(--surface2)!important;color:var(--ink)!important}
body.ui2 .sh-err{background:var(--surface2)!important;color:var(--ink)!important}
body.ui2 .sh-info{background:var(--surface2)!important;color:var(--ink)!important}
body.ui2 .sh-form input{background:var(--surface)!important}
body.ui2 .sh-classique .sh-card{background:var(--surface)!important}
body.ui2 .sh-classique .sh-steps li{background:var(--surface)!important}
body.ui2 .sh-classique .sh-foot{background:var(--surface2)!important}
body.ui2 .sh-moderne .sh-card{background:var(--surface)!important}
body.ui2 .sh-moderne .sh-form input{background:var(--surface)!important}
body.ui2 .sh-moderne .sh-steps li{background:var(--surface)!important}
body.ui2 .soc-btn{background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line)!important}
body.ui2 .soc-btn:hover{background:var(--surface)!important;color:var(--ink)!important}
body.ui2 .btn-outline-primary{background:var(--surface2)!important}
body.ui2 .navbar-portal{background:var(--surface)!important}
body.ui2 .foot-brand img{background:var(--surface)!important}
body.ui2 .site-foot .foot-brand img[src="logo.php"]{background:var(--surface)!important}
body.ui2 .sigpad{background:var(--surface)!important}
body.ui2 .sigpage{background:var(--surface)!important}
body.ui2 .kcard{background:var(--surface)!important}
body.ui2 footer.site-foot{background:var(--surface2)!important;color:var(--ink2)!important;border-color:var(--line)!important}
body.ui2 .pt-c-violet{background:var(--surface2)!important;color:var(--ink)!important}
body.ui2 .pt-c-teal{background:var(--surface2)!important}
body.ui2 .pt-c-blue{background:var(--surface2)!important}
body.ui2 .pt-c-green{background:var(--surface2)!important}
body.ui2 .pt-c-orange{background:var(--surface2)!important}
body.ui2 .pt-c-pink{background:var(--surface2)!important}
body.ui2 .pt-c-red{background:var(--surface2)!important}
body.ui2 .rp-steps li > span{background:var(--surface2)!important}
body.ui2 .rp-doc{background:var(--surface)!important;border-color:var(--line)!important}
body.ui2 .rp-tpl-thumb{background:var(--surface)!important;border-color:var(--line)!important}
}

/* ui3 dark : boutons contour bleus lisibles */
@media (prefers-color-scheme:dark){
body.ui2 .btn-outline-primary{color:var(--lnk)!important;border-color:var(--lnk)!important;background:transparent!important}
body.ui2 .btn-outline-primary:hover{background:var(--brand-soft)!important}
}

/* ===== Admin & support (agent admin) ===== */
/* Champ en lecture seule + bouton « Copier » (webhooks, URI OAuth) : un seul bloc, jamais tronqué sur mobile */
.ui2 .input-group.dui-copy{flex-wrap:nowrap;align-items:stretch}
.ui2 .dui-copy>.form-control{min-width:0;font-size:.82rem;border-radius:12px 0 0 12px!important;text-overflow:ellipsis}
.ui2 .dui-copy>.btn{flex:none;margin:0!important;white-space:nowrap;border:1.5px solid var(--line)!important;border-left:0!important;border-radius:0 12px 12px 0!important;background:var(--surface2)!important;color:var(--lnk,var(--brand-ink))!important;font-weight:700}
.ui2 .dui-copy>.btn:hover{background:var(--brand-soft)!important}
/* Forfaits : champs texte lisibles (noms) dans les tableaux défilants */
.ui2 .table-responsive td>input.form-control-sm:not([inputmode]){min-width:9.5rem}
.ui2 .table-responsive td>input.form-control-sm[inputmode]{min-width:4.5rem}
.ui2 .table-responsive th{white-space:nowrap}
/* États vides dans un tableau défilant : le message reste dans la zone visible (pas coupé à 390 px) */
@media (max-width:767.98px){
.ui2 .table-responsive td>.dui-empty{position:sticky;left:0;width:calc(100vw - 96px);max-width:100%;box-sizing:border-box}
}
/* Pastilles de période, filtres et en-têtes : retour à la ligne propre */
.ui2 #trafic .btn-sm{white-space:nowrap}
.ui2 .dui-solid span{overflow-wrap:anywhere}
.ui2 .dui-solids+.row .card .dui-chip{flex:none}
/* Accessibilité : anneau de focus net sur les champs et boutons des pages d'administration */
.ui2 .card :is(input,select,textarea,.btn,summary,a):focus-visible{outline:3px solid var(--btn);outline-offset:2px;box-shadow:none}
@media (prefers-color-scheme:dark){
:root:not([data-theme="light"]) .ui2 .card :is(input,select,textarea,.btn,summary,a):focus-visible{outline-color:var(--lnk,#9CC4F5)}
}
@media (max-width:575.98px){.ui2 .dui-solid b{font-size:clamp(1.25rem,6vw,1.7rem)}.ui2 .dui-solid{padding:14px 16px}}
/* Messages client (espace.php) : bulles — le client à droite en bleu, le cabinet à gauche en carte douce */
.dui-thread{display:flex;flex-direction:column;gap:10px;margin-top:4px}
.dui-bub{display:flex;flex-direction:column;gap:3px;max-width:min(85%,560px)}
.dui-bub.me{align-self:flex-end;align-items:flex-end}.dui-bub.them{align-self:flex-start;align-items:flex-start}
.dui-bub-b{padding:10px 14px;border-radius:18px;line-height:1.45;overflow-wrap:anywhere;font-size:.95rem}
.dui-bub.me .dui-bub-b{background:var(--btn);color:#fff;border-bottom-right-radius:6px}
.dui-bub.them .dui-bub-b{background:var(--brand-soft);color:var(--brand-ink);border-bottom-left-radius:6px}
.dui-bub-m{font-size:12px;color:var(--ink2);padding:0 6px}
@media (prefers-color-scheme:dark){
:root:not([data-theme="light"]) .dui-bub.me .dui-bub-b{background:#2B64B4;color:#fff}
:root:not([data-theme="light"]) .dui-bub.them .dui-bub-b{background:var(--surface2);color:var(--ink);border:1px solid var(--line)}
}
@media (max-width:575.98px){.dui-bub{max-width:92%}}

/* ---- pied de page graphite (ftr) ---- */
body.ui2 footer.site-foot.ftr{background:#2F3A45!important;color:#CBD3DB!important;border:0!important;padding:56px 0 28px;margin-top:3rem;font-family:var(--ui-font)}
.ftr .container{max-width:1240px}
.ftr-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:56px}
.ftr h3{margin:0 0 14px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#CBD3DB!important;font-weight:600}
.ftr-brand{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.ftr-logo{flex:none;width:44px;height:44px;border-radius:12px;background:#F6F4F0;display:flex;align-items:center;justify-content:center;overflow:hidden}
body.ui2 .ftr .ftr-logo img{background:none!important;padding:0!important;border-radius:0;height:28px;width:auto;max-width:34px;object-fit:contain;margin:0;display:block;box-sizing:border-box}
.ftr-name{font-size:18px;font-weight:700;color:#fff;line-height:1.2}
.ftr-tag{font-size:14px;color:#CBD3DB}
.ftr-rep{font-size:14px;line-height:1.5;margin-bottom:16px;color:#CBD3DB}
.ftr-chips{display:flex;flex-wrap:wrap;gap:8px}
.ftr-chip{background:#3B4854;color:#BFE9E2;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600}
.ftr-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.ftr-list li{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5;color:#CBD3DB;margin:0}
.ftr-list svg{flex:none;margin-top:2px;color:#7CCFC2}
body.ui2 .ftr a{color:#9ADBD1!important;text-decoration:none}
body.ui2 .ftr a:hover{text-decoration:underline}
.ftr :focus-visible{outline:2px solid #9ADBD1;outline-offset:2px}
.ftr-bottom{margin-top:36px;padding-top:20px;border-top:1px solid #46525E;display:flex;align-items:center;justify-content:space-between;gap:24px}
.ftr-legal{margin:0;max-width:760px;font-size:12.5px;line-height:1.55;color:#CBD3DB}
.ftr-copy{font-size:12.5px;color:#CBD3DB;white-space:nowrap}.ftr-copy b{color:#fff;font-weight:600}
@media (max-width:900px){.ftr-grid{grid-template-columns:1fr;gap:28px}.ftr-bottom{flex-direction:column;align-items:flex-start;gap:10px}.ftr-copy{white-space:normal}body.ui2 footer.site-foot.ftr{padding:32px 0 24px}}
/* version produit (page publique) : mêmes couleurs */
.ftr-prod .ap-note,.ftr-prod .ap-cols li,.ftr-prod .ap-bottom{color:#CBD3DB!important;border-color:#46525E!important}
.ftr-prod .ap-cols,.ftr-prod .ap-bottom nav a{border-color:#46525E!important}
.ftr-prod .ap-cols h3{color:#CBD3DB!important}
body.ui2 .ftr-prod .ap-flogo img{background:#F6F4F0}
body.ui2 .ftr .ftr-legal,body.ui2 .ftr .ftr-rep,body.ui2 .ftr .ftr-tag{color:#CBD3DB!important;font-size:inherit}
body.ui2 .ftr .ftr-legal{font-size:12.5px}
body.ui2 .ftr .ftr-tag{font-size:14px}
body.ui2 footer.site-foot.ftr .ftr-rep{font-size:14px!important;line-height:1.5}
body.ui2 footer.site-foot.ftr h3{text-transform:uppercase!important;letter-spacing:.08em!important;font-size:12px!important;font-weight:600!important;margin:0 0 14px!important}
body.ui2 footer.site-foot.ftr .ftr-list li{font-size:14px!important;line-height:1.5!important}

/* === Contraste WCAG AA (mode clair et sombre) — ajouté 2026-11 ; sauvegarde : dossilia-ui.css.avant-contraste ===
   Texte 4,5:1 ; gros texte et bordures de composants 3:1 ; états survol/focus/actif des boutons. Le bleu #1d4f91 est conservé. */
body.ui2{--mut:var(--ink2);--line2:#857F73;--ph:#6B6559;--ok-ink:#166534;--ct-bd:var(--lnk,var(--btn))}
body.ui2 ::placeholder,body.ui2 .form-control::placeholder,body.ui2 textarea::placeholder{color:var(--ph)!important;opacity:1}
body.ui2 .form-control,body.ui2 .form-select,body.ui2 textarea.form-control,body.ui2 .ap .form-control,body.ui2 .ap .form-select,body.ui2 .ap textarea,body.ui2 .filt-bar .form-control,body.ui2 .filt-bar .form-select,body.ui2 .kcard .form-select-sm,body.ui2 .tc-sub,body.ui2 .tc-state,body.ui2 .tc-asg,body.ui2 .dd-search,body.ui2 .seg,body.ui2 .ap-choice,body.ui2 .wz-goal,body.ui2 .wz-tile,body.ui2 .wz-seg{border-color:var(--line2)!important}
body.ui2 .form-control.is-invalid,body.ui2 .form-select.is-invalid{border-color:var(--danger)!important}
body.ui2 .form-control.is-valid,body.ui2 .form-select.is-valid{border-color:var(--teal)!important}
body.ui2 .form-check-input{border-color:var(--line2)}
body.ui2 .form-check-input:checked,body.ui2 .form-check-input:indeterminate{background-color:var(--btn);border-color:var(--btn)}
body.ui2 .valid-feedback{color:var(--teal)}
body.ui2 .invalid-feedback{color:var(--danger)}
body.ui2 .btn-outline-secondary,body.ui2 .filt-bar .btn-outline-secondary{--bs-btn-border-color:var(--line2);border-color:var(--line2)!important}
body.ui2 .btn-outline-primary,body.ui2 .filt-bar .btn-outline-primary{--bs-btn-border-color:var(--ct-bd);border-color:var(--ct-bd)!important}
body.ui2 .btn-outline-danger{--bs-btn-bg:var(--surface);--bs-btn-border-color:var(--danger);--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#B42318;--bs-btn-hover-border-color:#B42318;--bs-btn-active-color:#fff;--bs-btn-active-bg:#B42318;--bs-btn-active-border-color:#B42318;border-color:var(--danger)!important}
body.ui2 .ap .btn-outline-danger{background-color:var(--surface)}
body.ui2 .ap .btn-outline-danger:hover,body.ui2 .ap .btn-outline-danger:active,body.ui2 .ap .btn-outline-danger:focus-visible{background-color:var(--bs-btn-hover-bg);color:var(--bs-btn-hover-color)}
body.ui2 .btn-success{--bs-btn-color:#fff;--bs-btn-bg:#0B6E61;--bs-btn-border-color:#0B6E61;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#085549;--bs-btn-hover-border-color:#085549;--bs-btn-active-color:#fff;--bs-btn-active-bg:#06453B;--bs-btn-active-border-color:#06453B;--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0B6E61;--bs-btn-disabled-border-color:#0B6E61}
body.ui2 .btn-warning{--bs-btn-color:#fff;--bs-btn-bg:#A33D00;--bs-btn-border-color:#A33D00;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#7F2F00;--bs-btn-hover-border-color:#7F2F00;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6B2700;--bs-btn-active-border-color:#6B2700;--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#A33D00;--bs-btn-disabled-border-color:#A33D00}
body.ui2 .btn-outline-success{--bs-btn-color:#0B6E61;--bs-btn-border-color:#0B6E61;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#085549;--bs-btn-hover-border-color:#085549;--bs-btn-active-color:#fff;--bs-btn-active-bg:#06453B;--bs-btn-active-border-color:#06453B;--bs-btn-disabled-color:#0B6E61;--bs-btn-disabled-border-color:#0B6E61}
body.ui2 .btn-outline-warning{--bs-btn-color:#725000;--bs-btn-border-color:#725000;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#725000;--bs-btn-hover-border-color:#725000;--bs-btn-active-color:#fff;--bs-btn-active-bg:#5A3F00;--bs-btn-active-border-color:#5A3F00;border-color:var(--amber)!important}
body.ui2 .btn-outline-info{--bs-btn-color:var(--brand-ink);--bs-btn-border-color:var(--ct-bd);--bs-btn-hover-color:var(--brand-ink);--bs-btn-hover-bg:var(--brand-soft);--bs-btn-hover-border-color:var(--ct-bd);--bs-btn-active-color:var(--brand-ink);--bs-btn-active-bg:var(--brand-soft)}
body.ui2 .btn-outline-dark{--bs-btn-color:var(--ink);--bs-btn-border-color:var(--line2);--bs-btn-hover-color:var(--bg);--bs-btn-hover-bg:var(--ink);--bs-btn-hover-border-color:var(--ink);--bs-btn-active-color:var(--bg);--bs-btn-active-bg:var(--ink)}
body.ui2 .page-item.active .page-link,body.ui2 .list-group-item.active{background-color:var(--btn);border-color:var(--btn);color:#fff}
body.ui2 .text-secondary{color:var(--ink2)!important}
body.ui2 .text-warning{color:var(--amber)!important}
body.ui2 .text-info{color:var(--brand-ink)!important}
body.ui2 .text-danger{color:var(--danger)!important}
body.ui2 .text-success{color:var(--teal)!important}
body.ui2 .progress-bar{background-color:var(--btn);color:#fff}
body.ui2 .modal-title{color:var(--ink)}
body.ui2 code,body.ui2 .ap code,body.ui2 kbd{color:var(--brand-ink)}
body.ui2 .ap .text-body-secondary,body.ui2 .ap .ap-sub,body.ui2 .ap .ap-note,body.ui2 .ap small,body.ui2 .wz-sv,body.ui2 .soc-or,body.ui2 .soc-note,body.ui2 .ap-empty,body.ui2 .ap-empty span{color:var(--ink2)!important}
body.ui2 .tb-alldone{color:var(--ok-ink)}
body.ui2 .tc-no,body.ui2 .tb-empty,body.ui2 .tc-notes,body.ui2 .tc-dots,body.ui2 .tb-f,body.ui2 .tb-resp,body.ui2 .tc-who,body.ui2 .bl-count,body.ui2 .fm-dots,body.ui2 .tcard.is-done .tc-title,body.ui2 .chk li.done>span{color:var(--ink2)}
body.ui2 .tc-title,body.ui2 .bl-pill b,body.ui2 .kc-top a,body.ui2 legend,body.ui2 .tc-sub{color:var(--ink)}
body.ui2 .pt-go{color:var(--lnk,var(--btn))}
body.ui2 .kav{background:var(--kc,var(--btn))}
body.ui2 .fm-pop a,body.ui2 .fm-pop button{color:var(--ink)}
body.ui2 .fm-pop .fm-off{color:var(--ink2)}
body.ui2 .fm-pop a:hover,body.ui2 .fm-pop button:hover{background:var(--surface2);color:var(--ink)}
body.ui2 .wz-prog li span,body.ui2 .wz-pgb span{background:#5B6068!important;color:#fff!important}
body.ui2 .wz-prog .is-done span{background:#1D7A4A!important;color:#fff!important}
body.ui2 .wz-prog .is-cur>a,body.ui2 .wz-prog .is-cur:not(:has(a)){background:#1d4f91!important;color:#fff!important}
body.ui2 .wz-prog .is-cur span,body.ui2 .wz-pgb.on span{background:#fff!important;color:#1d4f91!important}
body.ui2 .wz-help b,body.ui2 .wz-saved{color:var(--teal)}
body.ui2 .rp-steps li{color:var(--ink2)}
body.ui2 .rp-steps li>span{background:var(--surface2)!important;color:var(--ink2);box-shadow:inset 0 0 0 1px var(--line2)}
body.ui2 .rp-steps li.is-cur{color:var(--ink)}
body.ui2 .rp-steps li.is-cur>span{background:#1d4f91!important;color:#fff;box-shadow:none}
@media (prefers-color-scheme:dark){
body.ui2{--line2:#76839A;--ph:#98A4B5;--ok-ink:var(--teal);--ok:var(--teal);--bs-secondary-bg-subtle:#262E3A;--bs-secondary-text-emphasis:#C0C8D5;--bs-secondary-border-subtle:#3A4658;--bs-light-text-emphasis:#EEF1F6;--bs-dark-text-emphasis:#EEF1F6;--bs-light-border-subtle:#3A4658;--bs-dark-border-subtle:#46546A}
body.ui2 .seg a.on{background:var(--ink)!important;color:var(--bg)!important}
body.ui2 .tb-head .kn{background:var(--surface2);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line2)}
body.ui2 .navbar-portal .dd-new,body.ui2 .dd-new{color:#06201B!important}
body.ui2 .fr-resume{--fr-blue:#2F6BC0}
body.ui2 .fr-s.now .fr-ss{color:var(--lnk)}
body.ui2 .tick{color:var(--teal)}
body.ui2 .btn-primary{--bs-btn-bg:#2F6BC0;--bs-btn-border-color:#2F6BC0;--bs-btn-hover-bg:#2459A6;--bs-btn-hover-border-color:#2459A6;--bs-btn-active-bg:#1D4F91;--bs-btn-active-border-color:#1D4F91}
body.ui2 .btn-success{--bs-btn-color:#06201B;--bs-btn-bg:#7CE0CD;--bs-btn-border-color:#7CE0CD;--bs-btn-hover-color:#06201B;--bs-btn-hover-bg:#5CC9B5;--bs-btn-hover-border-color:#5CC9B5;--bs-btn-active-color:#06201B;--bs-btn-active-bg:#4DB8A4;--bs-btn-active-border-color:#4DB8A4;--bs-btn-disabled-color:#06201B;--bs-btn-disabled-bg:#7CE0CD;--bs-btn-disabled-border-color:#7CE0CD}
body.ui2 .btn-outline-success{--bs-btn-color:#7CE0CD;--bs-btn-border-color:#7CE0CD;--bs-btn-hover-color:#06201B;--bs-btn-hover-bg:#7CE0CD;--bs-btn-hover-border-color:#7CE0CD;--bs-btn-active-color:#06201B;--bs-btn-active-bg:#5CC9B5;--bs-btn-disabled-color:#7CE0CD}
body.ui2 .btn-outline-warning{--bs-btn-color:#F6CF72;--bs-btn-border-color:#F6CF72;border-color:#F6CF72!important}
body.ui2 .btn-outline-danger{--bs-btn-hover-bg:#8a2a22;--bs-btn-hover-border-color:#8a2a22;--bs-btn-active-bg:#8a2a22;--bs-btn-active-border-color:#8a2a22}
body.ui2 .nav-pills .nav-link:not(.active),body.ui2 .nav-tabs .nav-link:not(.active),body.ui2 .page-link{color:var(--lnk)}
body.ui2 .btn-close{filter:invert(1) grayscale(100%) brightness(200%)}
}

/* Contraste WCAG AA — compléments (bouton Copier, guide support) */
body.ui2 .dui-copy>.btn{border-color:var(--line2)!important}
body.ui2 .flx-who,body.ui2 .flx-sys{color:var(--ink2)}
body.ui2 .flx-sys i{color:var(--brand-ink)}

/* Contraste WCAG AA — onglet Documents du client (docs-client.css n'avait pas de mode sombre) */
body.ui2 .dcl-btn.btn-outline-primary,body.ui2 .dcl-chip.todo{border-color:var(--line2)}
@media (prefers-color-scheme:dark){
body.ui2 .dcl-page{--dcl-blue:var(--lnk);--dcl-teal:var(--teal);--dcl-teal-soft:var(--teal-soft);--dcl-teal-ink:var(--teal);--dcl-graph:var(--ink);--dcl-graph-soft:var(--surface2);--dcl-red:var(--danger);--dcl-line:var(--line);--dcl-mut:var(--ink2)}
body.ui2 .dcl-tab:hover,body.ui2 .dcl-tab.on,body.ui2 .dcl-card,body.ui2 .dcl-fix,body.ui2 .dcl-chip.fix,body.ui2 .dcl-chip.todo,body.ui2 .dcl-btn.btn-outline-primary{background:var(--surface)}
body.ui2 .dcl-tab:hover{color:var(--ink)}
body.ui2 .dcl-bar{background:var(--surface2)}
body.ui2 .dcl-n,body.ui2 .dcl-btn.btn-primary{background:#2F6BC0;border-color:#2F6BC0;color:#fff}
}
