:root{--blue:#2e57a5;--orange:#ffb600;--pink:#e31c79;--ink:#454142;--grey:#cfcdc9;--ink-soft:#6b6668;--bg:#f4f3f1;--panel:#fff;--line:#e7e5e2;--lineblue:#00a3e1;--blue-050:#e7f6fc;--orange-050:#fff6e0;--pink-050:#fdeaf3;--grad:linear-gradient(120deg, #00a3e1 0%, #8e57b0 45%, #e31c79 72%, #ffb600 100%);--radius:16px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:Onest,system-ui,-apple-system,sans-serif}.connexion-fond{place-items:center;min-height:100vh;padding:24px;display:grid}.connexion-carte{border-radius:20px;width:min(896px,100%);min-height:350px;display:flex;overflow:hidden;box-shadow:0 12px 40px #4541422e}.connexion-marque{background:var(--blue);color:#fff;text-align:center;flex-direction:column;flex:0 0 42%;justify-content:center;align-items:center;gap:18px;padding:32px;display:flex;position:relative}.connexion-logo{object-fit:contain;background:#fff;border-radius:50%;width:110px;height:110px;padding:8px}.connexion-titre{font-family:Georgia,Times New Roman,serif;font-size:22px;font-style:italic;line-height:1.5}.connexion-version{opacity:.8;font-size:11.5px;position:absolute;bottom:12px;left:16px}.connexion-form{background:var(--bg);flex-direction:column;flex:auto;justify-content:center;gap:22px;padding:36px 40px;display:flex}.connexion-bienvenue{color:var(--ink-soft);font-size:17px;font-style:italic}.connexion-champ{align-items:center;gap:16px;display:flex}.connexion-champ span{color:var(--ink);flex:0 0 100px;font-size:14.5px;font-weight:600}.connexion-champ select,.connexion-champ input{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:8px;flex:auto;padding:11px 14px;font-size:15px}.connexion-champ select:focus,.connexion-champ input:focus{outline:2px solid var(--blue);outline-offset:1px}.connexion-mdp{flex:auto;display:flex;position:relative}.connexion-mdp input{width:100%;padding-right:40px}.connexion-mdp-oeil{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.connexion-erreur{color:var(--pink);font-size:14px;font-weight:600}.connexion-valider{background:var(--blue);color:#fff;cursor:pointer;border:none;border-radius:14px;align-self:center;place-items:center;width:64px;height:64px;display:grid;box-shadow:0 8px 20px #00a3e159}.connexion-valider:disabled{opacity:.6;cursor:default}@media (width<=620px){.connexion-carte{flex-direction:column;min-height:0}.connexion-marque{flex-basis:auto;padding:24px}.connexion-version{margin-top:8px;position:static}}.menu-principal{padding:32px}.app{min-height:100vh;display:flex}.sidebar{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;flex:0 0 246px;width:246px;height:100vh;padding:20px 16px 16px;display:flex;position:sticky;top:0}.brand{justify-content:center;align-items:center;padding:8px 8px 18px;display:flex}.brand .tsa-logo{width:85px;max-width:100%;height:auto;display:block}.nav{flex-direction:column;flex:0 auto;gap:2px;min-height:0;margin-right:-6px;padding-right:6px;display:flex;overflow-y:auto}.group-label{letter-spacing:1.4px;text-transform:uppercase;color:#a7a2a3;padding:16px 10px 6px;font-size:10.5px;font-weight:600}.nav-item{color:var(--ink);cursor:pointer;border-radius:11px;align-items:center;gap:12px;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex;position:relative}.nav-item svg{stroke-width:1.7px;flex:0 0 20px;width:20px;height:20px}.nav-item .ico{color:var(--ink-soft);display:flex}.nav-item:hover{color:var(--pink);background:#cfcdc9}.nav-item.active{background:var(--blue-050);color:#0b7fb0;font-weight:600}.nav-item.active .ico{color:var(--blue)}.nav-item.active:before{content:"";background:var(--grad);border-radius:0 4px 4px 0;width:4px;height:22px;position:absolute;top:50%;left:-16px;transform:translateY(-50%)}.sidebar-footer{flex-direction:column;margin-top:auto;padding-top:8px;display:flex}.logout{border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:11px;justify-content:center;align-items:center;gap:9px;margin-top:12px;padding:11px;font-size:13px;font-weight:600;transition:all .15s;display:flex}.logout:hover{border-color:var(--pink);color:var(--pink);background:var(--pink-050)}.powered{border-top:1px solid var(--line);color:var(--ink-soft);justify-content:center;align-items:center;gap:8px;margin-top:14px;padding-top:14px;font-size:11.5px;display:flex}.powered img{object-fit:contain;width:22px;height:22px}.powered b{color:var(--ink);font-weight:600}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background:var(--panel);border-bottom:1px solid var(--line);z-index:5;align-items:center;gap:18px;padding:14px 26px;display:flex;position:sticky;top:0}.clock{font-variant-numeric:tabular-nums;color:var(--ink);background:var(--bk);border:1px solid var(--lineblue);border-radius:10px;align-items:center;gap:8px;padding:8px 14px;font-size:20px;font-weight:600;display:flex}.clock svg{width:17px;height:17px;color:var(--ink-soft)}.spacer{flex:1}.user{align-items:center;gap:10px;padding-left:6px;display:flex}.avatar{background:var(--grad);color:#fff;letter-spacing:.5px;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:14px;font-weight:700;display:flex}.user .u-meta{flex-direction:column;line-height:1.15;display:flex}.user .u-meta .u-name{color:var(--ink);font-size:13.5px;font-weight:600}.user .u-meta .u-role{color:var(--ink-soft);font-size:11.5px}.content{flex-direction:column;flex:1;gap:22px;padding:24px 26px 40px;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-head h1{color:var(--ink);font-size:22px;font-weight:700}.page-head .sub{color:var(--ink-soft);margin-top:2px;font-size:13px}.module-a-venir{color:var(--ink-soft)}.module-a-venir h1{color:var(--ink);margin-bottom:8px;font-size:22px;font-weight:700}.tdb{flex-direction:column;gap:22px;margin-top:18px;display:flex}.tdb-kpi-row{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.tdb-kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;position:relative;overflow:hidden;box-shadow:0 1px 2px #4541420f,0 8px 24px #4541420f}.tdb-kpi-accent{width:4px;position:absolute;top:0;bottom:0;left:0}.tdb-kpi-top{justify-content:space-between;align-items:center;display:flex}.tdb-kpi-label{color:var(--ink-soft);font-size:12.5px;font-weight:500}.tdb-kpi-icone{border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.tdb-kpi-valeur{letter-spacing:-.5px;margin-top:10px;font-size:34px;font-weight:700;line-height:1}.tdb-kpi-pied{color:var(--ink-soft);align-items:center;gap:6px;margin-top:8px;font-size:11.5px;display:flex}.tdb-kpi-blue .tdb-kpi-accent{background:var(--blue)}.tdb-kpi-blue .tdb-kpi-icone{background:var(--blue-050);color:var(--blue)}.tdb-kpi-pink .tdb-kpi-accent{background:var(--pink)}.tdb-kpi-pink .tdb-kpi-icone{background:var(--pink-050);color:var(--pink)}.tdb-kpi-orange .tdb-kpi-accent{background:var(--orange)}.tdb-kpi-orange .tdb-kpi-icone{background:var(--orange-050);color:#c98f00}.tdb-kpi-ink .tdb-kpi-accent{background:var(--ink)}.tdb-kpi-ink .tdb-kpi-icone{color:var(--ink);background:#f0efed}.tdb-badge{border-radius:6px;padding:2px 7px;font-weight:600}.tdb-badge-up{color:#0b7fb0;background:var(--blue-050)}.tdb-badge-down{color:#a06f00;background:var(--orange-050)}@media (width<=1120px){.tdb-kpi-row{grid-template-columns:repeat(2,1fr)}}.tdb-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 1px 2px #4541420f,0 8px 24px #4541420f}.tdb-panel-tete{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.tdb-panel-titre{font-size:15.5px;font-weight:700}.tdb-panel-compte{color:var(--ink-soft);background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:3px 9px;font-size:11.5px;font-weight:600}.tdb-panel-filtres{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tdb-panel-filtres label{color:var(--ink-soft);align-items:center;gap:6px;font-size:12.5px;font-weight:600;display:flex}.tdb-panel-filtres input[type=date]{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:8px;padding:5px 8px;font-family:inherit;font-size:13px}.tdb-panel-filtres>button{border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:8px;padding:6px 12px;font-family:inherit;font-size:12.5px;font-weight:600}.tdb-panel-filtres>button:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}.tdb-panel-filtres>button:disabled{opacity:.6;cursor:default}.tdb-seg{border:1px solid var(--line);border-radius:8px;display:flex;overflow:hidden}.tdb-seg button{background:var(--panel);color:var(--ink-soft);cursor:pointer;border:none;border-right:1px solid var(--line);padding:6px 10px;font-family:inherit;font-size:12.5px;font-weight:600}.tdb-seg button:last-child{border-right:none}.tdb-seg button.actif{background:var(--blue-050);color:var(--blue)}.tdb-switch{align-items:center;gap:6px;display:flex}.tdb-switch input{accent-color:var(--blue);cursor:pointer}.tdb-tableau-cadre{overflow-x:auto}.tdb-tableau{border-collapse:collapse;width:100%;min-width:760px;font-size:12.5px}.tdb-tableau thead th{text-align:left;color:var(--ink-soft);border-bottom:1px solid var(--line);white-space:nowrap;background:#faf9f8;padding:10px 9px;font-size:11px;font-weight:600}.tdb-tableau tbody td{white-space:nowrap;color:var(--ink);border-bottom:1px solid #f2f0ee;padding:9px}.tdb-tableau tbody tr:hover td{background:#faf9f8}.tdb-ligne-annulee td{opacity:.5;text-decoration:line-through}.tdb-tableau-vide{text-align:center;color:var(--ink-soft);padding:20px!important}.tdb-pill{border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.tdb-pill-ok{color:#1a8a4f;background:#e9f7ef}.tdb-pill-attente{background:var(--orange-050);color:#a06f00}@media (width<=900px){.app{flex-direction:column}.sidebar{flex:none;width:100%;height:auto;position:static}.nav{flex-flow:wrap}}.deplacement{width:100%;max-width:1200px;margin:0 auto;padding:24px 26px 40px}.deplacement-entete{justify-content:space-between;align-items:center;display:flex}.deplacement-entete button{border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:8px;padding:8px 14px;transition:all .15s}.deplacement-entete button:hover{border-color:var(--pink);color:var(--pink);background:var(--pink-050)}.deplacement-onglets{border-bottom:1px solid var(--line);gap:4px;margin:16px 0;display:flex}.deplacement-onglets button{cursor:pointer;color:var(--ink-soft);background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 16px;font-size:14px}.deplacement-onglets button.actif{color:var(--blue);border-bottom-color:var(--blue);font-weight:600}.deplacement-panneau{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px}.deplacement-grille{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:16px;display:grid}.deplacement-grille fieldset,.deplacement-panneau fieldset{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:10px;padding:14px;display:flex}.deplacement-panneau legend{color:var(--ink);padding:0 6px;font-weight:700}.deplacement-panneau fieldset label:not(.connexion-champ){align-items:center;gap:8px;font-size:14px;display:flex}.deplacement-info{color:var(--ink-soft);font-size:13px}.deplacement-depart-arrivee{grid-template-columns:1fr 1fr;grid-template-areas:"depart options""but1 but2""infos infos";align-items:start;gap:16px;display:grid}.deplacement-depart-arrivee .ga-depart{grid-area:depart}.deplacement-depart-arrivee .ga-options{grid-area:options}.deplacement-depart-arrivee .ga-but1{grid-area:but1}.deplacement-depart-arrivee .ga-but2{grid-area:but2}.deplacement-depart-arrivee .ga-infos{grid-area:infos}@media (width<=720px){.deplacement-depart-arrivee{grid-template-columns:1fr;grid-template-areas:"depart""options""but1""but2""infos"}}.depart-arrivee-voyage,.depart-arrivee-cases{flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:14px;display:flex}.depart-arrivee-voyage>span:first-child{color:var(--ink);flex:none;margin-right:4px;font-size:14.5px;font-weight:600}.depart-arrivee-voyage label,.depart-arrivee-cases label{white-space:nowrap;align-items:center;gap:6px;display:flex}.deplacement-infos textarea{resize:vertical;width:100%}.calc-ligne{justify-content:space-between;align-items:baseline;gap:16px;padding:3px 0;font-size:14px;display:flex}.calc-ligne .val{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-weight:600}.calc-ligne-total{border-top:1px solid var(--line);margin-top:6px;padding-top:8px;font-weight:700}.deplacement-actions{justify-content:flex-end;gap:12px;margin-top:20px;display:flex}.deplacement-actions button{cursor:pointer;background:var(--grey);border:1px solid #0000;border-radius:8px;padding:10px 18px;font-size:14px;transition:all .15s}.deplacement-actions .deplacement-enregistrer{background:var(--blue);color:#fff}.deplacement-actions button:hover:not(:disabled){border-color:var(--pink);color:var(--pink);background:var(--pink-050)}.deplacement-actions button:disabled{opacity:.6;cursor:default}.deplacements{width:100%;padding:24px 26px 40px}.deplacements-filtres{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:flex-start;gap:24px;margin:16px 0;padding:14px 16px;display:flex}.filtres-colonne{flex-direction:column;gap:10px;display:flex}.filtres-ligne{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.filtres-annulees{align-self:center;margin-left:auto}.deplacements-filtres label{color:var(--ink-soft);align-items:center;gap:6px;font-size:13px;display:flex}.deplacements-filtres select,.deplacements-filtres input[type=date]{border:1px solid var(--line);background:var(--bg);border-radius:6px;padding:6px 8px;font-size:13px}.deplacements-filtres button{background:var(--blue);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:8px 16px;font-size:13px;transition:all .15s}.deplacements-filtres button:hover:not(:disabled){border-color:var(--pink);color:var(--pink);background:var(--pink-050)}.deplacements-tableau-conteneur{border:1px solid var(--line);background:var(--panel);border-radius:10px;overflow-x:auto}.deplacements-tableau{border-collapse:collapse;table-layout:fixed;background:var(--panel);width:max-content;min-width:100%;font-size:13px}.deplacements-tableau .col-date{width:120px}.deplacements-tableau .col-demandeur{width:150px}.deplacements-tableau .col-actions{width:92px}.deplacements-tableau td{white-space:nowrap}.deplacements-tableau th,.deplacements-tableau td{border-bottom:1px solid var(--line);border-left:1px solid var(--line);text-align:left;padding:6px 4px}.deplacements-tableau th:first-child,.deplacements-tableau td:first-child{border-left:none}.deplacements-tableau thead th{background:var(--blue);white-space:normal;word-break:normal;vertical-align:bottom;color:var(--panel);font-size:11.5px;font-weight:700;line-height:1.2;position:sticky;top:0}.deplacements-tableau .col-narrow{width:34px}.deplacements-tableau .col-etroit,.deplacements-tableau .col-heure{width:44px}.deplacements-tableau .col-s{width:28px}.deplacements-tableau .col-vehicule{width:80px}.deplacements-tableau .col-nom{width:150px}.deplacements-tableau .col-ville2{width:210px}.deplacements-tableau .col-mensuel{width:70px}.deplacements-tableau input.entree-heure,.deplacements-tableau input.entree-code{text-align:center;background:0 0;border:none;width:100%;padding:0;font-size:12.5px}.deplacements-tableau input.entree-heure:focus,.deplacements-tableau input.entree-code:focus{background:var(--blue-050);outline:none}.deplacements-tableau select.entree-select{background:0 0;border:none;width:100%;padding:0;font-size:12.5px}.deplacements-tableau select.entree-select:focus{background:var(--blue-050);outline:none}.deplacements-tableau .cellule-ouvrir{cursor:pointer}.deplacements-tableau .cellule-ouvrir:hover{text-decoration:underline}.deplacements-tableau tr.ligne-annulee{opacity:.5;text-decoration:line-through}.deplacements-vide{text-align:center;color:var(--ink-soft);padding:24px}.menu-titre{letter-spacing:-.5px;color:var(--ink);margin:0;font-size:30px;font-weight:800}.bouton-icone{background:var(--panel);border:1px solid var(--line);width:48px;height:48px;color:var(--blue);cursor:pointer;border-radius:10px;place-items:center;transition:background .15s;display:grid}.bouton-icone:hover{background:var(--blue-050)}.ref-page{max-width:1320px;margin:0 auto;padding:28px 26px 48px}.ref-entete{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.ref-entete .menu-titre{flex:none}.ref-recherche{flex-direction:column;grid-area:1/1;gap:4px;display:flex}.ref-recherche span{color:var(--ink-soft);font-size:13px;font-weight:600}.ref-recherche input{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:8px;padding:8px 12px;font-family:inherit;font-size:15px}.ref-corps{grid-template-rows:auto 1fr;grid-template-columns:1fr 480px;align-items:start;gap:10px 24px;display:grid}.ref-liste{grid-area:2/1;max-height:calc(100vh - 160px);overflow-y:auto}.ref-fiche{grid-area:2/2}.ref-liste .ref-tableau tbody tr{cursor:pointer}.ref-liste .ref-tableau tbody tr:hover td{background:var(--blue-050)}.ref-liste .ref-tableau tbody tr.ligne-active td{background:var(--blue-050);font-weight:600}.ref-tableau-cadre{border:1px solid var(--line);background:var(--panel);border-radius:10px;overflow-x:auto}.ref-tableau{border-collapse:collapse;background:var(--panel);width:100%;font-size:14px}.ref-tableau thead th{background:var(--blue);color:#fff;text-align:center;padding:10px;font-weight:700;position:sticky;top:0}.ref-tableau tbody td{text-align:center;border-top:1px solid var(--line);color:var(--ink);padding:8px 10px}.ref-tableau tbody .col-principale{text-align:left;font-weight:500}.ref-fiche{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:12px;padding:18px 20px;display:flex}.ref-fiche label{flex-direction:column;gap:4px;display:flex}.ref-fiche label span{color:var(--ink-soft);font-size:13px;font-weight:600}.ref-fiche input,.ref-fiche select,.ref-fiche textarea{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:8px;padding:8px 12px;font-family:inherit;font-size:15px}.ref-fiche textarea{resize:vertical}.ref-ligne{gap:14px;display:flex}.ref-ligne label{flex:1}.ref-ligne label.court{flex:0 0 130px}.ref-actions{flex-wrap:wrap;gap:8px;display:flex}.ref-actions button{border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-family:inherit;font-size:14px;font-weight:700;transition:all .15s;display:inline-flex}.ref-actions button:hover:not(:disabled){border-color:var(--blue);color:var(--blue);background:var(--blue-050)}.ref-actions button.danger{color:var(--pink);border-color:var(--pink)}.ref-actions button.danger:hover:not(:disabled){background:var(--pink-050)}.ref-actions button:disabled{opacity:.5;cursor:default}.ref-message{color:var(--blue);font-size:14px;font-weight:700}.ref-tableau .col-case{width:34px}.ref-separateur{border:none;border-top:1px solid var(--line);margin:4px 0}.ref-dupliquer{border:1px solid var(--blue);background:var(--blue-050);color:var(--blue);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-family:inherit;font-size:14px;font-weight:700;transition:all .15s;display:inline-flex}.ref-dupliquer:hover:not(:disabled){background:var(--blue);color:#fff}.ref-dupliquer:disabled{opacity:.5;cursor:default}.ref-toggle{color:var(--ink);cursor:pointer;grid-area:1/1;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.ref-toggle input{width:16px;height:16px;accent-color:var(--blue);cursor:pointer}.ref-fiche label.ref-checkbox{border:1px solid var(--blue);background:var(--blue-050);cursor:pointer;border-radius:8px;flex-direction:row;align-items:center;gap:10px;padding:8px 12px;display:flex}.ref-checkbox input{width:16px;height:16px;accent-color:var(--blue);cursor:pointer}.ref-checkbox span{color:var(--blue);font-size:14px;font-weight:600}.ref-checkbox:has(input:disabled){opacity:.5;cursor:default}@media (width<=900px){.ref-corps{grid-template-columns:1fr}}.parametres-fiche{max-width:760px;margin:0 auto}.parametres-grille{grid-template-columns:1fr 1fr;gap:14px 24px;display:grid}.parametres-variations{flex-direction:column;gap:14px;display:flex}.parametres-variation{gap:14px;display:flex}.parametres-variation label:first-child{flex:1}.parametres-variation label:last-child{flex:0 0 160px}@media (width<=640px){.parametres-grille{grid-template-columns:1fr}.parametres-variation{flex-direction:column}}.ref-corps-benevole{grid-template-columns:1fr 560px}.ref-ligne label.benevole-code-postal{flex:0 0 90px;min-width:0}.ref-onglets{border-bottom:1px solid var(--line);gap:4px;margin-bottom:14px;display:flex}.ref-onglets button{cursor:pointer;color:var(--ink-soft);background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px;font-size:14px}.ref-onglets button.actif{color:var(--blue);border-bottom-color:var(--blue);font-weight:600}.benevole-colonne{flex-direction:column;gap:10px;display:flex}.benevole-colonne label{flex-direction:column;gap:4px;display:flex}.benevole-colonne label span{color:var(--ink-soft);font-size:13px;font-weight:600}.benevole-colonne input,.benevole-colonne select,.benevole-colonne textarea{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:8px;padding:8px 12px;font-family:inherit;font-size:15px}.benevole-colonne textarea{resize:vertical}.benevole-dispo-cadre{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:14px}.benevole-dispo-titre{color:var(--blue);margin-bottom:8px;font-weight:700}.benevole-dispo-tableau{border-collapse:collapse;width:100%;font-size:12px}.benevole-dispo-tableau th{text-align:center;color:var(--ink-soft);border-bottom:1px solid var(--line);padding:6px 2px;font-weight:600}.benevole-dispo-tableau td{text-align:center;border-bottom:1px solid var(--line);padding:6px 2px}.benevole-dispo-tableau td input{accent-color:var(--blue);cursor:pointer;margin:0 3px}.benevole-dispo-jour-entete{text-align:right}.benevole-dispo-jour label{color:var(--ink);cursor:pointer;flex-direction:row;justify-content:space-between;align-items:center;gap:6px;font-weight:600;display:flex}.benevole-dispo-jour input{accent-color:var(--blue);cursor:pointer}.benevole-dispo-semaine{margin-top:16px}.benevole-dispo-semaine-options{border:1px solid var(--line);border-radius:8px;grid-template-columns:1fr 1fr;gap:6px 16px;padding:10px;display:grid}.benevole-dispo-semaine-options label{cursor:pointer;flex-direction:row;align-items:center;gap:8px;font-size:14px;display:flex}.benevole-dispo-semaine-options input{accent-color:var(--blue);cursor:pointer}.demandeur-filtres{grid-area:1/1;align-items:flex-end;gap:20px;display:flex}.demandeur-filtres .ref-recherche{flex:1;grid-area:auto}.demandeur-filtres .ref-toggle{grid-area:auto;padding-bottom:9px}.contact-ligne-qualite{align-items:flex-end}.contact-nouvelle-qualite{border:1px solid var(--blue);background:var(--blue-050);color:var(--blue);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-family:inherit;font-size:14px;font-weight:700;transition:all .15s;display:inline-flex}.contact-nouvelle-qualite:hover{background:var(--blue);color:#fff}.contact-ajout-qualite input{flex:1}.contact-ajout-qualite button{border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-family:inherit;font-size:14px;font-weight:700;display:inline-flex}.facturation-corps{grid-template-columns:1fr 360px;align-items:start;gap:24px;display:grid}.facturation-demandeurs{flex-direction:column;gap:10px;display:flex}.facturation-demandeurs-actions{align-items:center;gap:10px;display:flex}.facturation-demandeurs-actions button{border:1px solid var(--blue);background:var(--blue);color:#fff;cursor:pointer;border-radius:8px;padding:8px 16px;font-family:inherit;font-size:14px;font-weight:700}.facturation-demandeurs-actions input{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:8px;flex:1;padding:8px 12px;font-family:inherit;font-size:14px}.facturation-demandeurs .ref-liste{max-height:calc(100vh - 260px)}.facturation-demandeurs td.col-principale{text-align:left;align-items:center;gap:8px;display:flex}.facturation-demandeurs td input[type=checkbox]{accent-color:var(--blue);cursor:pointer}.facturation-selection-info{color:var(--ink-soft);font-size:13px;font-weight:600}.facturation-panneau{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:12px;padding:18px 20px;display:flex}.facturation-panneau label{flex-direction:column;gap:4px;display:flex}.facturation-panneau label span{color:var(--ink-soft);font-size:13px;font-weight:600}.facturation-panneau input,.facturation-panneau select{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:8px;padding:8px 12px;font-family:inherit;font-size:15px}.facturation-actions{flex-direction:column;gap:10px;margin-top:8px;display:flex}.facturation-actions button{border:1px solid var(--blue);background:var(--blue-050);color:var(--blue);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px 14px;font-family:inherit;font-size:14px;font-weight:700;transition:all .15s;display:inline-flex}.facturation-actions button:hover:not(:disabled){background:var(--blue);color:#fff}.facturation-actions button:disabled{opacity:.5;cursor:default}@media (width<=900px){.facturation-corps{grid-template-columns:1fr}}.deplacements-tableau tbody .col-orange{background:#f7b67d}.deplacements-tableau tbody .col-purple{background:#ecd1ff}.deplacements-tableau tbody .col-paleyellow{background:#fefecf}.deplacements-tableau tbody .col-yellow{background:#ddd534}.deplacements-tableau tbody .col-green{background:#d6f5b0}.deplacements-actions{gap:4px;display:flex}.deplacements-actions button,.deplacements-dupliquer{border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:6px;padding:4px 8px;font-size:14px;transition:all .15s}.deplacements-actions button:hover,.deplacements-dupliquer:hover{border-color:var(--pink);color:var(--pink);background:var(--pink-050)}@page{size:A4 portrait;margin:8mm}.bons-page{background:var(--bg);padding:16px}.bons-actions{background:var(--panel);border:1px solid var(--line);border-radius:10px;align-items:center;gap:16px;margin-bottom:16px;padding:10px 16px;display:flex}.bons-actions button{background:var(--blue);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:13px}.bons-actions span{color:var(--ink-soft);font-size:13px}.bon{color:#000;background:#fff;border:1.5px solid #000;width:194mm;height:137mm;margin:0 auto 3mm;font-size:7.2px;line-height:1.25;display:flex;overflow:hidden}.bon:nth-child(2n){page-break-after:always;break-after:page;margin-bottom:0}.bon-col{flex-direction:column;flex:50%;gap:2px;padding:3px 5px;display:flex;overflow:hidden}.bon-col:first-child{border-right:1.5px solid #000}.bon-entete{border:1px solid #000;align-items:center;gap:6px;padding:2px 4px;display:flex}.bon-badge{border:1.5px solid #000;padding:1px 6px;font-size:11px;font-weight:800}.bon-type{flex:1;font-size:7px;font-weight:700}.bon-volet{background:#ccc;padding:1px 6px;font-size:7px;font-weight:700}.bon-entete-recu{background:#ccc;justify-content:center;font-size:9px;font-weight:700}.bon-nom{border-bottom:1px solid #000;padding:1px 2px;font-size:9px;font-weight:800}.bon-adresses{border:1px solid #000;align-items:flex-start;gap:4px;padding:2px;display:flex}.bon-ar{text-align:center;border-right:1px solid #000;padding-right:4px;font-size:7px;font-weight:700}.bon-adresses-texte{flex:1}.bon-tel,.bon-date-recu{white-space:nowrap;font-size:6.6px}.bon-table{border-collapse:collapse;table-layout:fixed;width:100%}.bon-table th,.bon-table td{text-align:center;white-space:nowrap;border:1px solid #000;padding:1px 2px;font-size:6.4px;overflow:hidden}.bon-table th{background:#eee;font-weight:700}.bon-total-general,.bon-total-general-recu{background:#eee;font-size:9px;font-weight:800}.bon-total-general-recu{text-align:right;border:1px solid #000;padding:2px}.bon-le,.bon-motif{border:1px solid #000;padding:1px 3px}.bon-legal{text-align:justify;flex:1;font-size:5.6px;line-height:1.15;overflow:hidden}.bon-bas{border:1px solid #000;justify-content:space-between;align-items:center;padding:2px 4px;display:flex}.bon-signature{border-left:1px dashed #000;min-width:60px;padding-left:6px}.bon-cond{border:1px solid #000;justify-content:space-between;padding:2px 4px;display:flex}.bon-recu-bas{border:1px solid #000;align-items:center;gap:8px;padding:2px 4px;display:flex}.bon-logo{width:24px;height:auto}.bon-recu-titre{font-size:9px;font-weight:800}@media print{.bons-actions{display:none}.bons-page{background:#fff;padding:0}.bon{border:1px solid #000}}.facture-groupe{page-break-after:always;break-after:page}.facture-groupe:last-child{page-break-after:auto;break-after:auto}.facture-page{color:#000;background:#fff;border:1px solid #000;width:202mm;margin:0 auto;padding:3mm;font-size:8px;line-height:1.3}.facture-entete{border-bottom:1px solid #000;align-items:flex-start;gap:10px;margin-bottom:4px;padding-bottom:4px;display:flex}.facture-logo{width:40px;height:auto}.facture-entete-texte{flex:1;font-size:8px}.facture-titre{margin-top:6px;font-size:14px;font-weight:800}.facture-entete-adresse{border:1px solid #000;min-width:60mm;padding:4px 6px;font-size:7.5px}.facture-demandeur{border:1px solid #000;margin-bottom:4px}.facture-demandeur-ligne{border-bottom:1px solid #ccc;justify-content:space-between;padding:2px 4px;font-size:8px;display:flex}.facture-demandeur-ligne:last-child{border-bottom:none}.facture-corps{border-collapse:collapse;width:100%;margin-bottom:4px}.facture-corps th,.facture-corps td{vertical-align:top;border:1px solid #000;padding:2px 4px;font-size:7.5px}.facture-corps th{text-align:center;background:#eee;font-weight:700}.facture-date{white-space:nowrap;text-align:center}.facture-trajets div{margin-bottom:1px}.facture-passager2{color:#444;font-style:italic}.facture-role{text-transform:uppercase;letter-spacing:.3px;margin-bottom:1px;font-size:6.8px;font-weight:800}.facture-info-seule{text-align:center;color:#444;font-style:italic}.facture-montants{white-space:nowrap;grid-template-columns:1fr 1fr;gap:0 8px;display:grid}.facture-montant-ligne{justify-content:space-between;gap:4px;display:flex}.facture-montant-ligne span:first-child{text-align:left}.facture-montant-ligne span:last-child{text-align:right}.facture-total-ligne{text-align:right;white-space:nowrap;font-weight:800}.facture-pied{border:1px solid #000;gap:6px;padding:4px;display:flex}.facture-pied-bloc{border-right:1px solid #000;flex:1;padding-right:6px;font-size:7.5px}.facture-pied-bloc:last-child{border-right:none;padding-right:0}.facture-pied-titre{margin-bottom:3px;font-weight:700}.facture-pied-numeros{margin-bottom:4px;font-size:11px;font-weight:700}.facture-pied-ligne{align-items:center;gap:4px;margin-bottom:3px;display:flex}.facture-champ-vide{border-bottom:1px solid #000;flex:1;min-width:20mm;min-height:8px}.facture-case{border:1px solid #000;width:8px;height:8px;display:inline-block}.facture-pied-montant{text-align:center}.facture-montant-total{background:#eee;border:1px solid #000;padding:3px 8px;font-size:13px;font-weight:800;display:inline-block}.facture-bas-page{margin-top:4px}.facture-legal{text-align:justify;border-top:1px solid #000;border-bottom:1px solid #000;margin:0 0 4px;padding:3px 0;font-size:5.6px;line-height:1.2}.facture-bas-ligne{justify-content:space-between;align-items:center;font-size:8px;display:flex}.facture-couple{background:#fff;border:1px solid #000;justify-content:space-between;align-items:center;width:202mm;margin:4px auto 0;padding:4px 8px;font-size:9px;display:flex}@media print{.facture-page,.facture-couple{border:1px solid #000}}
