/* Feuille de widget « xc-vehicule » — extraite des recettes de contenu (lot B, chantier 6) par
   tools/styles-check/extraire-styles-recettes.py ; valeurs = jetons de sk-tokens.css. */
.xc,.xc-liste{--bleu:var(--sk-primary);--jaune:var(--sk-accent);--encre:var(--sk-fg);--gris:var(--sk-muted);--trait:var(--sk-border);--fond:var(--sk-bg);--vert:var(--sk-c-sarcelle-2)}
.xc{max-width:1320px;margin:0 auto;padding:0 16px 48px;font-family: var(--sk-font);color:var(--sk-fg)}
.xc *{box-sizing:border-box}
.xc-tete h1{font-size:1.6rem;margin:.4rem 0 1rem;font-weight:800;display:flex;align-items:center;gap:.6rem}
.xc-tete h1 .rond{width:42px;height:42px;border-radius:var(--sk-radius);background:var(--sk-accent);color:var(--sk-on-primary);display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem}
.xc-corps{display:grid;grid-template-columns:410px minmax(0,1fr);gap:1.2rem;align-items:start}
@media(max-width:960px){.xc-corps{grid-template-columns:minmax(0,1fr)}.xc-carte{position:relative!important;top:0!important;height:42vh!important;min-height:260px!important;order:-1}}
.xc-panneau{background:var(--sk-surface);border:1px solid var(--sk-border);border-radius:var(--sk-radius-lg);padding:1rem;display:flex;flex-direction:column;gap:.9rem}
.xc-position{display:flex;align-items:center;gap:.6rem;background:var(--sk-warning-soft);border:1px solid var(--sk-c-ambre-1);border-radius:var(--sk-radius);padding:.6rem .8rem;font-size:.86rem}
.xc-position.ok{background:var(--sk-success-soft);border-color:var(--sk-c-sarcelle-4)}
.xc-position i{color:var(--sk-warning)}.xc-position.ok i{color:var(--sk-success)}
.xc-position button{margin-left:auto;border:0;background:var(--sk-fg);color:var(--sk-on-primary);border-radius:var(--sk-radius-pill);padding:.35rem .8rem;font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap}
.xc-trajet{position:relative;display:flex;flex-direction:column;gap:.5rem;padding-left:1.6rem}
.xc-trajet:before{content:'';position:absolute;left:.55rem;top:1.3rem;bottom:1.3rem;border-left:2px dotted var(--sk-border-strong)}
.xc-point{position:relative}
.xc-point .puce{position:absolute;left:-1.35rem;top:50%;transform:translateY(-50%);width:12px;height:12px;border-radius:var(--sk-radius-round);background:var(--sk-fg)}
.xc-point.arrivee .puce{border-radius:var(--sk-radius-xs);background:var(--sk-primary)}
.xc-point input{width:100%;border:1px solid var(--sk-border);background:var(--sk-bg);border-radius:var(--sk-radius-sm);padding:.65rem 2.3rem .65rem .8rem;font:inherit;font-size:.93rem;outline:0}
.xc-point input:focus{border-color:var(--sk-primary);background:var(--sk-surface)}
.xc-point input:disabled{opacity:.55}
.xc-point .act{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--sk-muted);cursor:pointer;padding:.3rem}
.xc-liste{position:absolute;left:0;right:0;top:100%;margin-top:.3rem;background:var(--sk-surface);border:1px solid var(--sk-border);border-radius:var(--sk-radius);box-shadow:0 12px 32px rgba(14,14,40,.14);z-index:1000;display:none;max-height:280px;overflow-y:auto}
.xc-liste button{all:unset;box-sizing:border-box;display:flex;gap:.6rem;align-items:flex-start;width:100%;padding:.6rem .8rem;cursor:pointer;font-size:.88rem;line-height:1.3}
.xc-liste button:hover,.xc-liste button.actif{background:var(--sk-bg)}
.xc-liste button i{color:var(--sk-muted);margin-top:.15rem}
.xc-liste small{display:block;color:var(--sk-muted);font-size:.75rem}
.xc-quand{display:flex;gap:.5rem;flex-wrap:wrap}
.xc-zone{border-radius:var(--sk-radius);padding:.7rem .9rem;background:var(--sk-warning-soft);border:1px solid var(--sk-c-ambre-1);font-size:.86rem;display:flex;flex-direction:column;gap:.4rem}
.xc-zone .villes{display:flex;gap:.4rem;flex-wrap:wrap}.xc-zone .villes button{border:0;background:var(--sk-fg);color:var(--sk-on-primary);border-radius:var(--sk-radius-pill);padding:.3rem .8rem;font:inherit;font-size:.8rem;cursor:pointer}
.xc-quand input{border:1px solid var(--sk-border);border-radius:var(--sk-radius-sm);padding:.5rem .6rem;font:inherit;font-size:.88rem}
.xc-vehicule .t .avert{color:var(--sk-warning)}
.xc-quand select{border:1px solid var(--sk-border);border-radius:var(--sk-radius-sm);padding:.5rem .6rem;font:inherit;font-size:.88rem;background:var(--sk-surface)}
.xc-infos{display:flex;gap:1rem;color:var(--sk-muted);font-size:.85rem;flex-wrap:wrap}
.xc-infos b{color:var(--sk-fg)}
.xc-vehicules{display:flex;flex-direction:column;gap:.5rem}
.xc-vehicule{display:flex;align-items:center;gap:.8rem;border:2px solid var(--sk-border);border-radius:var(--sk-radius);padding:.6rem .8rem;cursor:pointer;background:var(--sk-surface);text-align:left;font:inherit;width:100%;color:var(--sk-fg)}
.xc-vehicule.actif{border-color:var(--sk-fg);background:var(--sk-bg)}
.xc-vehicule[disabled]{opacity:.45;cursor:default}
.xc-vehicule .ico{width:48px;height:40px;border-radius:var(--sk-radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--sk-on-primary)}
.xc-vehicule .t{flex:1;min-width:0}
.xc-vehicule .t b{display:block;font-size:.95rem}
.xc-vehicule .t small{color:var(--sk-muted);font-size:.78rem}
.xc-vehicule .px{font-weight:800;font-size:1rem;text-align:right;white-space:nowrap}
.xc-vehicule .px small{display:block;color:var(--sk-muted);font-weight:400;font-size:.72rem}
.xc-paiement{border:1px solid var(--sk-border);border-radius:var(--sk-radius);padding:.8rem;display:none;flex-direction:column;gap:.5rem;background:var(--sk-surface-alt)}
.xc-paiement.ouvert{display:flex}
.xc-paiement .ligne{display:flex;justify-content:space-between;font-size:.9rem}
.xc-paiement .ligne b{font-size:1rem}
.xc-paiement .avert{font-size:.78rem;color:var(--sk-warning);background:var(--sk-warning-soft);border-radius:var(--sk-radius-sm);padding:.45rem .6rem}
.xc-paiement .champs{display:grid;grid-template-columns:1fr 90px 70px;gap:.4rem}
.xc-paiement input{border:1px solid var(--sk-border);border-radius:var(--sk-radius-sm);padding:.5rem .6rem;font:inherit;font-size:.88rem;min-width:0}
.xc-paiement small{color:var(--sk-muted);font-size:.72rem}
.xc-reserver{border:0;background:var(--sk-fg);color:var(--sk-on-primary);border-radius:var(--sk-radius);padding:.85rem;font:inherit;font-weight:700;cursor:pointer;width:100%}
.xc-reserver[disabled]{opacity:.45;cursor:default}
.xc-carte{height:calc(100vh - 190px);min-height:520px;border-radius:var(--sk-radius-lg);overflow:hidden;border:1px solid var(--sk-border);position:sticky;top:90px}
.xc-carte .map{width:100%;height:100%}
.xc-legende{position:absolute;right:12px;top:12px;z-index:500;background:var(--sk-surface);border-radius:var(--sk-radius);box-shadow:0 4px 14px rgba(0,0,0,.15);padding:.5rem .7rem;font-size:.75rem;display:flex;flex-direction:column;gap:.25rem}
.xc-legende span{display:flex;align-items:center;gap:.4rem}
.xc-legende.replie{padding:0;background:none;box-shadow:none}
.xc-leg-ouvrir{width:32px;height:32px;border-radius:var(--sk-radius-round);border:0;background:var(--sk-surface);color:var(--sk-fg);box-shadow:0 2px 10px rgba(0,0,0,.2);cursor:pointer;font-size:.8rem}
.xc-leg-fermer{position:absolute;top:4px;right:6px;border:0;background:none;color:var(--sk-muted);cursor:pointer;font-size:.8rem}
.xc-legende:not(.replie){padding-right:1.6rem}
.xc-legende i{width:18px;height:18px;border-radius:var(--sk-radius-round);display:inline-flex;align-items:center;justify-content:center;color:var(--sk-on-primary);font-size:.6rem}
.xc-suivi{border:2px solid var(--sk-c-sarcelle-2);border-radius:var(--sk-radius);padding:.8rem;display:none;flex-direction:column;gap:.5rem;background:var(--sk-bg)}
.xc-suivi.ouvert{display:flex}
.xc-suivi .statut{font-weight:800;font-size:1rem;display:flex;align-items:center;gap:.5rem}
.xc-suivi .chauffeur{display:flex;align-items:center;gap:.7rem;font-size:.88rem}
.xc-suivi .chauffeur .av{width:40px;height:40px;border-radius:var(--sk-radius-round);background:var(--sk-fg);color:var(--sk-on-primary);display:flex;align-items:center;justify-content:center;font-weight:700}
.xc-suivi .barre{height:6px;border-radius:var(--sk-radius-pill);background:var(--sk-border);overflow:hidden}
.xc-suivi .barre span{display:block;height:100%;background:var(--sk-c-sarcelle-2);transition:width .6s}
.xc-suivi button{border:1px solid var(--sk-c-rouge-1);background:var(--sk-surface);color:var(--sk-danger);border-radius:var(--sk-radius-sm);padding:.5rem;font:inherit;font-weight:600;cursor:pointer}
.xc-etat{border-radius:var(--sk-radius);padding:.7rem .9rem;font-size:.88rem;display:none}
.xc-etat.ko{display:block;background:var(--sk-danger-soft);color:var(--sk-danger)}
.xc-pin{background:none;border:0}
.xc-pin div{width:18px;height:18px;border-radius:var(--sk-radius-round);background:var(--sk-fg);border:3px solid var(--sk-surface);box-shadow:0 2px 6px rgba(0,0,0,.35)}
.xc-pin.b div{border-radius:var(--sk-radius-xs);background:var(--sk-primary)}
.xc-moi div{width:18px;height:18px;border-radius:var(--sk-radius-round);background:var(--sk-primary);border:3px solid var(--sk-surface);box-shadow:0 0 0 8px rgba(9,78,215,.18)}
.xc-veh{background:none;border:0}
.xc-veh div{width:28px;height:28px;border-radius:var(--sk-radius-round);display:flex;align-items:center;justify-content:center;color:var(--sk-on-primary);font-size:.75rem;border:2px solid var(--sk-surface);box-shadow:0 2px 6px rgba(0,0,0,.3);transition:transform .3s}
.xc-veh.occupe div{opacity:.45;filter:grayscale(.6)}
.xc-veh.mien div{width:36px;height:36px;font-size:.95rem;box-shadow:0 0 0 6px rgba(16,185,129,.35),0 2px 8px rgba(0,0,0,.35)}
