/* Rotigo — encadré « Mon compte » (compte.js), commun à l'accueil et aux pages Livreur et Dispatch. */
.cpt summary{cursor:pointer;font-weight:700}
.cpt-onglets{display:flex;gap:6px;margin:14px 0 4px}
.cpt-onglets button{flex:1;width:auto;padding:10px 4px;font-size:14px;font-weight:600;border-radius:10px;background:transparent;border:1px solid var(--line);color:var(--txt)}
.cpt-onglets button[aria-selected="true"]{background:#18345f;border-color:#18345f}
.cpt-champ{display:block;margin:12px 0 0;font-size:14px;color:var(--mut)}
.cpt-champ select{display:block;width:100%;margin-top:6px;background:var(--bg);border:1px solid var(--line);border-radius:10px;color:var(--txt);padding:13px 12px;font-family:inherit;font-size:16px}
.cpt-champ select[aria-invalid="true"]{border-color:var(--red)}
.cpt-champ input{display:block;width:100%;margin-top:6px;background:var(--bg);border:1px solid var(--line);border-radius:10px;color:var(--txt);padding:13px 12px;font:inherit;font-size:16px}
.cpt-form button[type="submit"]{margin-top:14px}
.cpt-aide{color:var(--mut);font-size:13px;margin:10px 0 0}
.cpt-msg{margin:12px 0 0;font-size:14px;color:var(--green,#3ecf6a)}
.cpt-msg.err{color:var(--red)}
.cpt-qui{margin:0 0 10px;font-size:17px}
.cpt-role{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;background:#5a3d12;color:#ffd99a;font-size:12px;font-weight:700;vertical-align:middle}
.cpt-role.gerant,.cpt-role.patron{background:#2e2257;color:#d6c8ff}
.cpt-role.admin{background:#4a1e2a;color:#ffc2cb}
.cpt-gestion{display:block;margin:14px 0 0;padding:15px;border-radius:14px;background:#3b2a78;color:#fff;text-align:center;font-weight:700;text-decoration:none}
.cpt-gestion:focus-visible{outline:3px solid #9bb8ff;outline-offset:2px}
.cpt-lbl{margin:0 0 8px;font-weight:600}
.cpt-dispo{display:flex;gap:6px}
.cpt-dispo button{flex:1;width:auto;padding:12px 4px;font-size:14px;border-radius:10px;background:transparent;border:1px solid var(--line);color:var(--txt)}
.cpt-dispo button[data-etat="disponible"][aria-pressed="true"]{background:#1f7a3f;border-color:#1f7a3f}
.cpt-dispo button[data-etat="livraison"][aria-pressed="true"]{background:#8a5a1c;border-color:#8a5a1c}
.cpt-dispo button[data-etat="absent"][aria-pressed="true"]{background:#3a4660;border-color:#3a4660}
.cpt .link{margin-top:6px}
.cpt-oblig{color:var(--red);font-weight:700}
.cpt-champ .cpt-aide{display:block;margin:6px 0 0}
.cpt-champ input[aria-invalid="true"]{border-color:var(--red)}
.cpt-voir{display:flex;align-items:center;gap:8px;margin:12px 0 0;font-size:14px;color:var(--mut)}
.cpt-voir input{width:20px;height:20px;margin:0;accent-color:var(--blue)}

/* Bouton de compte en haut à droite et son panneau (menu-compte.js), sur l'accueil, Livreur et Dispatch. */
:where(#compteCoin){position:relative}   /* l’accueil le fixe en haut à droite (.coin-accueil) */
.compte-btn{position:relative;display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border-radius:50%;
  background:#0e2550;border:1px solid #1d3a72;color:var(--txt);cursor:pointer;box-shadow:0 6px 18px #0007}
.compte-btn.connecte{background:var(--blue);border-color:var(--blue)}
.compte-btn:active{transform:scale(.95)}
.compte-btn:focus-visible{outline:3px solid #9bb8ff;outline-offset:2px}
.compte-ico{display:flex;line-height:0}
.compte-ico svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.compte-ico b{font-size:21px;line-height:1;font-weight:800}
.compte-pastille{position:absolute;right:-1px;bottom:-1px;width:15px;height:15px;border-radius:50%;border:3px solid var(--bg);background:#7d8aa5}
.compte-pastille.disponible{background:var(--green)}
.compte-pastille.livraison{background:var(--amber)}
.compte-panneau{position:absolute;top:calc(100% + 10px);right:0;z-index:70;width:min(400px,calc(100vw - 32px));
  max-height:calc(100vh - 100px);max-height:calc(100dvh - 100px);overflow:auto;border-radius:18px;box-shadow:0 18px 48px #000c}
.compte-panneau .card{margin:0}
.compte-panneau .cpt>summary{display:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* L'accueil n'a pas les styles de base des pages Livreur et Dispatch : :where() les donne sans passer devant les leurs. */
:where(.compte-panneau) .card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px}
:where(.compte-panneau) button{display:block;width:100%;border:0;border-radius:14px;background:var(--blue);color:#fff;font-family:inherit;font-weight:600;font-size:18px;line-height:1;padding:18px;cursor:pointer}
:where(.compte-panneau) button:disabled{opacity:.6}
:where(.compte-panneau) .link{background:none;color:var(--mut);font-size:15px;font-weight:500;padding:12px;text-decoration:underline}

/* « ⚠ Il manque quelque chose » (erreur.js) : bouton, fenêtre du bas, étiquette des relivraisons */
.btn-erreur{display:block;width:100%;margin:10px 0 14px;padding:16px;border-radius:16px;border:2px solid var(--red);background:#3a1420;color:#ffd0d5;font:inherit;font-size:17px;font-weight:700;cursor:pointer}
.btn-erreur:focus-visible{outline:3px solid #9bb8ff;outline-offset:2px}
.im-voile{position:fixed;inset:0;z-index:1000;background:#000b;display:flex;align-items:flex-end;justify-content:center}
.im-feuille{position:relative;width:100%;max-width:560px;max-height:92vh;max-height:92dvh;overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:22px 22px 0 0;
  padding:20px 18px calc(24px + env(safe-area-inset-bottom));text-align:left}
.im-feuille h2{margin:0 36px 4px 0;font-size:21px}
.im-sous{margin:0 0 14px;color:var(--mut);font-size:14px}
.im-fermer{position:absolute;top:12px;right:12px;width:auto;padding:6px 10px;border-radius:10px;background:transparent;border:1px solid var(--line);color:var(--mut);font-size:16px;cursor:pointer}
.im-champ{display:flex;align-items:center;gap:10px;border:2px solid var(--blue);border-radius:14px;padding:4px 12px;background:var(--bg)}
.im-champ input{flex:1;min-width:0;border:0;background:none;color:var(--txt);font:inherit;font-size:18px;padding:10px 0;outline:none}
.im-lbl{display:block;color:var(--mut);font-size:14px;margin:14px 0 6px}
.im-feuille input:not(#imQ){display:block;width:100%;border:1px solid var(--line);border-radius:12px;padding:13px;background:var(--bg);color:var(--txt);font:inherit;font-size:16px}
.im-res{display:flex;gap:12px;align-items:center;width:100%;text-align:left;margin-top:8px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:none;color:var(--txt);font:inherit;cursor:pointer}
.im-res b{display:block}.im-res small{color:var(--mut)}
.im-res.on{border-color:var(--red);background:#2a1019}
.im-pt{flex:none;width:12px;height:12px;border-radius:50%;background:var(--green)}.im-res.on .im-pt{background:var(--red)}
.im-go{display:block;width:100%;margin-top:16px;padding:16px;border-radius:16px;border:2px solid var(--red);background:#3a1420;color:#ffd0d5;font:inherit;font-size:17px;font-weight:700;cursor:pointer}
.im-go.bleu{border-color:var(--blue);background:var(--blue);color:#fff}
.im-feuille .link{display:block;width:100%;margin-top:10px}
.im-msg{margin:12px 0 0;color:var(--red);font-size:14px}
.im-ok{display:flex;gap:12px;background:#0f2a1c;border:1px solid #1f7a3f;border-radius:16px;padding:16px}
.im-ok-i{flex:none;width:42px;height:42px;border-radius:50%;background:#43d27e;color:#0b2a17;font-weight:900;display:grid;place-items:center;font-size:22px}
.im-ok b{display:block;margin-bottom:2px}.im-ok span{color:#d8e2f5}
.tag-erreur{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;background:#542333;color:#ffd0d5;font-size:12px;font-weight:800;vertical-align:middle}

/* La carte (Leaflet) garde ses calques chez elle : sans ça, elle passait par-dessus les fenêtres de la page
   (« Il manque quelque chose », panneau du bouton rond, guide d'installation). */
.leaflet-container{isolation:isolate}
