/* Meilleur acheteur */
.best-bar{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:14px 16px;margin-bottom:16px}
.best-bar{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end}
.best-bar .field{margin:0;max-width:420px;flex:1 1 260px}
.best-bar .qty-field{flex:0 1 200px;min-width:170px}
/* 10 oct. 2026 : la quantité est aussi exploitable en mode "Renseigné" (avec "Je suis à") — elle
   fixe alors la quantité achetée à la place du cargo du vaisseau, donc on ne la masque plus ;
   voir makeTrade() dans calculations.js et le grisage de Vaisseau/Cargo juste en dessous. */
body.view-best.qty-override #shipField,
body.view-best.qty-override #cargoField{opacity:.45;pointer-events:none}
.trade-meta.est{margin-top:6px}.trade-meta .dim{opacity:.65}
.trade{background:var(--panel);border:1px solid var(--line);border-radius:6px;margin-bottom:12px;padding:14px 18px}
.trade-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin-bottom:10px}
.trade-name{font-family:var(--display);font-weight:700;font-size:1.6rem;line-height:1;flex:1;min-width:180px}
.trade-name .qty{font-family:var(--body);font-size:.95rem;color:var(--amber);font-weight:600;margin-left:8px}
.trade-gain{font-family:var(--display);font-weight:700;font-size:1.6rem;color:var(--gain);line-height:1}
.trade-price{display:flex;flex-direction:column;align-items:flex-end;gap:4px;margin-left:auto}
.est-total{font-size:.92rem;color:var(--gain);font-weight:600;white-space:nowrap}
.est-total .dim{opacity:.65;font-weight:400;color:var(--muted)}
.trade-meta{color:var(--muted);font-size:.88rem}
.trade-meta b{color:var(--ink);font-weight:600}
.route{background:var(--panel);border:1px solid var(--line);border-radius:6px;margin-bottom:16px;overflow:hidden}
.route-head{cursor:pointer;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 26px;padding:14px 18px 4px}
.rank{font-family:var(--display);font-size:1.5rem;font-weight:700;color:var(--muted);min-width:2.2ch}
.total{font-family:var(--display);font-weight:700;font-size:1.9rem;color:var(--gain);line-height:1}
.total small{font-family:var(--body);font-weight:500;font-size:.8rem;color:var(--muted);margin-left:4px}
.meta{color:var(--muted);font-size:.92rem}
.meta b{color:var(--ink);font-weight:600}
.meta.sorted b{color:var(--amber)}
.leg-sum span.sorted{color:var(--amber);font-weight:600}

/* Le rail : arrêts reliés par les trajets chargés */
.route-toggle{display:flex;align-items:center;gap:9px;width:100%;background:none;border:0;border-top:1px solid var(--line);padding:10px 18px;cursor:pointer;color:var(--muted);font-weight:600;font-size:.9rem;text-align:left;min-height:44px}
.route-toggle:hover{color:var(--ink);background:var(--panel-2)}
.chev{width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-4px;flex:none}
.route.open .chev{transform:rotate(-135deg);margin-top:3px}
.route-body{display:none}
.route.open .route-body{display:block}
.route.open .route-toggle{border-bottom:1px solid var(--line)}
.rail{--stop:114px;list-style:none;margin:0;padding:16px 18px 18px;display:flex;align-items:flex-start;overflow-x:auto}
.stop{flex:none;width:var(--stop);padding-right:8px;position:relative;padding-top:22px}
.stop::before{content:"";position:absolute;top:3px;left:0;width:13px;height:13px;border-radius:50%;background:var(--hull);border:3px solid var(--amber)}
.stop.back::before{background:var(--amber)}
.stop-name{font-family:var(--display);font-weight:600;font-size:1.12rem;line-height:1.1;overflow-wrap:anywhere}
.stop-loc{color:var(--muted);font-size:.8rem;margin-top:2px}
.haul{flex:1 1 96px;min-width:96px;position:relative;padding:22px 14px 0 0}
.haul::before{content:"";position:absolute;top:8px;left:calc(13px - var(--stop));right:0;height:3px;background:var(--amber);opacity:.55}
.haul.empty::before{background:repeating-linear-gradient(90deg,var(--muted) 0 8px,transparent 8px 14px);opacity:.7}
.haul-cargo{font-weight:600;font-size:.93rem;line-height:1.25}
.haul-cargo span{color:var(--muted);font-weight:400}
.haul-gain{color:var(--gain);font-size:.9rem;font-weight:600}
.haul.empty .haul-gain{color:var(--muted);font-weight:400}
@media (max-width:640px){
  .rail{flex-direction:column;overflow:visible;padding-left:18px}
  .stop{width:auto;padding:0 0 0 26px}
  .stop::before{top:3px}
  .haul{flex:none;min-width:0;padding:8px 0 10px 26px}
  .haul::before{top:-4px;bottom:-4px;left:5px;right:auto;width:3px;height:auto}
}

/* Les trajets : où acheter, quoi, où vendre */
.legs-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.leg{padding:14px 18px 12px;border-top:1px solid var(--line)}
.leg:first-child{border-top:0}
.leg-head{display:flex;align-items:center;gap:14px}
.leg-n{flex:none;width:30px;height:30px;border-radius:50%;background:var(--panel-2);border:1px solid var(--line);display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:1.05rem;color:var(--muted)}
.leg-way{flex:1;display:flex;align-items:center;gap:16px;min-width:0;flex-wrap:wrap}
.place{display:flex;flex-direction:column;min-width:0;padding-left:10px;border-left:4px solid var(--line)}
.place.buy{border-left-color:var(--amber)} .place.sell{border-left-color:var(--gain)}
.place-label{font-size:.8rem;font-weight:600;color:var(--muted)}
.place.buy .place-label{color:var(--amber)} .place.sell .place-label{color:var(--gain)}
.place strong{font-family:var(--display);font-weight:700;font-size:1.55rem;line-height:1.05;letter-spacing:.005em}
.place-loc{font-size:.8rem;color:var(--muted);min-height:1em}
.mcs{display:flex;gap:3px;margin-top:5px}
.mcs i,.box-chip{font-style:normal;font-size:.72rem;line-height:1.5;min-width:20px;text-align:center;border:1px solid var(--line);border-radius:3px;color:var(--muted);opacity:.45}
.mcs i.on,.box-chip{opacity:1;color:var(--ink);border-color:var(--muted);font-weight:600}
.box-chip{display:inline-block;padding:0 3px}
.mcs.unknown{font-size:.75rem;color:var(--muted)}
.plan{font-size:.82rem;color:var(--muted);margin-top:4px;display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.pack{display:inline-flex;align-items:center;gap:4px}
.plan b{color:var(--ink);font-weight:600}
.plan .plus{font-style:normal;color:var(--muted);opacity:.6;padding:0 1px}
.stock{font-size:.78rem;color:var(--muted);border:1px solid var(--line);border-radius:3px;padding:0 5px;margin-left:6px;white-space:nowrap}
.alts{margin:8px 0 0 44px;font-size:.86rem}
.alts summary{cursor:pointer;color:var(--muted)}
.alts-none{color:var(--muted);margin:6px 0 2px}
.alts ul{list-style:none;margin:6px 0 0;padding:0}
.alts li{padding:3px 0;display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}
.alts li span.num{color:var(--muted)}
@media (max-width:640px){.alts{margin-left:0}}
.plan-sep{color:var(--muted);opacity:.6;padding:0 2px}
.plan .mcs{display:inline-flex;margin:0}
.arrow{flex:none;width:40px;height:16px;color:var(--muted)}
.leg-sum{flex:none;text-align:right;display:flex;flex-direction:column;line-height:1.2}
.leg-sum b{font-family:var(--display);font-size:1.35rem;font-weight:700}
.leg-sum span{color:var(--muted);font-size:.86rem}
.jump-note{background:rgba(238,123,90,.12);border:1px solid var(--warn);border-radius:4px;color:var(--warn);font-size:.83rem;padding:5px 9px;margin-bottom:10px;display:inline-block}
.leg-sum .fee{color:var(--warn);opacity:.9;font-size:.8rem}
.items-wrap{overflow-x:auto;margin:10px 0 0 44px}
table.items{width:100%;border-collapse:collapse;font-size:.9rem;table-layout:fixed;min-width:760px}
.items th.r{width:104px}
.items th:last-child{width:70px}
.auto{border:1px solid var(--line);border-radius:3px;padding:0 4px;font-size:.72rem;color:var(--amber);margin-left:4px}
.items th{text-align:left;font-weight:500;color:var(--muted);font-size:.78rem;padding:2px 8px 4px;white-space:nowrap}
.items td{padding:6px 8px;border-top:1px solid var(--line);vertical-align:baseline}
.items th.r,.items td.r{text-align:right;white-space:nowrap}
.items th:first-child,.items td:first-child{padding-left:0}
.items th:last-child,.items td:last-child{padding-right:0}
.items .what strong{font-family:var(--display);font-weight:700;font-size:1.25rem;letter-spacing:.005em}
.items .qty{font-weight:600;margin-left:6px;color:var(--amber)}
@media (max-width:640px){
  .leg{padding:14px 14px 12px}
  .leg-head{align-items:flex-start;flex-wrap:wrap}
  .leg-way{flex-direction:column;align-items:flex-start;gap:8px;flex-basis:calc(100% - 50px)}
  .arrow{transform:rotate(90deg);margin-left:6px;width:28px}
  .leg-sum{flex-basis:100%;flex-direction:row;gap:12px;align-items:baseline;text-align:left;padding-left:44px}
  .items-wrap{margin-left:0;overflow:visible}
  table.items{min-width:0;table-layout:auto}
  .items thead{display:none}
  .items tr{display:grid;grid-template-columns:1fr 1fr;gap:2px 14px;padding:8px 0;border-top:1px solid var(--line)}
  .items td{border:0;padding:0;text-align:left !important}
  .items td.what{grid-column:1 / -1;margin-bottom:2px}
  .items td[data-l]::before{content:attr(data-l) " ";color:var(--muted);font-size:.78rem;display:block}
}
