:root{--noir:#111111;--blanc:#ffffff;--perle:#f7f7f5;--bord:#e2e2df;--gris:#9a9a97;--vert:#3d7a52;--vert-fond:#e9f2ec;--ambre:#a06616;--ambre-fond:#f6ecdd;--rouge:#a13a2c;--rouge-fond:#f5e6e3;--gris-fond:#ececea}*{box-sizing:border-box}body,html{padding:0;margin:0}body{font-family:Inter,-apple-system,Arial,sans-serif;color:var(--noir);background:var(--blanc);line-height:1.5;font-size:14px}h1,h2,h3{font-family:Archivo,Inter,sans-serif;font-weight:600;letter-spacing:-.2px;margin:0}a{color:var(--noir)}.conteneur{max-width:1180px;margin:0 auto;padding:0 24px}.entete{background:var(--blanc);border-bottom:1px solid var(--bord)}.entete-barre{max-width:1180px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.marque{font-family:Archivo,sans-serif;font-weight:600;font-size:17px;letter-spacing:-.2px}.marque .dotcom,.marque small{color:var(--gris)}.marque small{display:block;font-weight:400;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;margin-top:2px}.qui{font-size:13px;color:var(--gris);display:flex;align-items:center;gap:14px;flex-wrap:wrap}.qui strong{color:var(--noir);font-weight:600}.lien-discret{color:var(--gris);text-decoration:none;border-bottom:1px solid var(--bord);font-size:13px}.lien-discret:hover{color:var(--noir);border-color:var(--noir)}.zone{padding:28px 0 48px}.champ-recherche{width:100%;max-width:440px;padding:11px 14px;border:1.5px solid var(--bord);border-radius:6px;font-size:14px;font-family:inherit;color:var(--noir);background:var(--blanc)}.champ-recherche:focus{outline:none;border-color:var(--noir)}.champ-recherche::placeholder{color:var(--gris)}select.selecteur-org{padding:8px 10px;border:1.5px solid var(--bord);border-radius:6px;font-family:inherit;font-size:13px;color:var(--noir);background:var(--blanc)}.kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));grid-gap:12px;gap:12px;margin:20px 0}.kpi .carte{background:var(--blanc);border:1px solid var(--bord);border-radius:8px;padding:15px 16px}.kpi .n{font-size:26px;font-weight:700;letter-spacing:-.8px;font-family:Archivo,sans-serif}.kpi .l{font-size:11px;color:var(--gris);text-transform:uppercase;letter-spacing:.6px;margin-top:3px}h2.titre-section{font-size:16px;margin:34px 0 12px}.table-scroll{overflow-x:auto;border:1px solid var(--bord);border-radius:8px;background:var(--blanc)}table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:640px}th{background:var(--perle);text-align:left;padding:10px 13px;font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--gris);font-weight:600;border-bottom:1px solid var(--bord);white-space:nowrap}td{padding:11px 13px;border-top:1px solid var(--bord);vertical-align:middle}tbody tr:hover td{background:#fcfcfb}.sous-ligne{display:block;font-size:12px;color:var(--gris);font-style:normal;margin-top:2px}.vide-table{padding:22px 13px;color:var(--gris);text-align:center}.texte-rouge{color:var(--rouge);font-weight:600}.pastille{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:12px;font-size:11.5px;font-weight:600;white-space:nowrap}.pastille:before{content:"";width:7px;height:7px;border-radius:50%}.pastille.gris{background:var(--gris-fond);color:#55554f}.pastille.gris:before{background:var(--gris)}.pastille.ambre{background:var(--ambre-fond);color:var(--ambre)}.pastille.ambre:before{background:var(--ambre)}.pastille.vert{background:var(--vert-fond);color:var(--vert)}.pastille.vert:before{background:var(--vert)}.pastille.rouge{background:var(--rouge-fond);color:var(--rouge)}.pastille.rouge:before{background:var(--rouge)}.note{background:var(--perle);border-left:3px solid var(--noir);border-radius:0 8px 8px 0;padding:14px 17px;font-size:13px;color:#2e2e2c;margin:20px 0;max-width:820px}.note b{display:block;margin-bottom:4px;font-family:Archivo,sans-serif;font-weight:600}.onglets{border-bottom:1px solid var(--bord);display:flex;gap:4px;margin-top:4px}.onglet{padding:10px 16px;font-size:13.5px;text-decoration:none;color:var(--gris);border-bottom:2px solid transparent}.onglet.actif{color:var(--noir);font-weight:600;border-bottom-color:var(--noir)}.lien-action{color:var(--noir);font-size:12.5px;text-decoration:none;margin-right:10px;border-bottom:1px solid var(--bord)}.lien-action:hover{border-color:var(--noir)}.fiche-entete{margin-bottom:8px}.fiche-entete h1{font-size:22px}.fiche-meta{display:flex;flex-wrap:wrap;gap:22px;margin:14px 0 6px;font-size:13px}.fiche-meta .item .l{color:var(--gris);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.fiche-meta .item .v{font-weight:600;margin-top:2px}.retour{display:inline-block;margin-bottom:16px;color:var(--gris);text-decoration:none;font-size:13px}.retour:hover{color:var(--noir)}.bloc-unite{border:1px solid var(--bord);border-radius:8px;margin:16px 0;background:var(--blanc);overflow:hidden}.bloc-unite-entete{padding:14px 16px;background:var(--perle);border-bottom:1px solid var(--bord);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:center}.bloc-unite-titre{font-family:Archivo,sans-serif;font-weight:600;font-size:14.5px}.bloc-unite-corps{padding:14px 16px}.docs-liste{list-style:none;margin:8px 0 0;padding:0;font-size:13px}.docs-liste li{padding:5px 0;border-top:1px solid var(--bord);display:flex;justify-content:space-between;gap:10px}.docs-liste li:first-child{border-top:none}.page-etat{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:40px 24px}.page-etat-carte{max-width:460px;text-align:center}.page-etat-carte h1{font-size:19px;margin-bottom:12px}.page-etat-carte p{color:#444;font-size:14px}.page-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--perle);padding:24px}.carte-login{background:var(--blanc);border:1px solid var(--bord);border-radius:12px;padding:40px 34px;max-width:380px;width:100%}.carte-login .marque{font-size:19px;margin-bottom:4px}.carte-login .slogan{font-family:Archivo,sans-serif;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--gris);margin-bottom:26px}.champ-label{font-size:12.5px;color:var(--gris);display:block;margin-bottom:6px}.champ-texte{width:100%;padding:11px 13px;border:1.5px solid var(--bord);border-radius:6px;font-size:14px;font-family:inherit;margin-bottom:16px}.champ-texte:focus{outline:none;border-color:var(--noir)}.bouton{width:100%;padding:12px 16px;background:var(--noir);color:var(--blanc);border:none;border-radius:6px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer}.bouton:hover{background:#000}.bouton:disabled{background:var(--gris);cursor:default}.msg-ok{background:var(--vert-fond);color:var(--vert)}.msg-err,.msg-ok{padding:12px 14px;border-radius:6px;font-size:13px;margin-top:16px}.msg-err{background:var(--rouge-fond);color:var(--rouge)}.bandeau-oibt{background:var(--ambre-fond);color:var(--ambre);font-size:11.5px;font-weight:600;text-align:center;padding:5px 12px;letter-spacing:.3px}.combo-org{position:relative}.combo-org input.champ-recherche-org{padding:8px 10px;border:1.5px solid var(--bord);border-radius:6px;font-family:inherit;font-size:13px;min-width:230px;background:var(--blanc);color:var(--noir)}.combo-org input.champ-recherche-org:focus{outline:none;border-color:var(--noir)}.combo-org-panel{position:absolute;top:calc(100% + 4px);right:0;z-index:20;background:var(--blanc);border:1px solid var(--bord);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.1);max-height:360px;overflow-y:auto;width:320px;padding:6px}.combo-org-groupe{font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--gris);padding:8px 8px 4px}.combo-org-item{display:block;width:100%;text-align:left;padding:7px 8px;border:none;background:none;font-size:13px;font-family:inherit;color:var(--noir);border-radius:5px;cursor:pointer}.combo-org-item.actif,.combo-org-item:hover{background:var(--perle)}.combo-org-item.toutes{font-weight:600;border-bottom:1px solid var(--bord);border-radius:0;margin-bottom:4px;padding-bottom:9px}.combo-org-vide{padding:10px 8px;color:var(--gris);font-size:12.5px}.filtres-barre{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0 20px}.filtres-barre select{padding:8px 10px;border:1.5px solid var(--bord);border-radius:6px;font-family:inherit;font-size:13px;color:var(--noir);background:var(--blanc)}.filtres-barre select:focus{outline:none;border-color:var(--noir)}.filtre-reinit{font-size:12.5px;color:var(--gris);text-decoration:none;background:none;border:none;border-bottom:1px solid var(--bord);cursor:pointer;font-family:inherit;padding:0}.filtre-reinit:hover{color:var(--noir);border-color:var(--noir)}.kpi a.carte-lien{text-decoration:none;color:inherit;display:block;transition:border-color .15s}.kpi a.carte-lien:hover{border-color:var(--noir)}.kpi a.carte-lien.ambre .n{color:var(--ambre)}.kpi a.carte-lien.rouge .n{color:var(--rouge)}.kpi a.carte-lien.active{border-color:var(--noir);background:var(--perle)}.actions-barre{gap:12px;align-items:baseline;margin:-6px 0 18px}.actions-barre,.chips{display:flex;flex-wrap:wrap}.chips{gap:8px;margin:12px 0 0}.chip{font-family:inherit;font-size:12.5px;padding:5px 11px;border-radius:999px;border:1px solid var(--bord);background:var(--blanc);color:var(--noir);cursor:pointer}.chip.actif,.chip:hover{border-color:var(--noir)}.chip.actif{background:var(--noir);color:var(--blanc)}.chip.echue:not(.actif){color:var(--rouge);background:var(--rouge-fond);border-color:transparent}.chip.en_cours:not(.actif),.chip.sous_24_mois:not(.actif){color:var(--ambre);background:var(--ambre-fond);border-color:transparent}.chip.a_jour:not(.actif){color:var(--vert);background:var(--vert-fond);border-color:transparent}.calendrier{margin:28px 0 10px;background:var(--blanc);border:1px solid var(--bord);border-radius:8px;padding:16px 18px}.calendrier-entete{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:12px}.calendrier-nav{display:flex;gap:6px}.calendrier-nav button{font-family:inherit;font-size:13px;padding:4px 10px;border:1px solid var(--bord);border-radius:6px;background:var(--blanc);cursor:pointer}.calendrier-nav button:hover{border-color:var(--noir)}.calendrier-grille{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.calendrier-jour-nom{font-size:11px;color:var(--gris);text-transform:uppercase;letter-spacing:.5px;text-align:center;padding:4px 0}.calendrier-case{position:relative;min-height:46px;border:1px solid var(--bord);border-radius:6px;background:var(--blanc);font-family:inherit;font-size:12.5px;color:var(--noir);text-align:left;padding:5px 7px;cursor:default}.calendrier-case.vide{border-color:transparent;background:transparent}.calendrier-case.avec{cursor:pointer}.calendrier-case.avec:hover,.calendrier-case.choisi{border-color:var(--noir)}.calendrier-case.aujourdhui .calendrier-numero{font-weight:700;text-decoration:underline}.calendrier-case:disabled{color:var(--gris)}.calendrier-point{position:absolute;right:6px;bottom:5px;min-width:20px;height:20px;line-height:20px;border-radius:999px;font-size:11px;font-weight:600;text-align:center;padding:0 6px;color:var(--blanc);background:var(--gris)}.calendrier-point.rouge{background:var(--rouge)}.calendrier-point.ambre{background:var(--ambre)}.calendrier-point.vert{background:var(--vert)}.calendrier-detail{margin-top:12px;padding-top:12px;border-top:1px solid var(--bord)}.calendrier-liste{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.calendrier-liste .sous-ligne{display:inline}.budget-matrice td,.budget-matrice th{white-space:nowrap}.budget-matrice tfoot th{border-top:2px solid var(--noir)}@media print{.entete,.filtres-barre,.pied,.retour,footer{display:none!important}.conteneur{max-width:none;padding:0}.table-scroll{overflow:visible}body{font-size:11px}}.declaration{background:var(--blanc);border:1px solid var(--bord);border-radius:8px;padding:18px 20px 22px;margin:16px 0 30px}.declaration-grille{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px 14px;gap:10px 14px}@media (max-width:760px){.declaration-grille{grid-template-columns:repeat(2,minmax(0,1fr))}}.declaration-champ{display:flex;flex-direction:column;gap:4px;font-size:12.5px}.declaration-champ>span{color:var(--gris);font-size:11.5px;text-transform:uppercase;letter-spacing:.4px}.declaration-champ input.champ-texte,.declaration-champ select,.declaration-champ textarea.champ-texte{width:100%;padding:8px 10px;border:1.5px solid var(--bord);border-radius:6px;font-family:inherit;font-size:13px;background:var(--blanc)}.declaration-champ.declaration-case{flex-direction:row;align-items:center;gap:8px;align-self:end}.declaration-champ.declaration-case>span{text-transform:none;letter-spacing:0;font-size:12.5px;color:var(--noir)}.declaration-unite{border-top:1px dashed var(--bord);padding:12px 0 10px}.simulateur{margin:34px 0}.simulateur-barres{display:flex;flex-direction:column;gap:8px;margin-top:14px}.simulateur-ligne{display:flex;align-items:center;gap:12px}.simulateur-annee{width:46px;font-size:12.5px;color:var(--gris);flex-shrink:0}.simulateur-barre-fond{flex:1 1;background:var(--perle);border-radius:5px;height:22px;position:relative;overflow:hidden}.simulateur-barre-remplie{background:var(--vert);height:100%;border-radius:5px}.simulateur-montant{width:150px;text-align:right;font-size:12.5px;font-weight:600;flex-shrink:0}.simulateur-mention{font-size:11.5px;color:var(--gris);margin-top:10px}.bloc-notes{margin:30px 0}.notes-liste{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:8px}.note-item{border:1px solid var(--bord);border-radius:8px;padding:11px 14px;background:var(--blanc)}.note-item-entete{display:flex;align-items:center;gap:10px;margin-bottom:4px;flex-wrap:wrap}.note-item-texte{font-size:13.5px;white-space:pre-wrap}.note-badge{font-size:11px;font-weight:600;padding:2px 9px;border-radius:10px}.note-badge.interne{background:var(--perle);color:#6a6a63;border:1px solid var(--bord)}.note-badge.client{background:var(--vert-fond);color:var(--vert)}.note-form{border-top:1px solid var(--bord);padding-top:14px;max-width:520px}.note-form textarea.champ-texte{resize:vertical;font-family:inherit}.photos-vignettes{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.photos-vignettes a,.photos-vignettes button{padding:0;background:none;cursor:zoom-in;display:inline-block;width:42px;height:42px;border-radius:6px;overflow:hidden;border:1px solid var(--bord)}.photos-vignettes img{width:100%;height:100%;object-fit:cover;display:block}.pied{border-top:1px solid var(--bord);padding:22px 0 34px;color:var(--gris);font-size:12px;margin-top:30px}@media (max-width:640px){.entete-barre{flex-direction:column;align-items:flex-start}.kpi{grid-template-columns:repeat(2,1fr)}.fiche-meta{gap:14px}}.visionneuse{position:fixed;inset:0;z-index:1000;background:rgba(10,12,16,.92);display:flex;align-items:center;justify-content:center;padding:24px}.visionneuse-cadre{max-width:min(1100px,96vw);max-height:92vh;display:flex;flex-direction:column;gap:8px}.visionneuse-cadre img{max-width:100%;max-height:calc(92vh - 44px);object-fit:contain;border-radius:8px;background:#000}.visionneuse-barre{display:flex;justify-content:space-between;align-items:center;color:#e8e8e8;font-size:13px}.visionneuse-barre button{background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:6px;width:34px;height:30px;margin-left:6px;font-size:18px;cursor:pointer}