/* ═══════════════════════════════════════════════════════════════════════════
 *  LA REFONTE DU PORTAIL — 14/10/2026 (maquette _maquettes/2026-10-13_portail/portail-partenaires.html)
 * ═══════════════════════════════════════════════════════════════════════════
 *  DEUX FAMILLES DE REGLES, ET ELLES NE SE MELANGENT PAS :
 *    « .pt-… »        LE GABARIT (bandeau, menus, pied, barre du bas, panneau, aide, boites). Toujours charge.
 *    « .pv2 … »       LE CONTENU des pages refaites. Une page refaite pose « $GLOBALS['pt_v2'] = true » : le gabarit
 *                     met alors « pv2 » sur <body> et NE charge PLUS app.css. Une page pas encore refaite garde app.css
 *                     et son ancien dessin, a l interieur du nouveau gabarit.
 *  LES COULEURS sont des jetons : la charte choisie (portail_v2_css, en base) les publie sur :root ; les valeurs
 *  ecrites ici sont celles de « Nuit & anis », la charte de depart, et servent de repli.
 *  LA PRESENTATION est une classe de <body> : pres-bandeau (depart), pres-lateral, pres-clair.
 * ═══════════════════════════════════════════════════════════════════════════ */

@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/manrope-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/manrope-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/manrope-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/manrope-latin-700-normal.woff2') format('woff2'); }

:root{
  --hdr:#0E1520;--hdr-ink:#E8EDF4;--hdr-mut:#8C99AB;
  --dark:#111A27;--dark2:#1A2534;--dark3:#243143;--dark-line:#2C3A4E;--dark-ink:#F3F6FA;--dark-mut:#9AA7B8;
  --accent:#D8F23A;--accent-ink:#11160A;--accent-soft:#F3FBD2;
  --bg:#F4F6F9;--surface:#FFFFFF;--ink:#111827;--mut:#5B6576;--line:#E2E6EC;--soft:#EEF1F5;--link:#2457D6;
  --pt-f:'Manrope','Segoe UI',system-ui,sans-serif;
  --ok:#1F9D63;--warn:#B45309;--danger:#C62828;--std:#9CA3AF;--conf:#60A5FA;--prem:#F5B83D;
  --pt-hdr-h:68px;--pt-bbar-h:0px;--pt-wrap:1320px;--pt-gout:32px;
}
@media (max-width:760px){ :root{ --pt-hdr-h:60px;--pt-gout:16px; } body.pt-logged{ --pt-bbar-h:64px; } }

/* ── la page entiere, pleine largeur (plus de cadre au milieu) ────────────── */
html{overflow-x:clip}
body.pt-body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--pt-f);-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
body.pt-body *{box-sizing:border-box}
.pt-wrap{width:100%;max-width:var(--pt-wrap);margin:0 auto;padding-left:var(--pt-gout);padding-right:var(--pt-gout)}
.pt-layout{flex:1 0 auto;display:block;min-width:0}
.pt-main{min-height:60vh;min-width:0;padding-bottom:28px}
.pt-ell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.pt-nowrap{white-space:nowrap}
.pt-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ── le bandeau du haut ──────────────────────────────────────────────────── */
.pt-hdr{position:sticky;top:0;z-index:30;background:var(--hdr);color:var(--hdr-ink);flex:none}
.pt-hdr .pt-in{display:flex;align-items:center;gap:22px;height:var(--pt-hdr-h)}
.pt-brand{display:flex;align-items:center;gap:10px;text-decoration:none!important;color:inherit;flex:none;min-width:0}
.pt-brand .pt-lg{width:34px;height:34px;border-radius:10px;background:var(--accent);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:17px;flex:none}
/*  15/10/2026 (V7) : le logo de l artisan a la place de la lettre — meme place, image entiere sur fond blanc  */
.pt-brand .pt-lg-img{display:block;object-fit:contain;background:#fff;padding:2px;box-sizing:border-box}
.pt-brand b{display:block;font-size:16px;letter-spacing:.02em;font-weight:700}
.pt-brand small{display:block;font-size:10.5px;color:var(--hdr-mut);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.pt-nav{display:flex;align-items:center;gap:4px;flex:1;min-width:0}
.pt-nav>a,.pt-more>button{padding:9px 12px;border-radius:10px;font-weight:600;font-size:14.5px;color:var(--hdr-mut);text-decoration:none!important;white-space:nowrap;position:relative;background:transparent;border:0;cursor:pointer;font-family:inherit;line-height:normal;display:inline-flex;align-items:center;gap:4px}
.pt-nav>a:hover,.pt-more>button:hover{color:var(--hdr-ink)}
.pt-nav>a.on,.pt-more>button.on{color:var(--hdr-ink);background:rgba(255,255,255,.08)}
.pt-more{position:relative;display:flex;align-items:center}
.pt-moremenu{position:absolute;top:calc(100% + 8px);left:0;min-width:240px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:6px;box-shadow:0 20px 40px -20px rgba(0,0,0,.45);z-index:35}
.pt-moremenu[hidden]{display:none}
.pt-moremenu a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:10px;font-weight:600;font-size:14.5px;color:var(--ink);text-decoration:none!important}
.pt-moremenu a:hover,.pt-moremenu a.on{background:var(--soft)}
.pt-dot{position:absolute;top:6px;right:4px;width:8px;height:8px;border-radius:50%;background:#EF4444}
.pt-right{display:flex;align-items:center;gap:10px;flex:none;margin-left:auto}
.pt-solde{display:flex;flex-direction:column;align-items:flex-end;text-decoration:none!important;color:inherit;padding:4px 10px;border-radius:10px}
.pt-solde:hover{background:rgba(255,255,255,.06)}
.pt-solde small{font-size:10.5px;color:var(--hdr-mut);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.pt-solde b{font-size:17px;white-space:nowrap;font-weight:700}
.pt-ibtn{width:42px;height:42px;border-radius:12px;border:0;background:rgba(255,255,255,.07);color:var(--hdr-ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;position:relative;text-decoration:none!important;flex:none}
.pt-ibtn:hover{background:rgba(255,255,255,.12)}
.pt-ibtn svg{width:20px;height:20px}
.pt-ibtn .pt-n{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;border-radius:9px;background:var(--accent);color:var(--accent-ink);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px}
.pt-vlinks{display:flex;align-items:center;gap:6px;margin-left:auto}
.pt-vlinks a{padding:9px 12px;font-weight:600;font-size:14.5px;color:var(--hdr-mut);text-decoration:none!important;border-radius:10px}
.pt-vlinks a.on,.pt-vlinks a:hover{color:var(--hdr-ink)}
.pt-burger{display:none}
.pt-hbtn{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 14px;border-radius:12px;background:var(--accent);color:var(--accent-ink)!important;font-weight:700;font-size:13.5px;text-decoration:none!important;white-space:nowrap}

/* ── le menu lateral (presentation « Menu lateral », artisan connecte) ──── */
.pt-side{display:none}
body.pres-lateral.pt-logged .pt-layout{display:grid;grid-template-columns:240px minmax(0,1fr)}
body.pres-lateral.pt-logged .pt-side{display:block;background:var(--hdr);color:var(--hdr-ink);padding:18px 14px;position:sticky;top:var(--pt-hdr-h);height:calc(100vh - var(--pt-hdr-h));overflow:auto}
body.pres-lateral.pt-logged .pt-nav{display:none}
body.pres-lateral.pt-logged{--pt-wrap:1180px}
.pt-side .pt-grp{font-size:11px;letter-spacing:.08em;color:var(--hdr-mut);font-weight:700;margin:16px 10px 6px;text-transform:uppercase}
.pt-side a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;color:var(--hdr-mut);text-decoration:none!important;font-weight:600;font-size:14.5px;position:relative}
.pt-side a:hover{color:var(--hdr-ink)}
.pt-side a.on{background:rgba(255,255,255,.08);color:var(--hdr-ink)}
.pt-side a svg{width:18px;height:18px;flex:none}

/* ── le pied de page, fixe en bas de l ecran a l ordinateur ──────────────── */
.pt-pied{position:sticky;bottom:0;z-index:20;border-top:1px solid var(--line);background:var(--surface);color:var(--mut);flex:none}
.pt-pied .pt-in{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;padding-top:12px;padding-bottom:12px;font-size:13.5px}
.pt-pied nav{display:flex;flex-wrap:wrap;gap:16px}
.pt-pied a{color:var(--mut);text-decoration:none!important}
.pt-pied a:hover{color:var(--ink)}

/* ── les messages (un seul systeme) ─────────────────────────────────────── */
/*  17/10/2026 (sequence 7, E9) — LES PETITS MESSAGES : en haut a droite, sous la barre, au-dessus du panier ; ils ne
    bloquent JAMAIS un clic (pointer-events:none sur la zone ET le message) ; seul le lien d un message le recoit.  */
.pt-msgs{position:fixed;right:16px;left:auto;top:calc(var(--pt-hdr-h) + 10px);z-index:1100;display:grid;gap:8px;width:min(420px,calc(100% - 32px));pointer-events:none}
.pt-msgs .pt-msg{pointer-events:none}
.pt-msgs .pt-msg a{pointer-events:auto}
.pt-msgs-js:empty{display:none}
.pt-msg{display:flex;gap:10px;align-items:flex-start;border-radius:14px;padding:12px 14px;font-size:14.5px;line-height:1.45;box-shadow:0 20px 40px -18px rgba(0,0,0,.45);background:var(--surface);color:var(--ink);border:1px solid var(--line)}
.pt-msg svg{flex:none;margin-top:1px}
.pt-msg span{flex:1;min-width:0}
.pt-msg.ok{border-left:4px solid var(--ok)}.pt-msg.ok svg{color:var(--ok)}
.pt-msg.err{border-left:4px solid var(--danger)}.pt-msg.err svg{color:var(--danger)}
.pt-msg.info{border-left:4px solid var(--link)}.pt-msg.info svg{color:var(--link)}
.pt-msg button{border:0;background:transparent;font-size:20px;line-height:1;cursor:pointer;color:var(--mut);padding:0 2px}

/* ── le bouton d aide, visible partout ───────────────────────────────────── */
.pt-aide{position:fixed;right:20px;bottom:calc(var(--pt-pied-h,47px) + 16px);z-index:25;height:42px;padding:0 16px;border-radius:999px;border:0;background:var(--link);color:#fff;font-weight:700;font-family:var(--pt-f);font-size:14.5px;cursor:pointer;box-shadow:0 10px 24px -10px rgba(0,0,0,.45)}
.pt-aide:hover{filter:brightness(1.08)}
.pt-aide-fond{position:fixed;inset:0;background:rgba(10,14,20,.45);z-index:1300}
.pt-aide-fond[hidden],.pt-aide-pan[hidden]{display:none}
.pt-aide-pan{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--surface);color:var(--ink);z-index:1301;display:flex;flex-direction:column;box-shadow:-20px 0 40px -20px rgba(0,0,0,.4)}
.pt-aide-pan .pt-h{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line);flex:none}
.pt-aide-pan .pt-h h2{margin:0;font-size:17px}
.pt-aide-pan .pt-b{padding:18px 20px;overflow:auto}
.pt-aide-pan .pt-b h3{margin:0 0 6px;font-size:15.5px}
.pt-aide-pan .pt-b .pt-t{margin:0 0 18px;font-size:14.5px;line-height:1.6;color:var(--mut)}
.pt-aide-pan .pt-b .pt-t p{margin:0 0 8px}
.pt-x{border:0;background:var(--soft);color:var(--ink);width:36px;height:36px;border-radius:10px;cursor:pointer;font-size:18px;flex:none}

/* ── la barre du bas et le panneau « Menu » (telephone) ──────────────────── */
.pt-bbar{display:none}
.pt-voile{position:fixed;inset:0;background:rgba(10,14,20,.45);z-index:40}
.pt-voile[hidden]{display:none}
.pt-mpanel{position:fixed;left:0;right:0;bottom:0;max-height:85svh;overflow:auto;background:var(--surface);color:var(--ink);z-index:41;border-radius:22px 22px 0 0;padding:16px 18px calc(24px + env(safe-area-inset-bottom))}
.pt-mpanel[hidden]{display:none}
.pt-mpanel .pt-mtete{display:flex;justify-content:space-between;align-items:center}
.pt-mpanel .pt-mtete b{font-size:17px}
.pt-mpanel .pt-grp{font-size:11.5px;font-weight:700;letter-spacing:.08em;color:var(--mut);text-transform:uppercase;margin:14px 4px 6px}
.pt-mpanel a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 10px;border-radius:12px;font-weight:700;text-decoration:none!important;color:var(--ink);min-height:44px}
.pt-mpanel a:hover,.pt-mpanel a.on{background:var(--soft)}
.pt-mpanel a.pt-sortie{color:var(--danger)}

@media (max-width:760px){
  .pt-hdr .pt-in{gap:10px}
  .pt-nav,.pt-vlinks{display:none}
  .pt-solde small{display:none}.pt-solde b{font-size:15px}
  .pt-burger{display:inline-flex}
  body.pt-logged .pt-brand-txt{display:none}
  body.pt-logged .pt-ibtn.pt-sortir{display:none}
  body.pres-lateral.pt-logged .pt-layout{display:block}
  body.pres-lateral.pt-logged .pt-side{display:none}
  .pt-pied{display:none}
  .pt-aide{bottom:calc(var(--pt-bbar-h) + 16px + env(safe-area-inset-bottom));right:14px;height:40px;padding:0 14px}
  body.pt-logged .pt-bbar{display:grid;position:sticky;bottom:0;z-index:30;grid-template-columns:repeat(5,minmax(0,1fr));background:var(--hdr);color:var(--hdr-mut);border-top:1px solid rgba(255,255,255,.08);padding-bottom:env(safe-area-inset-bottom);flex:none}
  .pt-bbar a,.pt-bbar button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 0 11px;font-size:11.5px;font-weight:700;text-decoration:none!important;color:inherit;position:relative;background:transparent;border:0;font-family:inherit;cursor:pointer;min-width:0}
  .pt-bbar .on{color:var(--accent)}
  .pt-bbar svg{width:22px;height:22px}
  .pt-bbar .pt-dot{top:6px;right:28%}
  .pt-msgs{top:calc(var(--pt-hdr-h) + 8px);right:12px;left:12px;width:auto}
}
@media (min-width:761px){ .pt-mpanel,.pt-voile.pt-mvoile{display:none!important} }

/* ═══════════════════════════════════════════════════════════════════════════
 *  LE CONTENU DES PAGES REFAITES (« .pv2 »)
 * ═══════════════════════════════════════════════════════════════════════════ */
.pv2{font-size:15px;line-height:1.5}
/*  14/10 : borne au contenu — sur <body class="pv2">, « .pv2 a » repeignait les liens du bandeau en bleu.  */
:where(.pt-main) a{color:var(--link)}
.pv2 button,.pv2 input,.pv2 select,.pv2 textarea{font:inherit;color:inherit}
.pv2 h1,.pv2 h2,.pv2 h3{color:var(--ink)}
.pv2 .wrap{width:100%;max-width:var(--pt-wrap);margin:0 auto;padding:0 var(--pt-gout)}
.pv2 .nowrap{white-space:nowrap}
.pv2 .ell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.pv2 .ph{padding-top:34px;padding-bottom:8px}
.pv2 .ph h1{margin:0;font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1.2}
.pv2 .ph p{margin:8px 0 0;color:var(--mut);font-size:15.5px;line-height:1.55;max-width:80ch}
.pv2 .back{display:inline-flex;align-items:center;gap:6px;color:var(--mut);font-weight:700;font-size:14px;text-decoration:none;margin-bottom:10px}
.pv2 .back:hover{color:var(--ink)}
.pv2 .sec{padding:26px 0}
.pv2 .sec h2{margin:0 0 6px;font-size:22px;font-weight:700;letter-spacing:-.01em}
.pv2 .sec .sub{margin:0 0 18px;color:var(--mut);font-size:15px;line-height:1.55}
.pv2 .card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px}
.pv2 .grid{display:grid;gap:16px}
.pv2 .grid>*,.pv2 .kpis>*{min-width:0}
.pv2 .g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.pv2 .g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pv2 .g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.pv2 .pill{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;border-radius:999px;padding:4px 10px;white-space:nowrap}
.pv2 .pill.ok{background:#E3F6EC;color:#13734A}
.pv2 .pill.warn{background:#FFF3DC;color:#8A4B06}
.pv2 .pill.mut{background:var(--soft);color:var(--mut)}
.pv2 .pill.bad{background:#FDE7E7;color:#9B1C1C}
.pv2 .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 18px;border-radius:12px;border:0;font-weight:700;font-size:14.5px;cursor:pointer;text-decoration:none!important;white-space:nowrap}
.pv2 .btn.acc{background:var(--accent);color:var(--accent-ink)}
.pv2 .btn.ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}
.pv2 .btn.dk{background:var(--ink);color:#fff}
.pv2 .btn.sm{height:38px;padding:0 14px;font-size:13.5px}
.pv2 .btn.full{width:100%}
.pv2 .btn:disabled,.pv2 .btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed}
.pv2 .stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:28px;padding:18px 0 6px}
.pv2 .stats>div{display:grid;grid-template-rows:auto auto 1fr;gap:4px;min-width:0}
.pv2 .stats small{font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--mut);text-transform:uppercase}
.pv2 .stats b{font-size:28px;font-weight:700;white-space:nowrap}
.pv2 .stats span{color:var(--mut);font-size:13.5px;line-height:1.4}
.pv2 .note{color:var(--mut);font-size:13.5px;line-height:1.5;margin-top:12px}
.pv2 .notice{display:flex;gap:14px;align-items:flex-start;background:#FFF7E6;border:1px solid #F6D58E;border-radius:16px;padding:16px 18px;color:#5C3A06}
.pv2 .notice ul{margin:6px 0 0;padding-left:18px}
.pv2 .warnline{background:#FFF7E6;color:#5C3A06;border-radius:12px;padding:12px 16px;font-size:14.5px;margin-top:8px}
.pv2 .warnline a{font-weight:700;color:#5C3A06}
.pv2 .okline{display:flex;gap:12px;align-items:flex-start;color:var(--ok);font-size:14.5px;line-height:1.5}
.pv2 .okline svg{width:22px;height:22px;flex:none}
.pv2 .okline b,.pv2 .okline span,.pv2 .okline div{color:var(--ink)}
.pv2 .h3{display:block;font-size:17px;font-weight:700;margin:18px 0 10px}
.pv2 .split{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center}
.pv2 .rows{display:grid;gap:12px}
.pv2 .rowc{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px 18px}
.pv2 .rowc b{display:block}.pv2 .rowc small{color:var(--mut)}
.pv2 a.rowc{color:var(--ink);text-decoration:none}
.pv2 a.rowc:hover{border-color:var(--ink)}
.pv2 .tbl{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.pv2 .tbl table{width:100%;min-width:760px;border-collapse:collapse;font-size:14.5px}
.pv2 .tbl th,.pv2 .tbl td{padding:13px 16px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
.pv2 .tbl thead th{background:var(--soft);font-size:12.5px;color:var(--mut);letter-spacing:.04em;text-transform:uppercase}
.pv2 .tbl td.r,.pv2 .tbl th.r{text-align:right}
.pv2 .tbl tr:last-child td{border-bottom:0}
.pv2 .tbl td.pos{color:var(--ok);font-weight:700}.pv2 .tbl td.neg{color:var(--danger);font-weight:700}
.pv2 .tools{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 14px;align-items:center}
.pv2 .form{display:grid;gap:14px}
.pv2 .f label,.pv2 .fl>label{display:block;font-weight:700;font-size:14px;margin-bottom:6px}
.pv2 .f input:not([type=checkbox]):not([type=radio]):not([type=range]),.pv2 .f textarea{width:100%;min-height:48px;border:1px solid #CDD3DC;border-radius:12px;padding:0 14px;background:var(--surface)}
.pv2 .f textarea{padding:12px 14px}
.pv2 .f small{display:block;color:var(--mut);font-size:13px;margin-top:6px;line-height:1.4}
.pv2 .chk{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.45}
.pv2 .chk input{width:20px;height:20px;margin-top:1px;accent-color:var(--ok);flex:none}
.pv2 .choices{display:grid;gap:10px}
.pv2 .choice{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:14px 16px;cursor:pointer;background:var(--surface)}
.pv2 .choice.on{border:2px solid var(--ink);padding:13px 15px}
.pv2 .choice.sw2{grid-template-columns:minmax(0,1fr) auto;cursor:default}
.pv2 .choice b{display:block}.pv2 .choice small{color:var(--mut);display:block}
.pv2 .choice .pr{text-align:right;font-weight:700;white-space:nowrap}
.pv2 .sw{flex:none;position:relative;width:48px;height:28px;border-radius:999px;border:0;background:#C7CDD6;cursor:pointer;padding:0}
.pv2 .sw::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.pv2 .sw[aria-checked="true"]{background:var(--ok)}
.pv2 .sw[aria-checked="true"]::after{transform:translateX(20px)}
.pv2 .seg{display:flex;gap:4px;background:var(--soft);border-radius:12px;padding:4px}
.pv2 .seg button{flex:1;border:0;background:transparent;min-height:42px;border-radius:9px;font-weight:700;font-size:14px;color:var(--mut);cursor:pointer;padding:6px 8px;line-height:1.2}
.pv2 .seg button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(20,26,36,.15)}
.pv2 .tags{display:flex;flex-wrap:wrap;gap:8px}
.pv2 .tag{border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-weight:700;font-size:14px;cursor:pointer;background:var(--surface)}
.pv2 .tag.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.pv2 .faq details{border-bottom:1px solid var(--line);padding:16px 0}
.pv2 .faq summary{font-weight:700;cursor:pointer;font-size:15.5px;list-style:none;display:flex;justify-content:space-between;gap:16px}
.pv2 .faq summary::-webkit-details-marker{display:none}
.pv2 .faq summary::after{content:"+";font-weight:700;color:var(--mut)}
.pv2 .faq details[open] summary::after{content:"−"}
.pv2 .faq p{margin:10px 0 0;color:var(--mut);line-height:1.55;font-size:14.5px;max-width:90ch}
.pv2 .auth{max-width:520px;padding-top:40px;padding-bottom:40px}

/* ── la liste de choix dessinee (remplace <select>) ──────────────────────── */
.pt-cbx{position:relative;display:block;min-width:0}
.pt-cbx>select{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;inset:0 auto auto 0}
.pt-cbx>.pt-v{width:100%;min-height:44px;border:1px solid #CDD3DC;border-radius:12px;background:var(--surface,#fff);color:var(--ink,#111827);display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 14px;cursor:pointer;font:inherit;text-align:left}
.pt-cbx>.pt-v:disabled{opacity:.6;cursor:not-allowed}
.pt-cbx>.pt-v>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.pt-cbx>.pt-v>span:last-child{color:var(--mut,#5B6576);flex:none}
.pt-cbx .pt-lst{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:50;background:var(--surface,#fff);color:var(--ink,#111827);border:1px solid var(--line,#E2E6EC);border-radius:14px;box-shadow:0 20px 40px -18px rgba(0,0,0,.4);padding:6px;max-height:min(320px,60vh);overflow:auto;min-width:200px}
.pt-cbx .pt-lst[hidden]{display:none}
.pt-cbx .pt-lst input{width:100%;height:40px;border:1px solid var(--line,#E2E6EC);border-radius:10px;padding:0 12px;margin-bottom:6px;font:inherit}
.pt-cbx .pt-lst [data-v]{padding:10px 12px;border-radius:10px;cursor:pointer;font-size:14.5px;line-height:1.35}
.pt-cbx .pt-lst [data-v]:hover,.pt-cbx .pt-lst [data-v].sel,.pt-cbx .pt-lst [data-v].act{background:var(--soft,#EEF1F5)}
.pt-cbx .pt-lst [data-v][aria-disabled="true"]{opacity:.45;cursor:not-allowed}
.pt-cbx .pt-lst .pt-grp-l{padding:8px 12px 4px;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mut,#5B6576)}
.pt-cbx .pt-lst .pt-vide{padding:10px 12px;color:var(--mut,#5B6576);font-size:14px}

/* ── les boites (une seule mise en forme pour toutes les fenetres) ───────── */
.pt-modal{position:fixed;left:50%;top:max(80px,12vh);transform:translateX(-50%);width:min(520px,calc(100% - 24px));max-height:calc(100svh - 120px);overflow:auto;background:var(--surface);color:var(--ink);border-radius:20px;z-index:1250;padding:24px;box-shadow:0 30px 60px -20px rgba(0,0,0,.45)}
.pt-modal[hidden]{display:none}
.pt-modal h3{margin:0 0 8px;font-size:20px}
.pt-modal .acts{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
.pt-drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:var(--surface);color:var(--ink);z-index:1250;display:flex;flex-direction:column;box-shadow:-20px 0 40px -20px rgba(0,0,0,.4)}
.pt-drawer[hidden]{display:none}

/* ── le defilement par blocs, au telephone ───────────────────────────────── */
@media (max-width:760px){
  html.pt-snap{scroll-snap-type:y proximity;scroll-padding-top:var(--pt-hdr-h)}
  .pv2 .snap{scroll-snap-align:start}
  .pv2 .ph{padding-top:22px;padding-bottom:4px}
  .pv2 .ph h1{font-size:24px}
  .pv2 .g2,.pv2 .g3,.pv2 .g4{grid-template-columns:1fr}
  .pv2 .split{grid-template-columns:1fr}
  .pv2 .rowc{grid-template-columns:1fr}
  .pv2 .stats{grid-template-columns:1fr 1fr;gap:18px}
  .pv2 .stats b{font-size:22px}
  .pv2 .choice{grid-template-columns:22px minmax(0,1fr)}
  .pv2 .choice .pr{grid-column:2;text-align:left}
}
@media (prefers-reduced-motion:reduce){ html.pt-snap{scroll-snap-type:none} }

/* ═══════════════════════════════════════════════════════════════════════════
 *  LES FENETRES DU GABARIT — un seul dessin pour toutes (confirmation, fin de session, « il nous manque »)
 *  Elles vivent dans le gabarit ; ces regles valent sur TOUTES les pages (refaites ou non) et passent apres app.css.
 * ═══════════════════════════════════════════════════════════════════════════ */
.fen-voile{position:fixed;inset:0;z-index:1200;background:rgba(10,14,20,.55);display:flex;align-items:center;justify-content:center;padding:20px}
.fen-voile[hidden]{display:none}
.fen{width:100%;max-width:520px;border-radius:20px;background:var(--surface);color:var(--ink);box-shadow:0 30px 60px -20px rgba(0,0,0,.45);padding:24px;outline:none;font-family:var(--pt-f)}
.fen-titre{margin:0 0 10px;font-size:20px;font-weight:700;letter-spacing:-.01em;color:var(--ink)}
.fen-corps{font-size:14.5px;line-height:1.55;color:var(--mut)}
.fen-l{display:flex;align-items:baseline;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.fen-l b,.fen-l .fen-prix,.fen-tot b,.fen-solde b{color:var(--ink)}
.fen-l .fen-met{flex:1;min-width:0;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fen-l .fen-prix{flex:none;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.fen-tot{display:flex;justify-content:space-between;align-items:baseline;margin-top:16px;font-size:15px}
.fen-tot b{font-size:28px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.fen-solde{margin-top:10px;font-size:13.5px}
.fen-manque{margin-top:12px;padding:10px 12px;border-radius:12px;background:#FFF7E6;color:#5C3A06;font-weight:700}
.fen-pack{color:var(--ok);font-weight:700}
.fen-pieds{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
.fen-bt{flex:1;min-height:44px;padding:0 16px;border:0;border-radius:12px;font-size:14.5px;font-weight:700;cursor:pointer;font-family:var(--pt-f)}
.fen-bt[hidden]{display:none}
.fen-bt:focus-visible{outline:2px solid var(--link);outline-offset:2px}
.fen-bt-annuler,.fen-bt-autre{background:transparent;border:1px solid var(--line);color:var(--ink)}
.fen-bt-ok{background:var(--accent);color:var(--accent-ink)}
.fen-bt-alerte{background:var(--danger);color:#fff}
.fen-bt:hover{filter:brightness(1.05)}
.sess-compte{text-align:center;margin:14px 0 0}
.sess-compte[hidden]{display:none!important}
.sess-rond{position:relative;width:110px;height:110px;margin:0 auto}
.sess-rond svg{width:100%;height:100%;display:block;transform:rotate(-90deg)}
.sess-rond circle{fill:none;stroke-width:6px}
.sess-rond-fond{stroke:var(--soft)}
.sess-rond-part{stroke:var(--ok);stroke-linecap:round;transition:stroke-dashoffset 1s linear}
.sess-compte b{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);font-size:32px;font-weight:700;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.sess-voile[data-presse="1"] .sess-compte b{color:var(--danger)}
.sess-voile[data-presse="1"] .sess-rond-part{stroke:var(--danger)}
html.sess-fermee body *:not(#sessVoile):not(#sessVoile *){visibility:hidden!important}
html.sess-fermee #sessVoile{visibility:visible}
.am-dialog{border:0;border-radius:20px;padding:24px;max-width:min(520px,calc(100vw - 32px));background:var(--surface);color:var(--ink);box-shadow:0 30px 60px -20px rgba(0,0,0,.45);font-family:var(--pt-f)}
.am-dialog::backdrop{background:rgba(10,14,20,.55)}
.am-dialog .am-titre{display:block;font-size:18px;font-weight:700;margin:0 0 12px}
.am-dialog .am-liste{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.am-dialog .am-liste li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:var(--soft);font-size:14px;line-height:1.4}
.am-dialog .am-bouton{flex:0 0 auto;display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border-radius:12px;background:var(--accent);color:var(--accent-ink);font-weight:700;text-decoration:none!important;font-size:13.5px;white-space:nowrap}
.am-dialog .am-pied{display:flex;justify-content:flex-end;margin:14px 0 0}
.am-dialog .am-fermer{border:1px solid var(--line);background:transparent;color:inherit;border-radius:12px;min-height:40px;padding:0 16px;font-weight:700;cursor:pointer;font-family:var(--pt-f)}
@media (max-width:760px){
  .fen-voile{align-items:flex-end;padding:0}
  .fen{max-width:none;border-radius:22px 22px 0 0;padding:20px 16px calc(24px + env(safe-area-inset-bottom))}
  .fen-pieds{flex-direction:column-reverse}
}
body.pt-fige{overflow:hidden}
.pt-pi{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px;flex:none}
.pt-colonne{min-width:0;display:flex;flex-direction:column;min-height:100%}
.pt-pastille-manque{color:#EF4444;font-size:10px;line-height:1}
.pt-ancien{max-width:var(--pt-wrap);margin:0 auto;width:100%}

/* ── sequence 2 (14/10/2026) : la pastille « À compléter », le point du menu lateral ── */
.pt-pill-bad{display:inline-flex;align-items:center;font-size:12px;font-weight:700;border-radius:999px;padding:3px 9px;white-space:nowrap;background:#FDE7E7;color:#9B1C1C;flex:none}
.pt-side .pt-dot-side{top:50%;right:10px;margin-top:-4px}
.pt-side a .pt-ell{flex:1}

/* ═══════════════════════════════════════════════════════════════════════════
 *  SEQUENCE 3 (14/10/2026) — LES PAGES DU VISITEUR : accueil, Nos plans, inscription, connexion
 *  Recopie de la maquette (hero, live, step, atout, band, plans, cmp, calc, res, st4, stepper, auth).
 * ═══════════════════════════════════════════════════════════════════════════ */
.pv2 .hero{background:var(--hdr);color:var(--hdr-ink);padding:56px 0 64px;min-height:calc(100vh - var(--pt-hdr-h,68px) - var(--pt-pied-h,47px));min-height:calc(100svh - var(--pt-hdr-h,68px) - var(--pt-pied-h,47px));display:flex;align-items:center}
.pv2 .hero>.wrap{width:100%;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:center}
.pv2 .hero h1{color:var(--hdr-ink);font-size:46px;line-height:1.08;margin:0 0 16px;letter-spacing:-.025em;font-weight:700}
.pv2 .hero p{color:var(--hdr-mut);font-size:17px;line-height:1.55;margin:0 0 24px;max-width:56ch}
.pv2 .hero .ctas{display:flex;gap:12px;flex-wrap:wrap}
.pv2 .hero .mention{margin-top:14px;font-size:13px;color:var(--hdr-mut)}
.pv2 .btn.hdr-ghost{border-color:rgba(255,255,255,.22);color:var(--hdr-ink)}
.pv2 .live{border-left:2px solid var(--accent);padding:4px 0 4px 24px;min-width:0}
.pv2 .live .t{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--accent);text-transform:uppercase}
.pv2 .live .t i{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent);flex:none}
.pv2 .live .row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.pv2 .live .row b{display:block;font-size:15px;color:var(--hdr-ink)}
.pv2 .live .row small{display:block;color:var(--hdr-mut);font-size:13px}
.pv2 .live .row .p{font-weight:700;color:var(--accent);white-space:nowrap}
.pv2 .live .f{margin-top:12px;font-size:13px;color:var(--hdr-mut)}
.pv2 .live .vide{padding:13px 0;color:var(--hdr-mut);font-size:14.5px}
.pv2 .step{display:grid;grid-template-rows:subgrid;grid-row:span 4;gap:6px}
.pv2 .step .n,.pv2 .st4 .n{width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}
.pv2 .step b,.pv2 .st4 b{font-size:16px}
.pv2 .step p,.pv2 .st4 p{margin:0;color:var(--mut);font-size:14.5px;line-height:1.5}
.pv2 .step small{color:var(--mut);font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.pv2 .atout{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:start}
.pv2 .atout .ic{width:40px;height:40px;border-radius:12px;background:var(--accent-soft);color:var(--ink);display:flex;align-items:center;justify-content:center}
.pv2 .atout .ic svg{width:20px;height:20px}
.pv2 .atout b{display:block;font-size:15.5px;margin-bottom:4px}
.pv2 .atout p{margin:0;color:var(--mut);font-size:14.5px;line-height:1.5}
.pv2 .band{background:var(--hdr);color:var(--hdr-ink);border-radius:22px;padding:36px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center}
.pv2 .band h2{margin:0 0 6px;font-size:26px;color:var(--hdr-ink)}
.pv2 .band p{margin:0;color:var(--hdr-mut)}
.pv2 .engrow{display:flex;align-items:center;gap:12px;margin:0 0 18px;flex-wrap:wrap;background:none;border:0;padding:0;text-align:left;cursor:pointer;min-height:44px}
.pv2 .plans{display:grid;gap:16px;grid-template-columns:repeat(var(--n,4),minmax(0,1fr))}
.pv2 .plan{position:relative;display:grid;grid-template-rows:subgrid;grid-row:span 7;row-gap:0;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:24px 22px 22px;min-width:0}
.pv2 .plan.feat{border:2px solid var(--ink);padding:23px 21px 21px}
.pv2 .plan .badge{position:absolute;top:-12px;left:20px;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:12.5px;padding:5px 11px;border-radius:999px}
.pv2 .plan h3{margin:0;font-size:19px;font-weight:700}
.pv2 .plan .desc{margin:6px 0 0;color:var(--mut);font-size:14.5px;line-height:1.45}
.pv2 .plan .amt{margin-top:18px}
.pv2 .plan .amt b{font-size:34px;font-weight:700;letter-spacing:-.02em;white-space:nowrap}
.pv2 .plan .amt span{display:block;color:var(--mut);font-size:13px;margin-top:4px}
.pv2 .plan .go{margin-top:18px}
.pv2 .plan .cur{display:flex;align-items:center;justify-content:center;height:44px;border-radius:12px;background:var(--soft);font-weight:700;font-size:14px}
.pv2 .plan ul{list-style:none;margin:20px 0 0;padding:18px 0 0;border-top:1px solid var(--line);display:grid;gap:10px;align-content:start;font-size:14.5px;line-height:1.45}
.pv2 .plan li{display:grid;grid-template-columns:18px 1fr;gap:10px}
.pv2 .plan li svg{width:18px;height:18px;margin-top:1px;color:var(--ok)}
.pv2 .plan .ex{margin:16px 0 0;font-size:14px;line-height:1.45;color:var(--mut)}
.pv2 .plan .ex b{color:var(--ink)}
.pv2 .cmp{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.pv2 .cmp table{width:100%;min-width:720px;border-collapse:collapse;font-size:14.5px}
.pv2 .cmp th,.pv2 .cmp td{padding:13px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.pv2 .cmp tr:last-child td,.pv2 .cmp tr:last-child th{border-bottom:0}
.pv2 .cmp thead th{background:var(--soft);font-size:15px}
.pv2 .cmp tbody th{color:var(--mut);font-weight:700;width:22%}
.pv2 .cmp .hl{background:var(--accent-soft)}
.pv2 .calc{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:32px;align-items:start}
.pv2 .fl{margin-bottom:14px}
.pv2 .fl>label{font-size:13.5px}
.pv2 .seg button small{display:block;font-weight:600;font-size:12px;color:var(--mut)}
.pv2 .base{margin-top:14px;background:var(--accent-soft);border-radius:14px;padding:14px 16px}
.pv2 .base b{font-size:30px;font-weight:700;white-space:nowrap}
.pv2 .base span{display:block;color:var(--mut);font-size:13.5px;margin-top:4px}
.pv2 .res{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface)}
.pv2 .res .r{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) auto;gap:12px;align-items:center;padding:13px 16px;border-bottom:1px solid var(--line)}
.pv2 .res .r:last-child{border-bottom:0}
.pv2 .res .r.h{background:var(--soft);font-size:13px;color:var(--mut);font-weight:700}
.pv2 .res .r .p{font-weight:700;font-size:17px;text-align:right;white-space:nowrap}
.pv2 .res .r .c{color:var(--mut);font-size:13.5px}
.pv2 .res .r.best{background:var(--accent-soft)}
.pv2 .save{display:inline-block;margin-left:6px;font-size:12px;font-weight:700;background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:2px 8px;vertical-align:middle}
.pv2 .st4{display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:8px}
.pv2 .stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0 22px}
.pv2 .stepper div{border-top:4px solid var(--line);padding-top:10px;font-size:13px;color:var(--mut)}
.pv2 .stepper div b{display:block;color:var(--ink);font-size:14.5px}
.pv2 .stepper div small{display:block;font-size:12px;font-weight:700;color:var(--mut)}
.pv2 .stepper div span{display:block;font-size:13px;color:var(--mut);margin-top:2px}
.pv2 .stepper div.on{border-color:var(--accent)}
.pv2 .stepper div.done{border-color:var(--ok)}
.pv2 .ins{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:24px;align-items:start}
.pv2 .aside-list{display:grid;gap:18px;align-content:start;padding-top:6px}
.pv2 .aside-list>div{display:grid;grid-template-columns:32px 1fr;gap:12px}
.pv2 .aside-list svg{width:22px;height:22px;color:var(--ok)}
.pv2 .aside-list b{display:block}
.pv2 .aside-list p{margin:2px 0 0;color:var(--mut);font-size:14px;line-height:1.45}
.pv2 .navbt{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:22px;flex-wrap:wrap}
.pv2 .auth .card h1{margin:0 0 6px;font-size:26px}
.pv2 .auth .card>p{margin:0 0 18px;color:var(--mut);line-height:1.55}
.pv2 .auth .lien-centre{margin:0;text-align:center;color:var(--mut);font-size:14px}
.pv2 .err{margin:4px 0;color:var(--danger);font-weight:700}
.pv2 .msgf{border-radius:12px;padding:12px 14px;font-size:14.5px;line-height:1.5;margin:0 0 14px}
.pv2 .msgf.err{background:#FDE7E7;color:#9B1C1C;font-weight:600}
.pv2 .msgf.ok{background:#E3F6EC;color:#13734A;font-weight:600}
@media (max-width:760px){
  .pv2 .hero{padding:32px 0 38px;min-height:calc(100svh - var(--pt-hdr-h,60px));align-items:flex-start}
  .pv2 .hero>.wrap{grid-template-columns:1fr;gap:24px}
  .pv2 .hero h1{font-size:30px}
  .pv2 .live{border-left:0;border-top:2px solid var(--accent);padding:14px 0 0}
  .pv2 .step,.pv2 .plan,.pv2 .st4{grid-row:auto;display:flex;flex-direction:column}
  .pv2 .plans{grid-template-columns:1fr!important}
  .pv2 .plan .go{margin-top:16px}
  .pv2 .calc,.pv2 .ins{grid-template-columns:1fr}
  .pv2 .res .r{grid-template-columns:minmax(0,1fr) auto}
  .pv2 .res .r .c{display:none}
  .pv2 .band{grid-template-columns:1fr;padding:24px}
  .pv2 .stepper div span,.pv2 .stepper div small{display:none}
  .pv2 .stepper div b{font-size:12.5px}
}
@media (min-width:761px) and (max-width:1100px){
  .pv2 .plans{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pv2 .plan{grid-row:auto;display:flex;flex-direction:column}
  .pv2 .plan .go{margin-top:auto;padding-top:18px}
  .pv2 .g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pv2 .step,.pv2 .st4{grid-row:auto;display:flex;flex-direction:column}
}
.pt-hdr .pt-burger{margin-left:auto}
/* ── un mot de passe et son oeil (sequence 3) ── */
.pv2 .mdp{position:relative}
.pv2 .mdp input{padding-right:52px!important}
.pv2 .mdp button{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;background:none;color:var(--mut);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:10px}
.pv2 .mdp button:hover{background:var(--soft);color:var(--ink)}
.pv2 .mdp button svg{width:20px;height:20px}
.pv2 .mdp button[aria-pressed="true"] .o1,.pv2 .mdp button[aria-pressed="false"] .o2,.pv2 .mdp button:not([aria-pressed]) .o2{display:none}
.pv2 .lignes-centre{display:grid;gap:6px;text-align:center;color:var(--mut);font-size:14px;margin:4px 0 0}
/* ── l inscription (sequence 3) : son en-tete et son fil, comme la maquette. La page garde son formulaire et sa logique
 *    (verification du SIRET, quatre etapes) : seul ce qui l entoure change. Pas de cadre sombre dans le cadre. ── */
body.pt-body .vit .ins-top{background:transparent;padding:34px var(--pt-gout) 0;max-width:var(--pt-wrap);margin:0 auto}
body.pt-body .vit .ins-top h1{color:var(--ink);font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:0}
body.pt-body .vit .ins-top>p{color:var(--mut);font-size:15.5px;line-height:1.55;margin:8px 0 0;max-width:80ch}
body.pt-body .vit .ins-fil{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0 0;border:0;padding:0}
body.pt-body .vit .ins-fil>div{border-top:4px solid var(--line);padding:10px 0 0;min-width:0}
body.pt-body .vit .ins-fil>div.active{border-color:var(--accent)}
body.pt-body .vit .ins-fil>div.done{border-color:var(--ok)}
body.pt-body .vit .ins-fil .n,body.pt-body .vit .ins-fil>div.off .n{display:block;font-size:12px;font-weight:700;color:var(--mut);margin:0}
body.pt-body .vit .ins-fil b,body.pt-body .vit .ins-fil>div.off b{display:block;color:var(--ink);font-size:14.5px;margin:0}
body.pt-body .vit .ins-fil span{display:block;font-size:13px;color:var(--mut);margin-top:2px}
body.pt-body .vit .ins-corps{max-width:var(--pt-wrap);margin:0 auto;padding:22px var(--pt-gout) 36px}
body.pt-body .vit .ins-corps .register-btn:not(:disabled){background:var(--accent);color:var(--accent-ink)}
.ins-gestes #verifySiretBtn{margin:0 !important}   /* il portait « margin:16px 0 0 auto » : les deux gestes etaient decales */
@media (max-width:760px){
  body.pt-body .vit .ins-top{padding-top:22px}
  body.pt-body .vit .ins-top h1{font-size:24px}
  body.pt-body .vit .ins-fil{display:none}
  body.pt-body .vit .ins-corps{padding:18px var(--pt-gout) 28px}
}

/* ═══════════════════════════════════════════════════════════════════════════
 *  SEQUENCE 4 (14/10/2026) — LE HAUT DE LA SALLE DE MARCHE, comme la maquette (« .ruban », « .cin », « .ind »).
 *  Classes neuves « sv-* » : l ancien haut (« .ruban », « .cpt », « .mk-top ») porte des dizaines de regles, dont des
 *  « !important » ; aucune ne les rencontre. Les couleurs suivent l ambiance de la salle (« --v4-* », reglees dans
 *  Parametres > Salle de marche) et la couleur d action de la charte.
 * ═══════════════════════════════════════════════════════════════════════════ */
.pt-ancien.pt-pleine{max-width:none}
.salle-pv2{--sv-up:#4ADE80;--sv-dn:#F87171;--sv-c1:#4ADE80;--sv-c2:#60A5FA;--sv-lv:var(--accent);--sv-dot:var(--accent);--sv-warn:#FFC65C;
  font-variant-numeric:tabular-nums}
.salle-pv2.claire{--sv-up:var(--ok);--sv-dn:var(--danger);--sv-c1:var(--ok);--sv-c2:#2563EB;--sv-lv:var(--v4-texte);--sv-dot:var(--ok);--sv-warn:var(--warn)}
.salle-pv2 .sv-wrap{max-width:var(--pt-wrap);margin:0 auto;padding:0 var(--pt-gout);box-sizing:border-box;width:100%}
.salle-pv2 .sv-haut{background:var(--v4-salle);color:var(--v4-texte)}
.salle-pv2 .sv-ruban{display:flex;align-items:center;gap:16px;padding:12px 0;font-size:14px;min-height:52px}
.salle-pv2 .sv-lv{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--sv-lv);flex:none}
.salle-pv2 .sv-lv i{width:8px;height:8px;border-radius:50%;background:var(--sv-dot)}
.salle-pv2 .sv-defil{flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.salle-pv2 .sv-piste{display:flex;width:max-content;animation:sv-defil var(--sv-duree,45s) linear infinite}
.salle-pv2 .sv-defil:hover .sv-piste,.salle-pv2 .sv-defil:focus-within .sv-piste{animation-play-state:paused}
.salle-pv2 .sv-groupe{display:flex;align-items:center;gap:19px;padding:0 10px 0 9px;white-space:nowrap;flex:none}
@keyframes sv-defil{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.salle-pv2 .sv-piste{animation:none}}
.salle-pv2 .sv-ti{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;flex:none}
.salle-pv2 .sv-tn{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--v4-legende)}
.salle-pv2 .sv-tp{font-weight:700}
.salle-pv2 .sv-td{font-size:12.5px;font-weight:800;white-space:nowrap}
.salle-pv2 .sv-td.up{color:var(--sv-up)}.salle-pv2 .sv-td.dn{color:var(--sv-dn)}.salle-pv2 .sv-td.eq,.salle-pv2 .sv-td.nb{color:var(--v4-legende)}
.salle-pv2 .sv-sep{display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--v4-legende);opacity:.5;flex:none}
.salle-pv2 .sv-pulse{width:8px;height:8px;border-radius:50%;background:var(--sv-dot);flex:none;animation:sv-pulse 1.8s infinite;
  box-shadow:0 0 0 0 color-mix(in srgb,var(--sv-dot) 55%,transparent)}
@keyframes sv-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--sv-dot) 55%,transparent)}70%{box-shadow:0 0 0 10px transparent}100%{box-shadow:0 0 0 0 transparent}}
@media (prefers-reduced-motion:reduce){.salle-pv2 .sv-pulse{animation:none}}
.salle-pv2 .sv-pour{font-size:11px;font-weight:800;letter-spacing:.04em;border:1px solid currentColor;border-radius:999px;padding:1px 8px;color:var(--sv-up)}
.salle-pv2 .sv-pt{width:8px;height:8px;border-radius:50%;background:var(--sv-warn);flex:none}
.salle-pv2 .sv-info a,.salle-pv2 .sv-msg a:not(.sv-btn):not(.btn){color:inherit;text-decoration:underline;font-weight:700}
.salle-pv2 .sv-fixe .sv-msg{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;line-height:1.45}
.salle-pv2 .sv-fixe .sv-msg b{color:var(--sv-warn)}
.salle-pv2 .sv-alerte .sv-lv{color:var(--sv-warn)}.salle-pv2 .sv-alerte .sv-lv i{background:var(--sv-warn)}
.salle-pv2 .sv-btn{display:inline-flex;align-items:center;min-height:36px;padding:0 16px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-weight:800;text-decoration:none;white-space:nowrap}
.salle-pv2 .sv-band{background:linear-gradient(180deg,color-mix(in srgb,var(--v4-texte) 4%,var(--v4-salle)),var(--v4-salle))}
.salle-pv2.claire .sv-band{background:var(--surface)}
.salle-pv2 .sv-cin{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px;padding-top:22px;padding-bottom:22px}
.salle-pv2 .sv-ind{display:grid;grid-template-rows:auto auto auto 1fr;gap:4px;min-width:0;color:var(--v4-legende)}
.salle-pv2 .sv-ind.sv-arrivees{color:var(--sv-c1)}.salle-pv2 .sv-ind.sv-disponibles{color:var(--sv-c2)}
.salle-pv2 .sv-il{font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--v4-legende)}
.salle-pv2 .sv-iv{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;color:var(--v4-texte)}
.salle-pv2 .sv-iv b{font-size:34px;font-weight:800;line-height:1.05;letter-spacing:-.02em;white-space:nowrap}
.salle-pv2 .sv-iv b.sm{font-size:19px;white-space:normal}
.salle-pv2 .sv-is{font-size:12.5px;color:var(--v4-legende)}
.salle-pv2 .sv-spk{width:100%;height:40px;margin-top:8px;display:block;align-self:end}
.salle-pv2 .sv-sous{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px;padding-top:12px}
.salle-pv2 .sv-sous .jetons{margin:0}
.salle-pv2 .sv-detail{font-size:13px;color:var(--v4-legende)}
.salle-pv2 .sv-detail summary{cursor:pointer;font-weight:700;list-style:none;display:inline-flex;align-items:center;gap:6px}
.salle-pv2 .sv-detail summary::-webkit-details-marker{display:none}
.salle-pv2 .sv-detail summary::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .15s}
.salle-pv2 .sv-detail[open] summary::after{transform:rotate(225deg) translate(-2px,0)}
.salle-pv2 .sv-detail[open]{flex-basis:100%}
.salle-pv2 .sv-histo{margin-top:10px;max-width:640px}
@media (max-width:1100px){.salle-pv2 .sv-cin{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}}
@media (max-width:760px){
  .salle-pv2 .sv-wrap{padding:0 16px}
  .salle-pv2 .sv-cin{gap:22px}
  .salle-pv2 .sv-iv b{font-size:26px}.salle-pv2 .sv-iv b.sm{font-size:16px}
  .salle-pv2 .sv-haut{min-height:calc(100svh - var(--pt-hdr-h,60px) - var(--pt-bbar-h,64px));display:flex;flex-direction:column;scroll-snap-align:start}
  .salle-pv2 .sv-band{flex:1;display:flex;align-items:flex-start}
  .salle-pv2 .sv-fixe{align-items:flex-start}
}
.salle-pv2 .sv-cin[data-n="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.salle-pv2 .sv-cin[data-n="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.salle-pv2 .sv-cin[data-n="1"]{grid-template-columns:minmax(0,1fr)}
@media (max-width:1100px){.salle-pv2 .sv-cin[data-n]{grid-template-columns:repeat(2,minmax(0,1fr))}.salle-pv2 .sv-cin[data-n="1"]{grid-template-columns:minmax(0,1fr)}}

/* ── sequence 4 : la liste de la salle — largeur du portail, filtres en pastilles, tuiles alignees rangee par rangee ── */
.salle-pv2 .salle{max-width:var(--pt-wrap);padding:18px var(--pt-gout) 0;box-sizing:border-box}
.salle-pv2 .filtres{gap:28px;align-items:center}
.salle-pv2 .filtres-groupe{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;min-width:0;overflow:hidden}
.salle-pv2 .filtres-groupe[data-filtre-groupe="metier"]{flex:1 1 58%}
.salle-pv2 .filtres-groupe[data-filtre-groupe="tri"]{flex:1 1 42%;justify-content:flex-end}
.salle-pv2 .filtres-titre{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--v4-legende);margin-right:4px;flex:none}
.salle-pv2 .filtres .puce,.salle-pv2 .filtres .puce-plus{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-radius:999px;
  border:1px solid var(--v4-trait);background:transparent;color:var(--v4-legende);font-weight:700;font-size:13.5px;white-space:nowrap;flex:none;cursor:pointer;
  box-shadow:none;margin:0;letter-spacing:0;font-family:inherit}
.salle-pv2 .filtres .puce:hover,.salle-pv2 .filtres .puce-plus:hover{border-color:var(--v4-legende);color:var(--v4-texte);background:transparent}
.salle-pv2 .filtres .puce.on{background:var(--v4-texte);color:var(--v4-salle);border-color:var(--v4-texte);box-shadow:none}
.salle-pv2 .filtres .puce-plus .pp-points{font-size:15px}
.salle-pv2 .filtres .puce-plus .pp-n{font-size:11px;font-weight:800;line-height:1;background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:2px 6px}
.salle-pv2 .demandes{gap:16px}
.salle-pv2 .c .ville,.salle-pv2 .c .lgd,.salle-pv2 .c .attr{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.salle-pv2 .c .rang{flex-wrap:nowrap;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
.salle-pv2 .c .rang .et{flex:none;white-space:nowrap}
.salle-pv2 .et-financement-repli{background:#FEF3C7;color:#78350F;font-weight:700}
.salle-pv2 .c .tete .metier span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.salle-pv2 .sv-horszone{margin:18px 0 30px;font-size:13.5px}
.salle-pv2 .sv-horszone a{color:var(--v4-legende);text-decoration:none}
.salle-pv2 .sv-horszone a:hover{color:var(--v4-texte);text-decoration:underline}
@media (max-width:760px){
  .salle-pv2 .salle{padding:14px 16px 0}
  .salle-pv2 .filtres{flex-direction:column;align-items:stretch;gap:12px}
  .salle-pv2 .filtres-groupe[data-filtre-groupe="tri"]{justify-content:flex-start}
}
.salle-pv2 .filtres{flex-wrap:nowrap}
.salle-pv2 .c .rang{padding-right:30px}
.salle-pv2 .sv-sous .jeton{display:inline-flex;align-items:center;gap:4px;background:color-mix(in srgb,var(--v4-texte) 7%,transparent);padding:5px 12px;border-radius:999px;font-size:12.5px;color:var(--v4-legende);text-decoration:none}
.salle-pv2 .sv-sous .jeton b{color:var(--v4-texte);font-weight:800}
.salle-pv2 .sv-sous a.jeton:hover{color:var(--v4-texte)}
.salle-pv2 .sv-sous .jetons{display:flex;flex-wrap:wrap;gap:8px}
@media (max-width:760px){.salle-pv2 .filtres{flex-wrap:nowrap}}
.salle-v4.salle-pv2 .salle{max-width:var(--pt-wrap);padding:18px var(--pt-gout) 0}
.salle-pv2 .filtres-titre{order:-2}
@media (max-width:760px){.salle-v4.salle-pv2 .salle{padding:14px 16px 0}}
@media (max-width:760px){.salle-pv2 .sv-cin{padding-top:20px;padding-bottom:20px}}
/* le bandeau « il nous manque » : la liste exacte, chaque element avec son bouton (la maquette) */
.salle-pv2 .sv-manq .am{margin:0;padding:0;background:none;border:0;color:inherit}
.salle-pv2 .sv-manq .am-liste{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:6px}
.salle-pv2 .sv-manq .am-liste li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
.salle-pv2 .sv-manq .am-liste li::before{content:none}
.salle-pv2 .sv-manq .am-bouton{display:inline-flex;align-items:center;min-height:32px;padding:0 14px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-weight:800;text-decoration:none;white-space:nowrap}
.salle-pv2 .sv-manq .am-titre,.salle-pv2 .sv-manq .am > b,.salle-pv2 .sv-manq .am > p:first-child{color:var(--sv-warn);font-weight:800;margin:0}
/* les quatre reglages de l ancien bandeau, relus (salle_ruban_ecart, salle_ruban_fondu, salle_ruban_alerte_texte / _pastille) */
.salle-pv2 .sv-ruban{gap:var(--sv-ecart,16px)}
.salle-pv2 .sv-defil{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--sv-fondu,48px),#000 calc(100% - var(--sv-fondu,48px)),transparent);mask-image:linear-gradient(90deg,transparent 0,#000 var(--sv-fondu,48px),#000 calc(100% - var(--sv-fondu,48px)),transparent)}
.salle-pv2 .sv-groupe{padding-left:var(--sv-fondu,48px)}
.salle-pv2.sombre .sv-fixe{--sv-warn:var(--sv-alerte,#FFC65C)}
.salle-pv2 .sv-fixe .sv-lv{color:var(--sv-alerte-pt,var(--sv-warn))}.salle-pv2 .sv-fixe .sv-lv i{background:var(--sv-alerte-pt,var(--sv-warn))}
.salle-pv2:not(.sombre) .sv-fixe .sv-lv{color:var(--v4-texte)}

/* ═══ SEQUENCE 5 (14/10/2026) — les pages de l artisan : composants de la maquette ═══ */
.pv2 .rech{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px;align-items:start}
.pv2 .amtin{display:flex;align-items:center;gap:10px;margin:12px 0 6px}
.pv2 .amtin input{width:100%;height:58px;border:1px solid #CDD3DC;border-radius:14px;padding:0 16px;font-size:26px;font-weight:800;background:var(--surface);color:var(--ink);font-family:inherit;min-width:0}
.pv2 .amtin span{font-weight:800;color:var(--mut);white-space:nowrap}
.pv2 .calcl{margin:4px 0;font-size:15px}.pv2 .hint{margin:4px 0;color:var(--ok);font-weight:700;font-size:14px}.pv2 .err{margin:4px 0;color:var(--danger);font-weight:700}
.pv2 .quick{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 14px}
.pv2 .carn{display:grid;gap:12px}
.pv2 .cpick{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid var(--line);border-radius:16px;padding:16px 18px;background:var(--surface);cursor:pointer;text-align:left;color:var(--ink);font-family:inherit;width:100%}
.pv2 .cpick.on{border:2px solid var(--ink);padding:15px 17px}
.pv2 .cpick small{display:block;color:var(--mut);font-weight:700;font-size:12.5px}.pv2 .cpick b{font-size:18px}.pv2 .cpick .r{text-align:right}.pv2 .cpick .r b{color:var(--ok);font-size:15px}
.pv2 .manual{margin-top:14px;font-size:14px}.pv2 .manual summary{cursor:pointer;font-weight:700;color:var(--mut)}.pv2 .manual p{color:var(--mut)}
.pv2 .kv{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:0}
.pv2 .kv>div{padding:10px 0;border-bottom:1px solid var(--line);font-size:14.5px;min-width:0}.pv2 .kv>div:nth-child(odd){color:var(--mut);padding-right:12px}.pv2 .kv>div:nth-last-child(-n+2){border-bottom:0}
.pv2 .cr-ell{min-width:0}.pv2 .cr-ell b,.pv2 .cr-ell small{display:block}.pv2 .cr-plus{color:var(--ok)}.pv2 .cr-moins{color:var(--danger)}
.pv2 .ell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
@media (max-width:760px){.pv2 .rech{grid-template-columns:1fr}.pv2 .kv{grid-template-columns:1fr}.pv2 .kv>div:nth-child(odd){padding-bottom:0;border-bottom:0}}
.pv2 .cr-reprise{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}

/* ── sequence 5 : LES PAGES QUI GARDENT LEUR GABARIT D AVANT prennent la largeur et les marges de la maquette.
      Le titre (« .pt-entete », pose par le gabarit) et le contenu commencent au MEME bord ; les conteneurs etroits
      d avant (900, 760, 720 px) s effacent ; les fonds « clair » ne font plus de cadre dans le cadre.  */
.pt-ancien{padding:0 var(--pt-gout);box-sizing:border-box}
.pt-ancien.pt-pleine{padding:0}
.pt-ancien .pt-entete{margin:0 0 14px}
.pt-ancien .pt-entete > *:first-child{margin-top:34px}
.pt-ancien .pt-entete .pt-titre,.pt-ancien .pt-entete h1{font-size:30px;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.pt-ancien .pt-entete .pt-soustitre{font-size:15.5px;color:var(--mut);line-height:1.55;max-width:80ch;margin-top:8px}
.pt-ancien .pt-entete .pt-retour a{color:var(--mut);font-weight:700;font-size:14px;text-decoration:none}
.pt-ancien .ax,.pt-ancien .ach,.pt-ancien .legal-wrap,.pt-ancien .acc-wrap,.pt-ancien .credit-wrap,.pt-ancien .resv-wrap,.pt-ancien .cp-wrap{max-width:none;margin-left:0;margin-right:0;padding-left:0;padding-right:0}
.pt-ancien .clair,.pt-ancien .rs-clair{background:transparent;padding-left:0;padding-right:0}
.pt-ancien .rs-intro{font-size:15.5px;color:var(--mut);max-width:80ch}
@media (max-width:760px){.pt-ancien{padding:0 16px}.pt-ancien .pt-entete > *:first-child{margin-top:22px}.pt-ancien .pt-entete .pt-titre,.pt-ancien .pt-entete h1{font-size:24px}}
/* les boutons et les barres d outils d avant prennent le dessin de la maquette : l action courante a l encre (« dk »),
   l action secondaire au trait (« ghost ») ; la barre de filtres n est plus une carte dans le cadre */
.pt-ancien .bt{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:12px;border:0;background:var(--ink);color:#fff;font-weight:800;font-size:14.5px;text-decoration:none;white-space:nowrap}
.pt-ancien .bt:hover{background:color-mix(in srgb,var(--ink) 86%,#fff)}
.pt-ancien .bt.creux{background:transparent;color:var(--ink);border:1px solid var(--line)}
.pt-ancien .bt.creux:hover{background:var(--soft);border-color:var(--mut)}
.pt-ancien .bt.petit{min-height:38px;padding:0 14px;font-size:13.5px;border-radius:12px}
.pt-ancien .bt-plat{border-color:var(--line);color:var(--ink);border-radius:12px;font-weight:700}
.pt-ancien .fx .barre-outils{background:transparent;box-shadow:none;padding:0;border-radius:0;gap:10px}
.pt-ancien .fx .rech input{height:44px;border:1px solid #CDD3DC;border-radius:12px;background:var(--surface);font-size:14.5px;padding-left:36px}
.pt-ancien .fx .rech svg{top:14px}
.pt-ancien .fx .barre-outils .pt-cbx{min-width:200px}
.pt-ancien .fx .bloc-tab{border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:0;box-shadow:none;overflow:hidden}
.pt-ancien .fx .bloc-tab .t th{background:var(--soft);font-size:12.5px;color:var(--mut);letter-spacing:.04em;text-transform:uppercase;padding:13px 16px}
.pt-ancien .fx .bloc-tab .t td{padding:13px 16px}
.pt-cbx>.pt-v{font-size:14.5px;font-weight:600}
/* Mes metiers : un interrupteur par metier (la maquette), la case cochee reste la commande du formulaire */
.pt-sw{flex:none;position:relative;width:48px;height:28px;border-radius:999px;background:#C7CDD6;margin-left:auto;transition:background .2s}
.pt-sw::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 2px rgba(0,0,0,.2)}
label:has(input:checked) > .pt-sw{background:var(--ok)}
label:has(input:checked) > .pt-sw::after{transform:translateX(20px)}
label:has(input:focus-visible) > .pt-sw{outline:2px solid var(--ink);outline-offset:2px}
.pt-ancien .mot,.pt-ancien .mot.teinte,.pt-ancien .mot.teinte:not(.on){background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:none;padding:14px 16px}
.pt-ancien .mot.on{border:2px solid var(--ink);padding:13px 15px;box-shadow:none}
.pt-ancien .mot.teinte .n{color:var(--ink)}
.pt-ancien .tce-case{display:flex;align-items:center;gap:14px}
.pt-ancien .tce-case > input{position:absolute;opacity:0;pointer-events:none}
.pt-ancien .tce-case > span:first-of-type{flex:1;min-width:0}
.pv2 .ck{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:10px}
.pv2 .ck li{display:flex;gap:10px;align-items:flex-start;line-height:1.5}
.pv2 .ck svg{width:20px;height:20px;flex:none;fill:none;stroke:var(--ok);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;margin-top:2px}
.pv2 .sp-wrap .card{max-width:820px}
.pv2 .sp-t,.pv2 .ct-t{display:block;margin:0 0 6px;font-size:18px}
.pv2 .ct-kv{margin-top:18px}
.pv2 .ct-g{align-items:start}
@media (max-width:760px){.pv2 .ct-g{grid-template-columns:1fr}}
/* 14/10/2026 (refonte, sequence 5) — LA BARRE DU HAUT ENTRE 761 ET 1100 px. Mesure : a 768 px les cinq liens et « Plus »
   finissaient a 888 px pour un ecran de 768 (defilement de cote de 120 px). Les liens a partir du troisieme passent dans
   « Plus », ou ils sont recopies (.pt-repli) ; au-dela de 1100 px ils restent dans la barre et la copie est cachee. */
.pt-moremenu .pt-repli{display:none}
@media (min-width:761px) and (max-width:1100px){
  html:not(.pt-navjs) .pt-nav>a:nth-of-type(n+3){display:none}
  html:not(.pt-navjs) .pt-moremenu .pt-repli{display:block;border-bottom:1px solid var(--line);margin-bottom:6px;padding-bottom:6px}
  html:not(.pt-navjs) .pt-moremenu .pt-repli a:nth-child(-n+2){display:none}
}
@media (min-width:1101px) and (max-width:1180px){
  html:not(.pt-navjs) .pt-nav>a:nth-of-type(n+5){display:none}
  html:not(.pt-navjs) .pt-moremenu .pt-repli{display:block;border-bottom:1px solid var(--line);margin-bottom:6px;padding-bottom:6px}
  html:not(.pt-navjs) .pt-moremenu .pt-repli a:nth-child(-n+4){display:none}
}
/*  14/10/2026 (nuit, C1 point 12) : avec le script, le repli est MESURE (portail.js) ; le seuil ci-dessus ne sert plus
    que sans script.  */
html.pt-navjs .pt-nav>a.pt-cache{display:none}
html.pt-navjs .pt-hdr.pt-serre .pt-brand-txt small{display:none}
html.pt-navjs .pt-moremenu .pt-repli>a{display:none}
html.pt-navjs .pt-moremenu .pt-repli>a.pt-vu{display:flex}
html.pt-navjs .pt-moremenu .pt-repli:has(>a.pt-vu){display:block;border-bottom:1px solid var(--line);margin-bottom:6px;padding-bottom:6px}

/* ═══════════════════════════════════════════════════════════════════════════
 *  REFONTE V5 (maquette finale du 14/10/2026, _maquettes/2026-10-14_portail) — SEQUENCE V1 : LES ELEMENTS COMMUNS
 *  Recopies de la maquette (blocs « version 4 » et « version 5 »). Les helpers PHP pv5_* (app/helpers.php) ecrivent le
 *  balisage ; portail.js porte le panneau du bas, les filtres « … n », les etiquettes des tableaux au telephone.
 *  ⚠️ L EN-TETE (« .ph ») vaut sur les pages refaites (.pv2) ET sur celles qui ne le sont pas encore (.pv5e, pose par le
 *  gabarit) : une seule marge sous le bandeau, partout.
 * ═══════════════════════════════════════════════════════════════════════════ */
:is(.pv2,.pv5e) .ph{padding-top:44px;padding-bottom:6px}
:is(.pv2,.pv5e) .ph h1{margin:0;font-size:32px;font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--ink)}
:is(.pv2,.pv5e) .ph>p{margin:8px 0 0;color:var(--mut);font-size:15.5px;line-height:1.5;max-width:70ch}
:is(.pv2,.pv5e) .ph p:empty{display:none}
:is(.pv2,.pv5e) .back{display:flex;width:max-content;max-width:100%;align-items:center;gap:6px;color:var(--mut);font-weight:700;font-size:14px;text-decoration:none!important;margin-bottom:14px}
:is(.pv2,.pv5e) .back:hover{color:var(--ink)}
:is(.pv2,.pv5e) .phr{display:flex;align-items:center;gap:12px;justify-content:space-between}
:is(.pv2,.pv5e) .phb{display:flex;gap:8px;flex:none}
:is(.pv2,.pv5e) .ibx{display:none;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;border:0;background:var(--surface);color:var(--ink);cursor:pointer;position:relative;box-shadow:0 1px 2px rgba(16,24,40,.08);padding:0;font:inherit}
:is(.pv2,.pv5e) .ibx svg{width:20px;height:20px}
:is(.pv2,.pv5e) .ibx.alert{color:#B45309;background:#FFF4DC}
:is(.pv2,.pv5e) .ibx.alert i{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;border-radius:9px;background:#F59E0B;color:#fff;font-size:11px;font-style:normal;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px}
:is(.pv2,.pv5e) .ibx.dots{display:inline-flex;font-weight:700;font-size:18px;box-shadow:none;background:var(--soft)}
:is(.pv2,.pv5e) .warnslim{margin-top:12px;font-size:14px;color:#8A4B06;background:#FFF7E6;border-radius:10px;padding:9px 14px;line-height:1.45}
:is(.pv2,.pv5e) .warnslim a{font-weight:700;color:#8A4B06}
.pt-ancien .pv5e{margin:0 0 14px}
.pt-ancien .pv5e .ph{padding-left:0;padding-right:0}
/* le point orange d un champ manquant */
:is(.pv2,.pv5c) .need::after,.pt-ancien .need::after{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#F59E0B;margin-left:8px;vertical-align:middle}
:is(.pv2,.pv5c) .wdot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#F59E0B;flex:none}
/* moins de cadres : des ombres douces */
:is(.pv2,.pv5c) .card,.pv2 .rowc,.pv2 .tbl{border:0;box-shadow:0 1px 2px rgba(16,24,40,.05),0 2px 8px -2px rgba(16,24,40,.06)}
:is(.pv2,.pv5c) .soft{background:var(--surface);border-radius:16px;padding:18px 20px;box-shadow:0 1px 2px rgba(16,24,40,.05)}
:is(.pv2,.pv5c) .soft b{display:block}:is(.pv2,.pv5c) .soft p{margin:6px 0 0;color:var(--mut);font-size:14.5px;line-height:1.5}
:is(.pv2,.pv5c) .narrow{max-width:760px}
/* les chiffres cles alignes ligne par ligne */
:is(.pv2,.pv5c) .stats{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:0 28px;padding:20px 0 8px}
:is(.pv2,.pv5c) .stats .st{display:grid;grid-template-rows:subgrid;grid-row:span 3;gap:4px;min-width:0}
:is(.pv2,.pv5c) .stats .st small{align-self:end;font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--mut);text-transform:uppercase}
:is(.pv2,.pv5c) .stats .st b{font-size:28px;font-weight:700;white-space:nowrap}
:is(.pv2,.pv5c) .stats .st span{align-self:start;color:var(--mut);font-size:13.5px;line-height:1.4}
/* les cartes de synthese */
:is(.pv2,.pv5c) .sum{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto;gap:24px;align-items:center;background:var(--surface);border-radius:20px;padding:20px 22px;margin:18px 0;box-shadow:0 1px 2px rgba(16,24,40,.05),0 2px 8px -2px rgba(16,24,40,.06)}
:is(.pv2,.pv5c) .sum .sl small{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--mut);text-transform:uppercase}
:is(.pv2,.pv5c) .sum .sl b{display:block;font-size:32px;font-weight:700;margin:4px 0;white-space:nowrap}
:is(.pv2,.pv5c) .sum .sl span{color:var(--mut);font-size:13.5px}
:is(.pv2,.pv5c) .spk{width:100%;height:56px;display:block}
:is(.pv2,.pv5c) .split2{grid-column:2/4}
:is(.pv2,.pv5c) .bar2{height:12px;border-radius:12px;background:var(--accent-soft);overflow:hidden}:is(.pv2,.pv5c) .bar2 i{display:block;height:100%;background:var(--ink);border-radius:12px}
:is(.pv2,.pv5c) .lg3{display:flex;justify-content:space-between;gap:12px;margin-top:10px;font-size:13.5px;color:var(--mut);flex-wrap:wrap}
:is(.pv2,.pv5c) .lg3 i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:middle}:is(.pv2,.pv5c) .lg3 .d1{background:var(--ink)}:is(.pv2,.pv5c) .lg3 .d2{background:var(--accent)}:is(.pv2,.pv5c) .lg3 b{color:var(--ink);margin-left:4px}
/* les lignes nettes des listes */
:is(.pv2,.pv5c) .lrows{display:grid;gap:8px}
:is(.pv2,.pv5c) .lrow{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;gap:12px;align-items:center;background:var(--surface);border-radius:16px;padding:12px 14px;text-decoration:none!important;color:var(--ink);box-shadow:0 1px 2px rgba(16,24,40,.05),0 2px 8px -2px rgba(16,24,40,.06)}
:is(.pv2,.pv5c) a.lrow:hover{box-shadow:0 0 0 1px var(--line),0 2px 8px -2px rgba(16,24,40,.1)}
:is(.pv2,.pv5c) .lic{position:relative;width:44px;height:44px;border-radius:14px;background:color-mix(in srgb,var(--c,#94A3B8) 16%,transparent);color:var(--c,var(--ink));display:flex;align-items:center;justify-content:center;flex:none}
:is(.pv2,.pv5c) .lic svg{width:21px;height:21px}
:is(.pv2,.pv5c) .lst{position:absolute;right:-3px;bottom:-3px;width:14px;height:14px;border-radius:50%;border:2px solid var(--surface)}
:is(.pv2,.pv5c) .lst.ok{background:var(--ok)}:is(.pv2,.pv5c) .lst.bad{background:var(--danger)}:is(.pv2,.pv5c) .lst.warn{background:#F59E0B}
:is(.pv2,.pv5c) .lmid{min-width:0}:is(.pv2,.pv5c) .lmid b{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:is(.pv2,.pv5c) .lmid small{display:block;color:var(--mut);font-size:13px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:is(.pv2,.pv5c) .lend{text-align:right}:is(.pv2,.pv5c) .lend b{display:block;font-size:15.5px;white-space:nowrap}:is(.pv2,.pv5c) .lend small{display:block;color:var(--mut);font-size:12px;margin-top:3px}
:is(.pv2,.pv5c) .lend .pos{color:var(--ok)}:is(.pv2,.pv5c) .lend .neg{color:var(--danger)}
:is(.pv2,.pv5c) .chev{font-size:22px;color:var(--mut);line-height:1}
:is(.pv2,.pv5c) .xrow{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--surface);border-radius:16px;padding:14px 16px;box-shadow:0 1px 2px rgba(16,24,40,.05)}
:is(.pv2,.pv5c) .xrow b{display:block}:is(.pv2,.pv5c) .xrow small{color:var(--mut)}
:is(.pv2,.pv5c) .day{font-size:13px;font-weight:700;color:var(--mut);letter-spacing:.04em;text-transform:uppercase;margin:16px 0 8px}
/* les tableaux pleine largeur a l ordinateur */
:is(.pv2,.pv5c) .tbl table{min-width:0}
:is(.pv2,.pv5c) .tbl td a{font-weight:700;text-decoration:none;color:var(--link)}
/* les interrupteurs et les etats */
:is(.pv2,.pv5c) .sw:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
:is(.pv2,.pv5c) .state{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;align-items:center;background:var(--surface);border-radius:20px;padding:18px 20px;margin-top:18px;box-shadow:0 1px 2px rgba(16,24,40,.05),0 2px 8px -2px rgba(16,24,40,.06)}
:is(.pv2,.pv5c) .state b{display:block;font-size:17px}:is(.pv2,.pv5c) .state small{color:var(--mut)}
:is(.pv2,.pv5c) .state .full2{grid-column:1/-1;color:var(--link);font-weight:700;text-decoration:none;font-size:14px}
:is(.pv2,.pv5c) .slist{background:var(--surface);border-radius:18px;overflow:hidden;box-shadow:0 1px 2px rgba(16,24,40,.05),0 2px 8px -2px rgba(16,24,40,.06)}
:is(.pv2,.pv5c) .srow,.pv2 .mrow3{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px 16px;text-decoration:none!important;color:var(--ink)}
:is(.pv2,.pv5c) .mrow3{grid-template-columns:44px minmax(0,1fr) auto}
:is(.pv2,.pv5c) .srow+.srow,.pv2 .mrow3+.mrow3{border-top:1px solid var(--soft)}
:is(.pv2,.pv5c) .sv2{color:var(--mut);font-size:14px;white-space:nowrap}
:is(.pv2,.pv5c) .how{margin-top:16px;background:var(--surface);border-radius:14px;padding:12px 16px}:is(.pv2,.pv5c) .how summary{cursor:pointer;font-weight:700}:is(.pv2,.pv5c) .how p{color:var(--mut);line-height:1.55;margin:8px 0 2px}
/* les onglets, et les filtres soulignes d un trait de couleur, sans pastilles */
:is(.pv2,.pv5c) .tabs{display:flex;gap:4px;flex-wrap:wrap}
:is(.pv2,.pv5c) .tabs button,.pv2 .tabs a{border:0;background:transparent;height:40px;padding:0 12px;color:var(--mut);cursor:pointer;position:relative;display:inline-flex;align-items:center;text-decoration:none!important;font:inherit;font-weight:700}
:is(.pv2,.pv5c) .tabs .on{color:var(--ink)}
:is(.pv2,.pv5c) .tabs .on::after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:2px;border-radius:2px;background:var(--ink)}
:is(.pv2,.pv5c) .flt{display:flex;flex-wrap:nowrap;align-items:center;gap:28px;padding:18px 0 14px}
:is(.pv2,.pv5c) .flt .gp{display:flex;align-items:center;gap:6px;min-width:0}
:is(.pv2,.pv5c) .flt .gp>*{flex:none}
:is(.pv2,.pv5c) .flt small{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--mut);margin-right:4px;text-transform:uppercase}
:is(.pv2,.pv5c) .flt .gp>button,.pv2 .flt .gp>a,.pv2 .flt .mlist button,.pv2 .flt .mlist a{border:0;background:transparent;border-radius:0;height:38px;padding:0 10px;color:var(--mut);position:relative;font-weight:700;font-size:13.5px;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;text-decoration:none!important;font-family:inherit}
:is(.pv2,.pv5c) .flt .gp>.on{color:var(--ink)}
:is(.pv2,.pv5c) .flt .gp>.on::after{content:"";position:absolute;left:10px;right:10px;bottom:2px;height:2px;border-radius:2px;background:var(--accent)}
:is(.pv2,.pv5c) .morewrap{position:relative;flex:none;display:none}:is(.pv2,.pv5c) .morewrap.on{display:inline-block}
:is(.pv2,.pv5c) .mbtn{border:0;background:transparent;height:38px;padding:0 10px;font-weight:700;color:var(--mut);cursor:pointer;font-family:inherit}
:is(.pv2,.pv5c) .mbtn i{font-style:normal;font-size:11px;color:var(--accent);margin-left:4px}
:is(.pv2,.pv5c) .mlist{position:absolute;right:0;top:calc(100% + 6px);z-index:25;min-width:220px;background:var(--surface);border-radius:14px;padding:6px;display:none;box-shadow:0 20px 40px -20px rgba(0,0,0,.45)}
:is(.pv2,.pv5c) .morewrap.open .mlist{display:block}
:is(.pv2,.pv5c) .flt .mlist button,.pv2 .flt .mlist a{display:flex;width:100%;color:var(--ink);border-radius:10px}
:is(.pv2,.pv5c) .flt .mlist .on,.pv2 .flt .mlist button:hover,.pv2 .flt .mlist a:hover{background:var(--soft)}
:is(.pv2,.pv5c) .fbar{display:none}
/* le panneau qui monte du bas (details, filtres, modification) — une fenetre au centre a l ordinateur */
.pt-sheet{position:fixed;left:50%;top:max(80px,12vh);transform:translateX(-50%);width:min(520px,calc(100% - 24px));max-height:calc(100svh - 120px);overflow:auto;background:var(--surface);color:var(--ink);border-radius:22px;padding:18px 22px 24px;z-index:1260;box-shadow:0 30px 60px -20px rgba(0,0,0,.45);font-family:var(--pt-f);scrollbar-width:none}
.pt-sheet[hidden]{display:none}
.pt-sheet .grab{display:none;width:42px;height:5px;border-radius:5px;background:var(--line);margin:0 auto 12px}
.pt-sheet h3{margin:4px 0 10px;font-size:18px}
.pt-sheet p{color:var(--mut);line-height:1.55}
.pt-sheet .sg{margin:12px 0}
.pt-sheet .sg small{display:block;font-size:11.5px;font-weight:700;letter-spacing:.08em;color:var(--mut);text-transform:uppercase;margin-bottom:4px}
.pt-sheet .tabs{display:flex;gap:4px;flex-wrap:wrap}
.pt-sheet .tabs button,.pt-sheet .tabs a{border:0;background:transparent;height:40px;padding:0 12px;font-weight:700;color:var(--mut);cursor:pointer;position:relative;font-family:inherit;font-size:14.5px;display:inline-flex;align-items:center;text-decoration:none!important}
.pt-sheet .tabs .on{color:var(--ink)}.pt-sheet .tabs .on::after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:2px;border-radius:2px;background:var(--ink)}
.pt-sheet .sact{display:grid;grid-template-columns:1fr 1.6fr;gap:12px;margin-top:18px}
.pt-sheet ul.ck2{padding-left:18px;line-height:1.8;color:var(--ink)}
.pt-sheet .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 18px;border-radius:12px;border:0;font-weight:700;font-size:14.5px;cursor:pointer;text-decoration:none!important;white-space:nowrap;font-family:inherit}
.pt-sheet .btn.acc{background:var(--accent);color:var(--accent-ink)}.pt-sheet .btn.ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}.pt-sheet .btn.full{width:100%}
.pt-sheet-voile{position:fixed;inset:0;background:rgba(10,14,20,.45);z-index:1255}
.pt-sheet-voile[hidden]{display:none}
/* les pages courtes, centrees dans l ecran */
:is(.pv2,.pv5c) .center{min-height:calc(100vh - var(--pt-hdr-h) - var(--pt-pied-h,47px));min-height:calc(100svh - var(--pt-hdr-h) - var(--pt-pied-h,47px));display:flex;align-items:center;justify-content:center;padding:32px 16px}
:is(.pv2,.pv5c) .auth2{width:100%;max-width:440px;background:var(--surface);border-radius:22px;padding:28px;box-shadow:0 2px 14px -4px rgba(16,24,40,.15)}
:is(.pv2,.pv5c) .auth2 h1{margin:0 0 8px;font-size:26px;font-weight:700}
:is(.pv2,.pv5c) .auth2>p{color:var(--mut);margin:0 0 18px;line-height:1.5}
:is(.pv2,.pv5c) .auth2 .alt{text-align:center;color:var(--mut);font-size:14px;margin:14px 0 0}:is(.pv2,.pv5c) .auth2 .alt a{font-weight:700}
:is(.pv2,.pv5c) .auth2.tc{text-align:center}
:is(.pv2,.pv5c) .ill{width:84px;height:84px;border-radius:50%;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;margin:6px auto 16px;color:var(--ink)}:is(.pv2,.pv5c) .ill svg{width:38px;height:38px}
:is(.pv2,.pv5c) .facts{display:grid;gap:8px;text-align:left;margin:0 0 18px;font-size:13.5px;color:var(--mut)}:is(.pv2,.pv5c) .facts span{display:flex;gap:8px;align-items:center}:is(.pv2,.pv5c) .facts svg{width:18px;height:18px;flex:none}
:is(.pv2,.pv5c) .e404{font-size:64px;font-weight:700;letter-spacing:-.03em;line-height:1.1}
/* au moins 12 px entre deux boutons empiles */
:is(.pv2,.pv5c) .navbt,.pv2 .acts,.pt-sheet .sact,.fen-pieds,.am-dialog .am-pied{gap:12px}
/* aucune barre de defilement visible */
:is(.pv2,.pv5c) .tabs,.pv2 .cin,.pv2 .flt,.pv2 .flt .gp,.pt-mpanel,.pt-aide-pan .pt-b,.pt-moremenu,.pt-cbx .pt-lst{scrollbar-width:none}
:is(.pv2,.pv5c) .tabs::-webkit-scrollbar,.pv2 .cin::-webkit-scrollbar,.pv2 .flt::-webkit-scrollbar,.pt-mpanel::-webkit-scrollbar,.pt-aide-pan .pt-b::-webkit-scrollbar,.pt-sheet::-webkit-scrollbar{display:none}
:is(.pv2,.pv5c) .ring text{fill:var(--ink)}
/* l aide : « ? Aide » texte blanc a l ordinateur ; au telephone, un rond « ? » au-dessus de la barre du bas */
.pt-aide{color:#fff!important}
.pt-qhelp{display:none}
.pt-mpanel .pt-maide{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 10px;border-radius:12px;font-weight:700;color:var(--ink);min-height:44px;background:transparent;border:0;width:100%;font-family:inherit;font-size:inherit;cursor:pointer;text-align:left}
.pt-mpanel .pt-maide:hover{background:var(--soft)}
:is(.pv2,.pv5c) .mob{display:none}:is(.pv2,.pv5c) .desk{display:block}:is(.pv2,.pv5c) .tools.desk{display:flex}
@media (max-width:760px){
  :is(.pv2,.pv5e) .ph{padding-top:24px}
  :is(.pv2,.pv5e) .ph h1{font-size:25px}
  :is(.pv2,.pv5e) .ph.long>p{display:none}
  :is(.pv2,.pv5e) .ph.long .ibx.info{display:inline-flex}
  :is(.pv2,.pv5e) .ibx.alert{display:inline-flex}
  :is(.pv2,.pv5e) .warnslim{display:none}
  :is(.pv2,.pv5c) .mob{display:block}:is(.pv2,.pv5c) .lrows.mob{display:grid}:is(.pv2,.pv5c) .desk,.pv2 .tools.desk,.pv2 .tbl.desk{display:none!important}
  :is(.pv2,.pv5c) .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;padding-top:14px}:is(.pv2,.pv5c) .stats .st b{font-size:21px}:is(.pv2,.pv5c) .stats .st{padding:10px 0}
  :is(.pv2,.pv5c) .sum{grid-template-columns:minmax(0,1fr) auto;gap:10px 14px;padding:16px}:is(.pv2,.pv5c) .sum .sl b{font-size:28px}:is(.pv2,.pv5c) .sum .spk{grid-column:1/-1;order:3;height:40px}:is(.pv2,.pv5c) .split2{grid-column:1/-1}
  :is(.pv2,.pv5c) .lrow{grid-template-columns:40px minmax(0,1fr) auto;gap:10px;padding:11px 12px}:is(.pv2,.pv5c) .lrow>.chev{display:none}:is(.pv2,.pv5c) .lic{width:40px;height:40px}
  :is(.pv2,.pv5c) .fbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}
  :is(.pv2,.pv5c) .fbar>span{min-width:0;color:var(--mut);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:is(.pv2,.pv5c) .fbar b{color:var(--ink)}
  :is(.pv2,.pv5c) .ibx.filt{display:inline-flex}
  :is(.pv2,.pv5c) .flt{display:none!important}
  :is(.pv2,.pv5c) .tbl{box-shadow:none;background:transparent}
  :is(.pv2,.pv5c) .tbl:not(.desk) table,.pv2 .tbl:not(.desk) tbody,.pv2 .tbl:not(.desk) tr,.pv2 .tbl:not(.desk) td{display:block;width:100%}
  :is(.pv2,.pv5c) .tbl:not(.desk) thead{display:none}
  :is(.pv2,.pv5c) .tbl:not(.desk) tr{background:var(--surface);border-radius:14px;padding:10px 14px;margin-bottom:10px;box-shadow:0 1px 2px rgba(16,24,40,.06)}
  :is(.pv2,.pv5c) .tbl:not(.desk) td{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;padding:6px 0;border:0!important;white-space:normal;text-align:left!important}
  :is(.pv2,.pv5c) .tbl:not(.desk) td::before{content:attr(data-l);color:var(--mut);font-size:12.5px;font-weight:700}
  :is(.pv2,.pv5c) .state{padding:16px}
  :is(.pv2,.pv5c) .center{min-height:calc(100svh - var(--pt-hdr-h) - var(--pt-bbar-h));padding:20px 16px}
  :is(.pv2,.pv5c) .auth2{box-shadow:none;background:transparent;padding:8px 4px}
  .pt-sheet{left:0;right:0;top:auto;bottom:0;transform:none;width:auto;max-height:85svh;border-radius:22px 22px 0 0;padding:10px 20px calc(24px + env(safe-area-inset-bottom))}
  .pt-sheet .grab{display:block}
  /* l aide au telephone : le rond « ? » de la barre du bas (artisan) ; le visiteur la trouve dans le panneau Menu */
  .pt-aide{display:none!important}
  body.pt-logged .pt-bbar .pt-qhelp{display:flex;position:absolute;right:12px;top:-56px;width:44px;height:44px;border-radius:50%;border:0;background:var(--link);color:#fff;font-weight:700;font-size:18px;align-items:center;justify-content:center;box-shadow:0 8px 20px -8px rgba(0,0,0,.5);padding:0;font-family:var(--pt-f);cursor:pointer}
  html,body{scrollbar-width:none}
  html::-webkit-scrollbar{display:none}
}
/* l interrupteur relie a une vraie case (pv5_inter) : le dessin suit la case, sans script */
:is(.pv2,.pv5c) span.sw{display:inline-block;flex:none;position:relative;width:48px;height:28px;border-radius:999px;background:#C7CDD6;transition:background .2s;cursor:pointer}
:is(.pv2,.pv5c) span.sw::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 3px rgba(0,0,0,.25)}
:is(.pv2,.pv5c) .pv5-case:checked+.sw{background:var(--ok)}
:is(.pv2,.pv5c) .pv5-case:checked+.sw::after{transform:translateX(20px)}
:is(.pv2,.pv5c) .pv5-case:focus-visible+.sw{outline:2px solid var(--ink);outline-offset:2px}
:is(.pv2,.pv5c) .pv5-case:disabled+.sw{opacity:.5;cursor:not-allowed}
/* V1 — le panier du bandeau, comme la maquette : un bouton carre, toujours la ; la pastille du nombre et l horloge
   ne paraissent que quand une demande est retenue (l etat vide garde son lien vers la salle et sa bulle d aide) */
.pt-right .pan2,.pt-right .pan2[hidden]{display:block;position:relative;flex:none}
.pt-right .pan2-bt{transition:background .15s;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:42px;height:42px;padding:0 11px;border-radius:12px;border:0;background:rgba(255,255,255,.07);color:var(--hdr-ink);cursor:pointer;text-decoration:none!important;position:relative;font-family:var(--pt-f)}
.pt-right .pan2-bt:hover{background:rgba(255,255,255,.12)}
.pt-right .pan2-picto{width:20px;height:20px;stroke-width:1.9}
.pt-right .pan2-n{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;border-radius:9px;background:var(--accent);color:var(--accent-ink);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px}
.pt-right .pan2-tps{font-size:12.5px;font-weight:700;color:var(--hdr-ink)}
.pt-right .pan2[hidden] .pan2-n,.pt-right .pan2[hidden] .pan2-tps{display:none}
.pt-mpanel a{line-height:1.25}
@media (max-width:760px){ body.pt-logged .pt-right{margin-left:0} }

/* ═══ REFONTE V5, SEQUENCE V2 (14/10/2026) — LA SALLE DE MARCHE comme la maquette finale ═══ */
/* le bandeau EN DIRECT : une ligne, toujours ; ce qui bloque defile avec le reste (texte + lien, plus de pastille) */
.salle-pv2 .sv-manq-it{gap:8px}
.salle-pv2 .sv-manq-it b{color:var(--sv-alerte,var(--sv-warn));font-weight:800}
.salle-pv2:not(.sombre) .sv-manq-it b{color:var(--warn,#B45309)}
.salle-pv2 .sv-tlink{color:var(--accent);font-weight:800;text-decoration:none;margin-left:6px}
.salle-pv2:not(.sombre) .sv-tlink{color:var(--link,#1D4ED8)}
.salle-pv2 .sv-tlink:hover{text-decoration:underline}
.salle-pv2 .sv-ruban{min-height:52px;flex-wrap:nowrap}
/* le titre court des indicateurs n existe qu au telephone */
.salle-pv2 .sv-il .sv-sh{display:none}
/* les filtres de l ordinateur : une ligne, soulignes d un trait de couleur (plus de pastilles) */
.salle-pv2 .filtres{padding:18px 0 14px;gap:28px}
.salle-pv2 .filtres-groupe{gap:2px}
.salle-pv2 .filtres .puce,.salle-pv2 .filtres .puce-plus{border:0;background:transparent;border-radius:0;height:38px;padding:0 10px;color:var(--v4-legende);position:relative}
.salle-pv2 .filtres .puce:hover,.salle-pv2 .filtres .puce-plus:hover{color:var(--v4-texte);background:transparent;border:0}
.salle-pv2 .filtres .puce.on{background:transparent;color:var(--v4-texte);border:0}
.salle-pv2 .filtres .puce.on::after{content:"";position:absolute;left:10px;right:10px;bottom:2px;height:2px;border-radius:2px;background:var(--accent)}
.salle-pv2:not(.sombre) .filtres .puce.on::after{background:var(--v4-texte)}
.salle-pv2 .sv-fbar{display:none}
/* les tuiles : le pied pleine largeur, « Je prends » en pilule allongee, « + » discret */
.salle-pv2 .demandes{gap:16px;padding:6px 0 0}
.salle-pv2 .c:not(.pack) .prendre{width:auto;min-width:110px;height:46px;border-radius:999px;padding:0 18px;font-size:14px;line-height:1.1;
  background:var(--v4-vert);box-shadow:none;transform:none;white-space:nowrap}
.salle-pv2 .c:not(.pack) .prendre:active{transform:translateY(1px);box-shadow:none}
.salle-pv2 .c:not(.pack) .prendre::after{border-radius:999px}
.salle-pv2 .c:not(.pack) .prendre .apres{font-size:10.5px;margin-top:1px;font-weight:700}
.salle-pv2 .c:not(.pack) .plus{width:44px;height:44px}
/* le lien hors zone : lisible, aere */
.salle-pv2 .sv-horszone{margin:22px 0 0;padding:0 0 44px;font-size:14.5px}
.salle-pv2 .sv-horszone a{color:var(--accent);font-weight:700}
.salle-pv2:not(.sombre) .sv-horszone a{color:var(--link,#1D4ED8)}
.salle-pv2 .sv-horszone a:hover{color:var(--accent);text-decoration:underline}
/* le fond sombre descend jusqu au pied de page : plus de bande claire sous la salle */
body:has(.salle-pv2.sombre),body:has(.salle-pv2.sombre) .pt-main,body:has(.salle-pv2.sombre) .pt-ancien{background:var(--v4-salle,#0F1620)}
@media (max-width:760px){
  /* la premiere demande se voit entiere a l arrivee : le haut ne prend plus tout l ecran */
  .salle-pv2 .sv-haut{min-height:0;display:block}
  .salle-pv2 .sv-band{display:block}
  .salle-pv2 .sv-ruban{min-height:44px;padding:8px 0;gap:10px}
  .salle-pv2 .sv-lv{font-size:10.5px}
  /* les quatre indicateurs sur une ligne, titres courts, courbe basse */
  .salle-pv2 .sv-cin,.salle-pv2 .sv-cin[data-n]{grid-template-columns:repeat(var(--sv-n,4),minmax(0,1fr));gap:8px;padding-top:10px;padding-bottom:10px}
  .salle-pv2 .sv-cin[data-n="3"]{--sv-n:3}.salle-pv2 .sv-cin[data-n="2"]{--sv-n:2}.salle-pv2 .sv-cin[data-n="1"]{--sv-n:1}
  .salle-pv2 .sv-ind{gap:1px}
  .salle-pv2 .sv-il{font-size:10px;letter-spacing:.06em}
  .salle-pv2 .sv-il .sv-lg,.salle-pv2 .sv-is{display:none}.salle-pv2 .sv-il .sv-sh{display:inline}
  .salle-pv2 .sv-iv{gap:4px;flex-direction:column;align-items:flex-start}
  .salle-pv2 .sv-iv b{font-size:20px}.salle-pv2 .sv-iv b.sm{font-size:13px}
  .salle-pv2 .sv-td{font-size:10.5px}
  .salle-pv2 .sv-spk{height:18px;margin-top:2px}
  .salle-pv2 .sv-sous{padding-top:6px}
  /* les filtres : la ligne resume et le bouton carre ; les puces restent dans la page (le panneau les clique) */
  .salle-pv2 .filtres{display:none}
  .salle-pv2 .sv-fbar{display:block}
  .salle-pv2 .sv-fbar .fbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 12px}
  .salle-pv2 .sv-fbar .fbar>span{min-width:0;color:var(--v4-legende);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .salle-pv2 .sv-fbar .fbar b{color:var(--v4-texte)}
  .salle-pv2 .sv-fbar .ibx.filt{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;border:0;flex:none;cursor:pointer;
    background:color-mix(in srgb,var(--v4-texte) 9%,var(--v4-salle));color:var(--v4-texte)}
  .salle-pv2 .sv-fbar .ibx.filt svg{width:20px;height:20px}
  .salle-pv2 .demandes{padding-top:2px}
  .salle-pv2 .c:not(.pack) .prendre{min-width:0;padding:0 14px}
}
/* la salle ne passe plus sous le bandeau : son ancienne marge negative (« salle_style.php ») annulait un air que la
   page pleine n a plus — le haut du bandeau « En direct » etait cache sous l en-tete (mesure : 32 px) */
.pt-pleine>.salle-v4.salle-pv2{margin-top:0}
/* V2 : « + » discret comme la maquette ; un artisan bloque voit ses boutons d achat attenues (ils restent cliquables :
   c est leur clic qui ouvre « il nous manque ») */
.salle-pv2 .c:not(.pack):not(.retenue) .plus{background:transparent;box-shadow:inset 0 0 0 1px var(--v4-trait);color:var(--v4-texte)}
.salle-pv2:has(.sv-manq-it:not([data-am="solde"])) .c:not(.pack):not(.ex) .prendre,.salle-pv2:has(.sv-manq-it:not([data-am="solde"])) .c:not(.pack) .plus{opacity:.55}
.salle-pv2 .sv-iv b.sm .sv-sh{display:none}
@media (max-width:760px){.salle-pv2 .sv-iv b.sm .sv-lg{display:none}.salle-pv2 .sv-iv b.sm .sv-sh{display:inline}.salle-pv2 .sv-iv b.sm{font-size:20px}}

/* ═══ L INTERRUPTEUR UNIQUE DU PORTAIL (14/10/2026, complement) — UN SEUL DESSIN, sur toutes les pages (refaites ou non).
   Trois façons de le porter, et le dessin suit TOUJOURS l etat reel :
     · une vraie case « input[role=switch] » suivie de « .sw » (span ou label pour la case) — :checked ;
     · une case dans un label qui porte « .sw » ou « .pt-sw » — label:has(input:checked) ;
     · un bouton « [role=switch] » qui CONTIENT « .sw » — [aria-checked=true] (Nos plans).
   ⚠️ Avant ce bloc, Nos plans posait « aria-checked » sur le BOUTON et la feuille le cherchait sur « .sw » : l etat
   changeait, le dessin restait eteint.  */
.sw,.pt-sw{display:inline-block;flex:none;position:relative;width:48px;height:28px;border-radius:999px;background:#C7CDD6;transition:background .2s;cursor:pointer;vertical-align:middle;box-sizing:border-box}
.sw::after,.pt-sw::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 3px rgba(0,0,0,.25)}
input[role="switch"]:checked+.sw,.pv5-case:checked+.sw,label:has(>input:checked)>.sw,label:has(>input:checked)>.pt-sw,[role="switch"][aria-checked="true"]>.sw{background:var(--ok,#15803D)}
input[role="switch"]:checked+.sw::after,.pv5-case:checked+.sw::after,label:has(>input:checked)>.sw::after,label:has(>input:checked)>.pt-sw::after,[role="switch"][aria-checked="true"]>.sw::after{transform:translateX(20px)}
input[role="switch"]:focus-visible+.sw,label:has(>input:focus-visible)>.sw,label:has(>input:focus-visible)>.pt-sw,button[role="switch"]:focus-visible>.sw{outline:2px solid var(--ink,#14171A);outline-offset:2px}
input[role="switch"]:disabled+.sw{opacity:.5;cursor:not-allowed}
@media (prefers-reduced-motion:reduce){.sw,.pt-sw,.sw::after,.pt-sw::after{transition:none}}
/* la case d « Entreprise tous corps d etat » ne se dessine plus a cote de son interrupteur */
.tce-case{position:relative}
.tce-case>input[type="checkbox"]{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
/* Mes alertes : l interrupteur dans la ligne de l alerte */
.al-bascule{display:inline-flex;align-items:center}

/* ═══ REFONTE V5, SEQUENCE V3 (14/10/2026) — LA FACTURE, UN DOCUMENT A4 (la maquette : .a4, .a4top, .emet, .dest, .a4tt,
   .meta, .a4t, .a4tot, .a4ft). 794 px = 210 mm a 96 ppp ; la hauteur minimale est celle d un A4 (1123 px). ═══ */
.pv2 .a4wrap{margin:18px auto 0;max-width:794px;overflow:hidden}
.pv2 .a4{width:794px;min-height:1123px;box-sizing:border-box;background:#fff;color:#111;padding:56px 60px;box-shadow:0 4px 24px -8px rgba(16,24,40,.25);border-radius:6px;transform-origin:top left;font-size:13px;line-height:1.5;display:flex;flex-direction:column}
.pv2 .a4top{display:flex;justify-content:space-between;gap:40px}
.pv2 .a4top span{display:block;color:#444}
.pv2 .a4top b{display:block;font-size:15px;margin-bottom:4px}
.pv2 .emet{max-width:330px}
/* le client a la hauteur de la fenetre d une enveloppe DL (45 a 90 mm du haut) : 56 + 70 px de marge = environ 47 mm */
.pv2 .dest{width:300px;flex:none;box-sizing:border-box;margin-top:70px;padding:14px 16px;border:1px solid #e5e7eb;border-radius:4px}
.pv2 .dest small{display:block;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#666;font-weight:700;margin-bottom:6px}
.pv2 .dest .id{font-size:11.5px;color:#666;margin-top:2px}
.pv2 .a4tt{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:48px 0 22px}
.pv2 .a4tt h2{font-size:30px;margin:0;letter-spacing:-.01em;color:#111}
.pv2 .meta{display:grid;grid-template-columns:auto auto;gap:2px 18px;font-size:12.5px;margin:0}
.pv2 .meta dt{color:#666;margin:0}.pv2 .meta dd{margin:0;text-align:right;font-weight:700;color:#111}
.pv2 .a4t{width:100%;border-collapse:collapse}
.pv2 .a4t th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:#555;border-bottom:2px solid #111;padding:8px 6px;font-weight:700}
.pv2 .a4t td{padding:12px 6px;border-bottom:1px solid #e5e7eb;vertical-align:top;color:#111}
.pv2 .a4t .r{text-align:right;white-space:nowrap}
.pv2 .a4t small{display:block;color:#666;font-size:11.5px;margin-top:2px}
.pv2 .a4tot{display:grid;grid-template-columns:auto auto;gap:6px 24px;margin:18px 0 0 auto;min-width:300px}
.pv2 .a4tot>div{display:contents}
.pv2 .a4tot span{color:#555}
.pv2 .a4tot b{text-align:right;white-space:nowrap;color:#111}
.pv2 .a4tot .fort span,.pv2 .a4tot .fort b{font-size:15px;color:#111;font-weight:800}
.pv2 .a4tot .reste span,.pv2 .a4tot .reste b{font-size:15px;color:#111;font-weight:800;padding-top:6px;border-top:1px solid #111}
.pv2 .a4tot .imp{grid-column:1/-1;margin:4px 0 0;text-align:right;font-size:11px;color:#666}
.pv2 .a4ft{margin-top:auto;padding-top:24px;border-top:1px solid #e5e7eb;font-size:10.5px;color:#666;line-height:1.55}
.pv2 .a4ft p{margin:0}.pv2 .a4ft p:first-child{color:#333}.pv2 .a4ft .qui{margin-top:6px}
.pv2 .a4act{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:18px 0 40px}
.pv2 .a4act small{width:100%;text-align:center;color:var(--mut)}
/* V3 : les pages d avant qui prennent les composants de la maquette (.pv5c) — la barre d outils de l ordinateur laisse
   la place, au telephone, a la ligne des filtres et a son panneau ; une phrase « hidden » reste cachee */
.pv5c [hidden]{display:none!important}
@media (max-width:760px){.pv5c .barre-outils{display:none!important}}
.pt-sheet .pt-relais-rech{width:100%;height:44px;border:1px solid #CDD3DC;border-radius:12px;padding:0 12px;font:inherit;font-size:16px;box-sizing:border-box;background:var(--surface,#fff);color:var(--ink,#14171A)}
.pv5c .pill{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;border-radius:999px;padding:4px 10px;white-space:nowrap}
.pv5c .pill.ok{background:#E3F6EC;color:#13734A}
.pv5c .pill.warn{background:#FFF3DC;color:#8A4B06}
.pv5c .pill.mut{background:var(--soft);color:var(--mut)}
.pv5c .pill.bad{background:#FDE7E7;color:#9B1C1C}

/*  14/10/2026 (refonte V5, sequence V3) — MON CREDIT, LES RESERVATIONS, LE PRELEVEMENT, recopies de la maquette finale
 *  (_maquettes/2026-10-14_portail : .bal .balb .rb .rech3 .chip .recap .stl .pm .pmc .ccard .lrow.rv .paybar).  */
.pv2 .bal{background:var(--hdr);color:var(--hdr-ink);border-radius:22px;padding:22px;margin-top:18px}
.pv2 .bal small{color:var(--hdr-mut);font-weight:700;font-size:12.5px}
.pv2 .bal>b{display:block;font-size:40px;font-weight:800;margin:4px 0;color:var(--hdr-ink)}
.pv2 .bal>span{color:var(--hdr-mut);font-size:13.5px}
.pv2 .balb{display:flex;gap:18px;margin-top:18px;flex-wrap:wrap}
.pv2 .rb{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--hdr-ink);text-decoration:none;cursor:pointer;font-size:12.5px;font-weight:700;background:none;border:0;font-family:inherit;padding:0}
.pv2 .rb svg{width:22px;height:22px;padding:12px;box-sizing:content-box;border-radius:50%;background:rgba(255,255,255,.1)}
.pv2 .rb:hover svg,.pv2 .rb:focus-visible svg{background:rgba(255,255,255,.18)}
.pv2 .rech3{background:var(--surface);border-radius:20px;padding:20px;box-shadow:0 1px 2px rgba(16,24,40,.05),0 2px 8px -2px rgba(16,24,40,.06);max-width:720px}
.pv2 .chip{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;height:38px;padding:0 14px;font-weight:700;cursor:pointer;font-family:inherit;font-size:14px;white-space:nowrap}
.pv2 .chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.pv2 .chip em{font-style:normal;font-size:11.5px;font-weight:800;color:#13734A;margin-left:4px}
.pv2 .chip.on em{color:#7FE3AE}
.pv2 .recap{display:grid;grid-template-columns:1fr auto;gap:8px 16px;background:var(--soft);border-radius:14px;padding:14px 16px;margin:6px 0 10px;font-size:14.5px}
.pv2 .recap span{color:var(--mut)}.pv2 .recap b{text-align:right;white-space:nowrap}.pv2 .recap .pos{color:#13734A}
.pv2 .stl{display:flex;align-items:center;gap:10px;color:var(--mut);margin:14px 0 0}
.pv2 .stl i{width:9px;height:9px;border-radius:50%;flex:0 0 auto}.pv2 .okd{background:var(--ok)}.pv2 .gd{background:#94A3B8}.pv2 .wd{background:#F5B83D}
.pv2 .pm{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;align-items:start}
.pv2 .pmc{background:var(--surface);border-radius:18px;padding:18px;display:grid;gap:10px;justify-items:start;box-shadow:0 1px 2px rgba(16,24,40,.05),0 2px 8px -2px rgba(16,24,40,.06);min-width:0}
.pv2 .pmc.on{box-shadow:0 0 0 2px var(--ink)}.pv2 .pmc small{color:var(--mut);line-height:1.45}
.pv2 .pmc>summary{list-style:none;display:grid;gap:8px;cursor:pointer;justify-items:start}.pv2 .pmc>summary::-webkit-details-marker{display:none}
.pv2 .pmc .form,.pv2 .pmc form{width:100%;margin-top:4px}
.pv2 .ccard{width:100%;max-width:280px;box-sizing:border-box;border-radius:14px;padding:16px;background:linear-gradient(135deg,var(--hdr),#334155);color:#fff;display:grid;gap:4px}
.pv2 .ccard span{font-weight:800;letter-spacing:.1em;font-size:12px}.pv2 .ccard b{font-size:20px;letter-spacing:.1em}.pv2 .ccard small{color:rgba(255,255,255,.75)}
.pv2 .lrow.rv{grid-template-columns:56px minmax(0,1fr) auto;cursor:default}.pv2 .tmr .ring text{font-size:12px}
.pv2 .paybar{position:sticky;bottom:16px;z-index:21;max-width:760px;margin:20px auto 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;align-items:center;background:var(--surface);border-radius:18px;padding:14px 18px;box-shadow:0 -6px 24px -10px rgba(0,0,0,.3)}
.pv2 .paybar small{color:var(--mut)}.pv2 .paybar b{display:block}.pv2 .paybar>a{grid-column:1/-1;font-size:13.5px;font-weight:700;color:var(--link);text-decoration:none}
.pv2 .cm a{color:var(--link);font-weight:700;text-decoration:none}
@media (max-width:760px){
  .pv2 .balb{justify-content:space-around}.pv2 .bal>b{font-size:34px}
  .pv2 .pm{grid-template-columns:1fr}
  .pv2 .paybar{bottom:64px;margin:16px 0 0}
}
.pv2 .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pv2 .bal{max-width:720px;box-sizing:border-box}
.pv2 .tbl td.pos{color:#13734A;font-weight:700}.pv2 .tbl td.neg{color:#B42318;font-weight:700}.pv2 .tbl td a{color:var(--link);font-weight:700;text-decoration:none}
.pv2 #chFiltres{display:flex;gap:10px;align-items:center;margin:4px 0 14px;flex-wrap:wrap}.pv2 #chFiltres .sel{width:auto;min-width:180px}
@media (max-width:760px){.pv2 #chFiltres{display:none}}
.pv2 .lien{background:none;border:0;padding:0;font:inherit;color:var(--link);font-weight:700;cursor:pointer;text-decoration:none}
.pv2 .resv-ann{display:inline;margin:0}
.pv2 .lrow.rv.on{box-shadow:0 0 0 2px var(--ink)}
.pv2 .paybar form{margin:0}.pv2 .paybar .pb-l{grid-column:1/-1}.pv2 .paybar .pb-l .lien{font-size:13.5px}
.pv2 .resv-wait{text-align:center;margin-top:14px}.pv2 .resv-wait-msg{margin:6px 0 10px;color:var(--mut)}
.pv2 .resv-wait-spin{display:inline-block;width:20px;height:20px;border:2.5px solid var(--line);border-top-color:var(--ink);border-radius:50%;animation:pv5-tourne .7s linear infinite}
@keyframes pv5-tourne{to{transform:rotate(360deg)}}
@media (max-width:760px){.pv2 .paybar{grid-template-columns:1fr}.pv2 .paybar .btn{width:100%}}
.pv2 .bd{background:var(--danger)}
.pv2.pr5 .stl b{color:var(--ink)}.pv2.pr5 .stl span{line-height:1.45}
.pv2 .pr-bascule5{margin-top:12px}.pv2 .pr-bascule5 form{margin:0}.pv2 .pr-bascule5 button[disabled]{cursor:default}
.pv2 .pr-ca{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.pv2 .pr-ca form{margin:0}
.pv2 .pmc form{margin:0}.pv2 .ccard.autre{background:linear-gradient(135deg,#475569,#64748B)}.pv2 .ccard.ko{opacity:.6}
.pv2 .pr-case{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--mut);line-height:1.45;margin:4px 0 10px}
.pv2 .pr-rejet5{box-shadow:0 0 0 2px var(--danger)}.pv2 .pr-rejet5 p{margin:6px 0}
/*  14/10/2026 (refonte V5, sequence V4) — VOS RESULTATS, recopies de la maquette finale (.hero2 .h2l .h2r .duo .mini
 *  .curve .mos .mr2 .bar3 .lrow.sv .svb).  */
.pv2 .hero2{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px;align-items:center;background:var(--hdr);color:var(--hdr-ink);border-radius:22px;padding:24px;margin-top:18px}
.pv2 .hero2 small{display:block;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--hdr-mut)}
.pv2 .h2l b{display:block;font-size:44px;margin:6px 0;color:var(--hdr-ink)}.pv2 .h2l p{margin:0 0 14px;color:var(--hdr-mut);line-height:1.5}
.pv2 .h2r{display:flex;align-items:center;gap:16px;background:rgba(255,255,255,.06);border-radius:18px;padding:14px;color:var(--hdr-ink)}
.pv2 .h2r b{display:block;font-size:20px;margin-top:4px;color:var(--hdr-ink)}.pv2 .h2r span{color:var(--hdr-mut);font-size:13px}
.pv2 .duo{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.pv2 .duo>div{background:var(--surface);border-radius:16px;padding:14px 16px;box-shadow:0 1px 2px rgba(16,24,40,.05)}
.pv2 .duo small{display:block;color:var(--mut);font-weight:700;font-size:12.5px}.pv2 .duo b{font-size:22px;display:block}.pv2 .duo span{color:var(--mut);font-size:12.5px}
.pv2 .mini{color:var(--mut);font-size:13.5px;margin:10px 0 0}
.pv2 .rs-g2{margin-top:18px}.pv2 .rs-g2 .card{border:0;box-shadow:0 1px 2px rgba(16,24,40,.05),0 2px 8px -2px rgba(16,24,40,.06)}.pv2 .rs-g2 .h3{margin-top:0}
.pv2 .curve{width:100%;height:120px;display:block}.pv2 .mos{display:flex;justify-content:space-between;color:var(--mut);font-size:12px;margin-top:6px}
.pv2 .lg{display:inline-block;width:10px;height:10px;border-radius:3px;vertical-align:middle}.pv2 .lg.p{background:#0E1520}.pv2 .lg.s{background:#16A34A}
.pv2 .mr2{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:10px 0}.pv2 .mr2 small{grid-column:1/-1;color:var(--mut);font-size:12.5px}
.pv2 .mr2 .bar3{grid-column:1/-1;display:block;height:4px;border-radius:4px;background:var(--soft)}.pv2 .mr2 .bar3 i{display:block;height:100%;border-radius:4px;background:var(--ink)}
.pv2 .lrow.sv{grid-template-columns:44px minmax(0,1fr) auto;cursor:default}
.pv2 .svb{display:flex;gap:6px}.pv2 .svb form{margin:0}
.pv2 .svb button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;height:36px;padding:0 12px;font-weight:700;font-size:13px;cursor:pointer;font-family:inherit;white-space:nowrap}
.pv2 .svb button.on.e-s{background:#16A34A;border-color:#16A34A;color:#fff}.pv2 .svb button.on.e-p{background:#B42318;border-color:#B42318;color:#fff}.pv2 .svb button.on.e-r{background:#F5B83D;border-color:#F5B83D;color:#1C1300}
.pv2 .lrow.sv .rs-l-f,.pv2 .lrow.sv .rs-conteste{grid-column:2/-1;display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:4px 0 0;color:var(--mut);font-size:13px}
.pv2 .rs-l-f .rs-m{font-weight:800;color:var(--ink)}.pv2 .rs-mf{display:flex;gap:8px;margin:0}.pv2 .rs-mf input{height:36px;border:1px solid var(--line);border-radius:10px;padding:0 10px;font:inherit;width:160px}
.pv2 .rs-pied{margin-top:14px;display:grid;gap:8px;justify-items:start}.pv2 .rs-bt-morte{opacity:.55;cursor:not-allowed}
@media (max-width:760px){
  .pv2 .hero2{grid-template-columns:1fr;padding:18px}.pv2 .h2l b{font-size:36px}
  .pv2 .rs-g2{grid-template-columns:1fr}
  .pv2 .lrow.sv{grid-template-columns:40px minmax(0,1fr)}.pv2 .svb{grid-column:1/-1}.pv2 .svb form{flex:1}.pv2 .svb button{width:100%}
  .pv2 .lrow.sv .rs-l-f,.pv2 .lrow.sv .rs-conteste{grid-column:1/-1}
}
.pv2 .hero2 .rs-anneau-t{fill:var(--hdr-ink)}
/*  14/10/2026 (V4) — MES ALERTES : les reglages en lignes qui se deplient (.sdet), comme la maquette.  */
.pv2 .sdet+.sdet{border-top:1px solid var(--soft)}
.pv2 .sdet>summary.srow{list-style:none;cursor:pointer;grid-template-columns:44px minmax(0,1fr) auto auto}.pv2 .sdet>summary.srow::-webkit-details-marker{display:none}
.pv2 .sdet>summary .chev{transition:transform .15s}.pv2 .sdet[open]>summary .chev{transform:rotate(90deg)}
.pv2 .sbody{display:grid;gap:10px;padding:4px 16px 16px 72px;margin:0}
.pv2 .al5 .srow .lmid b{font-size:14.5px}.pv2 .al5 .srow .lmid small{display:block;color:var(--mut);font-size:12.5px}
.pv2 .al-moy{grid-template-columns:44px minmax(0,1fr) auto;cursor:pointer}.pv2 .al-moy input[type=radio]{width:20px;height:20px;accent-color:var(--ink)}
.pv2 .al-moy.bientot{opacity:.6;cursor:default}
.pv2 .al-saisie{display:flex;align-items:center;gap:8px}.pv2 .al-saisie input{max-width:140px}.pv2 .al-saisie i{font-style:normal;color:var(--mut)}
.pv2 .al-heures{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pv2 .al-heures .sel{width:auto}
.pv2 .al-p{margin:0;color:var(--mut);line-height:1.5;font-size:14px}.pv2 .al-aide{color:var(--mut);font-size:12.5px;line-height:1.45}
.pv2 .al-choix{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pv2 .al-mode{display:grid;gap:4px;border:1px solid var(--line);border-radius:14px;padding:12px;cursor:pointer}.pv2 .al-mode.on{box-shadow:0 0 0 2px var(--ink);border-color:transparent}
.pv2 .al-mode small{color:var(--mut);font-size:12.5px}.pv2 .al-mode input{accent-color:var(--ink)}
.pv2 label.chip{display:inline-flex;align-items:center}
.pv2 .al-mesure{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--soft)}
.pv2 .al-mesure form{margin:0}.pv2 .al-mesure.eteinte .lmid{opacity:.6}.pv2 .al-mesure .lmid small{display:block;color:var(--mut);font-size:12.5px}
.pv2 .al-retirer{color:#B42318}
.pv2 .al-enr{margin-top:12px}.pv2 .al-suite{margin-top:12px}
@media (max-width:760px){
  .pv2 .sbody{padding:4px 16px 16px}
  .pv2 .al-choix{grid-template-columns:1fr}
  .pv2 .al-mesure{grid-template-columns:minmax(0,1fr) auto auto}.pv2 .al-mesure .pill{display:none}
}
.pv2 .al5 .srow .lmid small{white-space:normal;overflow:visible;text-overflow:clip}
/*  14/10/2026 (V4) — MON COMPTE, recopie de la maquette finale (.idcard .idl .idr .meter .todo .wdot .gh .tgrid .atile .mi).  */
.pv2 .idcard{background:var(--surface);border-radius:20px;padding:24px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px 32px;box-shadow:0 1px 2px rgba(16,24,40,.05),0 2px 8px -2px rgba(16,24,40,.06);margin-top:18px}
.pv2 .idl{display:flex;gap:18px;align-items:center;min-width:0}.pv2 .idl .nm{display:block;font-size:22px;font-weight:800}.pv2 .idl small{color:var(--mut)}
.pv2 .lgbig{width:64px;height:64px;border-radius:18px;background:var(--soft);color:var(--ink);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:22px;flex:none;object-fit:cover}
.pv2 .pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.pv2 .idr{display:grid;grid-template-columns:auto minmax(0,1fr);gap:24px;align-items:center}.pv2 .idr small{display:block;color:var(--mut);font-size:12.5px;font-weight:700}.pv2 .idr b{font-size:24px}
.pv2 .meter span{display:block;height:6px;border-radius:6px;background:var(--soft);margin-top:8px;overflow:hidden}.pv2 .meter i{display:block;height:100%;background:var(--ok);border-radius:6px}
/*  16/10/2026 (sequence 4) : rebranche sur son reglage (portail_display_settings) ; repli = la valeur d avant, alignee en base par la migration 2026_10_16_s4_reglages_rebranches.  */
.pv2 .todo{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px var(--pt-afaire-ecart, 20px);align-items:center;border-top:1px solid var(--soft);padding-top:var(--pt-afaire-air, 16px)}
.pv2 .todo small{font-weight:800;font-size:12px;letter-spacing:.06em;color:var(--mut);text-transform:uppercase}
.pv2 .todo a{text-decoration:none;font-size:14.5px;display:inline-flex;align-items:center;gap:8px;color:var(--ink)}
.pv2 .wdot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#F59E0B;flex:none}
.pv2 .gh{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);margin:0 0 12px}
.pv2 .tgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pv2 .atile{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:14px;align-items:center;background:var(--surface);border-radius:16px;padding:16px 18px;text-decoration:none;color:var(--ink);box-shadow:0 1px 2px rgba(16,24,40,.05),0 2px 8px -2px rgba(16,24,40,.06);transition:transform .15s}
.pv2 a.atile:hover{transform:translateY(-1px)}.pv2 .tgrid.soon .atile{opacity:.75}
.pv2 .atile .tx{min-width:0}.pv2 .atile b{display:block;font-size:15.5px}.pv2 .atile small{display:block;color:var(--mut);font-size:13.5px;margin-top:2px}
.pv2 .mi{width:40px;height:40px;border-radius:12px;background:var(--soft);color:var(--ink);display:flex;align-items:center;justify-content:center}.pv2 .mi svg{width:20px;height:20px}
@media (max-width:1000px){.pv2 .tgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){
  .pv2 .idcard{grid-template-columns:1fr;padding:18px}.pv2 .todo{flex-direction:column;align-items:flex-start;gap:var(--pt-afaire-ecart, 10px)}
  .pv2 .tgrid{grid-template-columns:1fr}.pv2 .atile{padding:14px}
}
.pv2 .atile small b{display:inline;font-size:inherit;font-weight:700;color:var(--ink)}
/*  14/10/2026 (V4) — MES INFORMATIONS : les boutons segmentes en vraies cases radio (.seg-r), la carte de l entreprise.  */
.pv2 .seg-r label{flex:1;display:flex;align-items:center;justify-content:center;min-height:42px;border-radius:9px;font-weight:700;font-size:14px;color:var(--mut);cursor:pointer;padding:6px 8px;text-align:center}
.pv2 .seg-r label.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(20,26,36,.15)}
.pv2 .seg-r label:has(input:focus-visible){outline:2px solid var(--link);outline-offset:2px}
.pv2 .inf5 .seg-r{max-width:280px}.pv2 .inf5 .inf-seg{max-width:420px}
.pv2 .inf5 .card{border:0;box-shadow:0 1px 2px rgba(16,24,40,.05),0 2px 8px -2px rgba(16,24,40,.06);margin-top:14px}
.pv2 .inf-ent{display:grid;gap:4px}.pv2 .inf-ent small{color:var(--mut);font-size:13px}.pv2 .inf-note{font-style:italic}
.pv2 .inf-form .h3{margin:18px 0 0}.pv2 .inf-form .sub{margin:2px 0 8px;color:var(--mut);font-size:13.5px}
.pv2 .f .lab{display:block;font-weight:700;font-size:13.5px;margin-bottom:6px}
.pv2 .inf-pied{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap}
.pv2 .inf-suppr{color:#B42318;font-weight:700;font-size:14px}
@media (max-width:760px){.pv2 .inf5 .seg-r,.pv2 .inf5 .inf-seg{max-width:none}.pv2 .inf-pied{flex-direction:column-reverse;align-items:stretch}.pv2 .inf-pied .btn{width:100%}.pv2 .inf-suppr{text-align:center}}
.pv2 .sec h2.gh,.pv2 h2.gh{font-size:var(--pt-groupe-taille, 13px);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);margin:0 0 var(--pt-groupe-dessous, 12px);line-height:1.3}
.pv2.cp5 .sec{padding-top:var(--pt-groupe-dessus, 26px)}
.pv2 .idcard .pill{white-space:normal}
@media (max-width:760px){.pv2 .todo a{display:block}.pv2 .todo a .wdot{margin-right:8px}}
/*  14/10/2026 (V4) — MES PREFERENCES D ACHAT, MON ACTIVITE : les lignes a interrupteur de la maquette.  */
.pv2 .rg-carte,.pv2 .act5 .slist{border:0;box-shadow:0 1px 2px rgba(16,24,40,.05),0 2px 8px -2px rgba(16,24,40,.06)}
.pv2 .rg-carte{display:grid;gap:10px;margin-top:14px}
.pv2 .rg-l{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.pv2 .rg-l.on{box-shadow:0 0 0 2px var(--ink);border-color:transparent}
.pv2 .rg-l b,.pv2 .mrow3 b,.pv2 .mrow2 b{display:block;font-size:14.5px}.pv2 .rg-l small,.pv2 .mrow3 small,.pv2 .mrow2 small{display:block;color:var(--mut);font-size:12.5px;line-height:1.45}
.pv2 .rg-note input{max-width:200px}.pv2 .rg-pied{display:flex;justify-content:flex-end}
.pv2 .act5 .act-form{display:grid;gap:4px;margin-top:14px}.pv2 .act-sub2{padding:0 16px 14px}
.pv2 .mrow3.on{background:color-mix(in srgb,var(--accent,#D6F33A) 18%,transparent)}
.pv2 .fam2{background:var(--surface);border-radius:18px;padding:12px 18px 8px;margin:0 0 12px;box-shadow:0 1px 2px rgba(16,24,40,.05),0 2px 8px -2px rgba(16,24,40,.06)}
.pv2 .fam2>summary{display:flex;justify-content:space-between;align-items:baseline;gap:12px;cursor:pointer;list-style:none;font-weight:800;font-size:15px;padding:4px 0 8px}
.pv2 .fam2>summary::-webkit-details-marker{display:none}.pv2 .fam2>summary small{color:var(--mut);font-weight:700;font-size:12.5px}
.pv2 .mrow2{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:10px;margin:0 -10px;border-radius:12px}
.pv2 .mrow2+.mrow2,.pv2 .act-sous .mrow2:first-child{border-top:1px solid var(--soft)}
.pv2 .mrow2.on{background:color-mix(in srgb,var(--accent,#D6F33A) 18%,transparent)}
.pv2 .mrow2 label{cursor:pointer}
.pv2 .rg-l .lmid b,.pv2 .rg-l .lmid small,.pv2 .mrow3 .lmid b,.pv2 .mrow3 .lmid small{white-space:normal;overflow:visible;text-overflow:clip}
/*  14/10/2026 (V4) — MA FACTURATION : les blocs deviennent les sections d une seule carte (maquette finale).  */
.pv2.fac5 .fac-form form{background:var(--surface);border-radius:20px;padding:6px 22px 22px;margin-top:14px;box-shadow:0 1px 2px rgba(16,24,40,.05),0 2px 8px -2px rgba(16,24,40,.06)}
.pv2.fac5 .fac-bloc{background:transparent;border:0;border-radius:0;padding:18px 0 4px;margin:0}
.pv2.fac5 .fac-bloc+.fac-bloc{border-top:1px solid var(--soft)}
.pv2.fac5 .fac-bloc h3{font-size:16px;font-weight:800;color:var(--ink)}
.pv2.fac5 .fac-champ label{color:var(--ink);font-weight:700;font-size:13.5px}
.pv2.fac5 .fac-champ input[type="text"],.pv2.fac5 .fac-champ input[type="number"],.pv2.fac5 .fac-champ select{height:46px;border-radius:12px;border-color:var(--line)}
.pv2.fac5 .fac-submit{background:var(--accent,#D6F33A);color:var(--accent-ink,#111315);border-radius:999px;padding:12px 22px;font-weight:800;margin-top:14px;float:right}
.pv2.fac5 .fac-submit:hover{filter:brightness(.97);background:var(--accent,#D6F33A)}
.pv2.fac5 form::after{content:"";display:block;clear:both}
.pv2.fac5 .fac-vers-liste a{color:var(--link);font-weight:700}
@media (max-width:760px){.pv2.fac5 .fac-submit{float:none;width:100%}.pv2.fac5 .fac-form form{padding:4px 16px 16px}}
/*  14/10/2026 (V4) — MON LOGO : la barre d apercu et la zone de depot en pointilles (maquette finale).  */
.lg5 .lg-wrap{max-width:760px;margin:0 auto}
.lg5 .lg-apercu{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.lg5 .lgbar{display:flex;align-items:center;gap:10px;background:var(--hdr,#0E1520);color:var(--hdr-ink,#E8EDF4);border-radius:12px;padding:8px 14px 8px 8px}
.lg5 .lgbar b{display:block;font-size:14px}.lg5 .lgbar small{display:block;font-size:11.5px;color:var(--hdr-mut,#8C99AB)}
.lg5 .lgmini{width:30px;height:30px;border-radius:9px;background:var(--accent,#D6F33A);color:var(--accent-ink,#111315);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;object-fit:cover}
.lg5 .drop{display:grid;justify-items:center;gap:6px;text-align:center;border:2px dashed var(--line,#D8DEE6);border-radius:18px;padding:28px 18px;cursor:pointer;background:var(--surface,#fff);margin:10px 0}
.lg5 .drop:hover,.lg5 .drop:focus-within{border-color:var(--ink,#111315)}
.lg5 .drop svg{width:24px;height:24px}.lg5 .drop b{font-size:15px}.lg5 .drop small{color:var(--mut,#5B6676);font-size:12.5px}
.lg5 .lg-bt{background:var(--accent,#D6F33A);color:var(--accent-ink,#111315);border-radius:999px;width:100%;font-weight:800;border:0;min-height:46px}
.lg5 .lg-bt:disabled{opacity:.5}
/*  14/10/2026 (V4) — MES METIERS : une carte par famille sur trois colonnes, une ligne par metier (maquette finale).  */
.met5 .met-grille{columns:3 300px;column-gap:16px}
.met5 .met-fam{break-inside:avoid;background:var(--surface,#fff);border-radius:18px;padding:14px 16px 8px;margin:0 0 16px;box-shadow:0 1px 2px rgba(16,24,40,.05),0 2px 8px -2px rgba(16,24,40,.06)}
.met5 .met-fam .fam-t{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:14.5px;font-weight:800;color:var(--ink,#111315);text-transform:none;letter-spacing:0;border:0;padding:0}
.met5 .met-fam .fam-t .pico{width:16px;height:16px}.met5 .met-fam .met-cpt{margin-left:auto;color:var(--mut,#5B6676);font-size:12.5px;font-weight:700}
.met5 .met-fam .mots{display:block}
.met5 .met-fam .mot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:10px;margin:0 -10px;border:0;border-radius:12px;background:transparent;box-shadow:none;min-height:0;position:relative}
.met5 .met-fam .mot+.mot{border-top:1px solid var(--soft,#EEF1F5);border-radius:0}
.met5 .met-fam .mot .pico.gros{display:none}
.met5 .met-fam .mot>div{grid-column:1}.met5 .met-fam .mot .pt-sw{grid-column:2;grid-row:1}
.met5 .met-fam .mot .n{font-size:14.5px;font-weight:700}.met5 .met-fam .mot .v{font-size:12.5px;color:var(--mut,#5B6676)}
.met5 .met-fam .mot.on{background:color-mix(in srgb,var(--accent,#D6F33A) 18%,transparent);border-radius:12px;box-shadow:inset 3px 0 0 var(--sec,var(--ink,#111315))}
.met5 .met-fam .mot .jauge{grid-column:1/-1;height:3px;background:transparent;margin:2px 0 0}.met5 .met-fam .mot .jauge i{display:block;height:100%;background:var(--sec,var(--ink,#111315));border-radius:3px}
.met5 .met-fam .mot:not(.on) .jauge{display:none}
/*  14/10/2026 (V4) — MES COMMUNES : la carte des zones a gauche, la liste a droite (maquette finale).  */
.zn5 .zn-resume{color:var(--mut,#5B6676);font-size:14px;margin:6px 0 14px}.zn5 .zn-resume b{color:var(--ink,#111315)}
.zn5 .zn-cote{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
.zn5 .zn-carte{background:#EEF1F5;border-radius:18px;padding:14px;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}
.zn5 .zn-repli svg{width:100%;height:100%;overflow:visible}
.zn5 .zc-r{fill:color-mix(in srgb,var(--accent,#D6F33A) 28%,transparent);stroke:var(--ink,#111315);stroke-width:1.2;stroke-dasharray:4 4}
.zn5 .zc-p{fill:var(--ink,#111315)}.zn5 .zc-t{font-size:12px;font-weight:800;fill:var(--ink,#111315)}
.zn5 .zn-droite .zn-h2{margin-top:0}
.zn5 .zn-ajout{margin-top:12px}.zn5 .zn-ajout>summary{list-style:none;cursor:pointer;text-align:center}.zn5 .zn-ajout>summary::-webkit-details-marker{display:none}
.zn5 .zn-ajout[open]>summary{margin-bottom:12px}
.zn5 .zn-how{margin-top:16px}
@media (max-width:900px){.zn5 .zn-cote{grid-template-columns:1fr}.zn5 .zn-carte{max-width:360px;margin:0 auto;width:100%}}
/*  14/10/2026 (V4, maquette finale) — Mes communes : carte 1,4 / colonne 1 ; lignes compactes et « … ».  */
.zn5 .zn-cote{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
.zn5 .zn-carte{aspect-ratio:4/3;padding:0;background:transparent}
.zn5 .zc-fond{fill:#EEF1F5}.zn5 .zc-terre{fill:#fff;stroke:#DCE1E8}
.zn5 .zn-resume.statl{margin:0 0 10px;font-size:13px}
.zn5 .zn-siege{font-size:12.5px;color:var(--mut,#5B6676);margin:0 0 10px}
.zn5 .zn-siege .bt{margin-top:6px}
.zn5 .zn2{position:relative;flex-wrap:nowrap;align-items:center;gap:12px;background:#fff;border-radius:14px;padding:11px 12px;margin:0 0 8px;box-shadow:0 1px 2px rgba(16,24,40,.05),0 2px 8px -2px rgba(16,24,40,.06);border:0}
.zn5 .zn2 .zlic{flex:none;width:34px;height:34px;border-radius:10px;background:#F1F4F7;display:grid;place-items:center;color:var(--ink,#111315)}
.zn5 .zn2 .zlic svg{width:18px;height:18px}
.zn5 .zn2 .zi{min-width:0}.zn5 .zn2 .zi b{font-size:14px}
.zn5 .zn2 .zi small,.zn5 .zn2 .zr{display:inline;font-size:12px;margin:0}
.zn5 .zn2 .zr::before{content:" · "}
.zn5 .zn2 .zi small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zn5 .zn-plus{flex:none;width:34px;height:30px;border-radius:9px;border:0;background:#F1F4F7;font-weight:800;cursor:pointer;color:var(--ink,#111315)}
.zn5 .zn2 .zn-bts{display:none;position:absolute;right:10px;top:calc(100% - 6px);z-index:5;flex-direction:column;flex-basis:auto;gap:6px;background:#fff;border-radius:12px;padding:8px;box-shadow:0 8px 24px -6px rgba(16,24,40,.22)}
.zn5 .zn2.zn-ouvert .zn-bts{display:flex}
.zn5 .zn2 .zn-bts .bt{flex:none}
.zn5 .zn-ajout{background:transparent;box-shadow:none;padding:0;border:0}
.zn5 .zn-ajout>summary{display:block;background:var(--accent,#D6F33A);color:var(--accent-ink,#111315);font-weight:800;font-size:13.5px;border-radius:12px;padding:11px 14px}
.zn5 .zn-ajout[open]{background:#fff;border-radius:16px;padding:12px;box-shadow:0 1px 2px rgba(16,24,40,.05),0 2px 8px -2px rgba(16,24,40,.06)}
.zn5 .zn-how{margin-top:12px}.zn5 .zn-how .zn-trois{grid-template-columns:1fr;gap:10px}
.zn5 .zn2 .zi{flex:1 1 auto;min-width:0;overflow:hidden}
.zn5 .zn2 .zi>b{display:block}
.zn5 .zn2 .zi .zl{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;color:var(--mut,#5B6676)}
@media (max-width:900px){.zn5 .zn-cote{grid-template-columns:1fr}.zn5 .zn-carte{max-width:none}}
@media (max-width:900px){.zn5 .zn-cote{grid-template-columns:minmax(0,1fr)}.zn5 .zn-droite,.zn5 .zn-carte{min-width:0}}
/*  14/10/2026 (V4, maquette finale) — MES DOCUMENTS : la carte d etat a anneau, une ligne par piece (depliable),
    « Ajouter une certification » en bouton creux, « Comment ça se passe » replie.  */
.doc5 .docst{grid-template-columns:auto minmax(0,1fr);margin:6px 0 22px}
.doc5 .docst small{display:block;margin-top:3px;font-size:13px}.doc5 .docst .docst-p{margin-top:6px}
.doc5 .docst .ring text{fill:var(--ink,#111315)}
.doc5 .docs{display:grid;gap:8px;grid-template-columns:1fr}
.doc5 .dl5{display:block;background:var(--surface,#fff);border-radius:16px;padding:0;border:0;box-shadow:0 1px 2px rgba(16,24,40,.05),0 2px 8px -2px rgba(16,24,40,.06)}
.doc5 .dl5>summary{list-style:none;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 14px;cursor:pointer}
.doc5 .dl5>summary::-webkit-details-marker{display:none}
.doc5 .dl5 .lic{--c:#64748B}
.doc5 .dl5 .lmid{min-width:0;display:flex;flex-direction:column}.doc5 .dl5 .lmid b{font-size:14.5px;color:var(--ink,#111315)}
.doc5 .dl5 .lmid small{font-size:12.5px;color:var(--mut,#5B6676)}.doc5 .dl5 .lmid small.rouge{color:var(--danger,#DC2626)}
.doc5 .dl5 .chev{font-size:22px;color:var(--mut,#94A3B8);transition:transform .15s}.doc5 .dl5[open] .chev{transform:rotate(90deg)}
.doc5 .lst.at{background:#F59E0B}.doc5 .lst.gr{background:#94A3B8}
.doc5 .dl-corps{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px 14px;align-items:start;padding:0 14px 14px;border-top:1px solid var(--line,#E5E9EF);padding-top:12px}
.doc5 .dl-corps .doc-apercu{grid-row:span 3;width:96px;height:120px}
.doc5 .dl-corps .et{justify-self:start}.doc5 .dl-corps .doc-bts{display:flex;gap:6px;flex-wrap:wrap}
.doc5 .btn{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;font-weight:700;text-decoration:none;cursor:pointer;border:0}
.doc5 .btn.acc{background:var(--accent,#D6F33A);color:var(--accent-ink,#111315)}
.doc5 .btn.sm{height:34px;padding:0 14px;font-size:13px}
.doc5 .btn.ghost{background:transparent;border:1px solid var(--line,#DCE1E8);color:var(--ink,#111315);height:42px;padding:0 16px;font-size:14px;margin-top:4px}
.doc5 .doc-sous{margin:-4px 0 12px}
@media (max-width:640px){.doc5 .dl5>summary{grid-template-columns:40px minmax(0,1fr) auto;gap:10px;padding:11px 12px}.doc5 .dl-corps{grid-template-columns:72px minmax(0,1fr)}.doc5 .dl-corps .doc-apercu{width:72px;height:90px}}
/*  ═════════════════════════════════════════════════════════════════════════════════════════════════════════════
 *   14/10/2026 (soir) — LA SALLE D APRES LA MAQUETTE FINALE : resserree, elargie, TUILES COMPACTES.
 *   Mesure de depart a 1440 px : bande 172 px (maquette 145), filtres sur DEUX lignes 57 px plus bas (maquette : une
 *   ligne de 56 px juste sous la bande), 3 tuiles de 408 x 287 (maquette : 4 de 335 x 245) dans 1256 px (maquette 1376).
 *   ⚠️ LA LARGEUR S ELARGIT SUR LA SALLE SEULEMENT (bandeau, salle et pied ensemble, jusqu a 1720 px) : --pt-wrap est
 *   redefini sur le corps qui porte la salle ; toute autre page garde 1320 px.
 *  ═════════════════════════════════════════════════════════════════════════════════════════════════════════════ */
/* la bande des indicateurs : la courbe pres de ses chiffres */
.salle-pv2 .sv-cin{padding-top:16px;padding-bottom:14px}
.salle-pv2 .sv-spk{height:30px;margin-top:4px}
/* les filtres : UNE ligne, juste sous la bande ; les tuiles juste dessous */
.salle-v4.salle-pv2 .salle{padding-top:0}
.salle-pv2 .filtres{display:flex;flex-wrap:nowrap;align-items:center;gap:28px;padding:10px 0 8px}
.salle-pv2 .demandes{padding-top:4px}
/* le selecteur grandes / compactes, au bout de la ligne (ordinateur) */
.salle-pv2 .tsz{display:flex;gap:2px;flex:none;margin-left:14px;background:color-mix(in srgb,var(--v4-texte) 8%,transparent);border-radius:10px;padding:3px}
.salle-pv2 .tsz button{width:32px;height:30px;border:0;border-radius:8px;display:flex;align-items:center;justify-content:center;background:transparent;color:var(--v4-legende);cursor:pointer;padding:0}
.salle-pv2 .tsz button svg{width:16px;height:16px}
.salle-pv2 .tsz button.on{background:color-mix(in srgb,var(--v4-texte) 16%,var(--v4-salle));color:var(--v4-texte)}
.salle-pv2 .tsz button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
@media (max-width:760px){.salle-pv2 .tsz{display:none}}
/* « Je prends » : une pastille allongee A LA COULEUR DE LA CHARTE (la maquette), l encre qui se lit dessus */
.salle-pv2 .c:not(.pack) .prendre{background:var(--accent,var(--v4-vert));color:var(--accent-ink,var(--v4-graphite))}
/* LES TUILES COMPACTES : 4 par ligne a 1440 px, 5 au-dela (la grille se remplit, 272 px au moins par tuile) */
.salle-pv2 .demandes.compact{grid-template-columns:repeat(auto-fill,minmax(272px,1fr));gap:12px}
.salle-pv2 .demandes.compact .c{border-radius:14px}
.salle-pv2 .demandes.compact .c .tete{padding:12px 14px 0}
.salle-pv2 .demandes.compact .c .corps{padding-left:14px;padding-right:14px}
.salle-pv2 .demandes.compact .c .metier{font-size:11px;gap:6px}
.salle-pv2 .demandes.compact .c .metier svg.pico{width:15px;height:15px}
.salle-pv2 .demandes.compact .c .jauge .rond svg{width:38px;height:38px}
.salle-pv2 .demandes.compact .c .jauge .rond .v{font-size:13px}
.salle-pv2 .demandes.compact .c .jauge .lg{font-size:8.5px;letter-spacing:.06em}
.salle-pv2 .demandes.compact .c .ville{font-size:18px;margin-top:2px}
.salle-pv2 .demandes.compact .c .lgd,.salle-pv2 .demandes.compact .c .attr{font-size:12.5px}
.salle-pv2 .demandes.compact .c .attr{margin-top:6px}
.salle-pv2 .demandes.compact .c .rang{margin-top:8px;padding-bottom:10px;gap:5px}
.salle-pv2 .demandes.compact .c .rang .et{height:22px;font-size:11px;padding:0 7px}
.salle-pv2 .demandes.compact .c .rang .et:nth-child(n+3){display:none}   /* deux etiquettes au plus : le numero et la suivante */
.salle-pv2 .demandes.compact .c .bas{padding:10px 14px;gap:8px}
.salle-pv2 .demandes.compact .c .prix b{font-size:17px}
.salle-pv2 .demandes.compact .c .prix small{font-size:11px}
.salle-pv2 .demandes.compact .c:not(.pack) .plus{width:32px;height:32px}
.salle-pv2 .demandes.compact .c:not(.pack) .prendre{height:36px;min-width:0;padding:0 14px;font-size:13.5px}
.salle-pv2 .demandes.compact .c:not(.pack) .prendre .apres{font-size:9.5px}
/* la salle debordait de 24 px de chaque cote : sa marge negative visait l ancien gabarit, dont le parent avait une
   marge interieure ; « .pt-pleine » n en a plus. Mesure : .salle-v4 a -24 px, large de 1488 pour un ecran de 1440. */
.pt-pleine > .salle-v4.salle-pv2{margin-left:0;margin-right:0}
/* l air autour de la ligne des filtres : « --pt-filtres-air » (pose en !important par l ancienne salle) vaut ici
   l air de la maquette, 8 px — les filtres juste sous la bande, les tuiles juste sous les filtres. */
.salle-v4.salle-pv2{--pt-filtres-air:8px}

/*  ═════════════════════════════════════════════════════════════════════════════════════════════════════════════
 *   C1 (14/10/2026, nuit) — LA SALLE D APRES LA MAQUETTE A JOUR (14/10, 22 h).
 *   · la salle revient a sa largeur normale (1320 px) : l elargissement a 1720 px est retire (regles supprimees plus haut) ;
 *   · 4 tuiles compactes au plus par ligne, 3 sous 1100 px, 1 au telephone ;
 *   · le chiffre de la note CENTRE dans son rond : en compactes, le rond restait a 56 px pendant que le dessin passait
 *     a 38 px — le chiffre etait centre dans 56, le cercle dessine dans le coin haut gauche ;
 *   · au telephone, les rangees « Metier » et « Trier » disparaissent : la regle d ordinateur « .filtres{display:flex} »
 *     etait ecrite SANS condition et battait le « display:none » du telephone ecrit plus haut.
 *  ═════════════════════════════════════════════════════════════════════════════════════════════════════════════ */
.salle-pv2 .demandes.compact{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1100px){.salle-pv2 .demandes.compact{grid-template-columns:repeat(3,minmax(0,1fr))}}
.salle-pv2 .demandes.compact .c .jauge{width:auto;min-width:44px}
.salle-pv2 .demandes.compact .c .jauge .rond{width:38px;height:38px}
.salle-pv2 .demandes.compact .c .jauge .lg{margin-top:4px}
@media (max-width:760px){
  .salle-pv2 .filtres,.salle-pv2 .demandes.compact+.filtres{display:none!important}
  .salle-pv2 .demandes,.salle-pv2 .demandes.compact{grid-template-columns:1fr;gap:12px}
  /* le bouton des filtres : clair sur fond sombre (un trait clair, pas un aplat qui se fond) */
  .salle-pv2.sombre .sv-fbar .ibx.filt{background:transparent;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55);color:#fff}
  .salle-pv2:not(.sombre) .sv-fbar .ibx.filt{background:transparent;box-shadow:inset 0 0 0 1.5px var(--v4-trait);color:var(--v4-texte)}
  /* LES TUILES DU TELEPHONE (maquette) : badge « 92 · PREMIUM » a la place du rond, ville et distance, une ligne de
     details, une petite ligne grise « N° · anciennete », prix et « Je prends » DANS la carte (plus de bande separee). */
  .salle-v4.salle-pv2 .demandes .c:not(.pack){border-radius:16px}
  .salle-v4.salle-pv2 .demandes .c:not(.pack) .tete{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px 0}
  .salle-v4.salle-pv2 .demandes .c:not(.pack) .tete .gauche{min-width:0;flex:1}
  .salle-v4.salle-pv2 .demandes .c:not(.pack) .metier{font-size:11.5px}
  .salle-v4.salle-pv2 .demandes .c:not(.pack) .metier span{font-size:11.5px}
  .salle-v4.salle-pv2 .demandes .c:not(.pack) .metier svg.pico{width:15px;height:15px}
  .salle-v4.salle-pv2 .demandes .c:not(.pack) .tete .jauge{position:static;display:inline-flex;flex-direction:row;align-items:center;gap:6px;width:auto;min-width:0;
    flex:none;border-radius:999px;padding:4px 10px 4px 8px;background:color-mix(in srgb,currentColor 18%,transparent)}
  .salle-v4.salle-pv2 .demandes .c:not(.pack) .jauge .rond{width:auto!important;height:auto!important;display:inline-flex}
  .salle-v4.salle-pv2 .demandes .c:not(.pack) .jauge .rond svg{display:none}
  .salle-v4.salle-pv2 .demandes .c:not(.pack) .jauge .rond .v{position:static;font-size:13px;letter-spacing:0;line-height:1}
  .salle-v4.salle-pv2 .demandes .c:not(.pack) .jauge .lg{margin:0;font-size:10.5px;letter-spacing:.04em}
  .salle-v4.salle-pv2 .demandes .c:not(.pack) .corps{padding-left:14px;padding-right:14px}
  .salle-v4.salle-pv2 .demandes .c:not(.pack) .ville{font-size:20px;margin-top:6px}
  .salle-v4.salle-pv2 .demandes .c:not(.pack) .lgd{font-size:13px;margin-top:2px}
  .salle-v4.salle-pv2 .demandes .c:not(.pack) .attr{font-size:13px;margin-top:4px}
  .salle-v4.salle-pv2 .demandes .c:not(.pack) .rang{margin-top:6px;padding-bottom:8px;gap:10px;flex-wrap:nowrap;overflow:hidden}
  .salle-v4.salle-pv2 .demandes .c:not(.pack) .rang .et{border:0!important;background:none!important;padding:0!important;height:auto;font-size:12px;color:var(--v4-legende);box-shadow:none}
  .salle-v4.salle-pv2 .demandes .c:not(.pack) .rang .et.v{color:#4ADE80}
  .salle-v4.salle-pv2:not(.sombre) .demandes .c:not(.pack) .rang .et.v{color:var(--ok,#15803D)}
  .salle-v4.salle-pv2 .demandes .c:not(.pack) .rang .et:not(.num):not(:last-child){display:none}
  .salle-v4.salle-pv2 .demandes .c:not(.pack) .rang .et.num::after{content:" ·";color:var(--v4-legende)}
  .salle-v4.salle-pv2 .demandes .c:not(.pack) .signaler{display:none}
  .salle-v4.salle-pv2 .demandes .c:not(.pack) .bas{background:transparent!important;border-top:1px solid var(--v4-trait);margin-top:0;padding:10px 14px 12px;gap:8px;min-height:0}
  .salle-v4.salle-pv2 .demandes .c:not(.pack) .prix b{font-size:18px}
  .salle-v4.salle-pv2 .demandes .c:not(.pack) .prix small,.salle-v4.salle-pv2 .demandes .c:not(.pack) .prix i{font-size:11.5px}
  .salle-v4.salle-pv2 .demandes .c:not(.pack) .plus{width:36px;height:36px}
  .salle-v4.salle-pv2 .demandes .c:not(.pack) .prendre{height:40px;min-width:0;padding:0 18px;font-size:14px}
}
/* C1 — LE HAUT DE L ECRAN AU TELEPHONE (maquette) : le logo a gauche ; le solde en pastille (un appui ouvre Mon credit)
   et le panier a droite ; les cinq mots de la barre du bas a la meme taille. */
@media (max-width:760px){
  body.pt-logged .pt-solde{flex-direction:row;align-items:center;background:rgba(255,255,255,.09);border-radius:999px;padding:7px 14px;min-height:36px}
  body.pt-logged .pt-solde:hover{background:rgba(255,255,255,.14)}
  body.pt-logged .pt-solde b{font-size:15px;line-height:1}
  body.pt-logged .pt-bbar a,body.pt-logged .pt-bbar button{font-size:11.5px;font-weight:700;line-height:1.2}
  body.pt-logged .pt-bbar a span,body.pt-logged .pt-bbar button span{font-size:11.5px;font-weight:700;line-height:1.2}
}
@media (max-width:760px){
  /* une seule gouttiere de 16 px au telephone (la page ET la salle en posaient chacune une : tuiles a 32 px du bord) */
  .pt-pleine>.salle-v4.salle-pv2{margin-left:-16px;margin-right:-16px}
  /* le solde et le panier a droite, le logo a gauche */
  body.pt-logged .pt-hdr .pt-right{margin-left:auto}
}

/* C1 point 4 — LA FICHE D UNE DEMANDE, AVANT L ACHAT (maquette a jour) : la carte d achat collee en haut a droite, la
   demande au centre ; au telephone, une barre fixe en bas avec le prix et « Je prends ». */
.pv2.f5 .f5-mentions{margin:-6px 0 12px}
.pv2.f5 .fiche2{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr);gap:22px;align-items:start;margin-top:4px}
.pv2.f5 .stack{display:grid;gap:16px;min-width:0}
.pv2.f5 .card{border:0;box-shadow:0 1px 2px rgba(16,24,40,.05),0 6px 20px -8px rgba(16,24,40,.18)}
.pv2.f5 .card .h3{margin-top:0}
.pv2.f5 .f5-p{margin:0 0 8px;color:var(--mut);line-height:1.6}
.pv2.f5 .f5-cite{border-left:3px solid var(--line);padding-left:12px}
.pv2.f5 .f5-st{font-size:14px;font-weight:700;margin:14px 0 6px}
.pv2.f5 .f5-gt{display:block;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);margin:12px 0 2px}
.pv2.f5 .how{margin-top:12px;background:var(--surface);border-radius:14px}
.pv2.f5 .how summary{cursor:pointer;font-weight:700}
.pv2.f5 .blur{filter:blur(5px);user-select:none}
.pv2.f5 .buy2{position:sticky;top:calc(var(--pt-hdr-h,68px) + 20px);background:var(--surface);border-radius:20px;padding:20px;
  box-shadow:0 1px 2px rgba(16,24,40,.05),0 6px 20px -8px rgba(16,24,40,.18);display:grid;gap:16px}
.pv2.f5 .buy2 .note{margin:0}
.pv2.f5 .buy2 form{margin:0}
.pv2.f5 .buy2 .f5-retenir{margin-top:-6px}
.pv2.f5 .bp{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.pv2.f5 .bp small{display:block;color:var(--mut);font-size:12px;font-weight:700}
.pv2.f5 .bp b{display:block;font-size:30px;font-weight:800;margin:2px 0}
.pv2.f5 .bp span{color:var(--mut);font-size:12.5px}
.pv2.f5 .f5-jg{display:flex;flex-direction:column;align-items:center;gap:3px;flex:none}
.pv2.f5 .f5-jg .rd{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;
  background:conic-gradient(var(--lc) calc(var(--v)*1%),rgba(150,160,175,.25) 0)}
.pv2.f5 .f5-jg .rd::before{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--surface)}
.pv2.f5 .f5-jg .rd span{position:relative;font-weight:800;font-size:18px;line-height:1}
.pv2.f5 .f5-jg small{font-size:10.5px;font-weight:800;letter-spacing:.06em;color:var(--lc)}
.pv2.f5 .bq{background:var(--soft);border-radius:14px;padding:12px 14px}
.pv2.f5 .bq>small,.pv2.f5 .bget>small{display:block;font-size:11.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--mut);margin-bottom:6px}
.pv2.f5 .q{display:flex;justify-content:space-between;padding:5px 0;font-size:14px}
.pv2.f5 .q span{color:var(--mut)}.pv2.f5 .q b{color:var(--ok)}
.pv2.f5 .bpl{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--mut)}
.pv2.f5 .bget .ck{margin:0}
.pv2.f5 .f5-info{margin:0;font-size:13px;line-height:1.5;background:var(--soft);border-radius:12px;padding:10px 12px}
.pv2.f5 .f5-info a{display:block;font-weight:700;margin-top:4px}
.pv2.f5 .f5-plus{margin:0;font-weight:700;color:var(--danger)}
.pv2.f5 .buybar{display:none}
@media (max-width:760px){
  .pv2.f5 .fiche2{grid-template-columns:1fr}
  .pv2.f5 .buy2{position:static}
  .pv2.f5 .buy2 .f5-prendre,.pv2.f5 .buy2 .f5-retenir{display:none}
  .pv2.f5 .buybar{display:flex;position:sticky;bottom:calc(var(--pt-bbar-h,64px) + 8px);z-index:21;align-items:center;justify-content:space-between;gap:12px;
    background:var(--surface);border-radius:16px;margin:14px 0 0;padding:10px 12px 10px 16px;box-shadow:0 -6px 24px -10px rgba(0,0,0,.35)}
  .pv2.f5 .buybar b{display:block;font-size:18px}.pv2.f5 .buybar small{color:var(--mut);font-size:12px}
  .pv2.f5 .buybar form{margin:0;flex:none}
}
@media (max-width:760px){
  /* la fiche garde ses lignes « libelle / valeur » sur deux colonnes (la maquette), contrairement aux formulaires */
  .pv2.f5 .kv{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
  .pv2.f5 .kv>div:nth-child(odd){padding-bottom:10px;border-bottom:1px solid var(--line)}
  .pv2.f5 .kv>div:nth-last-child(-n+2){border-bottom:0}
  /* le rond « ? » remonte au-dessus de la barre « Je prends » : il ne la chevauche jamais */
  body:has(.pv2.f5 .buybar) .pt-bbar .pt-qhelp{top:-128px}
}
/* C1 point 6 — LES ALERTES : le triangle orange « ⚠ n » a cote du titre, A L ORDINATEUR AUSSI ; un clic ouvre le detail et
   son bouton « Compléter ». Plus aucune bande d alerte dans les pages (la bande fine de l ordinateur est retiree). */
:is(.pv2,.pv5e) .ibx.alert{display:inline-flex}
:is(.pv2,.pv5e) .warnslim{display:none}
/* C1 point 7 — le rond du taux de signature SANS CADRE GRIS (la maquette : un trait fin a gauche, pas d aplat) */
.pv2 .hero2 .h2r,.pv2 .h2r{background:transparent;border-left:1px solid rgba(255,255,255,.14);border-radius:0;padding:4px 0 4px 24px}
@media (max-width:760px){.pv2 .h2r{border-left:0;border-top:1px solid rgba(255,255,255,.14);padding:14px 0 0}}

/* C1 points 8 et 9 — MES METIERS d apres la maquette a jour, et LES BARRES D ENREGISTREMENT.
   · 8 px d air entre chaque ligne, chaque ligne arrondie ; allumee : fond leger + lisere vert a gauche ; eteinte : une simple
     ligne (aucun cadre dans le cadre) ; le trait d activite FIN (2 px), d une seule couleur, sous chaque metier.
   · la carte de synthese (« N métiers allumés sur 29 ») avec « Tous corps d’état », son « i » et son interrupteur ;
   · la recherche ET les filtres sur une ligne, les filtres soulignes (plus de pastilles). */
.met5 .met-synth{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;align-items:center;background:var(--surface,#fff);border-radius:20px;padding:18px 20px;margin:4px 0 0;
  box-shadow:0 1px 2px rgba(16,24,40,.05),0 2px 8px -2px rgba(16,24,40,.06)}
.met5 .met-synth b{display:block;font-size:17px}.met5 .met-synth small{color:var(--mut,#5B6676)}
.met5 .allsw2{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.met5 .allsw2 .tce-tete{display:flex;align-items:center;gap:6px}
.met5 .allsw2 .tce-tete small{font-size:12px;font-weight:700;color:var(--ink,#111315)}
.met5 .allsw2 .ibx.tce-i{display:inline-flex;width:24px;height:24px;border-radius:50%;box-shadow:none;background:var(--soft,#EEF1F5)}
.met5 .allsw2 .ibx.tce-i svg{width:14px;height:14px}
.met5 .allsw2 .tce-case{display:inline-flex;align-items:center;cursor:pointer;margin:0;padding:0;background:none;border:0;box-shadow:none}
.met5 .allsw2 .tce-case input{position:absolute;opacity:0;width:1px;height:1px}
.met5 .allsw2 .tce-etat{font-size:12px;font-style:normal;color:var(--mut,#5B6676)}.met5 .allsw2 .tce-etat.ok{color:var(--ok,#1F9D63)}
.met5 .allsw2 .tce-etat[hidden]{display:none}
.met5 .met-outils{display:flex;align-items:center;gap:18px;margin:16px 0 4px;flex-wrap:wrap}
.met5 .met-outils .met-rech{flex:0 1 280px;min-width:0}
.met5 .met-filtres{display:flex;gap:2px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.met5 .met-filtres::-webkit-scrollbar{display:none}
.met5 .met-filtres .met-f{border:0;background:transparent;border-radius:0;height:38px;padding:0 10px;color:var(--mut,#5B6676);font-weight:700;position:relative;cursor:pointer;white-space:nowrap;box-shadow:none}
.met5 .met-filtres .met-f.on{color:var(--ink,#111315);background:transparent}
.met5 .met-filtres .met-f.on::after{content:"";position:absolute;left:10px;right:10px;bottom:2px;height:2px;border-radius:2px;background:var(--ink,#111315)}
.met5 .met-fam .mot,.met5 .met-fam .mot+.mot{margin:8px 0 0;padding:11px 12px;border:0;border-radius:12px}
.met5 .met-fam .mots>.mot:first-child{margin-top:4px}
.met5 .met-fam .mot.on{background:color-mix(in srgb,var(--accent,#D6F33A) 22%,var(--surface,#fff));border-radius:12px;box-shadow:inset 3px 0 0 var(--ok,#1F9D63)}
.met5 .met-fam .mot .jauge{height:2px;max-width:180px;background:var(--soft,#EEF1F5);border-radius:2px;margin:8px 0 0}
.met5 .met-fam .mot .jauge i{background:var(--ink,#111315);opacity:.55;border-radius:2px}
.met5 .met-fam .mot:not(.on) .jauge{display:block}
.met5 .cpt-l{display:none}
.met5.onb .cpt-l{display:block}
@media (max-width:760px){
  .met5 .met-synth{grid-template-columns:1fr}.met5 .allsw2{flex-direction:row;align-items:center;justify-content:space-between}
  .met5 .met-outils{gap:8px}.met5 .met-outils .met-rech{flex:1 1 100%}
}
/* LES BARRES D ENREGISTREMENT (Mes métiers, Mes communes) : seulement apres un vrai changement, fines, sur une ligne
   (« 2 changements » · « Annuler » · « Enregistrer ») ; le rond « ? » remonte et ne la chevauche jamais. */
.met-barre.barre5{position:sticky;bottom:12px;z-index:21;display:flex;flex-wrap:nowrap;align-items:center;gap:12px;max-width:1320px;margin:12px auto 0;
  padding:8px 12px 8px 18px;background:var(--surface,#fff);border:0;border-radius:14px;box-shadow:0 -6px 18px -12px rgba(0,0,0,.25),0 6px 20px -8px rgba(16,24,40,.25)}
.met-barre.barre5[hidden]{display:none}
.met-barre.barre5 .met-barre-txt{flex:1;min-width:0;font-size:14px}
.met-barre.barre5 .met-barre-txt b{display:inline;font-size:14px;font-weight:700;color:var(--ink,#111315)}
.met-barre.barre5 .met-barre-txt span{display:none}
.met-barre.barre5 .bt{height:36px;padding:0 16px;flex:none}
.met-barre.barre5 .bt.creux{background:transparent;border:0;box-shadow:none;text-decoration:underline;padding:0 6px;color:var(--ink,#111315)}
@media (max-width:760px){ .met-barre.barre5{bottom:calc(var(--pt-bbar-h,64px) + 8px);margin:12px 0 0;padding:8px 12px 8px 16px} .met-barre.barre5 .bt{flex:none} }
@media (min-width:761px){ body:has(.met-barre.barre5:not([hidden])) .pt-aide{bottom:84px} }
@media (max-width:760px){ body:has(.met-barre.barre5:not([hidden])) .pt-bbar .pt-qhelp{top:-118px} }
/* la premiere ligne eteinte d une famille gardait un cadre : « .pt-ancien .mot.teinte:not(.on) » (0,4,0) battait
   « .met5 .met-fam .mot » (0,3,0) — la regle « .mot+.mot » ne la couvre pas. Une seule regle, plus precise, pour toutes. */
.met5 .met-fam .mots>.mot.mot{border:0;box-shadow:none;background:transparent;padding:11px 12px;margin:8px 0 0;border-radius:12px}
.met5 .met-fam .mots>.mot.mot:first-child{margin-top:4px}
.met5 .met-fam .mots>.mot.mot.on{background:color-mix(in srgb,var(--accent,#D6F33A) 22%,var(--surface,#fff));box-shadow:inset 3px 0 0 var(--ok,#1F9D63)}
/* C1 point 10 — LA VRAIE CARTE de « Mes communes » (Leaflet + Plan IGN) ; le schema d avant reste en repli. */
.zn5 .zn-carte{position:relative;display:block}
.zn5 .zn-carte .zn-map{display:none}
.zn5 .zn-carte.zn-carte-ok .zn-map{display:block;width:100%;height:100%;min-height:320px;border-radius:18px;overflow:hidden;z-index:0}
.zn5 .zn-carte.zn-carte-ok .zn-repli{display:none}
.zn5 .zn-carte .leaflet-container{font:inherit;background:#E8EEF2}
.zn5 .zn-carte .leaflet-control-attribution{font-size:10.5px}
.zn5 .zn-carte .zn-map-vide::after{content:attr(data-vide);position:absolute;left:12px;right:12px;bottom:12px;z-index:500;background:rgba(255,255,255,.92);border-radius:10px;padding:8px 10px;font-size:13px;color:var(--mut,#5B6676)}
@media (min-width:901px){.zn5 .zn-cote .zn-carte{position:sticky;top:calc(var(--pt-hdr-h,68px) + 20px)}}
@media (max-width:900px){.zn5 .zn-carte.zn-carte-ok .zn-map{min-height:280px}}
.zn5 .zn-carte .leaflet-container img,.zn5 .zn-carte .leaflet-container svg{max-width:none!important;max-height:none!important}

/*  14/10/2026 (nuit, C1 point 11) — LE CHOIX DE L ENGAGEMENT, DANS CHAQUE CARTE DE FORMULE (maquette du 14/10 au soir).
    L interrupteur du haut est retire : chaque formule a son « Sans engagement / Engage 12 mois », qui change ses seuls
    prix, reduction, lignes et bouton. Libre et le Carnet n en ont pas.  */
.pv2 .engseg{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--soft);border-radius:12px;padding:4px;margin-top:12px}
.pv2 .engseg button{border:0;background:transparent;border-radius:9px;min-height:44px;font-weight:700;font-size:12.5px;cursor:pointer;color:var(--mut);padding:4px 6px;line-height:1.25;font-family:inherit}
.pv2 .engseg button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(16,24,40,.15)}
.pv2 .engseg button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.pv2 .plan.feat .engseg{background:color-mix(in srgb,var(--accent) 25%,var(--soft))}
.pt-moremenu a>span{white-space:nowrap}

/*  15/10/2026 (sequence V5) — LA PAGE INTROUVABLE DANS LE GABARIT (maquette du 14/10, PAGES.erreur) : la carte centree
    dans la hauteur qui reste sous le bandeau, le grand « 404 ».  */
.pv2 .center{min-height:calc(100vh - 68px - 47px);display:flex;align-items:center;justify-content:center;padding:32px 16px}
.pv2 .e404{font-size:64px;font-weight:800;letter-spacing:-.03em;line-height:1.1;margin:0 0 6px;color:var(--ink)}
@media (max-width:760px){.pv2 .center{min-height:calc(100svh - 60px - 64px);padding:20px 16px}}

/*  15/10/2026 (sequence V5) — L INSCRIPTION DESCENDUE SOUS LE BANDEAU. « .vit » (app.css) tire la page de 32 px vers le
    haut (24 au telephone) : « margin: calc(var(--main-pad-y) * -1) » reprenait l air du contenu de l ANCIEN gabarit.
    Le contenu n a plus cet air : le titre touchait le bandeau (2 px). La marge haute est remise a zero A CET ENDROIT
    (« .vit » n existe que sur l inscription) ; l air au-dessus est celui des autres pages (44 px, comme « .ph »), et le
    retour de la maquette se pose au-dessus du titre.  */
body.pt-body .pt-ancien>.vit{margin-top:0}
body.pt-body .vit .ins-top{padding-top:44px}
body.pt-body .vit .ins-top .ins-retour{display:inline-block;margin:0 0 10px;font-size:14px;font-weight:600;color:var(--mut);text-decoration:none}
body.pt-body .vit .ins-top .ins-retour:hover{color:var(--ink);text-decoration:underline}
@media (max-width:760px){body.pt-body .vit .ins-top{padding-top:20px}body.pt-body .vit .ins-top .ins-retour{order:-2;align-self:flex-start;padding:0 15px;margin:0 0 12px}body.pt-body .vit .ins-top .ins-fil-tel{margin:0 0 12px}}

/*  15/10/2026 (sequence V5) — « Je n ai rien recu : renvoyer le lien » : un vrai bouton (il envoie le formulaire), dessine
    comme le lien de la maquette.  */
.pv2 .cf-renvoi .alt{margin:14px 0 0}
.pv2 .cf-lien{background:none;border:0;padding:6px 4px;font:inherit;font-weight:700;color:var(--ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:44px}
.pv2 .cf-lien:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}

/*  15/10/2026 (sequence V5) — LES PAGES COURTES DU VISITEUR (connexion, mot de passe oublie, nouveau mot de passe, lien
    expire) : la carte « .auth2 » de la maquette finale, centree dans la hauteur ; les liens a l encre, sans le bleu
    souligne du navigateur ; « Mot de passe oublie ? » petit et gris, « Creer mon compte » gras.  */
.pv2 .auth2 .back{display:inline-block;margin:0 0 12px;font-size:14px;font-weight:600;color:var(--mut);text-decoration:none}
.pv2 .auth2 .back:hover{color:var(--ink);text-decoration:underline}
.pv2 .auth2 .f small a{color:var(--mut);text-decoration:none;font-size:13px}
.pv2 .auth2 .f small a:hover{color:var(--ink);text-decoration:underline}
.pv2 .auth2 .alt a{color:var(--ink);text-decoration:none}
.pv2 .auth2 .alt a:hover{text-decoration:underline}
.pv2 .auth2 .alt2{margin-top:6px}.pv2 .auth2 .alt2 a{font-weight:600;color:var(--mut)}
.pv2 .auth2 .form .err{color:#B42318;font-size:13.5px;margin:6px 0 0}

/* ═══ 15/10/2026 — LA RUBRIQUE « VOUS LES AVEZ RATEES » (maquette du 15/10 : .rat, .rath, .rtiles, .tile.rt) ═══
   Les tuiles sont celles de la salle (.c dans un .demandes) : elles en prennent la forme, les rangees et les coupures.
   Une seule rangee : --rt-ng grandes, --rt-nc compactes au-dela de 1 100 px, --rt-nc1 (une de moins) de 761 a 1 100 px ;
   au telephone, une rangee qu on fait glisser du doigt. Tout vient des reglages (Parametres › Salle de marche). */
.salle-pv2 .rat{padding:26px 0 4px}
.salle-pv2 .rath{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px}
.salle-pv2 .rath h2{margin:0;font-size:22px;font-weight:800;letter-spacing:-.01em;color:var(--v4-texte)}
.salle-pv2 .rath .rc{font-size:13.5px;font-weight:700;color:var(--v4-legende)}
.salle-pv2 .rath .ibx.rinfo{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:var(--v4-puce);color:var(--v4-texte);cursor:pointer;box-shadow:none}
.salle-pv2 .rath .ibx.rinfo svg{width:17px;height:17px}
.salle-pv2 .demandes.rtiles,.salle-pv2 .demandes.rtiles.compact{display:grid;grid-template-columns:repeat(var(--rt-ng,3),minmax(0,1fr));gap:16px;padding:0}
.salle-pv2 .demandes.rtiles.compact{grid-template-columns:repeat(var(--rt-nc,4),minmax(0,1fr));gap:12px}
.salle-pv2 .rtiles:not(.compact) > .c.rt-hg,.salle-pv2 .rtiles.compact > .c.rt-hc{display:none}
@media (min-width:761px) and (max-width:1100px){
  .salle-pv2 .demandes.rtiles.compact{grid-template-columns:repeat(var(--rt-nc1,3),minmax(0,1fr))}
  .salle-pv2 .rtiles.compact > .c.rt-moins{display:none}
}
.salle-pv2 .c.rt{background:color-mix(in srgb,var(--v4-std) 60%,var(--v4-salle));box-shadow:none}
.salle-pv2 .c.rt .tete .gauche,.salle-pv2 .c.rt .corps{opacity:.6}
.salle-pv2 .c.rt .ville{cursor:default;text-decoration:none;color:inherit}
.salle-pv2 .c.rt .tete{align-items:center}
.salle-pv2 .c.rt .vend{flex:none;display:inline-flex;align-items:center;height:26px;padding:0 11px;border-radius:999px;font-size:12px;font-weight:800;background:var(--v4-puce);color:var(--v4-texte);white-space:nowrap}
.salle-pv2 .c.rt .bas.rt-bas{display:flex;flex-direction:column;align-items:flex-start;gap:0;background:transparent}
.salle-pv2 .c.rt .rt-bas .prix b{color:var(--v4-legende);font-size:18px}
.salle-pv2 .c.rt .rt-bas .prix s{text-decoration-thickness:1.5px}
.salle-pv2 .c.rt .why,.salle-pv2 .c.rt .why2{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.salle-pv2 .c.rt .why{font-size:13.5px;font-weight:700;color:var(--v4-texte);margin-top:6px}
.salle-pv2 .c.rt .why2{font-size:12.5px;color:var(--v4-legende);margin-top:2px}
.salle-pv2 .c.rt .fix{display:inline-block;margin-top:6px;font-size:13px;font-weight:800;color:var(--v4-vert-texte,var(--v4-vert));text-decoration:none}
.salle-pv2 .c.rt .fix.no{visibility:hidden}
.salle-pv2 .demandes.compact .c.rt .rt-bas .prix b{font-size:15px}
.salle-pv2 .demandes.compact .c.rt .why{font-size:12.5px}
.salle-pv2 .ratall{margin:14px 0 0}
.salle-pv2 .ratall a{color:var(--v4-vert-texte,var(--v4-vert));font-weight:700;text-decoration:none}
@media (max-width:760px){
  .salle-pv2 .rath h2{font-size:18px}.salle-pv2 .rath{gap:8px;margin-bottom:10px}
  .salle-pv2 .demandes.rtiles,.salle-pv2 .demandes.rtiles.compact{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -16px;padding:0 16px 4px;scroll-padding-left:16px;scrollbar-width:none}
  .salle-pv2 .demandes.rtiles::-webkit-scrollbar{display:none}
  .salle-pv2 .rtiles > .c.rt,.salle-pv2 .rtiles > .c.rt.rt-hg,.salle-pv2 .rtiles > .c.rt.rt-hc{display:flex;flex:0 0 82%;scroll-snap-align:start}
}
/* 15/10 — mesure : « Recharger mon crédit » passait sur deux lignes (37 px) et decalait le prix de sa tuile de 16 px dans la
   rangee ; « Vendue » tombait SOUS le metier au lieu d etre a sa droite. Une ligne chacun, la pastille sur la ligne du metier. */
.salle-pv2 .c.rt .fix{white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;line-height:21px}
.salle-pv2 .c.rt .tete{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:10px}
.salle-pv2 .c.rt .tete .gauche{flex:1 1 auto;min-width:0}
/* 15/10 — mesure : le lien de la raison prenait 35 px (une regle de bouton du pied de tuile lui donnait son air) */
.salle-pv2 .c.rt .rt-bas a.fix,.salle-pv2 .c.rt .rt-bas span.fix{padding:0;margin:6px 0 0;height:21px;min-height:0;border:0;background:none;box-shadow:none;border-radius:0;display:block}
.salle-pv2 .c.rt .rt-bas .prix{height:21px;min-height:0;padding:0;margin:0;line-height:21px}
/* 15/10 — mesure : en ambiance claire, le vert des liens « Recharger mon crédit » et « Tout voir » ne se lisait pas sur
   blanc. Ils prennent la couleur des liens de la salle (celle de « Voir les demandes … au-delà de votre zone »). */
.salle-pv2 .c.rt .rt-bas a.fix,.salle-pv2 .ratall a{color:var(--accent)}
.salle-pv2.claire .c.rt .rt-bas a.fix,.salle-pv2.claire .ratall a{color:var(--link)}   /* ambiance claire : la couleur des liens sur clair (la maquette : .pres-clair … var(--link)) */

/*  16/10/2026 (etape A) — sous un champ fichier : le refus d un fichier trop gros (portail.js) ; en haut d un formulaire
    retrouve apres une reconnexion : « ce que vous aviez saisi a ete remis ». Couleurs de la charte (jetons du portail).  */
.pt-depot-trop{margin:6px 0 0;color:var(--danger,#B3261E);font-size:13px;line-height:1.4;font-weight:600}
.pt-depot-trop[hidden]{display:none}
.pt-reprise-mot{margin:0 0 12px;padding:10px 12px;border-radius:8px;background:var(--soft,#F3F4F6);color:var(--ink,#111315);font-size:14px;line-height:1.45;border-left:3px solid var(--accent,#C2542F)}

/* ═══ 16/10/2026 (sequence 5) — 3, 4 OU 5 TUILES PAR LIGNE, ET LA SALLE VIDE (maquette du 15/10, complement 7) ═══
   Un seul choix pour les demandes (#liste), les exemples (.sv-ex) et les ratees (.rtiles) : 3 = sans classe, 4 = .compact,
   5 = .compact.cinq. Quand la place manque : 5 -> 4 sous 1 360 px, 4 et 5 -> 3 sous 1 100 px, une seule au telephone.
   Les trois pictogrammes sont des APLATS (deux rangees de 3, 4, 5 petits carres) : fill, pas de trait. */
.salle-pv2 .tsz button svg{width:20px;height:20px;fill:currentColor;stroke:none}
.salle-pv2 .demandes:not(.compact):not(.rtiles){grid-template-columns:repeat(3,minmax(0,1fr))}
.salle-pv2 .demandes.compact.cinq:not(.rtiles){grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
@media (max-width:1359px){.salle-pv2 .demandes.compact.cinq:not(.rtiles){grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:1100px){.salle-pv2 .demandes.compact.cinq:not(.rtiles){grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1000px){.salle-pv2 .demandes:not(.compact):not(.rtiles){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.salle-pv2 .demandes:not(.compact):not(.rtiles),.salle-pv2 .demandes.compact.cinq:not(.rtiles){grid-template-columns:1fr}}
/* les ratees : une seule rangee du nombre choisi ; les tuiles au-dela sont cachees par leur rang (ordinateur) */
@media (min-width:761px){
  .salle-pv2 .demandes.rtiles{grid-template-columns:repeat(3,minmax(0,1fr))}
  .salle-pv2 .demandes.rtiles.compact{grid-template-columns:repeat(4,minmax(0,1fr))}
  .salle-pv2 .demandes.rtiles.compact.cinq{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
  .salle-pv2 .rtiles:not(.compact) > .c:nth-child(n+4),.salle-pv2 .rtiles.compact:not(.cinq) > .c:nth-child(n+5),.salle-pv2 .rtiles.cinq > .c:nth-child(n+6){display:none}
  .salle-pv2 .rtiles.compact > .c.rt-moins{display:flex}
}
@media (min-width:761px) and (max-width:1359px){
  .salle-pv2 .demandes.rtiles.compact.cinq{grid-template-columns:repeat(4,minmax(0,1fr))}
  .salle-pv2 .rtiles.cinq > .c:nth-child(n+5){display:none}
}
@media (min-width:761px) and (max-width:1100px){
  .salle-pv2 .demandes.rtiles.compact,.salle-pv2 .demandes.rtiles.compact.cinq{grid-template-columns:repeat(3,minmax(0,1fr))}
  .salle-pv2 .rtiles.compact > .c:nth-child(n+4){display:none}
}
/* a 5 par ligne, le texte se resserre (maquette .cinq) ; « Vendue » et « Exemple » s effacent ; rien ne deborde */
.salle-pv2 .demandes.cinq .c .tete{padding-left:12px;padding-right:12px}
.salle-pv2 .demandes.cinq .c .corps{padding-left:12px;padding-right:12px}
.salle-pv2 .demandes.cinq .c .bas{padding-left:12px;padding-right:12px;gap:6px}
.salle-pv2 .demandes.cinq .c .metier{font-size:10.5px}
.salle-pv2 .demandes.cinq .c .ville{font-size:17px}
.salle-pv2 .demandes.cinq .c .lgd,.salle-pv2 .demandes.cinq .c .attr{font-size:12px}
.salle-pv2 .demandes.cinq .c .rang .et{font-size:10.5px;padding:0 7px}
.salle-pv2 .demandes.cinq .c .prix b{font-size:14.5px}
.salle-pv2 .demandes.cinq .c .prix i,.salle-pv2 .demandes.cinq .c .prix small{font-size:10.5px}
.salle-pv2 .demandes.cinq .c:not(.pack) .prendre{padding:0 11px;font-size:12.5px}
.salle-pv2 .demandes.cinq .c:not(.pack) .plus{width:28px;height:28px}
.salle-pv2 .demandes.cinq .c .jauge{transform:scale(.85);transform-origin:right top}
.salle-pv2 .demandes.cinq .c .ville,.salle-pv2 .demandes.cinq .c .lgd,.salle-pv2 .demandes.cinq .c .attr{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.salle-pv2 .demandes.cinq .c.rt .vend,.salle-pv2 .demandes.cinq .c.ex .exb{display:none}

/* la salle vide : le titre, la phrase, les liens ; « Ne plus afficher les exemples » a droite (le cadre blanc d hier a disparu) */
.salle-pv2 #salleVide[hidden]{display:none}
.salle-pv2 .sv-vide{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 24px;align-items:end;padding:6px 0 18px}
.salle-pv2 .sv-vide h2{margin:0;font-size:20px;font-weight:800;color:var(--v4-texte)}
.salle-pv2 .sv-vide p{margin:6px 0 0;font-size:14.5px;line-height:1.55;color:var(--v4-legende);max-width:720px}
.salle-pv2 .sv-vide .lk{display:flex;gap:20px;flex-wrap:wrap;margin-top:10px}
.salle-pv2 .sv-vide .lk a{color:var(--v4-vert-texte,var(--v4-vert));font-weight:700;font-size:14px;text-decoration:none}
.salle-pv2 .sv-vide .lk a::after{content:" ›"}
.salle-pv2 .sv-mq{margin:0}
.salle-pv2 .sv-mq button{border:0;background:transparent;padding:0;font:inherit;font-size:13px;font-weight:600;color:var(--v4-legende);text-decoration:underline;cursor:pointer;white-space:nowrap}
@media (max-width:760px){.salle-pv2 .sv-vide{grid-template-columns:1fr}.salle-pv2 .sv-mq{justify-self:start}.salle-pv2 .sv-vide h2{font-size:18px}}
/* les tuiles d exemple : celles de la salle, plus le filigrane (mot regle), la pastille « Exemple » et « Comment ca marche ? » */
.salle-pv2 .c.ex{position:relative}
.salle-pv2 .c.ex .ex-fil{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-24deg);font-size:64px;font-weight:900;letter-spacing:.14em;color:var(--v4-texte);opacity:.13;pointer-events:none;white-space:nowrap;z-index:3;border:0;background:none;box-shadow:none;border-radius:0;width:auto;height:auto;right:auto;bottom:auto;padding:0}
.salle-pv2.claire .c.ex .ex-fil{opacity:.08}
.salle-pv2 .demandes.compact .c.ex .ex-fil{font-size:50px}
.salle-pv2 .demandes.cinq .c.ex .ex-fil{font-size:40px}
.salle-pv2 .c.ex .tete{padding-right:172px}
.salle-pv2 .c.ex .exb{position:absolute;top:30px;right:86px;display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;font-size:11.5px;font-weight:800;letter-spacing:.02em;background:var(--accent,var(--v4-vert));color:var(--accent-ink,var(--v4-graphite));white-space:nowrap}
.salle-pv2 .demandes.compact .c.ex .tete{padding-right:132px}
.salle-pv2 .demandes.compact .c.ex .exb{top:18px;right:64px}
.salle-pv2 .demandes.cinq .c.ex .tete{padding-right:56px}
.salle-pv2 .c.ex .ville{cursor:default;text-decoration:none}
.salle-pv2 .c.ex .prendre.ex-how{white-space:nowrap}
.salle-pv2 .c.ex .ex-how .sh5{display:none}
.salle-pv2 .demandes.compact .c.ex .ex-how .lg5{display:none}
.salle-pv2 .demandes.compact .c.ex .ex-how .sh5{display:inline}
@media (max-width:760px){.salle-pv2 .demandes.compact .c.ex .ex-how .lg5{display:inline}.salle-pv2 .demandes.compact .c.ex .ex-how .sh5{display:none}.salle-pv2 .demandes.compact .c.ex .tete,.salle-pv2 .c.ex .tete{padding-right:96px}.salle-pv2 .demandes.compact .c.ex .exb,.salle-pv2 .c.ex .exb{top:14px;right:16px}.salle-pv2 .demandes.cinq .c.ex .exb{display:inline-flex}}
ol.how3{margin:6px 0 4px;padding-left:20px;line-height:1.7}

/* ═══ 16/10/2026 (sequence 5, complement 9) — DES TUILES PROPRES A 3, 4 ET 5 PAR LIGNE ═══
   1. le nom du metier s arrete avant le rond de la note (place reservee a droite de la tete), coupe par « … », entier au survol (title) ;
   2. le prix garde ses espaces insecables et n est jamais coupe (l espacement negatif des lettres les ecrasait : « 30,00€HT ») ;
   3. « N places restantes » devient « N places » a 5 par ligne, jamais coupe ;
   4. a 4 et 5 par ligne, la bande du prix se resserre : plus de vide sous les etiquettes (meme ecart qu a 3 par ligne).
   Meme regle pour les tuiles d exemple et les ratees (meme balisage). */
.salle-pv2 .demandes .c .metier{min-width:0;max-width:100%}
.salle-pv2 .demandes .c .metier span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.salle-pv2 .demandes.compact .c:not(.ex):not(.rt) .tete{padding-right:68px}
.salle-pv2 .demandes.cinq .c:not(.ex):not(.rt) .tete{padding-right:60px}
.salle-pv2 .demandes.cinq .c.ex .tete{padding-right:60px}
.salle-pv2 .demandes .c .prix b{white-space:nowrap}
.salle-pv2 .demandes.compact .c .prix b{letter-spacing:0}
.salle-pv2 .demandes .c .prix i{white-space:nowrap}
.salle-pv2 .c .pl-court{display:none}
.salle-pv2 .demandes.cinq .c .pl-long{display:none}
.salle-pv2 .demandes.cinq .c .pl-court{display:inline}
@media (min-width:761px){
  .salle-pv2 .demandes.compact .c:not(.pack) .bas{min-height:64px;margin-top:6px}
  .salle-pv2 .demandes.compact .c:not(.pack) .signaler{bottom:70px}
}
@media (min-width:761px) and (max-width:1359px){.salle-pv2 .demandes.compact .c .pl-long{display:none}.salle-pv2 .demandes.compact .c .pl-court{display:inline}}
/* 16/10 (sequence 5, complement 9) — TROUVE EN ROUTE : la regle « .rond{color:#fff} » d app.css (le gros bouton rond d un autre
   ecran) atteint le rond de la note de la salle. Sur la salle CLAIRE, le cercle et la note etaient donc blancs sur une carte
   blanche : invisibles (Confirme, Standard). Ils reprennent la couleur du niveau, posee sur la jauge. La salle sombre ne change pas. */
.salle-pv2.claire .demandes .c .jauge .rond{color:inherit}

/* ═══════════════════════════════════════════════════════════════════════════
 *  16/10/2026 (complement 10) — LES CARTES VEDETTES DOUCES. Releve sur les pages servies (banc c10-releve.js : tout
 *  element au fond peint sombre, d au moins 120 x 60 px, pose sur un fond clair) : TROIS cartes vedettes —
 *  « .hero2 » (Vos resultats, « Un euro investi vous a rapporte »), « .bal » (Mon credit, « Disponible · hors taxes »),
 *  « .band » (l accueil du portail, la bande « Creer mon compte »). Le grand bandeau d entree de l accueil (« .hero »)
 *  n est pas une carte : il occupe toute la largeur, comme le bandeau du haut ; il ne change pas.
 *  Le reglage « portail_v2_vedettes » (Apparence du portail) pose sur <body> : pt-ved-doux (defaut), pt-ved-sombre
 *  (l ancien rendu : aucune regle d ici ne s applique), pt-ved-blanc. Les couleurs viennent de portail_v2_vedettes_css(),
 *  CALCULEES POUR LA CHARTE (CSS ne sait pas mesurer un contraste) ; les replis ci-dessous sont ceux de « Nuit & anis ».
 *  Les boutons, le rond du taux de signature et les boutons ronds gardent leurs couleurs ; un trait a 3 pour 1 les
 *  detache du fond clair. La salle de marche (ambiance sombre) n a aucune de ces cartes : elle ne change pas.
 * ═══════════════════════════════════════════════════════════════════════════ */
body:is(.pt-ved-doux,.pt-ved-blanc) :is(.hero2,.bal,.band){background:var(--ved-fond,#FBFEEB);color:var(--ved-encre,#111827);box-shadow:inset 0 0 0 1px var(--ved-ligne,#F0FAB4)}
body:is(.pt-ved-doux,.pt-ved-blanc) :is(.hero2,.bal,.band) :is(h2,b){color:var(--ved-encre,#111827)}
body:is(.pt-ved-doux,.pt-ved-blanc) :is(.hero2,.bal,.band) :is(small,p,span){color:var(--ved-gris,#5B6576)}
body:is(.pt-ved-doux,.pt-ved-blanc) :is(.hero2,.bal) .h2l b,body:is(.pt-ved-doux,.pt-ved-blanc) .bal>b,body:is(.pt-ved-doux,.pt-ved-blanc) .h2r b{color:var(--ved-encre,#111827)}
body:is(.pt-ved-doux,.pt-ved-blanc) .hero2 .h2r{border-left-color:var(--ved-trait,#F0FAB4)}
@media (max-width:760px){body:is(.pt-ved-doux,.pt-ved-blanc) .hero2 .h2r{border-left:0;border-top-color:var(--ved-trait,#F0FAB4)}}   /* le trait de gauche de l ordinateur restait au telephone (C1, 0,3,0 contre 0,2,0) : invisible sur le sombre, visible ici */
body:is(.pt-ved-doux,.pt-ved-blanc) .hero2 svg.ring>circle:first-child{stroke:var(--ved-piste,#F3FBD2)}
body:is(.pt-ved-doux,.pt-ved-blanc) .hero2 .rs-anneau{stroke:var(--ved-vert,#16A34A)}
body:is(.pt-ved-doux,.pt-ved-blanc) .hero2 .rs-anneau-t{fill:var(--ved-encre,#111827)}
body:is(.pt-ved-doux,.pt-ved-blanc) :is(.hero2,.bal,.band) .btn.acc{box-shadow:inset 0 0 0 1px var(--ved-bord,#778520)}
body:is(.pt-ved-doux,.pt-ved-blanc) :is(.hero2,.bal,.band) .btn.acc,body:is(.pt-ved-doux,.pt-ved-blanc) :is(.hero2,.bal,.band) .btn.acc *{color:var(--accent-ink,#11160A)}
body:is(.pt-ved-doux,.pt-ved-blanc) .bal .rb,body:is(.pt-ved-doux,.pt-ved-blanc) .bal .rb span{color:var(--ved-encre,#111827)}
body:is(.pt-ved-doux,.pt-ved-blanc) .bal .rb svg{background:var(--ved-rond,#FFFFFF);box-shadow:inset 0 0 0 1px var(--ved-bord,#778520)}
body:is(.pt-ved-doux,.pt-ved-blanc) .bal .rb:hover svg,body:is(.pt-ved-doux,.pt-ved-blanc) .bal .rb:focus-visible svg{background:var(--ved-piste,#F3FBD2)}

/* ═══ SEQUENCE 7 (17/10/2026), E6 — LE PANIER, comme la maquette 2026-10-15_portail-ratees (« .drawer », « .rcard ») ═══
   Le bouton du haut : l horloge la plus courte et « 3 » / « 2/3 » ; MASQUE A ZERO, sans place reservee.
   Le panneau : a droite sous le bandeau (ordinateur) ; entre la barre du haut et celle du bas (telephone).
   Couleurs : les jetons du portail (charte) — surface, encre, gris, trait, accent ; le vert du bouton de paiement. */
.pt-right .pan2[hidden]{display:none!important}
.pt-right .pan2-bt{gap:7px;padding:0 12px}
.pt-right .pan2-n{position:static;min-width:22px;height:22px;border-radius:11px;font-size:12px;padding:0 6px}
.pt-right .pan2-tps{font-variant-numeric:tabular-nums;min-width:30px}
.pt-right .pan2.presse .pan2-tps{color:#FF8A80}
.pan3-voile{position:fixed;left:0;right:0;top:var(--pt-hdr-h);bottom:0;background:rgba(10,14,20,.45);z-index:58}
.pan3-voile[hidden]{display:none}
.pan3{position:fixed;top:var(--pt-hdr-h);right:0;bottom:0;width:min(540px,100%);z-index:59;background:var(--surface);color:var(--ink);
  display:flex;flex-direction:column;box-shadow:-20px 0 40px -20px rgba(0,0,0,.4);font-family:var(--pt-f)}
.pan3[hidden]{display:none}
.pan3-h{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line);flex:none}
.pan3-ht{min-width:0}.pan3-ht b{display:block;font-size:18px;font-weight:700}.pan3-ht small{display:block;color:var(--mut);font-size:13px;margin-top:2px}
.pan3-x{flex:none;width:44px;height:44px;border-radius:12px;border:0;background:var(--soft);color:var(--ink);font-size:26px;line-height:1;cursor:pointer;font-family:inherit}
.pan3-x:hover{filter:brightness(.95)}
.pan3-b{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:14px 20px}
.pan3-f{flex:none;display:grid;gap:6px;padding:14px 20px 16px;border-top:1px solid var(--line);background:var(--surface)}
.pan3-f[hidden]{display:none}
.pan3-f small{color:var(--mut);font-size:13px}.pan3-f b{font-size:16px;font-weight:700}.pan3-f b.warn{color:var(--danger)}
.pan3-pay{height:50px;border:0;border-radius:12px;background:#15803D;color:#FFFFFF;font-weight:700;font-size:15.5px;cursor:pointer;margin-top:4px;font-family:inherit;padding:0 14px}
.pan3-pay:hover{background:#166534}.pan3-pay[disabled]{opacity:.5;cursor:default}
.pan3-lien{background:transparent;border:0;color:var(--link);font-weight:700;font-size:14px;cursor:pointer;text-align:center;padding:8px 4px;font-family:inherit;min-height:40px}
.pan3-lien:hover{text-decoration:underline}
.pan3-grab{display:none}
.pan3-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 10px;padding:0 4px}
.pan3-top small{color:var(--mut);font-size:13px}
.pan3-tout{display:inline-flex;gap:10px;align-items:center;font-weight:700;font-size:14.5px;background:transparent;border:0;color:var(--ink);cursor:pointer;padding:6px 0;min-height:40px;font-family:inherit}
.pan3-liste{display:grid;gap:10px}
.pan3-chk{width:24px;height:24px;border-radius:8px;border:2px solid color-mix(in srgb,var(--ink) 30%,transparent);display:inline-flex;align-items:center;justify-content:center;background:var(--surface);flex:none;transition:transform .15s}
.pan3-chk.vide{border-color:transparent;background:transparent}
.pan3-chk.on,.pan3-chk.part{background:var(--accent);border-color:color-mix(in srgb,var(--accent) 70%,var(--ink))}
.pan3-chk.on::after{content:"";width:10px;height:6px;border-left:2.5px solid var(--accent-ink);border-bottom:2.5px solid var(--accent-ink);transform:rotate(-45deg) translate(1px,-1px)}
.pan3-chk.part::after{content:"";width:10px;height:2.5px;background:var(--accent-ink)}
.pan3-c{position:relative;display:grid;grid-template-columns:24px 40px minmax(0,1fr) auto;gap:12px;align-items:center;background:var(--surface);
  border-radius:16px;padding:12px 14px 17px;border:1px solid var(--line);box-shadow:0 1px 2px rgba(16,24,40,.04),0 6px 18px -12px rgba(16,24,40,.18);
  overflow:hidden;transition:background .2s,border-color .2s}
.pan3-c[role="checkbox"]{cursor:pointer}
.pan3-c[role="checkbox"]:hover{border-color:color-mix(in srgb,var(--accent) 60%,var(--line))}
.pan3-c:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.pan3-c:active .pan3-chk{transform:scale(.88)}
.pan3-c.pan3-sel{background:color-mix(in srgb,var(--accent) 7%,var(--surface));border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.pan3-c.exp{opacity:.62;cursor:default}
.pan3-c.exp .pan3-acts button{opacity:1}
.pan3-mic{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--mc) 16%,var(--surface));color:var(--mc)}
.pan3-mic svg{width:22px;height:22px}
.pan3-rt{min-width:0}
.pan3-met{display:block;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mt,var(--ink));margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pan3-v{display:block;font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pan3-rt small{display:block;color:var(--mut);font-size:13px;margin-top:2px}
.pan3-clock{display:inline-flex;align-items:center;gap:4px;font-weight:700;font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--ok) 60%,var(--ink))}
.pan3-clock svg{width:14px;height:14px}
.pan3-clock.low{color:var(--danger)}
.pan3-re{display:grid;gap:6px;justify-items:end;text-align:right}
.pan3-re b{font-size:15.5px;font-weight:700;white-space:nowrap}
.pan3-acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.pan3-acts button{font-size:12.5px;font-weight:700;padding:6px 11px;min-height:32px;border-radius:999px;border:0;background:var(--soft);color:var(--ink);white-space:nowrap;cursor:pointer;font-family:inherit}
.pan3-acts button.mut{background:transparent;color:var(--mut);font-weight:600}
.pan3-acts button:hover{filter:brightness(.95);text-decoration:underline}
.pan3-bar{position:absolute;left:0;right:0;bottom:0;height:5px;background:color-mix(in srgb,var(--ink) 8%,transparent)}
.pan3-bar i{display:block;height:100%;background:#16A34A;border-radius:0 3px 3px 0;transition:width 1s linear,background .4s}
.pan3-bar i.mid{background:#F59E0B}.pan3-bar i.low{background:var(--danger)}
.pan3-info,.pan3-msg{display:grid;gap:3px;border-radius:14px;padding:11px 14px;margin:0 0 12px;font-size:14px;color:var(--ink);background:color-mix(in srgb,var(--danger) 9%,var(--surface))}
.pan3-msg.ok{background:color-mix(in srgb,var(--ok) 12%,var(--surface))}.pan3-msg.info{background:var(--soft)}
.pan3-vide{color:var(--mut);margin:6px 2px}
body.pan3-ouvert .pt-bbar .pt-qhelp{visibility:hidden}
@media (max-width:760px){
  .pan3-voile{bottom:var(--pt-bbar-h)}
  .pan3{left:6px;right:6px;width:auto;bottom:var(--pt-bbar-h);border-radius:0 0 22px 22px;box-shadow:0 24px 40px -18px rgba(0,0,0,.6)}
  .pan3-h{padding:12px 14px}.pan3-b{padding:12px}.pan3-f{padding:10px 14px 4px}
  .pan3-c{grid-template-columns:24px 36px minmax(0,1fr);gap:10px 12px;padding:12px 12px 16px}
  .pan3-mic{width:36px;height:36px}
  .pan3-re{grid-column:2/-1;display:flex;justify-content:space-between;align-items:center;gap:8px}
  .pan3-grab{display:flex;justify-content:center;padding:6px 0 8px;cursor:grab;touch-action:none;flex:none}
  .pan3-grab i{width:44px;height:5px;border-radius:3px;background:var(--line)}
}
/* S7 E6 point 17 — AU TELEPHONE, le bouton du panier cale sur la marge de droite des tuiles : le bandeau porte 10 px de
   marge interieure droite (mesure du 17/10, 390 et 360 px), les tuiles 16 px de gouttiere ; le bouton rattrape l ecart. */
@media (max-width:760px){ body.pt-logged .pt-hdr .pt-right .pan2{margin-right:-10px} }

/*  17/10/2026 (sequence 7, E10) — LA TUILE OU LA LIGNE QU ON RETROUVE au retour d une fiche s eclaire une seconde
 *  (classe posee par portail.js, « la place gardee »). Un contour, pas une ombre : il ne change aucune taille, et il
 *  se voit sur une tuile qui porte deja son propre relief.  */
.pt-eclaire{outline:3px solid var(--accent,#2563EB)!important;outline-offset:2px;transition:outline-color .2s}
tr.pt-eclaire{outline-offset:-3px}
