:root{font-family:Arial,sans-serif;color:#191919;background:#f4f5f7}body{margin:0}header{background:#101010;color:white;padding:14px 3%;display:flex;justify-content:space-between;align-items:center}nav{display:flex;gap:14px;align-items:center}nav a{color:white;text-decoration:none}nav form{margin:0}main{max-width:1400px;margin:24px auto;padding:0 18px}section,.card,.login{background:white;border:1px solid #ddd;border-radius:8px;padding:18px;margin:16px 0}h2{background:#f0b400;padding:8px;margin:-18px -18px 16px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.field label,label{display:block;font-weight:bold;margin-bottom:5px}input,select,textarea{box-sizing:border-box;width:100%;padding:8px;border:1px solid #aaa;border-radius:4px}button,.button{border:0;border-radius:4px;padding:9px 14px;text-decoration:none;display:inline-block;cursor:pointer}.primary{background:#147d31;color:white}.danger{background:#c62828;color:white}.title-row{display:flex;justify-content:space-between;align-items:center}.scroll{overflow:auto}table{width:100%;border-collapse:collapse;background:white}th,td{border:1px solid #aaa;padding:7px;text-align:left}th{background:#e8b51b}td input,td select{min-width:90px}.msg{padding:12px;margin:10px 0;background:#e9f5e9}.warning{background:#fff3cd}.error{background:#ffd7d7}.signature canvas{width:100%;max-width:800px;height:260px;border:2px solid #222;background:white;touch-action:none;display:block;margin:12px 0}.login{max-width:420px;margin:10vh auto}.search{display:flex;gap:8px;margin:12px 0}.search input{max-width:380px}
.muted{color:#666;margin-top:-8px}.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:.85rem}.badge.draft{background:#fff3cd}.badge.validated{background:#dbeafe}.badge.emailed{background:#dcfce7}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:4px 24px}.search select{max-width:220px}@media(max-width:700px){main{padding:0 8px}.title-row{align-items:flex-start;gap:10px;flex-direction:column}.search{flex-direction:column}.search input,.search select{max-width:none}section,.card{padding:12px}h2{margin:-12px -12px 12px}.signature canvas{height:210px}}
.wizard{display:grid;grid-template-columns:repeat(6,minmax(135px,1fr));gap:8px;margin:18px 0;overflow-x:auto;padding-bottom:3px}.wizard-step{padding:10px;background:#ddd;border-radius:6px;text-align:center;font-weight:bold;color:#111;text-decoration:none;white-space:nowrap}.wizard-step:hover{filter:brightness(.96)}.wizard-step.active{background:#147d31;color:#fff}.wizard-step.disabled{opacity:.55;cursor:not-allowed}.wizard-help{margin:-10px 0 14px;color:#666;font-size:.88rem}.wide{grid-column:1/-1}.actions{display:flex;gap:10px;justify-content:flex-end;align-items:center;margin:16px 0}.button{background:#e5e7eb;color:#111}.tyre-cards{display:grid;gap:14px}.tyre-card,.attachment-card{border:1px solid #ccc;border-radius:7px;padding:14px;background:#fafafa}.grid.compact{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.operations ul{display:flex;flex-wrap:wrap;gap:8px 16px;list-style:none;padding:0;margin:0}.operations li label{font-weight:normal;display:flex;gap:6px;align-items:center}.operations input[type=checkbox]{width:auto}.delete-row{margin-top:10px;color:#a00}.attachment-card label{margin-top:8px}@media(max-width:800px){.wizard{display:flex;grid-template-columns:none;overflow-x:auto}.wizard-step{display:block;flex:0 0 auto;min-width:max-content}.actions{flex-direction:column-reverse;align-items:stretch}.actions .button,.actions button{text-align:center;width:100%}}
.tyre-table-wrap{overflow-x:auto;border:1px solid #bbb;border-radius:6px}.tyre-entry-table{min-width:2100px;margin:0}.tyre-entry-table th{text-align:center;white-space:nowrap;font-size:.78rem;padding:5px 3px}.tyre-entry-table td{padding:4px 3px;vertical-align:middle}.tyre-entry-table input[type=text]{min-width:72px;padding:6px 4px}.tyre-entry-table td:nth-child(7),.tyre-entry-table td:nth-child(8){min-width:125px}.tyre-entry-table td:nth-child(9){min-width:115px}.tyre-entry-table td:nth-last-child(2){min-width:140px}.subhead th{background:#f4ca54}.row-number{text-align:center;font-weight:bold;background:#f3f4f6;min-width:28px}.operation-check{text-align:center;min-width:42px}.operation-check input[type=checkbox]{appearance:none;-webkit-appearance:none;width:23px;height:23px;border:2px solid #555;border-radius:3px;background:#fff;display:inline-grid;place-content:center;cursor:pointer}.operation-check input[type=checkbox]::before{content:'×';font-weight:900;font-size:24px;line-height:1;transform:scale(0);color:#111}.operation-check input[type=checkbox]:checked::before{transform:scale(1)}.nr-choice ul{list-style:none;padding:0;margin:0;display:flex;gap:5px;justify-content:center}.nr-choice li label{font-weight:normal;display:flex;align-items:center;gap:2px;margin:0}.nr-choice input[type=radio]{width:auto}.hidden-delete{display:none}.tyre-entry-table .errorlist{font-size:.7rem;color:#b00020;margin:2px 0;padding-left:14px}@media(max-width:800px){.tyre-table-wrap{margin-left:-12px;margin-right:-12px;border-radius:0}}


/* V5 — tableau pneumatiques compact */
.tyre-table-wrap{overflow-x:auto;overflow-y:hidden}
.tyre-entry-table{min-width:1780px;table-layout:auto}
.tyre-entry-table th{font-size:.70rem;padding:3px 2px;line-height:1.05}
.tyre-entry-table td{padding:2px;line-height:1}
.tyre-entry-table input[type=text],
.tyre-entry-table select{height:28px;min-width:0;padding:2px 4px;font-size:.78rem;border-radius:3px}
.tyre-entry-table .position-input{width:56px}
.tyre-entry-table .nr-select{width:44px;min-width:44px;text-align:center;padding-left:4px;padding-right:2px}
.tyre-entry-table .tyre-width{width:58px}
.tyre-entry-table .tyre-aspect{width:46px}
.tyre-entry-table .tyre-rim{width:52px}
.tyre-entry-table .tyre-brand{width:92px}
.tyre-entry-table .tyre-tread{width:100px}
.tyre-entry-table input[name$="-serial"]{width:90px}
.tyre-entry-table input[name$="-final_position"]{width:65px}
.tyre-entry-table input[name$="-cause"]{width:105px}
.tyre-entry-table td:nth-child(7),
.tyre-entry-table td:nth-child(8),
.tyre-entry-table td:nth-child(9),
.tyre-entry-table td:nth-last-child(2){min-width:0}
.row-number{min-width:22px;width:22px;font-size:.72rem;padding:2px!important}
.nr-choice{width:48px;min-width:48px;text-align:center}
.operation-check{width:27px;min-width:27px;padding:1px!important}
.operation-check input[type=checkbox]{width:17px;height:17px;border-width:1.5px;border-radius:2px;margin:0;vertical-align:middle}
.operation-check input[type=checkbox]::before{font-size:18px}
.subhead th{padding:3px 1px}

/* V17 - grille pneumatiques conforme à l'ancien bon */
.old-bon-grid { min-width: 1900px; }
.old-bon-grid th { white-space: normal; line-height: 1.05; font-size: .72rem; }
.old-bon-grid td { padding: 3px; }
.old-bon-grid input[type="text"], .old-bon-grid select { min-width: 58px; }
.old-bon-grid .operation-check { min-width: 54px; text-align: center; }
.old-bon-grid .operation-check input { transform: scale(1.2); }

/* V18 - charte orange et tableaux sans superposition */
:root{--brand-orange:#f36c00;--brand-orange-dark:#d95b00;--brand-cream:#fff7f0}
header{background:#202020;border-bottom:4px solid var(--brand-orange)}
h2{background:var(--brand-orange);color:#fff}
.primary,.wizard-step.active{background:var(--brand-orange);color:#fff}
th{background:#ffe0c7}.subhead th{background:#fff0e4}
.tyre-entry-table{min-width:2380px;table-layout:fixed}
.tyre-entry-table th{font-size:.66rem;line-height:1.08;padding:5px 2px;white-space:normal;vertical-align:middle}
.tyre-entry-table td{padding:3px 2px}
.tyre-entry-table .operation-check{width:62px;min-width:62px}
.tyre-entry-table input[type=text],.tyre-entry-table select{font-size:.76rem;height:30px}
.removed-grid .position-input{width:70px}.removed-grid .tyre-cause{width:130px}
.billable-check{text-align:center;min-width:58px}.billable-check input[type=checkbox]{width:22px;height:22px}
.supply-table th{background:#ffe0c7}.supply-table td:nth-child(1){width:55%}.supply-table td:nth-child(2){width:15%}.supply-table td:nth-child(3){width:15%}.supply-table td:nth-child(4),.supply-table td:nth-child(5){text-align:center}

/* V18.9 — encart dépannage dans l'étape Observations */
.breakdown-entry{border:1px solid #c8c8c8;border-radius:7px;padding:14px;margin-bottom:18px;background:#fffaf6}
.breakdown-entry h3{margin:0 0 12px;color:var(--brand-orange-dark);text-transform:uppercase;font-size:1rem}
.breakdown-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}
.breakdown-entry input[readonly]{background:#f1f1f1;font-weight:700}
.observations-field textarea{width:100%;min-height:120px}
@media(max-width:900px){.breakdown-grid{grid-template-columns:1fr}}
.tyre-add-bar{display:flex;align-items:center;gap:12px;margin-top:10px}.add-tyre-row,.remove-tyre-row{border:0;border-radius:6px;cursor:pointer;font-weight:700}.add-tyre-row{background:#ef8b1e;color:#111;padding:10px 14px}.add-tyre-row:disabled{opacity:.45;cursor:not-allowed}.remove-tyre-row{background:#f7e3e3;color:#8a1515;padding:7px 9px;white-space:nowrap}.row-actions{min-width:110px;text-align:center}.tyre-form-row.is-deleted{display:none}.tyre-count{font-weight:700;color:#555}
/* V19.1 — clôture, dépôts et lignes dynamiques */
.badge.closed{background:#ffedd5;color:#9a3412}.danger-small{background:#f7e3e3;color:#8a1515;white-space:nowrap}.actions.left{justify-content:flex-start}.inline-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.button.small{padding:6px 9px;font-size:.85rem}.closure{border-left:5px solid var(--brand-orange)}.msg.success{background:#dcfce7}.supply-row.is-deleted{display:none}


/* V19.3 — interface web responsive uniquement (le PDF n'est pas modifié) */
html{-webkit-text-size-adjust:100%}body{min-width:0}header{gap:16px;flex-wrap:wrap}header>b{font-size:1.05rem}nav{flex-wrap:wrap}.title-row>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.form-errors,.errorlist{overflow-wrap:anywhere}.duplicate-tyre-row{background:#e8f0fe;color:#174ea6;border:0;border-radius:6px;padding:7px 9px;font-weight:700;cursor:pointer;white-space:nowrap}.row-actions{display:flex;gap:6px;justify-content:center;align-items:center}.scroll{max-width:100%}

@media (max-width:1100px){
  main{max-width:none;margin:16px auto;padding:0 12px}
  .grid,.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tyre-table-wrap{overflow:visible;border:0;margin:0!important}
  .tyre-entry-table{display:block;min-width:0!important;width:100%;background:transparent}
  .tyre-entry-table thead{display:none}
  .tyre-entry-table tbody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .tyre-entry-table tr.tyre-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px;border:1px solid #c8c8c8;border-radius:10px;padding:12px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.08)}
  .tyre-entry-table tr.tyre-form-row::before{content:'Pneumatique';grid-column:1/-1;font-weight:800;color:var(--brand-orange-dark);font-size:1rem;border-bottom:1px solid #eee;padding-bottom:7px}
  .tyre-entry-table td{display:flex!important;flex-direction:column;min-width:0!important;width:auto!important;border:0!important;padding:0!important;text-align:left!important;background:transparent!important}
  .tyre-entry-table td::before{content:attr(data-label);display:block;font-size:.72rem;font-weight:800;color:#555;margin-bottom:4px;text-transform:uppercase;line-height:1.15}
  .tyre-entry-table td.hidden-delete{display:none!important}
  .tyre-entry-table td input[type=text],.tyre-entry-table td input[type=number],.tyre-entry-table td input[type=time],.tyre-entry-table td select{width:100%!important;min-width:0!important;height:40px;font-size:16px;padding:7px 8px}
  .tyre-entry-table .nr-choice,.tyre-entry-table .operation-check,.tyre-entry-table .billable-check{align-items:flex-start;justify-content:flex-start}
  .tyre-entry-table .operation-check input[type=checkbox],.tyre-entry-table .billable-check input[type=checkbox]{width:28px;height:28px;margin:3px 0}
  .tyre-entry-table .row-actions{grid-column:1/-1;display:flex!important;flex-direction:row!important;gap:8px;padding-top:6px!important;border-top:1px solid #eee!important}
  .tyre-entry-table .row-actions::before{display:none}
  .row-actions button{flex:1;min-height:42px}
  .tyre-add-bar{position:sticky;bottom:8px;z-index:5;background:rgba(255,255,255,.96);padding:10px;border:1px solid #ddd;border-radius:9px;box-shadow:0 3px 12px rgba(0,0,0,.12)}
  .add-tyre-row{min-height:44px;flex:1}
  .supply-table thead{display:none}.supply-table,.supply-table tbody{display:block}.supply-table tr.supply-row{display:grid;grid-template-columns:2fr 1fr;border:1px solid #ccc;border-radius:9px;padding:10px;margin-bottom:10px;gap:10px;background:#fff}.supply-table td{display:flex;flex-direction:column;border:0!important;padding:0!important;width:auto!important}.supply-table td::before{content:attr(data-label);font-size:.72rem;font-weight:800;color:#555;text-transform:uppercase;margin-bottom:4px}.supply-table td:first-child,.supply-table td:last-child{grid-column:1/-1}.supply-table td:last-child button{width:100%;min-height:42px}.supply-table input,.supply-table select{font-size:16px;min-height:40px}
}

@media (max-width:700px){
  header{padding:11px 12px;align-items:flex-start}header>b{width:100%}nav{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}nav a,nav form,nav button{width:100%;box-sizing:border-box;text-align:center}nav a,nav button{padding:10px 6px;background:#343434;border-radius:6px}main{padding:0 8px;margin:10px auto}h1{font-size:1.35rem;line-height:1.2}.grid,.detail-grid,.breakdown-grid{grid-template-columns:1fr!important}.field{min-width:0}input,select,textarea{font-size:16px;min-height:42px}.title-row>div:last-child{width:100%;display:grid;grid-template-columns:1fr}.title-row .button{width:100%;box-sizing:border-box;text-align:center}.tyre-entry-table tbody{grid-template-columns:1fr}.tyre-entry-table tr.tyre-form-row{grid-template-columns:1fr 1fr;padding:11px;gap:9px}.tyre-entry-table td[data-label="Marque"],.tyre-entry-table td[data-label="Profil"],.tyre-entry-table td[data-label="Matricule"],.tyre-entry-table td[data-label="Cause"],.tyre-entry-table td[data-label="Position initiale"],.tyre-entry-table td[data-label="Position finale"],.tyre-entry-table td[data-label="Position"]{grid-column:1/-1}.actions{position:sticky;bottom:0;z-index:10;background:rgba(244,245,247,.97);padding:10px 0;margin-bottom:0}.signature canvas{height:230px}.responsive-list-wrap{overflow:visible}.responsive-list{display:block;background:transparent}.responsive-list thead{display:none}.responsive-list tbody{display:grid;gap:10px}.responsive-list tr{display:grid;grid-template-columns:1fr 1fr;border:1px solid #ccc;border-radius:9px;padding:10px;background:#fff}.responsive-list td{display:flex;flex-direction:column;border:0!important;padding:6px!important;min-width:0}.responsive-list td::before{content:attr(data-label);font-size:.7rem;text-transform:uppercase;font-weight:800;color:#666;margin-bottom:3px}.responsive-list td[data-label="Client"],.responsive-list td[data-label="Statut"]{grid-column:1/-1}.search button{min-height:42px}
}

@media (max-width:420px){.tyre-entry-table tr.tyre-form-row{grid-template-columns:1fr}.tyre-entry-table td{grid-column:1!important}.supply-table tr.supply-row{grid-template-columns:1fr}.supply-table td{grid-column:1!important}.responsive-list tr{grid-template-columns:1fr}.responsive-list td{grid-column:1!important}}

/* V20 — thèmes, actions rapides et responsive PC/tablette */
header{background:var(--brand-secondary)!important}.primary,.wizard-step.active{background:var(--brand-accent)!important}.brand-block{display:flex;align-items:center;gap:12px}.brand-block img{max-height:42px;max-width:150px;object-fit:contain}.detail-actions,.quick-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.detail-actions form,.quick-actions form{margin:0}.quick-actions button,.icon-action{width:36px;height:36px;padding:0;display:inline-grid;place-items:center;border-radius:7px;background:#eef1f4;color:#111;text-decoration:none;font-size:1rem}.badge.awaiting_return{background:#fee2e2;color:#991b1b}.badge.signed{background:#e0e7ff;color:#3730a3}.badge.admin_validated{background:#dbeafe;color:#1d4ed8}.theme-grid input[type=color]{height:52px;padding:4px}.theme-grid input[type=file]{min-height:44px}

/* Grand écran : le tableau pneumatique tient dans la largeur, sans glissière. */
@media (min-width:1200px){
  main{max-width:1900px;padding:0 20px}
  .tyre-table-wrap{overflow:visible}
  .tyre-entry-table{min-width:0!important;width:100%!important;table-layout:fixed!important}
  .tyre-entry-table th{font-size:.58rem;padding:3px 1px;word-break:break-word}
  .tyre-entry-table td{padding:2px 1px}
  .tyre-entry-table input[type=text],.tyre-entry-table select{width:100%!important;min-width:0!important;font-size:.68rem;padding:2px;height:28px}
  .tyre-entry-table .operation-check{width:3.25%;min-width:0!important}
  .tyre-entry-table .operation-check input[type=checkbox]{width:16px;height:16px}
  .tyre-entry-table .row-number{width:2%;min-width:0}
  .tyre-entry-table .row-actions{width:7%;min-width:0}
  .duplicate-tyre-row,.remove-tyre-row{font-size:0;width:30px;height:30px;padding:0}
  .duplicate-tyre-row::before{content:'⧉';font-size:16px}.remove-tyre-row::before{content:'🗑';font-size:14px}
}

/* Tablette et petit PC : fiches en deux colonnes, sans défilement horizontal. */
@media (min-width:701px) and (max-width:1199px){
  main{max-width:none;padding:0 12px}
  .tyre-table-wrap{overflow:visible!important;border:0!important;margin:0!important}
  .tyre-entry-table{display:block;min-width:0!important;width:100%!important;background:transparent}
  .tyre-entry-table thead{display:none}
  .tyre-entry-table tbody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .tyre-entry-table tr.tyre-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px;border:1px solid #c8c8c8;border-radius:10px;padding:12px;background:#fff}
  .tyre-entry-table td{display:flex!important;flex-direction:column;min-width:0!important;width:auto!important;border:0!important;padding:0!important;text-align:left!important}
  .tyre-entry-table td::before{content:attr(data-label);font-size:.72rem;font-weight:800;color:#555;margin-bottom:4px;text-transform:uppercase}
  .tyre-entry-table td.hidden-delete{display:none!important}
  .tyre-entry-table td input[type=text],.tyre-entry-table td select{width:100%!important;min-width:0!important;height:40px;font-size:16px}
  .tyre-entry-table .row-actions{grid-column:1/-1;display:flex!important;flex-direction:row!important}
  .tyre-entry-table .row-actions::before{display:none}
}

/* V20.1 theme variables */
body{background:var(--ui-page,#f5f5f5);color:var(--ui-text,#202020)}header{background:var(--ui-header,var(--brand-secondary))}section,.card,.panel{background:var(--ui-card,#fff);border-color:var(--ui-border,#ddd)}table th{background:var(--ui-table-header,var(--brand-orange));color:var(--ui-table-header-text,#fff)}table td,table th,input,select,textarea{border-color:var(--ui-border,#ddd)}button.primary,.button.primary{background:var(--brand-orange);color:var(--ui-button-text,#fff)}.theme-preview{border:1px solid var(--ui-border);background:var(--ui-page);padding:16px;border-radius:10px}.preview-header{background:var(--ui-header);color:#fff;padding:12px;border-radius:8px}.preview-card{margin-top:12px;background:var(--ui-card);border:1px solid var(--ui-border);padding:14px;border-radius:8px}.preview-card b{color:var(--brand-orange)}.preview-card button{background:var(--brand-orange);color:var(--ui-button-text);border:0;padding:8px 12px;border-radius:6px}.filters input{min-width:320px;max-width:100%}

/* V20.2 compact work-operation controls */
.operation-check{background:var(--op-bg);color:var(--op-text);min-width:34px;padding:2px!important}
.operation-check input[type=checkbox]{appearance:none;-webkit-appearance:none;width:15px!important;height:15px!important;border:1px solid var(--op-border)!important;border-radius:3px;background:#fff;display:inline-grid;place-content:center;margin:0!important;cursor:pointer}
.operation-check input[type=checkbox]::before{content:'✓'!important;font-size:12px!important;font-weight:900;line-height:1;color:var(--op-check)!important;transform:scale(0)}
.operation-check input[type=checkbox]:checked{background:var(--op-selected)!important;border-color:var(--op-selected)!important}
.operation-check input[type=checkbox]:checked::before{transform:scale(1)}
.tyre-entry-table .subhead th{background:var(--op-bg)!important;color:var(--op-text)!important}
@media (max-width:800px){.operation-check{border:1px solid var(--op-border);border-radius:5px;margin:2px}.operation-check input[type=checkbox]{width:18px!important;height:18px!important}}
.pdf-preview-dialog{width:min(92vw,900px);border:0;border-radius:12px;padding:0;box-shadow:0 18px 60px #0005}.pdf-preview-dialog::backdrop{background:#0008}.pdf-preview-shell{padding:18px;background:#ececec}.pdf-mini-page{aspect-ratio:210/297;max-height:76vh;margin:auto;background:white;border:1px solid #aaa;padding:3%;box-shadow:0 4px 18px #0002;font-size:clamp(5px,.8vw,11px);color:var(--preview-text,#171717)}.pdf-mini-head{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:2%;align-items:center}.pdf-mini-logo{height:52px;object-fit:contain;max-width:100%}.pdf-mini-title{text-align:center;font-size:1.5em;font-weight:800}.pdf-mini-band{margin-top:2%;padding:1.2%;background:var(--preview-banner,#f36c00);color:var(--preview-banner-text,#fff);font-weight:800}.pdf-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:2%;border:1px solid var(--preview-border,#171717);padding:2%}.pdf-mini-table{width:100%;border-collapse:collapse}.pdf-mini-table th{background:var(--preview-table,#fff0e4)!important;color:var(--preview-table-text,#171717)!important}.pdf-mini-table td,.pdf-mini-table th{border:1px solid var(--preview-border,#171717);height:18px;padding:2px}.dialog-actions{display:flex;justify-content:flex-end;padding:12px;background:#fff}.logo-current{max-height:70px;max-width:220px;object-fit:contain;border:1px solid var(--ui-border);background:#fff;padding:6px;border-radius:7px}


/* V20.3 */
.brand-block img{height:var(--interface-logo-height)!important;max-height:calc(100% - 4px)!important;max-width:240px!important;object-fit:contain}
header{min-height:66px;padding-top:3px!important;padding-bottom:3px!important}
.tyre-entry-table .operation-check{width:24px!important;min-width:24px!important;max-width:24px!important;padding:1px!important}
.tyre-entry-table .operation-check input[type=checkbox]{box-sizing:border-box;width:18px!important;height:18px!important;min-width:18px!important;max-width:18px!important;padding:0!important;margin:0 auto!important}
.danger-action,.danger{background:#b91c1c!important;color:#fff!important}.delete-confirm{max-width:720px;margin:40px auto;border:1px solid #fecaca;border-radius:10px;padding:24px;background:#fff}.photo-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.camera-button,.gallery-button{min-height:44px}.file-input-wrap input[type=file]{max-width:100%}.photo-preview{display:block;max-width:100%;max-height:220px;object-fit:contain;margin-top:10px;border:1px solid var(--ui-border);border-radius:8px}@media(min-width:900px){.camera-button{display:none}}

/* V20.5 — action de suppression visible dans les actions rapides */
.delete-order-action{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 9px;border-radius:6px;text-decoration:none;font-weight:700;font-size:.82rem;line-height:1.1}
.delete-order-action span{display:inline}
@media(max-width:800px){.delete-order-action{min-height:38px;padding:7px 10px}.delete-order-action span{display:inline}}

/* V20.6 — sélection et suppression groupée des bons */
.bulk-delete-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0;padding:10px 12px;background:#fff;border:1px solid var(--ui-border);border-radius:8px}
.bulk-delete-bar button:disabled{opacity:.45;cursor:not-allowed}
.selection-column,.selection-cell{width:46px;text-align:center}
.selection-column input,.selection-cell input{width:21px;height:21px;min-height:0;cursor:pointer}
.bulk-confirm-list{max-height:430px;overflow:auto;margin:18px 0}
.delete-order-action{display:inline-grid!important}
@media(max-width:700px){
  .bulk-delete-bar{position:sticky;top:4px;z-index:8;align-items:stretch}
  .bulk-delete-bar button{width:100%;min-height:44px}
  .selection-cell{grid-column:1/-1!important;flex-direction:row!important;align-items:center;gap:10px}
  .selection-cell::before{margin:0!important}
  .selection-cell input{width:28px;height:28px}
  .bulk-confirm-list table{min-width:620px}
}
/* V20.8 — Paramètres SMTP et capture photo mobile */
.settings-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}.settings-form section{margin-bottom:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid>div{display:flex;flex-direction:column;gap:5px}.smtp-security{display:flex;gap:24px;flex-wrap:wrap;margin-top:14px}.smtp-security label{display:flex;align-items:center;gap:8px}.success-text{color:#147d31;font-weight:700}.camera-capture-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.photo-actions{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0}.camera-button,.gallery-button{min-height:42px}.photo-preview{display:block;max-width:100%;max-height:260px;object-fit:contain;margin:10px auto;border:1px solid var(--ui-border);border-radius:6px}
@media(max-width:900px){.form-grid{grid-template-columns:1fr}.camera-button{display:inline-flex!important;align-items:center;justify-content:center;font-size:1rem;padding:10px 14px}.photo-actions{display:grid;grid-template-columns:1fr 1fr}.attachment-card{position:relative}}
@media(max-width:520px){.photo-actions{grid-template-columns:1fr}.camera-button,.gallery-button{width:100%}}

/* V20.11 — récapitulatif avant signature */
.operation-summary{display:flex;flex-wrap:wrap;gap:.65rem}.summary-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .75rem;border:1px solid var(--border,#d6dbe1);border-radius:999px;background:var(--card-bg,#fff)}
.recap-table th,.recap-table td{vertical-align:top}.billing{display:inline-block;font-weight:700;white-space:nowrap}.billing.yes{color:#18733b}.billing.no{color:#8a3a3a}.stock-client{display:block;margin-top:.3rem}.billing-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.billing-card{padding:1rem;border:1px solid var(--border,#d6dbe1);border-radius:.7rem}.billing-card h3{margin-top:0}.billable-card{border-left:5px solid #2d8a4e}.non-billable-card{border-left:5px solid #a55}.recap-confirm-form{margin-top:1rem}.recap-confirm{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border:2px solid var(--primary,#245a8d);border-radius:.7rem;font-weight:700;background:var(--card-bg,#fff)}.recap-confirm input{width:1.35rem;height:1.35rem;flex:0 0 auto}.recap-observations{white-space:normal}
@media(max-width:800px){.billing-columns{grid-template-columns:1fr}.wizard{overflow-x:auto;justify-content:flex-start}.wizard-step{min-width:max-content}}

.tyre-entry-table .tyre-rd{width:48px;min-width:48px}.import-links{justify-content:flex-start;flex-wrap:wrap}


/* V20.16 — relevés pneumatiques et état n°2 */
.tyre-entry-table .tyre-mm,.tyre-entry-table .tyre-pr{min-width:58px;width:58px;text-align:center}
.state-two{margin:1rem 0;padding:1rem;border:1px solid var(--border-color,#d8dee6);border-radius:10px;background:var(--surface-soft,#f7f9fb)}
.state-two h3{margin-top:0}.checkbox-line{display:flex;align-items:center;gap:.65rem;font-weight:600}.checkbox-line input{width:1.25rem;height:1.25rem}


/* V20.17 — navigation principale, icônes et logo cliquable */
.brand-home-link{color:inherit;text-decoration:none;cursor:pointer}
.brand-home-link:hover,.brand-home-link:focus{text-decoration:none;opacity:.92}
nav a{display:inline-flex;align-items:center;gap:.42rem;white-space:nowrap}
.nav-icon{display:inline-flex;align-items:center;justify-content:center;width:1.25em;font-size:1.05em;line-height:1}
.coming-soon-card{text-align:center;max-width:720px;margin:2rem auto;padding:2rem}
.coming-soon-icon{font-size:3rem;margin-bottom:.5rem}
@media (max-width:900px){nav a{gap:.3rem}.nav-icon{width:1.1em}}


/* V20.18 — alignement des actions pneumatiques et case pression simplifiée */
.tyre-entry-table td.row-actions{
  text-align:center!important;
  vertical-align:middle!important;
  justify-content:center!important;
  align-items:center!important;
  gap:5px;
  overflow:hidden;
  box-sizing:border-box;
}
.tyre-entry-table td.row-actions button{
  margin:2px auto!important;
  flex:0 0 auto;
  max-width:100%;
}
.pressure-check-box{
  display:inline-flex;
  align-items:center;
  padding:10px 14px;
  margin:10px 0 14px;
  border:1px solid var(--ui-border,#ddd);
  border-radius:8px;
  background:var(--ui-card,#fff);
}
.pressure-check-box .checkbox-line{display:flex;align-items:center;gap:9px;margin:0;font-weight:700}
.pressure-check-box input[type=checkbox]{width:20px;height:20px;margin:0}
@media (min-width:1200px){
  .tyre-entry-table td.row-actions{display:table-cell!important;padding:2px!important}
  .tyre-entry-table td.row-actions button{display:inline-grid!important;place-items:center!important;margin:2px!important}
}

/* V20.19 — validation administrateur et modèles d'e-mail */
.settings-tabs{display:flex;flex-wrap:wrap;gap:.55rem;margin:0 0 1.25rem}
.email-editor-toolbar{display:flex;gap:.4rem;margin:.4rem 0}
.email-editor-toolbar button{padding:.4rem .7rem}
.email-rich-editor{width:100%;min-height:260px;font-family:Arial,sans-serif}
