/* L19 — Commerce › Offres & commandes (ECR-03, Legacy SuiviOffres.tsx). Palette et composants
   existants (marine, menthe, badges) ; densité de liste de travail. */
.l19-offres .panel-title { padding: 12px 16px; }
.l19-offres .muted { color: hsl(var(--muted-foreground)); }
.l19-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Cartes-filtres : le chiffre ET le filtre. */
.l19-cartes { display: flex; gap: 8px; padding: 12px 16px 4px; flex-wrap: wrap; }
.l19-carte { display: flex; align-items: baseline; gap: 6px; padding: 7px 11px; border-radius: 9px; border: 1px solid hsl(var(--border)); background: hsl(var(--card)); color: hsl(var(--foreground)); font-size: 12.5px; cursor: pointer; text-align: left; }
.l19-carte strong { font-size: 15px; font-variant-numeric: tabular-nums; }
.l19-carte small { font-size: 11px; color: hsl(var(--muted-foreground)); }
.l19-carte:hover { border-color: hsl(var(--primary) / .45); }
.l19-carte.choisie { border-color: hsl(var(--choisi-cerne)); box-shadow: 0 0 0 1px hsl(var(--choisi-cerne)); background: hsl(var(--choisi-fond)); }
.l19-carte.vert strong { color: hsl(var(--success-fort)); }
.l19-carte.ambre strong { color: hsl(var(--warning-fort)); }
.l19-commandes.a-traiter { border-color: hsl(var(--success-trait)); background: hsl(var(--success-doux)); }
.l19-commandes.a-traiter strong { color: hsl(var(--success-fort)); }

/* À traiter, natures, tri, relances, recherche. */
.l19-defauts > .muted, .l19-tri > .muted { white-space: nowrap; flex-shrink: 0; }
.l19-defauts, .l19-outils { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; padding: 6px 16px; font-size: 12px; }
.l19-natures, .l19-tri { display: flex; gap: 4px; align-items: center; flex-wrap: wrap; }
.l19-tri { margin-left: auto; }
.l19-pilule { border: 1px solid transparent; background: hsl(var(--background)); color: hsl(var(--foreground)); border-radius: 8px; padding: 5px 9px; font-size: 12px; cursor: pointer; white-space: nowrap; text-decoration: none; }
.l19-pilule.choisie { background: hsl(var(--card)); border-color: hsl(var(--choisi-cerne)); color: hsl(var(--choisi-texte)); font-weight: 600; }
.l19-pilule.alerte { color: hsl(var(--warning-fort)); }
.l19-reglage { color: hsl(var(--muted-foreground)); border-color: hsl(var(--border)); }
.l19-recherche { min-width: 240px; padding: 7px 10px; border: 1px solid hsl(var(--border)); border-radius: 8px; font-size: 13px; background: hsl(var(--card)); color: hsl(var(--foreground)); }
.l19-tri-tel { display: none; align-items: center; gap: 6px; }
.l19-tri-tel select { padding: 6px 8px; border-radius: 8px; border: 1px solid hsl(var(--border)); background: hsl(var(--card)); color: hsl(var(--foreground)); font-size: 13px; }
.l19-lien { border: 0; background: none; padding: 0; color: hsl(var(--muted-foreground)); text-decoration: underline; cursor: pointer; font-size: 12px; text-align: left; }
.l19-secretariat, .l19-passe { margin: 2px 16px 6px; font-size: 12.5px; }
.l19-secretariat a { font-weight: 700; text-decoration: underline; }
.l19-vide { padding: 24px 16px; text-align: center; }
.l19-note { padding: 8px 16px 14px; margin: 0; font-size: 11px; color: hsl(var(--muted-foreground)); }

/* Le tableau à 7 colonnes. */
.l19-tableau-zone { overflow-x: auto; }
.l19-table { min-width: 1080px; }
.l19-table td { vertical-align: top; padding: 10px 10px; }
.l19-table tbody tr.l19-ligne { cursor: pointer; }
.l19-table tbody tr.l19-ligne:hover { background: hsl(var(--choisi-fond) / .55); }
.l19-table tbody tr.l19-ligne:focus-visible { outline: 3px solid #77b2ff; outline-offset: -3px; }
.l19-table td small { display: block; }
.l19-num { text-align: right; white-space: nowrap; }
.l19-c-doc { width: 118px; }
.l19-c-doc b { white-space: nowrap; }
.l19-c-client { min-width: 140px; max-width: 220px; }
.l19-c-vehicule { min-width: 260px; }
.l19-c-lecture { min-width: 130px; }
.l19-c-etat { width: 200px; }
.l19-c-document { width: 130px; }
.l19-vendeur { display: block; font-size: 11px; color: hsl(var(--muted-foreground)); margin-top: 2px; }
.l19-vendeur::before { content: "◦ "; }
.l19-inconnu { opacity: .6; }
.l19-groupe td { padding: 12px 10px 4px; border-bottom: 0; background: transparent; cursor: default; }
.l19-intertitre { font-weight: 700; font-size: 12.5px; }
.l19-intertitre.retard { color: hsl(var(--warning-fort)); }

.l19-vehicule { display: flex; gap: 10px; align-items: flex-start; min-width: 0; }
.l19-vehicule > span { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; min-width: 0; }
.l19-nom { max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.l19-vignette { width: 84px; height: 56px; border-radius: 7px; }
.l19-reperes { display: flex; flex-wrap: wrap; gap: 4px; }
.l19-pastille { border: 1px solid hsl(var(--border)); border-radius: 999px; padding: 1px 7px; font-size: 10.5px; white-space: nowrap; max-width: 220px; overflow: hidden; text-overflow: ellipsis; }
.l19-reprise { background: hsl(var(--choisi-fond)); }

/* Lecture. */
.l19-lecture { display: inline-block; font-size: 12px; }
.l19-active { color: hsl(var(--success-fort)); background: hsl(var(--success-doux)); border-radius: 6px; padding: 1px 6px; }
.l19-ouverte { color: hsl(var(--success-fort)); }
.l19-muette { color: hsl(var(--warning-fort)); font-weight: 600; }
.l19-attente, .l19-sur-place { color: hsl(var(--muted-foreground)); }
.l19-envoi { color: hsl(var(--muted-foreground)); }
.l19-eteinte { color: hsl(var(--muted-foreground)); }
.l19-signe { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; }
.l19-chaud { display: inline-block; margin-top: 4px; }

/* État, défaut, interrupteur, journal. */
.l19-etat { font-size: 12px; display: block; }
.l19-etat.ton-green { color: hsl(var(--success-fort)); font-weight: 600; }
.l19-etat.ton-blue { color: hsl(var(--primary)); }
.l19-etat.ton-amber { color: hsl(var(--warning-fort)); }
.l19-etat.ton-grey { color: hsl(var(--muted-foreground)); }
.l19-actions-etat { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; margin-top: 5px; }
.l19-defaut { font-size: 11px; font-weight: 600; border-radius: 6px; padding: 2px 7px; border: 1px solid hsl(var(--border)); background: hsl(var(--background)); color: hsl(var(--muted-foreground)); cursor: pointer; text-align: left; }
.l19-defaut.alerte, .l19-alerte { color: hsl(var(--warning-fort)); background: hsl(var(--warning-doux)); border-color: hsl(var(--warning-trait)); }
.l19-bascule { display: inline-flex; align-items: center; gap: 6px; border: 0; background: none; padding: 2px 0; font-size: 11.5px; color: hsl(var(--muted-foreground)); cursor: pointer; min-height: 28px; }
.l19-interrupteur { width: 26px; height: 15px; border-radius: 999px; background: hsl(var(--border)); position: relative; flex-shrink: 0; transition: background .15s; }
.l19-interrupteur::after { content: ""; position: absolute; top: 2px; left: 2px; width: 11px; height: 11px; border-radius: 50%; background: white; transition: left .15s; box-shadow: 0 1px 2px #0003; }
.l19-bascule.on { color: hsl(var(--success-fort)); }
.l19-bascule.on .l19-interrupteur { background: hsl(var(--success)); }
.l19-bascule.on .l19-interrupteur::after { left: 13px; }
.l19-journal { border: 0; background: none; padding: 0; font-size: 11.5px; color: hsl(var(--muted-foreground)); cursor: pointer; text-decoration: underline dotted; }
.l19-repondu { color: hsl(var(--success-fort)); }

/* Commande. */
.l19-commande { display: flex; flex-direction: column; gap: 2px; font-size: 12px; max-width: 220px; }
.l19-prochaine { font-weight: 700; color: hsl(var(--warning-fort)); }
.l19-fini { color: hsl(var(--success-fort)); font-weight: 600; }
.l19-apres { font-size: 12px; color: hsl(var(--muted-foreground)); }
.l19-etapes { display: flex; flex-wrap: wrap; gap: 2px 10px; margin-top: 3px; }
.l19-etape { font-size: 11px; }
.l19-etape-fait { color: hsl(var(--success-fort)); }
.l19-etape-fait::before { content: "✓ "; }
.l19-etape-a-faire { font-weight: 700; }
.l19-etape-a-faire::before, .l19-etape-attente::before, .l19-etape-inconnu::before { content: "○ "; }
.l19-etape-attente, .l19-etape-inconnu { color: hsl(var(--muted-foreground)); }

/* Document. */
.l19-doc-col { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.l19-doc { font-size: 11px; padding: 5px 8px; }
.l19-modifier { font-size: 11px; padding: 4px 6px; }
.l19-non-archive { color: hsl(var(--warning-fort)); font-size: 11px; }

/* Mémo interne (jamais imprimé). */
.l19-memo { display: block; margin-top: 4px; font-weight: 400; }
.l19-memo-ajout, .l19-memo-texte { border: 0; background: none; padding: 0; font-size: 11.5px; color: hsl(var(--muted-foreground)); cursor: pointer; text-align: left; }
.l19-memo-texte { color: hsl(var(--foreground) / .85); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.l19-memo-texte::before { content: "✎ "; color: hsl(var(--muted-foreground)); }
.l19-memo-champ { width: 100%; min-width: 150px; font-size: 12px; padding: 5px 7px; border-radius: 7px; border: 1px solid hsl(var(--border)); resize: none; }

/* Volets. */
.l19-repondu-bloc { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; padding: 12px 14px; border-radius: 10px; background: hsl(var(--background)); margin-bottom: 16px; }
.l19-repondu-bloc p { margin: 4px 0 0; font-size: 12px; }
.l19-relances { padding-left: 18px; font-size: 13px; line-height: 1.8; }
.l19-volet h3 { font-size: 14px; margin: 10px 0 6px; }
.l19-archive { width: min(980px, 100%); }

/* Téléphone : des cartes qui gardent les mêmes faits. */
.l19-cartes-tel { display: none; }
@media (max-width: 767px) {
  .l19-tableau-zone { display: none; }
  .l19-cartes-tel { display: grid; gap: 8px; padding: 6px 12px 10px; }
  .l19-cartes { flex-wrap: nowrap; overflow-x: auto; padding: 10px 12px 4px; }
  .l19-carte { flex-direction: column; align-items: flex-start; gap: 0; padding: 6px 10px; flex-shrink: 0; }
  .l19-carte small { display: none; }
  .l19-commandes small { display: inline; }
  .l19-defauts, .l19-natures { flex-wrap: nowrap; overflow-x: auto; }
  .l19-outils { padding: 6px 12px; }
  .l19-tri { display: none; }
  .l19-tri-tel { display: flex; }
  .l19-recherche { min-width: 0; flex: 1 1 100%; font-size: 16px; }
  .l19-reglage { display: none; }
  .l19-carte-doc { border: 1px solid hsl(var(--border)); border-radius: 12px; background: hsl(var(--card)); overflow: hidden; }
  .l19-carte-corps { display: flex; gap: 10px; width: 100%; padding: 10px; border: 0; background: none; text-align: left; color: inherit; }
  .l19-vignette-tel { width: 72px; height: 54px; border-radius: 7px; }
  .l19-carte-texte { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1; font-size: 12.5px; }
  .l19-ligne1, .l19-ligne2 { display: flex; justify-content: space-between; gap: 8px; }
  .l19-ligne1 b:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .l19-ligne2 { font-size: 11.5px; color: hsl(var(--muted-foreground)); }
  .l19-ligne2 > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .l19-ligne2 .l19-vendeur { margin: 0; flex-shrink: 0; }
  .l19-carte-texte small { display: block; }
  .l19-commande { max-width: none; }
  .l19-carte-doc > .l19-memo { padding: 0 10px 8px; margin: 0; }
  .l19-carte-pied { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 6px 10px; border-top: 1px solid hsl(var(--border)); background: hsl(var(--background)); }
  .l19-carte-pied .l19-journal { margin-left: auto; min-height: 36px; }
  .l19-carte-pied .l19-doc-col { flex-direction: row; align-items: center; }
  .l19-carte-pied .l19-bascule { min-height: 36px; }
  .l19-groupe-tel { margin: 8px 2px 0; }
}
