@layer modules{
/* ════════ Complément « Business » - proposition commerciale, devis & potentiel ════════
   Réutilise les tokens de 01-tokens.css (--card, --line, --accent, --mut…). */

.biz{ display:grid; grid-template-columns:212px 1fr; gap:var(--sp-18); align-items:start; }
@media (max-width:720px){ .biz{ grid-template-columns:1fr; } }

/* ── Mode solo : compléments séparés (pas de rail latéral) ── */
.biz-solo{ display:flex; flex-direction:column; gap:0; min-height:0; }
.biz-solo > .biz-head{ margin-bottom:0; }

/* ── Onglets internes CRM (Fiche client | Documents) ── */
.biz-crm-tabs{
  display:flex; gap:0; border-bottom:1px solid var(--line);
  margin-bottom:var(--sp-20); padding:0 var(--sp-2);
}
.biz-crm-tab{
  display:inline-flex; align-items:center; gap:var(--sp-6);
  padding:var(--sp-10) var(--sp-18); border:none; background:none;
  color:var(--mut); font:inherit; font-size:var(--fs-md); cursor:pointer;
  border-bottom:2px solid transparent; margin-bottom:calc(-1 * var(--sp-1));
  transition:.12s;
}
.biz-crm-tab:hover{ color:var(--txt); }
.biz-crm-tab.on{ color:var(--accent); border-bottom-color:var(--accent); font-weight:var(--fw-strong); }
.biz-crm-tab svg{ width:14px; height:14px; opacity:.7; }
.biz-crm-tab.on svg{ opacity:1; }

/* ── Navigation par étapes (proposition) ── */
.biz-steps-layout{ display:grid; grid-template-columns:186px 1fr; gap:var(--sp-16); align-items:start; }
@media(max-width:640px){ .biz-steps-layout{ grid-template-columns:1fr; } }

.biz-steps-nav{
  position:sticky; top:8px; display:flex; flex-direction:column; gap:var(--sp-1);
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
  padding:var(--sp-6); overflow:hidden;
}

.biz-step-btn{
  display:flex; align-items:center; gap:var(--sp-10); width:100%; text-align:left;
  padding:var(--sp-8) var(--sp-10); border:none; border-radius:var(--radius-sm);
  background:none; color:var(--mut); font:inherit; font-size:var(--fs-sm); cursor:pointer;
  transition:.12s; position:relative;
}
.biz-step-btn:hover{ background:var(--card2); color:var(--txt); }
.biz-step-btn.on{ background:color-mix(in srgb,var(--accent) 8%,var(--card2)); color:var(--txt); font-weight:var(--fw-strong); }
.biz-step-btn.on::before{
  content:''; position:absolute; left:0; top:4px; bottom:4px;
  width:3px; background:var(--accent); border-radius:0 var(--radius-xs) var(--radius-xs) 0;
}

.biz-step-num{
  width:22px; height:22px; flex-shrink:0; display:flex; align-items:center; justify-content:center;
  border:1.5px solid var(--line2); border-radius:50%; font-size:var(--fs-xs); font-weight:var(--fw-bold);
  color:var(--mut2); transition:.15s; flex-shrink:0;
}
.biz-step-btn.on .biz-step-num{ border-color:var(--accent); color:var(--accent); background:color-mix(in srgb,var(--accent) 8%,transparent); }
.biz-step-num.done{ background:var(--ok); border-color:var(--ok); color:var(--on-solid); font-size:var(--fs-2xs); }
.biz-step-lbl{ font-size:var(--fs-sm); line-height:1.3; }

.biz-step-ttc{
  margin-top:var(--sp-4); padding:var(--sp-8) var(--sp-12); border-top:1px solid var(--line2);
  font-size:var(--fs-xs); color:var(--mut);
}
.biz-step-ttc b{ display:block; font-size:var(--fs-lg); font-weight:var(--fw-bold); color:var(--accent); margin-top:var(--sp-2); font-variant-numeric:tabular-nums; }

.biz-step-body{ min-width:0; display:flex; flex-direction:column; gap:var(--sp-14); }
.biz-step-footer{ display:flex; align-items:center; justify-content:space-between; gap:var(--sp-8); padding:var(--sp-12) 0 var(--sp-2); border-top:1px solid var(--line2); margin-top:var(--sp-4); }

/* ── Barre d'actions (proposition) ── */
.biz-proposal-actions{ display:flex; align-items:center; justify-content:flex-end; gap:var(--sp-8); padding:var(--sp-2) 0 var(--sp-12); }
.biz-pdf-btn{
  display:inline-flex; align-items:center; gap:var(--sp-6);
  padding:var(--sp-8) var(--sp-18); border-radius:var(--radius-sm);
  background:var(--card); color:var(--txt); border:1px solid var(--line);
  font:500 13px/1 inherit; cursor:pointer; transition:.15s;
}
.biz-pdf-btn svg{ opacity:.7; transition:.15s; }
.biz-pdf-btn:hover{ border-color:var(--accent); color:var(--accent); background:color-mix(in srgb,var(--accent) 5%,var(--card)); }
.biz-pdf-btn:hover svg{ opacity:1; }

/* ── Le menu « Exporter » (2026-10-20, 26e-business-export.js) : le dessin du menu du clic droit (surface pleine, élévation 2,
   survol en teinte douce), une bascule Télécharger / Ouvrir avec en tête, puis un format par ligne : sa tuile, son nom, ce
   qu'il fera, et le geste (flèche de téléchargement ou sortie vers l'app). ── */
.biz-export-pop{
  position:fixed; z-index:var(--z-popover); width:300px; padding:var(--sp-6); box-sizing:border-box;
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius-modal); box-shadow:var(--elev-2);
  display:flex; flex-direction:column; gap:var(--sp-2); animation:ctxin .12s cubic-bezier(.22,1,.36,1); transform-origin:top right;
}
.biz-export-bascule{ display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-2); padding:var(--sp-2); margin-bottom:var(--sp-4);
  border-radius:var(--radius-sm); background:color-mix(in srgb, var(--txt) 6%, transparent); }
.biz-export-bascule button{ height:28px; border:0; border-radius:var(--radius-xs); background:transparent; color:var(--mut);
  font:inherit; font-size:var(--fs-sm); font-weight:var(--fw-medium); cursor:pointer; }
.biz-export-bascule button:hover{ color:var(--txt); }
.biz-export-bascule button.on{ background:var(--card); color:var(--txt); font-weight:var(--fw-strong); box-shadow:var(--elev-1); }
.biz-export-choix{ display:flex; align-items:center; gap:var(--sp-10); width:100%; padding:var(--sp-6) var(--sp-8); border:0;
  border-radius:var(--radius-sm); background:transparent; color:var(--txt); font:inherit; text-align:left; cursor:pointer; }
.biz-export-choix:hover,.biz-export-choix:focus-visible{ background:color-mix(in srgb, var(--accent) 12%, transparent); outline:none; }
.biz-export-tuile{ flex:none; display:grid; place-items:center; width:34px; height:34px; border-radius:var(--radius-sm);
  font-size:var(--fs-2xs); font-weight:var(--fw-bold); letter-spacing:.04em; }
.biz-export-tuile.ton-w{ background:color-mix(in srgb, var(--accent) 14%, transparent); color:var(--accent-texte); }
.biz-export-tuile.ton-x{ background:color-mix(in srgb, var(--ok) 14%, transparent); color:var(--ok); }
.biz-export-tuile.ton-p{ background:color-mix(in srgb, var(--err) 14%, transparent); color:var(--err); }
.biz-export-txt{ flex:1; min-width:0; display:flex; flex-direction:column; gap:var(--sp-1); }
/* La case « Enregistrer aussi dans Documents » (CDC_DOCUMENTS_ARBORESCENCE D10, 2026-10-29), sous les trois formats, séparée
   d'eux par un filet : elle ne télécharge rien, elle dit où va la copie. */
.biz-export-aussi{ display:flex; align-items:center; gap:var(--sp-8); margin-top:var(--sp-4); padding:var(--sp-8) var(--sp-8) var(--sp-4);
  border-top:1px solid var(--line2); font-size:var(--fs-sm); color:var(--txt); cursor:pointer; }
.biz-export-aussi input{ margin:0; accent-color:var(--accent); }
.biz-export-txt strong{ font-size:var(--fs-md); font-weight:var(--fw-strong); }
.biz-export-txt span{ font-size:var(--fs-xs); color:var(--mut); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.biz-export-geste{ flex:none; display:inline-flex; color:var(--mut); }
.biz-export-geste svg{ width:15px; height:15px; }
.biz-export-choix:hover .biz-export-geste{ color:var(--accent-texte); }

/* ── La visionneuse PDF : une grande fenêtre, le lecteur PDF du navigateur dedans ── */
.biz-pdfv{ width:min(1100px, calc(100vw - 48px)); height:calc(100vh - 48px); max-width:none; max-height:none; padding:0;
  border:1px solid var(--line); border-radius:var(--radius-modal); background:var(--card); color:var(--txt); box-shadow:var(--elev-2);
  display:flex; flex-direction:column; overflow:hidden; }
.biz-pdfv:not([open]){ display:none; }
.biz-pdfv::backdrop{ background:color-mix(in srgb, var(--bg) 55%, transparent); backdrop-filter:blur(2px); }
.biz-pdfv-tete{ display:flex; align-items:center; gap:var(--sp-8); padding:var(--sp-8) var(--sp-10) var(--sp-8) var(--sp-14); border-bottom:1px solid var(--line); }
.biz-pdfv-ic{ display:inline-flex; color:var(--err); }
.biz-pdfv-t{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:var(--fs-md); }
.biz-pdfv-x{ display:grid; place-items:center; width:30px; height:30px; border:0; border-radius:var(--radius-sm); background:transparent; color:var(--mut); cursor:pointer; }
.biz-pdfv-x:hover{ background:color-mix(in srgb, var(--txt) 7%, transparent); color:var(--txt); }
.biz-pdfv-cadre{ flex:1; width:100%; border:0; background:var(--card2); }

/* ── Boutons nav étapes (footer) ── */
.biz-foot-prev,.biz-foot-next{
  display:inline-flex; align-items:center; gap:var(--sp-6);
  padding:var(--sp-8) var(--sp-16); border-radius:var(--radius-sm);
  font:inherit; font-size:var(--fs-md); cursor:pointer; transition:.12s; white-space:nowrap;
}
.biz-foot-prev{ background:none; border:1px solid var(--line); color:var(--mut2); }
.biz-foot-prev:hover{ background:var(--card2); color:var(--txt); border-color:var(--line); }
.biz-foot-next{ background:var(--accent); color:var(--on-solid); border:none; font-weight:var(--fw-strong); }
.biz-foot-next:hover{ filter:brightness(1.08); }

/* ── Dots de progression ── */
.biz-foot-dots{ display:flex; align-items:center; gap:var(--sp-4); }
.biz-foot-dot{ width:6px; height:6px; border-radius:50%; background:var(--line2); transition:.22s; }
.biz-foot-dot.on{ background:var(--accent); width:18px; border-radius:var(--radius-xs); }
.biz-foot-dot.done{ background:var(--ok); }

/* ── Textarea conditions ── */
.biz-cond-ta{ width:100%; background:var(--card); color:var(--txt); border:1px solid var(--line);
  border-radius:var(--radius-sm); padding:var(--sp-8) var(--sp-10); font:inherit; font-size:var(--fs-md); line-height:1.6;
  resize:vertical; min-height:160px; }
.biz-cond-ta:focus{ outline:none; border-color:var(--accent); box-shadow:var(--focus); }

/* ── Description ligne chiffrage ── */
.biz-ch-poste-cell{ display:flex; flex-direction:column; gap:var(--sp-2); padding-top:var(--sp-4)!important; padding-bottom:var(--sp-4)!important; height:auto!important; }
.biz-ch-poste-cell>input:first-child{ width:100%; }
.biz-ch-desc{ background:transparent; border:1px solid transparent; border-radius:var(--radius-sm);
  padding:var(--sp-2) var(--sp-6); font:inherit; font-size:var(--fs-xs); color:var(--mut); width:100%;
  transition:border-color .1s,background .1s; }
.biz-ch-desc:hover{ border-color:var(--line); background:var(--card2); }
.biz-ch-desc:focus{ outline:none; border-color:var(--accent); background:color-mix(in srgb,var(--accent) 4%,var(--card)); }
.biz-ch-desc::placeholder{ opacity:.35; }

/* ── Rail de navigation : la DA du panneau gauche d'Interface (proprio, 2026-10-20 : « fais la même DA que l'app
   Interface »). La bascule Commercial / CRM est le rail d'onglets d'Interface (.cms-onglets : fond de chrome, onglet
   actif en blanc à texte d'accent) ; les sections sont ses lignes de sommaire (.cms-sommaire-l : 28 px, sans bordure,
   l'active teintée d'accent). Avant, deux grandes tuiles bordées et des lignes de 36 px au gris de carte. L'aplat
   « actif » de 37-studio-ui.css ne vise plus .biz-nav-btn, qu'il écrasait depuis la couche overrides. ── */
.biz-rail{ display:flex; flex-direction:column; gap:var(--sp-4); position:sticky; top:8px; }
.biz-rail-inner{ display:flex; flex-direction:column; gap:var(--sp-2); }
.biz-rail-sep{ border:none; border-top:1px solid var(--line2); margin:var(--sp-10) 0 var(--sp-8); }

/* ── Bascule de mode ── */
.biz-mode-row{ display:flex; gap:var(--sp-4); height:34px; box-sizing:border-box; padding:var(--sp-4);
  border-radius:calc(var(--radius-sm) + var(--sp-2)); background:var(--chrome-bg); }
.biz-mode-btn{ flex:1; min-width:0; display:inline-flex; align-items:center; justify-content:center; gap:var(--sp-6); height:26px; padding:0 var(--sp-8);
  border:0; border-radius:calc(var(--radius-sm) - var(--sp-2)); background:transparent; color:var(--chrome-ink);
  font:inherit; font-size:var(--fs-sm); font-weight:var(--fw-label); white-space:nowrap; cursor:pointer; }
.biz-mode-btn:hover{ background:color-mix(in srgb, var(--chrome-ink) 9%, transparent); }
.biz-mode-btn.on, .biz-mode-btn.on:hover{ background:var(--on-solid); color:var(--accent-h); box-shadow:var(--shadow-sm); }
.biz-mode-ic{ display:flex; align-items:center; }
.biz-mode-ic svg{ width:15px; height:15px; opacity:.8; } .biz-mode-btn.on .biz-mode-ic svg{ opacity:1; }

/* ── Sections ── */
.biz-nav-btn{ display:flex; align-items:center; gap:var(--sp-8); width:100%; min-height:28px; padding:0 var(--sp-8); text-align:start;
  border:0; border-radius:var(--radius-sm); background:transparent; color:var(--txt); font:inherit; font-size:var(--fs-sm); cursor:pointer; }
.biz-nav-btn:hover{ background:var(--line2); text-decoration:underline; text-underline-offset:3px; }   /* P1 (CDC_LOT2_DIVERS, 2026-11-04) */
.biz-nav-btn.on, .biz-nav-btn.on:hover{ background:color-mix(in srgb, var(--accent) 14%, var(--card)); font-weight:var(--fw-label); }
.biz-nav-ic{ display:flex; align-items:center; color:var(--mut); }
.biz-nav-ic svg{ width:15px; height:15px; } .biz-nav-btn.on .biz-nav-ic{ color:var(--accent-h); }

/* Dans la fenêtre plein écran, le rail devient la colonne d'Interface : pleine hauteur, fond de carte, filet à droite ;
   la page défile seule à côté. Hors fenêtre (l'onglet du Studio), il garde sa place de rail collant. */
#dhapp .dhapp-body.pad:has(> .biz){ padding:0; } #dhapp .dhapp-body.pad:has(> .biz) > .bandeau{ margin:0; }   /* sa marge négative compensait le pad (22b-bandeau.css) */
#dhapp .biz{ grid-template-columns:260px minmax(0,1fr); gap:0; align-items:stretch; height:100%; min-height:0; }
#dhapp .biz-rail{ position:static; overflow:auto; min-height:0; padding:var(--sp-14); background:var(--card); border-inline-end:1px solid var(--line); }
#dhapp .biz-main{ overflow:auto; min-height:0; padding:var(--sp-16) var(--sp-20); }
@media (max-width:720px){ #dhapp .biz{ grid-template-columns:1fr; height:auto; } #dhapp .biz-rail{ border-inline-end:0; border-bottom:1px solid var(--line); } }

/* ── Panneau principal ── */
.biz-main{ min-width:0; display:flex; flex-direction:column; gap:var(--sp-14); }
.biz-loading{ display:flex; align-items:center; gap:var(--sp-8); color:var(--mut); padding:var(--sp-24) var(--sp-4); }
.biz-spin{ width:14px; height:14px; border:2px solid var(--line); border-top-color:var(--accent);
  border-radius:50%; display:inline-block; animation:bizspin .7s linear infinite; }
@keyframes bizspin{ to{ transform:rotate(360deg); } }

/* ── En-tête de section ── */
/* <header> est fixé en haut de l'écran par le socle (03-layout.css : la barre de
   l'app). L'en-tête de section Business n'est pas cette barre : on le remet dans
   le flux, sinon il se superpose au bandeau Hdplio. */
.biz-head{ position:static; z-index:auto; display:flex; align-items:flex-start; justify-content:space-between; gap:var(--sp-14); }
.biz-head-t h2{ margin:0; font-size:var(--fs-lg); }
.biz-head-t p{ margin:var(--sp-2) 0 0; color:var(--mut); font-size:var(--fs-sm); max-width:62ch; }
.biz-emit{ display:flex; align-items:center; gap:var(--sp-6); font-size:var(--fs-sm); color:var(--mut); white-space:nowrap; }
.biz-emit span{ color:var(--mut2); }
.biz-emit select{ background:var(--card); color:var(--txt); border:1px solid var(--line);
  border-radius:var(--radius-sm); padding:var(--sp-4) var(--sp-8); font:inherit; font-size:var(--fs-sm); }
.biz-emit.warn{ color:var(--warn); text-decoration:none; }
.biz-emit.warn:hover{ text-decoration:underline; }

/* ── Barre d'outils ── */
.biz-toolbar{ display:flex; align-items:center; gap:var(--sp-8); flex-wrap:wrap;
  padding:var(--sp-10) var(--sp-12); border:1px solid var(--line); border-radius:var(--radius); background:var(--card2); }
.biz-brief{ flex:1; min-width:180px; background:var(--card); color:var(--txt); border:1px solid var(--line);
  border-radius:var(--radius-sm); padding:var(--sp-6) var(--sp-10); font:inherit; font-size:var(--fs-sm); }
.biz-gen-status{ font-size:var(--fs-sm); color:var(--mut); min-width:60px; }

/* ── Cartes / blocs ── */
.biz-block{ border:1px solid var(--line); border-radius:var(--radius); background:var(--card); padding:var(--sp-16) var(--sp-18);
  box-shadow:0 1px 4px color-mix(in srgb,var(--txt) 5%,transparent); }
.biz-block-t{ margin:0 0 var(--sp-14); font-size:var(--fs-2xs); text-transform:uppercase; letter-spacing:.06em; color:var(--mut2);
  padding-bottom:var(--sp-10); border-bottom:1px solid var(--line); display:flex; align-items:center; gap:var(--sp-6); }
.biz-block-t::before{ content:''; display:inline-block; width:3px; height:13px; background:var(--accent);
  border-radius:var(--radius-xs); opacity:.7; flex-shrink:0; }

/* ── Tableau de bord - cartes ── */
.biz-cards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:var(--sp-12); }
.biz-card{ border:1px solid var(--line); border-radius:var(--radius); background:var(--card); padding:var(--sp-14) var(--sp-14); }
.biz-card.ok{ border-color:color-mix(in srgb,var(--ok) 45%,var(--line)); }
.biz-card-h{ font-size:var(--fs-xs); text-transform:uppercase; letter-spacing:.04em; color:var(--mut2); margin-bottom:var(--sp-8); }
.biz-card-b{ display:flex; flex-direction:column; gap:var(--sp-4); font-size:var(--fs-md); }
.biz-card-b b{ font-size:var(--fs-lg); }
.biz-card-b .muted{ color:var(--mut); }
.biz-card-b .mono{ font-family:var(--font-mono); font-size:var(--fs-xs); color:var(--mut); }
.biz-card-acts{ display:flex; gap:var(--sp-6); margin-top:var(--sp-8); flex-wrap:wrap; }
.biz-upd{ font-size:var(--fs-xs); color:var(--mut2); padding-left:var(--sp-2); }

/* ── Jauge de score ── */
.biz-gauge{ display:flex; align-items:center; gap:var(--sp-8); --gc:var(--ok); }
.biz-gauge.lo{ --gc:var(--err); } .biz-gauge.mid{ --gc:var(--warn); } .biz-gauge.hi{ --gc:var(--ok); }
.biz-gauge-bar{ flex:1; min-width:70px; height:8px; background:var(--card2); border-radius:var(--radius-pill); overflow:hidden; }
.biz-gauge-bar i{ display:block; height:100%; background:var(--gc); border-radius:var(--radius-pill); transition:width .25s; }
.biz-gauge b{ font-size:var(--fs-base); color:var(--gc); } .biz-gauge small{ color:var(--mut); font-weight:var(--fw-regular); }
.biz-score-row{ display:flex; align-items:center; gap:var(--sp-14); }
.biz-score-row .biz-range{ flex:1; }
.biz-score-out{ font-size:var(--fs-lg); font-weight:var(--fw-bold); min-width:2.4ch; text-align:right; }

/* ── Formulaires ── */
.biz-form{ display:flex; flex-direction:column; gap:var(--sp-12); }
.biz-two{ display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-12); }
@media (max-width:640px){ .biz-two{ grid-template-columns:1fr; } }
.biz-field{ display:flex; flex-direction:column; gap:var(--sp-4); }
.biz-field>label{ font-size:var(--fs-sm); font-weight:var(--fw-strong); color:var(--txt); }
.biz-field>label small{ font-weight:var(--fw-regular); color:var(--mut); }
.biz-field textarea,.biz-field input:not([type=checkbox]):not([type=range]){ width:100%; background:var(--card); color:var(--txt);
  border:1px solid var(--line); border-radius:var(--radius-sm); padding:var(--sp-6) var(--sp-10); font:inherit; font-size:var(--fs-md); }
.biz-field textarea{ resize:vertical; line-height:var(--lh-normal); }
.biz-field textarea:focus,.biz input:focus,.biz-field input:focus{ outline:none; border-color:var(--accent); box-shadow:var(--focus); }
.biz-ta-auto{ resize:none; overflow:hidden; min-height:80px; }

/* ── Éditeur de liste (Objectifs / Livrables) ── */
.biz-list-editor{ gap:var(--sp-6); }
.biz-li-body{ display:flex; flex-direction:column; gap:var(--sp-4); border:1px solid var(--line); border-radius:var(--radius-sm);
  background:var(--card); padding:var(--sp-6) var(--sp-8); min-height:44px; }
.biz-li-row{ display:grid; grid-template-columns:16px 1fr 22px; align-items:center; gap:var(--sp-4); }
.biz-li-bullet{ width:6px; height:6px; border-radius:50%; background:var(--accent); margin:0 auto; flex-shrink:0; }
.biz-li-input{ background:transparent; border:none; outline:none; color:var(--txt); font:inherit; font-size:var(--fs-md);
  padding:var(--sp-2) 0; width:100%; }
.biz-li-input:focus{ color:var(--txt); }
.biz-li-del{ background:none; border:none; color:var(--mut); font-size:var(--fs-base); cursor:pointer; padding:0 var(--sp-2);
  line-height:var(--lh-flat); border-radius:var(--radius-xs); transition:color .15s; }
.biz-li-del:hover{ color:var(--err,#e55); }
.biz-li-add{ background:none; border:1px dashed var(--line); border-radius:var(--radius-sm); color:var(--mut);
  font:inherit; font-size:var(--fs-sm); cursor:pointer; padding:var(--sp-4) var(--sp-10); text-align:left; margin-top:var(--sp-2);
  transition:border-color .15s,color .15s; }
.biz-li-add:hover{ border-color:var(--accent); color:var(--accent); }
.biz-li-empty{ font-size:var(--fs-sm); padding:var(--sp-4) 0; }

/* ── Options de paiement - éditeur compact ── */
.biz-po-header{ display:flex; align-items:center; justify-content:space-between; gap:var(--sp-8); flex-wrap:wrap; }
.biz-po-header>label{ font-size:var(--fs-sm); font-weight:var(--fw-strong); color:var(--txt); }
.biz-po-presets{ display:flex; flex-wrap:wrap; gap:var(--sp-4); }
.biz-po-presets .mini{ font-size:var(--fs-xs); }
.biz-po-rows{ display:flex; flex-direction:column; gap:var(--sp-2); margin-top:var(--sp-8); }
.biz-po-row{ display:grid; grid-template-columns:18px 1fr auto 22px; align-items:center; gap:var(--sp-8);
  padding:var(--sp-6) var(--sp-10); border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--card2);
  transition:border-color .12s; }
.biz-po-row:hover{ border-color:color-mix(in srgb,var(--accent) 35%,var(--line)); }
.biz-po-row-idx{ font-size:var(--fs-xs); color:var(--mut2); text-align:right; user-select:none;
  font-variant-numeric:tabular-nums; }
.biz-po-row-label{ background:transparent; border:none; border-bottom:1px solid var(--line2);
  color:var(--txt); font:600 13px/1 inherit; outline:none; padding:var(--sp-2) 0; min-width:0; }
.biz-po-row-label:focus{ border-bottom-color:var(--accent); }
.biz-po-row-meta{ display:flex; gap:var(--sp-8); align-items:center; flex-shrink:0; }
.biz-po-row-meta label{ display:flex; align-items:center; gap:var(--sp-4); font-size:var(--fs-xs); color:var(--mut);
  white-space:nowrap; }
.biz-po-row-meta input{ background:var(--card); color:var(--txt); border:1px solid var(--line);
  border-radius:var(--radius-sm); padding:var(--sp-2) var(--sp-4); font:inherit; font-size:var(--fs-sm);
  text-align:right; width:46px; }
.biz-po-row-meta input:focus{ outline:none; border-color:var(--accent); }
.biz-po-row-del{ background:none; border:none; color:var(--mut); font-size:var(--fs-base); cursor:pointer;
  padding:0 var(--sp-2); border-radius:var(--radius-xs); line-height:var(--lh-flat); }
.biz-po-row-del:hover{ color:var(--err); }

.biz-range{ width:100%; accent-color:var(--accent); }
.biz-link-hint{ font-size:var(--fs-md); color:var(--mut); display:flex; align-items:center; gap:var(--sp-10); }

/* ── Split Devis + Destinataire côte à côte ── */
.biz-devis-split{ display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-14); }
.biz-devis-split>.biz-block{ margin:0; }
@media (max-width:760px){ .biz-devis-split{ grid-template-columns:1fr; } }

/* ── Métadonnées devis + client ── */
.biz-meta,.biz-cli{ display:grid; gap:var(--sp-10); }
.biz-meta{ grid-template-columns:1.2fr 1fr .85fr .85fr; align-items:end; }
.biz-meta--compact{ grid-template-columns:1fr 1fr; }
.biz-cli{ grid-template-columns:1fr 1fr; }
.biz-cli--compact{ grid-template-columns:1fr; }
/* Le logo du client (2026-10-20) : une tuile, son nom et une phrase, les gestes à droite. */
.biz-cli-logo{ display:flex; align-items:center; gap:var(--sp-10); padding:0 0 var(--sp-12); margin-bottom:var(--sp-12); border-bottom:1px solid var(--line2); }
.biz-cli-logo-img{ flex:none; display:grid; place-items:center; width:44px; height:44px; border-radius:var(--radius-sm); background:var(--card2); overflow:hidden; }
.biz-cli-logo-img img{ max-width:100%; max-height:100%; object-fit:contain; display:block; }
.biz-cli-logo-img.vide{ color:var(--mut); }
.biz-cli-logo-img.vide svg{ width:18px; height:18px; }
.biz-cli-logo-t{ flex:1; min-width:0; display:flex; flex-direction:column; gap:var(--sp-1); }
.biz-cli-logo-t strong{ font-size:var(--fs-sm); font-weight:var(--fw-strong); }
.biz-cli-logo-t span{ font-size:var(--fs-xs); color:var(--mut); }
.biz-cli--compact .biz-cli-addr{ grid-column:unset; }
@media (max-width:640px){ .biz-meta,.biz-cli{ grid-template-columns:1fr; } }
.biz-meta label,.biz-cli label{ display:flex; flex-direction:column; gap:var(--sp-4); font-size:var(--fs-xs); font-weight:var(--fw-strong); color:var(--txt); }
.biz-cli label:last-child{ grid-column:1 / -1; }
.biz-cli--compact label:last-child{ grid-column:unset; }
.biz-meta input,.biz-cli input{ background:var(--card); color:var(--txt); border:1px solid var(--line);
  border-radius:var(--radius-sm); padding:var(--sp-6) var(--sp-8); font:inherit; font-size:var(--fs-md); font-weight:var(--fw-regular); }
.biz-meta-note{ grid-column:1 / -1; font-size:var(--fs-sm); color:var(--mut); }
.biz-meta-note b{ color:var(--txt); }
.biz-devise-sel{ background:var(--card); color:var(--txt); border:1px solid var(--line);
  border-radius:var(--radius-sm); padding:var(--sp-6) var(--sp-8); font:inherit; font-size:var(--fs-md); width:100%; cursor:pointer; }
.biz-devise-sel:focus{ outline:none; border-color:var(--accent); }

/* ── Tableau de chiffrage ── */
.biz-block--pricing{ padding:0; overflow:hidden; border-top:3px solid var(--accent); }
.biz-block--pricing .biz-block-header{ padding:var(--sp-12) var(--sp-18) var(--sp-10);
  background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 7%,var(--card2)),var(--card2));
  border-bottom:1px solid var(--line); margin:0; }
.biz-chiffr-inner{ padding:0 var(--sp-18) var(--sp-18); }

.biz-chiffr-wrap{ overflow-x:auto; margin:0 -4px; }
.biz-chiffr{ width:100%; border-collapse:collapse; font-size:var(--fs-md); min-width:520px; }
.biz-chiffr thead{ position:sticky; top:0; background:var(--card); z-index:1; }
.biz-chiffr th{ text-align:left; color:var(--mut2); font-weight:var(--fw-strong); font-size:var(--fs-2xs);
  letter-spacing:.06em; text-transform:uppercase;
  padding:var(--sp-8) var(--sp-8) var(--sp-8); border-bottom:2px solid var(--line); background:var(--card2); }
.biz-chiffr th:nth-child(6){ text-align:right; }
.biz-chiffr td{ padding:var(--sp-2) var(--sp-4); border-bottom:1px solid color-mix(in srgb,var(--line2) 60%,transparent);
  vertical-align:middle; height:44px; }
.biz-chiffr input{ width:100%; background:transparent; color:var(--txt);
  border:1px solid transparent; border-radius:var(--radius-sm);
  padding:var(--sp-6) var(--sp-8); font:inherit; font-size:var(--fs-md);
  transition:border-color .1s, background .1s; }
.biz-chiffr input:hover{ border-color:var(--line); background:var(--card2); }
.biz-chiffr input:focus{ outline:none; border-color:var(--accent);
  background:color-mix(in srgb,var(--accent) 4%,var(--card));
  box-shadow:var(--focus); }
.biz-chiffr tr[data-ci]:hover td{ background:color-mix(in srgb,var(--accent) 3%,var(--card2)); }
.biz-chiffr tr[data-ci]:focus-within td{ background:color-mix(in srgb,var(--accent) 6%,var(--card2)); }

/* Numéro de ligne */
.biz-ch-num{ color:var(--mut2); font-size:var(--fs-xs); font-variant-numeric:tabular-nums;
  text-align:right; padding:0 var(--sp-8) 0 var(--sp-4); width:28px; user-select:none; }
th.biz-ch-num{ font-size:var(--fs-2xs); }

/* Colonnes fixes */
.biz-chiffr th:nth-child(3),.biz-chiffr td:nth-child(3){ width:64px; }
.biz-chiffr th:nth-child(4),.biz-chiffr td:nth-child(4){ width:80px; }
.biz-chiffr th:nth-child(5),.biz-chiffr td:nth-child(5){ width:90px; }

/* Le catalogue Produits (2026-10-20) : cinq colonnes au lieu de sept ; l'unité et le prix reprennent les largeurs du chiffrage. */
.biz-prod th:nth-child(3),.biz-prod td:nth-child(3){ width:80px; }
.biz-prod th:nth-child(4),.biz-prod td:nth-child(4){ width:110px; }
.biz-prod th:nth-child(5),.biz-prod td:nth-child(5){ width:auto; }

.biz-ch-line{ white-space:nowrap; text-align:right; padding-right:var(--sp-12);
  font-variant-numeric:tabular-nums; font-weight:var(--fw-strong); color:var(--txt); min-width:80px; }
.biz-ch-empty td{ color:var(--mut); text-align:center; padding:var(--sp-20) var(--sp-12); font-style:italic; }
.biz-x{ background:none; border:none; color:var(--mut2); cursor:pointer; font-size:var(--fs-base); line-height:var(--lh-flat);
  padding:var(--sp-2) var(--sp-6); border-radius:var(--radius-sm); transition:.1s; }
.biz-x:hover{ color:var(--err); background:color-mix(in srgb,var(--err) 10%,transparent); }

/* Bouton + Ligne */
/* « Ajouter une ligne » et, à côté, le choix dans le catalogue de l'entreprise (2026-10-20) ; sans catalogue, le bouton seul. */
.biz-add-rangee{ display:flex; align-items:stretch; gap:var(--sp-8); margin-top:var(--sp-8); }
.biz-add-rangee > .biz-add-row{ flex:1; min-width:0; margin-top:0; }
.biz-cat-pick{ flex:none; max-width:45%; padding:0 var(--sp-8); border:1px dashed var(--line); border-radius:var(--radius-sm);
  background:transparent; color:var(--mut); font:inherit; font-size:var(--fs-sm); cursor:pointer; }
.biz-cat-pick:hover, .biz-cat-pick:focus{ color:var(--accent); border-color:var(--accent); outline:none; }
.biz-add-row{ display:flex; align-items:center; gap:var(--sp-6); width:100%;
  color:var(--mut); font:500 12.5px/1 inherit; cursor:pointer;
  background:none; border:1px dashed var(--line);
  border-radius:var(--radius-sm); padding:var(--sp-8) var(--sp-12); margin-top:var(--sp-8);
  transition:color .12s, border-color .12s, background .12s; }
.biz-add-row:hover{ color:var(--accent); border-color:var(--accent);
  background:color-mix(in srgb,var(--accent) 5%,transparent); }

/* ── Bloc totaux ── */
.biz-totals-wrap{ margin-top:var(--sp-18); padding-top:var(--sp-16); border-top:1px solid var(--line); }
.biz-totals{ width:360px; max-width:100%; margin-left:auto; font-size:var(--fs-md); margin-bottom:var(--sp-10); }
.biz-tot-row{ display:flex; align-items:center; justify-content:space-between; gap:var(--sp-10); padding:var(--sp-4) 0; color:var(--mut); }
.biz-tot-row b{ color:var(--txt); font-variant-numeric:tabular-nums; min-width:80px; text-align:right; }
.biz-tot-row input{ width:52px; background:var(--card2); color:var(--txt); border:1px solid var(--line);
  border-radius:var(--radius-sm); padding:var(--sp-2) var(--sp-6); font:inherit; font-size:var(--fs-sm); text-align:right; }
.biz-tot-row input:focus{ outline:none; border-color:var(--accent); }

/* TTC - bannière accentuée */
.biz-ttc-card{ display:flex; align-items:center; justify-content:space-between;
  padding:var(--sp-14) var(--sp-18); margin-left:auto;
  width:360px; max-width:100%;
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 13%,var(--card2)),color-mix(in srgb,var(--accent) 6%,var(--card)));
  border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));
  border-radius:var(--radius); margin-top:var(--sp-4); }
.biz-ttc-label{ font-size:var(--fs-md); font-weight:var(--fw-strong); color:var(--txt); }
.biz-ttc-amt{ font-size:var(--fs-xl); font-weight:var(--fw-bold); color:var(--accent); font-variant-numeric:tabular-nums; letter-spacing:var(--ls-tight); }

/* ── Brouillon IA ── */
.biz-draft{ border:1px solid var(--line); border-radius:var(--radius); background:var(--card); }
.biz-draft>summary{ cursor:pointer; padding:var(--sp-8) var(--sp-12); font-size:var(--fs-sm); color:var(--mut); }
.biz-draft pre{ margin:0; padding:0 var(--sp-14) var(--sp-14); white-space:pre-wrap; font-size:var(--fs-sm); line-height:1.55; color:var(--txt); }

/* ── Status pills ── */
.biz-status-pill{ display:inline-flex; align-items:center; padding:var(--sp-2) var(--sp-8); border-radius:var(--radius-modal); font-size:var(--fs-xs); font-weight:var(--fw-strong); white-space:nowrap; }
.biz-st-draft   { background:color-mix(in srgb,var(--mut) 14%,transparent); color:var(--mut); border:1px solid color-mix(in srgb,var(--mut) 30%,transparent); }
.biz-st-sent    { background:color-mix(in srgb,var(--accent) 14%,transparent); color:var(--accent); border:1px solid color-mix(in srgb,var(--accent) 30%,transparent); }
.biz-st-read    { background:color-mix(in srgb,var(--warn) 14%,transparent); color:var(--warn); border:1px solid color-mix(in srgb,var(--warn) 30%,transparent); }
.biz-st-signed  { background:color-mix(in srgb,var(--ok) 14%,transparent); color:var(--ok); border:1px solid color-mix(in srgb,var(--ok) 30%,transparent); }
.biz-st-invoiced{ background:color-mix(in srgb,var(--accent2) 14%,transparent); color:var(--accent2); border:1px solid color-mix(in srgb,var(--accent2) 30%,transparent); }

/* ── Liste de documents (mode CRM) ── */
.biz-doc-filters{ display:flex; gap:var(--sp-6); flex-wrap:wrap; margin-bottom:var(--sp-10); }
.biz-doc-row{ display:flex; align-items:center; gap:var(--sp-12); padding:var(--sp-10) var(--sp-14); border-bottom:1px solid var(--line2); }
.biz-doc-row:last-child{ border-bottom:none; }
.biz-doc-main{ display:flex; align-items:center; gap:var(--sp-10); flex:1; min-width:0; }
.biz-doc-type-ic{ font-size:var(--fs-lg); flex-shrink:0; display:flex; align-items:center; }
.biz-doc-info{ min-width:0; }
.biz-doc-info strong{ display:block; font-size:var(--fs-md); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.biz-doc-meta{ font-size:var(--fs-xs); color:var(--mut); }
.biz-doc-acts{ display:flex; align-items:center; gap:var(--sp-6); flex-shrink:0; flex-wrap:wrap; }
.biz-st-select{ background:var(--card); color:var(--txt); border:1px solid var(--line); border-radius:var(--radius-sm);
  padding:var(--sp-4) var(--sp-6); font:inherit; font-size:var(--fs-xs); cursor:pointer; }

/* ── Éditeur de document ── */
.biz-doc-editor-status{ display:flex; align-items:center; gap:var(--sp-8); flex-wrap:wrap; padding:var(--sp-8) 0; }
.biz-section-heading{ width:100%; background:var(--card); color:var(--txt); border:1px solid var(--line);
  border-radius:var(--radius-sm); padding:var(--sp-6) var(--sp-10); font:600 14px/1 inherit; margin-bottom:var(--sp-6); }
.biz-text-section{ border:1px solid var(--line2); border-radius:var(--radius-sm); padding:var(--sp-12); margin-bottom:var(--sp-10); background:var(--card2); }
.biz-text-section textarea{ width:100%; background:var(--card); color:var(--txt); border:1px solid var(--line);
  border-radius:var(--radius-sm); padding:var(--sp-8) var(--sp-10); font:inherit; font-size:var(--fs-md); resize:vertical; }

/* ── Vide ── */
.biz-empty{ text-align:center; padding:var(--sp-28) var(--sp-16); color:var(--mut); font-size:var(--fs-md); }

/* ── Portail client ── */
.biz-portal-create{ display:flex; flex-direction:column; gap:var(--sp-10); }
.biz-portal-doc-list{ display:flex; flex-direction:column; gap:var(--sp-6); padding:var(--sp-10); background:var(--card2);
  border:1px solid var(--line); border-radius:var(--radius-sm); }
.biz-portal-doc-check{ display:flex; align-items:center; gap:var(--sp-8); font-size:var(--fs-md); cursor:pointer; }
.biz-portal-doc-check input{ accent-color:var(--accent); }

.biz-portal-card{ border:1px solid var(--line); border-radius:var(--radius); background:var(--card); padding:var(--sp-14) var(--sp-16);
  margin-bottom:var(--sp-10); display:flex; flex-direction:column; gap:var(--sp-8); }
.biz-portal-card:last-child{ margin-bottom:0; }
.biz-portal-revoked{ opacity:.55; }
.biz-portal-card-head{ display:flex; align-items:center; gap:var(--sp-10); justify-content:space-between; }
.biz-portal-card-head strong{ font-size:var(--fs-base); }
.biz-portal-meta{ display:flex; gap:var(--sp-12); flex-wrap:wrap; font-size:var(--fs-sm); color:var(--mut); }
.biz-portal-meta span{ display:inline-flex; align-items:center; gap:var(--sp-2); }
.biz-portal-url{ display:flex; gap:var(--sp-6); align-items:center; flex-wrap:wrap; }
.biz-url-field{ flex:1; min-width:160px; background:var(--card2); color:var(--mut); border:1px solid var(--line);
  border-radius:var(--radius-sm); padding:var(--sp-6) var(--sp-8); font:inherit; font-size:var(--fs-sm); font-family:var(--font-mono); }
.btn.mini{ display:inline-flex; align-items:center; padding:var(--sp-4) var(--sp-12); border-radius:var(--radius-sm);
  font:600 12px/1 inherit; border:1px solid var(--line); background:var(--card2); color:var(--txt);
  cursor:pointer; text-decoration:none; transition:.1s; }
.btn.mini:hover{ background:var(--card); border-color:var(--accent); }
.mini.err{ color:var(--err); border-color:color-mix(in srgb,var(--err) 40%,var(--line)); }
.mini.err:hover{ background:color-mix(in srgb,var(--err) 10%,var(--card)); }

.biz-portal-comments{ border-top:1px solid var(--line2); margin-top:var(--sp-4); }
.biz-portal-comments>summary{ cursor:pointer; font-size:var(--fs-sm); color:var(--mut); padding:var(--sp-6) 0; }
.biz-portal-comment{ padding:var(--sp-8) 0; border-bottom:1px solid var(--line2); font-size:var(--fs-sm); }
.biz-portal-comment:last-child{ border-bottom:none; }
.biz-portal-comment b{ color:var(--txt); }
.biz-portal-comment p{ color:var(--mut); margin-top:var(--sp-2); }

/* ── En-tête carte chiffrage ── */
.biz-block-header{ display:flex; align-items:center; justify-content:space-between; gap:var(--sp-12); }
.biz-chiffr-pill{ display:flex; align-items:center; gap:var(--sp-4);
  font-size:var(--fs-sm); font-weight:var(--fw-medium); color:var(--mut);
  padding:var(--sp-4) var(--sp-12) var(--sp-4) var(--sp-10);
  background:var(--card);
  border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));
  border-radius:var(--radius-modal); white-space:nowrap; }
.biz-chiffr-pill b{ font-size:var(--fs-base); font-weight:var(--fw-bold); color:var(--accent); font-variant-numeric:tabular-nums; }

/* ── Cellule actions (dup + delete) ── */
.biz-ch-acts{ display:flex; align-items:center; gap:var(--sp-2); padding:0 var(--sp-4); width:52px; }
.biz-dup{ background:none; border:none; color:var(--mut2); cursor:pointer; font-size:var(--fs-md); line-height:var(--lh-flat);
  padding:var(--sp-2) var(--sp-4); border-radius:var(--radius-sm); opacity:0; transition:opacity .1s, color .1s; }
.biz-chiffr tr[data-ci] td{ transition:background .08s; }
.biz-chiffr tr[data-ci]:hover .biz-dup,
.biz-chiffr tr[data-ci]:focus-within .biz-dup{ opacity:1; }
.biz-dup:hover{ color:var(--accent); background:color-mix(in srgb,var(--accent) 12%,transparent); }

/* ── Options de paiement - grille 3 cartes ── */
.biz-pay-opts{ margin-top:var(--sp-18); padding-top:var(--sp-14); border-top:1px solid var(--line2); }
.biz-pay-opts-head{ font-size:var(--fs-2xs); text-transform:uppercase; letter-spacing:.07em;
  color:var(--mut2); margin-bottom:var(--sp-10); font-weight:var(--fw-strong); }
.biz-pay-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:var(--sp-8); }
@media(max-width:440px){ .biz-pay-grid{ grid-template-columns:1fr; } }
.biz-pay-card{ display:flex; flex-direction:column; gap:var(--sp-2);
  padding:var(--sp-10) var(--sp-12);
  background:var(--card2);
  border:1px solid var(--line);
  border-radius:var(--radius); }
.biz-pay-card:hover{ border-color:color-mix(in srgb,var(--accent) 40%,var(--line));
  background:color-mix(in srgb,var(--accent) 4%,var(--card2)); }
.biz-pay-c-badge{ display:inline-flex; align-items:center; width:fit-content;
  font-size:var(--fs-2xs); font-weight:var(--fw-bold); letter-spacing:.02em;
  padding:var(--sp-2) var(--sp-6); border-radius:var(--radius); margin-bottom:var(--sp-2);
  background:color-mix(in srgb,var(--ok) 14%,transparent);
  color:var(--ok); }
.biz-pay-c-label{ font-size:var(--fs-xs); color:var(--mut); font-weight:var(--fw-medium); }
.biz-pay-c-amt{ font-size:var(--fs-base); font-weight:var(--fw-bold); color:var(--txt);
  font-variant-numeric:tabular-nums; letter-spacing:-.01em; margin-top:var(--sp-2); }
.biz-pay-c-det{ font-size:var(--fs-2xs); color:var(--mut2); font-variant-numeric:tabular-nums; }

/* ── Barre multi-propositions (sélection/gestion des devis du projet) ── */
.biz-props-bar{ display:flex; align-items:center; gap:var(--sp-10); justify-content:space-between;
  flex-wrap:wrap; margin:var(--sp-2) 0 var(--sp-12); padding-bottom:var(--sp-12); border-bottom:1px solid var(--line2); }
.biz-props-chips{ display:flex; align-items:center; gap:var(--sp-6); flex-wrap:wrap; min-width:0; }
.biz-prop-chip{ display:inline-flex; flex-direction:column; align-items:flex-start; gap:var(--sp-1);
  padding:var(--sp-6) var(--sp-12); border-radius:var(--radius-sm); background:var(--card);
  border:1px solid var(--line); cursor:pointer; transition:.12s; max-width:210px; }
.biz-prop-chip:hover{ border-color:var(--accent); }
.biz-prop-chip.on{ border-color:var(--accent); background:color-mix(in srgb,var(--accent) 8%,var(--card)); }
.biz-prop-chip-t{ font-size:var(--fs-sm); font-weight:var(--fw-strong); color:var(--txt);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:186px; }
.biz-prop-chip-amt{ font-size:var(--fs-xs); color:var(--mut); font-variant-numeric:tabular-nums; }
.biz-prop-chip.on .biz-prop-chip-amt{ color:var(--accent); }
.biz-prop-add{ display:inline-flex; align-items:center; gap:var(--sp-6); padding:var(--sp-6) var(--sp-12);
  border-radius:var(--radius-sm); background:none; border:1px dashed var(--line);
  color:var(--mut2); cursor:pointer; font:600 12.5px/1 inherit; transition:.12s; }
.biz-prop-add:hover{ border-color:var(--accent); color:var(--accent); border-style:solid; }
.biz-prop-add svg{ width:14px; height:14px; }
.biz-props-acts{ display:flex; align-items:center; gap:var(--sp-4); }
.biz-prop-act{ display:inline-flex; align-items:center; justify-content:center;
  width:30px; height:30px; border-radius:var(--radius-sm); background:var(--card);
  border:1px solid var(--line); color:var(--mut2); cursor:pointer; transition:.12s; }
.biz-prop-act svg{ width:15px; height:15px; }
.biz-prop-act:hover{ color:var(--txt); border-color:var(--accent); }
.biz-prop-act.danger:hover{ color:var(--err); border-color:var(--err); }
.biz-prop-act:disabled{ opacity:.4; cursor:not-allowed; }


/* ════════ Propositions, refonte du 2026-10-23 (le proprio : « on va revoir le design et l'organisation ici : refonte
   complète, esthétique, moderne, minimaliste ») ════════
   Deux colonnes : la liste des devis à gauche, l'éditeur à droite (en-tête compact, étapes en onglets, sections sans cadre
   ni capitales). Tout en jetons ; ce bloc vient après les anciennes règles et l'emporte. */
.bzp{ display:grid; grid-template-columns:248px minmax(0,1fr); gap:var(--sp-20); align-items:start; margin-top:var(--sp-12); }
@media (max-width:900px){ .bzp{ grid-template-columns:1fr; } }
.bzp-liste{ position:sticky; top:var(--sp-8); display:flex; flex-direction:column; gap:var(--sp-6); max-height:calc(100vh - 160px); min-height:0; }
@media (max-width:900px){ .bzp-liste{ position:static; max-height:240px; } }
.bzp-liste-tete{ display:flex; align-items:center; justify-content:space-between; padding:0 var(--sp-4) var(--sp-2); }
.bzp-liste-tete>span{ display:inline-flex; align-items:center; gap:var(--sp-6); font-size:var(--fs-sm); font-weight:var(--fw-strong); color:var(--txt); }
.bzp-liste-tete em{ font-style:normal; font-size:var(--fs-2xs); font-weight:var(--fw-medium); color:var(--mut); padding:0 var(--sp-6); border-radius:var(--radius-pill); background:var(--card2); }
.bzp-ajout{ display:grid; place-items:center; width:26px; height:26px; padding:0; border:0; border-radius:var(--radius-sm); background:transparent; color:var(--mut); cursor:pointer; }
.bzp-ajout:hover{ background:var(--card2); color:var(--accent); } .bzp-ajout svg{ width:15px; height:15px; }
.bzp-chercher{ width:100%; height:30px; padding:0 var(--sp-10); border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--card); font:inherit; font-size:var(--fs-xs); }
.bzp-items{ display:flex; flex-direction:column; gap:var(--sp-1); overflow-y:auto; min-height:0; }
.bzp-item{ display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:var(--sp-2); width:100%; padding:var(--sp-8) var(--sp-10); border:0; border-radius:var(--radius-sm); background:transparent;
  color:var(--txt); font:inherit; text-align:left; cursor:pointer; transition:background .12s; }
.bzp-item:hover{ background:var(--card2); }
.bzp-item.on{ background:color-mix(in srgb,var(--accent) 9%,var(--card)); }
.bzp-item-t{ text-align:left; font-size:var(--fs-sm); font-weight:var(--fw-medium); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bzp-item.on .bzp-item-t{ color:var(--accent); }
.bzp-item-s{ display:flex; justify-content:space-between; gap:var(--sp-8); font-size:var(--fs-2xs); color:var(--mut); }
.bzp-item-s>span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bzp-item-s b{ flex:none; font-weight:var(--fw-medium); color:var(--txt); font-variant-numeric:tabular-nums; }
.bzp-liste-vide{ margin:var(--sp-8) var(--sp-4); font-size:var(--fs-xs); color:var(--mut); }

.bzp-ed{ min-width:0; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:var(--radius); background:var(--card); }
.bzp-tete{ display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"id total" "acts acts"; gap:var(--sp-10) var(--sp-16); padding:var(--sp-18) var(--sp-20) var(--sp-12); }
.bzp-tete-id{ grid-area:id; min-width:0; }
.bzp-tete-id h2{ margin:0; font-size:var(--fs-lg); font-weight:var(--fw-strong); letter-spacing:-.01em; line-height:var(--lh-tight); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; cursor:text; }
.bzp-tete-id p{ margin:var(--sp-4) 0 0; font-size:var(--fs-xs); color:var(--mut); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bzp-total{ grid-area:total; display:flex; flex-direction:column; align-items:flex-end; gap:var(--sp-2); }
.bzp-total span{ font-size:var(--fs-2xs); color:var(--mut); }
.bzp-total b{ font-size:var(--fs-xl); font-weight:var(--fw-strong); letter-spacing:-.02em; color:var(--txt); font-variant-numeric:tabular-nums; line-height:var(--lh-tight); }
.bzp-tete-acts{ grid-area:acts; display:flex; align-items:center; gap:var(--sp-4); flex-wrap:wrap; }
.bzp-emit{ display:inline-flex; align-items:center; gap:var(--sp-6); margin-right:auto; font-size:var(--fs-xs); color:var(--mut); }
.bzp .bzp-emit select{ width:auto; height:28px; padding:0 var(--sp-8); font-size:var(--fs-xs); border-color:transparent; background:var(--card2); }
.bzp-emit.warn{ color:var(--warn); }
.bzp-ic{ display:grid; place-items:center; width:30px; height:30px; padding:0; border:0; border-radius:var(--radius-sm); background:transparent; color:var(--mut); cursor:pointer; }
.bzp-ic:hover{ background:var(--card2); color:var(--txt); } .bzp-ic.danger:hover{ color:var(--err); } .bzp-ic:disabled{ opacity:.35; cursor:default; background:transparent; }
.bzp-ic svg{ width:15px; height:15px; }
.bzp .biz-pdf-btn{ height:30px; padding:0 var(--sp-12); margin-left:var(--sp-4); border:0; background:var(--accent); color:var(--on-solid); font-size:var(--fs-xs); font-weight:var(--fw-medium); }
.bzp .biz-pdf-btn:hover{ background:var(--accent-h); color:var(--on-solid); } .bzp .biz-pdf-btn svg{ opacity:1; }

.bzp-etapes{ display:flex; gap:var(--sp-2); padding:0 var(--sp-16); border-bottom:1px solid var(--line2); overflow-x:auto; }
/* Sans arrondi (le proprio, 2026-10-25 : « retire le border radius de ces boutons ») : des onglets, pas des pastilles. */
.bzp-etape{ display:inline-flex; align-items:center; gap:var(--sp-6); padding:var(--sp-10) var(--sp-8); border:0; border-radius:0; border-bottom:2px solid transparent; margin-bottom:calc(-1 * var(--sp-1));
  background:none; color:var(--mut); font:inherit; font-size:var(--fs-sm); white-space:nowrap; cursor:pointer; }
.bzp-etape:hover{ color:var(--txt); }
.bzp-etape.on{ color:var(--txt); font-weight:var(--fw-medium); border-bottom-color:var(--accent); }
.bzp-etape-n{ display:grid; place-items:center; width:16px; height:16px; border-radius:50%; background:var(--card2); color:var(--mut); font-size:var(--fs-2xs); font-weight:var(--fw-medium); }
.bzp-etape.on .bzp-etape-n{ background:var(--accent); color:var(--on-solid); }
.bzp-etape.fait .bzp-etape-n{ background:color-mix(in srgb,var(--ok) 16%,var(--card)); }
.bzp-etape.fait .bzp-etape-n::after{ content:""; width:7px; height:4px; border:solid var(--ok); border-width:0 0 1.5px 1.5px; transform:translateY(-1px) rotate(-45deg); }

.bzp-corps{ display:flex; flex-direction:column; gap:var(--sp-20); padding:var(--sp-20); min-width:0; }
.bzp-corps .biz-block{ border:0; border-radius:0; background:transparent; padding:0; box-shadow:none; }
.bzp-corps .biz-block-t{ margin:0 0 var(--sp-12); font-size:var(--fs-sm); font-weight:var(--fw-strong); letter-spacing:0; text-transform:none; color:var(--txt); }
.bzp-corps .biz-block-t::before{ content:none; }
.bzp-corps .biz-block-t{ border:0; padding:0; }
.bzp-corps .biz-meta{ align-items:start; }
.bzp-corps .biz-devis-split{ gap:var(--sp-28); }
.bzp-corps .biz-devis-split>.biz-block+.biz-block{ padding-left:var(--sp-28); border-left:1px solid var(--line2); }
@media (max-width:760px){ .bzp-corps .biz-devis-split>.biz-block+.biz-block{ padding-left:0; border-left:0; } }
.bzp-corps .biz-meta label,.bzp-corps .biz-cli label{ font-size:var(--fs-2xs); font-weight:var(--fw-medium); color:var(--mut); }
.bzp-corps .biz-cli-logo{ padding-bottom:var(--sp-10); }
.bzp-corps .biz-block--pricing .biz-block-header{ margin-bottom:var(--sp-12); }
.bzp-pied{ display:flex; justify-content:space-between; gap:var(--sp-8); padding:var(--sp-10) var(--sp-16); border-top:1px solid var(--line2); }
.bzp-pied-b{ display:inline-flex; align-items:center; gap:var(--sp-4); padding:var(--sp-6) var(--sp-10); border:0; border-radius:var(--radius-sm); background:transparent;
  color:var(--mut); font:inherit; font-size:var(--fs-xs); cursor:pointer; }
.bzp-pied-b:hover{ background:var(--card2); color:var(--txt); } .bzp-pied-b.suivant{ color:var(--accent); } .bzp-pied-b svg{ width:13px; height:13px; }

/* ── La DA commune (CDC_DA_COMMUNE, 2026-10-24) ─────────────────────────────
   Le proprio : « idem ici » (une seule DA, celle du Tableur et du Document, qu'il change à un endroit). L'accent de l'app
   devient celui des apps de 22c, posé une fois sur sa racine : tout ce qui lisait --accent (puces, étapes, bouton PDF,
   choix) le suit. Le rail est un .panneau-app (26-business.js), sa ligne choisie l'accent doux ; les cartes du tableau de
   bord ont une seule forme (plus de filet vert au hasard), un titre en casse de phrase, un même bouton ; la grille fait
   trois colonnes équilibrées (cinq plus une, avant) ; plus de chasse fixe ni de capitales espacées. */
.biz{ --accent:var(--outils-accent); --accent-h:color-mix(in srgb, var(--outils-accent) 85%, var(--txt)); --accent-texte:var(--outils-accent); --accent-plein:var(--outils-accent); }
#dhapp .biz-rail.panneau-app{ padding:var(--panneau-pad); border-inline-end:1px solid var(--line2); }
.biz-nav-btn{ min-height:var(--outils-h); font-size:var(--fs-md); }
.biz-nav-btn:hover{ background:var(--outils-survol); }
.biz-nav-btn.on, .biz-nav-btn.on:hover{ background:var(--outils-accent-doux); font-weight:var(--fw-medium); }
.biz-nav-btn.on .biz-nav-ic{ color:var(--txt); }
.biz-cards{ grid-template-columns:repeat(3, minmax(0,1fr)); gap:var(--sp-12); }
@media (max-width:1100px){ .biz-cards{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:720px){ .biz-cards{ grid-template-columns:minmax(0,1fr); } }
.biz-card, .biz-card.ok{ display:flex; flex-direction:column; gap:var(--sp-8); padding:var(--panneau-pad) var(--sp-14); border:1px solid var(--line2); border-radius:var(--radius-sm); background:var(--card); }
.biz-card-h{ margin:0; }
.biz-head-t h2{ font-weight:var(--fw-strong); }
.biz-card-b{ flex:1; gap:var(--sp-2); }
.biz-card-b b{ font-size:var(--fs-base); font-weight:var(--fw-strong); }
.biz-card-nom{ overflow-wrap:anywhere; }
.biz-card-b .mono{ font-family:inherit; font-size:var(--fs-sm); }
.biz-card-acts{ margin-top:0; }
.biz .outil.biz-ouvrir{ gap:var(--sp-2); padding:0 var(--sp-4) 0 var(--sp-8); color:var(--txt); }
.biz .outil.biz-ouvrir svg.ic{ width:14px; height:14px; color:var(--mut); }
.biz-block{ border-color:var(--line2); border-radius:var(--radius-sm); box-shadow:none; }
.biz-block-t{ font-size:var(--fs-sm); font-weight:var(--fw-strong); text-transform:none; letter-spacing:0; color:var(--txt); }
.biz-block-t::before{ content:none; }
.bzp-item:hover{ background:var(--outils-survol); }
.bzp-item.on{ background:var(--outils-accent-doux); }
.bzp-item.on .bzp-item-t{ color:var(--txt); }
.bzp-ed{ border-color:var(--line2); border-radius:var(--radius-sm); }
.bzp-etape{ font-size:var(--fs-sm); }
.bzp-etape.on .bzp-etape-n{ background:var(--outils-accent-doux); color:var(--txt); }
.bzp .biz-pdf-btn{ height:var(--outils-h); border-radius:var(--radius-sm); }
.bzp-ajout:hover, .bzp-ic:hover, .bzp-pied-b:hover{ background:var(--outils-survol); color:var(--txt); }
.bzp-chercher{ height:var(--outils-h); border:1px solid transparent; background:var(--outils-champ); }
}

/* ── Fichier › Paramètres (2026-10-20, 26f-business-parametres.js) : une section par paramètre ; d'abord les pièces jointes
   des devis, une ligne par fichier (son numéro, son type, son nom à éditer, sa taille, « Joindre », voir, retirer). ── */
.biz-param{ display:flex; flex-direction:column; gap:var(--sp-12); }
.biz-param-tete{ display:flex; align-items:flex-start; gap:var(--sp-10); }
.biz-param-ic{ flex:none; display:grid; place-items:center; width:32px; height:32px; border-radius:var(--radius-sm); background:color-mix(in srgb, var(--accent) 12%, transparent); color:var(--accent-texte); }
.biz-param-ic svg{ width:16px; height:16px; }
.biz-param-tete h4{ margin:0; font-size:var(--fs-md); font-weight:var(--fw-strong); }
.biz-param-tete p{ margin:var(--sp-2) 0 0; font-size:var(--fs-sm); color:var(--mut); line-height:var(--lh-normal); }
.biz-pj-liste{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:var(--sp-4); }
.biz-pj-ligne{ display:flex; align-items:center; gap:var(--sp-8); padding:var(--sp-6) var(--sp-8); border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--card); }
.biz-pj-ligne.eteinte{ opacity:.6; }
.biz-pj-num{ flex:none; font-size:var(--fs-2xs); font-weight:var(--fw-bold); color:var(--mut); letter-spacing:.04em; }
.biz-pj-type{ flex:none; display:grid; place-items:center; width:32px; height:22px; border-radius:var(--radius-xs); font-size:var(--fs-2xs); font-weight:var(--fw-bold); }
.biz-pj-type.pdf{ background:color-mix(in srgb, var(--err) 12%, transparent); color:var(--err); }
.biz-pj-type.img{ background:color-mix(in srgb, var(--accent) 12%, transparent); color:var(--accent-texte); }
.biz-pj-nom{ flex:1; min-width:0; }
.biz-pj-taille{ flex:none; font-size:var(--fs-xs); color:var(--mut); font-variant-numeric:tabular-nums; }
.biz-pj-joindre{ flex:none; display:inline-flex; align-items:center; gap:var(--sp-4); font-size:var(--fs-xs); color:var(--txt); cursor:pointer; }
.biz-pj-vide{ margin:0; padding:var(--sp-12); border:1px dashed var(--line); border-radius:var(--radius-sm); font-size:var(--fs-sm); color:var(--mut); text-align:center; }
.biz-pj-pied{ display:flex; align-items:center; gap:var(--sp-10); margin-top:var(--sp-8); flex-wrap:wrap; }
.biz-pj-note{ font-size:var(--fs-xs); color:var(--mut); }
.biz-pj-alerte{ margin:var(--sp-6) 0 0; font-size:var(--fs-xs); color:var(--warn); }

/* ── Ventes, deuxième étage (CDC_ENTREPRISE_V2 E1, 2026-10-25) ── L'aperçu : la page A4 du PDF, sur un fond gris comme une
   visionneuse, réduite à la colonne (26g-business-ventes.js règle l'échelle) ; les pièces jointes du devis, comme les globales. */
.bzp-apercu{ display:flex; flex-direction:column; gap:var(--sp-10); min-width:0; }
/* Les pages côte à côte, sur un fond gris de visionneuse, à la hauteur de la colonne : réduites, jamais recadrées ; on défile de
   côté. Chaque page garde ses marges d'impression (c'est l'image de la page du PDF) et un filet d'un demi-pixel, sans ombre. */
.bzp-pages{ display:flex; align-items:flex-start; gap:var(--sp-20); height:clamp(420px, 66vh, 760px); padding:var(--sp-20); overflow-x:auto; overflow-y:hidden;
  scroll-snap-type:x proximity; border:.5px solid var(--line); border-radius:var(--radius); background:var(--card2); }
.bzp-page{ flex:none; display:flex; flex-direction:column; align-items:center; gap:var(--sp-6); height:100%; margin:0; scroll-snap-align:start; }
.bzp-page img, .bzp-page-sq > .sqk{ height:calc(100% - 22px); width:auto; aspect-ratio:210/297; border:.5px solid var(--line); background:var(--paper); }
.bzp-page-sq{ aspect-ratio:auto; }
.bzp-page-sq > .sqk{ display:block; }
.bzp-page figcaption{ font-size:var(--fs-xs); color:var(--mut); font-variant-numeric:tabular-nums; }
/* Le repli (sans l'outil de rendu des pages) : le HTML du PDF dans une page à ses marges d'impression. */
.bzp-page-html{ height:auto; padding:12mm 14mm; background:var(--paper); border:.5px solid var(--line); }
.bzp-pages:has(.bzp-page-html){ height:auto; overflow-y:auto; max-height:76vh; }
.bzp-apercu-f{ display:block; width:182mm; border:0; background:var(--paper); }
.bzp-apercu-note{ margin:0; font-size:var(--fs-xs); color:var(--mut); }
.bzp-pj{ display:flex; flex-direction:column; gap:var(--sp-12); }
.biz-retour{ align-self:flex-start; display:inline-flex; align-items:center; gap:var(--sp-4); margin:var(--sp-12) var(--sp-16) 0; padding:var(--sp-4) var(--sp-8);
  border:0; border-radius:var(--radius-sm); background:none; color:var(--mut); font:inherit; font-size:var(--fs-sm); cursor:pointer; }
.biz-retour:hover{ color:var(--txt); background:var(--card2); }
.biz-retour svg{ width:14px; height:14px; }
.bzp-pj-aide{ margin:0; font-size:var(--fs-sm); color:var(--mut); line-height:var(--lh-normal); }

/* ── Réglages, émettrice, clients, modules vides (CDC_ENTREPRISE_V2 E2, 2026-10-25) ── */
.biz-param{ display:flex; flex-direction:column; gap:var(--sp-18); }
.biz-reg{ display:flex; flex-direction:column; border:.5px solid var(--line); border-radius:var(--radius); background:var(--card); }
.biz-reg > h4{ margin:0; padding:var(--sp-10) var(--sp-14); font-size:var(--fs-xs); font-weight:var(--fw-strong); letter-spacing:.04em; text-transform:uppercase; color:var(--mut);
  border-bottom:.5px solid var(--line); }
.biz-reg-l{ display:flex; align-items:center; justify-content:space-between; gap:var(--sp-14); padding:var(--sp-10) var(--sp-14); }
.biz-reg-l + .biz-reg-l{ border-top:.5px solid var(--line); }
.biz-reg-l > div:first-child{ display:flex; flex-direction:column; gap:var(--sp-2); min-width:0; }
.biz-reg-l b{ font-size:var(--fs-md); font-weight:var(--fw-medium); color:var(--txt); }
.biz-reg-l span{ font-size:var(--fs-sm); color:var(--mut); line-height:var(--lh-normal); }
.biz-reg-l .set-select{ flex:none; max-width:260px; }
.biz-reg-sous{ padding-left:var(--sp-28); }
.biz-reg-pj{ display:flex; flex-direction:column; gap:var(--sp-8); padding:var(--sp-10) var(--sp-14); border-top:.5px solid var(--line); }
.biz-reg-pj > b{ font-size:var(--fs-md); font-weight:var(--fw-medium); }
.biz-emit{ display:inline-flex; align-items:center; gap:var(--sp-6); padding:var(--sp-4) var(--sp-10); border:.5px solid var(--line); border-radius:var(--radius-sm);
  background:var(--card); color:var(--mut); font:inherit; font-size:var(--fs-sm); cursor:pointer; }
.biz-emit b{ color:var(--txt); font-weight:var(--fw-medium); }
.biz-emit:hover{ background:var(--card2); }
.biz-pays-sel{ width:100%; }
.biz-clients-g{ display:grid; grid-template-columns:minmax(200px,240px) minmax(0,1fr); gap:var(--sp-16); align-items:start; }
.biz-clients{ border:.5px solid var(--line); border-radius:var(--radius); background:var(--card); overflow:hidden; }
.biz-clients-tete{ display:flex; align-items:center; gap:var(--sp-6); padding:var(--sp-10) var(--sp-12); border-bottom:.5px solid var(--line); }
.biz-clients-tete span{ color:var(--mut); font-size:var(--fs-sm); }
.biz-clients-tete .bzp-ajout{ margin-left:auto; }
.biz-clients-l{ list-style:none; margin:0; padding:0; }
.biz-clients-l li + li{ border-top:.5px solid var(--line); }
.biz-clients-i{ display:flex; flex-direction:column; gap:var(--sp-2); width:100%; padding:var(--sp-8) var(--sp-12); border:0; border-radius:0; background:none; text-align:start;
  color:inherit; font:inherit; cursor:pointer; }
.biz-clients-i span{ font-size:var(--fs-md); font-weight:var(--fw-medium); }
.biz-clients-i small{ font-size:var(--fs-xs); color:var(--mut); }
.biz-clients-i:hover{ background:var(--card2); }
.biz-clients-i.on{ background:color-mix(in srgb,var(--accent) 10%,var(--card)); }
.biz-clients-f{ min-width:0; }
.biz-vide{ display:flex; flex-direction:column; align-items:center; gap:var(--sp-8); margin:var(--sp-24) var(--sp-16); padding:var(--sp-34) var(--sp-20);
  border:.5px dashed var(--line); border-radius:var(--radius); color:var(--mut); text-align:center; }
.biz-vide b{ color:var(--txt); font-weight:var(--fw-medium); }
.biz-vide p{ margin:0; font-size:var(--fs-sm); }
.biz-vide-ic svg{ width:24px; height:24px; color:var(--mut2); }
.wiz-emettrice-une{ display:flex; align-items:flex-start; gap:var(--sp-10); padding:var(--sp-10) var(--sp-12); border:.5px solid var(--line); border-radius:var(--radius-sm); cursor:pointer; }
.wiz-emettrice-une input{ margin-top:var(--sp-2); accent-color:var(--accent); }
.wiz-emettrice-une span{ display:flex; flex-direction:column; gap:var(--sp-2); }
.wiz-emettrice-une small{ color:var(--mut); font-size:var(--fs-sm); }
@media(max-width:760px){ .biz-clients-g{ grid-template-columns:1fr; } .biz-reg-l{ flex-wrap:wrap; } }

/* ── Offre commerciale (CDC_ENTREPRISE_V2 E3, 2026-10-25) ── La DA partagée : filets d'un demi-pixel, cartes sans ombre, l'accent
   pour l'état choisi seulement ; une grille de cartes à vignette, ou une liste, et la fiche en deux colonnes. */
.bzo{ display:flex; flex-direction:column; gap:var(--sp-14); padding:0 var(--sp-16) var(--sp-20); }
.bzo-kpis{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border:.5px solid var(--line); border-radius:var(--radius); background:var(--card); }
.bzo-kpi{ display:flex; flex-direction:column; gap:var(--sp-2); padding:var(--sp-10) var(--sp-14); }
.bzo-kpi + .bzo-kpi{ border-left:.5px solid var(--line); }
.bzo-kpi b{ font-size:var(--fs-lg); font-weight:var(--fw-strong); font-variant-numeric:tabular-nums; }
.bzo-kpi span{ font-size:var(--fs-xs); color:var(--mut); }
.bzo-barre{ display:flex; align-items:center; gap:var(--sp-10); flex-wrap:wrap; }
.bzo-cherche{ display:flex; align-items:center; gap:var(--sp-6); flex:1 1 220px; min-width:0; height:32px; padding:0 var(--sp-10); border:.5px solid var(--line); border-radius:var(--radius-sm); background:var(--card); }
.bzo-cherche svg{ width:14px; height:14px; color:var(--mut); flex:none; }
.bzo .bzo-cherche input{ flex:1; min-width:0; height:100%; padding:0; border:0; border-radius:0; box-shadow:none; background:none; font:inherit; font-size:var(--fs-sm); color:var(--txt); outline:none; }
.bzo-cherche:focus-within{ border-color:var(--accent); }
.bzo-chips{ display:flex; gap:var(--sp-4); }
.bzo-chip{ height:28px; padding:0 var(--sp-10); border:.5px solid var(--line); border-radius:var(--radius-pill); background:var(--card); color:var(--mut); font:inherit; font-size:var(--fs-sm); cursor:pointer; }
.bzo-chip.on{ border-color:var(--accent); color:var(--accent-texte); background:color-mix(in srgb,var(--accent) 8%,var(--card)); }
.bzo-vues{ display:flex; border:.5px solid var(--line); border-radius:var(--radius-sm); overflow:hidden; }
.bzo-v{ display:grid; place-items:center; width:30px; height:28px; border:0; border-radius:0; background:var(--card); color:var(--mut); cursor:pointer; }
.bzo-v + .bzo-v{ border-left:.5px solid var(--line); }
.bzo-v.on{ color:var(--txt); background:var(--card2); }
.bzo-v svg{ width:14px; height:14px; }
.bzo-grille{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:var(--sp-12); }
.bzo-carte{ display:flex; flex-direction:column; padding:0; border:.5px solid var(--line); border-radius:var(--radius); background:var(--card); color:inherit; font:inherit; text-align:start;
  cursor:pointer; overflow:hidden; }
.bzo-carte:hover{ border-color:color-mix(in srgb,var(--accent) 40%,var(--line)); }
.bzo-carte.s-archive{ opacity:.6; }
.bzo-vis{ position:relative; display:grid; place-items:center; aspect-ratio:16/10; background:var(--card2); border-bottom:.5px solid var(--line); overflow:hidden; }
.bzo-vis img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.bzo-vis.sans-image svg{ width:28px; height:28px; color:var(--mut2); }
.bzo-carte-c{ display:flex; flex-direction:column; gap:var(--sp-4); padding:var(--sp-10) var(--sp-12) var(--sp-12); }
.bzo-carte-t{ display:flex; align-items:center; gap:var(--sp-6); }
.bzo-carte-t b{ font-size:var(--fs-md); font-weight:var(--fw-medium); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bzo-statut{ flex:none; font-style:normal; font-size:var(--fs-2xs); padding:0 var(--sp-6); border:.5px solid var(--line); border-radius:var(--radius-pill); color:var(--mut); }
.bzo-carte-m{ font-size:var(--fs-xs); color:var(--mut); }
.bzo-carte-d{ font-size:var(--fs-sm); color:var(--mut); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.bzo-carte-p{ margin-top:var(--sp-4); font-weight:var(--fw-strong); font-variant-numeric:tabular-nums; }
.bzo-carte-p small, .bzo-apercu-p small{ font-weight:var(--fw-regular); color:var(--mut); font-size:var(--fs-xs); }
.bzo-liste{ display:flex; flex-direction:column; border:.5px solid var(--line); border-radius:var(--radius); background:var(--card); overflow:hidden; }
.bzo-ligne{ display:grid; grid-template-columns:36px minmax(0,1fr) 110px 90px 140px; align-items:center; gap:var(--sp-12); padding:var(--sp-8) var(--sp-12);
  border:0; border-radius:0; background:none; color:inherit; font:inherit; text-align:start; cursor:pointer; }
.bzo-ligne + .bzo-ligne{ border-top:.5px solid var(--line); }
.bzo-ligne:hover{ background:var(--card2); }
.bzo-vis-p{ display:grid; place-items:center; width:36px; height:36px; border-radius:var(--radius-sm); background:var(--card2); overflow:hidden; }
.bzo-vis-p{ position:relative; }
.bzo-vis-p img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.bzo-vis-p svg{ width:16px; height:16px; color:var(--mut2); }
.bzo-ligne-n{ display:flex; flex-direction:column; min-width:0; }
.bzo-ligne-n b{ font-weight:var(--fw-medium); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bzo-ligne-n small, .bzo-ligne-t, .bzo-ligne-s{ font-size:var(--fs-xs); color:var(--mut); }
.bzo-ligne-p{ text-align:end; font-variant-numeric:tabular-nums; font-weight:var(--fw-medium); }
.bzo-aucune{ margin:0; color:var(--mut); font-size:var(--fs-sm); }
.bzo-fiche{ display:flex; flex-direction:column; gap:var(--sp-10); padding:0 var(--sp-16) var(--sp-20); }
.bzo-fiche .biz-retour{ margin:0; }
.bzo-fiche-g{ display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,300px); gap:var(--sp-18); align-items:start; }
.bzo-fiche-f{ display:flex; flex-direction:column; gap:var(--sp-14); }
.bzo-bloc{ display:flex; flex-direction:column; gap:var(--sp-10); padding:var(--sp-14); border:.5px solid var(--line); border-radius:var(--radius); background:var(--card); }
.bzo-bloc h4{ margin:0; font-size:var(--fs-xs); font-weight:var(--fw-strong); letter-spacing:.04em; text-transform:uppercase; color:var(--mut); }
.bzo-ch{ display:flex; flex-direction:column; gap:var(--sp-4); min-width:0; font-size:var(--fs-sm); color:var(--mut); }
.bzo-ch input, .bzo-ch select, .bzo-ch textarea{ width:100%; font:inherit; font-size:var(--fs-md); color:var(--txt); }
.bzo-deux{ display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-10); }
.bzo-trois{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:var(--sp-10); }
.bzo-ttc{ margin:0; font-size:var(--fs-sm); color:var(--mut); }
.bzo-ttc b{ color:var(--txt); font-variant-numeric:tabular-nums; }
.bzo-fiche-a{ position:sticky; top:var(--sp-10); display:flex; flex-direction:column; gap:var(--sp-10); }
.bzo-apercu{ display:flex; flex-direction:column; gap:var(--sp-6); padding:var(--sp-12); border:.5px solid var(--line); border-radius:var(--radius); background:var(--card); }
.bzo-vis-g{ border:.5px solid var(--line); border-radius:var(--radius-sm); }
.bzo-img-acts{ display:flex; gap:var(--sp-6); }
.bzo-apercu-n{ font-size:var(--fs-md); font-weight:var(--fw-medium); }
.bzo-apercu-p{ font-weight:var(--fw-strong); font-variant-numeric:tabular-nums; }
.bzo-apercu-u{ font-size:var(--fs-xs); color:var(--mut); }
.bzo-actions{ display:flex; flex-direction:column; gap:var(--sp-6); }
.bzo-actions button{ justify-content:center; }
@media(max-width:900px){ .bzo-kpis{ grid-template-columns:repeat(3,minmax(0,1fr)); } .bzo-fiche-g{ grid-template-columns:1fr; } .bzo-ligne{ grid-template-columns:36px minmax(0,1fr) 120px; } .bzo-ligne-t, .bzo-ligne-s{ display:none; } }

/* ── Potentiel du projet (CDC_ENTREPRISE_V2 E4, 2026-10-25) ── Des blocs à filet d'un demi-pixel ; les graphiques en SVG à
   l'accent du thème (la série réelle pleine, l'estimée en tirets) ; quatre teintes pour la cible et le SWOT, tirées des jetons
   d'état (ok, info, warn, err) pour rester dans la DA. */
.pot-tete{ align-items:center; }
.pot-poevai{ flex:none; display:inline-flex; align-items:center; gap:var(--sp-6); }
.pot-poevai svg{ width:15px; height:15px; }
.pot-message{ margin:0 var(--sp-16) var(--sp-8); padding:var(--sp-8) var(--sp-12); border:.5px solid color-mix(in srgb,var(--warn) 45%,var(--line)); border-radius:var(--radius-sm);
  background:color-mix(in srgb,var(--warn) 7%,var(--card)); font-size:var(--fs-sm); color:var(--txt); }
.pot{ display:flex; flex-direction:column; gap:var(--sp-14); padding:0 var(--sp-16) var(--sp-24); }
.pot-vide{ margin:0; color:var(--mut); font-size:var(--fs-sm); }
.pot-verdict{ display:flex; align-items:center; gap:var(--sp-18); padding:var(--sp-14) var(--sp-16); border:.5px solid var(--line); border-radius:var(--radius); background:var(--card); }
.pot-score{ position:relative; flex:none; width:120px; display:flex; flex-direction:column; align-items:center; }
.pot-score svg{ width:120px; height:70px; }
.pot-score-fond{ fill:none; stroke:var(--line2); stroke-width:8; stroke-linecap:round; }
.pot-score-val{ fill:none; stroke:var(--accent); stroke-width:8; stroke-linecap:round; }
.pot-score.v-fort .pot-score-val{ stroke:var(--ok); } .pot-score.v-faible .pot-score-val{ stroke:var(--warn); }
.pot-score b{ position:absolute; top:34px; font-size:var(--fs-xl); font-weight:var(--fw-strong); font-variant-numeric:tabular-nums; }
.pot-score span{ margin-top:var(--sp-2); font-size:var(--fs-xs); color:var(--mut); text-transform:uppercase; letter-spacing:.04em; }
.pot-resume p{ margin:0 0 var(--sp-6); font-size:var(--fs-md); line-height:var(--lh-normal); color:var(--txt); }
.pot-resume small{ color:var(--mut); font-size:var(--fs-xs); }
.pot-kpis{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border:.5px solid var(--line); border-radius:var(--radius); background:var(--card); }
.pot-kpi{ display:flex; flex-direction:column; gap:var(--sp-2); padding:var(--sp-12) var(--sp-14); min-width:0; }
.pot-kpi + .pot-kpi{ border-left:.5px solid var(--line); }
.pot-kpi span{ font-size:var(--fs-xs); color:var(--mut); text-transform:uppercase; letter-spacing:.04em; }
.pot-kpi b{ font-size:var(--fs-lg); font-weight:var(--fw-strong); font-variant-numeric:tabular-nums; color:var(--txt); }
.pot-kpi small{ font-size:var(--fs-xs); color:var(--mut); line-height:1.35; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.pot-deux{ display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:var(--sp-14); }
.pot-bloc{ display:flex; flex-direction:column; gap:var(--sp-10); padding:var(--sp-14) var(--sp-16); border:.5px solid var(--line); border-radius:var(--radius); background:var(--card); min-width:0; }
.pot-bloc h3{ margin:0; font-size:var(--fs-sm); font-weight:var(--fw-strong); color:var(--txt); }
.pot-bloc h3 small{ font-weight:var(--fw-regular); color:var(--mut); }
.pot-bloc h4{ margin:var(--sp-4) 0 0; font-size:var(--fs-xs); font-weight:var(--fw-strong); text-transform:uppercase; letter-spacing:.04em; color:var(--mut); }
.pot-texte{ margin:0; font-size:var(--fs-sm); line-height:var(--lh-normal); color:var(--mut); }
.pot-svg{ width:100%; height:auto; display:block; }
.pot-grille{ stroke:var(--line2); stroke-width:1; }
.pot-tiret{ stroke-dasharray:3 4; }
.pot-axe{ fill:var(--mut2); font-size:var(--fs-2xs); }
.pot-aire{ fill:color-mix(in srgb,var(--accent) 12%,transparent); }
.pot-ligne{ fill:none; stroke:var(--accent); stroke-width:2; stroke-linejoin:round; }
.pot-ligne.est{ stroke-dasharray:5 4; opacity:.75; }
.pot-pt{ fill:var(--card); stroke:var(--accent); stroke-width:1.6; }
.pot-pt.est{ stroke-dasharray:2 2; }
.pot-ent{ display:flex; flex-direction:column; gap:var(--sp-8); }
.pot-ent-l{ display:grid; grid-template-columns:96px minmax(0,1fr) auto; align-items:center; gap:var(--sp-8); font-size:var(--fs-sm); }
.pot-ent-k{ color:var(--mut); }
.pot-ent-b{ height:10px; border-radius:var(--radius-pill); background:var(--card2); overflow:hidden; }
.pot-ent-b i{ display:block; height:100%; border-radius:inherit; background:var(--accent); }
.pot-ent-b .pot-ent-sam{ opacity:.7; } .pot-ent-b .pot-ent-som{ opacity:.45; }
.pot-ent-l b{ font-variant-numeric:tabular-nums; font-weight:var(--fw-medium); }
.pot-tend{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:var(--sp-6); }
.pot-tend li{ display:flex; flex-direction:column; gap:var(--sp-2); font-size:var(--fs-sm); }
.pot-tend span{ color:var(--mut); line-height:1.45; }
.pot-conc{ display:grid; grid-template-columns:minmax(260px,420px) minmax(0,1fr); gap:var(--sp-14); align-items:start; }
.pot-carte .pot-c circle{ fill:color-mix(in srgb,var(--mut) 30%,var(--card)); stroke:var(--mut2); stroke-width:1; }
.pot-carte .pot-c.nous circle{ fill:var(--accent); stroke:var(--accent); }
.pot-c-n{ fill:var(--txt); font-size:var(--fs-2xs); }
.pot-c.nous .pot-c-n{ font-weight:var(--fw-strong); }
.pot-conc-l{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:var(--sp-10); }
.pot-conc-i{ display:flex; flex-direction:column; gap:var(--sp-6); padding:var(--sp-10) var(--sp-12); border:.5px solid var(--line); border-radius:var(--radius-sm); }
.pot-conc-t{ display:flex; flex-direction:column; gap:var(--sp-2); }
.pot-conc-t b{ font-size:var(--fs-md); font-weight:var(--fw-medium); }
.pot-site{ display:inline-flex; align-items:center; gap:var(--sp-4); font-size:var(--fs-xs); color:var(--accent-texte); text-decoration:none; overflow-wrap:anywhere; }
.pot-site:hover{ text-decoration:underline; }
.pot-site svg{ width:11px; height:11px; }
.pot-conc-i p{ margin:0; font-size:var(--fs-sm); color:var(--mut); line-height:1.45; }
.pot-conc-m{ display:flex; flex-wrap:wrap; gap:var(--sp-4); }
.pot-tag{ font-size:var(--fs-xs); padding:var(--sp-1) var(--sp-6); border:.5px solid var(--line); border-radius:var(--radius-pill); color:var(--mut); }
.pot-pm{ display:flex; flex-direction:column; gap:var(--sp-2); font-size:var(--fs-xs); line-height:1.4; }
.pot-pm .plus{ color:var(--ok); } .pot-pm .moins{ color:var(--err); }
.pot-cible{ display:flex; align-items:center; gap:var(--sp-14); }
.pot-anneau{ flex:none; width:110px; height:110px; }
.pot-arc{ fill:none; stroke-width:16; }
.pot-arc.a0, .pot-personas i.a0{ stroke:var(--accent); background:var(--accent); }
.pot-arc.a1, .pot-personas i.a1{ stroke:var(--info); background:var(--info); }
.pot-arc.a2, .pot-personas i.a2{ stroke:var(--ok); background:var(--ok); }
.pot-arc.a3, .pot-personas i.a3{ stroke:var(--warn); background:var(--warn); }
.pot-personas{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:var(--sp-8); min-width:0; }
.pot-personas li{ display:flex; gap:var(--sp-8); align-items:flex-start; }
.pot-personas i{ flex:none; width:8px; height:8px; margin-top:var(--sp-4); border-radius:50%; }
.pot-personas b{ font-size:var(--fs-sm); font-weight:var(--fw-medium); }
.pot-personas b small{ color:var(--mut); font-weight:var(--fw-regular); }
.pot-personas span{ display:block; font-size:var(--fs-xs); color:var(--mut); line-height:1.4; }
.pot-grille-prix{ display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:var(--sp-8); }
.pot-grille-prix > div{ display:flex; flex-direction:column; gap:var(--sp-2); padding:var(--sp-10); border:.5px solid var(--line); border-radius:var(--radius-sm); }
.pot-grille-prix span{ font-size:var(--fs-xs); color:var(--mut); text-transform:uppercase; letter-spacing:.04em; }
.pot-grille-prix b{ font-size:var(--fs-md); font-variant-numeric:tabular-nums; }
.pot-grille-prix small{ font-size:var(--fs-xs); color:var(--mut); font-weight:var(--fw-regular); }
.pot-swot{ display:grid; grid-template-columns:1fr 1fr; border:.5px solid var(--line); border-radius:var(--radius-sm); overflow:hidden; }
.pot-swot > div{ padding:var(--sp-10) var(--sp-12); }
.pot-swot > div:nth-child(2n){ border-left:.5px solid var(--line); } .pot-swot > div:nth-child(n+3){ border-top:.5px solid var(--line); }
.pot-swot h4{ margin:0 0 var(--sp-6); }
.pot-swot .s-f h4{ color:var(--ok); } .pot-swot .s-w h4{ color:var(--err); } .pot-swot .s-o h4{ color:var(--info); } .pot-swot .s-t h4{ color:var(--warn); }
.pot-swot ul{ margin:0; padding-left:var(--sp-16); font-size:var(--fs-sm); color:var(--txt); line-height:1.45; }
.pot-reco{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.pot-reco li{ display:flex; gap:var(--sp-12); padding:var(--sp-10) 0; }
.pot-reco li + li{ border-top:.5px solid var(--line); }
.pot-prio{ flex:none; width:64px; font-size:var(--fs-2xs); font-weight:var(--fw-strong); text-transform:uppercase; letter-spacing:.04em; color:var(--mut); padding-top:var(--sp-2); }
.pot-reco .p-haute .pot-prio{ color:var(--err); } .pot-reco .p-moyenne .pot-prio{ color:var(--warn); }
.pot-reco b{ font-size:var(--fs-md); font-weight:var(--fw-medium); }
.pot-reco p{ margin:var(--sp-2) 0 0; font-size:var(--fs-sm); color:var(--mut); line-height:1.45; }
.pot-sources ul{ margin:0; padding-left:var(--sp-16); font-size:var(--fs-sm); }
.pot-sources a{ color:var(--accent-texte); }
.pot-hyp{ margin:0; font-size:var(--fs-xs); color:var(--mut); line-height:1.45; }
.pot-notes summary{ display:flex; align-items:baseline; gap:var(--sp-8); cursor:pointer; list-style:none; }
.pot-notes summary small{ color:var(--mut); font-size:var(--fs-xs); }
@media(max-width:1000px){ .pot-kpis{ grid-template-columns:repeat(2,minmax(0,1fr)); } .pot-kpi + .pot-kpi{ border-left:0; } .pot-deux, .pot-conc{ grid-template-columns:1fr; } }

/* ══ CDC_ENTREPRISE_V3 (liste du proprio du 2026-10-28) ══ */
/* V1 : le tableau de bord (26k-business-tableau.js). Une rangée de KPI, deux graphiques, des cartes d'une seule forme. */
.bzd-tete{ align-items:center; }
.bzd-periode{ flex:none; gap:var(--sp-2); }
.bzd{ display:flex; flex-direction:column; gap:var(--sp-14); }
.bzd-kpis{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border:.5px solid var(--line); border-radius:var(--radius); background:var(--card); }
.bzd-kpi{ display:flex; flex-direction:column; gap:var(--sp-2); min-width:0; padding:var(--sp-12) var(--sp-14); }
.bzd-kpi + .bzd-kpi{ border-left:.5px solid var(--line); }
.bzd-kpi span{ font-size:var(--fs-xs); color:var(--mut); }
.bzd-kpi b{ font-size:var(--fs-lg); font-weight:var(--fw-strong); font-variant-numeric:tabular-nums; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bzd-kpi.fort b{ color:var(--accent-texte); }
.bzd-kpi small{ font-size:var(--fs-2xs); color:var(--mut2); }
.bzd-graphes{ display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:var(--sp-12); }
.bzd-cartes{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--sp-12); }
.bzd-carte{ display:flex; flex-direction:column; gap:var(--sp-10); min-width:0; padding:var(--panneau-pad) var(--sp-14); border:.5px solid var(--line); border-radius:var(--radius); background:var(--card); }
.bzd-carte h3{ margin:0; }
.bzd-carte-b{ display:flex; flex-direction:column; gap:var(--sp-8); flex:1; min-width:0; }
.bzd-carte-p{ display:flex; justify-content:flex-end; }
.bzd-emet{ grid-row:span 2; }
.bzd-lien{ gap:var(--sp-4); color:var(--accent-texte); }   /* .outil (22c) porte sa hauteur et son rayon : la bascule de DA le suit */
.bzd-lien:hover{ background:var(--outils-survol); }
.bzd-lien svg{ width:12px; height:12px; }
.bzd-ident{ display:flex; align-items:center; gap:var(--sp-10); min-width:0; }
.bzd-ident > div{ display:flex; flex-direction:column; min-width:0; }
.bzd-ident b{ font-size:var(--fs-md); font-weight:var(--fw-strong); overflow-wrap:anywhere; }
.bzd-ident span{ font-size:var(--fs-xs); color:var(--mut); }
.bzd-logo{ flex:none; display:grid; place-items:center; width:44px; height:44px; border:.5px solid var(--line); border-radius:var(--radius-sm); background:var(--card2); overflow:hidden; }
.bzd-logo img{ width:100%; height:100%; object-fit:contain; }
.bzd-logo svg{ width:16px; height:16px; color:var(--mut); }
.bzd-choix{ display:flex; flex-direction:column; gap:var(--sp-4); font-size:var(--fs-xs); color:var(--mut); }
.bzd-choix select{ width:100%; }
.bzd-dl{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:var(--sp-4) var(--sp-12); margin:0; font-size:var(--fs-sm); }
.bzd-dl dt{ color:var(--mut); }
.bzd-dl dd{ margin:0; overflow-wrap:anywhere; }
.bzd-mini-kpis{ display:flex; gap:var(--sp-18); }
.bzd-mini-kpis > div{ display:flex; flex-direction:column; }
.bzd-mini-kpis b{ font-size:var(--fs-lg); font-weight:var(--fw-strong); font-variant-numeric:tabular-nums; }
.bzd-mini-kpis span{ font-size:var(--fs-xs); color:var(--mut); }
.bzd-mini-kpis .alerte b{ color:var(--warn); }
.bzd-liste{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.bzd-liste li{ display:flex; justify-content:space-between; align-items:baseline; gap:var(--sp-8); padding:var(--sp-6) 0; font-size:var(--fs-sm); }
.bzd-liste li + li{ border-top:.5px solid var(--line); }
.bzd-liste li > span, .bzd-liste li > a{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.bzd-liste a{ color:var(--txt); text-decoration:none; }
.bzd-liste a:hover{ text-decoration:underline; }
.bzd-liste small{ flex:none; font-size:var(--fs-xs); color:var(--mut); }
.bzd-url{ display:flex; gap:var(--sp-6); }
.bzd-url input{ flex:1; min-width:0; font-size:var(--fs-xs); background:var(--card); }
.bzd-ouvrir{ display:inline-flex; align-items:center; padding:0 var(--sp-12); border-radius:var(--radius-sm); text-decoration:none; white-space:nowrap; }
.bzd-note, .bzd-vide{ margin:0; font-size:var(--fs-xs); color:var(--mut); }
.bzd-portail-n{ font-size:var(--fs-md); font-weight:var(--fw-medium); }
.bzd-resume{ margin:0; font-size:var(--fs-sm); color:var(--mut); line-height:1.45; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.bzd-courbe{ width:100%; height:170px; display:block; }
.bzd-axe{ stroke:var(--line); stroke-width:1; }
.bzd-b-v{ fill:var(--accent); }
.bzd-b-p{ fill:color-mix(in srgb,var(--accent) 28%,var(--card)); }
.bzd-b-l{ fill:var(--mut); font-size:var(--fs-2xs); }
.bzd-legende{ display:flex; align-items:center; gap:var(--sp-14); font-size:var(--fs-xs); color:var(--mut); }
.bzd-legende span::before{ content:''; display:inline-block; width:8px; height:8px; margin-right:var(--sp-6); border-radius:2px; vertical-align:baseline; }
.bzd-legende .v::before{ background:var(--accent); } .bzd-legende .p::before{ background:color-mix(in srgb,var(--accent) 28%,var(--card)); }
.bzd-legende b{ margin-left:auto; font-weight:var(--fw-regular); }
.bzd-pile{ display:flex; height:10px; border-radius:var(--radius-pill); overflow:hidden; background:var(--card2); }
.bzd-pile i{ display:block; flex-basis:0; min-width:4px; }
.bzd-statuts{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.bzd-statuts li{ display:flex; justify-content:space-between; padding:var(--sp-6) 0; font-size:var(--fs-sm); }
.bzd-statuts li + li{ border-top:.5px solid var(--line); }
.bzd-statuts li span::before{ content:''; display:inline-block; width:8px; height:8px; margin-right:var(--sp-8); border-radius:50%; background:currentColor; }
.bzd-statuts b{ font-variant-numeric:tabular-nums; }
/* Les cinq statuts d'un devis (B3), une couleur chacun, des jetons d'état. */
.st-cree{ --st:var(--mut2); } .st-propose{ --st:var(--info); } .st-valide{ --st:var(--ok); } .st-refuse{ --st:var(--err); } .st-annule{ --st:var(--warn); }
.bzd-pile i{ background:var(--st); }
.bzd-statuts li span::before{ background:var(--st); }
@media (max-width:1100px){ .bzd-cartes{ grid-template-columns:repeat(2,minmax(0,1fr)); } .bzd-kpis{ grid-template-columns:repeat(3,minmax(0,1fr)); } .bzd-kpi:nth-child(4){ border-left:0; } }
@media (max-width:760px){ .bzd-graphes, .bzd-cartes{ grid-template-columns:minmax(0,1fr); } .bzd-kpis{ grid-template-columns:repeat(2,minmax(0,1fr)); } .bzd-kpi + .bzd-kpi{ border-left:0; } .bzd-emet{ grid-row:auto; } }

/* V2 : Ventes. La recherche toujours là, sur fond blanc (B1) ; le statut et le menu ⋮ de chaque devis (B2, B3). */
.bzp-chercher{ display:flex; align-items:center; gap:var(--sp-6); height:30px; padding:0 var(--sp-10); border:.5px solid var(--line); border-radius:var(--radius-sm); background:var(--card); }
.bzp-chercher:focus-within{ border-color:var(--accent); }
.bzp-chercher svg{ width:13px; height:13px; color:var(--mut); flex:none; }
.bzp-chercher input{ flex:1; min-width:0; height:100%; padding:0; border:0; border-radius:0; background:none; box-shadow:none; font:inherit; font-size:var(--fs-xs); color:var(--txt); outline:none; }
.bzp-item{ cursor:pointer; }
.bzp-item:focus-visible{ outline:2px solid var(--focus-anneau); outline-offset:-2px; }
.bzp-item-t{ display:flex; align-items:center; justify-content:space-between; gap:var(--sp-6); }
.bzp-item-t > span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.bzp-item-s{ align-items:center; }
.bzp-item-s b{ margin-left:auto; }
.bzp-item-menu{ flex:none; display:grid; place-items:center; width:20px; height:20px; padding:0; border:0; border-radius:var(--radius-sm); background:none; color:var(--mut); cursor:pointer; }
.bzp-item-menu:hover{ background:var(--outils-survol); color:var(--txt); }
.bzp-item-menu svg{ width:14px; height:14px; }
.bzp-statut{ flex:none; display:inline-flex; align-items:center; height:18px; padding:0 var(--sp-6); border:0; border-radius:var(--radius-pill); font:inherit; font-size:var(--fs-2xs); font-weight:var(--fw-medium);
  color:color-mix(in srgb,var(--st) 85%,var(--txt)); background:color-mix(in srgb,var(--st) 14%,var(--card)); white-space:nowrap; }
button.bzp-statut{ cursor:pointer; }
button.bzp-statut:hover{ background:color-mix(in srgb,var(--st) 24%,var(--card)); }
.bzp-histo{ display:flex; flex-direction:column; gap:var(--sp-10); }
.bzp-histo-t{ display:flex; align-items:center; justify-content:space-between; font-size:var(--fs-sm); font-weight:var(--fw-strong); }
.bzp-histo-l{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.bzp-histo-l li{ display:grid; grid-template-columns:auto 1fr; align-items:center; gap:var(--sp-2) var(--sp-10); padding:var(--sp-8) 0; }
.bzp-histo-l li + li{ border-top:.5px solid var(--line); }
.bzp-histo-l small{ font-size:var(--fs-xs); color:var(--mut); }
.bzp-histo-l p{ grid-column:1 / -1; margin:0; font-size:var(--fs-sm); color:var(--txt); }
.bzp-histo-vide{ margin:0; font-size:var(--fs-xs); color:var(--mut); }
/* B4 : la numérotation, dans Fichier › Paramètres › Devis. */
.biz-reg-aide{ display:block; font-size:var(--fs-xs); color:var(--mut); }
.biz-num{ display:flex; flex-direction:column; gap:var(--sp-8); margin-top:var(--sp-8); }
.biz-num-g{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--sp-8); }
.biz-num-ch{ display:flex; flex-direction:column; gap:var(--sp-4); font-size:var(--fs-xs); color:var(--mut); min-width:0; }
.biz-num-ch input, .biz-num-ch select{ width:100%; }
.biz-num-apercu{ margin:0; font-size:var(--fs-sm); color:var(--mut); }
.biz-num-apercu b{ color:var(--txt); font-family:var(--font-mono); }
@media (max-width:700px){ .biz-num-g{ grid-template-columns:1fr 1fr; } }

/* V3 à V5 : Stockage, Livraison, Production (26l, 26n, 26m), sur la DA de l'Offre commerciale (bzo-*). */
.bzm{ display:flex; flex-direction:column; gap:var(--sp-14); }
.bzm-sp{ flex:1; }
.bzm-geste{ display:inline-flex; align-items:center; gap:var(--sp-6); white-space:nowrap; }
.bzo-chip em{ font-style:normal; margin-left:var(--sp-4); color:var(--mut2); font-variant-numeric:tabular-nums; }
.bzo-kpi.alerte b{ color:var(--warn); }
.bzm-liste{ display:flex; flex-direction:column; border:.5px solid var(--line); border-radius:var(--radius); background:var(--card); overflow:hidden; }
.bzm-ligne{ display:grid; grid-template-columns:minmax(0,1fr) 130px 130px 150px; align-items:center; gap:var(--sp-12); width:100%; padding:var(--sp-10) var(--sp-14);
  border:0; border-radius:0; background:none; color:var(--txt); font:inherit; text-align:left; cursor:pointer; }
.bzm-ligne + .bzm-ligne{ border-top:.5px solid var(--line); }
.bzm-ligne:hover{ background:var(--card2); }
.bzm-n{ display:flex; flex-direction:column; min-width:0; }
.bzm-n b{ font-weight:var(--fw-medium); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bzm-n small, .bzm-c{ font-size:var(--fs-xs); color:var(--mut); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bzm-q{ display:flex; align-items:baseline; justify-content:flex-end; gap:var(--sp-6); font-variant-numeric:tabular-nums; }
.bzm-q small{ color:var(--mut); font-size:var(--fs-xs); }
.bzm-ligne.negatif .bzm-q b, .bzm-quantite.negatif b{ color:var(--err); }
.bzm-alerte{ font-style:normal; font-size:var(--fs-2xs); font-weight:var(--fw-medium); padding:0 var(--sp-6); border-radius:var(--radius-pill); color:var(--warn); background:color-mix(in srgb,var(--warn) 14%,var(--card)); }
.bzm-ok{ font-style:normal; font-size:var(--fs-xs); color:var(--ok); }
.bzm-etat{ display:inline-flex; align-items:center; height:20px; padding:0 var(--sp-8); border-radius:var(--radius-pill); font-size:var(--fs-2xs); font-weight:var(--fw-medium);
  color:color-mix(in srgb,var(--st,var(--mut2)) 85%,var(--txt)); background:color-mix(in srgb,var(--st,var(--mut2)) 14%,var(--card)); white-space:nowrap; }
.liv-preparer, .p-planifie, .m-maintenance{ --st:var(--warn); } .liv-prete, .p-encours, .m-occupee{ --st:var(--info); } .liv-expediee{ --st:var(--accent); }
.liv-livree, .p-termine, .m-libre{ --st:var(--ok); } .liv-annulee, .p-annule{ --st:var(--mut2); }
.bzm-compte{ font-style:normal; font-weight:var(--fw-regular); margin-left:var(--sp-4); color:var(--mut2); }
.bzm-quantite{ display:flex; flex-direction:column; align-items:flex-start; gap:var(--sp-4); padding:var(--sp-14); border:.5px solid var(--line); border-radius:var(--radius); background:var(--card); }
.bzm-quantite > span:first-child{ font-size:var(--fs-xs); color:var(--mut); }
.bzm-quantite > b{ font-size:var(--fs-2xl, var(--fs-lg)); font-weight:var(--fw-strong); font-variant-numeric:tabular-nums; }
.bzm-quantite > small{ font-size:var(--fs-sm); color:var(--mut); }
.bzm-quantite.bas > b{ color:var(--warn); }
.bzm-quantite .bzd-dl{ width:100%; margin-top:var(--sp-8); }
.bzm-mvt{ display:flex; flex-direction:column; gap:var(--sp-8); padding:var(--sp-14); border:.5px solid var(--line); border-radius:var(--radius); background:var(--card); }
.bzm-mvt > b{ font-size:var(--fs-sm); font-weight:var(--fw-strong); }
.bzm-mvt-b{ display:flex; gap:var(--sp-6); }
.bzm-mvt-b button{ flex:1; justify-content:center; }
.bzm-mvts{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.bzm-mvts li{ display:grid; grid-template-columns:76px 70px minmax(0,1fr) auto 24px; align-items:center; gap:var(--sp-10); padding:var(--sp-8) 0; font-size:var(--fs-sm); }
.bzm-mvts li + li{ border-top:.5px solid var(--line); }
.bzm-sens{ font-size:var(--fs-xs); color:var(--mut); }
.bzm-mvts b{ font-variant-numeric:tabular-nums; text-align:end; }
.bzm-mvts .s-entree b{ color:var(--ok); } .bzm-mvts .s-sortie b{ color:var(--err); }
.bzm-motif{ display:flex; flex-direction:column; min-width:0; overflow:hidden; text-overflow:ellipsis; }
.bzm-lien{ font-size:var(--fs-2xs); color:var(--accent-texte); }
.bzm-mvts small{ font-size:var(--fs-xs); color:var(--mut); white-space:nowrap; }
.bzm-x{ display:grid; place-items:center; width:22px; height:22px; padding:0; border:0; border-radius:var(--radius-sm); background:none; color:var(--mut); cursor:pointer; }
.bzm-x:hover{ background:var(--outils-survol); color:var(--txt); }
.bzm-x svg{ width:12px; height:12px; }
.bzm-rien, .bzm-note{ margin:0; font-size:var(--fs-xs); color:var(--mut); }
.bzm-etapes{ display:flex; border:.5px solid var(--line); border-radius:var(--radius); background:var(--card); overflow:hidden; }
.bzm-etape{ flex:1; display:flex; align-items:center; justify-content:center; gap:var(--sp-8); height:36px; padding:0 var(--sp-10); border:0; border-radius:0; background:none; color:var(--mut); font:inherit; font-size:var(--fs-sm); cursor:pointer; }
.bzm-etape + .bzm-etape{ border-left:.5px solid var(--line); }
.bzm-etape span{ display:grid; place-items:center; width:18px; height:18px; border-radius:50%; font-size:var(--fs-2xs); background:var(--card2); color:var(--mut); }
.bzm-etape:hover{ background:var(--outils-survol); }
.bzm-etape.fait{ color:var(--txt); } .bzm-etape.fait span{ background:color-mix(in srgb,var(--ok) 20%,var(--card)); color:var(--ok); }
.bzm-etape.on{ color:var(--accent-texte); background:var(--outils-accent-doux); } .bzm-etape.on span{ background:var(--accent); color:var(--card); }
.bzm-liv-ls{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:var(--sp-6); }
.bzm-liv-l{ display:grid; grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr) 24px; gap:var(--sp-6); align-items:center; }
.bzm-liv-l input, .bzm-liv-l select{ width:100%; min-width:0; }
.bzm-machines{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:var(--sp-12); }
.bzm-machine{ display:grid; grid-template-columns:40px minmax(0,1fr); grid-template-rows:auto auto; align-items:center; gap:var(--sp-6) var(--sp-10); padding:var(--sp-14);
  border:.5px solid var(--line); border-radius:var(--radius); background:var(--card); color:var(--txt); font:inherit; text-align:left; cursor:pointer; }
.bzm-machine:hover{ border-color:var(--mut2); }
.bzm-machine-ic{ display:grid; place-items:center; width:40px; height:40px; border-radius:var(--radius-sm); background:var(--card2); color:var(--accent); }
.bzm-machine .bzm-machine-ic{ grid-row:span 2; }
.bzm-machine-ic svg{ width:16px; height:16px; }
.bzm-machine .bzm-etat{ justify-self:start; }
.bzm-machine-o{ grid-column:1 / -1; font-size:var(--fs-xs); color:var(--mut); }
.bzm-3d.eteint{ opacity:.6; }
.bzm-3d-b{ display:flex; align-items:center; gap:var(--sp-10); flex-wrap:wrap; }
@media (max-width:900px){ .bzm-ligne{ grid-template-columns:minmax(0,1fr) 120px; } .bzm-ligne .bzm-c{ display:none; } .bzm-mvts li{ grid-template-columns:64px 60px minmax(0,1fr) 24px; } .bzm-mvts li small{ display:none; } }
/* V6 : le Portail client (26o-business-portail.js). */
.port-actif{ --st:var(--ok); } .port-expire{ --st:var(--warn); } .port-revoque{ --st:var(--mut2); }
.bzo-port{ overflow:visible; }
.bzo-port-l + .bzo-port-l{ border-top:.5px solid var(--line); }
.bzo-port-l.ouvert{ background:color-mix(in srgb,var(--card2) 50%,var(--card)); }
.bzo-port-tete{ border-top:0; }
.bzo-port-url{ display:flex; align-items:center; gap:var(--sp-6); padding:0 var(--sp-14) var(--sp-10); }
.bzo-port-url input{ flex:1; min-width:0; font-size:var(--fs-xs); background:var(--card); }
.bzo-port-url .mini{ display:inline-flex; align-items:center; gap:var(--sp-4); white-space:nowrap; }
.bzo-port-detail{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--sp-14); padding:var(--sp-4) var(--sp-14) var(--sp-14); }
.bzo-port-detail h4{ margin:0 0 var(--sp-6); font-size:var(--fs-xs); font-weight:var(--fw-strong); letter-spacing:.04em; text-transform:uppercase; color:var(--mut); }
.bzo-port-creer-t{ display:flex; align-items:center; justify-content:space-between; }
.bzo-port-docs{ display:flex; flex-direction:column; border:.5px solid var(--line); border-radius:var(--radius-sm); }
.bzo-port-doc{ display:flex; align-items:center; gap:var(--sp-10); padding:var(--sp-8) var(--sp-10); color:var(--txt); cursor:pointer; }
.bzo-port-doc + .bzo-port-doc{ border-top:.5px solid var(--line); }
.bzo-port-doc-ic svg{ width:16px; height:16px; color:var(--mut); }
@media (max-width:900px){ .bzo-port-detail{ grid-template-columns:1fr; } }
/* B5 : le calendrier de h12s dans les fiches de l'app ; sa valeur ne tient pas sur une ligne étroite : la colonne ne doit pas
   grandir avec elle (minmax(0,…)), et le déclencheur prend la hauteur et le corps des champs voisins. */
.biz-meta--compact{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.biz .h12s-date{ min-height:0; height:32px; padding:0 var(--sp-10); font-size:var(--fs-md); border-radius:var(--radius-sm); }
@media (min-width:761px){ .biz-devis-split{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); } }
.bzo .bzo-port-doc input{ width:auto; flex:none; margin:0; }
.bzo-port-doc .bzm-n{ flex:1; }
/* D : les ventes en ligne des créations (APM), sous les propositions. */
.bzp-apm{ display:flex; align-items:center; gap:var(--sp-6); height:30px; padding:0 var(--sp-10); border:.5px solid var(--line); border-radius:var(--radius-sm); background:var(--card); color:var(--txt); font:inherit; font-size:var(--fs-sm); cursor:pointer; }
.bzp-apm:hover{ background:var(--outils-survol); }
.bzp-apm svg{ width:14px; height:14px; color:var(--accent); }
.bzp-apm em{ margin-left:auto; font-style:normal; font-size:var(--fs-2xs); color:var(--mut); }
.bzm-apm{ cursor:default; }
.bzm-q small{ text-transform:none; }
/* I (le proprio, 2026-10-28 : « uniformiser toute l'app Entreprise avec la DA commune, pas de DA indépendante ») : les blocs
   d'avant (Client, Documents, étapes des devis) prennent le cadre et le titre des écrans neufs (bzo-bloc, bzd-carte) : filet de
   0,5 px, même rayon, titre en casse de phrase, plus de barre d'accent ni de liseré coloré. */
.biz-block, .biz-block--pricing{ border:.5px solid var(--line); border-radius:var(--radius); padding:var(--sp-14); }
.biz-block-t{ margin:0 0 var(--sp-12); font-size:var(--fs-sm); font-weight:var(--fw-strong); letter-spacing:0; text-transform:none; color:var(--txt); }
.biz-block-t::before{ content:none; }
.biz-block--pricing{ padding:0; }
.biz-head{ align-items:center; margin-bottom:var(--sp-14); }
