/* ═══════════════════════════════════════════════════════════════════════════
   LOGISTIQUE_TABLEAU.CSS — Logistique › Préparation (01/10/2026, R-LOGI-PREPARATION)
   Maquette V8 validée par Julien : 4 colonnes, cartes au GABARIT FIXE (chaque
   zone a sa hauteur : les cartes s'alignent d'une colonne à l'autre, rien ne
   dépasse ; un texte trop long est coupé « … » et lisible au survol).
   Tout est préfixé .lgt- (vérifié : aucun autre usage). Couleurs = charte.
   Le feu reprend celui du Kanban (.kfeu-*, css/kanban.css) sans en dépendre.
   ═══════════════════════════════════════════════════════════════════════════ */
.lgt { padding:18px 22px 30px; }
.lgt-titre { font-size:22px; font-weight:800; color:var(--wood-dark); letter-spacing:-.02em; }
.lgt-sous { font-size:13px; color:var(--text-muted); margin-top:2px; }
.lgt-sous b { color:var(--text); }

/* Bandeau « prêtes à solder » */
.lgt-solde-bandeau { display:flex; align-items:center; gap:14px; background:var(--green); color:var(--white); border-radius:12px; padding:12px 16px; margin-top:14px; }
.lgt-solde-bandeau .rond { width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.18); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:18px; }
.lgt-solde-bandeau .txt { min-width:0; flex:1; }
.lgt-solde-bandeau b { font-size:15px; display:block; }
.lgt-solde-bandeau small { display:block; font-size:12.5px; color:#D6F0E0; margin-top:1px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lgt-solde-bandeau .bt { appearance:none; font:inherit; font-size:12.5px; font-weight:700; border:0; border-radius:8px; background:var(--white); color:var(--green); padding:9px 14px; cursor:pointer; flex-shrink:0; }
.lgt-solde-bandeau .bt:focus-visible { outline:2px solid var(--white); outline-offset:2px; }

/* Inventaire indisponible */
.lgt-alerte { margin-top:14px; background:var(--orange-soft); border:1px solid var(--orange-line); border-left:4px solid var(--orange); border-radius:12px; padding:12px 14px; font-size:13px; color:var(--text); }
.lgt-alerte b { color:var(--orange-text); }

/* Chiffres */
.lgt-kpis { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:12px; margin-top:14px; }
.lgt-kpi { background:var(--white); border:1px solid var(--border); border-radius:12px; padding:12px 14px; min-width:0; display:flex; gap:12px; align-items:center; }
.lgt-kpi .dot { width:10px; height:38px; border-radius:5px; flex-shrink:0; }
.lgt-kpi .c { min-width:0; }
.lgt-kpi-l { font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--text-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lgt-kpi-v { font-family:'DM Mono', monospace; font-size:24px; color:var(--wood-dark); line-height:1.1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lgt-kpi-v small { font-family:'DM Sans', sans-serif; font-size:13px; font-weight:600; color:var(--text-muted); margin-left:4px; }

/* Filtres */
.lgt-filtres { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:14px 0; }
.lgt-chip { appearance:none; font:inherit; font-size:12px; font-weight:600; border:1px solid var(--border); background:var(--white); color:var(--text); border-radius:999px; padding:6px 12px; cursor:pointer; display:flex; gap:6px; align-items:center; min-height:32px; }
.lgt-chip:hover { background:var(--wood-pale); }
.lgt-chip.on { background:var(--wood-dark); border-color:var(--wood-dark); color:var(--white); }
.lgt-chip .n { font-family:'DM Mono', monospace; font-size:11px; opacity:.8; }
.lgt-chip:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.lgt-filtres-aide { margin-left:auto; font-size:12px; color:var(--text-muted); }

/* Colonnes */
.lgt-cols { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:12px; align-items:start; }
.lgt-col { background:#EFEBE4; border-radius:14px; padding:10px; min-width:0; display:flex; flex-direction:column; gap:8px; }
.lgt-col-t { display:flex; align-items:center; gap:8px; padding:4px 4px 2px; }
.lgt-col-t b { font-size:14px; color:var(--wood-dark); }
.lgt-col-t .lamp { width:10px; height:10px; border-radius:50%; flex-shrink:0; }
.lgt-col-t .n { margin-left:auto; font-family:'DM Mono', monospace; font-size:13px; background:var(--white); border-radius:999px; padding:1px 9px; color:var(--wood-dark); }
.lgt-col-aide { font-size:11.5px; color:var(--text-muted); padding:0 4px 2px; line-height:16px; height:48px; overflow:hidden; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; }
.lgt-col-vide { font-size:12.5px; color:var(--text-muted); text-align:center; padding:22px 8px; border:1px dashed #D9D2C7; border-radius:12px; }

/* Carte — gabarit fixe */
.lgt-carte { position:relative; background:var(--white); border:1px solid var(--border); border-radius:12px; overflow:hidden; height:462px; display:flex; flex-direction:column; box-sizing:border-box; }
.lgt-carte.solde { border-color:var(--green); box-shadow:0 0 0 1px var(--green), 0 0 0 5px rgba(45,122,79,.12); }   /* même largeur intérieure qu'une carte normale */
.lgt-feu { height:28px; box-sizing:border-box; display:flex; align-items:center; gap:8px; background:#14202a; padding:0 10px; font-size:11px; font-weight:600; color:var(--accent-soft); flex-shrink:0; }
.lgt-feu .lamps { display:inline-flex; gap:4px; flex-shrink:0; }
.lgt-feu .l { width:7px; height:7px; border-radius:50%; background:var(--text); }
.lgt-feu.vert .l   { background:#43B463; box-shadow:0 0 4px #43B463; }
.lgt-feu.orange .l { background:#EDA02E; box-shadow:0 0 4px #EDA02E; }
.lgt-feu.rouge .l  { background:#E2574C; box-shadow:0 0 4px #E2574C; }
.lgt-feu.bleu { background:#0f2740; } .lgt-feu.bleu .l { background:#4A9EE6; box-shadow:0 0 4px #4A9EE6; }
.lgt-feu .lab { flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lgt-feu .j { font-family:'DM Mono', monospace; font-size:11px; color:#BBD0DC; flex-shrink:0; }
.lgt-feu .j.ko { color:#FF9B8F; }
.lgt-feu.solde { background:var(--green); color:var(--white); }
.lgt-feu.solde .lab { font-size:12px; font-weight:800; letter-spacing:.08em; }
.lgt-feu.solde .j { color:#D6F0E0; }
.lgt-cb { padding:10px 12px 12px; display:flex; flex-direction:column; flex:1; min-height:0; }
.lgt-cl-l { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:baseline; height:19px; }
.lgt-cl { display:block; min-width:0; font-weight:700; font-size:14px; line-height:19px; height:19px; color:var(--wood-dark); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lgt-dispo { font-family:'DM Mono', monospace; font-size:11.5px; color:var(--text-muted); white-space:nowrap; }
.lgt-pj { font-size:12.5px; line-height:17px; height:17px; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lgt-meta { display:flex; gap:6px; align-items:center; height:20px; margin-top:7px; overflow:hidden; }
.lgt-etape { font-size:11px; font-weight:700; border-radius:6px; padding:2px 7px; white-space:nowrap; line-height:16px; }
.lgt-e-calendrier, .lgt-e-suivre { background:var(--violet-soft); color:var(--violet); }
.lgt-e-production { background:var(--accent-soft); color:var(--wood-dark); }
.lgt-e-transfert { background:var(--wood-dark); color:var(--white); }
.lgt-e-montage { background:var(--rust-soft); color:var(--rust); }
.lgt-tag-mt { font-size:11px; font-weight:700; border-radius:6px; padding:2px 7px; white-space:nowrap; line-height:16px; background:var(--rust-soft); color:var(--rust); }
.lgt-st { font-size:12px; font-weight:700; line-height:17px; height:17px; margin-top:7px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:var(--text-muted); }
.lgt-st.ok { color:var(--green); } .lgt-st.att { color:var(--orange-text); } .lgt-st.ko { color:var(--red); }
.lgt-det { font-size:12px; color:var(--text-muted); line-height:16px; height:32px; margin-top:2px; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.lgt-coches { display:flex; gap:4px; height:24px; margin-top:6px; }
.lgt-coches span { flex:1 1 0; min-width:0; display:flex; align-items:center; justify-content:center; font-size:10.5px; font-weight:700; border-radius:6px; white-space:nowrap; overflow:hidden; background:var(--green-soft); color:var(--green); }
/* 02/10 : libellé et valeur sur une ligne, barre pleine largeur dessous → les deux barres ont exactement la même longueur */
.lgt-pd { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:'l t' 'b b'; column-gap:8px; row-gap:4px; align-content:center; height:34px; box-sizing:border-box; margin-top:6px; padding:0 8px; border-radius:7px; background:#F3F6F8; flex-shrink:0; }
.lgt-pd-l { grid-area:l; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; line-height:14px; font-size:10.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--text-muted); }
.lgt-pd-b { grid-area:b; height:6px; border-radius:4px; background:#E2E8EC; overflow:hidden; }
.lgt-pd-b i { display:block; height:6px; border-radius:4px; background:var(--accent); }
.lgt-pd-t { grid-area:t; line-height:14px; font-size:11.5px; font-weight:700; color:var(--wood-dark); white-space:nowrap; text-align:right; }
.lgt-pd.fini { background:var(--green-soft); } .lgt-pd.fini .lgt-pd-b i { background:var(--green); } .lgt-pd.fini .lgt-pd-t { color:var(--green); }
.lgt-pd.attente { background:var(--wood-bg); } .lgt-pd.attente .lgt-pd-t { color:var(--text-muted); font-weight:600; }
.lgt-rg { margin-top:8px; border:1px solid var(--border); border-radius:8px; padding:6px 9px; height:98px; box-sizing:border-box; background:#FBFAF8; display:flex; flex-direction:column; flex-shrink:0; }
.lgt-rg-t { font-size:10.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--text-muted); line-height:14px; height:14px; margin-bottom:3px; }
.lgt-rg-l { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:center; height:20px; font-size:12px; }
.lgt-rg-q { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:var(--text); }
.lgt-rg-c { font-family:'DM Mono', monospace; font-size:11.5px; font-weight:500; color:var(--wood-dark); background:var(--accent-soft); border-radius:5px; padding:0 6px; line-height:17px; min-width:30px; max-width:110px; text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lgt-rg-c.vide { background:#FFF1DC; color:var(--orange-text); font-family:'DM Sans', sans-serif; font-size:11px; font-weight:700; }
.lgt-rg-rien { font-size:12px; color:var(--text-muted); line-height:20px; }
.lgt-rg-plus { font-size:11px; color:var(--text-muted); text-align:right; line-height:14px; height:14px; margin-top:auto; }
.lgt-principal { appearance:none; font:inherit; width:100%; margin-top:auto; height:36px; padding:0 10px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; flex-shrink:0;
  font-size:12.5px; font-weight:700; border-radius:8px; cursor:pointer; border:1px solid var(--border); background:var(--white); color:var(--text); }
.lgt-principal:hover:not(:disabled) { background:var(--wood-pale); }
.lgt-principal.p { background:var(--accent); border-color:var(--accent); color:var(--white); }
.lgt-principal.p:hover:not(:disabled) { background:var(--wood-dark); }
.lgt-principal.v { background:var(--green); border-color:var(--green); color:var(--white); }
.lgt-principal.r { background:var(--rust); border-color:var(--rust); color:var(--white); }
.lgt-principal:disabled { opacity:.55; cursor:default; }
.lgt-principal:focus-visible, .lgt-ico:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.lgt-outils { display:grid; grid-template-columns:56px 56px minmax(0,1fr) minmax(0,1fr); gap:6px; margin-top:8px; flex-shrink:0; }   /* photos : icône + nombre ; étiquette provisoire (09/10/2026, R-ETQ-PROVISOIRE) : même taille ; Ranger / Kanban : la place qui reste */
/* R-ETQ-PROVISOIRE : fenêtre « Étiquette provisoire » (format + nombre) */
.lgt-etq-l { display:flex; flex-wrap:wrap; gap:8px 14px; justify-content:center; align-items:center; margin-top:12px; font-size:13px; }
.lgt-etq-l > label[for] { font-weight:700; width:100%; text-align:center; }
.lgt-etq-l small { width:100%; text-align:center; color:var(--text-muted); font-size:11.5px; }
.lgt-etq-f { display:inline-flex; align-items:center; gap:6px; padding:7px 12px; border:1px solid var(--border); border-radius:8px; cursor:pointer; font-weight:600; }
.lgt-etq-f:has(input:checked) { border-color:var(--accent); background:var(--accent-soft); color:var(--accent); }
.lgt-etq-n { display:inline-flex; align-items:center; border:1px solid var(--border); border-radius:8px; overflow:hidden; }
.lgt-etq-n button { appearance:none; border:0; background:var(--wood-pale); width:40px; height:38px; font:inherit; font-size:18px; font-weight:700; cursor:pointer; color:var(--text); }
.lgt-etq-n input { width:52px; height:38px; border:0; text-align:center; font:inherit; font-size:16px; font-weight:800; }
.lgt-etq-n button:focus-visible, .lgt-etq-n input:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.lgt-ico { appearance:none; font:inherit; display:flex; align-items:center; justify-content:center; gap:5px; font-size:11.5px; font-weight:600; border:1px solid var(--border); background:var(--white); color:var(--text); border-radius:8px; height:34px; padding:0 4px; cursor:pointer; min-width:0; }
.lgt-ico:hover { background:var(--wood-pale); }
.lgt-ico i { font-size:15px; flex-shrink:0; line-height:1; }
.lgt-ico span { display:block; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* 02/10/2026 : Transfert logistique et Montage désactivés dans le menu (pas supprimés — nettoyage à faire).
   !important : js/auth.js remet display:'' sur les éléments data-dep autorisés. */
.nav-item.nav-desactive { display:none !important; }
/* Étiquette « nouveau » dans le menu (fond foncé) — plus utilisée depuis le 02/10, gardée pour une prochaine nouveauté */
.nav-badge.lgt-nav-nouveau { background:rgba(255,255,255,.14); color:var(--white); font-weight:600; }

@media (max-width: 1400px) { .lgt-cols { grid-template-columns:repeat(2, minmax(0,1fr)); } .lgt-kpis { grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width: 700px)  {
  .lgt { padding:14px 12px 24px; }
  .lgt-cols, .lgt-kpis { grid-template-columns:minmax(0,1fr); }
  .lgt-filtres-aide { margin-left:0; width:100%; }
  .lgt-solde-bandeau { flex-wrap:wrap; }
}

/* 02/10/2026 — Avancement de la préparation de la quincaillerie (sous Production, mêmes colonnes) */
.lgt-pq { margin-top:4px; }
.lgt-pq.cours { background:#FBF3E6; } .lgt-pq.cours .lgt-pd-b i { background:var(--orange); } .lgt-pq.cours .lgt-pd-t { color:var(--orange-text, #9A5B12); }
.lgt-pq.fini { background:var(--accent-soft); } .lgt-pq.fini .lgt-pd-b i { background:var(--accent); } .lgt-pq.fini .lgt-pd-t { color:var(--accent); }

/* 02/10/2026 — Écharpe « TRANSFERT » : même ruban que BLOQUÉ / À ENCAISSER du Kanban (css/kanban.css) */
/* Un peu plus petit que dans le Kanban : la carte est plus étroite et la date de dispo doit rester lisible. */
.lgt-carte .lgt-echarpe { width:62px; height:62px; border-top-right-radius:11px; }
.lgt-carte .lgt-echarpe .card-echarpe { top:13px; right:-24px; width:96px; font-size:8.5px; letter-spacing:.05em; padding:2px 0; }
.card-echarpe.echarpe-transfert { background:var(--accent); box-shadow:0 0 0 1px rgba(255,255,255,.6), 0 1px 3px rgba(0,0,0,.25); }
.lgt-carte.transfert .lgt-feu { padding-right:50px; }
.lgt-carte.transfert .lgt-cl-l { padding-right:30px; }

/* 02/10/2026 — La barre Quincaillerie est un raccourci vers la liste : elle « gonfle » au survol */
.lgt-pq-btn { width:100%; border:0; font:inherit; text-align:left; cursor:pointer; transition:transform .14s ease, box-shadow .14s ease; position:relative; }
.lgt-pq-btn:hover, .lgt-pq-btn:focus-visible { transform:scale(1.035); box-shadow:0 3px 10px rgba(23,62,84,.18); z-index:1; }
.lgt-pq-btn:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.lgt-pq-btn:active { transform:scale(1.01); }
@media (prefers-reduced-motion: reduce) { .lgt-pq-btn { transition:none; } .lgt-pq-btn:hover { transform:none; } }

/* Fenêtre « Quincaillerie » (lecture seule) */
.lgt-ql { width:460px; max-width:calc(100vw - 32px); max-height:calc(100vh - 48px); display:flex; flex-direction:column; background:var(--white); border-radius:12px; overflow:hidden; box-shadow:0 20px 60px rgba(0,0,0,.28); animation:miniModalIn .12s ease-out; }
.lgt-ql-h { display:flex; align-items:flex-start; gap:10px; padding:12px 14px; background:#14202a; }
.lgt-ql-ht { flex:1; min-width:0; }
.lgt-ql-titre { font-size:14px; font-weight:700; color:var(--white); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lgt-ql-st { font-size:12px; color:#BBD0DC; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-top:2px; }
.lgt-ql-x { background:transparent; border:0; color:#BBD0DC; font-size:16px; cursor:pointer; line-height:1; padding:2px 4px; border-radius:6px; }
.lgt-ql-x:hover, .lgt-ql-x:focus-visible { color:var(--white); background:rgba(255,255,255,.12); }
.lgt-ql-res { display:grid; grid-template-columns:110px minmax(0,1fr); gap:10px; align-items:center; padding:10px 14px; background:var(--wood-bg); font-size:12.5px; font-weight:600; color:var(--wood-dark); border-bottom:1px solid var(--border); }
.lgt-ql-res.cours .lgt-pd-b i { background:var(--orange); }
.lgt-ql-liste { list-style:none; margin:0; padding:4px 0; overflow:auto; flex:1; }
.lgt-ql-l { display:grid; grid-template-columns:92px minmax(0,1fr); gap:10px; align-items:start; padding:9px 14px; border-bottom:1px solid #F0ECE6; }
.lgt-ql-l:last-child { border-bottom:0; }
.lgt-ql-b { font-size:11px; font-weight:700; text-align:center; border-radius:6px; padding:3px 0; white-space:nowrap; }
.lgt-ql-b.bleu { background:var(--accent-soft); color:var(--accent); }
.lgt-ql-b.vert { background:var(--green-soft); color:var(--green); }
.lgt-ql-b.rouge { background:#FBE9E7; color:#B0362B; }
.lgt-ql-b.orange { background:#FBF3E6; color:var(--orange-text, #9A5B12); }
.lgt-ql-b.gris { background:var(--wood-bg); color:var(--text-muted); }
.lgt-ql-n { font-size:13px; font-weight:600; color:var(--text); overflow-wrap:anywhere; }
.lgt-ql-tag { font-size:10.5px; font-weight:700; color:var(--accent); background:var(--accent-soft); border-radius:5px; padding:1px 5px; margin-left:4px; white-space:nowrap; }
.lgt-ql-r { font-family:'DM Mono', monospace; font-size:11px; color:var(--text-muted); margin-top:1px; overflow-wrap:anywhere; }
.lgt-ql-i { font-size:11.5px; color:var(--text-muted); margin-top:2px; }
.lgt-ql-vide { padding:22px 14px; text-align:center; font-size:13px; color:var(--text-muted); }
.lgt-ql-pied { display:flex; justify-content:flex-end; padding:10px 14px; border-top:1px solid var(--border); }

/* 02/10/2026 — Moteur de recherche (au-dessus des filtres) */
.lgt-rech-l { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:16px 0 0; }
.lgt-rech { position:relative; display:flex; align-items:center; flex:0 1 520px; min-width:0; height:40px; border:1px solid var(--border); border-radius:10px; background:var(--white); transition:border-color .12s ease, box-shadow .12s ease; }
.lgt-rech:focus-within { border-color:var(--accent); box-shadow:0 0 0 3px rgba(35,88,115,.14); }
.lgt-rech .ti { position:absolute; left:12px; font-size:16px; color:var(--text-muted); pointer-events:none; }
.lgt-rech input { flex:1; min-width:0; height:100%; border:0; background:transparent; font:inherit; font-size:13.5px; color:var(--text); padding:0 36px 0 38px; outline:none; }
.lgt-rech input::placeholder { color:var(--text-muted); }
.lgt-rech input::-webkit-search-cancel-button { display:none; }
.lgt-rech-x { position:absolute; right:6px; width:28px; height:28px; border:0; border-radius:7px; background:transparent; color:var(--text-muted); font-size:13px; cursor:pointer; display:none; }
.lgt-rech-x:hover, .lgt-rech-x:focus-visible { background:var(--wood-bg); color:var(--text); }
.lgt-rech-x:focus-visible { outline:2px solid var(--accent); }
.lgt-en-recherche .lgt-rech-x { display:block; }
.lgt-en-recherche .lgt-rech { border-color:var(--accent); }
.lgt-rech-res { font-size:12.5px; color:var(--text-muted); }
.lgt-rech-res b { color:var(--wood-dark); } .lgt-rech-res b.ko { color:var(--red); }
.lgt-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
@media (max-width: 700px) { .lgt-rech { flex:1 1 100%; } .lgt-rech-res { width:100%; } }

/* 02/10/2026 — Note logistique : pastille sur la ligne de l'étape ; filtre « Notes à lire » en rouge s'il y en a */
.lgt-note { appearance:none; font:inherit; font-size:11px; font-weight:700; line-height:16px; border-radius:6px; padding:2px 7px; white-space:nowrap; cursor:pointer; border:1px solid var(--border); background:var(--wood-bg); color:var(--text-muted); display:inline-flex; align-items:center; gap:5px; margin-left:auto; flex-shrink:0; }
.lgt-note:hover { background:var(--wood-pale); color:var(--text); }
.lgt-note.neuve { background:#FBE9E7; border-color:#F2B8B1; color:#B0362B; }
.lgt-note.neuve:hover { background:#F8DAD5; }
.lgt-note .pt { width:7px; height:7px; border-radius:50%; background:#D63B2F; box-shadow:0 0 0 3px rgba(214,59,47,.18); animation:lgtPouls 1.8s ease-in-out infinite; }
.lgt-note:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
@keyframes lgtPouls { 50% { box-shadow:0 0 0 5px rgba(214,59,47,.06); } }
@media (prefers-reduced-motion: reduce) { .lgt-note .pt { animation:none; } }
.lgt-chip.alerte:not(.on) { border-color:#F2B8B1; color:#B0362B; background:#FDF3F1; }

/* ═══════════════════════════════════════════════════════════════════════════
   02/10/2026 — TÉLÉPHONE (R-LOGI-PREP-MOBILE, maquette validée par Julien)
   Sur le bureau, les deux enveloppes ajoutées autour des barres et des boutons
   sont neutres (display:contents) : le gabarit fixe ne change pas d'un pixel.
   Téléphone (≤ 768 px, même seuil que js/mobile.js) : Préparation est le 1er onglet
   du segment Logistique ; 4 onglets 2 × 2 à la place des chiffres et des colonnes,
   UNE colonne à la fois ; cartes à hauteur libre ; boutons de 44 px.
   ═══════════════════════════════════════════════════════════════════════════ */
.lgt-barres, .lgt-actions { display:contents; }
.lgt-mtabs { display:none; }
.lgt-fbar { display:none; }
@media (max-width: 768px) {
  .lgt { padding:4px 16px 24px; }
  .lgt-titre { display:none; }                 /* le segment Logistique porte déjà « Préparation » */
  .lgt-sous, .lgt-kpis, .lgt-col-aide, .lgt-filtres-aide { display:none; }
  .lgt-solde-bandeau { margin-top:4px; padding:6px 6px 6px 12px; flex-wrap:nowrap; gap:10px; border-radius:12px; }
  .lgt-solde-bandeau .rond { width:28px; height:28px; font-size:14px; }
  .lgt-solde-bandeau small { display:none; }
  .lgt-solde-bandeau b { font-size:14px; }
  .lgt-solde-bandeau .bt { min-height:40px; font-size:13px; }
  .lgt-rech-l { margin-top:10px; }
  .lgt-rech { height:44px; border-radius:12px; flex:1 1 100%; }
  .lgt-rech input { font-size:16px; }          /* 16 px : pas de zoom automatique sur iPhone */
  .lgt-rech-x { width:36px; height:36px; }
  .lgt-filtres { flex-wrap:nowrap; overflow-x:auto; margin:10px -16px 0; padding:0 16px 2px; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .lgt-filtres::-webkit-scrollbar { display:none; }
  .lgt-chip { flex-shrink:0; min-height:36px; font-size:13px; }
  /* Les 4 onglets de colonnes */
  .lgt-mtabs { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px; margin:12px 0 10px; scroll-margin-top:120px; }
  .lgt-mtab { appearance:none; font:inherit; display:flex; align-items:center; gap:8px; min-height:48px; padding:6px 12px; border-radius:12px; border:1.5px solid var(--border); background:var(--white); color:var(--text); text-align:left; cursor:pointer; min-width:0; }
  .lgt-mtab .lamp { width:9px; height:9px; border-radius:50%; flex-shrink:0; }
  .lgt-mtab .lib { flex:1; min-width:0; font-size:13px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .lgt-mtab .n { font-family:'DM Mono', monospace; font-size:15px; color:var(--wood-dark); }
  .lgt-mtab.on { border-color:var(--wood-dark); box-shadow:0 0 0 3px var(--accent-soft); }
  .lgt-mtab:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
  .lgt-cols { display:block; }
  .lgt-col { background:transparent; padding:0; gap:10px; }
  .lgt-col-t { display:none; }
  .lgt-col-vide { background:var(--white); }
  .lgt-col-vide-bt { appearance:none; font:inherit; margin-top:10px; min-height:40px; padding:0 14px; border-radius:10px; border:1px solid var(--border); background:var(--white); color:var(--accent); font-weight:700; cursor:pointer; }
  /* La carte : hauteur libre, rien de vide */
  .lgt-carte { height:auto; border-radius:16px; }
  .lgt-cb { padding:12px; }
  .lgt-cl-l, .lgt-cl { height:auto; }
  .lgt-cl { font-size:15px; line-height:20px; }
  .lgt-dispo { font-size:12.5px; }
  .lgt-pj { height:auto; font-size:13px; line-height:18px; }
  .lgt-meta { height:auto; min-height:22px; overflow:visible; flex-wrap:wrap; }
  .lgt-note { min-height:30px; padding:4px 10px; font-size:12px; }
  .lgt-st { font-size:13px; height:auto; white-space:normal; line-height:18px; }
  .lgt-det { height:auto; font-size:12.5px; line-height:17px; }
  .lgt-det:empty { display:none; }
  .lgt-barres { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px; margin-top:8px; }
  .lgt-barres .lgt-pd { margin-top:0; height:auto; padding:7px 9px; grid-template-columns:minmax(0,1fr); grid-template-areas:'l' 't' 'b'; row-gap:3px; }
  .lgt-barres .lgt-pd-t { text-align:left; font-size:12.5px; }
  .lgt-rg { height:auto; }
  .lgt-rg.vide { display:none; }
  .lgt-rg-plus:empty { display:none; }
  .lgt-actions { display:flex; flex-direction:column; gap:8px; margin-top:10px; }
  .lgt-principal { height:auto; min-height:44px; margin-top:0; font-size:14px; white-space:normal; line-height:18px; padding:6px 12px; border-radius:10px; }
  .lgt-outils { margin-top:0; grid-template-columns:72px 72px minmax(0,1fr) minmax(0,1fr); gap:8px; }   /* + étiquette provisoire (09/10/2026) */
  .lgt-ico { height:44px; font-size:13px; border-radius:10px; }
  .lgt-ico i { font-size:18px; }
  .lgt-pq-btn:hover { transform:none; box-shadow:none; }   /* pas de « gonflement » au doigt */
  /* 02/10 (2ᵉ retour) : la rangée de pastilles devient UN bouton « Filtre » + « N notes » */
  .lgt-filtres[hidden] { display:none; }
  .lgt-fbar { display:flex; gap:8px; margin-top:10px; }
  .lgt-fbt { appearance:none; font:inherit; flex:1; min-width:0; min-height:44px; display:flex; align-items:center; gap:8px; padding:0 12px; border-radius:12px; border:1.5px solid var(--wood-dark); background:var(--white); color:var(--wood-dark); cursor:pointer; text-align:left; }
  .lgt-fbt .k { font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--text-muted); flex-shrink:0; }
  .lgt-fbt .v { font-size:14px; font-weight:700; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .lgt-fbt .n { margin-left:auto; font-family:'DM Mono', monospace; font-size:13px; background:var(--accent-soft); border-radius:999px; padding:1px 8px; flex-shrink:0; }
  .lgt-fbt svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
  .lgt-fbt:focus-visible, .lgt-fnote:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
  .lgt-fnote { appearance:none; font:inherit; min-height:44px; padding:0 12px; border-radius:12px; border:1px solid #F2B8B1; background:#FDF3F1; color:#B0362B; font-size:13px; font-weight:700; display:flex; align-items:center; gap:6px; cursor:pointer; flex-shrink:0; }
  .lgt-fnote .pt { width:7px; height:7px; border-radius:50%; background:#D63B2F; }
  .lgt-fnote.on { background:#B0362B; border-color:#B0362B; color:var(--white); }
  .lgt-fnote.on .pt { background:var(--white); }
  /* La feuille des filtres (dans .mobile-menu-panel, css/mobile.css) */
  .lgt-ff-t { font-size:17px; font-weight:800; color:var(--wood-dark); padding:2px 4px 8px; }
  .lgt-ff-l { background:var(--white); border-radius:16px; overflow:hidden; }
  .lgt-ff-o { appearance:none; font:inherit; width:100%; display:flex; align-items:center; gap:12px; min-height:52px; padding:0 14px; border:0; border-bottom:1px solid var(--m-line, #ECE7DE); background:var(--white); color:var(--m-ink, #1B1F23); font-size:16px; text-align:left; cursor:pointer; }
  .lgt-ff-o:last-child { border-bottom:0; }
  .lgt-ff-o .rd { width:20px; height:20px; border-radius:50%; border:2px solid var(--wood-light); flex-shrink:0; box-sizing:border-box; }
  .lgt-ff-o.on { font-weight:700; color:var(--wood-dark); }
  .lgt-ff-o.on .rd { border:6px solid var(--wood-dark); }
  .lgt-ff-o.rouge .lib { color:#B0362B; }
  .lgt-ff-o .lib { flex:1; min-width:0; }
  .lgt-ff-o .n { font-family:'DM Mono', monospace; font-size:13px; color:var(--text-muted); }
  .lgt-ff-o:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
}
