/* Transports (17/10, maquette docs/maquettes/transports) — préfixe « tr- », jetons de .or (ord.css).
   Grand écran (≥ 1800 px) : tableau + colonne de droite (planning des arrivées, transporteurs) ;
   ailleurs la colonne passe sous le tableau ; téléphone : une carte par voiture. */
.or.tr{padding:4px 0 90px}
.tr-tete{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.tr-tete h1{margin:0;font-size:26px;font-weight:780;letter-spacing:-.025em;display:flex;align-items:baseline;gap:10px}
.tr-tete h1 span{font-size:15px;font-weight:600;color:hsl(var(--doux))}
.tr-cpts{display:flex;gap:6px;flex-wrap:wrap}
.tr-cp{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:999px;font-size:13px;font-weight:650;background:hsl(var(--carte));box-shadow:var(--ombre-1),0 0 0 1px hsl(var(--trait)) inset;transition:transform 90ms,background .16s,color .16s;white-space:nowrap}
.tr-cp b{font-weight:800}
.tr-cp.orange{color:hsl(var(--orange))}.tr-cp.rouge{color:hsl(var(--rouge))}.tr-cp.bleu{color:hsl(var(--azur-fort))}
.tr-cp.on{background:hsl(var(--encre));color:#fff;box-shadow:none}
.tr-cp:active{transform:scale(.96)}
.tr-act{margin-left:auto;display:flex;gap:6px;align-items:center}
.tr-zone{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:12px;align-items:start}
@media (min-width:1800px){.tr-zone{grid-template-columns:minmax(0,1fr) 640px}.tr-droite{position:sticky;top:74px}}
@media (min-width:2300px){.tr-zone{grid-template-columns:minmax(0,1fr) 720px}}

/* tableau */
.tr-tab{border-radius:20px;background:hsl(var(--carte));box-shadow:var(--ombre-1),0 0 0 1px hsl(var(--trait)) inset;overflow:hidden}
.tr-th,.tr-ln{display:grid;grid-template-columns:24px minmax(230px,1.5fr) minmax(150px,1fr) 170px 80px 64px 64px 48px minmax(150px,200px) 96px 146px;align-items:center;gap:10px;padding:0 14px}
.tr-th{height:38px;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--doux));border-bottom:1px solid hsl(var(--trait));background:hsl(var(--fond)/.6)}
.tr-th .r,.tr-ln .r{justify-self:end;text-align:right}
.tr-grp{display:flex;align-items:center;gap:10px;padding:9px 14px 5px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:hsl(var(--doux));border-top:1px solid hsl(var(--trait));background:hsl(var(--fond)/.4)}
.tr-th+.tr-grp{border-top:0}
.tr-grp b{font-size:13px;color:hsl(var(--encre))}
.tr-grp .tx{text-transform:none;letter-spacing:0;font-weight:700}
.tr-grp .esp{flex:1}
.tr-ln{position:relative;padding-top:7px;padding-bottom:7px;border-top:1px solid hsl(var(--trait));animation:or-entree .36s var(--sortie) both;transition:background .16s}
.tr-grp+.tr-ln{border-top:0}
.tr-ln:hover{background:hsl(var(--fond))}
.tr-ln.sel{background:hsl(var(--azur-doux)/.6)}
.tr-ln.eclat{animation:tr-eclat 1.2s var(--sortie)}
@keyframes tr-eclat{0%,40%{background:hsl(var(--menthe-doux))}}
.tr-ck{width:20px;height:20px;border-radius:6px;box-shadow:0 0 0 1.5px hsl(var(--trait-fort)) inset;display:grid;place-items:center;font-size:12px;font-weight:900;color:#fff;transition:background .15s}
.tr-ck.on{background:hsl(var(--azur));box-shadow:none}
.tr-vc{display:flex;align-items:center;gap:12px;min-width:0}
.tr-vc .tr-vg,.tr-vc .v2-vignette{width:84px;height:56px;border-radius:10px;overflow:hidden;flex:none;object-fit:cover}
.tr-vc .tx{min-width:0}
.tr-vc b{display:block;font-size:14.5px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tr-vc small{display:block;font-size:12.5px;color:hsl(var(--doux));margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tr-vc code{font:600 11.5px ui-monospace,Menlo,monospace;color:hsl(var(--doux))}
.tr-tj{min-width:0}
.tr-tj b{display:block;font-size:13.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tr-tj small{display:block;font-size:12.5px;color:hsl(var(--doux));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tr-trp{display:inline-flex;align-items:center;gap:7px;height:30px;max-width:100%;padding:0 10px;border-radius:9px;font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:transform .1s}
.tr-trp i{width:9px;height:9px;border-radius:50%;flex:none}
.tr-trp.vide{color:hsl(var(--orange));background:hsl(var(--orange-doux));box-shadow:0 0 0 1px hsl(var(--orange-vif)/.5) inset}
.tr-trp:active{transform:scale(.96)}
.tr-trp[disabled]{cursor:default}
.tr-mi{font-size:12.5px;font-weight:750;color:hsl(var(--azur-fort))}
.tr-mi small{display:block;color:hsl(var(--doux));font-weight:600}
.tr-dt{display:block;text-align:left;font-size:13.5px;font-weight:700}
.tr-dt small{display:block;font-size:11.5px;font-weight:650;color:hsl(var(--doux))}
.tr-dt.rouge,.tr-dt.rouge small{color:hsl(var(--rouge))}
.tr-dt.vide{color:hsl(var(--doux));font-weight:600}
button.tr-dt:not([disabled]):hover{color:hsl(var(--azur-fort))}
.tr-jr{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:7px;font-size:12.5px;font-weight:750;background:hsl(var(--gris-doux))}
.tr-jr.orange{background:hsl(var(--orange-doux));color:hsl(var(--orange))}.tr-jr.rouge{background:hsl(var(--rouge-doux));color:hsl(var(--rouge))}
.tr-docs{display:flex;gap:4px;flex-wrap:wrap}
.tr-dc{height:24px;padding:0 7px;border-radius:7px;display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:750;background:hsl(var(--gris-doux));color:hsl(var(--doux));transition:transform 90ms}
.tr-dc.ok{background:hsl(var(--vert-doux));color:hsl(var(--vert))}.tr-dc.ko{background:hsl(var(--orange-doux));color:hsl(var(--orange))}
.tr-dc:active{transform:scale(.95)}
.tr-dc[disabled]{cursor:default}
.tr-cout{display:block;font-size:14.5px;font-weight:780;text-align:right}
.tr-cout small{display:block;font-size:11px;color:hsl(var(--doux));font-weight:650}
.tr-cout.ko{color:hsl(var(--orange));font-size:12.5px;text-decoration:underline dotted}
.tr-cout.vide{color:hsl(var(--doux))}
.tr-fin{display:grid;justify-items:end;gap:5px}
.tr-st{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:7px;font-size:11.5px;font-weight:750}
.tr-st i{width:7px;height:7px;border-radius:50%;background:currentColor}
.tr-st.info{background:hsl(var(--orange-doux));color:hsl(var(--orange))}.tr-st.planifie{background:hsl(var(--azur-doux));color:hsl(var(--azur-fort))}.tr-st.route{background:hsl(var(--menthe-doux));color:hsl(var(--menthe-fort))}.tr-st.arrive{background:hsl(var(--vert-doux));color:hsl(var(--vert))}
.tr-st.route i{animation:tr-clig 1.1s infinite}@keyframes tr-clig{50%{opacity:.2}}
.tr-ge{height:32px;padding:0 12px;border-radius:10px;font-size:13px;font-weight:700;background:hsl(var(--carte));box-shadow:var(--ombre-1),0 0 0 1px hsl(var(--trait-fort)) inset;white-space:nowrap;transition:transform 90ms}
.tr-ge.p{color:#fff;background:linear-gradient(180deg,hsl(213 92% 52%),hsl(var(--azur-fort)));box-shadow:0 8px 18px -8px hsl(var(--azur)/.7)}
.tr-ge.m{color:#06302d;background:linear-gradient(180deg,hsl(172 66% 56%),hsl(172 60% 46%));box-shadow:none}
.tr-ge:active{transform:scale(.96)}.tr-ge[disabled]{opacity:.5}
.tr-tag{font-size:12px;font-weight:700;color:hsl(var(--vert))}
@media (max-width:1300px){.tr-th,.tr-ln{grid-template-columns:24px minmax(200px,1.5fr) minmax(130px,1fr) 160px 64px 48px minmax(130px,170px) 140px}.tr-th .cM,.tr-ln .cM,.tr-th .cR,.tr-ln .cR,.tr-th .cC,.tr-ln .cC{display:none}}

/* colonne de droite */
.tr-droite{display:grid;gap:14px}
.tr-bl{padding:14px 16px;border-radius:20px;background:hsl(var(--carte));box-shadow:var(--ombre-1),0 0 0 1px hsl(var(--trait)) inset}
.tr-bl h3{margin:0 0 10px;font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.06em;color:hsl(var(--doux));display:flex;align-items:center;gap:8px}
.tr-bl h3 .esp{flex:1}.tr-bl h3 span{text-transform:none;letter-spacing:0;font-weight:650}
.tr-sem{display:grid;grid-template-columns:62px repeat(7,minmax(0,1fr));gap:4px}
.tr-sem .tl{font-size:11px;font-weight:750;color:hsl(var(--doux));text-transform:uppercase;letter-spacing:.04em;align-self:center}
.tr-sem .jh{text-align:center;font-size:11.5px;font-weight:750;color:hsl(var(--doux));padding:2px 0}
.tr-sem .jh.auj{color:hsl(var(--azur-fort))}
.tr-sem .jc{min-height:86px;border-radius:10px;padding:4px;background:hsl(var(--fond));display:flex;flex-direction:column;gap:3px;min-width:0}
.tr-sem .jc.auj{background:hsl(var(--azur-doux));box-shadow:0 0 0 1.5px hsl(var(--azur)/.4) inset}
.tr-sem .jc.we{background:hsl(var(--gris-doux)/.5)}
.tr-sem .pc{display:grid;grid-template-columns:30px 1fr;gap:5px;align-items:center;padding:3px;border-radius:7px;background:hsl(var(--carte));box-shadow:0 0 0 1px hsl(var(--trait)) inset;font-size:11px;font-weight:700;text-align:left;line-height:1.15;overflow:hidden;animation:or-pop .25s var(--ressort) both}
.tr-sem .pc .v2-vignette,.tr-sem .pc .tr-vg{width:30px;height:22px;border-radius:5px;overflow:hidden}
.tr-sem .pc span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tr-sem .pc.fait{opacity:.55}.tr-sem .pc.ret{box-shadow:0 0 0 1.5px hsl(var(--rouge)) inset;color:hsl(var(--rouge))}
.tr-sem .pc:hover{box-shadow:0 0 0 1.5px hsl(var(--azur)) inset}
.tr-chs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.tr-chs .chf{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;padding:10px 12px;border-radius:12px;background:hsl(var(--fond));align-items:center}
.tr-chs .chf i{grid-row:1/3;width:10px;height:36px;border-radius:5px}
.tr-chs .chf b{font-size:13.5px}.tr-chs .chf small{font-size:12px;color:hsl(var(--doux));font-weight:600}

/* sélection et fenêtres */
.tr-selbar{position:fixed;z-index:150;left:50%;bottom:20px;translate:-50% 0;display:flex;align-items:center;gap:12px;padding:8px 8px 8px 16px;border-radius:18px;color:#fff;background:hsl(216 56% 11%/.95);backdrop-filter:blur(12px);box-shadow:var(--ombre-3);font-size:14px;font-weight:600;animation:or-pop .3s var(--ressort) both}
.tr-selbar b{font-size:18px}
.tr-raz{color:hsl(0 0% 100%/.75)!important;font-weight:650;padding:0 8px!important}
.tr-fen{position:fixed;z-index:200;inset:0;display:grid;place-items:center;padding:16px;background:hsl(216 50% 10%/.4);backdrop-filter:blur(4px)}
.tr-in{width:min(560px,100%);max-height:calc(100vh - 32px);overflow:auto;padding:22px;border-radius:24px;background:hsl(var(--carte));box-shadow:var(--ombre-3);animation:or-pop .28s var(--ressort) both;display:grid;gap:12px}
.tr-fh{display:flex;align-items:flex-start;gap:10px}
.tr-fh h2{margin:0;font-size:20px;letter-spacing:-.02em;flex:1}.tr-fh h2 small{display:block;font-size:13.5px;color:hsl(var(--doux));font-weight:600;margin-top:3px}
.tr-lb{font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--doux))}
.tr-choix{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.tr-choix button{display:inline-flex;align-items:center;gap:7px;height:42px;padding:0 14px;border-radius:12px;font-size:14px;font-weight:700;background:hsl(var(--fond));box-shadow:0 0 0 1px hsl(var(--trait-fort)) inset;transition:background .16s}
.tr-choix button i{width:10px;height:10px;border-radius:50%}
.tr-choix button.on{background:hsl(var(--azur-doux));color:hsl(var(--azur-fort));box-shadow:0 0 0 2px hsl(var(--azur)) inset}
.tr-choix input{height:42px;border:0;border-radius:12px;padding:0 10px;font-weight:650;background:hsl(var(--fond));box-shadow:0 0 0 1px hsl(var(--trait-fort)) inset;outline:none}
.tr-choix input:focus{box-shadow:0 0 0 2px hsl(var(--azur)) inset}
.tr-choix input.tr-long{flex:1;min-width:220px}
.tr-choix input.tr-montant{width:160px;font-size:18px;font-weight:800}
.tr-eur{font-weight:700;color:hsl(var(--doux))}
.tr-note{margin:0;font-size:12.5px;color:hsl(var(--doux))}
.tr-bloque{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:hsl(var(--rouge-doux));color:hsl(var(--rouge));font-size:13.5px;font-weight:700}
.tr-bloque.ok{background:hsl(var(--vert-doux));color:hsl(var(--vert))}
.tr-bloque button{margin-left:auto;text-decoration:underline;font-weight:750;color:inherit}
.tr-pied{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.tr-gros{height:48px;padding:0 20px;border-radius:14px;font-size:15px;font-weight:750;color:#fff!important;background:linear-gradient(180deg,hsl(213 92% 52%),hsl(var(--azur-fort)))!important}
.tr-gros[disabled]{opacity:.45;pointer-events:none}
.tr-mvs{display:flex;gap:6px;flex-wrap:wrap}
.tr-mvs span{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px 0 4px;border-radius:9px;background:hsl(var(--fond));font-size:13px;font-weight:650}
.tr-mvs .v2-vignette,.tr-mvs .tr-vg{width:34px;height:24px;border-radius:6px;overflow:hidden}

/* téléphone : une carte par voiture */
@media (max-width:640px){
  .tr-tete h1{font-size:22px}.tr-lg{display:none}
  .tr-cpts{flex-wrap:nowrap;overflow-x:auto;width:100%;scrollbar-width:none}.tr-cpts>*{flex:none}
  .tr-act{margin-left:0}
  .tr-th{display:none}.tr-tab{background:none;box-shadow:none;overflow:visible}
  .tr-grp{background:none;border:0;padding:12px 2px 6px}
  .tr-ln{grid-template-columns:1fr auto;gap:6px 8px;padding:10px;margin-bottom:8px;border:0;border-radius:16px;background:hsl(var(--carte));box-shadow:var(--ombre-1),0 0 0 1px hsl(var(--trait)) inset}
  .tr-ln .cM,.tr-ln .cR,.tr-ln .cJ{display:none}
  .tr-ln .cK{position:absolute;top:10px;right:10px}
  .tr-ln .tr-vc{grid-column:1/-1;padding-right:30px}
  .tr-ln .tr-vc .v2-vignette{width:72px;height:48px}
  .tr-ln .tr-tj{grid-column:1}.tr-ln .cT{grid-column:2;justify-self:end}
  .tr-ln .cA{grid-column:2;justify-self:end;grid-row:3}.tr-ln .cA:has(.vide){display:none}
  .tr-ln .tr-docs{grid-column:1;grid-row:3;align-self:center}
  .tr-ln .cC{grid-column:2;justify-self:end;display:block!important}.tr-ln .cC:has(.vide){display:none!important}
  .tr-ln .tr-docs:empty{display:none}
  .tr-ln .tr-fin{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}
  .tr-ln .tr-ge{height:40px;padding:0 16px;font-size:14px}
  .tr-selbar{width:calc(100vw - 24px);justify-content:space-between;bottom:84px}
  .tr-sem{grid-template-columns:40px repeat(7,minmax(0,1fr));gap:2px}.tr-sem .pc{grid-template-columns:1fr}.tr-sem .pc .v2-vignette{display:none}
  .tr-chs{grid-template-columns:1fr}
}
