﻿/* Dashboard DPE public — styles (extracted from inline) */

:root{--bg:#eef5f3;--surface:#fff;--soft:#f7fbfa;--tint:#edf7f5;--ink:#172126;--muted:#63757a;--line:#dce9e5;--teal:#39c1bc;--teal2:#1fa7a2;--shadow:0 14px 34px rgba(22,34,38,.08);--purple:#4a2874;--conf-exact:#2f8f83;--conf-prob:#5f6ad4;--conf-verif:#b576c6;--conf-none:#96a2ad}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#edf6f5,#f8fbfa);color:var(--ink);font-family:Inter,Arial,sans-serif}button,input,select{font:inherit}h1,h2,h3,p{margin:0}p{color:var(--muted);line-height:1.48}.app{padding:18px 22px 26px;display:grid;gap:14px}
.hero{background:var(--surface);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);padding:18px 22px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center}.hero-copy{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:center}.hero-logo{width:150px;height:auto;display:block}.hero-text{min-width:0}h1{font-size:30px;letter-spacing:-.04em;line-height:1.05;margin-bottom:6px}.hero p{max-width:1050px;font-size:13px}.kpis{display:grid;grid-template-columns:repeat(4,112px);gap:8px}.kpi{border:1px solid #d8e9e5;background:#f4faf8;border-radius:18px;padding:11px}.kpi strong{display:block;font-size:24px;letter-spacing:-.04em}.kpi span{font-size:11px;color:var(--muted);line-height:1.12}
.bailleur-strip,.sat-grid{background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:12px;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;position:sticky;top:8px;z-index:900;backdrop-filter:blur(8px)}.sat-card{border:1px solid #dbe8e4;background:linear-gradient(180deg,#fff,#f6faf8);border-radius:18px;padding:9px;min-height:120px;transition:.18s;display:flex;flex-direction:column;gap:7px;box-shadow:none}.sat-card:hover{transform:none;box-shadow:none}.sat-card{cursor:default}.sat-card.is-muted{filter:grayscale(1);opacity:.48}.sat-card.collectif{filter:none;opacity:1;background:linear-gradient(180deg,#eaf8f6,#fff);border-color:#8edbd7}.sat-card.collectif .sat-logo-wrap{font-size:20px;font-weight:950;color:#1f6f6b;letter-spacing:-.05em}.sat-card.collectif .sat-name{font-size:12px;color:#163d3a}.sat-card.collectif .sat-stat strong{font-size:24px}.sat-card.is-empty{opacity:.42}.sat-logo-wrap{height:52px;border-radius:12px;border:1px solid #e2eeeb;background:#fff;display:flex;align-items:center;justify-content:center;padding:5px;overflow:hidden}.sat-logo-wrap img{max-width:100%;max-height:100%;object-fit:contain}.sat-name{font-size:11px;font-weight:900;line-height:1.15;color:#27383c;min-height:24px;letter-spacing:0}.sat-name .ghost{visibility:hidden}.sat-stat{display:flex;justify-content:space-between;gap:6px;border-top:1px solid #e5efec;padding-top:6px;margin-top:auto;align-items:flex-end}.sat-stat strong{font-size:20px;line-height:1;letter-spacing:-.04em;margin:0}.sat-stat span{font-size:10px;color:var(--muted);text-align:right;line-height:1.1}
.main-grid{display:grid;grid-template-columns:1fr;gap:14px;align-items:stretch}.map-card,.side-card{background:var(--surface);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);overflow:hidden}.map-card{--dashboard-sticky-top:172px;position:relative;z-index:1;isolation:isolate;min-height:720px;height:100vh;display:grid;grid-template:1fr/1fr;overflow:visible}.side-card{overflow:hidden}#map{grid-area:1/1;min-height:720px;height:100%;width:100%;background:#e9f0ee;border-radius:26px;overflow:hidden;z-index:1}.map-controls{grid-area:1/1;align-self:start;justify-self:end;position:sticky;top:var(--dashboard-sticky-top);z-index:31;margin:14px;width:min(340px,calc(100% - 28px));display:grid;gap:8px;pointer-events:none}.map-controls>*{pointer-events:auto}.map-filters,.map-filter-card{position:relative;z-index:30;margin:0;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:22px;box-shadow:0 14px 32px rgba(22,34,38,.15);padding:11px;width:100%;backdrop-filter:blur(7px);display:grid;gap:6px}.filter-title{font-weight:900;font-size:12px;display:flex;justify-content:space-between;gap:8px;align-items:center}.filter-title .reset,.filter-title button,#reset{border:0;background:#eaf4f1;color:#285653;border-radius:999px;padding:7px 9px;font-weight:900;font-size:12px;cursor:pointer}.filter-line{display:grid;grid-template-columns:1fr;gap:4px;align-items:stretch}.filter-label{font-size:10.5px;font-weight:900;color:#285653;line-height:1}.search-line{position:relative}.search-line input{width:100%;padding-left:34px}.search-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);z-index:1;color:#557176;font-weight:900}select,input{border:1px solid #d7e8e4;border-radius:999px;padding:8px 10px;background:#fff;color:#244b48;font-weight:750;font-size:12px;min-width:0;width:100%}.map-note{font-size:10.5px;color:var(--muted);line-height:1.3;background:#f3faf8;border:1px solid #d9ebe7;border-radius:16px;padding:8px 9px}.map-metric-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:22px;box-shadow:0 14px 32px rgba(22,34,38,.15);padding:7px;backdrop-filter:blur(7px);width:100%}.map-metric-toggle button{border:1px solid transparent;border-radius:999px;background:#eef6f4;color:#285653;font-size:12px;font-weight:950;padding:9px 10px;cursor:pointer;text-align:center;white-space:nowrap}.map-metric-toggle button.active{background:linear-gradient(180deg,var(--teal),var(--teal2));color:#fff}.map-metric-toggle button:focus-visible{outline:3px solid rgba(57,193,188,.28);outline-offset:2px}
.side-card{padding:14px;display:grid;gap:10px;align-content:start}.side-legends{display:grid;gap:12px}.legend.energy h2{color:#244b48}.legend.ges h2{color:#244b48}.side-head{display:none}.control-block{border:0;background:transparent;border-radius:0;padding:0;display:grid;gap:0}.control-label{display:none}.legend h2,.legend>p{display:none}.confidence-panel h3{margin:0 0 4px;font-size:18px;letter-spacing:-.03em}.confidence-panel>p{font-size:12px;line-height:1.45;margin-bottom:10px}.metric-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 12px}.metric-tabs button{background:#fff;color:#244b48;border:1px solid #d9e7e2;box-shadow:none;padding:8px 10px;border-radius:999px;font-weight:900;cursor:pointer}.metric-tabs button.active{background:linear-gradient(180deg,var(--teal),var(--teal2));color:#fff;border-color:transparent}.legend-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}.legend-section{border:1px solid #e0ece8;background:#fff;border-radius:18px;padding:11px;display:grid;gap:7px}.legend-section h3{margin:0;font-size:17px;letter-spacing:-.03em;color:#244b48}.legend-section>p{display:none}.legend-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.legend-box{background:#f5fbf9;border:1px solid #d7e8e4;border-radius:16px;padding:10px}.legend-box strong{display:block;font-size:21px;letter-spacing:-.04em}.legend-box span{display:block;color:var(--muted);font-size:10px;line-height:1.18}.volume-hint{margin:6px 0 12px;padding:10px 12px;border-radius:16px;background:#eefafa;border:1px solid #cfeceb;color:#1d6966;font-size:12px;line-height:1.35}.legend-tools{display:flex;justify-content:flex-end;margin:-28px 0 4px}.legend-all{border:1px solid #d6e8e4;border-radius:999px;background:#fff;color:#285653;font-size:10.5px;font-weight:900;padding:6px 8px;cursor:pointer}.legend-all:hover{border-color:#64cfc8}.row{border:1px solid transparent;width:100%;display:grid;grid-template-columns:minmax(86px,.95fr) minmax(48px,1fr) 42px;gap:6px;align-items:center;font-size:11.5px;background:transparent;padding:4px 5px;cursor:pointer;text-align:left;color:inherit;border-radius:14px;transition:.16s}.row:hover{background:#fff;border-color:#d7e8e4;box-shadow:0 8px 16px rgba(22,34,38,.06)}.row.is-active{background:#fff;border-color:#cfe8e5}.row.off{opacity:.38}.row.off .fill{width:0!important}.row.off .dot,.row.off .letter-dot{background:#c7d2d1!important;color:#fff!important}.row:focus-visible{outline:3px solid rgba(57,193,188,.28);outline-offset:3px;border-radius:12px}.row-label{display:flex;align-items:center;gap:7px}.dot{width:12px;height:12px;border-radius:50%;display:inline-block}.letter-dot{width:22px;height:22px;border-radius:999px;display:inline-grid;place-items:center;color:#fff;font-size:10.5px;font-weight:950;line-height:1;box-shadow:0 3px 8px rgba(22,34,38,.12);flex:0 0 22px}.letter-filter .row-label{font-weight:900;color:#244b48}.letter-filter{user-select:none}.track{height:10px;background:#eaf1ef;border-radius:999px;overflow:hidden}.fill{height:100%;border-radius:999px}.row b{text-align:right}.confidence-card{padding:0;background:transparent;border:0;box-shadow:none}.confidence-panel h3{font-size:15px}.confidence-panel>p{font-size:11px;color:var(--muted);margin-bottom:10px}.pie-wrap{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;align-items:center}.pie svg{width:104px;height:104px;display:block}.pie text{font-size:11px;font-weight:900;fill:#2b3940}.pie-legend{display:grid;gap:6px}.pie-item{display:flex;align-items:center;gap:8px;padding:7px 8px;background:#fff;border:1px solid #e3eaee;border-radius:14px;font-size:11px}.pie-swatch{width:12px;height:12px;border-radius:50%;flex:0 0 12px}.pie-item strong{display:block}.pie-item span{color:var(--muted);font-size:10px;line-height:1.2}.below{display:grid;grid-template-columns:1fr;gap:14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:15px}.note{color:var(--muted);font-size:12px;line-height:1.45;background:#f3faf8;border:1px solid #d9ebe7;border-radius:18px;padding:11px}
.popup-title{font-weight:900;font-size:15px;margin-bottom:4px}.popup-meta{color:#66757a;font-size:12px;line-height:1.35;margin-bottom:8px}.popup-bars{display:grid;gap:5px;min-width:220px}.popup-row{display:grid;grid-template-columns:30px 1fr 32px;gap:6px;align-items:center;font-size:12px}.popup-subtitle{font-weight:900;font-size:12px;margin:8px 0 4px;color:#244b48}.volume-cluster{border-radius:50%;display:grid;place-items:center;color:white;font-weight:900;border:2px solid rgba(255,255,255,.85);box-shadow:0 8px 18px rgba(54,29,92,.25);line-height:1}.volume-cluster.is-hover{transform:scale(1.06);box-shadow:0 10px 22px rgba(22,34,38,.28)}.volume-cluster span{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;text-shadow:0 1px 2px rgba(0,0,0,.25);font-size:clamp(10px,28%,18px);padding:2px;text-align:center}.public-bubble-icon{background:transparent;border:0}.leaflet-popup-content{font-family:Inter,Arial,sans-serif;font-size:12px}.map-card .leaflet-control-container .leaflet-top,.map-card .leaflet-control-container .leaflet-bottom{z-index:20}.map-card .leaflet-control{position:relative;z-index:20}.map-card .leaflet-pane{z-index:5}.map-card .leaflet-tile-pane{z-index:1}.map-card .leaflet-overlay-pane{z-index:4}.map-card .leaflet-marker-pane{z-index:6}.map-card .leaflet-tooltip-pane{z-index:7}.map-card .leaflet-popup-pane{z-index:25}
@media(max-width:1320px){.bailleur-strip,.sat-grid{grid-template-columns:repeat(4,1fr)}.main-grid{grid-template-columns:1fr}.map-card{--dashboard-sticky-top:300px;height:100vh!important;min-height:680px!important}.map-card #map{height:100%;min-height:680px}.pie-wrap{grid-template-columns:1fr}.pie svg{margin:auto}.kpis{grid-template-columns:repeat(2,112px)}}@media(max-width:720px){.app{padding:12px}.hero{grid-template-columns:1fr}.hero-copy{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}.bailleur-strip,.sat-grid{grid-template-columns:repeat(2,1fr);position:static}.map-controls{position:absolute;top:10px;right:10px;margin:0;width:min(320px,calc(100% - 20px))}.map-card{display:flex;flex-direction:column;overflow:hidden;min-height:680px;height:100vh}.legend-summary{grid-template-columns:1fr}.legend-stack{grid-template-columns:1fr}.row{grid-template-columns:80px 1fr 48px}}
.checks{display:flex;gap:6px;flex-wrap:wrap}.geo-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:6px}.chip{border:1px solid #d6e8e4;border-radius:999px;background:#fff;color:#285653;font-weight:850;padding:7px 8px;cursor:pointer;font-size:12px;line-height:1.08;text-align:center}.chip.active{background:linear-gradient(180deg,var(--teal),var(--teal2));color:white;border-color:transparent}.multi{position:relative;min-width:0}.multi-btn{width:100%;border:1px solid #d7e8e4;border-radius:999px;padding:8px 28px 8px 10px;background:#fff;color:#244b48;font-weight:850;font-size:12px;min-width:0;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative}.multi-btn::after{content:"⌄";position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#557176;font-weight:900}.multi.open .multi-btn{border-color:#64cfc8;box-shadow:0 0 0 3px rgba(57,193,188,.13)}.multi-menu{display:none;position:absolute;left:0;right:0;top:calc(100% + 5px);background:#fff;border:1px solid #d7e8e4;border-radius:16px;box-shadow:0 16px 34px rgba(22,34,38,.18);padding:8px;z-index:900;max-height:260px;overflow:auto}.multi.open .multi-menu{display:grid;gap:4px}.multi-options{display:grid;gap:4px;max-height:190px;overflow:auto;padding-right:2px}.multi-actions{position:sticky;bottom:-8px;background:#fff;border-top:1px solid #e1efec;margin:4px -8px -8px;padding:8px;display:flex;gap:6px;justify-content:flex-end;border-radius:0 0 16px 16px}.multi-action{border:1px solid #d7e8e4;border-radius:999px;background:#fff;color:#285653;font-size:11px;font-weight:900;padding:7px 9px;cursor:pointer}.multi-action.primary{background:linear-gradient(180deg,var(--teal),var(--teal2));color:#fff;border-color:transparent}.multi-option{display:grid;grid-template-columns:18px minmax(0,1fr);gap:6px;align-items:center;border-radius:10px;padding:5px 6px;font-size:12px;font-weight:750;color:#244b48;cursor:pointer}.multi-option:hover{background:#eef8f6}.multi-option input{width:14px;height:14px;accent-color:var(--teal);padding:0}.multi-empty{font-size:12px;color:var(--muted);padding:7px}.epci-tooltip{background:rgba(255,255,255,.96);border:1px solid #d7e8e4;border-radius:12px;color:#244b48;box-shadow:0 8px 18px rgba(22,34,38,.12)}
@media(max-width:720px){.geo-shortcuts{grid-template-columns:1fr}.multi-menu{position:relative;top:auto;max-height:220px}}
/* Identité SAT-ellites + hiérarchie visuelle du dashboard */
a{color:inherit;text-decoration:none}
body{background:#fff;color:#171717;font-family:'Acumin',Inter,Arial,Helvetica,sans-serif}
.topbar{position:sticky;top:0;z-index:1200;background:rgba(255,255,255,.90);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.06)}
.topbar .wrap{max-width:1440px;margin:0 auto;padding:20px 28px;display:flex;gap:24px;align-items:center;justify-content:space-between}
.brand{font-family:'Acumin',Inter,Arial,sans-serif;font-size:15px;letter-spacing:.10em;text-transform:uppercase;color:#111}
.nav{display:flex;gap:26px;font-size:14px;color:#666;flex-wrap:wrap;align-items:center}
.nav a{padding-bottom:5px;border-bottom:1px solid transparent}
.nav a:hover,.nav a.active{color:#111;border-bottom-color:#111}
.app{max-width:1440px;margin:0 auto;padding:20px 28px 34px;background:#fff;gap:16px}
.hero{background:#fff;border:1px solid #e7e3dc;border-radius:0;box-shadow:none;padding:24px 0 26px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:end;border-left:0;border-right:0;border-top:0}
.hero-copy{display:block}.hero-text{max-width:780px}.hero .kicker{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#7a746d;margin:0 0 10px;font-weight:600}.hero h1{font-family:'Oswald','Acumin',Arial,sans-serif;font-size:58px;line-height:.92;font-weight:300;letter-spacing:-.045em;margin:0 0 12px;color:#111}.hero .dashboard-subtitle{font-size:17px;line-height:1.35;color:#2f2f2f;margin:0 0 12px;font-weight:400}.hero p{max-width:760px;font-size:13px;line-height:1.55;color:#62625f}.kpis{display:grid;grid-template-columns:repeat(4,118px);gap:8px}.kpi{border:1px solid #e4e0d8;background:#fff;border-radius:0;padding:12px 12px;box-shadow:none}.kpi strong{font-size:25px;color:#111}.kpi span{font-size:10.5px;color:#666;text-transform:uppercase;letter-spacing:.08em;line-height:1.2}
/* Cadres de lecture : plus sobres, moins “boutons” */
.bailleur-strip,.sat-grid{background:#fff;border:1px solid #e7e3dc;border-radius:0;box-shadow:none;padding:12px;top:64px;backdrop-filter:none}.sat-card{border:1px solid #e8e5df;background:#fff;border-radius:0;box-shadow:none;cursor:default}.sat-card.collectif{background:#fbfaf7;border-color:#d8d0c4}.sat-logo-wrap{border-radius:0;border-color:#ece8e2}.sat-stat{border-top-color:#ece8e2}.side-card,.card,.note,.legend-section,.legend-box{background:#fff;border:1px solid #e7e3dc;border-radius:0;box-shadow:none}.side-card{padding:14px}.note{font-size:12px;line-height:1.55;color:#666;background:#fbfaf7}.legend-section{padding:12px}.legend-box{background:#fbfaf7}.volume-hint{border-radius:0;background:#fbfaf7;border-color:#e7e3dc;color:#5c5b56}.confidence-card{border:0;background:transparent}.pie-item{border-radius:0;background:#fff;border-color:#e7e3dc}
/* Éléments actionnables : formes rondes, états lisibles */
button,.chip,.multi-btn,.multi-action,.row,input,select{transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,transform .16s ease}.map-filters,.map-filter-card,.map-metric-toggle{border-radius:22px;border:1px solid rgba(221,216,207,.92);box-shadow:0 14px 34px rgba(22,34,38,.13);background:rgba(255,255,255,.95)}.filter-title .reset,.filter-title button,#reset,.metric-tabs button,.legend-all,.chip,.multi-btn,.multi-action,select,input{border-radius:999px}.map-metric-toggle button{border-radius:999px;cursor:pointer}.chip,.multi-btn,.multi-action,.row,.legend-all,.metric-tabs button,.filter-title .reset{cursor:pointer}.chip:hover,.multi-btn:hover,.multi-action:hover,.legend-all:hover,.metric-tabs button:hover,.row:hover{border-color:#9ed9d4;box-shadow:0 8px 18px rgba(22,34,38,.06)}.row{border-radius:16px}.row.is-active{border-color:#94d6d1;background:#f8fcfb}.map-note{border-radius:16px;background:#fbfaf7;border-color:#e7e3dc;color:#666}.map-card{border:1px solid #e7e3dc;border-radius:0;box-shadow:none;background:#fff;overflow:visible}#map{border-radius:0;background:#eef2f0}.map-card .leaflet-control-zoom a{border-radius:999px!important}.leaflet-bar{border:0!important;box-shadow:0 8px 22px rgba(22,34,38,.12)!important}.leaflet-bar a{border-bottom:1px solid #ece8e2!important}.leaflet-popup-content-wrapper,.leaflet-popup-tip{border-radius:0;box-shadow:0 18px 38px rgba(22,34,38,.15)}
.below{margin-top:2px}
@media(max-width:1100px){.topbar .wrap{align-items:flex-start}.nav{gap:18px}.hero{grid-template-columns:1fr;align-items:start}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));width:100%}}
@media(max-width:720px){.topbar .wrap{padding:16px 18px}.app{padding:14px 14px 24px}.hero{padding-top:18px}.hero h1{font-size:44px}.kpis{grid-template-columns:repeat(2,1fr)}.sat-grid{top:0}.map-card{border-left:0;border-right:0}.nav{font-size:13px;gap:14px}}
/* Ajustement validé : logos bailleurs sans libellés redondants */
.sat-card{min-height:92px;gap:8px;justify-content:space-between}
.sat-name{display:none}
.sat-logo-wrap{height:58px}
.hero h1{font-size:54px;max-width:980px}
@media(max-width:720px){.hero h1{font-size:40px}}
/* Passe 1 — harmonisation DA SAT-ellites
   États d’interface en noir/blanc, hover gris, typographies secondaires allégées.
   La couleur reste réservée aux données DPE/GES et aux bulles cartographiques. */
:root{
  --ui-ink:#111;
  --ui-muted:#666;
  --ui-line:#ded9d1;
  --ui-hover:#f1f1f1;
  --ui-focus:rgba(17,17,17,.18);
}
/* Allègement typographique des contrôles */
.filter-title,
.filter-label,
.chip,
.multi-btn,
.multi-action,
.map-metric-toggle button,
.metric-tabs button,
.legend-all,
.row,
select,
input,
.filter-title .reset,
.filter-title button,
#reset{
  font-weight:600 !important;
  letter-spacing:.01em;
}
.filter-title{
  font-size:12px;
  color:var(--ui-ink);
}
.filter-label{
  font-size:10.5px;
  color:var(--ui-muted);
  text-transform:none;
}
select,
input,
.multi-btn{
  color:var(--ui-ink);
  border-color:var(--ui-line);
  background:#fff;
}
select:hover,
input:hover,
.multi-btn:hover{
  border-color:#bdb8b0;
  background:var(--ui-hover);
  box-shadow:none;
}
select:focus,
input:focus,
.multi-btn:focus,
.multi-btn:focus-visible{
  outline:none;
  border-color:var(--ui-ink);
  box-shadow:0 0 0 3px var(--ui-focus);
}
/* Boutons et filtres : inactif blanc/noir, actif noir/blanc */
.map-metric-toggle button,
.metric-tabs button,
.chip,
.multi-action,
.legend-all,
.filter-title .reset,
.filter-title button,
#reset{
  background:#fff !important;
  color:var(--ui-ink) !important;
  border:1px solid var(--ui-line) !important;
  box-shadow:none !important;
  background-image:none !important;
}
.map-metric-toggle button:hover,
.metric-tabs button:hover,
.chip:hover,
.multi-action:hover,
.legend-all:hover,
.filter-title .reset:hover,
.filter-title button:hover,
#reset:hover{
  background:var(--ui-hover) !important;
  color:var(--ui-ink) !important;
  border-color:#bdb8b0 !important;
  box-shadow:none !important;
}
.map-metric-toggle button.active,
.metric-tabs button.active,
.chip.active,
.multi-action.primary{
  background:var(--ui-ink) !important;
  color:#fff !important;
  border-color:var(--ui-ink) !important;
  background-image:none !important;
  box-shadow:none !important;
}
.map-metric-toggle button.active:hover,
.metric-tabs button.active:hover,
.chip.active:hover,
.multi-action.primary:hover{
  background:#000 !important;
  color:#fff !important;
  border-color:#000 !important;
}
.map-metric-toggle button:focus-visible,
.metric-tabs button:focus-visible,
.chip:focus-visible,
.multi-action:focus-visible,
.legend-all:focus-visible,
.filter-title .reset:focus-visible,
.filter-title button:focus-visible,
#reset:focus-visible,
.row:focus-visible{
  outline:2px solid var(--ui-ink) !important;
  outline-offset:3px;
  box-shadow:none !important;
}
/* Menus déroulants territoriaux */
.multi.open .multi-btn{
  border-color:var(--ui-ink) !important;
  box-shadow:0 0 0 3px var(--ui-focus) !important;
}
.multi-menu{
  border-color:var(--ui-line) !important;
  box-shadow:0 18px 34px rgba(0,0,0,.12) !important;
}
.multi-option{
  font-weight:500 !important;
  color:var(--ui-ink);
}
.multi-option:hover{
  background:var(--ui-hover) !important;
}
.multi-option input{
  accent-color:var(--ui-ink) !important;
}
/* Lignes de légende : garder les couleurs de données, calmer l’interface */
.row{
  font-weight:500 !important;
  color:var(--ui-ink);
  border-color:transparent;
}
.row:hover{
  background:var(--ui-hover) !important;
  border-color:#d2cdc5 !important;
  box-shadow:none !important;
}
.row.is-active{
  background:#fff !important;
  border-color:var(--ui-ink) !important;
  box-shadow:none !important;
}
.letter-filter .row-label{
  font-weight:600 !important;
  color:var(--ui-ink);
}
/* Logos bailleurs : actif par ombre noire + bord noir, pas par turquoise */
.sat-card.collectif,
.sat-card.bailleur-button{
  border-color:#e2ddd4 !important;
  background:#fff !important;
  box-shadow:none !important;
}
.sat-card.collectif:hover,
.sat-card.bailleur-button:hover{
  transform:translateY(-1px);
  border-color:#bdb8b0 !important;
  background:var(--ui-hover) !important;
  box-shadow:none !important;
}
.sat-card.collectif.is-active,
.sat-card.bailleur-button.is-active{
  border-color:var(--ui-ink) !important;
  background:#fff !important;
  box-shadow:0 10px 22px rgba(0,0,0,.16) !important;
}
.sat-card.bailleur-button.is-muted{
  opacity:.52;
  background:#fff !important;
  box-shadow:none !important;
}
.sat-card.bailleur-button.is-muted .sat-logo-wrap{
  filter:grayscale(1);
}
.sat-card.collectif::after,
.sat-card.bailleur-button::after{
  border-color:#cfc9c0 !important;
  background:#fff !important;
}
.sat-card.collectif.is-active::after,
.sat-card.bailleur-button.is-active::after{
  border-color:var(--ui-ink) !important;
  background:var(--ui-ink) !important;
}
.sat-card.collectif:focus-visible,
.sat-card.bailleur-button:focus-visible{
  outline:2px solid var(--ui-ink) !important;
  outline-offset:3px;
}
/* Neutralisation des restes canard hors données */
.filter-title .reset,
.map-note,
.volume-hint,
.note{
  color:var(--ui-muted);
}
.leaflet-bar{
  box-shadow:0 8px 18px rgba(0,0,0,.12) !important;
}
.leaflet-bar a:hover{
  background:var(--ui-hover) !important;
  color:var(--ui-ink) !important;
}
/* Passe 1b — allègement des marques d’activation
   Suppression des traits noirs : l’état actif repose sur l’ombre, les contrastes,
   les couleurs de données et le grisage des éléments non sélectionnés. */
/* Boutons actifs : pas de trait noir, juste contraste plein */
.map-metric-toggle button.active,
.metric-tabs button.active,
.chip.active,
.multi-action.primary{
  border-color:transparent !important;
}
/* Boutons inactifs : bord discret, pas noir */
.map-metric-toggle button,
.metric-tabs button,
.chip,
.multi-action,
.legend-all,
.filter-title .reset,
.filter-title button,
#reset,
select,
input,
.multi-btn{
  border-color:#ded9d1 !important;
}
/* Menus ouverts : pas de trait noir, seulement une ombre douce */
.multi.open .multi-btn{
  border-color:#bdb8b0 !important;
  box-shadow:0 8px 18px rgba(0,0,0,.08) !important;
}
/* Lignes de légende actives : pas de contour noir */
.row.is-active{
  border-color:transparent !important;
  background:#f3f3f3 !important;
  box-shadow:none !important;
}
.row:hover{
  border-color:transparent !important;
}
/* Logos bailleurs : actif par ombre, sans trait noir */
.sat-card.collectif.is-active,
.sat-card.bailleur-button.is-active{
  border-color:#e2ddd4 !important;
  background:#fff !important;
  box-shadow:0 12px 28px rgba(0,0,0,.18) !important;
}
/* Pastille active plus discrète : remplie noire, sans contour noir */
.sat-card.collectif.is-active::after,
.sat-card.bailleur-button.is-active::after{
  border-color:transparent !important;
  background:#111 !important;
}
/* Focus clavier : reste lisible mais moins lourd visuellement */
.map-metric-toggle button:focus-visible,
.metric-tabs button:focus-visible,
.chip:focus-visible,
.multi-action:focus-visible,
.legend-all:focus-visible,
.filter-title .reset:focus-visible,
.filter-title button:focus-visible,
#reset:focus-visible,
.row:focus-visible,
.sat-card.collectif:focus-visible,
.sat-card.bailleur-button:focus-visible{
  outline:2px solid rgba(17,17,17,.32) !important;
  outline-offset:3px;
}

/* UX Carte / Synthèse avec panneau latéral gauche — reprise modèle dashboard public */
.dashboard-shell{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px;align-items:start}
.app-sidebar{position:sticky;top:82px;z-index:860;display:grid;gap:12px;align-self:start;max-height:calc(100vh - 96px);overflow:auto;padding-right:2px}
.sidebar-block{background:#fff;border:1px solid #e7e3dc;padding:13px 12px;display:grid;gap:10px}
.sidebar-title{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#746f68;font-weight:700}
.app-sidebar .view-switch{position:static!important;top:auto!important;z-index:auto!important;width:100%;display:grid;grid-template-columns:1fr;gap:7px;background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;padding:0!important;border-radius:0!important}
.app-sidebar .view-switch button,.module-pill{width:100%!important;justify-content:flex-start!important;border:1px solid #ded9d1!important;background:#fff!important;color:#111!important;border-radius:999px!important;padding:10px 12px!important;font-size:12px!important;font-weight:650!important;box-shadow:none!important;background-image:none!important;transform:none!important;display:flex;align-items:center;gap:8px;text-align:left;cursor:pointer}
.app-sidebar .view-switch button:hover,.module-pill:hover{background:#f1f1f1!important;border-color:#bdb8b0!important;color:#111!important;transform:none!important}
.app-sidebar .view-switch button.active,.module-pill.active{background:#111!important;color:#fff!important;border-color:#111!important;box-shadow:none!important}
.module-pill.inactive{opacity:.58;cursor:default}.module-pill.inactive:hover{background:#fff!important;border-color:#ded9d1!important}
.active-readout{display:flex;flex-wrap:wrap;gap:6px}.active-chip{display:inline-flex;align-items:center;border:1px solid #e1ddd5;background:#fbfaf7;color:#333;border-radius:999px;padding:7px 9px;font-size:11.5px;font-weight:650}
.filter-group{border:1px solid #e7e3dc;background:#fff}.filter-group+ .filter-group{margin-top:8px}.filter-group summary{list-style:none;cursor:pointer;padding:10px 11px;font-size:12px;font-weight:700;color:#111;display:flex;align-items:center;justify-content:space-between}.filter-group summary::-webkit-details-marker{display:none}.filter-group summary::after{content:'⌄';font-size:12px;color:#777;transition:transform .16s ease}.filter-group[open] summary::after{transform:rotate(180deg)}.filter-group-body{border-top:1px solid #eee9e2;padding:10px;display:grid;gap:9px}
.horizon-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.horizon-buttons button{border:1px solid #ded9d1;background:#fff;color:#111;border-radius:999px;padding:8px 9px;font-size:11.5px;font-weight:650}.horizon-buttons button.active{background:#111;color:#fff;border-color:#111}.horizon-buttons button.inactive{opacity:.48;cursor:default}
.app-sidebar .map-filters,.app-sidebar .map-filter-card{position:relative!important;margin:0!important;width:100%!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;backdrop-filter:none!important;display:grid!important;gap:7px!important}
.app-sidebar .filter-title{padding:0 0 2px;margin:0;border:0}.app-sidebar .filter-title span{font-size:0}.app-sidebar .filter-title span::after{content:'Sélection géographique';font-size:12px;font-weight:700;color:#111}.app-sidebar .filter-title .reset{padding:6px 8px!important;font-size:11px!important}.app-sidebar .map-metric-toggle{position:relative!important;margin:0!important;width:100%!important;box-shadow:none!important;border-radius:0!important;background:#fff!important;border-color:#e7e3dc!important;display:grid!important;grid-template-columns:1fr!important;gap:7px!important;padding:8px!important}.app-sidebar .map-metric-toggle button{text-align:left!important;justify-content:flex-start!important}
.dashboard-shell .main-grid.dashboard-view-map{grid-template-columns:1fr!important}.dashboard-shell .main-grid.dashboard-view-map .map-card{display:grid!important;height:calc(100vh - 96px)!important;min-height:650px!important;position:relative!important;top:auto!important;overflow:hidden!important}.dashboard-shell .main-grid.dashboard-view-map #map{display:block!important;height:100%!important;min-height:650px!important}.dashboard-shell .main-grid.dashboard-view-map .side-card{display:none!important}
.dashboard-shell .main-grid.dashboard-view-synth{grid-template-columns:1fr!important;align-items:start!important}.dashboard-shell .main-grid.dashboard-view-synth .map-card{display:none!important}.dashboard-shell .main-grid.dashboard-view-synth .side-card{display:grid!important;min-height:650px!important}.dashboard-shell .main-grid.dashboard-view-synth .legend-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-view-synth .side-head{display:flex!important;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:4px;border-bottom:1px solid #e7e3dc;padding-bottom:14px}.side-head h2{font-family:'Oswald','Acumin',Arial,sans-serif;font-size:34px;line-height:.95;font-weight:300;letter-spacing:-.04em;color:#111;margin:0}.side-head p{font-size:12.5px;max-width:560px;color:#666;line-height:1.45;margin-top:6px}.pill{border:1px solid #e7e3dc;background:#fbfaf7;color:#666;border-radius:999px;padding:7px 9px;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
@media(max-width:1100px){.dashboard-shell{grid-template-columns:1fr}.app-sidebar{position:relative;top:auto;max-height:none;overflow:visible}.app-sidebar .view-switch{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-shell .main-grid.dashboard-view-map .map-card{height:74vh!important}.dashboard-shell .main-grid.dashboard-view-synth .legend-stack{grid-template-columns:1fr}}
@media(max-width:720px){.dashboard-shell{gap:12px}.sidebar-block{padding:11px}.app-sidebar .view-switch{grid-template-columns:1fr}.horizon-buttons{grid-template-columns:1fr 1fr}.side-head{display:grid!important}.side-head h2{font-size:28px}}

/* Correctif reprise : barre bailleurs preservee entre le bandeau et l interface */
.app > .bailleur-strip.sat-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;margin:0;position:sticky;top:64px;z-index:880}
.app > .bailleur-strip.sat-grid:empty{min-height:92px}
@media(max-width:1320px){.app > .bailleur-strip.sat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:720px){.app > .bailleur-strip.sat-grid{grid-template-columns:repeat(2,minmax(0,1fr));position:static}}

/* Correctif synthese : eviter que les tableaux passent sous la barre logos */
.app.view-synth > .bailleur-strip.sat-grid{
  position:relative !important;
  top:auto !important;
  z-index:2 !important;
}
.app.view-synth .dashboard-shell{
  margin-top:16px;
}
.dashboard-shell .main-grid.dashboard-view-synth .side-card{
  min-height:auto !important;
  height:auto !important;
  overflow:visible !important;
  padding:18px !important;
  align-content:start !important;
  gap:16px !important;
}
.dashboard-view-synth #legend,
.dashboard-view-synth .control-block,
.dashboard-view-synth .legend-stack,
.dashboard-view-synth .legend-section{
  overflow:visible !important;
}
.dashboard-view-synth .legend-stack{
  align-items:start !important;
  gap:14px !important;
}
.dashboard-view-synth .legend-section{
  align-self:start !important;
}
@media(max-width:1100px){
  .app.view-synth .dashboard-shell{margin-top:12px}
}

/* Correctif synthese 2 : remettre les tableaux dans le cadre, sous le titre */
.app.view-synth > .bailleur-strip.sat-grid{
  position:relative !important;
  top:auto !important;
  z-index:1 !important;
}
.app.view-synth .dashboard-shell{
  margin-top:16px !important;
  align-items:start !important;
}
.app.view-synth .dashboard-shell .main-grid.dashboard-view-synth{
  display:block !important;
  position:relative !important;
  top:auto !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
}
.app.view-synth .dashboard-shell .main-grid.dashboard-view-synth .side-card{
  display:block !important;
  position:static !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  transform:none !important;
  margin:0 !important;
  min-height:0 !important;
  height:auto !important;
  overflow:visible !important;
  padding:22px !important;
  align-content:normal !important;
}
.app.view-synth .dashboard-view-synth .side-head{
  display:flex !important;
  position:static !important;
  margin:0 0 18px 0 !important;
  padding:0 0 16px 0 !important;
  border-bottom:1px solid #e7e3dc !important;
}
.app.view-synth .dashboard-view-synth .control-block,
.app.view-synth .dashboard-view-synth #legend,
.app.view-synth .dashboard-view-synth .legend-stack,
.app.view-synth .dashboard-view-synth .legend-section{
  position:static !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  transform:none !important;
  float:none !important;
}
.app.view-synth .dashboard-view-synth .control-block{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
}
.app.view-synth .dashboard-view-synth #legend{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
}
.app.view-synth .dashboard-view-synth .legend-stack{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
  align-items:start !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
.app.view-synth .dashboard-view-synth .legend-section{
  align-self:start !important;
  width:100% !important;
  margin:0 !important;
  overflow:visible !important;
}
@media(max-width:1100px){
  .app.view-synth .dashboard-view-synth .legend-stack{
    grid-template-columns:1fr !important;
  }
}
