:root{--fond:#f5f7fb;--surface:#fff;--texte:#172033;--muet:#697386;--bord:#e4e8ef;--primaire:#3157d5;--primaire-fonce:#2445b7;--vert:#17855b;--rouge:#b74444;--ombre:0 8px 30px rgba(20,32,55,.06);--rayon:12px}*{box-sizing:border-box}body{margin:0;background:var(--fond);color:var(--texte);font:14px/1.5 Inter,system-ui,-apple-system,"Segoe UI",sans-serif}button,input,select{font:inherit}button{cursor:pointer}.barre-haute{height:68px;background:var(--surface);border-bottom:1px solid var(--bord);display:flex;align-items:center;padding:0 28px;gap:38px;position:sticky;top:0;z-index:30}.marque{display:flex;align-items:center;gap:10px;color:var(--texte);font-size:17px;font-weight:750;text-decoration:none}.marque-symbole{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:linear-gradient(145deg,#3157d5,#7a4fdf);color:#fff}.barre-haute nav{display:flex;align-items:stretch;height:100%;gap:5px}.barre-haute nav a{display:flex;align-items:center;padding:0 13px;color:var(--muet);text-decoration:none;border-bottom:2px solid transparent}.barre-haute nav a:hover,.barre-haute nav a.actif{color:var(--primaire);border-color:var(--primaire)}.profil{margin-left:auto;display:flex;align-items:center;gap:9px}.profil>span:nth-child(2){display:flex;flex-direction:column}.profil small{color:var(--muet)}.profil>a{color:var(--muet);text-decoration:none;font-size:18px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e9edfc;color:var(--primaire);font-weight:700}.menu-mobile{display:none;border:0;background:none;font-size:22px}.contenu{max-width:1480px;margin:auto;padding:32px}.entete-page{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.entete-page h1{font-size:26px;line-height:1.2;margin:0 0 5px}.entete-page p{margin:0;color:var(--muet)}.panneau{background:var(--surface);border:1px solid var(--bord);border-radius:var(--rayon);box-shadow:var(--ombre);padding:20px;margin-bottom:18px}.filtres{padding:14px 18px}.vues{display:flex;gap:5px;border-bottom:1px solid var(--bord);margin:-3px 0 14px}.vues button{border:0;background:none;padding:10px 13px;color:var(--muet);border-bottom:2px solid transparent}.vues button.actif{color:var(--primaire);border-color:var(--primaire);font-weight:650}.ligne-filtres{display:flex;gap:10px;flex-wrap:wrap}.ligne-filtres input,.ligne-filtres select,.formulaire-grille input,.formulaire-grille select,.modal input,.modal select,.largeur-limitee input{height:42px;border:1px solid var(--bord);border-radius:9px;padding:0 12px;background:#fff;color:var(--texte)}.recherche{position:relative;flex:1;min-width:250px}.recherche span{position:absolute;left:12px;top:9px;color:var(--muet);font-size:18px}.recherche input{width:100%;padding-left:36px}.bouton{border:1px solid transparent;border-radius:9px;padding:10px 16px;font-weight:650}.bouton.primaire{background:var(--primaire);color:#fff}.bouton.primaire:hover{background:var(--primaire-fonce)}.bouton.secondaire{background:#fff;border-color:var(--bord);color:var(--texte)}.transactions{padding:0;overflow:hidden}.table-transactions,.table-simple{width:100%;border-collapse:collapse}.table-transactions th,.table-simple th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muet);background:#fafbfc;padding:13px 16px;border-bottom:1px solid var(--bord)}.table-transactions td,.table-simple td{padding:14px 16px;border-bottom:1px solid var(--bord);vertical-align:middle}.table-transactions tbody tr:hover{background:#fafbff}.table-transactions td strong{display:block;max-width:480px}.table-transactions td small{display:block;color:var(--muet)}.montant{text-align:right!important;white-space:nowrap;font-weight:700}.montant.negatif{color:var(--rouge)}.montant.positif{color:var(--vert)}.badge-statut{display:inline-flex;border-radius:20px;padding:4px 9px;background:#eef1f6;color:#596477;font-size:12px}.responsable{white-space:nowrap}.actions{white-space:nowrap}.icone{position:relative;width:34px;height:34px;border:1px solid var(--bord);background:#fff;border-radius:8px;margin-right:4px;color:var(--muet)}.icone:hover{border-color:var(--primaire);color:var(--primaire)}.icone span{position:absolute;right:-5px;top:-7px;background:var(--primaire);color:#fff;border-radius:12px;font-size:10px;padding:1px 5px}.pagination{display:flex;align-items:center;justify-content:flex-end;padding:13px 18px;gap:12px}.pagination button{width:32px;height:32px;border:1px solid var(--bord);border-radius:8px;background:#fff}.etat-vide,.chargement{padding:65px 20px;text-align:center;color:var(--muet);display:flex;flex-direction:column}.etat-vide strong{color:var(--texte);font-size:16px}.modal{display:none;position:fixed;inset:0;background:rgba(15,23,42,.42);z-index:50;align-items:center;justify-content:center;padding:20px}.modal.ouvert{display:flex}.modal-contenu{position:relative;background:#fff;width:min(480px,100%);border-radius:15px;padding:25px;box-shadow:0 20px 70px rgba(0,0,0,.18)}.modal-contenu h2{margin:0 0 6px}.modal-contenu form,.largeur-limitee form{display:grid;gap:15px;margin-top:20px}.modal-contenu label,.largeur-limitee label,.formulaire-grille label{display:grid;gap:6px;color:var(--muet)}.modal-contenu input,.modal-contenu select,.largeur-limitee input{width:100%}.modal-fermer{position:absolute;right:15px;top:12px;border:0;background:none;font-size:25px;color:var(--muet)}label.case{display:flex;grid-template-columns:auto 1fr;align-items:center}label.case input{width:auto;height:auto}.depot{border:1.5px dashed #bac3d2;border-radius:12px;padding:28px;text-align:center;cursor:pointer}.depot input{height:auto;margin-bottom:10px}.depot strong,.depot span{display:block}.depot span{font-size:12px}.toast{display:none;position:fixed;right:25px;bottom:25px;padding:12px 16px;border-radius:9px;background:#182235;color:#fff;z-index:80;box-shadow:var(--ombre)}.toast.erreur{background:#9f3333}.alerte{padding:10px 12px;border-radius:8px;margin:12px 0}.alerte.erreur{background:#fff0f0;color:#9f3333}.page-connexion{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 10%,#e7ebff,transparent 35%),var(--fond)}.carte-connexion{width:min(430px,calc(100% - 32px));background:#fff;border:1px solid var(--bord);border-radius:16px;padding:34px;box-shadow:var(--ombre)}.carte-connexion h1{margin:30px 0 4px}.carte-connexion>p{color:var(--muet)}.carte-connexion form{display:grid;gap:16px;margin-top:22px}.carte-connexion label{display:grid;gap:6px}.carte-connexion input{height:45px;border:1px solid var(--bord);border-radius:9px;padding:0 12px}.formulaire-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px;border-top:1px solid var(--bord);padding-top:20px}.formulaire-grille button{align-self:end}.largeur-limitee{max-width:700px}.groupe-boutons{display:flex;gap:10px}.grille-entites{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.carte-entite{display:grid;gap:15px}.carte-entite h2{margin:0}
@media(max-width:900px){.barre-haute{padding:0 17px}.menu-mobile{display:block}.barre-haute nav{display:none;position:absolute;top:68px;left:0;right:0;height:auto;background:#fff;padding:8px 18px;border-bottom:1px solid var(--bord);flex-direction:column}.barre-haute nav.ouvert{display:flex}.barre-haute nav a{padding:12px}.profil>span:nth-child(2){display:none}.contenu{padding:22px 16px}.table-transactions thead{display:none}.table-transactions,.table-transactions tbody,.table-transactions tr,.table-transactions td{display:block}.table-transactions tr{padding:13px;border-bottom:1px solid var(--bord);position:relative}.table-transactions td{border:0;padding:4px 0 4px 105px;min-height:27px}.table-transactions td:before{content:attr(data-label);position:absolute;left:13px;color:var(--muet);font-size:12px}.table-transactions td.montant{text-align:left!important}.formulaire-grille{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.contenu{padding:18px 12px}.entete-page{align-items:flex-start;gap:12px}.entete-page h1{font-size:23px}.ligne-filtres>*{width:100%;flex-basis:100%}.vues{overflow:auto}.vues button{white-space:nowrap}.panneau{border-radius:10px}.formulaire-grille{grid-template-columns:1fr}.profil strong{display:none}}
.aide-formulaire{margin:0;color:var(--muet);font-size:13px}.bouton:disabled{cursor:not-allowed;opacity:.5}.liste-tests{list-style:none;padding:0;margin:18px 0 0}.liste-tests li{padding:8px 10px;border-radius:8px;margin-top:6px}.test-ok{background:#eaf8f1;color:var(--vert)}.test-erreur{background:#fff0f0;color:var(--rouge)}.test-info{background:#eef1f6;color:var(--muet)}
.fournisseur-transaction{display:flex;flex-direction:column;align-items:flex-start;min-width:145px;border:1px solid transparent;border-radius:9px;padding:7px 9px;text-align:left}.fournisseur-transaction small{font-size:11px}.fournisseur-confirme{background:#eaf8f1;color:var(--vert);border-color:#bfe5d3}.fournisseur-propose{background:#fff5df;color:#9a6300;border-color:#f0d398}.fournisseur-absent{background:#fff0f0;color:var(--rouge);border-color:#efcaca}.fournisseur-attente,.fournisseur-non_applicable{background:#eef1f6;color:var(--muet);border-color:#d9dee7}.fournisseur-transaction:disabled{cursor:default;opacity:1}
.titre-formulaire{grid-column:1/-1;margin:0}.formulaire-grille label small{font-weight:400;color:var(--muet)}
[hidden]{display:none!important}
.badge-acces-total{background:#eaf8f1;color:var(--vert)}.badge-acces-personnel{background:#eef1f6;color:var(--muet)}.bouton.danger{background:#fff;border-color:#efcaca;color:var(--rouge)}.bouton.danger:hover{background:#fff3f3}.actions-regle{display:flex;gap:7px;white-space:nowrap}
.badge-non-justifiee{background:#fff2e8;color:#a45515}
.badge-attente-rattachement{background:#fff7d9;color:#866b0a}
.montant-origine{display:block;color:var(--muet);font-size:11px;font-weight:400;margin-top:2px}
.categorie-transaction{display:flex;align-items:center;gap:7px;border:0;background:none;padding:0;color:var(--texte);text-align:left}.categorie-transaction span{display:inline-flex;border-radius:18px;background:#e4f2ee;color:#176c5a;padding:4px 9px;white-space:nowrap}.categorie-transaction strong{display:grid!important;place-items:center;width:27px;height:27px;border:1px solid #168078;border-radius:6px;color:#168078;font-size:19px;font-weight:400}.categorie-transaction:disabled{cursor:default}.modal-categorie-contenu{width:min(520px,100%)}.recherche-categorie{display:grid;gap:6px;margin-top:18px;color:var(--muet)}.recherche-categorie input{width:100%}.liste-categories-pennylane{max-height:340px;overflow:auto;margin-top:10px;border:1px solid var(--bord);border-radius:9px;padding:8px}.titre-groupe-categorie{display:block;padding:7px 9px;color:var(--texte)}.choisir-categorie{display:block;width:100%;border:0;background:#fff;border-radius:7px;padding:8px 10px;text-align:left}.choisir-categorie:hover{background:#eef7f5;color:#176c5a}.table-categories-transactions td:first-child strong{display:block}
.date-synchronisation{margin-top:7px!important;font-size:13px}
.categorie-transaction{min-width:135px;border:1px solid transparent;border-radius:9px;padding:7px 9px;display:grid;grid-template-columns:1fr auto}.categorie-transaction span{grid-column:1;background:transparent;color:inherit;padding:0;white-space:normal}.categorie-transaction small{grid-column:1;font-size:11px}.categorie-transaction>strong{grid-column:2;grid-row:1/3}.categorie-confirmee{background:#eaf8f1;color:var(--vert);border-color:#bfe5d3}.categorie-proposee{background:#fff5df;color:#9a6300;border-color:#f0d398}.categorie-absente{background:#fff0f0;color:var(--rouge);border-color:#efcaca}.choisir-categorie.selectionnee{background:#dff3ed;color:#176c5a;font-weight:700}.categorie-selectionnee{margin:8px 0 0;color:var(--vert);font-weight:650}
.table-transactions tbody tr.depot-justificatif-survol td{position:relative;background:#e9efff;border-top:2px solid var(--primaire);border-bottom:2px solid var(--primaire)}.table-transactions tbody tr.depot-justificatif-survol td:first-child{border-left:2px solid var(--primaire);border-radius:10px 0 0 10px}.table-transactions tbody tr.depot-justificatif-survol td:last-child{border-right:2px solid var(--primaire);border-radius:0 10px 10px 0}.table-transactions tbody tr.depot-justificatif-survol td[data-label="Libellé"]:after{content:"Déposez le justificatif sur cette transaction";display:block;margin-top:7px;color:var(--primaire);font-weight:750}.table-transactions tbody tr.depot-justificatif-envoi td{background:#fff7d9!important;opacity:.72}.table-transactions tbody tr.depot-justificatif-envoi td[data-label="Libellé"]:after{content:"Envoi du justificatif en cours…";display:block;margin-top:7px;color:#866b0a;font-weight:750}

/* ----------------------------------------------
   Pagination fixe des transactions
---------------------------------------------- */
.transactions{margin-bottom:62px}.transactions .pagination{position:fixed;left:0;right:0;bottom:0;z-index:25;min-height:54px;padding:8px max(12px,calc((100vw - 1480px)/2 + 32px));display:flex;align-items:center;justify-content:space-between;gap:18px;background:rgba(255,255,255,.97);border-top:1px solid var(--bord);box-shadow:0 -7px 24px rgba(20,32,55,.09);backdrop-filter:blur(8px)}.pagination-limite,.pagination-navigation,.pagination-choix,.pagination-pages{display:flex;align-items:center}.pagination-limite,.pagination-navigation{gap:10px}.pagination-choix{gap:2px}.transactions .pagination button{width:32px;height:32px;margin:0;border:1px solid var(--bord);border-radius:6px;background:#fff;color:var(--texte)}.transactions .pagination button:hover:not(:disabled){border-color:var(--primaire);color:var(--primaire)}.transactions .pagination button.actif{background:var(--primaire);border-color:var(--primaire);color:#fff}.transactions .pagination button:disabled{cursor:default;opacity:.4}.pagination-choix button{width:auto!important;min-width:32px;padding:0 6px}.pagination-ellipse{display:grid;place-items:center;width:25px;height:32px;color:var(--muet)}
@media(max-width:700px){.transactions .pagination{align-items:stretch;flex-direction:column;padding:7px 12px;gap:6px}.pagination-limite,.pagination-navigation{justify-content:center}.pagination-limite>span{display:none}.pagination-navigation{flex-wrap:wrap}.transactions{margin-bottom:100px}}
.bouton-email{height:34px;padding:0 9px;border:1px solid #d9b45d;border-radius:8px;background:#fff8e5;color:#805c08;font-size:12px;font-weight:700}.bouton-email:hover{border-color:#b98713;background:#fff2cb}.bouton-email:disabled{cursor:default;opacity:.55}
.groupe-droits{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px 22px;border:1px solid var(--bord);border-radius:10px;padding:14px 16px}.groupe-droits legend{padding:0 8px;color:var(--texte);font-weight:750}.groupe-droits label.case{color:var(--texte)}
