/* Maquettes animées de l'accueil, pour les autres pages publiques.
   COPIE GÉNÉRÉE de public/landing.html par scripts/vitrine-pages.mts :
   ne pas modifier ici, changer l'accueil puis régénérer. */
.reveal > *{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.75,.25,1),transform .7s cubic-bezier(.2,.75,.25,1)}
  .in.reveal > *{opacity:1;transform:none}
  .in.reveal > *:nth-child(2){transition-delay:.06s}.in.reveal > *:nth-child(3){transition-delay:.12s}.in.reveal > *:nth-child(4){transition-delay:.2s}.in.reveal > *:nth-child(5){transition-delay:.28s}
/* ===== SECTIONS MODULES (livre en fond) ===== */
  .kicker{display:inline-flex;align-items:center;gap:9px;margin:0 0 14px;font:600 10.5px/1 var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--accent-deep)}
  .kicker .step{padding:3px 8px;border-radius:6px;background:var(--tint);color:var(--accent-deep);font-weight:700}
  h2{margin:0 0 12px;font-family:var(--serif);font-weight:400;letter-spacing:-.02em;line-height:1.05;font-size:clamp(30px,4.4vw,54px);color:var(--ink)}
  h2 em{font-style:italic;color:var(--accent-deep)}
  .lede{margin:0 auto 26px;max-width:56ch;font-size:clamp(15px,1.25vw,17.5px);line-height:1.56;color:var(--muted);text-wrap:pretty}

  .frame{margin:0 auto;width:100%;max-width:960px;border-radius:18px;padding:9px;background:linear-gradient(160deg,rgba(255,255,255,.78),rgba(255,255,255,.42));border:1px solid rgba(255,255,255,.8);box-shadow:0 44px 100px -34px rgba(8,50,34,.36),0 2px 10px -2px rgba(8,50,34,.09)}
  .app{background:var(--paper);border-radius:11px;overflow:hidden;border:1px solid var(--line);text-align:left;user-select:none}
  .app-top{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-bottom:1px solid var(--line);background:#F3F9F5}
  .crumb{display:flex;align-items:center;gap:9px;font-size:12.5px;flex-wrap:wrap}
  .cmark{width:20px;height:20px;border-radius:5px;display:grid;place-items:center;background:linear-gradient(150deg,#18CE93,#0E9D6E);color:#04140d;font:700 11px/1 var(--serif)}
  .crumb .sep,.crumb .mod{color:var(--muted)} .crumb .mod{font-weight:600;color:var(--ink)}
  .app-pill{font-size:11px;padding:4px 10px;border-radius:999px;background:var(--tint);color:var(--accent-deep);font-weight:600;white-space:nowrap}
  .app-body{display:grid;grid-template-columns:212px 1fr;min-height:312px}
  .side{border-right:1px solid var(--line);padding:12px 10px;display:flex;flex-direction:column;gap:2px;background:#F3F9F5}
  .side .lbl{font-size:9.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin:9px 8px 4px}
  .side .it{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:7px;font-size:12.5px;color:var(--ink)}
  .side .it .ic{width:15px;text-align:center;opacity:.6}
  .side .it.on{background:var(--paper);font-weight:600;box-shadow:0 1px 2px rgba(8,20,14,.06),0 0 0 1px var(--line)} .side .it.on .ic{opacity:1;color:var(--accent)}
  .side .cli{display:flex;align-items:center;gap:5px;font-weight:600;font-size:12px;color:var(--ink);padding:2px 8px 7px} .side .cli .cv{color:var(--muted);font-size:14px}
  .side .yr{margin:0 8px 5px;font:600 10.5px/1 var(--mono);color:var(--accent-deep);background:var(--tint);border-radius:6px;padding:6px 8px;display:flex;align-items:center;justify-content:space-between}
  .side .mission{margin:0 8px 6px;font-size:10px;color:var(--muted)}
  .side .grp{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:11px 8px 3px}
  .sub2{font-size:11px;color:var(--muted);margin-top:3px;font-weight:400;line-height:1.3}
  /* aperçu BV fidèle (schéma réel de l'app) */
  .sigbar{display:flex;align-items:center;gap:16px;padding:7px 14px;border-bottom:1px solid var(--line);background:#EFF5F1;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
  .sigbar b{color:var(--ink);font-weight:700;letter-spacing:.09em} .sigbar .sg em{font-style:normal;color:var(--accent-deep);font-weight:600;margin-left:5px}
  .side .sbtns{display:flex;flex-direction:column;gap:5px;margin:3px 8px 4px} .side .sbtn{font-size:10.5px;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:6px 8px;background:#fff;display:flex;gap:6px;align-items:center}
  .tbar{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
  .tbtn{font-size:11px;padding:6px 9px;border:1px solid var(--line);border-radius:7px;color:var(--ink);background:#fff;display:inline-flex;gap:5px;align-items:center;white-space:nowrap}
  .tbtn.add{background:var(--accent);color:#04140d;border-color:var(--accent);font-weight:700}
  .balbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 13px;border-radius:9px;background:var(--tint);border:1px solid rgba(14,157,110,.25)}
  .balbar .lft{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px;color:var(--accent-deep)} .balbar .lft .ck{width:16px;height:16px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:10px}
  .balbar .yrs{display:flex;gap:16px;font:600 10.5px/1 var(--mono);color:var(--muted)} .balbar .yrs b{color:var(--accent-deep)}
  .pill{display:inline-block;padding:5px 9px;border-radius:7px;background:#F0F5F2;border:1px solid var(--line);font-size:11.5px;color:var(--ink)} .pill.acct{font-family:var(--mono);font-size:11px}
  table.t td.cw{width:40px} .rev{display:inline-flex;gap:5px;align-items:center;color:var(--muted)} .rev .o{width:12px;height:12px;border:1.5px solid #C4D2CB;border-radius:50%;display:inline-block;flex-shrink:0} .rev .clip{width:14px;height:14px;color:#8A9AA2;flex-shrink:0}
  .rgcell{display:flex;align-items:center;gap:7px}
  .rgbox{flex:1;min-width:0;border:1px solid var(--line);border-radius:7px;padding:4px 9px;background:#fff;display:flex;align-items:center;gap:6px}
  .rgbox .txt{display:flex;flex-direction:column;line-height:1.18;min-width:0;flex:1} .rgbox .code{font:600 11.5px/1.2 var(--mono);color:var(--ink)} .rgbox .nm{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .rgbox .cv{margin-left:auto;color:var(--muted);font-size:10px}
  .catb{font:700 9px/1 var(--mono);letter-spacing:.02em;padding:4px 6px;border-radius:5px;flex-shrink:0;background:#DCEAFE;color:#1D4FD8}
  table.t th.dategrp{text-align:center;color:var(--ink);font-weight:600;border-bottom:1px solid var(--line);padding-bottom:6px}
  /* regroupements : cartes de contrôle */
  .ctrl-banner{display:flex;align-items:center;gap:9px;padding:11px 14px;border-radius:9px;background:var(--tint);border:1px solid rgba(14,157,110,.25);font-weight:600;font-size:13px;color:var(--accent-deep)}
  .ctrl-banner .ck{width:18px;height:18px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:11px;flex-shrink:0}
  .ctrls{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
  .ctrl{border:1px solid var(--line);border-radius:10px;padding:12px;background:#F7FBF8;display:flex;flex-direction:column;gap:3px;min-width:0}
  .ctrl.ok{background:var(--tint);border-color:rgba(14,157,110,.3)}
  .ctrl .cl{font:700 9px/1.25 var(--mono);letter-spacing:.02em;text-transform:uppercase;color:var(--muted)} .ctrl.ok .cl{color:var(--accent-deep)}
  .ctrl .cvv{font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:700;font-size:17px;color:var(--ink)} .ctrl.ok .cvv{color:var(--accent-deep)}
  .ctrl .cn1{font:500 10px/1 var(--mono);color:var(--muted)} .ctrl .chk{font-size:9.5px;color:var(--accent-deep);margin-top:1px;line-height:1.25}
  /* feuilles de travail */
  .wschips{display:flex;flex-wrap:wrap;gap:8px}
  .wschip{font-size:12px;padding:8px 12px;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--ink);display:inline-flex;align-items:center;gap:7px}
  .wschip .gd{width:6px;height:6px;border-radius:50%;background:var(--accent)}
  .wschip.more{background:var(--tint);color:var(--accent-deep);border-color:rgba(14,157,110,.25);font-weight:600}
  .wsexample{border:1px solid var(--line);border-radius:11px;padding:12px 14px;background:#F7FBF8}
  .wstabs{display:flex;gap:4px;border-bottom:1px solid var(--line)}
  .wstab{font-size:12px;padding:8px 12px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}
  .wstab.on{color:var(--accent-deep);border-bottom-color:var(--accent);font-weight:600}
  @media (max-width:920px){ .ctrls{grid-template-columns:1fr 1fr} }
  /* états : rapport assemblé */
  .rpt{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;overflow:hidden}
  .rpt-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;font-size:12.5px;border-top:1px solid var(--line)} .rpt-row:first-child{border-top:0}
  .rpt-row .inc{font-size:9.5px;font-weight:600;color:var(--accent-deep);background:var(--tint);padding:3px 8px;border-radius:999px;white-space:nowrap} .rpt-row.soon{color:var(--muted)} .rpt-row.soon .inc{color:var(--muted);background:#EEF2F0}
  .langpick{display:inline-flex;gap:3px;padding:3px;border-radius:8px;background:#EEF4F1;border:1px solid var(--line)} .langpick span{font-size:11px;padding:5px 11px;border-radius:6px;color:var(--muted)} .langpick span.on{background:var(--ink);color:#fff;font-weight:600}
  .note{font-size:11px;color:var(--muted);line-height:1.4} .note b{color:var(--ink)}
  .noteex{position:relative;border:1px solid var(--line);border-radius:11px;padding:14px 16px;background:#F7FBF8;margin-top:2px}
  .noteex .nx-tag{position:absolute;top:12px;right:12px;font:700 9px/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--accent-deep);background:var(--tint);padding:4px 8px;border-radius:999px}
  .noteex .nx-h{font-family:var(--serif);font-size:14.5px;color:var(--ink);margin-bottom:6px}
  .noteex .nx-b{font-size:12px;color:var(--muted);line-height:1.5;margin-bottom:10px;max-width:58ch}
  /* rapprochement : cartes d'équation (réf. « Reconcile ») */
  .eqcards{display:grid;grid-template-columns:1.35fr 1fr;gap:10px}
  .eqcard{border:1px solid var(--line);border-radius:10px;padding:11px 14px;background:#F7FBF8}
  .eqcard.ok{background:var(--tint);border-color:rgba(14,157,110,.3)}
  .eqcard .et{font:700 9.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}
  .eqrow{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
  .eqi .ev{font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:700;font-size:14.5px;color:var(--ink)}
  .eqi .el{font-size:9.5px;color:var(--muted);margin-top:2px}
  .eqi.ok .ev{color:var(--accent-deep)}
  .eqop{font-weight:700;color:var(--muted);font-size:14px}
  .cb{display:inline-block;width:15px;height:15px;border-radius:4px;border:1.5px solid #C4D2CB;vertical-align:middle;position:relative}
  .cb.on{background:var(--accent);border-color:var(--accent)}
  .cb.on::after{content:"✓";position:absolute;inset:0;color:#fff;font-size:10px;line-height:14px;text-align:center;font-weight:800}
  .rowtag{font-size:9px;font-weight:600;color:var(--accent-deep);background:var(--tint);padding:2px 6px;border-radius:5px;white-space:nowrap}
  .rowtag.pend{color:#B4530A;background:#FFF3E4}
  /* factures clients : formulaire + aperçu (réf. « Create New Invoice ») */
  .invwrap{display:grid;grid-template-columns:196px 1fr;gap:14px;align-items:start}
  .invform{display:flex;flex-direction:column;gap:8px;text-align:left}
  .invform .f{border:1px solid var(--line);border-radius:8px;background:#fff;padding:7px 10px;font-size:11.5px;color:var(--ink)}
  .invform .f .k{font-size:8.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);display:block;margin-bottom:2px}
  .duechips{display:flex;gap:5px;flex-wrap:wrap}
  .duechips span{font-size:10px;padding:5px 8px;border-radius:6px;border:1px solid var(--line);background:#fff;color:var(--muted)}
  .duechips span.on{background:var(--ink);color:#fff;border-color:var(--ink);font-weight:600}
  .inv{border:1px solid var(--line);border-radius:10px;background:#fff;padding:15px 17px;text-align:left;box-shadow:0 18px 40px -26px rgba(8,50,34,.3)}
  .inv-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:8px}
  .inv-top .co{font-family:var(--serif);font-weight:700;font-size:14.5px;color:var(--ink)}
  .inv-top .meta{text-align:right;font-size:10.5px;color:var(--muted);line-height:1.5}
  .inv-top .meta b{color:var(--ink);font-family:var(--mono)}
  .inv .billto{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding:8px 0 2px}
  .inv .billto b{color:var(--ink)}
  .tvq-line{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:12.5px} .tvq-line:first-child{border-top:0} .tvq-line .gc{font-family:var(--mono);font-size:10px;color:var(--muted);width:34px;flex-shrink:0} .tvq-line .amt{font-family:var(--mono);font-variant-numeric:tabular-nums} .tvq-line.tot{font-weight:700;color:var(--accent-deep)}
  .jtypes{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
  .jtype{font:600 9px/1 var(--mono);text-transform:uppercase;letter-spacing:.03em;padding:5px 8px;border-radius:5px;background:#EEF3F0;color:var(--muted);white-space:nowrap}
  .jtype-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:6px}
  .jtcard{border:1px solid var(--line);border-radius:9px;padding:10px 11px;background:#F7FBF8;min-width:0}
  .jtcard .h{font-weight:700;font-size:11.5px;color:var(--ink);margin-bottom:3px;display:flex;align-items:center;gap:6px} .jtcard .h::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}
  .jtcard .d{font-size:10.5px;color:var(--muted);line-height:1.35}
  @media(max-width:920px){.jtype-cards{grid-template-columns:1fr}}
  /* à propos : piliers */
  /* Équipe : une carte par personne. La photo est un <img> dans .tm-photo ;
     sans image, la silhouette sert d'emplacement. */
  /* Équipe : court bloc de l'accueil ; la page complète est /a-propos. */
  .visages{display:flex;flex-wrap:wrap;justify-content:center;gap:22px 34px;margin:6px 0 0}
  .visage{display:flex;flex-direction:column;align-items:center;gap:5px;width:178px}
  .visage img{width:96px;height:96px;border-radius:50%;object-fit:cover;object-position:50% 22%;border:3px solid #fff;box-shadow:0 16px 34px -18px rgba(8,50,34,.45);margin-bottom:6px}
  .visage b{font-family:var(--serif);font-weight:400;font-size:17px;color:var(--ink)}
  .visage span{font:600 10px/1.35 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-deep)}
  @media(max-width:520px){.visages{gap:22px 18px}.visage{width:140px}}
  .rgstruct{margin-top:12px;border-top:1px solid var(--line);padding-top:12px}
  .rgpills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
  .rgpills span{font:600 9.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.02em;padding:6px 9px;border-radius:7px;background:#F0F5F2;border:1px solid var(--line);color:var(--muted)} .rgpills span.on{background:var(--tint);color:var(--accent-deep);border-color:rgba(14,157,110,.3)}
  .wschip.clk{cursor:pointer;transition:.15s} .wschip.clk:hover{border-color:var(--accent);color:var(--accent-deep)} .wschip.clk.on{background:var(--ink);color:#fff;border-color:var(--ink)} .wschip.clk.on .gd{background:var(--accent-soft)}
  .wspanel{display:none} .wspanel.on{display:block}
  .pane{padding:16px 18px;display:flex;flex-direction:column;gap:13px;min-width:0}
  .pane-h{display:flex;align-items:center;justify-content:space-between;gap:10px}
  .pane-h h3{margin:0;font-size:15px;font-weight:600;font-family:var(--serif)}
  .tag{font-size:11px;font-weight:600;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px}
  .tag.ok{background:var(--tint);color:var(--accent-deep)} .tag.warn{background:#FFF3E4;color:#B4530A}
  table.t{width:100%;border-collapse:collapse;font-size:12.5px}
  table.t th{text-align:left;font-weight:500;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em;padding:0 0 8px;border-bottom:1px solid var(--line)}
  table.t th.n,table.t td.n{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}
  table.t td{padding:7px 0;border-bottom:1px solid var(--line);color:var(--ink)}
  table.t td .a{color:var(--muted);font-family:var(--mono);font-size:11px;margin-right:9px}
  td.cr{color:var(--accent-deep)} td.neg{color:#B4530A}
  tr.tot td{font-weight:700;border-bottom:0;padding-top:10px} tr.sub td{border-top:1px solid var(--ink);font-weight:600}
  table.t td.acct{font-family:var(--mono);color:var(--muted);font-size:11.5px} table.t td.rg{color:var(--muted);font-size:11px}
  /* enveloppe de défilement des tableaux larges (posée par JS) : sur mobile,
     le tableau défile DANS son cadre au lieu d'écraser les colonnes. */
  .tw{min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}
  /* comparatif pour/contre */
  .vs{width:100%;max-width:900px;margin:0 auto;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:rgba(255,255,255,.94);backdrop-filter:blur(6px);box-shadow:0 34px 74px -40px rgba(8,50,34,.35);text-align:left}
  .vs-row{display:grid;grid-template-columns:1.05fr 1.35fr 1.35fr} .vs-row + .vs-row{border-top:1px solid var(--line)}
  .vs-row > div{padding:13px 15px;font-size:12.5px;line-height:1.35;display:flex;align-items:flex-start;gap:8px}
  .vs-crit{font-weight:600;color:var(--ink);background:#F5FAF7} .vs-old{color:var(--muted)} .vs-old .x{color:#C2410C;font-weight:800;flex-shrink:0} .vs-new{color:var(--ink);background:var(--tint)} .vs-new .c{color:var(--accent);font-weight:800;flex-shrink:0}
  .vs-head > div{font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.05em;align-items:center} .vs-head .vs-old{color:var(--muted)} .vs-head .vs-new{color:var(--accent-deep)} .vs-head .vs-new::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);display:inline-block;margin-right:4px}
  .mini{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
  .mc{border:1px solid var(--line);border-radius:9px;padding:10px 12px;background:#F6FBF8}
  .mc .k{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em} .mc .v{font-size:15px;font-weight:700;font-family:var(--mono);font-variant-numeric:tabular-nums;margin-top:3px} .mc .d{font-size:10px;margin-top:2px} .mc .up{color:var(--accent-deep)} .mc .dn{color:#B4530A}
  .jrows{display:flex;flex-direction:column;gap:9px}
  .je{border:1px solid var(--line);border-radius:9px;padding:10px 12px;background:#F6FBF8}
  .je-h{display:flex;align-items:center;justify-content:space-between;font-size:11.5px;color:var(--muted);margin-bottom:7px}
  .je-h b{color:var(--ink);font-family:var(--mono)} .je-line{display:grid;grid-template-columns:1fr auto auto;gap:6px 16px;font-size:12px;padding:2px 0} .je-line .a{color:var(--muted);font-family:var(--mono);font-size:10.5px;margin-right:7px} .je-line .n{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right;min-width:74px}
  .dot{width:6px;height:6px;border-radius:50%;display:inline-block} .dot.g{background:var(--accent)} .dot.o{background:#E08A2B}
/* Ajouts des autres pages : une maquette par section, en pleine largeur. */
.maquette{width:100%;margin-top:28px}
table.t td.n{white-space:nowrap}
button.wschip{font-family:inherit;line-height:1.2}
