:root{--white:#FFFFFF;--ivory:#FBFAF6;--ivory-deep:#F2EFE6;--green:#2E4D45;--green-deep:#243E38;--green-dark:#1A2E29;--grey-light:#F7F7F5;--beige:#D8CBB8;--beige-light:#E8DFD0;--black:#1D1D1B;--muted:#8A8A85;--line:#E5E3DD;--line-dark:#D8D5CC;--alerte:#B5762A;--depasse:#9B3A2E;--font-display:"Playfair Display",Georgia,serif;--font-body:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--radius:2px;--ease:cubic-bezier(0.22,1,0.36,1)}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:16px;line-height:1.6;background:var(--ivory)}body,h1,h2,h3,h4{color:var(--black)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;line-height:1.15}em{font-style:italic;color:var(--green)}a{color:inherit;text-decoration:none}::-moz-selection{background:var(--green);color:var(--ivory)}::selection{background:var(--green);color:var(--ivory)}.eyebrow{font-family:var(--font-body);font-weight:500;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--green)}.logo{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:19px;color:var(--black)}.logo .dot{width:9px;height:9px;border-radius:50%;background:var(--green);display:inline-block}.logo .marque{font-style:italic;color:var(--green)}.btn{font-family:var(--font-body);font-weight:500;font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:16px 30px;border-radius:var(--radius);background:var(--green);color:var(--ivory);border:none;cursor:pointer;transition:background var(--ease) .45s;display:inline-flex;align-items:center;gap:10px}.btn:hover{background:var(--green-deep)}.btn-ghost{background:transparent;color:var(--green);border:1px solid var(--line-dark)}.btn-ghost:hover{background:var(--ivory-deep)}.field{width:100%;font-family:var(--font-body);font-size:15px;padding:13px 14px;border:1px solid var(--line-dark);border-radius:var(--radius);background:var(--white);color:var(--black)}.field:focus{outline:none;border-color:var(--green)}label.lbl{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}.shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.sidebar{background:var(--green-dark);color:var(--ivory);padding:28px 22px;display:flex;flex-direction:column;gap:6px}.sidebar .logo{color:var(--ivory);margin-bottom:26px}.sidebar .logo .marque{color:var(--beige)}.sidebar a{display:block;padding:11px 14px;border-radius:var(--radius);font-size:14px;color:#CFD6D2;transition:background .2s var(--ease)}.sidebar a:hover{background:rgba(255,255,255,.06);color:var(--ivory)}.sidebar a.active{background:var(--green);color:var(--ivory)}.sidebar .navlabel{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#6F7E78;margin:18px 0 6px 14px}.sidebar .spacer{flex:1}.sidebar a{display:flex;justify-content:space-between;align-items:center;gap:8px}.sidebar .compteur{font-size:11px;line-height:1;padding:3px 7px;border-radius:var(--radius);background:rgba(216,203,184,.18);color:var(--beige)}.sidebar .signout{font-size:13px;color:#9AA7A2;padding:11px 14px;background:none;border:none;text-align:left;cursor:pointer}.main{padding:40px 48px;max-width:1560px;min-width:0}.page-head{margin-bottom:30px}.page-head h1{font-size:30px}.page-head p{color:var(--muted);margin-top:8px}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.grid-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:18px}.kpi{display:flex;flex-direction:column;height:100%}.kpi .num{font-family:var(--font-display);font-size:30px;color:var(--green);line-height:1.05;white-space:nowrap}.kpi .lbl{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:auto;padding-top:12px}a.kpi{color:inherit;transition:border-color .2s var(--ease)}a.kpi:hover{border-color:var(--green)}table.tbl{width:100%;border-collapse:collapse;font-size:14px}table.tbl th{text-align:left;font-weight:500;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:12px 10px}table.tbl td,table.tbl th{border-bottom:1px solid var(--line)}table.tbl td{padding:13px 10px}table.tbl td.actions,table.tbl th.actions{position:sticky;right:0;background:var(--white);box-shadow:-10px 0 10px -10px rgba(29,29,27,.18)}.tag{display:inline-block;font-size:11px;letter-spacing:.05em;padding:3px 9px;border-radius:var(--radius);background:var(--ivory-deep);color:var(--green);border:1px solid var(--line-dark)}.empty{padding:48px;text-align:center;color:var(--muted);border:1px dashed var(--line-dark);border-radius:var(--radius)}.progress{position:relative;height:4px;background:var(--ivory-deep);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.progress>span{position:absolute;top:0;left:0;bottom:0;display:block;background:var(--green);transition:width .45s var(--ease)}.progress>span.jalon{background:var(--beige)}.progress>span.alerte{background:var(--alerte)}.progress>span.depasse{background:var(--depasse)}.tag.alerte{color:var(--alerte);border-color:var(--alerte)}.tag.depasse{color:var(--depasse);border-color:var(--depasse)}.onglets{display:flex;gap:4px;border-bottom:1px solid var(--line-dark);margin-bottom:24px}.onglets button{font-family:var(--font-body);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:13px 20px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--muted);cursor:pointer}.onglets button.actif{color:var(--green);border-bottom-color:var(--green)}.saisie-ligne{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;align-items:end}.paire{display:flex;flex-direction:column;gap:4px}.paire .k{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.paire .v{font-size:15px}.faible{color:var(--muted);font-size:13px}.note{background:var(--ivory-deep);border-left:2px solid var(--green);padding:14px 18px;border-radius:0;font-size:14px;color:var(--black)}.auth-wrap{min-height:100vh;display:grid;place-items:center;background:var(--green-dark)}.auth-card{width:380px;max-width:92vw;background:var(--ivory);border-radius:var(--radius);padding:40px 36px}.auth-card .logo{margin-bottom:28px}.auth-card h1{font-size:24px;margin-bottom:6px}.auth-card p.sub{color:var(--muted);font-size:14px;margin-bottom:26px}.droite,table.tbl td.droite,table.tbl th.droite{text-align:right}.insecable{white-space:nowrap}.btn.btn-moyen{padding:10px 18px}.btn.btn-formulaire{padding:14px 20px}.btn.btn-petit{padding:4px 10px;font-size:13px}.btn.btn-petit.suivi{margin-right:6px}.attenue,.btn-ghost.attenue{color:var(--muted)}h2.titre-carte{font-size:18px}.carte-tete{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.carte-tete.ample{margin-bottom:24px}.carte-tete.legere{align-items:baseline;margin-bottom:12px}.defile,.defile-carte{overflow-x:auto}.defile-carte{margin:0 -24px;padding:0 24px}.card.card-tableau{padding:0;overflow-x:auto}.a-traiter{padding:0;margin-bottom:22px}.a-traiter .tete{justify-content:space-between;align-items:baseline;gap:12px;padding:16px 24px}.a-traiter .ligne,.a-traiter .tete{display:flex;border-bottom:1px solid var(--line)}.a-traiter .ligne{align-items:center;gap:16px;padding:13px 24px;font-size:15px}.a-traiter .ligne:last-child{border-bottom:none}.a-traiter .ligne>span{flex:1;min-width:0}.a-traiter .ligne:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--beige);flex:none}.a-traiter .ligne.alerte:before{background:var(--alerte)}.a-traiter .ligne.retard:before{background:var(--depasse)}.a-traiter .ligne.vide,.statut{color:var(--muted)}.statut{display:inline-block;font-family:var(--font-body);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:var(--radius);border:1px solid var(--line-dark);background:var(--white);vertical-align:middle}.statut-ouverte{background:var(--green);border-color:var(--green);color:var(--ivory)}.statut-preparation{border-color:var(--green);color:var(--green)}.statut-cloturee,.statut-remboursement,.tag.etape-signe{background:var(--ivory-deep);border-color:var(--beige);color:#5C4A2E}.tag.etape-fonds_recus{background:var(--green);border-color:var(--green);color:var(--ivory)}.tag.etape-rembourse{background:var(--white);border-color:var(--green);color:var(--green)}.tag.etape-bulletin_envoye,.tag.etape-dossier_envoye,.tag.etape-identifie,.tag.etape-intention,.tag.etape-relance{background:var(--white);color:var(--muted)}.fil-etapes{list-style:none;display:flex;flex-direction:column;gap:9px;margin:6px 0 8px}.fil-etapes li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted)}.fil-etapes li:before{content:"";width:14px;height:14px;border-radius:50%;border:1px solid var(--line-dark);background:var(--white);flex:none}.fil-etapes li>span:first-child{flex:1}.fil-etapes li.courante,.fil-etapes li.franchie{color:var(--black)}.fil-etapes li.franchie:before{background:var(--green);border-color:var(--green)}.fil-etapes li.courante:before{border:2px solid var(--green)}.avec-initiales{gap:10px}.avec-initiales,.initiales{display:inline-flex;align-items:center}.initiales{width:32px;height:32px;border-radius:50%;flex:none;justify-content:center;background:var(--ivory-deep);color:var(--green);font-size:12px;font-weight:500;letter-spacing:.02em}.a-traiter .ligne.vide:before{display:none}.legende{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px}.pastille{display:inline-block;width:8px;height:8px;border-radius:1px}.pastille.encaisse{background:var(--green);margin-left:10px}.pastille.securise{background:var(--beige)}.progress{height:6px}.segments{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line-dark);border-radius:var(--radius);background:var(--white)}.segments button{font-family:var(--font-body);font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:9px 16px;border:none;border-radius:var(--radius);background:transparent;color:var(--muted);cursor:pointer}.segments button.actif{background:var(--green);color:var(--ivory)}.fiche-tete{position:sticky;top:0;z-index:3;background:var(--ivory);margin:-40px -48px 24px;padding:28px 48px 0;border-bottom:1px solid var(--line-dark)}.fiche-titre{justify-content:space-between;align-items:flex-start;gap:16px}.fiche-gestes,.fiche-titre{display:flex;flex-wrap:wrap}.fiche-gestes{gap:8px}.fiche-chiffres{display:flex;flex-wrap:wrap;align-items:flex-end;gap:28px;margin:18px 0 14px}.fiche-chiffres .num{font-family:var(--font-display);font-size:24px;color:var(--green);line-height:1.1;white-space:nowrap}.fiche-chiffres .lbl{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:4px}.fiche-chiffres .jauge{flex:1 1 240px}.fiche-tete .onglets{border-bottom:none;margin-bottom:0;flex-wrap:wrap}.menu-plus{position:relative}.menu-plus .liste{position:absolute;right:0;top:calc(100% + 6px);z-index:5;min-width:280px;padding:6px 0;background:var(--white);border:1px solid var(--line-dark);border-radius:var(--radius);box-shadow:0 8px 24px rgba(29,29,27,.08)}.menu-plus .liste button{display:block;width:100%;text-align:left;padding:11px 16px;background:none;border:none;font-family:var(--font-body);font-size:14px;color:var(--black);cursor:pointer}.menu-plus .liste button:hover{background:var(--ivory-deep)}.menu-plus .liste button.danger{color:var(--depasse)}.menu-plus .liste hr{border:none;border-top:1px solid var(--line);margin:6px 0}.avec-panneau{display:flex;flex-wrap:wrap;gap:22px;align-items:flex-start}.avec-panneau>.principal{flex:999 1 640px;min-width:0}.panneau{flex:1 1 280px;max-width:380px;display:flex;flex-direction:column;gap:10px}.panneau .btn{justify-content:center}table.tbl tr.choisissable{cursor:pointer}table.tbl tr.choisissable:hover td{background:var(--ivory)}table.tbl tr.choisie td:first-child{box-shadow:inset 3px 0 0 var(--green)}.barre-filtres{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}.barre-filtres .field{flex:1 1 240px;max-width:360px;padding:10px 12px;font-size:14px}.puces{display:flex;flex-wrap:wrap;gap:6px}.puces button{font-family:var(--font-body);font-size:13px;padding:7px 12px;min-height:36px;border:1px solid var(--line-dark);border-radius:var(--radius);background:var(--white);color:var(--black);cursor:pointer}.puces button.actif{background:var(--green);border-color:var(--green);color:var(--ivory)}.dialogue-fond{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:16px;background:rgba(26,46,41,.45)}.dialogue{width:440px;max-width:100%;background:var(--ivory);border:1px solid var(--line-dark);border-radius:var(--radius);padding:28px;box-shadow:0 16px 40px rgba(29,29,27,.18)}.dialogue p{font-size:15px;white-space:pre-line}.dialogue-gestes{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:22px}.btn.danger{background:var(--depasse)}.btn.danger:hover{background:#7E2F25}@media (max-width:760px){.shell{grid-template-columns:1fr}.sidebar{flex-direction:row;align-items:center;gap:2px;padding:10px 12px;overflow-x:auto;white-space:nowrap}.sidebar>div{display:flex;gap:2px}.sidebar .logo{margin:0 12px 0 4px}.sidebar .navlabel,.sidebar .spacer{display:none}.sidebar .signout,.sidebar a{padding:9px 12px}.main{padding:22px 16px}.fiche-tete{position:static;margin:-22px -16px 20px;padding:20px 16px 0}.fiche-chiffres .num{font-size:20px}.page-head h1{font-size:24px}.card{padding:18px 14px}.grid-kpi{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.kpi .num{font-size:20px!important}.barre-filtres .field,.field{font-size:16px}.saisie-ligne{grid-template-columns:1fr 1fr}.saisie-ligne .large{grid-column:1/-1}}