

.docv2{
  
  --dgs-vert:#0E7A3D; --dgs-vert-hover:#0A6332;
  --dgs-highlight:#E8F5EE; --dgs-survol:#F0FAF4;
  
  --dgs-fond:#F7F9F8; --dgs-surface:#FFFFFF; --dgs-muted:#F9FAFB;
  --dgs-bordure:#E5E7EB; --dgs-bordure-forte:#D5DAE0;
  --dgs-texte:#1F2937; --dgs-texte-2:#6B7280; --dgs-texte-3:#9CA3AF;
  
  --f-succes:#D4F4E2;  --t-succes:#2E7D5B;
  --f-attente:#DCE7F1; --t-attente:#5B8DBF;
  --f-teal:#D0EEEA;    --t-teal:#3A8C82;
  --f-alerte:#FCDADA;  --t-alerte:#CC4646;
  --f-terre:#F5E6D8;   --t-terre:#B75218;
  --f-bronze:#EBD9C2;  --t-bronze:#8C5A28;
  --f-neutre:#E5E7EB;  --t-neutre:#374151;
  --dv-font:Manrope,"Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;
  --r-sm:9px; --r-md:11px; --r-lg:14px;
  --sh-sm:0 1px 2px rgba(16,40,28,.05);
  --sh-lg:0 10px 30px rgba(16,40,28,.12);

  font-family:var(--dv-font);
  color:var(--dgs-texte);
}
.docv2 *{box-sizing:border-box}
.docv2 :focus-visible{outline:2px solid var(--dgs-vert);outline-offset:1px}
.docv2 .num,.docv2 .crud-num{font-variant-numeric:tabular-nums}


.docv2 .doc-page{max-width:1600px;margin:0 auto;padding:0}


.docv2 .doc-header{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;
  margin:0 0 10px;padding:8px 16px;background:var(--dgs-surface);
  border:1px solid var(--dgs-bordure);border-left:4px solid var(--dgs-vert);
  border-radius:var(--r-lg);box-shadow:var(--sh-sm);
}
.docv2 .doc-header-main{display:flex;flex-direction:column;gap:0;min-width:0;flex:1 1 auto}
.docv2 .doc-eyebrow{
  font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--dgs-vert);
}

.docv2 .doc-title-row{display:flex;align-items:center;gap:8px 10px;flex-wrap:wrap;min-width:0}
.docv2 .doc-title{font-size:18px;font-weight:600;letter-spacing:-.01em;color:var(--dgs-texte);margin:0}
.docv2 .doc-subtitle{display:none}

.docv2 .doc-title-row .trac-ligne{margin-top:0;font-size:11px;color:var(--dgs-texte-3)}


.docv2 .doc-badge-etat{
  display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;
  padding:4px 12px;border-radius:var(--r-14);line-height:1;
}
.docv2 .doc-badge-etat--draft{background:var(--f-terre);color:var(--t-terre)}
.docv2 .doc-badge-etat--draft .doc-dot{width:8px;height:8px;border-radius:50%;background:currentColor}
.docv2 .doc-badge-etat--valid{background:var(--f-succes);color:var(--t-succes)}

.docv2 .doc-header-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}



.docv2 .btn-filtres,
.docv2 .doc-header-actions .btn-filtres{
  display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;
  border:1px solid var(--dgs-bordure);background:var(--dgs-surface);color:var(--dgs-texte-2);
  border-radius:var(--r-sm);font-size:13px;font-weight:500;cursor:pointer;box-shadow:none;
  transition:background .12s,color .12s,border-color .12s;
}
.docv2 .btn-filtres:hover:not(:disabled){background:var(--dgs-survol);border-color:#C9E7D6;color:var(--dgs-vert)}
.docv2 .btn-filtres:disabled{opacity:.55;cursor:not-allowed}

.docv2 .btn-nouveau{
  display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;
  background:var(--dgs-vert);border:1px solid var(--dgs-vert);color:#fff;
  border-radius:var(--r-sm);font-size:13px;font-weight:500;cursor:pointer;box-shadow:none;
  transition:background .12s,border-color .12s;
}
.docv2 .btn-nouveau:hover:not(:disabled){background:var(--dgs-vert-hover);border-color:var(--dgs-vert-hover);color:#fff}
.docv2 .btn-nouveau:disabled{opacity:.5;cursor:not-allowed}


.docv2 .btn-ghostv2{
  background:var(--dgs-highlight);border-color:#C9E7D6;color:var(--dgs-vert);
}
.docv2 .btn-ghostv2:hover:not(:disabled){background:#DCF0E5;color:var(--dgs-vert-hover)}


.docv2 .btn.btn-secondary{
  background:var(--dgs-surface);border:1px solid var(--dgs-bordure);color:var(--dgs-texte-2);
  border-radius:var(--r-sm);font-weight:500;
}
.docv2 .btn.btn-secondary:hover{background:var(--dgs-survol);border-color:#C9E7D6;color:var(--dgs-vert)}



.docv2 .doc-cards-row.fpro-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:10px;align-items:stretch;
}

.docv2 .doc-cards-row.fpro-grid.doc-cards-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:1200px){.docv2 .doc-cards-row.fpro-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.docv2 .doc-cards-row.fpro-grid{grid-template-columns:1fr}}


.docv2 .doc-card.fpro-bloc{
  background:var(--dgs-surface);border:1px solid var(--dgs-bordure);
  border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;
  box-shadow:var(--sh-sm);padding:0;
}

.docv2 .doc-card .doc-card__head{
  display:flex;align-items:center;gap:7px;
  padding:7px 13px;margin:0;font-size:12px;font-weight:500;text-transform:none;letter-spacing:0;
  border-bottom:1px solid var(--dgs-bordure);
}
.docv2 .doc-card .doc-card__icon{
  width:16px;height:16px;padding:0;background:none!important;border-radius:0;flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;color:inherit;
}
.docv2 .doc-card .doc-card__icon svg{width:14px;height:14px}
.docv2 .doc-card .doc-card__title{font-size:12px;font-weight:500;letter-spacing:0;text-transform:none;color:inherit}

.docv2 .doc-card > .fpro-field,
.docv2 .doc-card > .fpro-2col,
.docv2 .doc-card > .fpro-coords,
.docv2 .doc-card > .fpro-kv,
.docv2 .doc-card > .fpro-note,
.docv2 .doc-card > .doc-logfiles{margin-left:13px;margin-right:13px}

.docv2 .doc-card > *:not(.doc-card__head){margin-top:8px;margin-bottom:0}
.docv2 .doc-card > *:last-child{margin-bottom:9px}


.docv2 .doc-card--partenaire-client{border-top:3px solid var(--t-attente)}
.docv2 .doc-card--partenaire-client .doc-card__head{color:var(--t-attente);background:var(--f-attente)}

.docv2 .doc-card.fpro-bloc.doc-card--partenaire{border-top:3px solid var(--t-attente)}
.docv2 .doc-card.fpro-bloc.doc-card--partenaire .doc-card__head{color:var(--t-attente);background:var(--f-attente)}
.docv2 .doc-card--document{border-top:3px solid var(--t-neutre)}
.docv2 .doc-card--document .doc-card__head{color:var(--t-neutre);background:var(--f-neutre)}
.docv2 .doc-card--logistique{border-top:3px solid var(--t-teal)}
.docv2 .doc-card--logistique .doc-card__head{color:var(--t-teal);background:var(--f-teal)}
.docv2 .doc-card--totaux{border-top:3px solid var(--dgs-vert)}
.docv2 .doc-card--totaux .doc-card__head{color:var(--t-succes);background:var(--f-succes)}


.docv2 .fpro-field,.docv2 .fpro-2col > div{display:flex;flex-direction:column;gap:3px}
.docv2 .fpro-2col{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.docv2 .doc-card label,
.docv2 .fpro-field label,
.docv2 .fpro-2col label,
.docv2 .doc-mini-lbl{
  font-size:11px;color:var(--dgs-texte-2);font-weight:500;margin:0;text-transform:none;letter-spacing:0;
}
.docv2 .doc-lbl-note{color:var(--dgs-texte-3);font-weight:400;font-size:10.5px}


.docv2 .form-control,
.docv2 .form-select{
  height:31px;padding:0 9px;border-radius:var(--r-sm);
  border:1px solid var(--dgs-bordure);background:var(--dgs-surface);color:var(--dgs-texte);
  font-size:13px;width:100%;box-shadow:none;line-height:1.2;
  transition:border-color .12s,box-shadow .12s;
}
.docv2 .form-select{padding-right:26px}
.docv2 .form-control:focus,
.docv2 .form-select:focus{
  border-color:var(--dgs-vert);box-shadow:0 0 0 3px rgba(14,122,61,.12);outline:none;
}
.docv2 .form-control::placeholder{color:var(--dgs-texte-3)}
.docv2 .form-control:disabled,
.docv2 .form-select:disabled,
.docv2 .doc-mono-input:disabled{background:var(--dgs-muted);color:var(--dgs-texte-3);opacity:1}
.docv2 .crud-num{text-align:right}


.docv2 .fpro-coords{
  background:var(--dgs-muted);border-radius:var(--r-md);padding:7px 10px;
  font-size:11.5px;color:var(--dgs-texte-2);line-height:1.45;border-left:3px solid var(--t-attente);
  display:block;
}
.docv2 .fpro-coords > div{display:block;margin:0}
.docv2 .fpro-coords-k{color:var(--dgs-texte);font-weight:500;margin-right:4px}
.docv2 .fpro-coords-v{color:var(--dgs-texte-2)}


.docv2 .doc-logfiles{
  background:var(--dgs-survol);border-radius:var(--r-md);border:1px dashed #BFE3CE;
  padding:7px 10px;font-size:12px;
}
.docv2 .doc-logfiles .doc-vide-note{color:var(--dgs-texte-2);font-size:11px;margin:0}

.docv2 .doc-logfiles :is(.form-control,.form-control-sm,input[type=file]){height:auto;font-size:11.5px}
.docv2 .doc-logfiles .fj-liste,.docv2 .doc-logfiles ul{margin:0}


.docv2 .doc-card--totaux .doc-tot-body{
  display:flex;flex-direction:column;flex:1;margin:11px 13px;
}
.docv2 .doc-card--totaux .doc-tot-rows{margin-top:auto}
.docv2 .tot-row{
  display:flex;justify-content:space-between;align-items:center;font-size:13px;
  padding:5px 0;border-bottom:1px dashed var(--dgs-bordure);
}
.docv2 .tot-row span:first-child{color:var(--dgs-texte-2)}
.docv2 .tot-row span:last-child{font-variant-numeric:tabular-nums;color:var(--dgs-texte)}
.docv2 .tot-row.tot-nb{border-bottom:none}
.docv2 .tot-row .tot-red{color:var(--t-alerte)}
.docv2 .tot-ttc{
  display:flex;justify-content:space-between;align-items:baseline;margin-top:8px;
  padding:10px 12px;border-radius:var(--r-md);background:var(--dgs-vert);color:#fff;
}
.docv2 .tot-ttc span:first-child{font-size:12px;font-weight:500;opacity:.85}
.docv2 .tot-ttc span:last-child{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}
.docv2 .tot-marge{
  display:flex;justify-content:space-between;align-items:baseline;margin-top:8px;
  padding:8px 12px;border-radius:var(--r-md);border:1px solid var(--dgs-bordure);
  font-size:13px;background:var(--dgs-muted);
}
.docv2 .tot-marge span:first-child{color:var(--dgs-texte-2);font-weight:500}
.docv2 .tot-marge .marge-pos{color:var(--t-succes);font-weight:600;font-variant-numeric:tabular-nums}
.docv2 .tot-marge .marge-neg{color:var(--t-alerte);font-weight:600;font-variant-numeric:tabular-nums}
.docv2 .tot-note{font-size:10.5px;color:var(--dgs-texte-3);margin-top:6px}
.docv2 .doc-tot-regle{
  display:flex;justify-content:space-between;gap:10px;margin-top:8px;padding-top:8px;
  border-top:1px solid var(--dgs-bordure);font-size:12.5px;
}
.docv2 .doc-tot-regle .lbl{color:var(--dgs-texte-2)}
.docv2 .doc-tot-regle .v{font-variant-numeric:tabular-nums;font-weight:500}
.docv2 .doc-tot-regle .doc-red{color:var(--t-alerte)}
.docv2 .doc-tot-regle .doc-green{color:var(--t-succes)}


.docv2 .doc-prod-card.crud-table-card{
  background:var(--dgs-surface);border:1px solid var(--dgs-bordure);border-left:3px solid var(--dgs-vert);
  border-radius:var(--r-lg);box-shadow:var(--sh-sm);overflow:visible;
}
.docv2 .doc-prod-head{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:9px 13px;font-size:12px;font-weight:500;color:var(--dgs-vert);
  background:var(--dgs-highlight);border-bottom:1px solid var(--dgs-bordure);
  border-radius:var(--r-lg) var(--r-lg) 0 0;
}
.docv2 .doc-prod-head .left{display:flex;align-items:center;gap:7px}
.docv2 .doc-prod-head .left svg{width:14px;height:14px}
.docv2 .doc-count{
  background:var(--dgs-vert);color:#fff;font-size:11px;font-weight:500;
  padding:1px 8px;border-radius:var(--r-10);min-width:22px;text-align:center;
}
.docv2 .doc-prod-head .nb-art{color:var(--dgs-texte-2);font-weight:400}
.docv2 .doc-prod-inner{padding:12px 13px}


.docv2 .doc-saisie.doc-bande{
  background:var(--dgs-muted);border:1px solid var(--dgs-bordure);border-left:3px solid var(--dgs-vert);
  border-radius:var(--r-md);padding:11px 12px;margin-bottom:10px;
  display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;
}

.docv2 .doc-saisie .pp-wrap .form-control{height:34px}
.docv2 .pp-panel{
  border:1px solid var(--dgs-bordure);border-radius:var(--r-md);box-shadow:var(--sh-lg);
  background:var(--dgs-surface);
}
.docv2 .pp-table thead th{
  background:var(--dgs-muted);font-size:11px;text-transform:uppercase;letter-spacing:.02em;
  color:var(--dgs-texte-2);font-weight:500;
}
.docv2 .pp-table tbody tr:hover{background:var(--dgs-survol)}


.docv2 .pp-panel-docv2{padding:0;max-height:300px;overflow-y:auto}
.docv2 .pp-panel-docv2 .pp-vide{padding:16px;text-align:center;color:var(--dgs-texte-3);font-size:12.5px}
.docv2 .pp-item{
  display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;
  font-size:12px;cursor:pointer;border-left:3px solid transparent;
  border-bottom:1px solid var(--dgs-bordure);
}
.docv2 .pp-item:last-child{border-bottom:none}
.docv2 .pp-item:hover{background:var(--dgs-survol);border-left-color:var(--dgs-vert)}
.docv2 .pp-item-main{min-width:0}
.docv2 .pp-item-nom{font-weight:500;color:var(--dgs-texte)}
.docv2 .pp-item-ref{font-size:11px;color:var(--dgs-texte-3);margin-top:2px;letter-spacing:.02em}
.docv2 .pp-item-right{display:flex;align-items:center;gap:10px;white-space:nowrap}
.docv2 .pp-item-prix{color:var(--dgs-texte-2);font-variant-numeric:tabular-nums}

.docv2 .chip-stock{
  display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:var(--r-10);
  font-size:11px;font-weight:500;
}
.docv2 .chip-stock::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.docv2 .chip-stock.s-ok{background:var(--f-succes);color:var(--t-succes)}
.docv2 .chip-stock.s-bas{background:var(--f-bronze);color:var(--t-bronze)}
.docv2 .chip-stock.s-vide{background:var(--f-alerte);color:var(--t-alerte)}


.docv2 .cp-panel{
  background:var(--dgs-surface);border:1px solid var(--dgs-bordure);border-radius:var(--r-md);
  box-shadow:var(--sh-lg);
}
.docv2 .cp-vide{padding:12px;text-align:center;color:var(--dgs-texte-3);font-size:12.5px}
.docv2 .cp-item{
  padding:8px 11px;cursor:pointer;border-left:3px solid transparent;
  border-bottom:1px solid var(--dgs-bordure);
}
.docv2 .cp-item:last-child{border-bottom:none}
.docv2 .cp-item:hover,.docv2 .cp-item.cp-active{background:var(--dgs-survol);border-left-color:var(--dgs-vert)}
.docv2 .cp-item-nom{font-weight:500;color:var(--dgs-texte);font-size:13px}
.docv2 .cp-item-sub{font-size:11px;color:var(--dgs-texte-3);margin-top:2px;letter-spacing:.02em}

.docv2 .cp-selected{
  display:flex;align-items:center;gap:8px;height:31px;padding:0 6px 0 10px;
  border:1px solid var(--dgs-bordure);border-radius:var(--r-sm);background:var(--dgs-surface);
}
.docv2 .cp-selected-nom{
  flex:1;min-width:0;font-size:13px;font-weight:500;color:var(--dgs-texte);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.docv2 .cp-clear{
  width:24px;height:24px;border:none;background:transparent;color:var(--dgs-texte-3);
  border-radius:var(--r-6);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
}
.docv2 .cp-clear:hover{background:var(--f-alerte);color:var(--t-alerte)}
.docv2 .cp-ro{font-size:13px;font-weight:500;color:var(--dgs-texte);padding:6px 0}


.docv2 .doc-toast{
  position:fixed;top:74px;right:18px;z-index:1000;max-width:360px;
  display:flex;align-items:center;gap:8px;padding:11px 16px;border-radius:var(--r-md);
  background:var(--dgs-texte);color:#fff;font-size:13px;font-weight:500;
  box-shadow:var(--sh-lg);border-left:3px solid var(--dgs-vert);
  animation:docToastIn .28s ease-out;
}
.docv2 .doc-toast svg{color:#7BE0A6;flex-shrink:0}
@keyframes docToastIn{from{transform:translateY(-14px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.docv2 .doc-toast{animation:none}}


.docv2 .doc-attente{
  margin:0 0 10px;padding:9px 13px;border-radius:var(--r-md);
  background:var(--f-neutre);color:var(--t-neutre);font-size:12.5px;font-weight:500;
  border:1px solid var(--dgs-bordure-forte);
  display:flex;align-items:center;gap:9px;
}
.docv2 .doc-attente-rouet{
  width:13px;height:13px;flex-shrink:0;border-radius:50%;
  border:2px solid var(--dgs-texte-3);border-top-color:var(--t-neutre);
  animation:docAttenteTourne .8s linear infinite;
}
@keyframes docAttenteTourne{to{transform:rotate(360deg)}}

@media(prefers-reduced-motion:reduce){.docv2 .doc-attente-rouet{animation:none}}


.docv2 .imp-bloc{margin:0 0 12px;padding:10px 13px;border-radius:var(--r-md);border:1px solid transparent}
.docv2 .imp-refus{background:var(--f-alerte);border-color:#E6C3C3}
.docv2 .imp-avert{background:var(--f-bronze);border-color:#E0C9A8}
.docv2 .imp-info {background:var(--f-neutre);border-color:var(--dgs-bordure-forte)}
.docv2 .imp-bloc-titre{font-size:13px;font-weight:700;margin-bottom:8px}
.docv2 .imp-refus .imp-bloc-titre{color:var(--t-alerte)}
.docv2 .imp-avert .imp-bloc-titre{color:var(--t-bronze)}
.docv2 .imp-info  .imp-bloc-titre{color:var(--t-neutre)}

.docv2 .imp-groupe{padding:7px 0;border-top:1px solid rgba(0,0,0,.06)}
.docv2 .imp-groupe:first-of-type{border-top:none}
.docv2 .imp-groupe-tete{display:flex;gap:9px;align-items:baseline;flex-wrap:wrap}

.docv2 .imp-groupe-nb{font-weight:700;font-variant-numeric:tabular-nums;min-width:3.2em;text-align:right}
.docv2 .imp-groupe-quoi{font-size:12.5px;font-weight:600}
.docv2 .imp-groupe-ou{font-size:12px;color:var(--dgs-texte-2);font-variant-numeric:tabular-nums}
.docv2 .imp-groupe-faire{font-size:12.5px;color:var(--dgs-texte);margin-top:3px;padding-left:4.2em}
.docv2 .imp-groupe-exemples{display:flex;flex-direction:column;gap:2px;margin-top:5px;padding-left:4.2em}

.docv2 .imp-exemple{font-size:11.5px;color:var(--dgs-texte-2);font-variant-numeric:tabular-nums}

@media(max-width:768px){
  .docv2 .imp-groupe-faire,.docv2 .imp-groupe-exemples{padding-left:0}
  .docv2 .imp-groupe-nb{min-width:0;text-align:left}
}


.docv2 .doc-alerte-prixmin{
  margin:0 0 10px;padding:8px 12px;border-radius:var(--r-md);
  background:var(--f-bronze);color:var(--t-bronze);font-size:12.5px;font-weight:500;
  border:1px solid #E0C9A8;
}
.docv2 .doc-cell-prixmin{background:var(--f-bronze);color:var(--t-bronze);border-radius:var(--r-6)}


.docv2 .doc-prod-card .crud-list{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}
.docv2 .doc-prod-card .crud-list thead th{
  background:var(--dgs-muted);font-size:11px;font-weight:500;color:var(--dgs-texte-2);
  letter-spacing:.02em;text-transform:uppercase;padding:9px 10px;white-space:nowrap;
  border-bottom:1px solid var(--dgs-bordure-forte);box-shadow:none;
}
.docv2 .doc-prod-card .crud-list thead th.crud-num{text-align:right}
.docv2 .doc-prod-card .crud-list tbody td{
  padding:0 10px;height:44px;border-bottom:1px solid var(--dgs-bordure);vertical-align:middle;
  background:var(--dgs-surface);transition:background .1s;color:var(--dgs-texte);
}
.docv2 .doc-prod-card .crud-list tbody tr:hover td{background:var(--dgs-survol)}
.docv2 .doc-prod-card .crud-list tbody tr:focus-within td{background:var(--dgs-highlight)}
.docv2 .doc-prod-card .crud-list tbody tr.doc-ligne-edit td{background:var(--dgs-highlight)}
.docv2 .doc-prod-card .crud-list tbody tr:last-child td{border-bottom:none}
.docv2 .doc-prod-card .crud-list td.doc-rank{
  padding-left:12px;border-left:3px solid transparent;color:var(--dgs-texte-3);
  font-size:11px;font-variant-numeric:tabular-nums;text-align:left;
}
.docv2 .doc-prod-card .crud-list tbody tr:hover td.doc-rank,
.docv2 .doc-prod-card .crud-list tbody tr:focus-within td.doc-rank,
.docv2 .doc-prod-card .crud-list tbody tr.doc-ligne-edit td.doc-rank{border-left-color:var(--dgs-vert)}
.docv2 .doc-prod-card .crud-list .cell-mono{font-variant-numeric:tabular-nums}
.docv2 .doc-prod-card .crud-list .doc-kv-slate{color:var(--dgs-texte-3)}
.docv2 .doc-prod-card .crud-list .doc-kv-marge-pos{color:var(--t-succes);font-weight:600}
.docv2 .doc-prod-card .crud-list .doc-kv-marge-neg{color:var(--t-alerte);font-weight:600}


.docv2 .doc-prod-card .crud-list .form-control,
.docv2 .doc-prod-card .crud-list .form-select{
  height:32px;border:1px solid var(--dgs-bordure);background:var(--dgs-surface);
  border-radius:var(--r-sm);padding:0 8px;font-size:13px;
}
.docv2 .doc-prod-card .crud-list .form-control:focus,
.docv2 .doc-prod-card .crud-list .form-select:focus{
  border-color:var(--dgs-vert);box-shadow:0 0 0 3px rgba(14,122,61,.12);
}


.docv2 .doc-prod-card .crud-list td .tva-chip,
.docv2 .doc-prod-card .crud-list td .chip{
  display:inline-block;padding:2px 7px;border-radius:var(--r-10);font-size:11px;font-weight:500;
  background:var(--dgs-highlight);color:var(--dgs-vert);white-space:nowrap;
}


.docv2 .doc-prod-card .crud-list .icon-btn{
  width:28px;height:28px;border:none;background:transparent;border-radius:var(--r-sm);
  color:var(--dgs-texte-3);
}
.docv2 .doc-prod-card .crud-list .icon-btn-edit:hover{background:var(--dgs-highlight);color:var(--dgs-vert)}
.docv2 .doc-prod-card .crud-list .icon-btn-delete:hover{background:var(--f-alerte);color:var(--t-alerte)}


.docv2 .doc-prod-card .table-foot{
  background:var(--dgs-muted);border-top:1px solid var(--dgs-bordure-forte);
  padding:10px 13px;font-size:12.5px;color:var(--dgs-texte-2);font-variant-numeric:tabular-nums;
  border-radius:0 0 var(--r-lg) var(--r-lg);
}
.docv2 .doc-prod-card .table-foot strong{color:var(--dgs-vert)}


.docv2 .doc-lignes-v2 tbody td{padding:0 4px;height:44px}
.docv2 .doc-lignes-v2 tbody td.doc-rank{padding-left:12px}
.docv2 .doc-lignes-v2 thead th{padding:9px 8px}
.docv2 .doc-lignes-v2 thead th.doc-th-c{text-align:center}
.docv2 .doc-lignes-v2 td.doc-td-c{text-align:center}
.docv2 .doc-lignes-v2 td.doc-td-act{text-align:center;padding:0 6px}


.docv2 .doc-lignes-v2 .doc-desig-wrap{display:flex;flex-direction:column;min-width:190px}
.docv2 .doc-lignes-v2 .doc-ligne-ref{font-size:10.5px;color:var(--dgs-texte-3);letter-spacing:.04em;padding-left:9px;margin-top:-2px}
.docv2 .doc-lignes-v2 .cell-ro.desig{font-weight:500;padding:0 8px}


.docv2 .doc-lignes-v2 .cell{
  width:100%;height:32px;border:1px solid transparent;background:transparent;
  border-radius:var(--r-sm);padding:0 8px;color:var(--dgs-texte);font-size:13px;outline:none;
  transition:border-color .12s,background .12s,box-shadow .12s;
}
.docv2 .doc-lignes-v2 .cell:hover{border-color:var(--dgs-bordure-forte);background:var(--dgs-surface)}
.docv2 .doc-lignes-v2 .cell:focus{border-color:var(--dgs-vert);background:var(--dgs-surface);box-shadow:0 0 0 3px rgba(14,122,61,.12)}
.docv2 .doc-lignes-v2 .cell.num{text-align:right;font-variant-numeric:tabular-nums}
.docv2 .doc-lignes-v2 .cell.desig{font-weight:500}
.docv2 .doc-lignes-v2 select.cell{cursor:pointer;padding:0 4px;text-align:center;text-align-last:center}


.docv2 .doc-lignes-v2 .doc-qte-wrap{display:flex;gap:3px;align-items:center}
.docv2 .doc-lignes-v2 .doc-qte-wrap .cell.num{flex:1 1 auto;min-width:0}
.docv2 .doc-lignes-v2 select.cell.sel-unite{flex:0 0 auto;width:56px;font-size:11.5px;color:var(--dgs-texte-2)}

.docv2 .doc-lignes-v2 .calc .unite-ro{font-size:11px;color:var(--dgs-texte-3);margin-left:2px}


.docv2 .doc-lignes-v2 .calc{padding:0 8px;text-align:right;font-variant-numeric:tabular-nums;color:var(--dgs-texte-2)}
.docv2 .doc-lignes-v2 .calc-strong{padding:0 8px;text-align:right;font-variant-numeric:tabular-nums;font-weight:600;color:var(--dgs-vert)}
.docv2 .doc-lignes-v2 .calc.doc-kv-slate{color:var(--dgs-texte-3);font-weight:400}
.docv2 .doc-lignes-v2 .calc-strong.doc-kv-marge-pos{color:var(--t-succes)}
.docv2 .doc-lignes-v2 .calc-strong.doc-kv-marge-neg{color:var(--t-alerte)}
.docv2 .doc-lignes-v2 .rem-ro{color:var(--dgs-texte-2);font-size:12px}


.docv2 .doc-lignes-v2 .calc.doc-cell-prixmin{background:var(--f-bronze);color:var(--t-bronze);border-radius:var(--r-6)}


.docv2 .doc-lignes-v2 .row-actions{display:flex;justify-content:center;gap:2px;opacity:0;transition:opacity .12s}
.docv2 .doc-lignes-v2 tbody tr:hover .row-actions,
.docv2 .doc-lignes-v2 tbody tr:focus-within .row-actions{opacity:1}
.docv2 .doc-lignes-v2 .row-actions .icon-btn{width:27px;height:27px}


.docv2 .doc-lignes-v2 tfoot td{
  position:sticky;bottom:0;background:var(--dgs-muted);
  border-top:1px solid var(--dgs-bordure-forte);height:42px;padding:0 8px;
  font-variant-numeric:tabular-nums;font-size:13px;
}
.docv2 .doc-lignes-v2 tfoot .doc-foot-lbl{
  font-size:11px;font-weight:500;color:var(--dgs-texte-2);text-transform:uppercase;
  letter-spacing:.02em;padding-left:12px;
}
.docv2 .doc-lignes-v2 tfoot .doc-foot-sum{text-align:right;font-weight:500;color:var(--dgs-texte)}
.docv2 .doc-lignes-v2 tfoot .doc-foot-ttc{font-weight:600;color:var(--dgs-vert)}
.docv2 .doc-lignes-v2 tfoot .doc-foot-sum.doc-kv-marge-pos{color:var(--t-succes)}
.docv2 .doc-lignes-v2 tfoot .doc-foot-sum.doc-kv-marge-neg{color:var(--t-alerte)}


.docv2 .alert-success{
  background:var(--f-succes);border:1px solid #B9E7CC;color:var(--t-succes);
  border-radius:var(--r-md);
}
.docv2 .alert-danger{
  background:var(--f-alerte);border:1px solid #F1C2C2;color:var(--t-alerte);
  border-radius:var(--r-md);
}


.docv2 .trac-ligne{font-size:11.5px;color:var(--dgs-texte-3);margin-top:2px}
.docv2 .trac-ligne a{color:var(--dgs-vert)}


.docv2 .fpro-note{font-size:11.5px;color:var(--dgs-texte-2)}


@media(max-width:768px){
  .docv2 .doc-total-ttc span:last-child{color:var(--dgs-vert)}
  .docv2 .doc-total-row .doc-red{color:var(--t-alerte)}
  .docv2 .doc-total-row .doc-green{color:var(--t-succes)}
  .docv2 .doc-detail-toggle{
    border:1px solid var(--dgs-bordure);background:var(--dgs-muted);border-radius:var(--r-md);
    color:var(--dgs-texte-2);
  }
}




.docv2 .docf-section-resume,
.docv2 .docf-section-chev { display: none; }

@media (max-width: 768px) {

    .docv2 .docf-section-resume { display: block; }
    .docv2 .docf-section-chev { display: inline-flex; }

    
    .docv2 .doc-card .docf-tete { cursor: pointer; }

    
    .docv2 .doc-card.docf-repliee > *:not(.doc-card__head) { display: none; }
    .docv2 .doc-card.docf-repliee .docf-section-chev { transform: none; }
    .docv2 .doc-card .docf-section-chev { transform: rotate(90deg); }

    
    .docv2 .doc-card.docf-repliee { padding-bottom: 0; }

    
    .docv2 .doc-header-actions .docf-ecrit { display: none; }

    .docv2 .doc-header-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    
    
    .docv2 .doc-header-actions > * {
        max-width: 100%;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .docv2 .doc-header-actions > *:not(.docf-ecrit) {
        height: 44px;
        justify-content: center;
    }
}



@media (max-width: 768px) {

    
    .docv2 .doc-cards .crud-card-meta {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px 12px;
    }

    
    .docv2 .doc-cards .crud-card-meta-item.crud-num {
        margin-left: 0;
    }
}


@media (max-width: 768px) {
    .docv2 .doc-header-actions .docf-enfoui,
    .docv2 .doc-header-actions .docf-retour-bureau { display: none; }
}

@media (min-width: 769px) {
    .docf-mobile-opt { display: none; }
}






@media (max-width: 768px) {

    

    
    
    
    
    
    .docv2 .doc-header { display: contents; }
    .docv2 .doc-header-main { display: none; }

    .blv3-entete {
        padding: 10px 0 0;
    }

    
    .blv3-pastilles {
        display: flex;
        align-items: center;
        gap: 9px;
        margin-top: 9px;
        flex-wrap: wrap;
    }

    .blv3-eyebrow {
        font-size: 11px;                 
        font-weight: 700;
        letter-spacing: .14em;
        text-transform: uppercase;
        color: var(--slate);
    }

    .blv3-titre {
        margin: 3px 0 0;
        font-size: 26px;
        font-weight: 700;
        letter-spacing: -.035em;
        color: var(--ink);
    }

    .blv3-meta {
        font-size: 11.5px;
        color: var(--ink-soft);
        margin-top: 8px;
        line-height: 1.6;
    }

    
    .blv3-pastille {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        height: 23px;
        padding: 0 10px;
        border-radius: 999px;
        font-size: 11.5px;
        font-weight: 600;
        line-height: 1;
        flex: 0 0 auto;
    }

    .blv3-pastille-point {
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: currentColor;
    }

    .blv3-ok { background: var(--teal-soft); color: var(--green-dark); }
    
    .blv3-info { background: var(--indigo-soft); color: var(--indigo); }
    .blv3-attention { background: var(--amber-soft); color: var(--amber-dark); }
    .blv3-refus { background: var(--red-soft); color: var(--red-dark); }

    
    .blv3-montant {
        margin: 16px 0 0;
        padding: 14px 16px;
        border: 1px solid var(--line);
        border-radius: var(--r-12);
        background: var(--surface);
    }

    .blv3-montant-lbl {
        font-size: 11px;
        font-weight: 600;
        letter-spacing: .12em;
        text-transform: uppercase;
        color: var(--slate);
    }

    .blv3-montant-grand {
        font-size: 33px;
        font-weight: 700;
        letter-spacing: -.04em;
        line-height: 1.05;
        margin-top: 4px;
        color: var(--ink);
        font-variant-numeric: tabular-nums;
    }

    .blv3-montant-devise {
        font-size: 14px;
        font-weight: 600;
        color: var(--ink-soft);
        margin-left: 5px;
        letter-spacing: 0;
    }

    .blv3-pay {
        display: flex;
        gap: 10px;
        margin-top: 12px;
        padding-top: 12px;
        border-top: 1px solid var(--line);
    }

    .blv3-pay-col { flex: 1; min-width: 0; }

    .blv3-pay-k {
        font-size: 11px;
        font-weight: 600;
        letter-spacing: .06em;
        text-transform: uppercase;
        color: var(--slate);
    }

    .blv3-pay-v {
        font-size: 15px;
        font-weight: 700;
        letter-spacing: -.02em;
        margin-top: 2px;
        color: var(--ink);
        font-variant-numeric: tabular-nums;
    }

    .blv3-du { color: var(--red-dark); }
    .blv3-solde { color: var(--green-dark); }

    
    .blv3-sechead {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 0 0 8px;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: .13em;
        text-transform: uppercase;
        color: var(--slate);
    }

    .blv3-sechead-droite {
        margin-left: auto;
        font-weight: 600;
        letter-spacing: 0;
        font-size: 11px;
        text-transform: none;
        color: var(--ink-soft);
        display: flex;
        align-items: center;
        gap: 6px;
    }

    
    .blv3-ligne {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 11px 0;
        width: 100%;
        text-align: left;
        border-top: 1px solid var(--line);
        background: none;
    }

    .blv3-ligne:last-of-type { border-bottom: 1px solid var(--line); }

    .blv3-qte {
        flex: 0 0 auto;
        width: 46px;
        height: 46px;
        border-radius: var(--r-12);
        background: var(--teal-soft);
        color: var(--teal-dark);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 15px;
        font-weight: 700;
        letter-spacing: -.03em;
        font-variant-numeric: tabular-nums;
    }

    .blv3-ligne-corps { flex: 1; min-width: 0; }

    .blv3-ligne-nom {
        font-size: 14.5px;
        font-weight: 600;
        letter-spacing: -.01em;
        color: var(--ink);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .blv3-ligne-sous {
        font-size: 11.5px;
        color: var(--ink-soft);
        margin-top: 4px;
        display: flex;
        align-items: center;
        gap: 6px;
        flex-wrap: wrap;
    }

    .blv3-ref {
        font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
        font-size: 11px;
        color: var(--ink-soft);
    }

    .blv3-sep {
        width: 3px;
        height: 3px;
        border-radius: 50%;
        background: var(--slate);
        flex: 0 0 auto;
    }

    .blv3-remise { color: var(--amber-dark); font-weight: 600; }
    

    .blv3-ligne-total {
        flex: 0 0 auto;
        text-align: right;
        font-size: 14.5px;
        font-weight: 700;
        letter-spacing: -.02em;
        color: var(--ink);
        font-variant-numeric: tabular-nums;
    }

    
    
    .pay-resume {
        padding: 14px;
        margin-bottom: 16px;
        border: 1px solid var(--line);
        border-radius: var(--r-16);
    }

    .pay-resume-r {
        display: flex;
        justify-content: space-between;
        padding: 3px 0;
        font-size: 13px;
        color: var(--slate);
        font-variant-numeric: tabular-nums;
    }

    .pay-resume-t {
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        margin-top: 9px;
        padding-top: 11px;
        border-top: 1px solid var(--line);
        font-size: 14px;
        color: var(--ink);
        font-variant-numeric: tabular-nums;
    }

    .pay-resume-t b { font-size: 23px; font-weight: 700; letter-spacing: -.02em; }

    .pay-raccourcis { display: flex; gap: 8px; margin-top: 10px; }

    .pay-raccourci {
        min-height: 44px;
        padding: 0 16px;
        border: 1px solid var(--line);
        border-radius: 999px;
        background: var(--paper);
        color: var(--ink-soft);
        font-size: 13px;
        font-weight: 600;
    }

    
    
    [data-testid^="pay-"].form-control,
    [data-testid^="pay-"].form-select { min-height: 48px; font-size: 15px; border-radius: var(--r-12); }

    
    
        
    .docv2 .doc-page {
        margin-top: -12px;
    }

    .docv2 .blv3-entete {
        background: var(--surface);
        padding: 14px 16px;
    }

    .docv2 .blv3-saisie {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        
        z-index: 1060;
        max-height: 88dvh;
        overflow-y: auto;
        padding: 12px 16px calc(16px + env(safe-area-inset-bottom));
        background: var(--surface);
        border-top: 1px solid var(--line);
        border-radius: var(--r-16) var(--r-16) 0 0;
        box-shadow: 0 -12px 28px rgba(15, 23, 42, .18);
    }

    .docv2 .blv3-saisie-tete {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 14px;
    }

    .docv2 .blv3-saisie-titre { font-size: 16px; font-weight: 600; color: var(--ink); }

    .docv2 .blv3-saisie-x {
        width: 44px;
        height: 44px;
        border: 0;
        background: none;
        color: var(--slate);
        font-size: 17px;
    }

    .docv2 .blv3-choisi {
        padding: 12px 14px;
        margin-bottom: 16px;
        background: var(--paper);
        border: 1px solid var(--line);
        border-radius: var(--r-12);
    }

    .docv2 .blv3-choisi-nom { display: block; font-size: 14.5px; font-weight: 600; color: var(--ink); }
    .docv2 .blv3-choisi-ref { display: block; margin-top: 3px; font-size: 11.5px; color: var(--slate); }

    .docv2 .blv3-grp { margin-bottom: 16px; }

    
    .docv2 .blv3-lab {
        margin-bottom: 6px;
        font-size: 11px;
        font-weight: 600;
        letter-spacing: .06em;
        text-transform: uppercase;
        color: var(--slate);
    }

    .docv2 .blv3-stepper {
        display: flex;
        align-items: center;
        height: 54px;
        border: 1px solid var(--line);
        border-radius: var(--r-12);
        overflow: hidden;
    }

    .docv2 .blv3-step {
        width: 54px;
        height: 100%;
        display: grid;
        place-items: center;
        border: 0;
        background: var(--paper);
        color: var(--t-succes);
        font-size: 21px;
        font-weight: 600;
    }

    .docv2 .blv3-step-val {
        flex: 1;
        min-width: 0;
        height: 100%;
        border: 0;
        outline: 0;
        text-align: center;
        background: none;
        color: var(--ink);
        font-size: 20px;
        font-weight: 700;
        letter-spacing: -.02em;
        font-variant-numeric: tabular-nums;
    }

    .docv2 .blv3-step-un {
        padding-right: 10px;
        font-size: 11.5px;
        font-weight: 600;
        text-transform: uppercase;
        color: var(--slate);
    }

    .docv2 .blv3-inwrap { position: relative; }

    .docv2 .blv3-inwrap input {
        width: 100%;
        height: 54px;
        padding: 0 46px 0 14px;
        border: 1px solid var(--line);
        border-radius: var(--r-12);
        background: var(--surface);
        color: var(--ink);
        font-size: 17px;
        font-weight: 600;
        font-variant-numeric: tabular-nums;
    }

    .docv2 .blv3-sfx {
        position: absolute;
        top: 50%;
        right: 14px;
        transform: translateY(-50%);
        font-size: 12.5px;
        font-weight: 600;
        color: var(--slate);
        pointer-events: none;
    }

    
    .docv2 .blv3-remrow { display: flex; gap: 10px; }
    .docv2 .blv3-seg { width: 92px; height: 54px; flex: 0 0 auto; }
    .docv2 .blv3-remrow .blv3-inwrap { flex: 1; }

    
    .docv2 .blv3-saisie .form-select {
        height: 54px;
        border-radius: var(--r-12);
        font-size: 15px;
    }

    .docv2 .blv3-saisie .doc-variante-select { width: 100%; margin-bottom: 16px; }

    .docv2 .blv3-hint { margin-top: 6px; font-size: 11.5px; color: var(--slate); }
    .docv2 .blv3-hint-bloque { text-align: center; color: var(--t-alerte); }

    .docv2 .blv3-warn {
        margin-bottom: 16px;
        padding: 11px 13px;
        border-radius: var(--r-12);
        background: var(--f-bronze);
        color: var(--t-bronze);
        font-size: 12.5px;
        font-weight: 500;
    }

    .docv2 .blv3-sum {
        padding: 14px;
        margin-bottom: 14px;
        border: 1px solid var(--line);
        border-radius: var(--r-16);
    }

    .docv2 .blv3-sum-r {
        display: flex;
        justify-content: space-between;
        padding: 3px 0;
        font-size: 13px;
        color: var(--slate);
        font-variant-numeric: tabular-nums;
    }

    .docv2 .blv3-sum-t {
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        margin-top: 9px;
        padding-top: 11px;
        border-top: 1px solid var(--line);
        font-size: 14px;
        color: var(--ink);
        font-variant-numeric: tabular-nums;
    }

    .docv2 .blv3-sum-t b { font-size: 23px; font-weight: 700; letter-spacing: -.02em; }
    .docv2 .blv3-neg { color: var(--t-alerte); }

    .docv2 .blv3-ajouter {
        width: 100%;
        height: 52px;
        border: 0;
        border-radius: var(--r-12);
        background: var(--dgs-vert);
        color: #ffffff;
        font-size: 15px;
        font-weight: 600;
    }

    .docv2 .blv3-ajouter:disabled { opacity: .5; }

    
    .docv2 .doc-saisie--produit .blv3-hors-mobile { display: none; }

    
    
    .docv2 .doc-saisie .pp-wrap.pp-sheet .form-control,
    .docv2 .pp-sheet .form-control {
        height: 48px;
        font-size: 15px;
        border-radius: var(--r-12);
        background: var(--paper);
    }

    .docv2 .pp-sheet .pp-item {
        gap: 12px;
        padding: 12px 4px;
        border-left: 0;
    }

    .docv2 .pp-sheet .pp-item-nom {
        font-size: 14.5px;
        font-weight: 600;
        letter-spacing: -.01em;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .docv2 .pp-sheet .pp-item-ref {
        font-size: 11.5px;
        margin-top: 3px;
        letter-spacing: 0;
        font-variant-numeric: tabular-nums;
    }

    
    .docv2 .pp-sheet .chip-stock { font-size: 11px; }

    .docv2 .pp-sheet .pp-item-right {
        flex-direction: column;
        align-items: flex-end;
        gap: 4px;
    }

    .docv2 .pp-sheet .pp-item-prix {
        font-size: 14px;
        font-weight: 700;
        letter-spacing: -.02em;
        color: var(--ink);
    }

    
    .docv2 .blv3-essentiels .fpro-field:not(.blv3-essentiel),
    .docv2 .blv3-essentiels .fpro-2col:not(.blv3-essentiel),
    .docv2 .blv3-essentiels .fpro-coords,
    .docv2 .blv3-essentiels .doc-lbl-note,
    
    .docv2 .blv3-essentiels .doc-logfiles { display: none; }

    
    
    .docv2 .docf-barre { flex-wrap: wrap; }

    .docv2 .blv3-barre-refus {
        flex: 1 0 100%;
        display: flex;
        gap: 8px;
        align-items: flex-start;
        width: 100%;
        max-height: 38dvh;
        overflow-y: auto;
        margin-bottom: 10px;
        padding: 10px 12px;
        border-left: 3px solid var(--red-dark);
        border-radius: var(--r-10);
        background: var(--red-soft);
        color: var(--red-dark);
        font-size: 12.5px;
        font-weight: 600;
        line-height: 1.35;
        text-align: left;
        white-space: pre-line;
    }

    .docv2 .blv3-barre-refus-ic { flex: 0 0 auto; margin-top: 1px; }
    .docv2 .blv3-barre-refus-txt { min-width: 0; }

    
    .docv2 .blv3-refus-haut { display: none; }
    .docv2 .blv3-plus-champs {
        display: block;
        width: 100%;
        min-height: 44px;
        margin-top: 4px;
        border: 1px dashed var(--line);
        border-radius: var(--r-10);
        background: none;
        color: var(--slate);
        font-size: 12.5px;
        font-weight: 600;
    }

    
    .docv2 .blv3-ligne {
        display: flex;
        align-items: center;
        gap: 12px;
        width: 100%;
        padding: 12px 16px;
        border-top: 1px solid var(--line);
        text-align: left;
    }

    .docv2 .blv3-ligne:last-of-type { border-bottom: 1px solid var(--line); }

    
    .docv2 .blv3-lqte {
        flex: 0 0 auto;
        width: 46px;
        height: 46px;
        border-radius: var(--r-10);
        background: var(--f-succes);
        color: var(--t-succes);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 1px;
    }

    .docv2 .blv3-lq {
        font-size: 15px;
        font-weight: 700;
        letter-spacing: -.03em;
        line-height: 1;
        font-variant-numeric: tabular-nums;
    }

    .docv2 .blv3-lu {
        font-size: 11px;
        font-weight: 600;
        letter-spacing: .04em;
        line-height: 1;
        text-transform: uppercase;
        opacity: .8;
    }

    .docv2 .blv3-lbody { flex: 1; min-width: 0; }

    .docv2 .blv3-lname {
        display: block;
        font-size: 14.5px;
        font-weight: 600;
        letter-spacing: -.01em;
        color: var(--ink);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .docv2 .blv3-lref {
        display: block;
        margin-top: 4px;
        font-size: 11.5px;
        color: var(--slate);
        font-variant-numeric: tabular-nums;
    }

    .docv2 .blv3-lsub {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 6px;
        margin-top: 4px;
        font-size: 11.5px;
        color: var(--slate);
        font-variant-numeric: tabular-nums;
    }

    

    
    .docv2 .blv3-ligne-ouvrable {
        width: 100%;
        text-align: left;
        cursor: pointer;
    }

    .docv2 .blv3-lgo {
        flex: 0 0 auto;
        display: inline-flex;
        color: var(--slate);
    }

    .docv2 .blv3-ltot {
        flex: 0 0 auto;
        text-align: right;
        font-size: 14.5px;
        font-weight: 700;
        letter-spacing: -.02em;
        color: var(--ink);
        font-variant-numeric: tabular-nums;
    }

    
    
    
    
    .docv2 .doc-prod-card.crud-table-card {
        background: var(--surface);
        border: 0;
        border-radius: 0;
        box-shadow: none;
        padding-top: 14px;
    }

    .docv2 .doc-prod-head {
        background: none;
        border: 0;
        padding: 0 16px 8px;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: .13em;
        text-transform: uppercase;
        color: var(--slate);
    }

    .docv2 .doc-prod-head .doc-count {
        background: none;
        color: var(--slate);
        font-size: 11px;
        padding: 0;
    }

    
    
    .docv2 .doc-page {
        display: flex;
        flex-direction: column;
        gap: 14px;
    }

    
    .docv2 .doc-page > .doc-prod-card,
    .docv2 .doc-page > .doc-cards-row,
    .docv2 .doc-page > .doc-totaux-mobile { margin-bottom: 0; margin-top: 0; }

    .docv2 .doc-page > .blv3-montant { margin-top: 0; }
    
    .docv2 .doc-page.blv3-consult { display: flex; flex-direction: column; }

    .docv2 .doc-page.blv3-consult > .blv3-entete { order: 1; }
    .docv2 .doc-page.blv3-consult > .blv3-montant { order: 2; }
    .docv2 .doc-page.blv3-consult > .doc-prod-card { order: 3; }
    .docv2 .doc-page.blv3-consult > .doc-cards-row { order: 4; }
    .docv2 .doc-page.blv3-consult > .doc-totaux-mobile { order: 5; }

    
    
    
    .docv2 .doc-card.fpro-bloc.blv3-acc {
        border: 0;
        border-top: 1px solid var(--line);
        border-radius: 0;
        background: var(--surface);
        box-shadow: none;
        
        padding: 0 16px 14px;
    }

    .docv2 .doc-card.fpro-bloc.blv3-acc:last-of-type { border-bottom: 1px solid var(--line); }

    
    
    .docv2 .doc-card.fpro-bloc.blv3-acc .blv3-acc-tete.doc-card__head {
        display: flex;
        align-items: center;
        gap: 11px;
        width: 100%;
        margin: 0;
        padding: 13px 0;
        font-size: 14.5px;
        font-weight: 500;
        letter-spacing: 0;
        color: var(--ink);
        text-align: left;
        background: none;
        border: 0;
        border-radius: 0;
    }

    .docv2 .doc-card.blv3-acc .blv3-acc-tete .doc-card__title {
        font-size: 14.5px;
        font-weight: 500;
        color: var(--ink);
    }

    
    .docv2 .doc-card.blv3-acc .blv3-acc-ic {
        width: 30px;
        height: 30px;
        border-radius: var(--r-9);
        background: var(--paper) !important;
        color: var(--ink-soft);
        display: grid;
        place-items: center;
        flex: 0 0 auto;
    }

    .docv2 .doc-card.blv3-acc .blv3-acc-ic svg { width: 15px; height: 15px; }

    

    
    .docv2 .doc-card.blv3-acc > *:not(.blv3-acc-tete):last-child { padding-bottom: 14px; }

    
    .blv3-kv {
        display: flex;
        justify-content: space-between;
        gap: 14px;
        padding: 9px 0;
        font-size: 13.5px;
        border-bottom: 1px solid var(--line);
    }

    .blv3-kv:last-child { border-bottom: 0; }
    .blv3-kv-k { color: var(--ink-soft); }

    .blv3-kv-v {
        font-weight: 600;
        text-align: right;
        color: var(--ink);
        font-variant-numeric: tabular-nums;
    }

    .blv3-kv-neg { color: var(--red-dark); }

    .blv3-kv-total {
        padding-top: 11px;
        font-size: 15px;
    }

    .blv3-kv-total .blv3-kv-v {
        color: var(--teal-dark);
        font-size: 16px;
    }
}


@media (min-width: 769px) {
    .docv2 .doc-prod-card { margin-bottom: 14px; }
}


.docv2 .blv3-saisie.blv3-saisie-derriere {
    z-index: 1040;
}


.docv2 .blv3-retirer {
    display: block;
    width: 100%;
    min-height: 44px;
    margin-top: 10px;
}


@media (max-width: 768px) {
    
    .docv2 .doc-totaux-mobile .doc-total-titre {
        font-size: 11px;
        font-weight: 700;
        letter-spacing: .06em;
        text-transform: uppercase;
        color: var(--slate);
        margin-bottom: 10px;
    }

    
    .docv2 .doc-totaux-mobile .doc-total-fort,
    .docv2 .doc-totaux-mobile .doc-total-fort .cell-mono {
        font-weight: 700;
    }

    
    .docv2 .doc-totaux-mobile .doc-total-ttc {
        margin: 4px -16px;
        padding: 10px 16px;
        background: var(--f-succes);

        
        border-radius: 0;

        
        align-items: center;
    }

    .docv2 .doc-totaux-mobile .doc-total-ttc > span:first-child {
        font-size: 11px;
        font-weight: 700;
        letter-spacing: .12em;
        text-transform: uppercase;
        color: var(--teal-dark);
    }

    .docv2 .doc-totaux-mobile .doc-total-ttc .cell-mono {
        font-size: 22px;
        font-weight: 700;
        letter-spacing: -.035em;
        color: var(--teal-dark);
    }
}


@media (max-width: 768px) {
    .docv2 .doc-remise-encadre {
        background: var(--surface-alt);
        border: 1px solid var(--line);
        border-radius: var(--r-10);
        padding: 10px 12px;
        margin-bottom: 12px;
    }

    
    .docv2 .doc-remise-titre {
        font-size: 11px;
        font-weight: 600;
        letter-spacing: .04em;
        text-transform: uppercase;
        color: var(--slate);
        margin-bottom: 7px;
    }

    .docv2 .doc-remise-ligne {
        display: flex;
        gap: 6px;
        align-items: stretch;
    }

    .docv2 .doc-remise-ligne .form-control {
        flex: 1 1 auto;
        min-width: 0;
    }

    
    
    .docv2 .doc-remise-seg {
        display: inline-flex;
        gap: 3px;
        padding: 2px;
        background: var(--surface);
        border: 1px solid var(--line);
        border-radius: var(--r-8);
        flex: 0 0 auto;
    }

    .docv2 .doc-remise-seg button {
        display: flex;
        align-items: center;
        border: 0;
        background: none;
        border-radius: var(--r-6, 6px);
        padding: 0 12px;
        font-size: 12px;
        font-weight: 600;
        color: var(--slate);
        cursor: pointer;
    }

    
    .docv2 .doc-remise-seg button.actif {
        background: var(--surface-alt);
        color: var(--teal-dark);
        box-shadow: var(--sh-sm);
    }

    
    .docv2 .doc-remise-note {
        margin-top: 6px;
        font-size: 11px;
        color: var(--slate);
    }
}


@media (max-width: 768px) {
    .docv2 .doc-lignes-v2.crud-empile tbody td,
    .docv2 .doc-lignes-v2.crud-empile tfoot td { height: auto; padding: 5px 0; }
}


@media (hover: none) {
    .docv2 .doc-lignes-v2.crud-empile .row-actions { opacity: 1; justify-content: flex-end; }
    .docv2 .doc-lignes-v2.crud-empile .row-actions .icon-btn { width: 40px; height: 40px; }
}


.docv2 .doc-lignes-v2 input[type=number]::-webkit-outer-spin-button,
.docv2 .doc-lignes-v2 input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

@media (min-width: 1366px) {
    
    .docv2 .doc-lignes-v2 td:has(> input.cell.num) { min-width: 100px; }

    
    .docv2 .doc-lignes-v2 .doc-desig-wrap { min-width: 160px; }
}

.docv2 .doc-lignes-v2 .cell { padding: 0 4px; }
