/* Charte SIGEA — bleu foncé (structure), vert foncé (actions), blanc ; police Overpass
   (structure reprise de la maquette docs/maquettes/paie-rh-v8.html) */
:root{
 /* bleu foncé : couleur dominante — structure et actions (boutons pleins, liens, bordures actives) */
 --m:#123A6B;--m2:#0B2545;--ml:#EAF1F8;--mb:#5E8FC0;--mt:#CFE0F0;
 /* bleu profond de l'en-tête et du menu */
 --k:#0B2545;--g1:#123A6B;--g2:#2F5486;--g3:#7E96B7;
 /* vert foncé : second plan de la charte — logo, validations, série verte des graphiques */
 --v:#15653F;--v2:#0E4A2D;--vl:#E9F4EE;
 /* neutres : fond blanc, texte ardoise, cadres */
 --bd:#C9D2DC;--bdt:#111111;--bg:#FFFFFF;--txt:#14202E;--sec:#4A5A6E;--mut:#7E8DA0;
 --warn:#A66A08;--dan:#A32D2D;--ok:#15653F;
 /* palette des graphiques : huit teintes distinctes, lisibles côte à côte */
 --c1:#123A6B;--c2:#15653F;--c3:#C07A17;--c4:#7A3E9D;--c5:#1F7A8C;--c6:#A33B3B;--c7:#5B8C1B;--c8:#8C5A3B}
*{box-sizing:border-box}
body{margin:0;font-family:"Overpass","Segoe UI",Arial,sans-serif;color:var(--txt);background:var(--bg);font-size:14px}
/* ---- en-tête figé ---- */
header.hd{position:sticky;top:0;z-index:50;background:var(--k);color:#fff;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.brandbar{border-bottom:1px solid #1B3A63}
.inner{width:100%;max-width:none;margin:0;padding:0 24px}
.brandbar .inner{display:flex;justify-content:space-between;align-items:center;padding-top:8px;padding-bottom:8px}
.brand{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:600}
.brand .logo{background:linear-gradient(135deg,#1E8A56 0%,#15653F 55%,#0E4A2D 100%);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.25);padding:3px 9px;border-radius:5px;font-weight:700;letter-spacing:.5px}
.brand .mod{color:#CFCFCF;font-weight:500}
.tools{display:flex;align-items:center;gap:10px;font-size:13px}
.tools select{height:28px;font:inherit;font-size:13px;border:1px solid var(--g2);color:#fff;background:var(--g1);border-radius:5px;padding:0 6px}
.avatar{width:28px;height:28px;border-radius:50%;background:var(--m);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}
nav.menu{background:var(--g1)}
nav.menu .inner{display:flex;flex-wrap:wrap;justify-content:space-between}
nav.menu .mi:first-child .mb{padding-left:0}
nav.menu .mi:last-child .mb{padding-right:0}
nav.menu .mi:last-child .dd{left:auto;right:0}
.mi{position:relative}
.mb{height:40px;padding:0 12px 0 8px;font:inherit;font-size:13px;font-weight:600;color:#E6E6E6;background:transparent;border:0;border-bottom:3px solid transparent;cursor:pointer;display:flex;align-items:center;gap:6px;white-space:nowrap}
.mb:hover{background:#1B4C87;color:#fff}
.mi.on>.mb{color:#fff;border-bottom-color:var(--mb);background:#1B4C87}
.mb .ch{font-size:13px;color:var(--mb);transition:transform .15s}
.mi.open>.mb .ch{transform:rotate(90deg);color:#fff}
.mi.open>.mb{background:var(--m);color:#fff}
.dd{display:none;position:absolute;left:0;top:100%;min-width:250px;background:#fff;border:1px solid var(--bd);border-top:3px solid var(--m);box-shadow:0 8px 20px rgba(0,0,0,.18);padding:6px 0;z-index:60}
.mi.open>.dd{display:block}
.dd.dd2{display:none;grid-template-columns:1fr 1fr;min-width:560px}
.mi.open>.dd.dd2{display:grid}
.mi .dd{max-height:80vh;overflow:auto}






.dd .grp{padding:6px 14px 4px;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--m);border-bottom:1px solid var(--bd);margin-bottom:4px}
.dd.dd2>div+div{border-left:1px solid var(--bd)}
.dd .s{display:block;padding:8px 14px;font-size:13px;color:var(--txt);text-decoration:none}
.dd .s:hover{background:var(--ml);color:var(--m)}
.dd .s.on{color:var(--m);font-weight:600;border-left:3px solid var(--m);padding-left:11px}
/* ---- contenu ---- */
main{width:100%;max-width:none;margin:0;padding:18px 24px 40px}
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--bd)}
.top h1{margin:0;font-size:18px;font-weight:600;color:var(--k)}
.tag{font-size:12px;padding:3px 10px;border-radius:8px;background:var(--ml);color:var(--m);font-weight:500;vertical-align:middle}
.meta{margin:3px 0 0;font-size:12px;color:var(--mut)}
.pbtn{height:30px;padding:0 10px;font:inherit;font-size:13px;border:1px solid var(--g2);color:var(--g1);background:#fff;border-radius:6px;cursor:pointer}
.pbtn.fill{background:var(--m);color:#fff;border-color:var(--m)}
.pbtn:hover{background:var(--bg)}.pbtn.fill:hover{background:#6E5409}
.steps{display:flex;gap:4px;margin:14px 0}
.step{flex:1;text-align:center;padding:8px 4px;font-size:12px;border-top:3px solid var(--bd);color:var(--sec);background:#fff}
.step.done{border-top-color:var(--g3);color:var(--g1)}
.step.cur{border-top-color:var(--m);font-weight:600;color:var(--m)}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:10px;margin-bottom:10px}
.kpi{background:#fff;border:1px solid var(--bd);border-left:4px solid var(--g1);border-radius:8px;padding:12px 14px}
.kpi p{margin:0}.kpi .l{font-size:12px;color:var(--sec)}.kpi .v{font-size:20px;font-weight:600;color:var(--k)}.kpi .n{font-size:11px;color:var(--mut)}
.h{display:flex;justify-content:space-between;align-items:center;margin:16px 0 6px}
.h h2{margin:0;font-size:15px;font-weight:600;color:var(--k);border-left:4px solid var(--m);padding-left:8px}
.btns{display:flex;gap:6px;flex-wrap:wrap}
table{width:100%;border-collapse:collapse;font-size:13px;background:#fff;border:1px solid var(--bdt);border-radius:8px;overflow:hidden}
th{font-weight:600;text-align:right;color:#fff;padding:9px 10px;background:var(--g1);border-bottom:2px solid var(--bdt)}
th:first-child,td:first-child{text-align:left}
td{padding:8px 10px;border-bottom:1px solid var(--bdt);text-align:right}
/* séparateurs verticaux : grille complète, comme sur les états imprimés */
th+th,td+td{border-left:1px solid var(--bdt)}
#v-modeles .pv th+th,#v-modeles .pv td+td{border-left:0}
tr.tot td{font-weight:600;background:#ECEFF3;color:var(--k);border-bottom:none;border-top:1px solid var(--bdt)}
tr.clk{cursor:pointer}tr.clk:hover td{background:var(--ml)}
.note{margin:6px 0 0;font-size:12px;color:var(--mut)}
.al{display:flex;gap:10px;padding:9px 12px;border:1px solid var(--bd);border-radius:8px;font-size:13px;align-items:flex-start;background:#fff;margin-bottom:6px}
.al i{font-size:18px;flex:none}
.st{font-size:12px;padding:3px 10px;border-radius:8px}
.st.ok{background:var(--ml);color:var(--m)}.st.wait{background:#FAEEDA;color:#633806}
/* fiche salarié */
.sec{border:1px solid var(--bd);border-radius:10px;padding:14px 16px;margin-bottom:12px;background:#fff}
.sec h2{margin:0 0 10px;font-size:15px;font-weight:600;color:var(--m);display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.sec h2 span{font-size:11px;font-weight:400;color:var(--mut)}
.g{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 14px}
.f label{display:block;font-size:12px;color:var(--sec);margin-bottom:3px}
.f input,.f select{width:100%;height:34px;font:inherit;font-size:13px;border:1px solid var(--bd);border-radius:6px;padding:0 8px;background:#fff}
.f input:focus,.f select:focus{outline:2px solid var(--mb);border-color:var(--m)}
.req::after{content:" *";color:var(--m)}
.chk{display:flex;align-items:center;gap:8px;font-size:13px;margin:8px 0}
.chk input{width:16px;height:16px;accent-color:var(--m)}
.pill{font-size:12px;padding:3px 10px;border-radius:8px;background:var(--ml);color:var(--m);display:inline-block;margin:0 6px 6px 0}
.act{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}
.pbtn{height:34px;padding:0 14px;font:inherit;font-size:13px;border:1px solid var(--m);color:var(--m);background:#fff;border-radius:6px;cursor:pointer}
.pbtn.sm{height:30px;padding:0 10px}
.pbtn.fill{background:var(--m);color:#fff}
.legend{font-size:12px;color:var(--mut);margin:0 0 12px}
.sub{margin:8px 0 0 24px;padding:10px 12px;border:1px solid var(--mb);border-radius:8px;background:#FBF4DF;display:none}
.sub.show{display:block}
.child,.rub,.dip{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:8px;align-items:end;margin-bottom:8px}
.photo{width:96px;height:120px;border:1px dashed var(--mb);border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--mut);font-size:11px;text-align:center;flex:none}

.ftop{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:12px 16px;background:var(--m);color:#fff;border-radius:10px;margin-bottom:14px}
.ftop h1{margin:0;font-size:18px;font-weight:600}
.ftop .meta{font-size:12px;opacity:.9;grid-column:1/-1}
.ftop .pbtn{background:#fff;color:var(--m);border-color:#fff;height:30px;padding:0 10px}.ftop .pbtn.fill{background:var(--m2);color:#fff;border-color:var(--m2)}
.acts{display:flex;gap:8px;flex-wrap:nowrap;align-items:center;white-space:nowrap}
.badge{background:#fff;color:var(--m);padding:2px 8px;border-radius:6px;font-weight:600}
select.lang{height:30px;font:inherit;font-size:13px;border:1px solid #fff;color:var(--m);background:#fff;border-radius:6px;padding:0 6px}

.ftop{position:sticky;top:96px;z-index:10;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:12px 16px;background:var(--g1);color:#fff;border-left:5px solid var(--m);border-radius:8px;margin-bottom:14px}
.ftop h1{margin:0;font-size:18px;font-weight:600}
.ftop .meta{font-size:12px;opacity:.85;grid-column:1/-1;color:#DADADA}
.ftop .pbtn{background:#fff;color:var(--g1);border-color:#fff;height:30px;padding:0 10px}.ftop .pbtn.fill{background:var(--m);color:#fff;border-color:var(--m)}
.acts{display:flex;gap:8px;flex-wrap:nowrap;align-items:center;white-space:nowrap}
.badge{background:#fff;color:var(--g1);padding:2px 8px;border-radius:6px;font-weight:600}
select.lang{height:30px;font:inherit;font-size:13px;border:1px solid #fff;color:var(--g1);background:#fff;border-radius:6px;padding:0 6px}
.sec h2{color:var(--k);border-left:3px solid var(--m);padding-left:8px}
.wrap{max-width:none}

/* ---- Paramètres › Modèles de bulletins ---- */
#v-modeles .mdl{display:grid;grid-template-columns:1fr;gap:12px}
#v-modeles .opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:6px 18px;background:#fff;border:1px solid var(--bd);border-radius:8px;padding:12px 14px}
#v-modeles .tabs{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0 10px}
#v-modeles .tab{height:34px;padding:0 14px;font:inherit;font-size:13px;font-weight:600;border:1px solid var(--bd);background:#fff;color:var(--g1);border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:6px}
#v-modeles .tab.on{background:var(--g1);color:#fff;border-color:var(--g1);border-bottom:3px solid var(--m)}
#v-modeles .tab:hover:not(.on){background:var(--ml);color:var(--m)}
#v-modeles .pvwrap{background:#E9E9E9;border:1px solid var(--bd);border-radius:10px;padding:18px}
#v-modeles .pv{max-width:none;margin:0;font-size:13px}
#v-modeles .pv .bul{background:#fff;border:1px solid var(--bd);border-radius:8px;box-shadow:0 2px 6px rgba(0,0,0,.08)}
#v-modeles .pv .bh{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;padding:14px 18px;background:var(--g1);color:#fff;border-radius:8px 8px 0 0;border-bottom:3px solid var(--m)}
#v-modeles .pv .bh h3{margin:0 0 4px;font-size:16px;color:#fff}
#v-modeles .pv .bh p{margin:0;font-size:12px;color:#DADADA}
#v-modeles .pv .bh .r{text-align:right}
#v-modeles .pv .bh .c{text-align:center;align-self:center}
#v-modeles .pv .bh .c h3{font-size:20px;letter-spacing:1px}
#v-modeles .pv .id{display:grid;grid-template-columns:repeat(4,1fr);gap:8px 14px;padding:12px 18px;border-bottom:1px solid var(--bd)}
#v-modeles .pv .id div{font-size:12px}
#v-modeles .pv .id b{display:block;color:var(--g2);font-weight:500;font-size:11px}
#v-modeles .pv table{width:100%;border-collapse:collapse;border:none;border-radius:0;font-size:12.5px}
#v-modeles .pv th{text-align:right;background:#EDEDED;color:var(--k);font-weight:600;padding:7px 10px;border-bottom:1px solid var(--g3);font-size:12px}
#v-modeles .pv th:first-child,#v-modeles .pv td:first-child{text-align:left}
#v-modeles .pv td{padding:6px 10px;border-bottom:1px solid var(--bd);text-align:right}
#v-modeles .pv td.g{display:table-cell;background:#F7F7F7;font-weight:600;color:var(--k);text-align:left}
#v-modeles .pv tr.calc td{background:#FDF9EE;color:var(--g2);font-style:italic}
#v-modeles .pv tr.calc td strong{color:var(--m);font-style:normal}
#v-modeles .pv tr.tot td{background:#EDEDED;font-weight:700;color:var(--k);border-top:1px solid var(--g3)}
#v-modeles .pv tr.net td{background:var(--ml);color:var(--m);font-weight:700;font-size:14px}
#v-modeles .pv .badge{font-size:10px;padding:1px 6px;border-radius:6px;background:#EDEDED;color:var(--g2);margin-left:4px;font-weight:500}
#v-modeles .pv .emp{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:12px 18px;border-top:1px solid var(--bd)}
#v-modeles .pv .emp h4{margin:0 0 6px;font-size:12px;color:var(--g2);font-weight:600;text-transform:uppercase;letter-spacing:.3px}
#v-modeles .pv .foot{padding:10px 18px;font-size:11px;color:var(--g2);border-top:1px solid var(--bd);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.zone{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}
.zone .z{background:#fff;border:1px solid var(--bd);border-left:4px solid var(--m);border-radius:8px;padding:10px 12px;font-size:12.5px}
.zone .z b{display:block;color:var(--k);margin-bottom:4px}
.zone .z ul{margin:0;padding-left:16px;color:var(--sec)}
/* impression : un bulletin par page, compacté pour tenir sur une seule page A4 (remarque 7) */
@media print{@page{size:A4;margin:10mm}
 header.hd,#v-modeles .top,#v-modeles .h,#v-modeles .tabs,#v-modeles .opts,.zone,#v-modeles .btns,#v-modeles .note,#v-modeles .mdlt{display:none!important}
 #v-modeles .pvwrap{background:none;border:none;padding:0}
 #v-modeles .pv{display:block!important;margin:0;font-size:11px}
 #v-modeles .pv .bul{page-break-after:always;page-break-inside:avoid;break-inside:avoid;box-shadow:none;border:1px solid #999;margin:0}
 #v-modeles .pv .bul:last-child{page-break-after:auto}
 #v-modeles .pv .bh{padding:8px 12px}#v-modeles .pv .bh h3{font-size:13px}#v-modeles .pv .bh .c h3{font-size:16px}#v-modeles .pv .bh p{font-size:10px}
 #v-modeles .pv .id{padding:7px 12px;gap:4px 12px}#v-modeles .pv .id div{font-size:10px}#v-modeles .pv .id b{font-size:9px}
 #v-modeles .pv table{font-size:10px}#v-modeles .pv th{padding:3px 8px;font-size:9.5px}#v-modeles .pv td{padding:2.5px 8px}
 #v-modeles .pv tr.net td{font-size:11.5px}
 #v-modeles .pv .emp{padding:8px 12px;gap:12px}#v-modeles .pv .emp h4{font-size:10px;margin-bottom:3px}
 #v-modeles .pv .foot{padding:6px 12px;font-size:9px}}

/* ---- écrans de paramétrage ---- */

/* ---- éditeur de contrats ---- */
.ctbar{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;background:#fff;border:1px solid var(--bd);border-left:4px solid var(--m);border-radius:8px;padding:10px 14px;margin:12px 0}
.paper{background:#fff;border:1px solid var(--bd);border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.07);padding:34px 46px 40px;max-width:900px;margin:0 auto;font-size:13.5px;line-height:1.55}
.paper .anpe{border:1px solid var(--k);border-radius:3px;padding:8px 12px;width:290px;margin-bottom:26px}
.paper .anpe b{display:block;font-size:12.5px;margin-bottom:6px}
.paper .anpe .l{display:flex;align-items:baseline;gap:8px;font-size:12.5px;margin-top:4px}
.paper .anpe .l i{flex:1;border-bottom:1px dotted var(--g2);height:12px}
.paper .ctitle{text-align:center;font-size:17px;font-weight:700;letter-spacing:.4px;margin:0 0 2px;color:var(--k)}
.paper .csub{text-align:center;font-size:13px;margin:0 0 22px;color:var(--g2)}
.paper .parties p{margin:0 0 4px}
.paper .parties .lbl{display:inline-block;min-width:210px}
.paper .parties .who{margin:10px 0 14px;font-style:italic}
.paper .parties h4{margin:14px 0 4px;font-size:13px;font-weight:600}
.paper .enf{display:grid;grid-template-columns:1fr 1fr;gap:2px 20px;margin:2px 0 0}
.paper u{text-decoration:none;border-bottom:1px dotted var(--g2);padding:0 2px}
.paper .fus{background:var(--ml);color:var(--m);border-bottom:1px dotted var(--m);padding:0 3px;border-radius:3px}
.paper .consent{margin:16px 0 10px}
.paper .cadre-legal{margin:0 0 20px;text-align:justify}
.paper .art{position:relative;margin:0 0 16px;padding:6px 8px 6px 10px;border-left:3px solid transparent;border-radius:4px}
.paper .art:hover,.paper .art.sel{border-left-color:var(--m);background:#FEFBF3}
.paper .art .ah{display:flex;align-items:center;gap:8px}
.paper .art .an{font-weight:700;white-space:nowrap}
.paper .art .at{flex:1;font-weight:700;border:1px solid transparent;border-radius:4px;padding:2px 6px;background:transparent;font:inherit;font-weight:700}
.paper .art:hover .at,.paper .art .at:focus{border-color:var(--bd);background:#fff}
.paper .art .ab{width:100%;min-height:3.2em;border:1px solid transparent;border-radius:4px;padding:4px 6px;font:inherit;line-height:1.55;resize:vertical;background:transparent;white-space:pre-wrap;overflow:hidden;text-align:justify}
.paper .art:hover .ab,.paper .art .ab:focus{border-color:var(--bd);background:#fff}
.paper .art .tools{position:absolute;top:4px;right:4px;display:none;gap:3px}
.paper .art:hover .tools{display:flex}
.paper .art .tools button{width:26px;height:26px;border:1px solid var(--bd);background:#fff;border-radius:5px;cursor:pointer;color:var(--g2);font-size:15px;display:inline-flex;align-items:center;justify-content:center}
.paper .art .tools button:hover:not(:disabled){background:var(--m);color:#fff;border-color:var(--m)}
.paper .art .tools button:disabled{opacity:.3;cursor:default}
.paper .art .mk{font-size:10.5px;color:var(--mut);white-space:nowrap}
.paper .addbar{margin:8px 0 24px;text-align:center}
.paper .faita{margin:28px 0 26px;text-align:right;font-style:italic}
.paper .sign3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:6px}
.paper .sign3 div{text-align:center}
.paper .sign3 em{display:block;font-size:12px;color:var(--g2);margin-bottom:2px}
.paper .sign3 b{display:block;font-size:13px;letter-spacing:.3px}
.paper .sign3 span{display:block;height:64px;border:1px solid var(--bd);border-top:0;border-radius:0 0 4px 4px;margin-top:4px}
@media print{
 header,nav.menu,.top,.ctbar,.paper .addbar,.paper .art .tools,.note{display:none!important}
 .paper{border:0;box-shadow:none;padding:0;max-width:none}
 .paper .art{border-left-color:transparent!important;background:none!important;page-break-inside:avoid}
 .paper .art .at,.paper .art .ab{border-color:transparent!important;background:none!important}
 .paper .fus{background:none;color:inherit}
}

.rule{display:flex;gap:10px;align-items:flex-start;background:#fff;border:1px solid var(--bd);border-left:4px solid var(--m);border-radius:8px;padding:10px 14px;font-size:13px;margin:12px 0 4px}
.rule i{font-size:20px;color:var(--m);flex:none}
.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:900px){.two{grid-template-columns:1fr}.dd.dd2{min-width:0;grid-template-columns:1fr}}
td.c{text-align:center}
input.oc{width:16px;height:16px;accent-color:var(--m);vertical-align:middle}
input.oc:disabled{accent-color:var(--g3)}
input.ti-in{width:70px;height:26px;font:inherit;font-size:13px;text-align:right;border:1px solid var(--bd);border-radius:5px;padding:0 6px}
tr.sst td{font-weight:600;border-top:1px solid var(--g3)}
tr.grp td{background:none;color:var(--m);font-weight:700;font-size:12px;text-align:left;letter-spacing:.3px;border-top:2px solid var(--bdt)}
#v-rub .sub,#v-fer .sub{margin-left:0}
@media (max-width:900px){.kpis{grid-template-columns:repeat(2,1fr)}}

/* ---- liens en forme de bouton, erreurs de formulaire ---- */
a.pbtn{display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.f .err-msg{margin:2px 0 0;font-size:12px;color:var(--dan)}
.f.en-erreur input,.f.en-erreur select{border-color:var(--dan)}
.ligne{display:grid;gap:8px;align-items:end;margin-bottom:8px}
.ligne .chk{margin:0 0 8px}

/* ---- traitements : étapes cliquables, grille de saisie ---- */
a.step{text-decoration:none}
a.step:hover{background:var(--ml)}
.grille th{white-space:nowrap;text-align:center}
.grille input.ti-in{width:84px}
button.pbtn:disabled{opacity:.5;cursor:not-allowed}
kbd{font:inherit;font-size:12px;border:1px solid var(--bd);border-bottom-width:2px;border-radius:4px;padding:0 5px;background:#fff}

/* ---- connexion, utilisateur connecté ---- */
body.connexion{display:flex;min-height:100vh;align-items:center;justify-content:center;background:var(--k)}
body.connexion main.carte-connexion{width:100%;max-width:420px;justify-self:center;padding:28px 32px;background:#fff;border-radius:10px;border-top:4px solid var(--m);box-shadow:0 10px 30px rgba(0,0,0,.35)}
.carte-connexion .brand .mod{color:var(--g2)}
.carte-connexion h1{margin:18px 0 10px;font-size:18px;color:var(--k)}
.carte-connexion .f{margin-top:10px}
.tools .role{font-size:12px;padding:3px 8px;border-radius:6px;background:#2B2B2B;color:#CFCFCF}
.tools .deconnexion{background:var(--g1);color:#fff;border-color:var(--g2)}
.tools .deconnexion:hover{background:var(--m);border-color:var(--m)}

/* ---- sélecteur de module, saisie d'écriture ---- */
.brand .modules{display:flex;gap:2px;background:#222;border-radius:6px;padding:2px}
.brand .module{color:#CFCFCF;font-weight:500;font-size:14px;text-decoration:none;padding:3px 10px;border-radius:5px}
.brand .module:hover{color:#fff;background:#333}
.brand .module.actif{color:#fff;background:var(--g1);box-shadow:inset 0 -2px 0 var(--mb)}
table.saisie-ecriture td{padding:4px 6px}
table.saisie-ecriture input{width:100%;height:32px;font:inherit;font-size:13px;border:1px solid var(--bd);border-radius:5px;padding:0 8px}
table.saisie-ecriture input[type=number]{text-align:right}
.ecart-ok{color:var(--ok)}.ecart-ko{color:var(--dan)}

/* ---- document de facture ---- */
.document-facture{position:relative;background:#fff;border:1px solid var(--bd);border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.06);padding:26px 32px;margin-top:14px;overflow:hidden}
.document-facture .filigrane{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%) rotate(-24deg);font-size:88px;font-weight:800;color:rgba(138,106,16,.10);pointer-events:none;letter-spacing:6px}
.df-entete{display:flex;justify-content:space-between;gap:20px;border-bottom:3px solid var(--m);padding-bottom:12px;margin-bottom:14px}
.df-entete h3{margin:0 0 4px;font-size:17px}.df-entete p{margin:0;font-size:12px;color:var(--g2)}
.df-titre{text-align:right}.df-titre h2{margin:0;font-size:22px;letter-spacing:2px;color:var(--m)}.df-titre p{margin:2px 0 0;font-size:13px}
.df-client{margin:0 0 14px auto;width:min(320px,100%);border:1px solid var(--bd);border-radius:6px;padding:10px 12px;font-size:13px}
.df-client b{font-size:11px;text-transform:uppercase;color:var(--g2)}.df-client p{margin:2px 0}
.df-objet{font-size:13px;margin:0 0 10px}
.df-lettres{font-size:13px;margin:14px 0 6px}
.document-facture td:first-child,.document-facture th:first-child{text-align:left}
@media print{.document-facture{border:0;box-shadow:none;padding:0}.two{display:none!important}nav.menu{display:none!important}}

/* ---- impression des états ---- */
@media print{header.hd,.top .btns,.act,form.sec{display:none!important}main{padding:0}table{font-size:11px}}

/* ---- saisie en ligne (htmx) ---- */
input.ti-in{width:100px}
input.ti-in.ok{border-color:var(--ok);background:#EEF6F2}
input.ti-in.err{border-color:var(--dan);background:#FBEAEA}
input.ti-in.htmx-request{opacity:.6}

/* ---- facturation v3 ---- */
.types-pieces{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.type-piece{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--bd);border-top:4px solid var(--m);border-radius:8px;padding:14px 16px;color:var(--txt);text-decoration:none}
.type-piece:hover{box-shadow:0 4px 14px rgba(0,0,0,.1);border-color:var(--m)}
.type-piece .code{align-self:flex-start;font-weight:800;font-size:18px;color:#fff;background:var(--m);border-radius:6px;padding:2px 10px;letter-spacing:1px}
.type-piece span{font-size:13px;color:var(--sec)}
.type-piece .choisir{margin-top:auto;color:var(--m);font-weight:600}
.sous-titre{margin:14px 0 8px;font-size:13px;color:var(--g1);border-left:3px solid var(--m);padding-left:8px}
.sous-titre span{font-weight:400;color:var(--mut)}
.emetteur{background:var(--bg);border-radius:8px;padding:10px 12px;font-size:12.5px}
.emetteur p{margin:2px 0}.emetteur .activites{font-size:11px;letter-spacing:.4px;color:var(--m);font-weight:600}
.avances-choix ul{list-style:none;margin:0;padding:0}.avances-choix li{margin:4px 0}
.facture-articles{display:grid;grid-template-columns:280px 1fr;gap:14px;align-items:start}
@media (max-width:900px){.facture-articles{grid-template-columns:1fr}}
.catalogue{border:1px solid var(--bd);border-radius:8px;padding:8px;background:#fff}
.catalogue input{width:100%;height:32px;border:1px solid var(--bd);border-radius:6px;padding:0 8px;font:inherit}
.catalogue ul{list-style:none;margin:8px 0 0;padding:0;max-height:420px;overflow:auto}
.catalogue li{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center;padding:6px 4px;border-bottom:1px solid var(--bd);font-size:12.5px}
.catalogue li em{font-style:normal;color:var(--mut);font-size:11.5px}
.catalogue li button{grid-row:1 / span 2;grid-column:2}
.catalogue li.vide{display:block;color:var(--mut)}
.erreurs-facturation{border:1px solid var(--dan);background:#FBEAEA;border-radius:8px;padding:10px 14px;margin:12px 0}
.erreurs-facturation h3{margin:0 0 4px;font-size:14px;color:var(--dan)}.erreurs-facturation p{margin:0 0 4px;font-size:12.5px}
.erreurs-facturation ul{margin:0;padding-left:18px;font-size:13px}
.err-msg{display:block;color:var(--dan);font-size:11px}
.st.ko{background:#FBEAEA;color:var(--dan)}
.df-bas{display:grid;grid-template-columns:1fr 300px;gap:16px;margin-top:12px;font-size:13px}
@media (max-width:700px){.df-bas{grid-template-columns:1fr}}
.df-bas p{margin:0 0 6px}
.document-facture table.df-groupes,.document-facture table.df-totaux{border:0;font-size:12.5px}
.document-facture .df-groupes td,.document-facture .df-totaux td{padding:4px 8px;border-bottom:1px solid var(--bd)}
.document-facture .df-totaux td:last-child{text-align:right}
.document-facture .df-totaux tr.fort td{font-weight:700;color:var(--m);background:var(--ml)}
.df-secef{margin-top:14px;border:1px dashed var(--g2);border-radius:6px;padding:10px 12px;font-size:12px;text-align:center}
.df-secef p{margin:2px 0}.df-secef .titre{font-weight:700;letter-spacing:.5px}
.df-secef.attente{color:var(--mut)}
.choix-personne{display:flex;gap:18px;margin-bottom:8px}
.facture-articles>*{min-width:0}
table.saisie-ecriture select{width:100%;height:32px;font:inherit;font-size:13px;border:1px solid var(--bd);border-radius:5px;padding:0 4px;background:#fff}
table.saisie-ecriture input[type=number]{padding:0 4px}
.document-facture thead th:nth-child(2){text-align:left}
/* ---- modèle de facture DGI (facture certifiée SECeF) ---- */
.document-dgi-cadre{margin-top:14px;background:#fff;border:1px solid var(--bd);border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.06);overflow-x:auto}
.dgi{position:relative;font-family:Arial,Helvetica,sans-serif;color:#222;background:#fff;font-size:12px;max-width:820px;min-width:620px;margin:0 auto;padding:26px 30px;overflow:hidden}
.dgi p{margin:0}
.dgi-filigrane{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%) rotate(-24deg);font-size:84px;font-weight:800;color:rgba(0,0,0,.06);pointer-events:none;letter-spacing:6px}
.dgi-entete{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.dgi-emetteur p{margin:1px 0;font-size:11.5px}.dgi-emetteur .nom{font-size:14px;font-weight:700;letter-spacing:.6px}
.dgi table{width:100%;border-collapse:collapse;background:#fff;border-radius:0;overflow:visible;font-size:11.5px}
.dgi th{background:#7f7f7f;color:#fff;font-weight:400;text-align:left;padding:4px 8px;border-bottom:0}
.dgi td{padding:3px 8px;border-bottom:0;text-align:left;vertical-align:top}
.dgi-client{border:1px solid #9a9a9a}
.dgi-client td:first-child{color:#8a8a8a;font-style:italic;width:74px}
.dgi-titre{text-align:center;margin:26px 0 10px}
.dgi-titre h2{margin:0;font-size:15px;font-weight:700;letter-spacing:.3px}
.dgi-titre .num{font-size:14px;margin:3px 0 2px}.dgi-titre .ref{font-size:11px;color:#444}
.dgi-lignes{border:1px solid #bcd9bc}
.dgi-lignes th{background:#eef6ee;color:#222;font-weight:700;border:1px solid #bcd9bc;padding:3px 6px}
.dgi-lignes td{border-left:1px solid #d3e7d3;border-right:1px solid #d3e7d3;text-align:right;padding:4px 6px}
.dgi-lignes td:first-child,.dgi-lignes td.g{text-align:left}
.dgi-bas{display:grid;grid-template-columns:1fr 1.25fr;gap:14px;margin-top:14px;align-items:start}
.dgi-bas .mode{margin-top:26px}
.dgi-totaux td{padding:1px 6px;font-size:11px;color:#444}.dgi-totaux td:last-child{text-align:right}
.dgi-totaux tr.fort td{font-weight:700;color:#222;font-size:12.5px;border-top:1px solid #222;padding-top:3px}
.dgi-ttc{font-size:17px;letter-spacing:2px;border-bottom:2px solid #222;text-align:right;margin:8px 0 6px!important;padding-bottom:2px;font-weight:600}
.dgi-lettres{text-align:center;font-size:11.5px;margin:20px 0 16px!important}
.dgi-secu-titre{display:flex;justify-content:space-between;font-size:10.5px;color:#777;font-style:italic;border-top:1px dashed #c8c8c8;padding-top:6px}
.dgi-secu-titre b{font-style:normal;color:#222}
.dgi-secu{display:grid;grid-template-columns:110px 1fr;gap:18px;align-items:center;border:2px solid #d5e8d5;padding:10px 16px;margin-top:4px}
.dgi-qr{width:96px;height:96px}.dgi-qr img,.dgi-qr canvas{width:96px;height:96px}
.dgi-qr.vide{display:flex;align-items:center;justify-content:center;border:1px dashed #bbb;color:#bbb;font-size:12px}
.dgi-secu .code{text-align:center;font-size:11px;margin-bottom:4px!important}.dgi-secu .code b{font-size:12px;letter-spacing:.5px}
.dgi-secu dl{display:grid;grid-template-columns:auto 1fr;gap:1px 12px;margin:0;font-size:11px}
.dgi-secu dd{margin:0;text-align:right;font-weight:700}
.dgi-secu .attente{color:#777;font-size:11.5px}
.dgi-note{margin-top:10px!important;font-size:10.5px;color:#555;text-align:center}
@media print{.document-dgi-cadre{border:0;box-shadow:none;margin:0}.dgi{min-width:0;padding:0}}
/* ---- administration : sociétés, modules, utilisateurs ---- */
.tools .pbtn.outil{display:inline-flex;align-items:center;gap:4px;text-decoration:none;background:transparent;color:#E6E6E6;border-color:#3D608F}
.tools .pbtn.outil:hover{background:#1B4C87;color:#fff}
.modules-choix{display:flex;flex-wrap:wrap;gap:6px 22px;margin-bottom:6px}
/* ---- portail (maquette Portail v11) ---- */
.portail-accueil{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:center;width:min(1080px,94vw);margin:auto;padding:30px 0}
@media (max-width:860px){.portail-accueil{grid-template-columns:1fr;gap:20px}}
.vitrine{color:#E6E6E6}
.vitrine .marque{font-size:20px;font-weight:700;letter-spacing:1px;margin:0 0 18px;display:flex;align-items:center;gap:8px}
.vitrine .marque .logo{background:linear-gradient(135deg,#1E8A56 0%,#15653F 55%,#0E4A2D 100%);color:#fff;padding:4px 12px;border-radius:6px}
.vitrine h1{font-size:34px;line-height:1.15;margin:0 0 14px;color:#fff}.vitrine h1 span{color:var(--mb)}
.vitrine .accroche{font-size:15px;line-height:1.55;color:#CFCFCF;margin:0 0 16px}
.etiquettes{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}
.etiquettes span{font-size:12px;padding:4px 10px;border:1px solid #3D608F;border-radius:14px;color:#DADADA}
.modules-vitrine{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.modules-vitrine div{background:#10305A;border:1px solid #1B4C87;border-left:3px solid var(--mb);border-radius:8px;padding:10px 12px;display:grid;grid-template-columns:auto 1fr;gap:0 10px;align-items:center}
.modules-vitrine i{grid-row:span 2;font-size:22px;color:var(--mb)}.modules-vitrine b{font-size:13px;color:#fff}.modules-vitrine small{font-size:11.5px;color:#A8A8A8}
body.connexion main.carte-connexion h2{margin:0 0 6px;font-size:19px;color:var(--k)}
.options-connexion{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-top:10px;font-size:12.5px}
.options-connexion summary{cursor:pointer;color:var(--m)}
.dgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;margin:14px 0}
.dc{background:#fff;border:1px solid var(--bd);border-top:3px solid var(--m);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
/* une teinte de la palette par carte du portail, pour un accueil plus vivant */
.dgrid>.dc:nth-child(8n+1){border-top-color:var(--c1)}.dgrid>.dc:nth-child(8n+1) h3 i{color:var(--c1)}
.dgrid>.dc:nth-child(8n+2){border-top-color:var(--c2)}.dgrid>.dc:nth-child(8n+2) h3 i{color:var(--c2)}
.dgrid>.dc:nth-child(8n+3){border-top-color:var(--c3)}.dgrid>.dc:nth-child(8n+3) h3 i{color:var(--c3)}
.dgrid>.dc:nth-child(8n+4){border-top-color:var(--c4)}.dgrid>.dc:nth-child(8n+4) h3 i{color:var(--c4)}
.dgrid>.dc:nth-child(8n+5){border-top-color:var(--c5)}.dgrid>.dc:nth-child(8n+5) h3 i{color:var(--c5)}
.dgrid>.dc:nth-child(8n+6){border-top-color:var(--c6)}.dgrid>.dc:nth-child(8n+6) h3 i{color:var(--c6)}
.dgrid>.dc:nth-child(8n+7){border-top-color:var(--c7)}.dgrid>.dc:nth-child(8n+7) h3 i{color:var(--c7)}
.dgrid>.dc:nth-child(8n) {border-top-color:var(--c8)}.dgrid>.dc:nth-child(8n) h3 i{color:var(--c8)}
.dc .graphe{height:130px}
/* indicateurs : une teinte par tuile */
.kpis>.kpi:nth-child(4n+1){border-left-color:var(--c1)}.kpis>.kpi:nth-child(4n+2){border-left-color:var(--c2)}
.kpis>.kpi:nth-child(4n+3){border-left-color:var(--c3)}.kpis>.kpi:nth-child(4n){border-left-color:var(--c5)}
.dc h3{margin:0;font-size:15px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dc h3 .lvl{margin-left:auto}
.dc .mk{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.dc .mk p{margin:0}.dc .mk .l{font-size:11.5px;color:var(--sec)}.dc .mk .v{font-size:18px;font-weight:600}.dc .mk .n{font-size:11px;color:var(--mut)}
.dc .golink{align-self:flex-start;color:var(--m);font-weight:600;text-decoration:none}
.dc.lock{border-top-color:var(--bd);background:#FAFAFA}.dc .pitch{margin:0;font-size:12.5px;color:var(--sec);line-height:1.5}
.lvl{font-size:11px;padding:2px 8px;border-radius:8px;font-weight:600;white-space:nowrap}
.lvl.l0{background:#EEE;color:var(--sec)}.lvl.l1{background:#FBF4DF;color:#5C4608}.lvl.l2{background:#E4ECF7;color:#274B7A}
.lvl.l3{background:#E3F1EA;color:var(--ok)}.lvl.l4{background:#5C4608;color:#fff}
.onglets{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;border-bottom:1px solid var(--bd);margin:12px 0}
.onglets a{padding:8px 0;color:var(--sec);text-decoration:none;display:flex;gap:4px;align-items:center;border-bottom:2px solid transparent}
.onglets a.on{color:var(--k);font-weight:600;border-bottom-color:var(--m)}
table.matrix td,table.matrix th{text-align:center;vertical-align:middle}
table.matrix select{height:30px;font:inherit;font-size:12.5px;border:1px solid var(--bd);border-radius:6px;padding:0 4px}
table.matrix select.l0{color:var(--mut)}table.matrix select.l3{background:#E3F1EA}table.matrix select.l4{background:#F1E2B0;font-weight:600}
.wiz{display:flex;gap:4px;margin:0 0 10px}.wiz div{flex:1;text-align:center;padding:6px 4px;font-size:12px;border-top:3px solid var(--bd);color:var(--sec);background:#fff}
.wiz div.on{border-top-color:var(--m);color:var(--k);font-weight:600}
.chkgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin-bottom:6px}
.chkgrid label{display:flex;gap:8px;align-items:center;border:1px solid var(--bd);border-radius:8px;padding:10px 12px;background:#fff;cursor:pointer}
.chkgrid input{width:16px;height:16px;accent-color:var(--m)}
.choix-dossiers ul,.choix-dossiers>div{list-style:none;margin:4px 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 18px}
.choix-dossiers label{display:flex;gap:6px;align-items:center;font-size:13px}
/* ---- choix de la langue ---- */
.choix-langue{display:inline-flex;align-items:center;gap:4px;margin:0;color:#CFCFCF}
.choix-langue select{height:28px;font:inherit;font-size:12.5px;border:1px solid var(--g2);color:#fff;background:var(--g1);border-radius:5px;padding:0 4px}
.barre-langue{margin-bottom:14px}
.visuellement-cache{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* ---- immobilisations ---- */
.filtres{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0;font-size:13px}
.filtres select,.filtres input{height:32px;font:inherit;font-size:13px;border:1px solid var(--bd);border-radius:6px;padding:0 6px;background:#fff}
.valeur-origine{display:flex;align-items:baseline;gap:8px;margin-top:10px;padding:10px 14px;background:var(--ml);border-radius:8px;font-size:13px}
.valeur-origine strong{font-size:20px;color:var(--k)}
.planche-etiquettes{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:14px}
@media (max-width:760px){.planche-etiquettes{grid-template-columns:1fr 1fr}}
.etiquette{display:grid;grid-template-columns:76px 1fr;gap:8px;align-items:center;border:1px dashed var(--bd);border-radius:4px;padding:6px 8px;background:#fff;min-height:36mm;page-break-inside:avoid}
.etiquette b{display:block;font-size:13px;letter-spacing:.3px}.etiquette span{display:block;font-size:11.5px}.etiquette small{display:block;font-size:10px;color:var(--mut);margin-top:3px}
@media print{.ecran-seulement,header.hd{display:none!important}main{padding:0}.planche-etiquettes{grid-template-columns:repeat(3,70mm);gap:0}.etiquette{border:0;height:36mm;min-height:0}}
/* chinois : Overpass ne couvre pas les idéogrammes */
html[lang^="zh"] body{font-family:"Overpass","Microsoft YaHei","PingFang SC","Noto Sans SC","Segoe UI",sans-serif}
button,input,select,textarea{font-family:inherit}
/* Comptabilité : barres de la structure des charges, états financiers */
.bar{height:8px;background:#EDF0F4;border-radius:4px;overflow:hidden}
.bar span{display:block;height:100%;background:var(--c1)}
/* palette des graphiques : chaque série ou ligne prend sa teinte */
tbody tr:nth-child(8n+2) .bar span{background:var(--c2)}
tbody tr:nth-child(8n+3) .bar span{background:var(--c3)}
tbody tr:nth-child(8n+4) .bar span{background:var(--c4)}
tbody tr:nth-child(8n+5) .bar span{background:var(--c5)}
tbody tr:nth-child(8n+6) .bar span{background:var(--c6)}
tbody tr:nth-child(8n+7) .bar span{background:var(--c7)}
tbody tr:nth-child(8n) .bar span{background:var(--c8)}
.graphe{display:flex;align-items:flex-end;gap:6px;height:160px;margin-top:10px}
.graphe>div{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%}
.graphe .bar{width:min(70%,54px);border-radius:4px 4px 0 0;min-height:2px;background:var(--c1);overflow:visible}
.graphe>div:nth-child(8n+2) .bar{background:var(--c2)}
.graphe>div:nth-child(8n+3) .bar{background:var(--c3)}
.graphe>div:nth-child(8n+4) .bar{background:var(--c4)}
.graphe>div:nth-child(8n+5) .bar{background:var(--c5)}
.graphe>div:nth-child(8n+6) .bar{background:var(--c6)}
.graphe>div:nth-child(8n+7) .bar{background:var(--c7)}
.graphe>div:nth-child(8n) .bar{background:var(--c8)}
.etat td,.etat th{padding:5px 8px}
.etat td.n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.etat td.c{text-align:center;color:var(--mut)}
.etat tr.t td{font-weight:700;background:#F6F1E2}
.etat tr.t td:nth-child(2){text-transform:none}
.etat .ref{font-weight:600;color:var(--m2)}
.hausse{color:var(--ok)}.baisse{color:var(--dan)}
@media print{.etat tr.t td{background:#EEE}}
tr.sel td{background:var(--ml)}
.lettre{display:inline-block;min-width:22px;padding:1px 5px;border-radius:4px;background:var(--mt);color:var(--m2);font-weight:700;font-size:11px;text-align:center}
.solde-lettrage{font-weight:700}.solde-lettrage.ok{color:var(--ok)}.solde-lettrage.ko{color:var(--dan)}
/* En-tête : retour à la ligne sur écran moyen ou petit (pas de défilement horizontal) */
@media (max-width:1100px){.brandbar .inner{flex-wrap:wrap;row-gap:8px}.tools{flex-wrap:wrap;margin-left:auto}}
@media (max-width:700px){.tools .role{display:none}}
@media print{.no-print,header,.sub{display:none!important}.document-facture{margin:0!important;padding:0!important}}
/* ---- boîte de dialogue : le choix demandé avant une impression ---- */
dialog.dlg{border:1px solid var(--bdt);border-radius:10px;padding:18px 20px;max-width:470px;background:#fff;color:var(--txt);box-shadow:0 10px 30px rgba(0,0,0,.25)}
dialog.dlg::backdrop{background:rgba(11,37,69,.45)}
dialog.dlg h2{margin:0 0 2px;font-size:16px;color:var(--k);display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}
dialog.dlg h2 span{font-weight:400;font-size:12px;color:var(--mut)}
dialog.dlg label.chx{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:13.5px;cursor:pointer}
dialog.dlg label.chx select{margin-left:auto;cursor:pointer}
dialog.dlg .act{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
/* ---- déclaration CNSS : imprimé de la Caisse, aperçu à imprimer ou à enregistrer en PDF ---- */
.cnss{border:1px solid var(--bdt);background:#fff;padding:14px 16px;margin-top:14px}
.cnss-h{display:grid;grid-template-columns:1fr 1.4fr;gap:12px;align-items:start}
.cnss-h p{margin:0;font-size:11px}
.cnss-h .t{text-align:center}
.cnss-h .t h2{margin:0;font-size:13.5px;color:var(--k);text-align:center;justify-content:center}
.cnss-h .t p{margin-top:4px;color:var(--sec)}
.cnss table{width:100%;min-width:0;border-collapse:collapse;margin-top:10px}
.cnss th,.cnss td{border:1px solid var(--bdt);padding:3px 6px;font-size:11px;text-align:left;vertical-align:middle}
.cnss th{background:none;color:var(--k);font-size:10px;text-transform:none;letter-spacing:0;text-align:center}
.cnss-cot td{text-align:center}
.cnss-cot tr.tx td{color:var(--sec);font-size:10.5px}
.cnss-id th{width:150px;white-space:nowrap}
.cnss-r td.c{text-align:center}
.cnss-r td.n{text-align:right;font-variant-numeric:tabular-nums}
.cnss-r tr.v td{height:17px}
.cnss-r tr.tot td{font-weight:700}
.cnss-s{margin:14px 0 2px!important;text-align:right;font-size:11.5px}
@media print{.cnss{page-break-after:always;break-inside:avoid;border:1px solid #000;margin:0;padding:6px 8px}
 .cnss:last-of-type{page-break-after:auto}
 .cnss th,.cnss td{border-color:#000}}
/* ---- fil d'Ariane : le niveau précédent d'un titre est cliquable (Paramètres › …) ---- */
h1 a.fil{color:inherit;text-decoration:none;border-bottom:1px dotted var(--mb)}
h1 a.fil:hover{color:var(--m);border-bottom-color:var(--m)}
/* ---- accueil des paramètres : cartes cliquables ---- */
a.z{display:block;text-decoration:none;color:var(--sec)}
a.z:hover{border-color:var(--m);box-shadow:0 1px 4px rgba(18,58,107,.15)}
a.z b{color:var(--k)}
/* ---- bandeau des instances de démonstration (hébergement sans état) ---- */
.bandeau-demo{background:#A66A08;color:#fff;text-align:center;padding:5px 12px;font-size:12.5px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}
.bandeau-demo i{font-size:15px}
@media print{.bandeau-demo{display:none}}
