/* ============================================================================
   TROUSSEAU — apparence « esquisse » (9 septembre 2026)
   ----------------------------------------------------------------------------
   Reprend le langage des esquisses validées : papier clair, titres noirs avec
   le mot en vert, cartes blanches à trait fin, chiffres en mono, étiquettes
   laiton, boutons sobres en bas de casse. Chargé APRÈS la feuille de style
   de l'application : il ne touche pas aux modèles de documents imprimés
   (.doc, .a-*, .c-*, .dc-*), seulement à l'habillage de l'application.
   ========================================================================== */

/* ---------------------------------------------------------------- palette */
body.clair{
  --appfond:#F2F7F5; --acier:#FFFFFF; --acier-2:#FFFFFF; --acier-3:#F6FAF8;
  --trait:#DCE8E3; --craie:#121B23; --gris:#5D6B74; --faible:#8B979F;
  --neg:#A92E2E; --negfond:#FDF2F2; --negbord:#EFC9C9;
  --acc:#0B8F66; --acc-clair:#086F4F; --sur-acc:#FFFFFF; --acc-voile:#E4F2EC;
  --or:#A87F17; --or-clair:#C89B2B; --or-voile:#F5EDD8;
  --signal:#B8402F; --vert:#0B8F66; --r:14px;
  --ombre:0 1px 2px rgba(18,27,35,.04),0 10px 30px -22px rgba(18,27,35,.25);
}
body:not(.clair){
  --appfond:#121917; --acier:#1A2320; --acier-2:#1F2A26; --acier-3:#243030;
  --trait:#2B3733; --craie:#E9EFEC; --gris:#94A29C; --faible:#76837D;
  --neg:#E88080; --negfond:#2C1A1A; --negbord:#4A2A2A;
  --acc:#25BC85; --acc-clair:#3FD69C; --sur-acc:#0D1512; --acc-voile:#17332A;
  --or:#D9B24E; --or-clair:#E6C46A; --or-voile:#2A2415;
  --signal:#D8452F; --vert:#25BC85; --r:14px;
  --ombre:0 1px 2px rgba(0,0,0,.4);
}

/* ------------------------------------------------------------- structure */
body{background:var(--appfond)}
.phone{background:var(--appfond);box-shadow:none}
@media(min-width:520px){.phone{border-radius:22px;border:1px solid var(--trait)}}
.bar{background:var(--acier);border-bottom:1px solid var(--trait);padding:15px 18px 13px}
.marque{font-weight:800;letter-spacing:.2em;color:var(--craie)}
.marque em{color:var(--or)}
.bascule{border:1px solid var(--trait);background:var(--acier);border-radius:999px;width:36px;height:36px;color:var(--gris)}
.ecran{padding:0 16px 118px}

.onglets{background:var(--acier);border-top:1px solid var(--trait);gap:2px;padding:7px 8px calc(7px + env(safe-area-inset-bottom));backdrop-filter:none}
.onglets button{font-family:var(--body);font-weight:600;font-size:11px;letter-spacing:0;text-transform:none;color:var(--gris);border-radius:9px;padding:10px 2px}
.onglets button[aria-selected="true"]{color:var(--acc-clair);background:var(--acc-voile);border-color:transparent}

/* PC : une page, pas un téléphone dans un cadre */
body.ui-pc{padding:0;background:var(--appfond)}
body.ui-pc .phone{width:100%;height:100vh;height:100dvh;border:0;border-radius:0;box-shadow:none}
body.ui-pc .bar{padding:0 28px;min-height:64px;height:64px}
body.ui-pc .marque{font-size:16px;letter-spacing:.22em}
body.ui-pc .onglets{top:64px;width:212px;padding:22px 14px;gap:2px;border-right:1px solid var(--trait);background:var(--acier)}
body.ui-pc .onglets::before{content:"L'application";display:block;font:500 10.5px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--or);padding:0 14px 14px}
body.ui-pc .onglets button{font-size:13.5px;font-weight:600;padding:11px 14px;border-radius:9px;color:var(--gris);border:1px solid transparent}
body.ui-pc .onglets button:hover{color:var(--craie);background:var(--acier-3)}
body.ui-pc .onglets button[aria-selected="true"]{color:var(--acc-clair);background:var(--acc-voile);box-shadow:inset 3px 0 0 var(--acc)}
body.ui-pc .ecran{margin-left:212px;padding:0 40px 60px}
body.ui-pc #eListe,body.ui-pc #eClients,body.ui-pc #eProduits,body.ui-pc #eSociete,body.ui-pc #eAgenda{padding-left:48px;padding-right:48px}
body.ui-pc .ecran>*{max-width:960px}
body.ui-pc #eListe .liste,body.ui-pc #eClients .clients-liste{max-width:960px}
body.ui-pc #eSociete.mode-menu #reglagesAccueil{max-width:1040px}
body.ui-pc .titre{font-size:38px}
body.ui-pc .eyebrow{margin-top:30px}

/* --------------------------------------------------------------- textes */
.eyebrow{color:var(--or);letter-spacing:.18em;font-size:11px;margin:24px 0 8px}
.titre{font-size:30px;letter-spacing:-.02em;line-height:1.02;color:var(--craie);margin:0 0 14px}
.titre em{color:var(--acc)}
.sec{margin-top:14px;background:var(--acier);border:1px solid var(--trait);border-radius:16px;padding:16px;box-shadow:var(--ombre)}
.sec .sec{border:0;padding:0;box-shadow:none;background:transparent;margin-top:14px}
.sec-titre{margin-bottom:12px;align-items:baseline}
.sec-titre h2{font-family:var(--display);font-weight:800;font-size:16px;letter-spacing:-.01em;text-transform:none;color:var(--craie)}
.sec-titre .lien{margin-left:auto}
.etiq{color:var(--or);font-size:10.5px;letter-spacing:.16em;margin:8px 0 6px 1px}
.note{color:var(--gris);font-size:13px;line-height:1.5}
.avert{color:var(--faible);font-size:12px}
.lien{color:var(--acc-clair);font-weight:600;font-size:12.5px;background:none;border:0;cursor:pointer;font-family:var(--body);padding:0}
.vide{border:1px dashed var(--trait);border-radius:12px;color:var(--faible);background:var(--acier-3)}

/* ---------------------------------------------------------------- boutons */
.btn{border-radius:11px;padding:15px 18px;font-family:var(--body);font-weight:700;font-size:15px;letter-spacing:0;text-transform:none;background:var(--acc);color:var(--sur-acc);box-shadow:none}
.btn:hover{filter:brightness(1.03)}
.btn.creux{background:var(--acier);color:var(--craie);border:1px solid var(--trait)}
.btn.creux:hover{border-color:var(--acc);color:var(--acc-clair)}
.btn.mini{padding:12px 14px;font-size:13.5px;font-weight:600}
.btn.urgence{background:var(--signal);color:#fff;padding:18px 18px;font-size:16px;text-transform:none;letter-spacing:0;border-radius:12px}
.btn.urgence small{text-transform:none;letter-spacing:0;font-weight:500;opacity:.92;font-size:12px}
.btn.urgence .ic{font-size:18px}
.retour-reglages{color:var(--acc-clair)}

/* ---------------------------------------------------------------- champs */
.champ{background:var(--acier);border:1px solid var(--trait);border-radius:10px;padding:13px 14px;font-size:15.5px;color:var(--craie);margin-bottom:9px;transition:border-color .12s,box-shadow .12s}
.champ:focus{outline:0;border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-voile)}
.champ::placeholder{color:var(--faible)}
.msgbox{background:var(--acier);border:1px solid var(--trait);border-radius:10px;font-size:13.5px}
.msgbox:focus{outline:0;border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-voile)}
select.champ{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gris) 50%),linear-gradient(135deg,var(--gris) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:38px}
.suggestions{background:var(--acier);border:1px solid var(--trait);border-radius:10px;box-shadow:var(--ombre)}
.coche{color:var(--gris)}

/* ---------------------------------------------------------------- cartes */
.carte,.fiche,.ligne,.qrcarte,.compte-carte,.status-chip,.invite-box,.pro-hero,.app-install{background:var(--acier-3);border:1px solid var(--trait);border-radius:12px;box-shadow:none}
.carte{padding:14px 14px 12px}
.carte-h .qui,.fiche-h b{font-family:var(--display);font-weight:700;font-size:15.5px;letter-spacing:-.01em;color:var(--craie)}
.carte-h .num,.fiche-meta{font-family:var(--mono);font-size:11px;color:var(--gris);letter-spacing:.02em}
.carte-h .mt{font-family:var(--mono);font-weight:600;font-size:15.5px;color:var(--craie)}
.carte-meta{color:var(--gris);font-size:12.5px;margin-top:6px}
.fiche-act{gap:6px;margin-top:11px}
.fiche-act button{background:var(--acier);border:1px solid var(--trait);color:var(--craie);border-radius:9px;padding:11px 3px;font-size:12.5px;font-weight:600;font-family:var(--body)}
.fiche-act button:hover{border-color:var(--acc);color:var(--acc-clair)}
.fiche-act button.aller{color:var(--acc-clair)}
.regle-ok{background:var(--acc-voile);color:var(--acc-clair);border-radius:6px;padding:4px 8px;display:inline-block;margin-top:8px}
.retard{background:var(--negfond);color:var(--neg);border:1px solid var(--negbord);border-radius:6px;padding:4px 8px;display:inline-block;margin-top:8px}

/* -------------------------------------------------------- pastilles, chips */
.filtres{gap:6px;margin:12px 0 10px}
.filtres button,.pastilles button,.mises button,.modebar button,.devis-etapes button,.choix button,.envois a,.affichage-choix button,#eModele .modele-filtres button{background:var(--acier);border:1px solid var(--trait);color:var(--gris);border-radius:9px;font-family:var(--body);font-weight:500;transition:.12s}
.filtres button{padding:10px 4px;font-size:12.5px}
.filtres button b{font-family:var(--mono);font-size:10.5px;opacity:.7}
.filtres button[aria-pressed="true"],.pastilles button[aria-pressed="true"],.mises button[aria-pressed="true"],.modebar button[aria-pressed="true"],.choix button[aria-pressed="true"],.affichage-choix button[aria-pressed="true"],#eModele .modele-filtres button[aria-pressed="true"]{border-color:var(--acc);background:var(--acc-voile);color:var(--acc-clair);font-weight:600}
.pastilles{gap:5px}
.pastilles button{padding:8px 2px;font-size:11.5px}
.modebar{background:var(--acier-3);border:1px solid var(--trait);border-radius:11px;padding:4px}
.modebar button{border-color:transparent;background:transparent}
.modebar button[aria-pressed="true"]{background:var(--acier);border-color:var(--trait);color:var(--craie);box-shadow:var(--ombre)}
.devis-etapes button{padding:9px 2px 8px;font-size:11.5px}
.devis-etapes button b{background:var(--acier-3);border:1px solid var(--trait);color:var(--gris);font-family:var(--mono);font-size:10.5px}
.devis-etapes button[aria-current="step"]{border-color:var(--acc);background:var(--acc-voile);color:var(--acc-clair);font-weight:600}
.devis-etapes button[aria-current="step"] b{background:var(--acc);border-color:var(--acc);color:var(--sur-acc)}
.combos button{background:var(--or-voile);border:1px solid color-mix(in srgb,var(--or) 40%,transparent);color:var(--or);border-radius:999px;font-weight:600}
.envois{gap:6px}
.envois a{color:var(--craie);font-weight:600;padding:12px 4px;font-size:12.5px}
.envois a:hover{border-color:var(--acc);color:var(--acc-clair)}

/* --------------------------------------------------------- étiquettes laiton */
.premium-badge{border-radius:5px;padding:4px 7px;background:var(--or-voile);color:var(--or);border:0;font:500 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase}
.badge-adr{font-family:var(--mono)}

/* --------------------------------------------------------------- bandeaux */
.bandeau{background:var(--negfond);border:1px solid var(--negbord);border-radius:12px}
.bandeau .gr{font-family:var(--mono);font-weight:600;color:var(--neg)}
.sauv-card{background:var(--or-voile);border:1px solid color-mix(in srgb,var(--or) 35%,transparent);border-radius:12px;color:var(--craie)}
.sauv-card b{color:var(--or)}
.modifier-devis-hero,.bilan{background:var(--acc-voile);border:1px solid color-mix(in srgb,var(--acc) 45%,transparent);border-radius:12px}
.bilan .gros{font-family:var(--mono);color:var(--acc-clair)}
.etat-maison{color:var(--gris)}
.etat-maison i{background:var(--acc)}
.alerte-sauv{background:var(--signal)}
.pied{background:linear-gradient(transparent,var(--appfond) 24%)}
body.ui-pc .pied{margin:0 -40px;padding-left:40px;padding-right:40px}

/* ------------------------------------------------------ menu des réglages */
.reglages-menu{gap:9px}
.reglages-menu button{background:var(--acier);border:1px solid var(--trait);border-radius:12px;padding:13px 14px;color:var(--craie);box-shadow:none}
.reglages-menu button:hover{border-color:var(--acc)}
.reglages-menu .rg-icone{background:var(--or-voile);color:var(--or);border-radius:10px;font-size:16px}
.reglages-menu .rg-texte b{font-family:var(--display);font-weight:700;font-size:14.5px;display:block;color:var(--craie)}
.reglages-menu .rg-texte small{color:var(--gris);font-size:12px}
.reglages-menu .rg-fleche{color:var(--faible)}
.reglage-entete h1{font-family:var(--display);font-weight:800;font-size:26px;letter-spacing:-.02em;margin:0 0 6px}
.reglage-entete p{color:var(--gris);font-size:13.5px;margin:0}
.pro-hero h3{font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:-.02em;margin:8px 0 4px}
.pro-points{gap:8px}
.pro-point{background:var(--acier);border:1px solid var(--trait);border-radius:10px;padding:10px;font-size:12px;color:var(--gris)}
.pro-point b{display:block;color:var(--craie);font-family:var(--display);font-weight:700;margin-bottom:2px}
.compte-carte b{font-family:var(--display);font-weight:700}
.statut-abonnement{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--or);background:var(--or-voile);border-radius:5px;padding:4px 7px}
.status-chip b{font-family:var(--display);font-weight:700;display:block;font-size:12.5px}
.status-chip span{font-family:var(--mono);font-size:11px;color:var(--gris)}
.liens-legaux a{color:var(--gris)}

/* --------------------------------------------------------- écran d'accès */
.acces{background:var(--appfond)}
.acces-boite{max-width:400px;background:var(--acier);border:1px solid var(--trait);border-radius:18px;padding:26px 22px;box-shadow:var(--ombre)}
.acces h2{font-family:var(--display);font-weight:800;font-size:24px;letter-spacing:-.02em}
.acces .sous,.acces p{color:var(--gris)}
.acces .marque-g{font-family:var(--display);font-weight:800;letter-spacing:.22em;color:var(--craie)}
.acces .marque-g em{color:var(--or)}
.acces .basculer{color:var(--acc-clair)}

/* ------------------------------------------------ modèle, aperçu, divers */
#eModele .modele-card{background:var(--acier);border:1px solid var(--trait);border-radius:12px}
#eModele .modele-card[aria-pressed="true"]{border-color:var(--acc);background:var(--acc-voile)}
#eModele .modele-card .mc-nom{font-family:var(--display);font-weight:700}
.cadre-apercu{border:1px solid var(--trait);border-radius:12px;background:#E9E6DF}
.apercu-flottant-bouton{background:var(--craie);color:var(--appfond);border-radius:999px;font-family:var(--body);font-weight:600;box-shadow:var(--ombre)}
.apercu-flottant-bouton b{font-family:var(--mono);color:var(--acc-clair)}
.chrono{font-family:var(--mono);color:var(--acc-clair);background:var(--acc-voile);border-color:transparent}
.conf-score{font-family:var(--mono)}
.qrcarte .txt b{font-family:var(--display);font-weight:700}
.qrcarte .ic{color:var(--or)}
.recap-simple .recap-ligne b{font-family:var(--mono)}
.recap-simple .recap-total b{color:var(--acc-clair)}
.ligne{background:var(--acier);border-radius:11px}
.biblio button,.biblio .item{border-radius:10px}
.abonnement-boite{background:var(--acier);border:1px solid var(--trait);border-radius:16px}
.abonnement-prix{font-family:var(--mono)}
.affichage-choix button b{font-family:var(--display);font-weight:700}
.affichage-etat{color:var(--gris)}
.caisse-lien small{text-transform:none}

/* --------------------------------------------- accueil : les trois actions */
.actions-accueil{display:flex;flex-direction:column;gap:9px;margin:0 0 4px}
.actions-accueil .btn{margin:0}
.actions-accueil .caisse-lien{color:var(--acc-clair);border-color:var(--trait)}
.actions-accueil .caisse-lien small{display:block;font-family:var(--body);font-weight:500;font-size:12px;color:var(--gris);margin-top:3px;letter-spacing:0;text-transform:none}
body.ui-pc .actions-accueil{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
body.ui-pc .actions-accueil .btn{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80px;padding:14px 16px;font-size:15px}
body.ui-pc .filtres{gap:8px}
body.ui-pc .filtres button{flex:0 0 auto;padding:8px 18px;display:flex;gap:8px;align-items:baseline}
body.ui-pc .filtres button b{display:inline}
body.ui-pc .pastilles button,body.ui-pc .fiche-act button{flex:0 0 auto;padding:9px 16px}
body.ui-pc .pastilles,body.ui-pc .fiche-act{flex-wrap:wrap}
body.ui-pc .carte,body.ui-pc .fiche{padding:16px 18px 14px}
body.ui-pc .sec{padding:20px 22px}
body.ui-pc #agendaNav button{flex:0 0 auto;padding:8px 18px}

/* ------------------------------------------ pied du document : compact */
.pied{display:flex;flex-wrap:wrap;gap:8px;padding-top:14px}
.pied>*{margin:0!important}
.pied .previsu,.pied #docsEmis,.pied #versFacture,.pied #emettreFacture,.pied #annulerPrevisu{flex:0 0 100%}
.pied .previsu:empty,.pied #docsEmis:empty{display:none}
.pied .btn.mini{flex:1 1 calc(50% - 4px);padding:11px 6px;font-size:13px}
.pied .btn.mini.btn-pdf{flex:0 0 100%}
body.ui-pc .pied .btn.mini{flex:1 1 calc(25% - 6px)}
.modifier-devis-hero .btn{text-transform:none;font-size:15px}
.modifier-devis-hero small{color:var(--gris)}

/* ============================================================ lot 2 */
/* la barre magique */
.recherche-resultats{margin:-4px 0 12px;background:var(--acier);border:1px solid var(--trait);border-radius:12px;padding:8px;box-shadow:var(--ombre)}
.recherche-resultats .etiq{margin:8px 6px 4px}
.rech-item,.rech-cmd{display:block;width:100%;text-align:left;background:transparent;border:0;border-radius:9px;padding:9px 10px;cursor:pointer;font-family:var(--body);color:var(--craie)}
.rech-item:hover,.rech-cmd:hover{background:var(--acier-3)}
.rech-item b{display:block;font-family:var(--display);font-weight:700;font-size:14px}
.rech-item small{display:block;font-family:var(--mono);font-size:11px;color:var(--gris);margin-top:2px}
.rech-cmd{background:var(--acc-voile);color:var(--acc-clair);font-weight:700;font-size:14px;margin-bottom:4px}
.rech-expl{font-family:var(--mono);font-size:11px;color:var(--gris);padding:6px 10px;letter-spacing:.02em}

/* le tableau de bord */
.tdb{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.tdb-w{background:var(--acier-3);border:1px solid var(--trait);border-radius:12px;padding:12px 12px 11px;min-width:0;cursor:default}
.tdb-w[data-w="impayes"],.tdb-w[data-w="attente"],.tdb-w[data-w="rdv"],.tdb-w[data-w="stock"],.tdb-w.sante{cursor:pointer}
.tdb-w.attention{border-color:var(--negbord);background:var(--negfond)}
.tdb-w.attention .tdb-v{color:var(--neg)}
.tdb-w.large{grid-column:1/-1}
.tdb-v{font-family:var(--mono);font-weight:600;font-size:21px;color:var(--craie);letter-spacing:-.01em;line-height:1.1}
.tdb-l{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--or);margin-top:5px}
.tdb-s{color:var(--gris);font-size:12px;margin-top:5px;line-height:1.4}
.tdb-s .haut{color:var(--acc-clair);font-weight:600}
.tdb-s .bas{color:var(--neg);font-weight:600}
.tdb-barres{display:flex;align-items:flex-end;gap:4px;height:50px;margin-top:10px}
.tdb-barres i{flex:1;background:var(--acc);border-radius:3px 3px 0 0;opacity:.85;min-height:3px}
.tdb-barres i:last-child{background:var(--or)}
.tdb-score{display:flex;align-items:baseline;gap:3px;margin-top:6px}
.tdb-score b{font-family:var(--mono);font-weight:600;font-size:34px;color:var(--acc-clair);letter-spacing:-.02em}
.tdb-score span{font-family:var(--mono);font-size:12px;color:var(--gris)}
.tdb-facteurs{display:none;margin-top:10px;border-top:1px solid var(--trait);padding-top:8px}
.tdb-w.ouvert .tdb-facteurs{display:block}
.tdb-facteurs div{display:grid;grid-template-columns:110px 1fr;gap:4px 10px;align-items:center;margin:6px 0;font-size:12px;color:var(--craie)}
.tdb-facteurs div span{font-weight:600}
.tdb-facteurs div i{display:block;height:6px;background:var(--acc);border-radius:3px;max-width:100%}
.tdb-facteurs div small{grid-column:1/-1;color:var(--gris);font-size:11.5px}
.tdb-choix{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}
.tdb-choix .etiq{flex:0 0 100%}
.tdb-choix button{background:var(--acier);border:1px solid var(--trait);color:var(--gris);border-radius:999px;padding:7px 12px;font-family:var(--body);font-size:12.5px;font-weight:500;cursor:pointer}
.tdb-choix button[aria-pressed="true"]{border-color:var(--acc);background:var(--acc-voile);color:var(--acc-clair);font-weight:600}
body.ui-pc .tdb{grid-template-columns:repeat(4,minmax(0,1fr))}
body.ui-pc .tdb-w.large{grid-column:span 2}
body.ui-pc .tdb-v{font-size:24px}

/* étiquettes des clients */
.tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.tag{font:500 10.5px/1 var(--mono);letter-spacing:.06em;color:var(--or);background:var(--or-voile);border-radius:5px;padding:4px 7px}
.tag.prospect{color:var(--acc-clair);background:var(--acc-voile)}
.tag.perdu{color:var(--neg);background:var(--negfond)}
.tag.anniv{color:var(--craie);background:var(--acier)}
.tags-filtre{display:none;flex-wrap:wrap;gap:6px;margin:-2px 0 10px}
.tags-filtre button,.tags-sugg button{background:var(--acier);border:1px solid var(--trait);color:var(--gris);border-radius:999px;padding:6px 11px;font-family:var(--body);font-size:12px;font-weight:500;cursor:pointer}
.tags-filtre button b{font-family:var(--mono);font-weight:500;opacity:.7;margin-left:2px}
.tags-filtre button[aria-pressed="true"]{border-color:var(--or);background:var(--or-voile);color:var(--or);font-weight:600}
.tags-sugg{display:flex;flex-wrap:wrap;gap:6px;margin:-3px 0 9px}
.tags-sugg:empty{display:none}
.champ-case{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--craie);cursor:pointer}
.champ-case input{width:18px;height:18px;margin:0;accent-color:var(--acc)}

/* tâches */
.tache{display:flex;align-items:center;gap:10px;padding:9px 6px;border-bottom:1px solid var(--trait)}
.tache:last-child{border-bottom:0}
.tache-coche{width:26px;height:26px;flex:0 0 26px;border-radius:8px;border:1.5px solid var(--trait);background:var(--acier);color:var(--sur-acc);font-weight:700;cursor:pointer;font-size:14px}
.tache.prio-haute .tache-coche{border-color:var(--signal)}
.tache.faite .tache-coche{background:var(--acc);border-color:var(--acc)}
.tache-txt{flex:1;min-width:0}
.tache-txt b{display:block;font-family:var(--display);font-weight:700;font-size:14px;color:var(--craie)}
.tache.faite .tache-txt b{text-decoration:line-through;color:var(--faible)}
.tache.en-retard .tache-txt small{color:var(--neg)}
.tache-txt small{display:block;font-family:var(--mono);font-size:11px;color:var(--gris);margin-top:2px}
.tache-sup{background:none;border:0;color:var(--faible);font-size:18px;cursor:pointer;padding:4px 6px}
.tache-sup:hover{color:var(--neg)}
.ajout-tache,.ajout-echeance{margin-top:12px;padding-top:12px;border-top:1px solid var(--trait)}

/* échéances */
.carte.echeance.due{border-color:color-mix(in srgb,var(--or) 45%,transparent);background:var(--or-voile)}
.carte.echeance.depassee{border-color:var(--negbord);background:var(--negfond)}

/* versions et historique */
.version-diff{margin-top:8px;font-family:var(--mono);font-size:11px;color:var(--gris);line-height:1.5}
.version-diff div{padding:2px 0;border-bottom:1px dashed var(--trait)}
.histo-ligne{display:grid;grid-template-columns:104px 1fr;gap:2px 10px;padding:8px 4px;border-bottom:1px solid var(--trait);font-size:13px}
.histo-ligne:last-child{border-bottom:0}
.histo-quand{font-family:var(--mono);font-size:11px;color:var(--gris);padding-top:2px}
.histo-txt{color:var(--craie)}
.histo-qui{grid-column:2;font-family:var(--mono);font-size:10.5px;color:var(--faible)}
.carte+.carte{margin-top:8px}

/* ============================================================ lot 3 */
/* agenda : vue, personnes, planning */
.agenda-barre{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:-2px 0 4px}
.agenda-vue{margin:0;flex:0 0 auto;min-width:170px}
.personnes-filtre{display:none;flex-wrap:wrap;gap:6px}
.personnes-filtre button,.planning-p{display:inline-flex;align-items:center;gap:6px;background:var(--acier);border:1px solid var(--trait);color:var(--gris);border-radius:999px;padding:7px 11px;font-family:var(--body);font-size:12.5px;font-weight:500;cursor:pointer}
.personnes-filtre button i,.planning-p i{width:10px;height:10px;border-radius:50%;display:inline-block;flex:0 0 10px}
.personnes-filtre button[aria-pressed="true"],.planning-p[aria-pressed="true"]{border-color:var(--acc);background:var(--acc-voile);color:var(--acc-clair);font-weight:600}
.planning{display:none;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.planning-p b{font-family:var(--display);font-weight:700;color:var(--craie)}
.planning-p span{font-family:var(--mono);font-size:11px}
.qui-pastille{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;color:#fff;font:700 9.5px/1 var(--mono);letter-spacing:0;margin:0 6px 0 0;vertical-align:-4px}
.rdv-dispo{margin:0 0 9px;align-self:center;font-size:12px}
#rdvQuiBloc{align-items:start}

/* vue mois */
.mois-entete{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin-bottom:3px}
.mois-entete span{font:500 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faible);text-align:center;padding:2px 0 4px}
.mois{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin-bottom:12px}
.mois-jour{display:flex;flex-direction:column;align-items:stretch;gap:2px;min-height:54px;background:var(--acier-3);border:1px solid var(--trait);border-radius:8px;padding:5px 4px;text-align:left;cursor:pointer;font-family:var(--body);color:var(--craie);overflow:hidden}
.mois-jour b{font-family:var(--mono);font-size:11.5px;font-weight:600;color:var(--gris)}
.mois-jour.hors{opacity:.4}
.mois-jour.auj{border-color:var(--acc)}
.mois-jour.auj b{color:var(--acc-clair)}
.mois-jour.plein{background:var(--acier)}
.mois-jour:hover{border-color:var(--acc)}
.mois-rdv{display:block;font-size:9.5px;line-height:1.25;color:var(--craie);border-left:3px solid var(--or);padding-left:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mois-plus{font:500 9.5px/1 var(--mono);color:var(--faible)}
body.ui-pc .mois-jour{min-height:86px;padding:7px 6px}
body.ui-pc .mois-rdv{font-size:11px}

/* équipe */
.equipe-carte .carte-h{align-items:center;gap:12px}
.equipe-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;font:700 13px/1 var(--mono);flex:0 0 38px;margin-right:12px}
.equipe-carte.inactif{opacity:.55}
.equipe-carte .tag{margin-left:6px;vertical-align:2px}
input[type="color"]{width:34px;height:26px;border:1px solid var(--trait);border-radius:6px;padding:0;background:transparent;cursor:pointer}
.invitation-bandeau{border-color:color-mix(in srgb,var(--acc) 45%,transparent);background:var(--acc-voile)}

/* favoris */
.etoile{background:none;border:0;color:var(--or);font-size:18px;line-height:1;padding:2px 6px 2px 0;cursor:pointer;flex:0 0 auto;margin-right:2px}
.etoile[aria-pressed="false"]{color:var(--faible)}
.fiche.favori .fiche-h b::after{content:""}
.pcarte .etoile{margin-right:6px}
.presta.favori .nom b{color:var(--acc-clair)}

/* ce que chaque rôle voit */
body[data-role="technicien"] #menuReglages button[data-reglage="compte"],body[data-role="technicien"] #menuReglages button[data-reglage="comptable"],
body[data-role="technicien"] #menuReglages button[data-reglage="banque"],body[data-role="technicien"] #menuReglages button[data-reglage="paiement"],
body[data-role="technicien"] #menuReglages button[data-reglage="journal"],body[data-role="technicien"] #menuReglages button[data-reglage="equipe"],
body[data-role="technicien"] #menuReglages button[data-reglage="legal"],body[data-role="technicien"] #allerSauvegarde,body[data-role="technicien"] #ouvrirCaisse,
body[data-role="technicien"] #blocTableau,body[data-role="technicien"] #bandeauImpayes,body[data-role="technicien"] .caisse-lien,
body[data-role="technicien"] #filtres button[data-f="impayes"],body[data-role="technicien"] #blocEncaisse{display:none!important}
body[data-role="comptable"] #depannage,body[data-role="comptable"] #nouveau,body[data-role="comptable"] .caisse-lien,body[data-role="comptable"] #modifierDevis,
body[data-role="comptable"] #menuReglages button[data-reglage="equipe"],body[data-role="comptable"] #menuReglages button[data-reglage="compte"]{display:none!important}
body[data-role="bureau"] #menuReglages button[data-reglage="equipe"]{display:none!important}

/* ============================================================ lot 4 */
.inv-ligne,.cmd-ligne{display:grid;grid-template-columns:1fr 84px;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid var(--trait)}
.cmd-ligne{grid-template-columns:1fr 70px 88px 28px}
.inv-ligne:last-child,.cmd-ligne:last-child{border-bottom:0}
.inv-ligne b,.cmd-ligne b{display:block;font-family:var(--display);font-weight:700;font-size:13.5px;color:var(--craie)}
.inv-ligne small,.cmd-ligne small{display:block;font-family:var(--mono);font-size:11px;color:var(--gris)}
.inv-ligne .champ,.cmd-ligne .champ{margin:0;padding:9px 10px;font-size:14px}
.cmd-ligne .num{font-family:var(--mono);font-size:12px;color:var(--gris);grid-column:2/4;text-align:right}
.ajout-ligne-cmd,.ajout-facture-f{margin-top:10px;padding-top:10px;border-top:1px solid var(--trait)}
.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.carte.proposition{border-color:color-mix(in srgb,var(--or) 45%,transparent);background:var(--or-voile)}
.carte.cmd-recue{opacity:.75}
.carte.cmd-annulee{opacity:.5}
.reception{margin-top:10px;padding-top:8px;border-top:1px dashed var(--trait)}
.carte.facture-f.depassee{border-color:var(--negbord);background:var(--negfond)}
.carte.contrat.due{border-color:color-mix(in srgb,var(--acc) 45%,transparent);background:var(--acc-voile)}
.carte.contrat.inactif{opacity:.6}
#blocCommandes .carte+.carte,#listeFacturesF .carte+.carte,#listeContrats .carte+.carte,#listeCommandes .carte+.carte{margin-top:8px}

/* ============================================================ lot 5 */
.carte.conseil.urgent{border-color:var(--negbord);background:var(--negfond)}
.carte.conseil.attention{border-color:color-mix(in srgb,var(--or) 45%,transparent);background:var(--or-voile)}
.carte.conseil .carte-h{align-items:flex-start;gap:10px}
.carte.conseil .tag{flex:0 0 auto;margin-top:2px}
.tag.urgent{color:var(--neg);background:var(--negfond)}
.tag.attention{color:var(--or);background:var(--or-voile)}
.tag.info{color:var(--gris);background:var(--acier)}
.tableau-r{display:flex;flex-direction:column;gap:6px}
.tableau-r .tr{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:8px;align-items:center;background:var(--acier-3);border:1px solid var(--trait);border-radius:10px;padding:9px 11px}
.tableau-r .tr.faible{border-color:color-mix(in srgb,var(--or) 45%,transparent);background:var(--or-voile)}
.tableau-r .td b{display:block;font-family:var(--mono);font-weight:600;font-size:13px;color:var(--craie)}
.tableau-r .td.nom b{font-family:var(--display);font-weight:700;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tableau-r .td small{display:block;font-family:var(--mono);font-size:10px;color:var(--gris);letter-spacing:.04em}
.tableau-r .tr[data-client]{cursor:pointer}
.histo-ligne.retard-ligne .histo-quand{color:var(--neg)}
.objectif{padding:9px 0;border-bottom:1px solid var(--trait)}
.objectif:last-child{border-bottom:0}
.obj-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.obj-h b{font-family:var(--display);font-weight:700;font-size:13.5px}
.obj-h span{font-family:var(--mono);font-size:12px;color:var(--gris)}
.obj-barre{height:8px;background:var(--acier);border:1px solid var(--trait);border-radius:4px;margin:6px 0 4px;overflow:hidden}
.obj-barre i{display:block;height:100%;background:var(--acc);border-radius:4px}
.objectif.retard .obj-barre i{background:var(--or)}
.objectif.atteint .obj-barre i{background:var(--acc)}
.objectif small{font-size:11.5px;color:var(--gris)}
#blocSeuils .champ-legende .champ{margin-top:4px}
#blocSeuils .duo{align-items:start}
body.ui-pc .tableau-r .tr{padding:11px 14px}

/* ---------- lot 6 : parc, SAV, administratif, carte ---------- */
.parc-carte.hs{border-color:color-mix(in srgb,var(--or) 45%,transparent)}
.tag.mono{font-family:var(--mono);letter-spacing:.06em;background:var(--acier);color:var(--craie)}
.tag.km{font-family:var(--mono);color:var(--acc-clair);background:var(--acc-voile)}
.tag.ok{color:var(--acc-clair);background:var(--acc-voile)}
.pos-note{font-size:11.5px;color:var(--gris);margin:-4px 0 9px;line-height:1.4}
.pos-note a{color:var(--acc-clair);font-weight:600;text-decoration:none}
.echeance-admin{display:grid;grid-template-columns:108px 1fr;gap:2px 12px;padding:9px 4px;border-bottom:1px solid var(--trait);align-items:start}
.echeance-admin:last-child{border-bottom:0}
.echeance-admin .ech-date b{display:block;font-family:var(--mono);font-size:12.5px;font-weight:600;color:var(--craie)}
.echeance-admin .ech-date small,.echeance-admin .ech-txt small{display:block;font-size:11px;color:var(--gris);margin-top:2px}
.echeance-admin .ech-txt b{display:block;font-size:13.5px;color:var(--craie)}
.echeance-admin.urgent .ech-date b,.echeance-admin.urgent .ech-date small{color:var(--neg)}
.echeance-admin.attention .ech-date b,.echeance-admin.attention .ech-date small{color:var(--or)}
.objectif.attention .obj-barre i{background:var(--or)}
.objectif.retard .obj-barre i{background:var(--neg)}
.tournee{display:flex;gap:8px;align-items:stretch;margin-top:11px}
.tournee .champ{margin:0;flex:1 1 auto;min-width:0;width:auto}
.tournee .btn{flex:0 0 auto;width:auto;margin:0;padding:12px 16px;white-space:nowrap}
#tourneeNote a.btn{display:inline-block;width:auto;padding:11px 16px}
.tournee-liste{margin:8px 0 6px;padding-left:20px}
.tournee-liste li{margin:3px 0}
.sav-carte.clos{opacity:.72}
.sav-form{margin-top:9px;padding-top:9px;border-top:1px dashed var(--trait)}
.sav-form .champ{margin-bottom:8px}
#embResultat b{color:var(--craie)}
#eqPermis{margin-bottom:9px}

/* ---------- lot 7 : cloche, notifications, règles, réservation ---------- */
.cloche{position:relative;border:1px solid var(--trait);background:var(--acier);border-radius:999px;width:36px;height:36px;color:var(--gris);font-size:15px;line-height:1;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center}
.cloche b{position:absolute;top:-5px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--neg);color:#fff;font-family:var(--mono);font-size:10.5px;font-weight:700;display:none;align-items:center;justify-content:center;border:2px solid var(--acier)}
.cloche.on b{display:inline-flex}
.cloche.on{border-color:var(--acc);color:var(--acc)}
.carte.notif.lue{opacity:.72}
.carte.notif .fiche-act a.btn{display:inline-block;width:auto;padding:9px 12px;font-size:12.5px}
.carte.regle.inactive{opacity:.65}
.variables{display:flex;flex-wrap:wrap;gap:6px;margin:-3px 0 9px}
.variables button{background:var(--acier);border:1px solid var(--trait);color:var(--gris);border-radius:999px;padding:5px 9px;font-family:var(--mono);font-size:11px;cursor:pointer}
.variables button:hover{border-color:var(--acc);color:var(--acc)}
.jours-choix{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:9px}
.jours-choix button{background:var(--acier);border:1px solid var(--trait);color:var(--gris);border-radius:10px;padding:10px 0;font-family:var(--body);font-size:12.5px;font-weight:600;cursor:pointer}
.jours-choix button[aria-pressed="true"]{border-color:var(--acc);background:var(--acc-voile);color:var(--acc-clair)}
#demandeSnippet{font-family:var(--mono);font-size:11.5px}
#rgParamBloc .champ-case,#rgBlocTache .champ-case{font-size:12.5px;color:var(--gris)}

/* ---------- lot 8 : sécurité, données, premiers pas, robot vocal ---------- */
.bandeau.gel{display:flex;align-items:center;gap:12px;margin:0 14px 10px;padding:11px 14px;cursor:pointer;background:color-mix(in srgb,var(--or) 14%,var(--acier-2));border-color:color-mix(in srgb,var(--or) 45%,transparent)}
.bandeau.gel .gr{color:var(--or);font-size:18px}
.bandeau.gel .tx{color:var(--craie);font-size:12.5px;line-height:1.45}
.bandeau.gel .fl{color:var(--or)}
body.compte-gele #nouveau,body.compte-gele #depannage{opacity:.55}
.sec .erreur{display:none;background:var(--negfond);border:1px solid var(--negbord);color:var(--neg);border-radius:11px;padding:10px 12px;margin-top:9px;font-size:13px;line-height:1.45}
.sec .erreur.on{display:block}
.mfa-qr{display:grid;grid-template-columns:132px 1fr;gap:12px;align-items:start;margin:12px 0;padding:12px;background:#fff;border:1px solid var(--trait);border-radius:12px;color:#121B23;font-size:13px;line-height:1.5}
.mfa-qr img{width:132px;height:132px;border-radius:8px;background:#fff}
.mfa-secret{font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;word-break:break-all;background:#F2F7F5;border:1px dashed #DCE8E3;border-radius:8px;padding:7px 9px;margin:6px 0 10px}
.etatSauv.ok{color:var(--acc)}
.acces-ligne{padding:8px 4px;border-bottom:1px solid var(--trait);font-size:13px;color:var(--craie);line-height:1.4}
.acces-ligne:last-child{border-bottom:0}
.acces-ligne small{display:block;font-family:var(--mono);font-size:11px;color:var(--gris);margin-top:2px}
.acces-ligne.assistance{border-left:3px solid var(--or);padding-left:9px}
.acces-ligne.assistance b{color:var(--or)}
.entreprise-ligne{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 4px;border-bottom:1px solid var(--trait)}
.entreprise-ligne:last-child{border-bottom:0}
.entreprise-ligne b{display:block;font-size:14px;color:var(--craie)}
.entreprise-ligne small{display:block;font-size:11.5px;color:var(--gris);margin-top:2px}
.entreprise-ligne.courante b{color:var(--acc-clair)}
.entreprise-ligne button{flex:0 0 auto;background:var(--acier);border:1px solid var(--trait);color:var(--craie);border-radius:999px;padding:8px 14px;font-family:var(--body);font-size:12.5px;font-weight:600;cursor:pointer}
.entreprise-ligne button:hover{border-color:var(--acc);color:var(--acc)}
.imp-colonnes{display:grid;grid-template-columns:1fr;gap:8px;margin:10px 0}
.imp-col{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center;padding:8px 10px;background:var(--acier);border:1px solid var(--trait);border-radius:11px}
.imp-col b{display:block;font-size:13px;color:var(--craie);word-break:break-word}
.imp-col small{display:block;font-family:var(--mono);font-size:11px;color:var(--gris);margin-top:2px;word-break:break-word}
.imp-col .champ{margin:0}
body.ui-pc .imp-colonnes{grid-template-columns:1fr 1fr}
.inventaire{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.inventaire .tag{font-family:var(--mono);font-size:11px}
.premiers-pas{border-color:color-mix(in srgb,var(--acc) 40%,transparent)}
.pp-barre{height:8px;background:var(--acier);border:1px solid var(--trait);border-radius:4px;margin:2px 0 10px;overflow:hidden}
.pp-barre i{display:block;height:100%;background:var(--acc);border-radius:4px;transition:width .4s}
.pp-etape{display:grid;grid-template-columns:24px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--trait)}
.pp-etape:last-child{border-bottom:0}
.pp-etape i{width:22px;height:22px;border-radius:999px;border:1px solid var(--trait);display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-size:12px;color:var(--acc-clair);background:var(--acier)}
.pp-etape.fait i{background:var(--acc);border-color:var(--acc);color:#fff}
.pp-etape b{display:block;font-size:13.5px;color:var(--craie)}
.pp-etape.fait b{color:var(--gris);text-decoration:line-through}
.pp-etape small{display:block;font-size:11.5px;color:var(--gris);line-height:1.4;margin-top:2px}
.pp-etape.fait small{display:none}
.pp-etape button{background:var(--acc);border:0;color:#fff;border-radius:999px;padding:8px 13px;font-family:var(--body);font-size:12.5px;font-weight:700;cursor:pointer}
.pp-masquer{margin-top:8px;font-size:12px;color:var(--gris)}
.jesais-ligne{display:grid;grid-template-columns:150px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--trait);font-size:13px;align-items:baseline}
.jesais-ligne:last-child{border-bottom:0}
.jesais-ligne span{color:var(--gris);font-size:12px}
.jesais-ligne b{color:var(--craie);font-weight:600;line-height:1.4}
.recherche-devis{display:flex;gap:8px;align-items:center}
.recherche-devis .champ{flex:1;min-width:0}
.micro{flex:0 0 auto;width:44px;height:44px;border-radius:999px;border:1px solid var(--trait);background:var(--acier);color:var(--gris);font-size:18px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;margin-bottom:9px}
.micro.on{border-color:var(--neg);color:var(--neg);animation:micro-pulse 1s ease-in-out infinite}
@keyframes micro-pulse{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--neg) 45%,transparent)}50%{box-shadow:0 0 0 8px transparent}}
.rech-expl.vocal{color:var(--craie);font-weight:600}
.carte.dictee .dictee-lignes{margin-top:8px;font-size:13px}
.carte.dictee .dictee-lignes div{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px dashed var(--trait)}
.carte.dictee .dictee-lignes b{font-family:var(--mono);font-weight:600;white-space:nowrap}
.carte.dictee .note{margin-top:8px}
body.mode-simple #menuReglages button[data-reglage="banque"],body.mode-simple #menuReglages button[data-reglage="comptable"],body.mode-simple #menuReglages button[data-reglage="application"],
body.mode-simple #menuReglages button[data-reglage="equipe"],body.mode-simple #menuReglages button[data-reglage="parc"],body.mode-simple #menuReglages button[data-reglage="administratif"],
body.mode-simple #menuReglages button[data-reglage="auto"],body.mode-simple #menuReglages button[data-reglage="journal"],body.mode-simple #menuReglages button[data-reglage="historique"],
body.mode-simple #ouvrirCaisse,body.mode-simple #ouvrirPilotage,body.mode-simple .caisse-lien,body.mode-simple #tableauPilotage{display:none}
