/* N0 NAME — produits, tarifs, commande, interface chauffeur, alertes */

/* Lignes de commande côté client */
.etiquette{display:block;font-size:.8125rem;font-weight:600;margin-bottom:6px}
.ligne-produit{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:start;margin-bottom:10px}
.ligne-produit .lp-produit:not([type=hidden]){grid-column:1/3}
.ligne-produit .quantite{grid-column:1}
.lp-retirer{min-height:48px;width:48px;font:inherit;font-size:1.4rem;border:1.5px solid #C9CED6;border-radius:var(--radius);background:var(--white);color:var(--fail);cursor:pointer}
.bouton-lien{font:inherit;font-weight:600;background:transparent;border:0;color:var(--ink);text-decoration:underline;text-decoration-color:var(--signal);text-underline-offset:4px;cursor:pointer;padding:8px 0}

/* Navigation superviseur */
.entete-nav{display:flex;gap:4px;margin-left:8px}
.entete-nav a{color:#C9CFDA;text-decoration:none;font-size:.9rem;font-weight:600;padding:6px 12px;border-radius:99px}
.entete-nav a:hover{background:#1B212C;color:#fff}

/* Tarifs */
.produit-edit{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:10px;align-items:end;padding:12px 0;border-top:1px solid var(--mist)}
.produit-edit label{display:block;font-size:.75rem;font-weight:600;color:var(--slate)}
.produit-edit input[type=text]{display:block;width:100%;margin-top:4px;min-height:40px;padding:8px 10px;color:var(--ink);font-weight:400;font-size:.95rem}
.produit-edit .pe-actif{grid-column:1/5;display:flex;gap:8px;align-items:center;font-size:.85rem;color:var(--ink);font-weight:400}
.produit-edit .pe-actif input{width:auto;margin:0;min-height:0}
.produit-inactif{opacity:.6}
.unite{align-self:center;color:var(--slate)}

/* Éditeur de commande */
.editeur{margin-top:8px}
.edit-grille{display:grid;grid-template-columns:2.2fr .8fr 1fr .9fr;gap:8px;align-items:center;margin-bottom:8px}
.edit-tete{font-size:.75rem;font-weight:600;color:var(--slate)}
.edit-grille input,.edit-grille select{min-height:40px;padding:8px 10px;font-size:.9rem}
.edit-total,.edit-prix{text-align:right}
.edit-frais{display:block;font-size:.8rem;font-weight:600;margin:12px 0}
.edit-frais input,.edit-frais textarea{display:block;margin-top:4px;font-weight:400}
.edit-bas{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}
.edit-total-general{font-family:'Space Grotesk','Inter',sans-serif;font-size:1.1rem}
.recap-lignes div{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px solid var(--mist);font-size:.9rem}
.chauffeur-actuel{background:#FFF0E9;border-radius:10px;padding-left:10px;padding-right:10px}
.actions-bas{margin-top:12px}

/* Interface chauffeur */
.mission{border:1.5px solid var(--ink);border-radius:16px;padding:16px;margin-bottom:16px;background:var(--white)}
.a-preparer-mission{margin:12px 0}
.a-preparer-mission strong{font-size:2.4rem}
.infos-client{margin:12px 0}
.infos-client h3{font-family:'Space Grotesk','Inter',sans-serif;font-size:1rem;margin-bottom:4px}
.infos-client p{line-height:1.6}
.note-client{background:var(--paper);border-radius:10px;padding:10px;margin-top:8px}
.raccourcis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}
.raccourci{display:block;text-align:center;text-decoration:none;font-weight:600;font-size:.85rem;padding:12px 4px;border:1.5px solid var(--ink);border-radius:12px;color:var(--ink);background:var(--paper)}
.avancer{margin-top:8px}
.gros-bouton{display:block;width:100%;font:inherit;font-weight:700;font-size:1.25rem;padding:20px;min-height:68px;border:0;border-radius:16px;cursor:pointer;color:var(--ink);background:var(--signal)}
.gros-livre{background:var(--done);color:#fff}
.lien-modifier{display:block;text-align:center;margin-top:12px;font-size:.9rem;color:var(--slate)}

/* Issue de la livraison : payé, partiel, absent, annulé */
.issue{margin-top:12px;border-top:1px dashed #C9CED6;padding-top:12px}
.issue h3{font-family:'Space Grotesk','Inter',sans-serif;font-size:1rem;margin-bottom:8px}
.issue-partiel{display:flex;gap:8px;align-items:center;margin:10px 0;flex-wrap:wrap}
.issue-partiel input{flex:1;min-width:120px;min-height:48px}
.btn-moyen{font:inherit;font-weight:600;padding:12px 16px;min-height:48px;border-radius:12px;border:1.5px solid var(--ink);background:var(--white);color:var(--ink);cursor:pointer}
.btn-moyen.dangereux{border-color:#E7A3A3;color:#A32727}
.issue-ligne{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.issue-ligne form{display:block}
.issue-ligne .btn-moyen{width:100%}

/* Alertes superviseur */
.bloc-alertes{border-color:var(--fail);background:#FFF6F6}
.alerte-carte{border:1.5px solid #E7A3A3;background:var(--white);border-radius:12px;padding:14px;margin-bottom:10px}
.alerte-motif{font-weight:700;color:#A32727;margin-bottom:4px}
.pastille.p-absent{background:#FDF0CC;color:#8A5F00}
.pastille.p-reste{background:#FBE3E3;color:#A32727}

@media (max-width:640px){
  .produit-edit{grid-template-columns:1fr 1fr}
  .produit-edit .pe-nom{grid-column:1/3}
  .produit-edit .pe-actif{grid-column:1/3}
  .edit-grille{grid-template-columns:1fr 1fr}
  .edit-tete{display:none}
  .edit-grille select{grid-column:1/3}
  .raccourcis{grid-template-columns:1fr 1fr}
  .entete-sup{flex-wrap:wrap}
}

.lien-chauffeur{display:flex;flex-direction:column;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid var(--mist)}
.lien-chauffeur input{width:100%;min-height:40px;padding:8px 10px;font-size:.85rem;background:var(--paper)}
.lien-chauffeur .btn-petit{align-self:flex-start;text-decoration:none}

/* Alerte : effacement des données */
.nav-alerte{background:#D93A3A;color:#fff !important;margin-left:6px}
.nav-alerte:hover{background:#B72E2E !important}
.nav-alerte-chauffeur{text-decoration:none;font-size:.8rem;font-weight:700;padding:6px 14px;border-radius:99px;margin-left:8px}
.form-effacer{display:flex;flex-direction:column;gap:12px;margin-top:12px}
.form-effacer label{display:block;font-size:.85rem;font-weight:600}
.form-effacer input[type=password],.form-effacer input[type=text]{display:block;margin-top:4px;font-weight:400;max-width:420px}
.liste-cases{display:flex;flex-direction:column;gap:6px}
.form-effacer .case{display:flex;gap:8px;align-items:center;font-weight:400;padding:8px 10px;border:1px solid var(--mist);border-radius:10px;background:var(--white)}
.form-effacer .case input{width:auto;margin:0;min-height:0}
.btn-alerte{font:inherit;font-weight:700;color:#fff;background:#D93A3A;border:0;border-radius:12px;padding:14px 18px;min-height:48px;cursor:pointer;align-self:flex-start}
.btn-alerte:hover{background:#B72E2E}

/* Échange, client, synchronisation */
.form-client-sup{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
.form-client-sup label{display:block;font-size:.8rem;font-weight:600}
.form-client-sup label.pleine{grid-column:1/3}
.form-client-sup input{display:block;margin-top:4px;font-weight:400;min-height:42px}
.form-client-sup button{grid-column:1/3;justify-self:start}
.issue-sup{margin-top:14px}
.btn-echange{display:block;text-align:center;text-decoration:none;margin-top:12px}
.etiquette-echange{margin-top:6px;text-align:center}
.bouton-sync{margin-left:auto;font:inherit;font-size:.8rem;font-weight:600;color:#fff;background:#2F6BFF;border:0;border-radius:99px;padding:6px 14px;cursor:pointer}
.bouton-sync:hover{filter:brightness(1.1)}
.etat-sync{font-size:.75rem;color:#9AA3B2;margin-left:8px}
.etat-sync.hors-ligne{color:#FF8A8A;font-weight:700}
.bouton-sync+.etat-sync+.bouton-son{margin-left:12px}
@media (max-width:640px){.form-client-sup{grid-template-columns:1fr}.form-client-sup label.pleine,.form-client-sup button{grid-column:1}}

/* Bandeau : activer le son */
.barre-son{display:block;width:100%;position:sticky;top:0;z-index:50;font:inherit;font-weight:700;font-size:1rem;color:var(--ink);background:var(--signal);border:0;padding:14px 16px;cursor:pointer;text-align:center}
.barre-son[hidden]{display:none}

/* Sur place */
.gros-sur-place{background:var(--route);color:#fff;box-shadow:0 10px 24px -10px rgba(47,107,255,.8)}
.aide-sur-place{text-align:center;margin-top:8px}
.sur-place-fait{text-align:center;margin:4px 0 12px}
.pastille.p-sur-place{background:#E4ECFF;color:#1A4BC4}

/* Le client arrive (côté chauffeur) */
.client-arrive{margin:0 0 12px;padding:14px 16px;border-radius:14px;background:#DDF4EA;color:#0B5E3E;font-weight:700;text-align:center;animation:arrive 1.1s ease-in-out 4}

/* Encaissé aujourd hui (superviseur) */
.encaisse{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;padding:16px 18px;border-radius:var(--r-md,16px);background:linear-gradient(135deg,#12A26B,#0B7A50);color:#fff;box-shadow:0 10px 24px -14px rgba(18,162,107,.9)}
.encaisse span{display:block;font-weight:600;opacity:.95}
.encaisse small{display:block;opacity:.85;font-size:.8rem;margin-top:2px}
.encaisse strong{font-family:"Space Grotesk","Inter",sans-serif;font-size:2rem;letter-spacing:-.02em;white-space:nowrap}

/* Bouton Alerte bien visible (superviseur et chauffeur) */
.btn-alerte-sup{display:flex;align-items:center;gap:14px;margin:0 0 14px;padding:14px 18px;border-radius:var(--r-md,16px);background:#D93A3A;color:#fff;text-decoration:none;box-shadow:0 10px 24px -14px rgba(217,58,58,.9)}
.btn-alerte-sup:hover{background:#B72E2E}
.btn-alerte-sup .ico{width:30px;height:30px;flex:none}
.btn-alerte-sup strong{display:block;font-size:1.1rem}
.btn-alerte-sup small{display:block;opacity:.92;font-size:.82rem;margin-top:2px}

/* Couleur de l'intervention selon son statut */
.commande.st-en_attente,.mission.st-en_attente{background:#FFF6DD;box-shadow:inset 0 0 0 2px #E8A400}
.commande.st-attribuee,.mission.st-attribuee{background:#FFF0E6;box-shadow:inset 0 0 0 2px #FF5B1F}
.commande.st-acceptee,.mission.st-acceptee{background:#FFF9E0;box-shadow:inset 0 0 0 2px #D9B400}
.commande.st-en_cours,.mission.st-en_cours{background:#E8EFFF;box-shadow:inset 0 0 0 2px #2F6BFF}
.commande.st-en_cours.st-sur-place,.mission.st-sur-place{background:#F0E8FF;box-shadow:inset 0 0 0 2px #7A3FE0}
.commande.st-livree,.mission.st-livree{background:#E4F6EE;box-shadow:inset 0 0 0 2px #12A26B}
.commande.st-annulee,.commande.st-absent,.mission.st-annulee,.mission.st-absent{background:#FDE9E9;box-shadow:inset 0 0 0 2px #D93A3A}
.pastille.p-sur-place{background:#7A3FE0;color:#fff}

/* Terminées OK / NOK */
.termines-2col{display:grid;grid-template-columns:1fr;gap:14px}
.termines-2col .bloc{margin:0}
.col-ok{border-top:5px solid #12A26B}
.col-nok{border-top:5px solid #D93A3A}
@media (min-width:760px){.termines-2col{grid-template-columns:1fr 1fr}}

/* Messages du client */
.messages-client{margin:12px 0;padding:12px 14px;border-radius:14px;background:#FFF0E6;border:2px solid #FF5B1F}
.messages-client h3{margin:0 0 6px;font-size:.95rem}
.messages-client p{margin:4px 0;font-weight:600}
.messages-client time{display:block;font-size:.75rem;font-weight:500;opacity:.7}
.carte-message textarea{width:100%;box-sizing:border-box;margin:8px 0;padding:12px;border:1px solid #C9CED8;border-radius:14px;font:inherit}
.mc-idees{display:flex;flex-wrap:wrap;gap:8px}
.mc-idees button{border:0;border-radius:99px;padding:8px 14px;background:#EDEFF3;font:inherit;font-weight:600;cursor:pointer}
.mc-historique{list-style:none;margin:10px 0 0;padding:0}
.mc-historique li{padding:8px 0;border-top:1px solid #E5E7EC}

/* Kilomètres (GPS) */
.km-ligne{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:10px 0;padding:10px 14px;border-radius:14px;background:#E8EFFF;color:#1A4BC4}
.km-ligne strong{font-family:"Space Grotesk","Inter",sans-serif;font-size:1.3rem}
.km-ligne small{margin-left:auto;opacity:.8}
.encaisse-km{background:linear-gradient(135deg,#2F6BFF,#1A4BC4);box-shadow:0 10px 24px -14px rgba(47,107,255,.9)}

/* Messages rapides du chauffeur et message du livreur chez le client */
.msg-rapides{margin:14px 0}
.msg-rapides h3{margin:0 0 8px;font-size:.95rem}
.msg-rapides form{display:flex;flex-wrap:wrap;gap:8px}
.msg-rapides button{border:0;border-radius:99px;padding:12px 16px;background:#EDEFF3;color:#10141C;font:inherit;font-weight:600;cursor:pointer;min-height:44px}
.msg-rapides button:active{background:#FF5B1F}
.message-livreur{margin:0 0 14px;padding:12px 14px;border-radius:14px;background:#E8EFFF;border:2px solid #2F6BFF}
.message-livreur h3{margin:0 0 6px;font-size:.95rem}
.message-livreur p{margin:4px 0;font-weight:700}
.message-livreur time{display:block;font-size:.75rem;font-weight:500;opacity:.7}
/* Mode hors connexion */
.bandeau-hors-ligne{position:sticky;top:0;z-index:60;padding:10px 14px;background:#D93A3A;color:#fff;text-align:center;font-size:.9rem}
