:root{--bg:#f3f4f6;--card:#fff;--ink:#111827;--muted:#6b7280;--line:#e5e7eb;--dark:#111827;--soft:#f9fafb;--ok:#166534;--okbg:#dcfce7;--warn:#92400e;--warnbg:#fef3c7}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}a{color:inherit}
.topbar{position:sticky;top:0;z-index:20;background:#111827;color:#fff}.topin{max-width:1100px;margin:auto;padding:13px 16px;display:flex;justify-content:space-between;gap:14px;align-items:center}
.brand{font-size:20px;font-weight:900}.sub{font-size:11px;opacity:.7}.topactions{display:flex;gap:8px;flex-wrap:wrap}
.shell{max-width:1100px;margin:auto;padding:18px 16px 85px}.narrow{max-width:480px;padding-top:55px}.card,.invoice{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;margin-bottom:14px}
h1{font-size:24px;margin:0 0 5px}h2{font-size:17px;margin:20px 0 10px}.muted,.small{color:var(--muted);font-size:12px}
.btn,button{border:0;border-radius:11px;padding:11px 14px;font-size:14px;font-weight:800;background:#111827;color:#fff;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.secondary{background:#fff;color:#111827;border:1px solid #d1d5db}.ghost{background:#374151}.danger{background:#fee2e2;color:#991b1b}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.metric{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px}.metric .label{font-size:11px;color:var(--muted);font-weight:750}.metric .value{font-size:23px;font-weight:900;margin-top:5px}.metric .hint{font-size:11px;color:var(--muted);margin-top:3px}
.grid2,.grid3{display:grid;gap:10px}.grid2{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:repeat(3,1fr)}label{display:block;font-size:12px;font-weight:750;color:#374151;margin:10px 0 5px}input,select,textarea{width:100%;border:1px solid #d1d5db;border-radius:11px;padding:11px 12px;background:#fff;color:#111827;font-size:16px}textarea{min-height:82px}
.itemrow{border:1px solid var(--line);background:#fafafa;border-radius:14px;padding:12px;margin-bottom:10px}.itemgrid{display:grid;grid-template-columns:1.1fr 1.5fr 1fr 1fr .6fr .9fr;gap:8px}
.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 7px;border-bottom:1px solid var(--line);font-size:13px;white-space:nowrap}th{font-size:11px;color:var(--muted);text-transform:uppercase}.right{text-align:right}
.pill{display:inline-block;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:800;background:#f3f4f6}.paid{background:var(--okbg);color:var(--ok)}.open{background:var(--warnbg);color:var(--warn)}
.invoice{background:#fff}.invoice-head{display:flex;justify-content:space-between;gap:20px;border-bottom:3px solid #111827;padding-bottom:15px}.logo-mark{width:48px;height:48px;border-radius:12px;background:#111827;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:18px;margin-bottom:8px}.invoice-title{font-size:26px;font-weight:900}.invoice-head p{margin:3px 0;color:#4b5563;font-size:12px}.invoice-meta{text-align:right}.invoice-cols{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:18px 0}.summary{max-width:350px;margin:28px 0 0 auto}.summary div{display:flex;justify-content:space-between;padding:6px 0}.summary .grand{font-size:20px;font-weight:900;border-top:2px solid #111827;margin-top:5px;padding-top:10px}.details{background:#f9fafb;border:1px solid var(--line);border-radius:12px;padding:12px;margin-top:18px;font-size:12px}.footer{text-align:center;color:var(--muted);font-size:11px;border-top:1px solid var(--line);padding-top:12px;margin-top:28px}
.notice{padding:10px 12px;background:#dcfce7;color:#166534;border-radius:10px;margin-bottom:12px}.error{padding:10px 12px;background:#fee2e2;color:#991b1b;border-radius:10px;margin-bottom:12px}
.bottomnav{position:fixed;bottom:0;left:0;right:0;background:rgba(255,255,255,.98);border-top:1px solid var(--line);padding:7px 10px calc(7px + env(safe-area-inset-bottom));z-index:30}.bottomin{max-width:800px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.bottomin a{text-decoration:none;text-align:center;padding:8px 4px;font-size:11px;color:var(--muted);border-radius:10px}.bottomin a.active{background:#f3f4f6;color:#111827;font-weight:800}
@media(max-width:800px){.metric-grid{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:1fr 1fr}.itemgrid{grid-template-columns:1fr 1fr}.invoice-cols{grid-template-columns:1fr}.invoice-head{flex-direction:column}.invoice-meta{text-align:left}}
@media(max-width:520px){.grid2,.grid3,.itemgrid{grid-template-columns:1fr}.metric .value{font-size:20px}.hide-mobile{display:none}.invoice{padding:14px}}
@media print{body{background:#fff}.no-print,.topbar,.bottomnav{display:none!important}.shell{max-width:none;padding:0}.invoice{border:0;border-radius:0;padding:0}.details{background:#fff}}
.invoice-logo{display:block;max-width:190px;max-height:72px;object-fit:contain;margin:0 0 10px}.invoice-wordmark{display:flex;align-items:baseline;gap:7px;margin-bottom:10px}.invoice-wordmark span{font-size:10px;font-weight:900;letter-spacing:1.6px}.invoice-wordmark strong{font-size:24px;letter-spacing:.4px}.invoice-wordmark small{font-size:10px;font-weight:900}.invoice-actions{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}.invoice-actions>a,.invoice-actions>button,.invoice-actions>form{flex:1;min-width:220px}
@media print{@page{size:A4;margin:10mm}html,body{width:210mm;min-height:297mm}.shell{width:190mm!important;margin:0 auto!important;padding:0!important}.invoice{width:190mm!important;min-height:270mm;border:0!important;box-shadow:none!important;padding:0!important}.invoice-head{break-inside:avoid}.tablewrap{overflow:visible!important}table{table-layout:fixed}th,td{white-space:normal!important;font-size:9pt!important;padding:6px 4px!important}.invoice-cols,.details,.summary{break-inside:avoid}.invoice-logo{max-width:45mm;max-height:18mm}}

/* V11.2 — invoice visual polish */
.invoice-cols{padding:26px 0 34px}.invoice-cols>div>strong{display:block;margin-bottom:14px}.invoice .tablewrap table thead th{background:#292d33;color:#fff;border-bottom:0;padding-top:11px;padding-bottom:11px}.invoice .summary .grand{background:#292d33;color:#fff;border:0;padding:11px 14px;margin-top:8px}.invoice .summary .grand span{color:#fff}


/* V11.4 — selected invoice visual */
.invoice .tablewrap{margin-top:8px}
.invoice .tablewrap table{table-layout:fixed}
.invoice .tablewrap th:nth-child(1),.invoice .tablewrap td:nth-child(1){width:31%}
.invoice .tablewrap th:nth-child(2),.invoice .tablewrap td:nth-child(2){width:17%}
.invoice .tablewrap th:nth-child(3),.invoice .tablewrap td:nth-child(3){width:18%}
.invoice .tablewrap th:nth-child(4),.invoice .tablewrap td:nth-child(4){width:8%}
.invoice .tablewrap th:nth-child(5),.invoice .tablewrap td:nth-child(5){width:13%}
.invoice .tablewrap th:nth-child(6),.invoice .tablewrap td:nth-child(6){width:13%}
.invoice .tablewrap td:nth-child(4),.invoice .tablewrap td:nth-child(5),.invoice .tablewrap td:nth-child(6),
.invoice .tablewrap th:nth-child(4),.invoice .tablewrap th:nth-child(5),.invoice .tablewrap th:nth-child(6){text-align:right}
.invoice .tablewrap td{padding-top:16px;padding-bottom:16px}
.invoice .summary{max-width:410px}
.invoice .summary>div:not(.grand) strong{min-width:125px;text-align:right}
.invoice .summary .grand{display:flex;align-items:center;justify-content:space-between;padding:13px 16px}


/* V11.6 — retour à la ligne Type / Pièces */
.invoice .tablewrap td:nth-child(2),
.invoice .tablewrap td:nth-child(3){
  white-space:normal!important;
  overflow-wrap:anywhere;
  line-height:1.35;
}
.invoice .tablewrap td:nth-child(4),
.invoice .tablewrap td:nth-child(5),
.invoice .tablewrap td:nth-child(6){
  white-space:nowrap!important;
}


/* V11.8 — safe right margin + compact TOTAL */
.invoice .tablewrap th:nth-child(1),.invoice .tablewrap td:nth-child(1){width:29%}
.invoice .tablewrap th:nth-child(2),.invoice .tablewrap td:nth-child(2){width:17%}
.invoice .tablewrap th:nth-child(3),.invoice .tablewrap td:nth-child(3){width:16%}
.invoice .tablewrap th:nth-child(4),.invoice .tablewrap td:nth-child(4){width:8%}
.invoice .tablewrap th:nth-child(5),.invoice .tablewrap td:nth-child(5){width:14%}
.invoice .tablewrap th:nth-child(6),.invoice .tablewrap td:nth-child(6){width:16%}
.invoice .summary{max-width:390px;margin-right:18px}
.invoice .summary .grand{font-size:11px!important;padding:9px 12px!important}


/* V12.4 — actions directes Factures / Clients */
.actions-cell{white-space:nowrap;min-width:150px}
.inline-delete{display:inline;margin:0 0 0 6px}
.mini-action,.mini-delete{
  display:inline-block;border:0;border-radius:8px;padding:7px 10px;
  font:inherit;font-size:12px;line-height:1;cursor:pointer;text-decoration:none
}
.mini-action{background:#e9edf1;color:#26313a}
.mini-delete{background:#f4dddd;color:#8b2525}
.mini-delete:hover{background:#eccaca}
@media(max-width:720px){
  .actions-cell{min-width:130px}
  .mini-action,.mini-delete{padding:7px 8px;font-size:11px}
}


/* V13 — Factures + Devis */
.bottomin.nav7{max-width:1100px;grid-template-columns:repeat(7,1fr)}
@media(max-width:760px){.bottomin.nav7 a{font-size:9px;padding:7px 2px}}
@media(max-width:520px){.bottomin.nav7 a{font-size:8px}}

/* V13.1 — modification facture */
.actions-cell{min-width:220px}


/* V13.4 — graphique CA, recherche globale, fiche client enrichie */
.global-search-card{padding:12px 14px}.global-search{display:flex;gap:8px}.global-search input{flex:1}.global-search button{white-space:nowrap}
.chart-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:15px}.bar-chart{height:215px;display:grid;grid-template-columns:repeat(12,1fr);gap:7px;align-items:end}.bar-col{height:100%;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.bar-value{height:24px;font-size:9px;color:var(--muted);writing-mode:vertical-rl;transform:rotate(180deg);overflow:hidden}.bar-track{height:155px;width:100%;max-width:38px;background:#eef0f3;border-radius:8px 8px 3px 3px;display:flex;align-items:flex-end;overflow:hidden}.bar-fill{width:100%;background:#111827;border-radius:7px 7px 0 0;min-height:3px}.bar-label{font-size:10px;color:var(--muted);margin-top:6px}
.search-result{display:flex;justify-content:space-between;gap:15px;padding:12px 4px;border-bottom:1px solid var(--line);text-decoration:none}.search-result:last-child{border-bottom:0}.search-result span{color:var(--muted);font-size:12px;text-align:right}
.client-hero{background:#111827;color:#fff;border-radius:18px;padding:18px;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:20px}.client-hero h1{margin:0}.client-hero .small{color:#d1d5db}.client-totals{display:flex;gap:10px}.client-totals>div{background:#ffffff14;border:1px solid #ffffff20;border-radius:12px;padding:10px 14px;min-width:130px}.client-totals span{display:block;font-size:10px;opacity:.7}.client-totals strong{display:block;margin-top:4px}.vehicle-card{padding:10px 0;border-bottom:1px solid var(--line)}.vehicle-card:last-child{border-bottom:0}.vehicle-card span,.vehicle-card small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
@media(max-width:700px){.global-search{flex-direction:column}.bar-chart{gap:3px}.bar-track{max-width:24px}.bar-value{display:none}.client-hero{align-items:flex-start;flex-direction:column}.client-totals{width:100%;display:grid;grid-template-columns:1fr 1fr}.client-totals>div{min-width:0}.search-result{flex-direction:column}.search-result span{text-align:left}}

/* V13.5 — client editing + dashboard chart toggle */
.chart-actions{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.chart-toggle{display:flex;gap:4px;background:#eef0f3;padding:4px;border-radius:10px}
.chart-mode{border:0;background:transparent;color:#4b5563;padding:7px 11px;border-radius:7px;font-size:12px;font-weight:700;cursor:pointer}
.chart-mode.active{background:#111827;color:#fff}
.chart-card .bar-chart[hidden],.line-chart-wrap[hidden]{display:none!important}
.chart-card .bar-chart{height:245px;gap:8px}
.chart-card .bar-value{height:30px;writing-mode:horizontal-tb;transform:none;overflow:visible;white-space:nowrap;font-size:10px;color:#374151;font-weight:700}
.chart-card .bar-track{height:165px}
.line-chart-wrap{height:245px;padding-top:4px}
.line-chart{width:100%;height:205px;overflow:visible}
.axis-line{stroke:#d1d5db;stroke-width:2}
.ca-line{fill:none;stroke:#111827;stroke-width:5;stroke-linejoin:round;stroke-linecap:round}
.ca-point{fill:#fff;stroke:#111827;stroke-width:4}
.ca-value{font-size:20px;font-weight:700;fill:#374151}
.line-labels{display:grid;grid-template-columns:repeat(12,1fr);gap:2px;text-align:center;color:var(--muted);font-size:10px}
.vehicle-edit{padding:12px 0;border-top:1px solid var(--line)}
.actions-cell{white-space:nowrap}
@media(max-width:900px){
 .chart-card .bar-value{font-size:8px}
 .ca-value{font-size:17px}
}
@media(max-width:700px){
 .chart-head{flex-direction:column}
 .chart-actions{align-items:flex-start;justify-content:flex-start}
 .chart-card{overflow-x:auto}
 .chart-card .bar-chart,.line-chart-wrap{min-width:760px}
 .chart-card .bar-value{display:block;font-size:9px}
}


/* V13.6 — graphique final : barres lisibles / courbe cumulée */
.chart-card{overflow:hidden}
.chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}
.chart-actions{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;justify-content:flex-end}
.chart-total{display:flex;flex-direction:column;align-items:flex-start;min-width:120px}
.chart-toggle{display:flex;gap:6px;background:#eef0f3;padding:4px;border-radius:11px}
.chart-mode{border:0;background:transparent;color:#4b5563;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:800;cursor:pointer}
.chart-mode.active{background:#243447;color:#fff}

.chart-card .bar-chart[hidden],
.line-chart-wrap[hidden]{display:none!important}

.chart-card .bar-chart{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:8px;
  height:265px;
  padding:12px 4px 0;
}

.chart-card .bar-col{
  flex:1 1 0;
  min-width:52px;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
}

.chart-card .bar-value{
  height:62px;
  margin-bottom:5px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  white-space:nowrap;
  overflow:visible;
  color:#374151;
  font-weight:800;
  line-height:1.05;
}

.chart-card .bar-currency{
  font-size:10px;
  letter-spacing:.2px;
}

.chart-card .bar-amount{
  font-size:10px;
  margin-top:2px;
}

.chart-card .bar-track{
  position:relative;
  width:70%;
  max-width:54px;
  height:165px;
  border-radius:9px 9px 3px 3px;
  background:#eef0f2;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
}

.chart-card .bar-fill{
  width:100%;
  min-height:4px;
  background:#2f4155;
  border-radius:9px 9px 3px 3px;
}

.chart-card .bar-label{
  margin-top:7px;
  font-size:10px;
  color:#5f6875;
}

.line-chart-wrap{
  height:265px;
  padding:10px 4px 0;
}

.line-chart{
  width:100%;
  height:220px;
  overflow:visible;
}

.axis-line{
  stroke:#d1d5db;
  stroke-width:2;
}

.ca-line{
  fill:none !important;
  stroke:#2f4155;
  stroke-width:4;
  stroke-linejoin:round;
  stroke-linecap:round;
}

.ca-point{
  fill:#fff;
  stroke:#2f4155;
  stroke-width:4;
}

.ca-value{
  font-size:17px;
  font-weight:800;
  fill:#374151;
}

.line-labels{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:2px;
  text-align:center;
  color:#5f6875;
  font-size:10px;
}

@media(max-width:900px){
  .chart-card{overflow-x:auto}
  .chart-card .bar-chart,
  .line-chart-wrap{min-width:780px}
}


/* V13.7 — vraie courbe type Excel + grille 12 colonnes fixe */
.excel-line-wrap{height:300px;padding-top:8px;overflow:hidden}
.excel-chart-grid{display:grid;grid-template-columns:72px minmax(0,1fr);grid-template-rows:250px 32px;height:100%;width:100%}
.y-axis{position:relative;height:250px;color:#667085;font-size:10px;padding-right:8px}
.y-axis span{position:absolute;right:8px;transform:translateY(-50%);white-space:nowrap}
.y-axis span:nth-child(1){top:4%}.y-axis span:nth-child(2){top:27%}.y-axis span:nth-child(3){top:50%}.y-axis span:nth-child(4){top:73%}.y-axis span:nth-child(5){top:96%}
.plot-area{position:relative;height:250px;min-width:0;overflow:visible}
.gridline{position:absolute;left:0;right:0;border-top:1px dashed #d8dde5;z-index:0}
.gridline.g0{top:4%}.gridline.g25{top:27%}.gridline.g50{top:50%}.gridline.g75{top:73%}.gridline.g100{top:96%}
.excel-line-chart{position:absolute;inset:0;width:100%;height:100%;overflow:visible;color:#2f4155;z-index:2}
.excel-curve{fill:none!important;stroke:#2f4155!important}
.excel-point{stroke:#2f4155!important}
.excel-value{font-size:15px;font-weight:800;fill:#374151}
.excel-months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;text-align:center;color:#5f6875;font-size:10px;padding:5px 0 0}
.excel-months span{display:block;white-space:nowrap;overflow:hidden;text-overflow:clip}
@media(max-width:900px){
  .excel-line-wrap{overflow-x:auto}
  .excel-chart-grid{min-width:820px}
}


/* V13.8 — graphique compact, bascule stricte, courbe type Excel */
.compact-chart-card{padding:16px 18px 14px!important}
.compact-chart-card .chart-head{margin-bottom:8px!important}
.chart-panel{display:none!important}
.chart-panel.is-active{display:block!important}

/* Barres: plus compactes, 12 colonnes fixes */
.bars-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:7px;
  height:205px;
  align-items:end;
  padding:4px 2px 0;
}
.bar-cell{
  min-width:0;
  height:100%;
  display:grid;
  grid-template-rows:46px 132px 20px;
  align-items:end;
  justify-items:center;
}
.bar-number{
  height:42px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:center;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  line-height:1;
  white-space:nowrap;
  color:#596273;
}
.bar-number span{font-size:8px;font-weight:700}
.bar-number strong{font-size:8px;font-weight:800;margin-top:2px}
.bar-well{
  width:64%;
  max-width:44px;
  height:128px;
  background:#eef0f2;
  border-radius:7px 7px 3px 3px;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
}
.bar-stick{
  width:100%;
  min-height:3px;
  background:#2f4155;
  border-radius:7px 7px 2px 2px;
}
.bar-month{font-size:9px;color:#657080;line-height:18px}

/* Courbe: vrai tableau 12 colonnes + axe Y fixe */
.curve-frame{
  display:grid;
  grid-template-columns:66px minmax(0,1fr);
  grid-template-rows:205px 25px;
  width:100%;
  height:230px;
}
.curve-y-axis{
  position:relative;
  height:205px;
  font-size:9px;
  color:#657080;
  padding-right:8px;
}
.curve-y-axis span{
  position:absolute;
  right:8px;
  transform:translateY(-50%);
  white-space:nowrap;
}
.curve-y-axis span:nth-child(1){top:8%}
.curve-y-axis span:nth-child(2){top:29%}
.curve-y-axis span:nth-child(3){top:50%}
.curve-y-axis span:nth-child(4){top:71%}
.curve-y-axis span:nth-child(5){top:92%}

.curve-plot{
  position:relative;
  height:205px;
  overflow:visible;
}
.hline{
  position:absolute;
  left:0;right:0;
  border-top:1px dashed #d9dee6;
  z-index:0;
}
.h100{top:8%}.h75{top:29%}.h50{top:50%}.h25{top:71%}.h0{top:92%}
.curve-svg{
  position:absolute;
  inset:0;
  width:100%;
  height:205px;
  overflow:visible;
  z-index:2;
}
.curve-value{
  font-size:13px;
  font-weight:800;
  fill:#374151;
}
.curve-months{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  width:100%;
  text-align:center;
  align-items:start;
  padding-top:5px;
  font-size:9px;
  color:#657080;
}
.curve-months span{
  display:block;
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
}

/* Boutons plus discrets */
.compact-chart-card .chart-mode{
  padding:7px 12px;
  font-size:12px;
}
.compact-chart-card .chart-total strong{font-size:15px}

@media(max-width:900px){
  .compact-chart-card{overflow-x:auto!important}
  .bars-grid,.curve-frame{min-width:760px}
}


/* V13.9 — catalogue simplifié + confort smartphone */
@media screen and (max-width:720px){
  .catalog-wrap{overflow:visible}
  .catalog-table,.catalog-table tbody,.catalog-table tr,.catalog-table td{display:block;width:100%}
  .catalog-table thead{display:none}
  .catalog-table tr{border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin:0 0 10px;background:#fff}
  .catalog-table td{border:0;padding:5px 0;white-space:normal;display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;align-items:start}
  .catalog-table td::before{content:attr(data-label);font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:800;padding-top:2px}
  .catalog-table .actions-cell{min-width:0;white-space:normal;display:grid;grid-template-columns:92px minmax(0,1fr)}
  .catalog-table .actions-cell form{margin:0 6px 6px 0;display:inline-block}

  /* Factures/devis : lecture mobile en cartes, sans changer le PDF/impression. */
  .invoice>.tablewrap{overflow:visible!important}
  .invoice>.tablewrap table,.invoice>.tablewrap tbody,.invoice>.tablewrap tr,.invoice>.tablewrap td{display:block;width:100%!important}
  .invoice>.tablewrap thead{display:none}
  .invoice>.tablewrap tr{border:1px solid var(--line);border-radius:14px;margin:0 0 12px;padding:10px 12px;background:#fff}
  .invoice>.tablewrap td{border:0!important;padding:5px 0!important;text-align:left!important;white-space:normal!important;display:grid;grid-template-columns:105px minmax(0,1fr);gap:10px;line-height:1.35}
  .invoice>.tablewrap td::before{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:800}
  .invoice>.tablewrap td:nth-child(1)::before{content:'Travaux'}
  .invoice>.tablewrap td:nth-child(2)::before{content:'Type'}
  .invoice>.tablewrap td:nth-child(3)::before{content:'Pièces'}
  .invoice>.tablewrap td:nth-child(4)::before{content:'Qté'}
  .invoice>.tablewrap td:nth-child(5)::before{content:'Prix HT'}
  .invoice>.tablewrap td:nth-child(6)::before{content:'Total HT'}
  .invoice>.summary{max-width:none;margin:20px 0 0}
  .invoice>.summary>div{gap:12px}
  .invoice>.summary>div:not(.grand) strong{min-width:0}
  .invoice-actions>a,.invoice-actions>button,.invoice-actions>form{min-width:100%}
}

/* V13.16 — targeted UI alignment and long vehicle designation containment */
.invoice-entry-cols{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}
.vehicle-list-cell{width:220px;max-width:220px;white-space:normal!important}
.vehicle-list-cell span{display:block;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:800px){.invoice-entry-cols{grid-template-columns:1fr}.vehicle-list-cell{width:auto;max-width:none}.vehicle-list-cell span{max-width:100%;white-space:normal;overflow-wrap:anywhere}}
