/* Courses du coursier (public/courses.js) : page du garage (crs-*) et écran « Mes courses » du téléphone du coursier (mc-*) */

/* ---------- garage : liste ---------- */
.crs-haut{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:var(--esp-3);margin-bottom:var(--esp-3)}
.crs-haut:empty{display:none}
.crs-haut .panel-h{align-items:flex-start}
.crs-haut .panel-h h2{margin:0 0 2px}
.crs-total{display:flex;flex-direction:column;align-items:flex-end;font-size:20px;font-weight:700;color:var(--copper);line-height:1.1}
.crs-lignes{display:flex;flex-direction:column}
.crs-ligne{display:flex;align-items:center;gap:10px;padding:6px 0;border-top:1px solid var(--line);flex-wrap:wrap}
.crs-ligne>.small:nth-of-type(2){margin-left:auto}
.crs-raison{color:var(--bad);min-width:0;flex:1 1 200px}
.crs-attente{color:var(--warn);font-weight:600}
.crs-verif{border-color:color-mix(in srgb,var(--bad) 35%,var(--line))}
.crs-table .crs-trajet{max-width:clamp(140px,18vw,300px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis} /* jamais assez large pour pousser la colonne Argent hors de l’écran */
.crs-table .crs-type{white-space:nowrap}
.crs-table td .pill{white-space:nowrap}

/* ---------- garage : fiche ---------- */
.crs-fiche{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--esp-3);align-items:start}
.crs-pts,.crs-hist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.crs-pl{display:flex;gap:10px;align-items:flex-start;font-size:var(--t-texte)}
.crs-pl>span:last-child{min-width:0;overflow-wrap:anywhere}
.crs-bulle{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:12px;background:var(--panel2);border:2px solid var(--line);color:var(--muted)}
.crs-pl.fait .crs-bulle{background:var(--ok);border-color:var(--ok);color:#fff}
.crs-infos{margin-top:12px}
.crs-hist li{display:flex;gap:10px;font-size:var(--t-petit)}
.crs-hist .crs-h{flex:none;width:72px;color:var(--muted)}
.crs-carte{height:320px;border-radius:var(--r-carte);border:1px solid var(--line);overflow:hidden;background:#e8e4dc}
.crs-photo{display:block;margin-top:12px}
.crs-photo img{max-width:100%;max-height:320px;border-radius:10px;border:1px solid var(--line)}
.crs-alerte{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:10px;background:var(--bad-soft);color:var(--bad);margin-bottom:var(--esp-3);font-size:var(--t-texte)}
.crs-alerte svg{flex:none;width:18px;height:18px;margin-top:1px}
/* Repères A / B / étapes (fiche et Carte GPS) */
.crs-rep-wrap{background:none;border:0}
.crs-rep{position:absolute;left:0;top:0;transform:translate(-50%,-50%);width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font:800 13px/1 Inter,system-ui,sans-serif;color:#fff;border:2px solid #fff;box-shadow:0 2px 6px #0006}
.crs-rep.a{background:#2a6585}.crs-rep.b{background:#b23a2c}.crs-rep.e{background:#b8752a;width:22px;height:22px;font-size:11px}.crs-rep.e.fait{background:#23784a}
.sv-etiq-course{display:block;font-weight:600;font-size:11px;opacity:.95;margin-top:1px}
.sv-course{display:flex;gap:5px;align-items:flex-start;color:var(--copper)}
.sv-course svg{flex:none;margin-top:2px}

/* ---------- garage : formulaire ---------- */
.crs-form .crs-sec{padding:12px 0;border-bottom:1px solid var(--line)}
.crs-form .crs-sec:first-child{padding-top:0}
.crs-form h3{margin:0 0 8px;font-size:var(--t-etiq);font-weight:var(--g-fort);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.crs-choix-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.crs-choix{display:flex;gap:9px;align-items:flex-start;padding:9px 11px;border:1px solid var(--line);border-radius:var(--r-carte);background:var(--panel2);cursor:pointer;color:var(--ink);font-weight:var(--g-normal);font-size:var(--t-texte)}
.crs-choix input{flex:none;margin-top:3px;width:17px;height:17px;accent-color:var(--copper)}
.crs-choix>span{display:flex;flex-direction:column;gap:2px;min-width:0}
.crs-choix:has(input:checked){border-color:var(--copper);background:var(--copper-soft)}
.crs-choix[hidden]{display:none}
.crs-urgent{align-self:end}
.crs-pt{padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-carte);background:var(--panel);margin-bottom:8px;display:flex;flex-direction:column;gap:6px}
.crs-pt-h{display:flex;align-items:center;gap:12px;justify-content:space-between}
.crs-pt-h .check{margin-left:auto}
.crs-pt-c{display:flex;flex-direction:column;gap:6px}
.crs-pt-c[hidden]{display:none}
.crs-pt-l{display:flex;gap:8px}
.crs-pt-l .inp{flex:1;min-width:0}
.crs-perso-note{display:flex;gap:8px;align-items:flex-start;margin:12px 0 0;padding:10px 12px;border-radius:10px;background:var(--copper-soft);color:var(--ink);font-size:var(--t-texte)}
.crs-perso-note[hidden]{display:none}
.crs-perso-note svg{flex:none;width:18px;height:18px;color:var(--copper)}
/* Choisir un point sur la carte (par-dessus le formulaire) */
.crs-choix-carte{position:fixed;inset:0;z-index:3000;background:#0009;display:grid;place-items:center;padding:16px}
.crs-cc{width:min(900px,100%);height:min(640px,100%);background:var(--panel);border-radius:14px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 50px #0008}
.crs-cc-h{padding:10px 14px;display:flex;flex-direction:column;gap:2px}
.crs-cc-carte{flex:1;min-height:0}
.crs-cc-f{display:flex;gap:8px;align-items:center;padding:10px 14px;border-top:1px solid var(--line);flex-wrap:wrap}
.crs-cc-f .sp{flex:1}

@media (max-width:900px){.crs-fiche{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){
  .crs-haut{grid-template-columns:minmax(0,1fr)}
  .crs-table .crs-trajet{max-width:none;white-space:normal}
  .crs-pt-l{flex-wrap:wrap}.crs-pt-l .btn{flex:1 1 100%;justify-content:center}
  .crs-choix-g{grid-template-columns:minmax(0,1fr)}
  .crs-carte{height:260px}
  .crs-choix-carte{padding:0}.crs-cc{height:100%;border-radius:0}
}

/* ---------- téléphone du coursier : « Mes courses » ---------- */
.mc{min-height:100vh;min-height:100dvh;background:var(--bg);color:var(--ink);font-size:16px;padding-bottom:calc(24px + env(safe-area-inset-bottom))}
.mc-h{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:10px;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;background:var(--panel);border-bottom:1px solid var(--line)}
.mc-logo{width:38px;height:38px;border-radius:50%}
.mc-qui{display:flex;flex-direction:column;line-height:1.15;flex:1;min-width:0}
.mc-qui b{font-size:18px}.mc-qui span{font-size:13px;color:var(--muted)}
.mc-ico{width:46px;height:46px;border-radius:12px;border:1px solid var(--line);background:var(--panel2);color:var(--ink);display:grid;place-items:center}
.mc-b{max-width:560px;margin:0 auto;padding:12px;display:flex;flex-direction:column;gap:12px}
.mc-carte{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow)}
.mc-carte.urgent{border:2px solid var(--bad)}
.mc-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.mc-no{font-weight:800;font-size:15px;color:var(--muted)}
.mc-etat{margin-left:auto;font-size:13px;font-weight:700;color:var(--info);background:var(--info-soft);padding:4px 9px;border-radius:99px}
.mc-urg{font-size:12px;font-weight:800;color:#fff;background:var(--bad);padding:3px 8px;border-radius:99px}
.mc-perso{font-size:12px;font-weight:700;color:var(--copper);background:var(--copper-soft);padding:3px 8px;border-radius:99px}
.mc-type{margin:0;font-size:22px;line-height:1.2;font-family:var(--f-disp)}
.mc-heure{display:flex;gap:6px;align-items:center;font-size:15px;color:var(--warn)}
.mc-gris{color:var(--muted);font-size:14px}
.mc-pts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.mc-pts li{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:12px}
.mc-pts li>span:last-child{min-width:0;overflow-wrap:anywhere}
.mc-pts li.encours{background:var(--copper-soft);outline:2px solid var(--copper)}
.mc-pts li.fait{opacity:.7}
.mc-bulle{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:var(--panel2);border:2px solid var(--line)}
.mc-pts li.encours .mc-bulle{background:var(--copper);border-color:var(--copper);color:#fff}
.mc-pts li.fait .mc-bulle{background:var(--ok);border-color:var(--ok);color:#fff}
.mc-route,.mc-contact,.mc-argent{display:flex;flex-direction:column;gap:8px;padding-top:10px;border-top:1px solid var(--line)}
.mc-details{padding:10px 12px;border-radius:12px;background:var(--panel2);overflow-wrap:anywhere}
.mc-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mc-docs{display:flex;flex-direction:column;gap:8px}
.mc-somme{display:block;font-size:24px;color:var(--copper)}
.mc-recu{display:flex;gap:6px;align-items:center;flex-wrap:wrap;color:var(--ok);font-weight:600}
.mc-preuve-info{display:flex;gap:6px;align-items:center}
.mc-actions{display:flex;flex-direction:column;gap:10px;padding-top:4px}
/* Boutons : gros (action principale), moyens (itinéraire, appeler…) */
.mc-gros,.mc-moyen{display:flex;align-items:center;justify-content:center;gap:10px;border-radius:14px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;text-align:center}
.mc-gros{min-height:62px;font-size:19px;padding:12px 16px;border:0;background:var(--ink);color:var(--panel)}
.mc-gros.ok{background:var(--ok);color:#fff}
.mc-gros.fin{background:var(--copper);color:#fff}
.mc-gros.non{background:var(--bad);color:#fff}
.mc-moyen{min-height:50px;font-size:16px;padding:10px 12px;border:1px solid var(--line);background:var(--panel2);color:var(--ink)}
.mc-moyen.on{border:2px solid var(--copper);background:var(--copper-soft)}
.mc-lien{border:0;background:none;color:var(--info);font:inherit;font-size:14px;text-decoration:underline;padding:4px 0;cursor:pointer;align-self:flex-start}
.mc-gros svg,.mc-moyen svg{flex:none}
.mc-vide{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:40px 16px;color:var(--muted)}
.mc-vide b{color:var(--ink);font-size:18px}
.mc-vide svg{color:var(--copper)}
.mc-especes{display:flex;gap:10px;align-items:center;padding:12px;border-radius:14px;background:var(--warn-soft);color:var(--ink);font-size:15px}
.mc-especes svg{flex:none;color:var(--warn)}
.mc-t{margin:6px 2px 0;font-size:15px;color:var(--muted)}
.mc-mini{display:flex;gap:10px;align-items:flex-start;text-align:left;padding:12px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font:inherit}
.mc-mini-no{font-weight:800;color:var(--muted);flex:none}
.mc-finies{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:10px 12px}
.mc-finies summary{font-weight:700;cursor:pointer;min-height:32px;display:flex;align-items:center}
.mc-fini{padding:8px 0;border-top:1px solid var(--line);font-size:15px;overflow-wrap:anywhere}
/* Panneau du bas (refuser, argent, terminer) */
.mc-voile{position:fixed;inset:0;background:#0008;z-index:50}
.mc-p{position:fixed;left:0;right:0;bottom:0;z-index:51;max-height:92vh;overflow:auto;background:var(--panel);border-radius:18px 18px 0 0;padding:16px 14px calc(16px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;max-width:560px;margin:0 auto}
.mc-p h2{margin:0;font-size:20px}
.mc-st{margin:6px 0 0;font-size:16px}
.mc-p-f{display:grid;grid-template-columns:1fr 2fr;gap:10px;margin-top:4px}
.mc-err{color:var(--bad);font-weight:600;font-size:15px}
.mc-err:empty{display:none}
.mc-champ{display:flex;flex-direction:column;gap:6px;font-size:15px;color:var(--muted);font-weight:600}
.mc-champ input,.mc-champ textarea{font:inherit;font-size:20px;padding:12px;border-radius:12px;border:1px solid var(--line);background:var(--panel2);color:var(--ink);width:100%}
.mc-moyens{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.mc-moyens .mc-moyen{font-size:15px;padding:8px 6px}
.mc-chips{display:flex;flex-wrap:wrap;gap:8px}
.mc-chip{border:1px solid var(--line);background:var(--panel2);color:var(--ink);border-radius:99px;padding:9px 12px;font:inherit;font-size:14px}
.mc-photo-btn{cursor:pointer}
.mc-apercu{width:100%;max-height:260px;object-fit:contain;border-radius:12px;background:var(--panel2)}
@media (max-width:360px){.mc-type{font-size:20px}.mc-gros{font-size:17px}.mc-2{grid-template-columns:1fr}.mc-moyens{grid-template-columns:1fr}}
.crs-choix-2{grid-template-columns:repeat(2,minmax(0,360px))}
.crs-ici{display:flex;align-items:center;gap:6px}.crs-ici svg{width:16px;height:16px;flex:none;color:var(--copper)}
/* Recherche d'un lieu dans la carte « Choisir le point » */
.crs-cc-h{position:relative}
.crs-cc-r{display:flex;gap:8px;margin-top:6px}
.crs-cc-r .inp{flex:1;min-width:0}
.crs-cc-res{position:absolute;left:14px;right:14px;top:100%;z-index:1000;max-height:260px;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #0003}
.crs-cc-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;padding:8px 12px;border:0;border-bottom:1px solid var(--line);background:none;cursor:pointer;color:var(--ink)}
.crs-cc-item:hover{background:var(--panel2)}
.crs-cc-msg{padding:10px 12px}
.mc-info-btn{margin-top:8px;width:100%}.mc-chip.on{background:var(--copper);color:#fff;border-color:var(--copper)}
/* Fiche d'une course sur téléphone : rien ne doit dépasser de l'écran (sinon toute la page glisse sur le côté) */
.crs-fiche,.crs-fiche .panel,.crs-infos{min-width:0;max-width:100%}
.crs-infos *{overflow-wrap:anywhere}
.crs-arch{text-align:right;width:1%}
