/* NAVYRO Notes de frais — compléments au style de NAVYRO CRM (crm.css), repris de NAVYRO Flotte (flotte.css). Couleurs
   claires ici ; leurs reprises pour le style noir sont dans ndf-noir.css. */

.petit{font-size:12px}
.chargement{padding:40px;color:var(--muted)}

/* ---------- connexion ---------- */
.gate-logo{display:block;max-width:180px;max-height:70px;width:auto;height:auto;margin:0 auto 6px;object-fit:contain}
.case-souvenir{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);cursor:pointer}
.case-souvenir input{width:16px;height:16px;margin:0}
.gate-style{display:flex;justify-content:center;margin-top:4px}
.champ-oeil-dedans{position:relative}
.champ-oeil-dedans input{padding-right:42px}
.oeil-bouton{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:transparent;cursor:pointer;font-size:16px;padding:4px 6px;border-radius:8px;color:var(--muted)}
.oeil-bouton[aria-pressed="true"]{background:rgba(44,111,175,.12);color:var(--brand2)}

/* ---------- notifications ---------- */
#toasts{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:8px;z-index:1000}
.toast{background:#173a63;color:#fff;padding:11px 16px;border-radius:12px;box-shadow:0 10px 30px rgba(16,43,70,.25);font-size:14px;max-width:380px;animation:toastIn .25s ease-out}
.toast-erreur{background:#a92d35}
.toast.sortie{opacity:0;transform:translateY(8px);transition:.4s}
@keyframes toastIn{from{opacity:0;transform:translateY(10px)}}

/* ---------- barre latérale ---------- */
.nav a .nav-droit{margin-left:6px;font-size:10px;opacity:.6}

/* ---------- tableau de bord ---------- */
.section-tete{display:flex;align-items:center;gap:10px;margin:18px 0 12px;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}
.section-tete::after{content:"";flex:1;height:1px;background:var(--line)}
.tb-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.metric .value.zero{color:var(--muted)}
.tb-depenses{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap}
.a-venir{max-width:640px;margin:26px auto 0;text-align:center;padding:34px 26px}
.a-venir .grand{font-size:44px;margin-bottom:10px}
.a-venir h2{margin:0 0 8px;font-size:20px}

/* ---------- mon compte ---------- */
.compte-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;max-width:900px}
.card-titre{margin:4px 0 12px;font-size:16px}
.compte-grille .field{margin-bottom:12px}
.compte-grille .gate-erreur,.compte-grille .gate-info{margin-bottom:10px}
.compte-grille .card.large{grid-column:1/-1}
.champs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0}
.champs > div{min-width:0}
.champs .large{grid-column:1/-1}
.champs dt{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:700}
.champs dd{margin:2px 0 0;font-size:14px;overflow-wrap:anywhere}
.droits-liste{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px}
.droits-liste li{display:flex;justify-content:space-between;gap:8px;font-size:13px;padding:6px 10px;border:1px solid var(--line);border-radius:10px}

/* ---------- paramètres ---------- */
.onglets-param .onglet{text-decoration:none;font-size:13px;padding:8px 14px}
.onglets-param .nb{opacity:.7;font-weight:500;margin-left:4px}
.param-actions{margin-bottom:12px;justify-content:space-between}
.table-param td{vertical-align:middle}
.table-param td.actions-cellule{white-space:nowrap;text-align:right}
.bandeau-info{display:inline-block;background:#fff7e9;border:1px solid #f5d7a7;color:#7b5619;border-radius:12px;padding:8px 12px;font-size:13px;margin-bottom:12px}
.ligne-inactive td{opacity:.55}
.case-ligne{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink);cursor:pointer;margin:4px 0}
.case-ligne input{width:17px;height:17px;margin:0;flex:none}
.fenetre .form-grid .field{margin:0}
.fenetre .form-section:first-child{margin-top:0}
.form-grid > .large{grid-column:1/-1}
.field .aide{font-size:11px;color:var(--muted);margin-top:4px}

/* Profils et droits : une ligne par profil, une colonne par menu, un choix par case. */
.table-droits th.menu{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;text-align:left;padding:8px 4px;font-size:12px}
.table-droits th.menu span{display:inline-block}
.table-droits td.profil-nom{min-width:170px}
.table-droits td.profil-nom .muted{display:block;font-size:11px;margin-top:2px}
.table-droits td.droit{padding:3px 3px;text-align:center}
.table-droits select.droit{border:1px solid var(--line);border-radius:8px;padding:5px 4px;font:inherit;font-size:12px;background:#fff;color:var(--ink);min-width:90px}
.table-droits select.droit.d-aucun{color:var(--muted)}
.table-droits select.droit.d-lecture{border-color:#8fb7df;background:#edf4fb;color:#1f4f82}
.table-droits select.droit.d-ecriture{border-color:#7fcfa8;background:#e9f7f0;color:#117653}
.table-droits select.droit:disabled{opacity:.75;cursor:default}
.legende-droits{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin:10px 0 0}
.legende-droits span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px;border:1px solid var(--line)}
.legende-droits .l-lecture::before{background:#edf4fb;border-color:#8fb7df}
.legende-droits .l-ecriture::before{background:#e9f7f0;border-color:#7fcfa8}

/* Réglages */
.reglages-grille{max-width:620px}
.reglages-grille .field{margin-bottom:14px}

/* ---------- cartes cliquables ---------- */
.metric-lien{text-decoration:none;color:inherit;display:block;cursor:pointer;transition:transform .12s,box-shadow .12s}
.metric-lien:hover{transform:translateY(-2px);box-shadow:0 0 0 2px var(--brand2)}

/* ---------- barre latérale : « NAVYRO Notes de frais » est plus long que les autres noms NAVYRO ---------- */
.sidebar .brand{white-space:normal;line-height:1.15}

/* ---------- communs ---------- */
.bandeau-info{display:block}
.bandeau-ok{background:#e9f7f0;border-color:#9fd9bd;color:#117653}
.param-actions h2{margin:0}
.card-titre .nb{opacity:.6;font-weight:500;font-size:13px;margin-left:4px}
.metric .sub{font-size:12px;color:var(--muted);margin-top:4px}
.liste-ajout{display:flex;gap:10px;margin:0 0 12px;max-width:620px}
.liste-ajout input{flex:1;min-width:0}
.journal-grille{max-width:none;margin-top:14px}
.journal-grille .card.large{grid-column:1/-1}
.badge.b-gris{background:#f0f3f7;color:#5b6678}
.texte-rouge{color:#aa3941}
.metric-a-traiter .value:not(.zero){color:#aa6b12}

/* ---------- collaborateurs ---------- */
.cases-profils{display:flex;flex-wrap:wrap;gap:2px 18px}
.cases-profils .case-ligne{margin:3px 0}
.profil-desc{font-size:11px;color:var(--muted)}
.iban{font-family:ui-monospace,Consolas,"Courier New",monospace;letter-spacing:.03em;white-space:nowrap}
.pastilles{display:flex;flex-wrap:wrap;gap:4px}
.collab-tete{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap;margin-bottom:6px}
.collab-tete h2{margin:0;font-size:20px}
.collab-grille{max-width:none}
.collab-grille .card.large{grid-column:1/-1}
.equipe-liste{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:14px}
.field-case{align-self:end;padding-bottom:9px}

/* ---------- paramétrage métier (lot 1) ---------- */
.tb-liste{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13px}
.tb-liste li{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}
.tb-liste li:last-child{border-bottom:0}
.tb-liste li > span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.tb-liste b{white-space:nowrap;font-variant-numeric:tabular-nums}
.jf-colonnes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.jf-titre{font-size:14px;margin:14px 0 6px;color:var(--brand2)}
.annee-choix{display:flex;gap:6px}
.jf-ajout{margin-top:12px}
.resultat-test{margin:12px 0 0;padding:10px 14px;border-radius:12px;font-weight:600;border:1px solid var(--line)}
.resultat-test.nature-ouvre{background:#e9f7f0;border-color:#9fd9bd;color:#117653}
.resultat-test.nature-samedi,.resultat-test.nature-dimanche,.resultat-test.nature-ferie{background:#fff7e9;border-color:#f5d7a7;color:#7b5619}
.resultat-test.nature-erreur{background:#feecee;border-color:#efc7ca;color:#aa3941}
.formule{white-space:nowrap;display:inline-flex;align-items:center;gap:4px}
.grille-bareme input.coef{width:78px;padding:6px 8px}
.grille-bareme input.forfait{width:72px;padding:6px 8px}
.bareme-choix{margin:0;padding:0}

/* ---------- notes de frais et dépenses (lot 2) ---------- */
.km-synthese{margin-bottom:14px}
.km-synthese .metric .value{font-size:22px}
.ligne-cliquable{cursor:pointer}
.ligne-cliquable:hover td{background:#f7fbff}
.bloquants{border-color:#f5d7a7;background:#fff7e9}
.bloquants ul{margin:0;padding-left:20px;font-size:14px;line-height:1.5;color:#7b5619}
.depot-boutons{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.depot-boutons label.btn{cursor:pointer}
.justifs{list-style:none;margin:0 0 6px;padding:0;display:flex;flex-direction:column;gap:8px}
.justif{display:grid;grid-template-columns:64px 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:6px 8px;background:#fff}
.justif-apercu{display:grid;place-items:center;width:64px;height:64px;border-radius:8px;overflow:hidden;background:#f3f6fa;border:1px solid var(--line);text-decoration:none}
.justif-apercu img{width:100%;height:100%;object-fit:cover;display:block}
.justif-pdf{font-weight:800;font-size:13px;color:#aa3941}
.justif-nom{font-size:13px;overflow-wrap:anywhere;min-width:0}
.justif-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.alertes-depense{list-style:none;margin:6px 0;padding:0;display:flex;flex-direction:column;gap:6px}
.alerte-ligne{display:flex;gap:10px;align-items:flex-start;padding:9px 12px;border-radius:12px;border:1px solid var(--line);font-size:13px;line-height:1.4}
.alerte-avert{background:#fff7e9;border-color:#f5d7a7;color:#7b5619}
.alerte-renforcee{background:#feecee;border-color:#efc7ca;color:#8f2a31;font-weight:600}
.alerte-icone{font-size:16px;line-height:1.2}
.tva-ligne input#f_taux_tva{width:70px;padding:8px}
.tva-ligne input#f_montant_tva{width:110px;padding:8px}
.km-synthese .metric .value.petit-valeur,.metric .value.petit-valeur{font-size:15px;line-height:1.3}

/* ---------- validation et alertes (lot 4) ---------- */
.nav-compteur{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#d33f49;color:#fff;font-size:11px;font-weight:800;display:inline-grid;place-items:center}
.encadre-alertes{border-color:#f5d7a7}
.depense-validation{margin-bottom:12px}
.depense-signalee{border-left:4px solid #e0a43a}
.depense-refusee{opacity:.8}
.depense-tete{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:6px}
.depense-montant{text-align:right;font-weight:800;font-size:18px;white-space:nowrap}
.justification{margin:8px 0;padding:8px 12px;border-radius:10px;background:#f3f6fa;font-size:14px}
.depense-decision{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.actions-validation .actions{flex-wrap:wrap}
.historique{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:14px}
.historique li{display:grid;grid-template-columns:150px 1fr;gap:10px;padding:6px 0;border-bottom:1px solid var(--line)}
.historique li:last-child{border-bottom:0}
.hist-date{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}
.hist-motif{font-style:italic}
.hist-refus b,.hist-correction b{color:#aa6b12}
.hist-validation b{color:#117653}
.metric-filtre{font:inherit;text-align:left;width:100%}
.metric-filtre.actif{box-shadow:0 0 0 2px var(--brand2)}

/* ---------- comptabilité et exports (lot 5) ---------- */
.ligne-annulee > span:first-child{text-decoration:line-through;opacity:.7}
.jf-barre{text-decoration:line-through;opacity:.7}
.filtres-recherche{flex-wrap:wrap}
.filtres-recherche .select{min-width:150px;flex:1 1 150px}
.fenetre-large .form-grid .pleine{grid-column:1/-1}
.colonnes-modele{margin:0 0 8px;padding-left:22px;display:flex;flex-direction:column;gap:4px;font-size:14px}
.colonnes-modele li{display:flex;justify-content:space-between;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:3px 0}

/* ---------- pilotage : cloche, graphiques, statistiques, RGPD (lot 6, repris de NAVYRO Flotte) ---------- */
.sidebar-boutons{display:flex;align-items:center;gap:6px}
.cloche{position:relative;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;width:38px;height:38px;cursor:pointer;font-size:17px;line-height:1;box-shadow:0 1px 3px rgba(15,42,74,.08);flex:none}
.cloche:hover{background:#eef3fb}
.cloche-nombre{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#d33f49;color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;border:2px solid #fff}
.fenetre-notifications{width:min(560px,calc(100vw - 32px))}
.fenetre-notifications .fenetre-tete .actions{gap:6px}
.notifications{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.notification{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}
.notification.non-lue{border-left:4px solid var(--brand2);background:#f3f8fd}
.notification-texte{font-size:14px;color:var(--ink);text-decoration:none}
a.notification-texte:hover{text-decoration:underline}
.table.preferences td.num input{width:18px;height:18px}
.table.preferences td.num{text-align:center}
.g-s0{--c:#2c6faf}.g-s1{--c:#0e7490}.g-s2{--c:#b45309}.g-s3{--c:#047857}.g-s4{--c:#7c3aed}.g-s5{--c:#be123c}.g-s6{--c:#64748b}.g-s7{--c:#a16207}
.g-pastille{display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--c,#2c6faf);margin-right:6px;vertical-align:-1px;flex:none}
.stats-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;margin-bottom:14px}
.stats-grille .card{margin:0;min-width:0}
.stats-grille .card.large{grid-column:1/-1}
.g-anneau{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.g-anneau svg{width:130px;height:130px;flex:none}
.anneau-fond{fill:none;stroke:#eef3fb;stroke-width:16}
.anneau-arc{fill:none;stroke:var(--c,#2c6faf);stroke-width:16}
.anneau-total{text-anchor:middle;font-size:15px;font-weight:800;fill:var(--ink)}
.anneau-total.long{font-size:11px}            /* montant au centime (recette du 10/11/2026) */
.anneau-sous{text-anchor:middle;font-size:10px;fill:var(--muted)}
.g-legende{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px;font-size:13px;flex:1;min-width:160px}
.g-legende li{display:grid;grid-template-columns:auto 1fr auto 44px;gap:6px;align-items:center}
.g-legende li .muted{text-align:right;font-size:12px}
.g-legende-ligne{flex-direction:row;flex-wrap:wrap;gap:6px 14px;margin-top:6px}
.g-legende-ligne li{display:flex;align-items:center}
.g-leg-nom{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.g-barres{display:flex;flex-direction:column;gap:6px;margin:4px 0 8px}
.g-barre-ligne{display:grid;grid-template-columns:minmax(0,170px) 1fr minmax(70px,auto);gap:10px;align-items:center;font-size:13px}
.g-barre-nom{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.g-barre-piste{display:block;height:12px;border-radius:6px;background:#eef3fb;overflow:hidden}
.g-barre-plein{display:block;height:100%;border-radius:6px;background:var(--c,#2c6faf);width:0;transition:width .3s}
.g-barre-valeur{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.g-colonnes{display:block;width:100%;height:auto;max-height:240px}
.g-colonnes rect{fill:var(--c,#2c6faf)}
.g-courbe{fill:none;stroke:var(--c,#2c6faf);stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}
.g-point{fill:var(--c,#2c6faf)}
.g-axe{font-size:10px;fill:var(--muted);text-anchor:middle}
.g-axe.g-max{text-anchor:start}
.g-ligne{stroke:var(--line);stroke-width:1}
.evol{display:inline-block;font-size:12px;font-weight:700;padding:1px 7px;border-radius:999px;background:#f0f3f7;color:#5b6678;white-space:nowrap}
.evol-hausse{background:#edf4fb;color:#2c6faf}.evol-baisse{background:#f0f3f7;color:#5b6678}
.evol-cout.evol-hausse{background:#feecee;color:#aa3941}.evol-cout.evol-baisse{background:#e9f7f0;color:#117653}
.filtres-periode{padding-bottom:0}
.filtres-periode .filtres{margin-bottom:12px}
.metric .value.moyen{font-size:24px}
.personnaliser{display:flex;flex-wrap:wrap;gap:8px 18px;margin:4px 0 10px}
.personnaliser label{display:flex;align-items:center;gap:6px;font-size:14px;cursor:pointer}
.texte-rgpd{line-height:1.55;font-size:14px}
.texte-rgpd h2{font-size:20px;margin:4px 0 10px}
.texte-rgpd h3{font-size:15px;margin:16px 0 6px;color:var(--brand2)}
.texte-rgpd ul{margin:4px 0 8px;padding-left:20px}
.texte-rgpd p{margin:6px 0}
.rgpd-grille{max-width:none;margin-top:14px}
.rgpd-grille .card.large{grid-column:1/-1}
.apercu-rgpd{margin:10px 0}
.apercu-rgpd summary{cursor:pointer;font-weight:600}
.apercu-rgpd .texte-rgpd{border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin-top:8px;max-height:420px;overflow:auto}
.zone-texte{width:100%;font:inherit;font-size:13px;line-height:1.5;border:1px solid var(--line);border-radius:10px;padding:10px;resize:vertical}
.types-notifications{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px}
.types-notifications label{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}

/* ---------- aide, formation, manuel, bulles (lot 7, repris de NAVYRO Flotte) ---------- */
.btn.btn-aide{font-weight:700}
.aide-volet{position:fixed;top:0;right:0;bottom:0;width:min(440px,100vw);z-index:900;display:flex;flex-direction:column;background:var(--panel,#fff);
  border-left:1px solid var(--line);box-shadow:-12px 0 32px rgba(16,43,70,.18);color:var(--ink)}
.aide-volet-tete{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:16px 18px 10px;border-bottom:1px solid var(--line)}
.aide-volet-tete h2{margin:2px 0 0;font-size:18px}
.aide-volet-recherche{padding:10px 18px}
.aide-volet-recherche input{width:100%}
.aide-volet-corps{overflow:auto;padding:4px 18px 24px;flex:1}
.aide-etiquette{font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--muted)}
.aide-section{margin:0 0 26px;line-height:1.55;font-size:14px}
.aide-section h2{font-size:19px;margin:0 0 8px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.aide-duree{font-size:12px;font-weight:600;color:var(--muted)}
.aide-sert{font-size:15px}
.aide-etapes{padding-left:22px;margin:8px 0}
.aide-etapes li{margin:6px 0}
.aide-retenir{background:#edf4fb;border-radius:10px;padding:10px 12px}
.aide-bloque{margin-top:10px}
.aide-bloque details{border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin-top:6px}
.aide-bloque summary{cursor:pointer;font-weight:600}
.aide-bloque details p{margin:6px 0 0}
.aide-liens{margin-top:18px;font-weight:600}
.aide-reponse{background:#e9f7f0;border:1px solid #9fd9bd;border-radius:12px;padding:10px 12px;margin:8px 0 12px;line-height:1.5}
.aide-question{font-weight:700;margin:4px 0}
.aide-autre{border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:6px 0}
.aide-autre summary{cursor:pointer;font-weight:600}
.aide-resultats{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:10px}
.aide-resultats li{display:flex;flex-direction:column;gap:2px}
.aide-resultats a{text-decoration:none}
.aide-resultats a:hover b{text-decoration:underline}
.aide-source{font-size:11px;font-weight:700;color:var(--muted)}
.aide-figure{margin:12px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#f3f6fa;max-width:900px}
.aide-figure img{display:block;width:100%;height:auto}
.aide-figure figcaption{font-size:12px;color:var(--muted);padding:6px 10px}
.aide-page{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;align-items:start}
.aide-page .aide-sommaire{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto;margin:0}
.aide-sommaire ol{padding-left:20px;margin:10px 0 0;line-height:1.7;font-size:14px}
.aide-recherche-page input{width:100%}
.aide-support{margin:0;min-width:0}
.aide-chapitre{margin-bottom:28px}
.aide-chapitre > h2{font-size:21px;border-bottom:2px solid var(--line);padding-bottom:6px}
.aide-manuel-section{margin:14px 0 18px;line-height:1.55;font-size:14px}
.aide-manuel-section h3{font-size:16px;margin:0 0 6px}
.aide-cible{animation:aideCible 1.6s ease-out}
@keyframes aideCible{0%{background:#fff7e9}100%{background:transparent}}
.bulle-aide{position:fixed;z-index:1001;pointer-events:none;max-width:min(320px,calc(100vw - 16px));background:#173a63;color:#fff;
  font-size:13px;line-height:1.45;padding:8px 11px;border-radius:10px;box-shadow:0 8px 24px rgba(16,43,70,.25)}
html[data-sans-bulles] .bulle-aide{display:none!important}
@media print{
  .sidebar,.topbar .actions,.aide-sommaire,.aide-volet,.bulle-aide,#toasts{display:none!important}
  .aide-page{display:block}
  .aide-support{box-shadow:none;border:0}
  .aide-section,.aide-manuel-section{break-inside:avoid-page}
  .aide-figure{break-inside:avoid}
}

/* ---------- téléphone ---------- */
@media (max-width:767px){
  .aide-page{grid-template-columns:1fr}
  .aide-page .aide-sommaire{position:static;max-height:none}
  .aide-volet{width:100vw}
  .stats-grille{grid-template-columns:1fr}
  .g-barre-ligne{grid-template-columns:minmax(0,110px) 1fr auto;gap:6px}
  .g-anneau{justify-content:center}
  .g-anneau{flex-direction:column}
  .g-legende{min-width:0;width:100%}
  .metric .value.moyen{font-size:18px}
  .tb-grille{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .metric .value{font-size:24px}
  .gate-panel{padding:26px 22px}
  .form-grid{grid-template-columns:1fr}
  .champs{grid-template-columns:1fr}
  .table-param td.actions-cellule{white-space:normal}
  .table-param td.actions-cellule .btn{margin:2px 0}
  .table-droits select.droit{min-width:80px}
  .liste-ajout{flex-direction:column}
  .table-cartes .cellule{text-align:right;min-width:0}
  .table-cartes .pastilles{justify-content:flex-end}
  .jf-colonnes{grid-template-columns:1fr;gap:0}
  .historique li{grid-template-columns:1fr;gap:2px}
  .depense-montant{font-size:16px}
  .justif{grid-template-columns:56px 1fr}
  .justif-actions{grid-column:1/-1;justify-content:flex-start}
  .km-synthese .metric .value{font-size:18px}
  .formule{white-space:normal;flex-wrap:wrap;justify-content:flex-end}
  /* une simple confirmation reste une petite fenêtre, pas un plein écran (mobile.css) */
  .fenetre-message{width:calc(100vw - 32px);height:fit-content;max-height:80dvh;margin:auto;border-radius:18px}
  .fenetre-message form{height:auto}
}

/* Lot 9 : Paramètres › Import (repris de NAVYRO Flotte) */
.import-choix{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1.4fr) auto;gap:12px;align-items:end}
.import-boutons{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.import-choix .import-boutons{margin-top:0}
.import-options{display:grid;gap:12px;margin-top:14px;max-width:720px}
.import-table select,.import-table input{width:100%;min-width:0;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff;color:var(--ink);font:inherit;font-size:13px}
.import-cache>*{visibility:hidden}
.import-sous-titre{font-size:14px;margin:16px 0 6px}
.import-apercu{max-height:260px;overflow:auto}
.import-apercu td,.import-apercu th{white-space:nowrap;font-size:12px}
.import-feuille{max-width:360px;margin-bottom:8px}
.import-justificatifs{display:grid;grid-template-columns:minmax(220px,480px) auto;gap:12px;align-items:end;justify-content:start}
.compteurs-import{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.puce-import{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font:inherit;font-size:12px;color:var(--ink);cursor:pointer;display:inline-flex;gap:6px;align-items:baseline}
.puce-import:disabled{cursor:default}
.puce-import b{font-size:13px}
.puce-import.actif{border-color:var(--brand2);box-shadow:0 0 0 2px rgba(44,111,175,.18)}
.puce-import.b-green b{color:#117653}.puce-import.b-blue b{color:#2c6faf}.puce-import.b-orange b{color:#aa6b12}
.puce-import.b-red b{color:#aa3941}.puce-import.b-gris b{color:#5b6678}
.puce-import[class*="b-"]{background:#fff;color:var(--ink)}
@media (max-width:760px){.import-choix,.import-justificatifs{grid-template-columns:1fr}.table-cartes td.import-cache{display:none}
  .table-cartes td.import-champ>div{text-align:right}}
