﻿/* Dashboard portrait social — 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);--green:#78b66b;--yellow:#eecf75;--orange:#dc8540;--red:#bd4a3f;--purple:#6c4fa2;--grey:#a6b0b4}
*{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} h1{font-size:30px;letter-spacing:-.04em;line-height:1.05;margin-bottom:6px}.hero p{max-width:1050px;font-size:13px}.topline{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:9px}.pill{border:1px solid #d5ebe8;background:#f4faf8;color:#25524f;border-radius:999px;padding:7px 10px;font-weight:850;font-size:11px}.kpis{display:grid;grid-template-columns:112px 126px 112px 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;line-height:1;white-space:nowrap}.kpi span{display:block;font-size:11px;color:var(--muted);line-height:1.18;margin-top:4px}
.main-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(360px,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{position:relative;min-height:675px;height:100%;display:flex;flex-direction:column}#map{flex:1 1 auto;min-height:675px;height:100%;width:100%;background:#e9f0ee}.map-filters{position:absolute;top:82px;left:14px;z-index:650;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:min(292px,calc(100% - 28px));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-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}.frow{display:grid;grid-template-columns:1fr 1fr;gap:7px}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}.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}.reset{border:0;background:#eaf4f1;color:#285653;border-radius:999px;padding:7px 9px;font-weight:900;font-size:12px;cursor:pointer}.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}.map-note{font-size:10.5px;color:#557176;line-height:1.28;background:#eef8f6;border:1px solid #d5ebe8;border-radius:14px;padding:7px}
.side-card{padding:16px;display:flex;flex-direction:column;gap:14px}.side-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.side-head h2{font-size:21px;letter-spacing:-.03em}.side-head p{font-size:12px;margin-top:4px}.control-block{border:1px solid #e0ece8;background:#f8fbfa;border-radius:20px;padding:12px;display:grid;gap:10px}.control-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#5b6f75}.control-toggle{width:100%;border:1px solid transparent;background:linear-gradient(180deg,var(--teal),var(--teal2));color:#fff;border-radius:999px;padding:10px 12px;cursor:pointer;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:950;text-align:center;box-shadow:0 10px 22px rgba(57,193,188,.18)}.control-toggle.off{background:linear-gradient(180deg,#fff,#f5faf8);border-color:#d9e7e2;color:#244b48;box-shadow:none}.control-content{display:grid;gap:10px}.control-block.collapsed .control-content{display:none}.metric-buttons{display:grid;grid-template-columns:1fr;gap:8px}.metric-btn,.soft-btn{border:1px solid #d9e7e2;background:linear-gradient(180deg,#fff,#f5faf8);color:#244b48;border-radius:999px;padding:9px 10px;cursor:pointer;font-weight:900;font-size:12px;line-height:1.2;text-align:center}.metric-btn.active,.soft-btn.active{background:linear-gradient(180deg,var(--teal),var(--teal2));border-color:transparent;color:white;box-shadow:0 10px 22px rgba(57,193,188,.18)}.metric-kpis,.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.metric-kpi,.small-stat{border:1px solid #d7e8e4;background:#f5fbf9;border-radius:16px;padding:10px}.metric-kpi strong,.small-stat strong{display:block;font-size:21px;letter-spacing:-.04em;line-height:1}.metric-kpi span,.small-stat span{display:block;color:var(--muted);font-size:10px;line-height:1.18;margin-top:5px}.layer-list{display:flex;flex-wrap:wrap;gap:8px}.layer-toggle{display:inline-flex;align-items:center;gap:8px;border:1px solid #dbe8e4;background:#fff;border-radius:999px;padding:9px 12px;font-size:12px;font-weight:800;color:#2d5a57}.layer-toggle input{accent-color:#1fa7a2}.map-help,.load,.warn,.tagline{background:#f3faf8;border:1px solid #d9ebe7;border-radius:18px;padding:11px;font-size:12px;color:#345d5b;line-height:1.4}.warn{background:#fff8e8;border-color:#edd9a8;color:#725420}.load{background:#eff9f7;border-color:#cfeceb;color:#245c58}.map-sublegend{display:flex;flex-wrap:wrap;gap:8px}.mini-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #d9e7e2;background:#f4faf8;color:#2d5a57;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800}.mini-chip .dot{width:10px;height:10px;border-radius:50%}.mini-chip .dot.color{background:#cf5a4d}.mini-chip .dot.bubble{background:#47b8bd;border:2px solid #fff;box-shadow:0 0 0 1px rgba(28,94,98,.45)}
.legend{position:absolute;right:18px;bottom:22px;z-index:650;background:rgba(255,255,255,.94);border:1px solid var(--line);box-shadow:0 14px 34px rgba(22,34,38,.14);border-radius:18px;padding:12px;min-width:230px}.legend h3{font-size:13px;margin-bottom:8px}.legend-row{display:grid;grid-template-columns:18px 1fr auto;gap:8px;align-items:center;font-size:12px;margin:6px 0}.swatch{width:18px;height:12px;border-radius:4px;border:1px solid rgba(0,0,0,.08)}.basemap-note{position:absolute;left:18px;bottom:22px;z-index:649;background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:999px;padding:8px 11px;font-size:11px;font-weight:800;color:#365b58;box-shadow:0 10px 24px rgba(22,34,38,.10)}.leaflet-popup-content{font-family:Inter,Arial,sans-serif;font-size:12px}.popup-title{font-size:15px;font-weight:900;margin-bottom:4px}.popup-grid{display:grid;grid-template-columns:1fr auto;gap:5px 12px;min-width:220px}.popup-grid strong{text-align:right}.note{font-size:12px;color:var(--muted);line-height:1.45}
.below{display:grid;grid-template-columns:1fr;gap:14px;align-items:start}.card,.social-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:15px}.card h3,.card h2,.social-card h2{font-size:17px;letter-spacing:-.03em;margin-bottom:10px}.section-title{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}.section-title h2{font-size:17px;letter-spacing:-.03em}.section-title p{font-size:12px}.bar-list{display:grid;gap:8px}.bar-row{display:grid;grid-template-columns:92px 1fr 64px;gap:8px;align-items:center;font-size:12px}.bar-track,.compare-track{height:10px;background:#eaf1ef;border-radius:999px;overflow:hidden}.bar-fill,.compare-fill{height:100%;background:linear-gradient(90deg,var(--teal2),var(--teal));border-radius:999px}.commune-list{display:grid;gap:8px}.commune-chip{border:1px solid #dbe8e4;background:#fff;border-radius:16px;padding:10px;cursor:pointer;text-align:left}.commune-chip:hover{border-color:#8fd3cc}.commune-chip strong{display:block;font-size:13px}.commune-chip span{font-size:11px;color:var(--muted)}
.social-compare{display:block}.social-card{border-radius:26px;padding:18px}.social-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px}.social-head h2{font-size:22px;letter-spacing:-.03em}.social-head p{max-width:920px;font-size:12px}.social-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.compare-tile{min-height:282px;display:flex;flex-direction:column;gap:10px;border:1px solid #dce9e5;background:linear-gradient(180deg,#fff,#f7fbfa);border-radius:22px;padding:14px}.compare-tile:before{content:'SAT';align-self:flex-end;margin:-2px 0 -28px 0;background:#fceceb;border:1px solid #f2d3d0;color:#9c4038;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900}.compare-tile:nth-child(5):before{content:'vigilance';background:#fff5e8;border-color:#ecd5aa;color:#8c5b12}.compare-main{display:flex;align-items:baseline;gap:8px;margin:8px 0 10px}.compare-main strong{font-size:34px;line-height:1;letter-spacing:-.04em}.compare-main span{font-size:12px;color:var(--muted);font-weight:800}.compare-caption{font-size:12px;color:var(--muted);line-height:1.35;min-height:36px}.compare-bars{display:grid;gap:8px;margin-top:8px}.compare-row{display:grid;grid-template-columns:76px 1fr 58px;gap:10px;align-items:center;font-size:12px;color:#466065}.compare-row:first-child{background:#fff4f2;border:1px solid #f1d5d1;border-radius:14px;padding:8px 9px}.compare-fill{background:linear-gradient(90deg,#d65b52,#bd4a3f)}.compare-fill.ref{background:#91aaa7}.compare-fill.fr{background:#cfd8d7}.compare-delta{display:inline-flex;align-self:flex-start;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900;background:#eefafa;color:#1f6764;margin-top:auto}.compare-delta.warn{background:#fff4e8;color:#8a4b19}.compare-delta.bad{background:#fbeeed;color:#9a3b35}.compare-legend{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.legend-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid #dde9e5;background:#f6fbfa;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800;color:#466065}.legend-dot{width:10px;height:10px;border-radius:999px;background:#cfd8d7}.legend-dot.sat{background:#cf5147}.legend-dot.ref{background:#91aaa7}.legend-dot.fr{background:#cfd8d7}
.source-card{grid-column:auto;grid-row:auto}.source-card .source-list{grid-template-columns:repeat(2,minmax(0,1fr))}.source-list{display:grid;grid-template-columns:1fr;gap:10px;margin-top:10px}.source-item{border:1px solid #dce9e5;background:#f7fbfa;border-radius:16px;padding:12px}.source-item strong{display:block;font-size:13px;margin-bottom:4px}.source-item span{font-size:12px;color:var(--muted);line-height:1.45}.source-item a{color:#1f6764;font-weight:900;text-decoration:none}.source-item a:hover{text-decoration:underline}.bubble-marker{background:transparent;border:none!important}.lls-bubble{display:flex;align-items:center;justify-content:center;border-radius:999px;border:0;box-shadow:0 8px 20px rgba(22,34,38,.24),0 0 0 1px rgba(22,34,38,.18);font-weight:950;letter-spacing:-.035em;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.28)}.lls-bubble.small{font-size:0!important;color:transparent;text-shadow:none}.legend-subtitle{font-size:11px;color:#6a7a7f;margin:10px 0 4px;font-weight:800}.bubble-legend{display:grid;gap:7px}.bubble-legend-row{display:grid;grid-template-columns:34px 1fr auto;gap:8px;align-items:center;font-size:12px}.bubble-swatch{border-radius:999px;border:0;box-shadow:0 2px 7px rgba(22,34,38,.20),0 0 0 1px rgba(22,34,38,.16);justify-self:center}.lls-color-scale{display:grid;gap:6px;margin-top:7px}.lls-color-row{display:grid;grid-template-columns:18px 1fr;gap:8px;align-items:center;font-size:12px;color:#4d6468}.lls-color-dot{width:18px;height:12px;border-radius:999px;box-shadow:0 0 0 1px rgba(22,34,38,.12)}
.legend{display:none!important}.side-legend{display:grid;gap:7px;border-top:1px solid #e0ece8;padding-top:9px}.side-legend h3{font-size:12px;letter-spacing:-.02em;color:#263438;margin:0}.side-legend-row{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:8px;align-items:center;font-size:11.5px;color:#435f62}.side-swatch{width:18px;height:12px;border-radius:4px;border:1px solid rgba(0,0,0,.08)}.side-section-title{font-size:11px;font-weight:900;color:#5b6f75;margin-top:2px}.metric-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:start;border-top:1px solid #e0ece8;padding-top:10px}.metric-left{min-width:0}.metric-compare-panel,.metric-bottom-grid,.metric-epci-commune-block{grid-column:1 / -1}.metric-bottom-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:start}.metric-side-card,.metric-epci-commune-block{border:1px solid #dce9e5;background:#fff;border-radius:18px;padding:10px;min-width:0}.metric-side-card h3{font-size:12px;letter-spacing:-.02em;margin:0 0 8px}.metric-side-card .section-title{margin-bottom:8px}.metric-side-card .section-title h2{font-size:12px;margin:0}.metric-side-card .section-title p{font-size:10.5px}.metric-side-card .bar-row{grid-template-columns:minmax(72px,.9fr) minmax(0,1fr) 48px;font-size:11px}.metric-side-card .commune-chip{padding:8px;border-radius:14px}.metric-side-card .commune-chip strong{font-size:12px}.metric-side-card .commune-chip span{font-size:10.5px}.metric-epci-commune-block{border:1px solid #dce9e5;background:#fff;border-radius:18px;padding:10px;min-width:0}.metric-epci-commune-block .section-title{margin-bottom:8px}.metric-epci-commune-block .section-title h2{font-size:12px;margin:0}.metric-epci-commune-block .section-title p{font-size:10.5px}.epci-commune-list{display:grid;gap:8px}.epci-commune-card{border:1px solid #dce9e5;background:linear-gradient(180deg,#fff,#f8fbfa);border-radius:16px;padding:10px;display:grid;gap:8px}.epci-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.epci-card-head strong{font-size:12px;line-height:1.15}.epci-card-head span{font-size:12px;font-weight:950;color:#1f6764;white-space:nowrap}.epci-bar-track{height:8px;background:#eaf1ef;border-radius:999px;overflow:hidden}.epci-bar-fill{height:100%;background:linear-gradient(90deg,var(--teal2),var(--teal));border-radius:999px}.epci-communes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.epci-commune-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid #e1efec;background:#fff;border-radius:12px;padding:7px 8px;cursor:pointer;text-align:left}.epci-commune-row strong{font-size:11.5px;line-height:1.15}.epci-commune-row span{font-size:11px;color:#61777b;font-weight:900;white-space:nowrap}.metric-detail-grid{display:grid;grid-template-columns:minmax(160px,.92fr) minmax(0,1.08fr);gap:10px;align-items:stretch;border-top:1px solid #e0ece8;padding-top:10px}.metric-filter-panel,.metric-compare-panel{border:1px solid #dce9e5;background:#fff;border-radius:18px;padding:10px;min-width:0}.metric-filter-panel{display:grid;gap:8px;background:linear-gradient(180deg,#fff,#f8fbfa)}.metric-compare-panel{display:grid;gap:8px;background:linear-gradient(180deg,#fff,#fbf7f7)}.filter-chip-grid{display:flex;flex-wrap:wrap;gap:6px}.filter-chip-stack{display:grid;gap:6px}.filter-chip{border:1px solid #d9e7e2;background:#fff;color:#244b48;border-radius:999px;padding:7px 9px;font-size:11px;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;gap:6px;justify-content:flex-start}.filter-chip-stack .filter-chip{width:100%;border-radius:14px;padding:8px 9px}.filter-chip.active{background:linear-gradient(180deg,var(--teal),var(--teal2));border-color:transparent;color:#fff;box-shadow:0 8px 18px rgba(57,193,188,.16)}.filter-chip .chip-dot{width:10px;height:10px;border-radius:999px;box-shadow:0 0 0 1px rgba(22,34,38,.10);flex:0 0 auto}.metric-compare-title{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.metric-compare-title strong{font-size:12px;letter-spacing:-.02em}.metric-compare-title span{font-size:10px;font-weight:900;color:#9c4038;background:#fceceb;border:1px solid #f2d3d0;border-radius:999px;padding:4px 7px;white-space:nowrap}.metric-compare-main{display:flex;align-items:baseline;gap:7px}.metric-compare-main strong{font-size:27px;line-height:1;letter-spacing:-.045em}.metric-compare-main span{font-size:11px;color:var(--muted);font-weight:900}.metric-compare-caption{font-size:11.5px;color:#61777b;line-height:1.33}.mini-compare-bars{display:grid;gap:6px}.mini-compare-row{display:grid;grid-template-columns:48px minmax(0,1fr) 54px;gap:8px;align-items:center;font-size:11.5px;color:#466065}.mini-compare-row b{text-align:right;color:#23383b}.mini-compare-track{height:9px;background:#eaf1ef;border-radius:999px;overflow:hidden}.mini-compare-fill{height:100%;background:var(--metric-color,#cf5147);border-radius:999px}.mini-compare-fill.ref,.mini-compare-fill.fr{background:var(--metric-color,#cf5147)}.metric-delta{justify-self:start;border-radius:999px;padding:6px 8px;font-size:11px;font-weight:950;background:#fbeeed;color:#9a3b35}.metric-delta.warn{background:#fff4e8;color:#8a4b19}.metric-delta.good{background:#eefafa;color:#1f6764}.social-compare{display:none!important}.lls-toggle-row{display:grid;grid-template-columns:1fr;gap:8px}.lls-toggle{border:1px solid #d9e7e2;background:linear-gradient(180deg,var(--teal),var(--teal2));color:#fff;border-radius:999px;padding:10px 12px;cursor:pointer;font-weight:950;font-size:12px;text-align:center;box-shadow:0 10px 22px rgba(57,193,188,.18)}.lls-toggle.off{background:linear-gradient(180deg,#fff,#f5faf8);color:#244b48;box-shadow:none}.logic-note{font-size:11px;color:#436469;line-height:1.35;background:#eef8f6;border:1px solid #d6ebe7;border-radius:14px;padding:8px}.legend-bubble-samples{display:grid;gap:6px}.legend-bubble-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:8px;align-items:center;font-size:11.5px;color:#435f62}.legend-bubble-dot{border-radius:999px;background:#cf5a4d;box-shadow:0 2px 7px rgba(22,34,38,.20),0 0 0 1px rgba(22,34,38,.16);justify-self:center}.color-dot-row{display:flex;flex-wrap:wrap;gap:6px}.color-dot-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #d9e7e2;background:#fff;border-radius:999px;padding:6px 8px;font-size:10.5px;font-weight:850;color:#436469}.color-dot-chip .dot{width:11px;height:11px;border-radius:999px;box-shadow:0 0 0 1px rgba(22,34,38,.12)}
.leaflet-tile-pane{filter:saturate(.92) contrast(.96) brightness(1.03)}
@media(max-width:1320px){.kpis{grid-template-columns:126px 126px}.main-grid,.below{grid-template-columns:1fr}.source-card{grid-column:auto;grid-row:auto}.map-card{height:620px;min-height:620px}.map-card #map{height:100%;min-height:620px}.social-grid{grid-template-columns:1fr 1fr}.source-list{grid-template-columns:1fr}.source-card .source-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.epci-communes{grid-template-columns:1fr}.app{padding:12px}.hero{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}.map-filters{position:relative;top:auto;left:auto;margin:10px;width:auto}.map-card{display:flex;flex-direction:column}.frow,.filter-line,.geo-shortcuts,.metric-kpis,.profile-grid,.metric-buttons,.social-grid,.metric-detail-grid,.metric-workspace,.metric-bottom-grid{grid-template-columns:1fr}.legend,.basemap-note{position:relative;right:auto;left:auto;bottom:auto;margin:10px 14px 0;display:block}.social-head{display:block}.bar-row,.compare-row{grid-template-columns:1fr}.source-list,.source-card .source-list{grid-template-columns:1fr}}
/* Harmonisation avec le dashboard Étiquettes énergie */
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:820px}.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:54px;line-height:.92;font-weight:300;letter-spacing:-.045em;margin:0 0 12px;color:#111;max-width:980px}.hero .dashboard-subtitle{font-size:17px;line-height:1.35;color:#2f2f2f;margin:0 0 12px;font-weight:400}.hero p{max-width:780px;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;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}.main-grid{display:grid;grid-template-columns:1fr;gap:14px;align-items:stretch}.map-card{position:relative;z-index:1;isolation:isolate;min-height:720px;height:100vh;display:grid;grid-template:1fr/1fr;overflow:visible;border:1px solid #e7e3dc;border-radius:0;box-shadow:none;background:#fff}.map-card #map,#map{grid-area:1/1;min-height:720px;height:100%;width:100%;background:#eef2f0;border-radius:0;overflow:hidden;z-index:1}.map-controls{grid-area:1/1;align-self:start;justify-self:end;position:sticky;top:84px;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{position:relative;top:auto;left:auto;right:auto;z-index:30;margin:0;background:rgba(255,255,255,.95);border:1px solid rgba(221,216,207,.92);border-radius:22px;box-shadow:0 14px 34px rgba(22,34,38,.13);padding:11px;width:100%;backdrop-filter:blur(7px);display:grid;gap:6px}.map-layer-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;background:rgba(255,255,255,.95);border:1px solid rgba(221,216,207,.92);border-radius:22px;box-shadow:0 14px 34px rgba(22,34,38,.13);padding:7px;backdrop-filter:blur(7px);width:100%}.map-layer-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-layer-toggle button.active{background:linear-gradient(180deg,var(--teal),var(--teal2));color:#fff}.map-layer-toggle button.off{background:#fff;color:#7a746d;border-color:#e1ddd5}.map-note{border-radius:16px;background:#fbfaf7;border-color:#e7e3dc;color:#666}.side-card,.card,.metric-side-card,.metric-epci-commune-block,.metric-filter-panel,.metric-compare-panel,.metric-kpi,.small-stat,.source-item{background:#fff;border:1px solid #e7e3dc;border-radius:0;box-shadow:none}.side-card{padding:14px;display:grid;gap:12px;align-content:start}.side-head{display:flex;border-bottom:1px solid #e7e3dc;padding-bottom:8px}.side-head h2{font-family:'Oswald','Acumin',Arial,sans-serif;font-size:28px;font-weight:300;letter-spacing:-.035em;color:#111}.pill{background:#fbfaf7;border-color:#e7e3dc;color:#666;border-radius:999px}.control-block{background:#fff;border:1px solid #e7e3dc;border-radius:0;box-shadow:none}.control-toggle{box-shadow:none}.metric-kpis,.profile-grid{grid-template-columns:repeat(9,minmax(0,1fr))}.metric-workspace{grid-template-columns:minmax(220px,.75fr) minmax(220px,.7fr) minmax(0,1.15fr);border-top:1px solid #e7e3dc}.metric-compare-panel{grid-column:auto}.metric-epci-commune-block{grid-column:1/-1}.metric-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-btn,.soft-btn,.filter-chip,.chip,.multi-btn,.multi-action,.reset,select,input{border-radius:999px}.filter-chip-stack .filter-chip{border-radius:999px}.metric-btn,.soft-btn,.filter-chip{background:#fff;border-color:#e7e3dc}.metric-btn.active,.soft-btn.active,.filter-chip.active,.chip.active{background:linear-gradient(180deg,var(--teal),var(--teal2));border-color:transparent;color:#fff}.below{margin-top:2px}.source-card .source-list{grid-template-columns:repeat(2,minmax(0,1fr))}.source-card{padding:18px}.leaflet-tile-pane{filter:saturate(.92) contrast(.96) brightness(1.03)}.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)}.basemap-note{left:18px;bottom:22px;border-radius:999px;background:rgba(255,255,255,.88);border-color:#e7e3dc;color:#5c5b56}.legend{display:none!important}
@media(max-width:1320px){.hero{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.metric-kpis,.profile-grid{grid-template-columns:repeat(3,1fr)}.metric-workspace{grid-template-columns:1fr}.metric-compare-panel{grid-column:1/-1}.source-card .source-list{grid-template-columns:1fr}.map-card{height:100vh!important;min-height:680px!important}.map-card #map{height:100%;min-height:680px}}
@media(max-width:720px){.topbar .wrap{padding:16px 18px;align-items:flex-start}.nav{font-size:13px;gap:14px}.app{padding:14px 14px 24px}.hero{padding-top:18px}.hero h1{font-size:40px}.kpis{grid-template-columns:repeat(2,1fr)}.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}.map-layer-toggle{grid-template-columns:1fr}.basemap-note{display:none}.metric-buttons{grid-template-columns:1fr}.source-list,.source-card .source-list{grid-template-columns:1fr}}
/* Harmonisation DA SAT-ellites dashboards
   Surcouche de finition : interface noir / blanc / gris, couleurs réservées aux données. */
:root{
  --sat-ui-ink:#111;
  --sat-ui-muted:#666;
  --sat-ui-line:#ded9d1;
  --sat-ui-line-strong:#c8c2ba;
  --sat-ui-hover:#f1f1f1;
  --sat-ui-active-soft:#f3f3f3;
  --sat-ui-focus:rgba(17,17,17,.28);
  --sat-ui-shadow:0 14px 32px rgba(0,0,0,.12);
}
/* Typographies des filtres et commandes */
.filter-title,
.filter-label,
.reset,
.chip,
.multi-btn,
.multi-action,
.multi-option,
.metric-btn,
.soft-btn,
.filter-chip,
.control-toggle,
.lls-toggle,
.map-layer-toggle button,
.layer-toggle,
.mini-chip,
.color-dot-chip,
.legend-chip,
.commune-chip,
.epci-commune-row,
select,
input{
  font-weight:600 !important;
  letter-spacing:.01em;
}
.filter-title,
.side-section-title,
.control-label{
  color:var(--sat-ui-ink) !important;
}
.filter-label,
.control-label,
.side-section-title{
  color:var(--sat-ui-muted) !important;
}
button,
.chip,
.multi-btn,
.multi-action,
.metric-btn,
.soft-btn,
.filter-chip,
.control-toggle,
.lls-toggle,
.map-layer-toggle button,
.layer-toggle,
.reset,
.commune-chip,
.epci-commune-row,
select,
input{
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,opacity .16s ease,filter .16s ease,transform .16s ease;
}
/* Cartes, panneaux, notes et contrôles Leaflet */
.map-filters,
.map-layer-toggle,
.control-block,
.metric-filter-panel,
.metric-compare-panel,
.metric-side-card,
.metric-epci-commune-block,
.metric-kpi,
.small-stat,
.source-item,
.map-help,
.load,
.warn,
.tagline,
.logic-note,
.map-note,
.basemap-note,
.leaflet-popup-content-wrapper,
.leaflet-popup-tip{
  border-color:var(--sat-ui-line) !important;
  box-shadow:none !important;
}
.map-filters,
.map-layer-toggle{
  box-shadow:var(--sat-ui-shadow) !important;
}
.map-note,
.basemap-note,
.map-help,
.load,
.tagline,
.logic-note{
  background:#f7f7f7 !important;
  color:var(--sat-ui-muted) !important;
}
.warn{
  background:#fafafa !important;
  color:var(--sat-ui-muted) !important;
}
.leaflet-bar{
  border:0 !important;
  box-shadow:0 8px 18px rgba(0,0,0,.12) !important;
}
.leaflet-bar a{
  color:var(--sat-ui-ink) !important;
  background:#fff !important;
  border-bottom-color:#ece8e2 !important;
}
.leaflet-bar a:hover{
  background:var(--sat-ui-hover) !important;
  color:var(--sat-ui-ink) !important;
}
/* Boutons principaux et filtres : inactif blanc/noir, hover gris, actif noir/blanc */
.map-layer-toggle button,
.metric-btn,
.soft-btn,
.filter-chip,
.chip,
.multi-action,
.reset,
.control-toggle,
.lls-toggle,
.layer-toggle{
  background:#fff !important;
  background-image:none !important;
  color:var(--sat-ui-ink) !important;
  border:1px solid var(--sat-ui-line) !important;
  box-shadow:none !important;
}
.map-layer-toggle button:hover,
.metric-btn:hover,
.soft-btn:hover,
.filter-chip:hover,
.chip:hover,
.multi-action:hover,
.reset:hover,
.control-toggle:hover,
.lls-toggle:hover,
.layer-toggle:hover,
.commune-chip:hover,
.epci-commune-row:hover{
  background:var(--sat-ui-hover) !important;
  color:var(--sat-ui-ink) !important;
  border-color:var(--sat-ui-line-strong) !important;
  box-shadow:none !important;
  transform:none !important;
}
.map-layer-toggle button.active,
.metric-btn.active,
.soft-btn.active,
.filter-chip.active,
.chip.active,
.multi-action.primary,
.control-toggle:not(.off),
.lls-toggle:not(.off){
  background:var(--sat-ui-ink) !important;
  background-image:none !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:none !important;
}
.map-layer-toggle button.active:hover,
.metric-btn.active:hover,
.soft-btn.active:hover,
.filter-chip.active:hover,
.chip.active:hover,
.multi-action.primary:hover,
.control-toggle:not(.off):hover,
.lls-toggle:not(.off):hover{
  background:#000 !important;
  color:#fff !important;
  border-color:transparent !important;
}
.map-layer-toggle button.off,
.control-toggle.off,
.lls-toggle.off{
  background:#fff !important;
  color:var(--sat-ui-muted) !important;
  border-color:var(--sat-ui-line) !important;
  opacity:.72;
}
/* Champs et menus déroulants */
select,
input,
.multi-btn{
  background:#fff !important;
  color:var(--sat-ui-ink) !important;
  border-color:var(--sat-ui-line) !important;
  box-shadow:none !important;
}
select:hover,
input:hover,
.multi-btn:hover{
  background:var(--sat-ui-hover) !important;
  border-color:var(--sat-ui-line-strong) !important;
  box-shadow:none !important;
}
.multi.open .multi-btn{
  border-color:var(--sat-ui-line-strong) !important;
  box-shadow:0 8px 18px rgba(0,0,0,.08) !important;
}
.multi-menu{
  border-color:var(--sat-ui-line) !important;
  box-shadow:0 18px 34px rgba(0,0,0,.12) !important;
}
.multi-option{
  color:var(--sat-ui-ink) !important;
  font-weight:500 !important;
}
.multi-option:hover{
  background:var(--sat-ui-hover) !important;
}
.multi-option input,
.layer-toggle input{
  accent-color:var(--sat-ui-ink) !important;
}
/* Lignes, chips secondaires et listes : ne pas toucher aux couleurs des pastilles/barres de données */
.commune-chip,
.epci-commune-row,
.source-item,
.metric-filter-panel,
.metric-compare-panel,
.metric-side-card,
.metric-epci-commune-block{
  background:#fff !important;
}
.filter-chip .chip-dot,
.mini-chip .dot,
.color-dot-chip .dot,
.legend-dot,
.side-swatch,
.swatch,
.lls-color-dot,
.legend-bubble-dot,
.bubble-swatch,
.bar-fill,
.compare-fill,
.epci-bar-fill,
.mini-compare-fill,
.lls-bubble{
  /* Couleurs métier conservées volontairement. */
}
.filter-chip.active .chip-dot{
  box-shadow:0 0 0 1px rgba(255,255,255,.55);
}
.layer-toggle{
  color:var(--sat-ui-ink) !important;
}
.mini-chip,
.color-dot-chip,
.legend-chip{
  background:#fff !important;
  color:var(--sat-ui-ink) !important;
  border-color:var(--sat-ui-line) !important;
}
.mini-chip:hover,
.color-dot-chip:hover,
.legend-chip:hover{
  background:var(--sat-ui-hover) !important;
}
/* États de lecture actifs : fond gris léger, sans trait noir */
.commune-chip.is-active,
.commune-chip.active,
.epci-commune-row.is-active,
.epci-commune-row.active,
.side-legend-row.is-active,
.legend-row.is-active,
.bubble-legend-row.is-active,
.lls-color-row.is-active{
  background:var(--sat-ui-active-soft) !important;
  border-color:transparent !important;
  box-shadow:none !important;
}
.commune-chip:hover,
.epci-commune-row:hover{
  border-color:transparent !important;
}
/* Suppression des accents turquoise d’interface hors données */
.source-item a{
  color:var(--sat-ui-ink) !important;
  font-weight:700;
}
.source-item a:hover{
  color:#000 !important;
}
.compare-delta,
.metric-delta,
.metric-compare-title span{
  background:#f3f3f3 !important;
  border-color:var(--sat-ui-line) !important;
  color:var(--sat-ui-ink) !important;
}
/* Focus clavier accessible mais discret */
button:focus-visible,
.chip:focus-visible,
.multi-btn:focus-visible,
.multi-action:focus-visible,
.metric-btn:focus-visible,
.soft-btn:focus-visible,
.filter-chip:focus-visible,
.control-toggle:focus-visible,
.lls-toggle:focus-visible,
.layer-toggle:focus-visible,
.reset:focus-visible,
.commune-chip:focus-visible,
.epci-commune-row:focus-visible,
select:focus-visible,
input:focus-visible,
a:focus-visible{
  outline:2px solid var(--sat-ui-focus) !important;
  outline-offset:3px;
  box-shadow:none !important;
}
/* Logos / cartes partenaires éventuels : style sobre si la classe apparaît dans une variante */
.sat-card,
.bailleur-button,
.partner-card{
  background:#fff !important;
  border-color:var(--sat-ui-line) !important;
  box-shadow:none !important;
}
.sat-card:hover,
.bailleur-button:hover,
.partner-card:hover{
  background:var(--sat-ui-hover) !important;
  border-color:var(--sat-ui-line-strong) !important;
  box-shadow:none !important;
}
.sat-card.is-active,
.bailleur-button.is-active,
.partner-card.is-active{
  border-color:var(--sat-ui-line) !important;
  background:#fff !important;
  box-shadow:0 12px 28px rgba(0,0,0,.18) !important;
}
.sat-card.is-muted,
.bailleur-button.is-muted,
.partner-card.is-muted{
  opacity:.52;
  filter:grayscale(1);
}
/* Organisation en deux colonnes du bloc Repères par EPCI */
.epci-commune-list{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  align-items:start;
  gap:10px !important;
}
.epci-column{
  display:grid;
  gap:8px;
  min-width:0;
}
.epci-column-title{
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--sat-ui-muted,#666);
  padding:0 2px 2px;
}
@media(max-width:900px){
  .epci-commune-list{
    grid-template-columns:1fr !important;
  }
}
/* Test lecture en deux colonnes : indicateurs sociaux / logements sociaux */
.sat-controls-duo{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(300px,.85fr);
  gap:12px;
  align-items:start;
}
.sat-controls-duo .control-block{
  min-width:0;
  height:100%;
  align-content:start;
}
.sat-controls-duo #socialControlBlock .metric-workspace{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
}
.sat-controls-duo #socialControlBlock .metric-left,
.sat-controls-duo #socialControlBlock .metric-filter-panel{
  grid-column:auto !important;
}
.sat-controls-duo #socialControlBlock .metric-compare-panel,
.sat-controls-duo #socialControlBlock .metric-epci-commune-block{
  grid-column:1 / -1 !important;
}
.sat-controls-duo #socialControlBlock .metric-buttons{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
.sat-controls-duo #llsControlBlock .control-content{
  align-content:start;
}
.sat-controls-duo #llsControlBlock .filter-chip-grid{
  display:grid;
  grid-template-columns:1fr;
}
@media(max-width:1180px){
  .sat-controls-duo{
    grid-template-columns:1fr;
  }
}
@media(max-width:720px){
  .sat-controls-duo #socialControlBlock .metric-workspace,
  .sat-controls-duo #socialControlBlock .metric-buttons{
    grid-template-columns:1fr !important;
  }
}
/* Sélecteur direct de l’indicateur social dans les filtres de carte */
.map-metric-select select{
  width:100%;
}
.map-metric-select{
  padding-top:2px;
}

/* Colonne gauche de navigation harmonisée avec le modèle vulnérabilités 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;box-shadow:none;padding:13px;display:grid;gap:10px}
.sidebar-title{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#6f6a63;font-weight:650;margin-bottom:1px}
.active-readout{display:flex;flex-wrap:wrap;gap:7px}
.active-chip{border:1px solid #ded9d1;background:#fff;color:#111;border-radius:999px;padding:7px 9px;font-size:11px;font-weight:600;line-height:1.1}
.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;margin: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;background:#fff!important;color:#777!important;border-color:#ded9d1!important}
.module-pill.inactive:hover{background:#fff!important;border-color:#ded9d1!important;color:#777!important}
.module-pill.off{background:#fff!important;color:#777!important;border-color:#ded9d1!important;opacity:.72}
.module-pill.off:hover{background:#f1f1f1!important;color:#111!important;border-color:#bdb8b0!important}
.filter-group{border:1px solid #e7e3dc;background:#fbfaf7;display:grid;gap:0}
.filter-group>summary{list-style:none;cursor:pointer;padding:11px 12px;font-size:12.5px;font-weight:700;color:#111;display:flex;align-items:center;justify-content:space-between;gap:10px}
.filter-group>summary::-webkit-details-marker{display:none}
.filter-group>summary::after{content:'⌄';font-size:13px;color:#6f6a63;transition:transform .16s ease}
.filter-group[open]>summary::after{transform:rotate(180deg)}
.filter-group-body{padding:0 10px 11px;display:grid;gap:8px}
.horizon-buttons{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.horizon-buttons button{border:1px solid #ded9d1;background:#fff;color:#111;border-radius:999px;padding:9px 10px;font-size:12px;font-weight:650;cursor:default}
.horizon-buttons button.active{background:#111;color:#fff;border-color:#111}
.horizon-buttons button.inactive{opacity:.58;color:#777}
.dashboard-shell .map-filters,.dashboard-shell .map-filter-card{position:relative!important;top:auto!important;left:auto!important;right:auto!important;margin:0!important;width:auto!important;box-shadow:none!important;border-radius:0!important;background:transparent!important;border:0!important;padding:0!important;backdrop-filter:none!important;z-index:auto!important}
.dashboard-shell .map-note,.dashboard-shell .dashboard-map-selects{background:#fff!important;border:1px solid #e7e3dc!important;border-radius:0!important;box-shadow:none!important}
.dashboard-shell .map-layer-toggle{position:relative!important;top:auto!important;left:auto!important;right:auto!important;margin:0!important;width:100%!important;box-shadow:none!important;border-radius:0!important;background:transparent!important;border:0!important;padding:0!important;backdrop-filter:none!important;display:grid!important;grid-template-columns:1fr!important;gap:7px!important}
.dashboard-shell .map-layer-toggle button{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}
.dashboard-shell .map-layer-toggle button:hover{background:#f1f1f1!important;border-color:#bdb8b0!important;color:#111!important}
.dashboard-shell .map-layer-toggle button.active{background:#111!important;color:#fff!important;border-color:#111!important}
.dashboard-shell .map-layer-toggle button.off{background:#fff!important;color:#777!important;border-color:#ded9d1!important;opacity:.72}
.dashboard-shell .main-grid{min-width:0;display:grid;grid-template-columns:1fr!important}
.dashboard-shell .main-grid.dashboard-view-map .side-card{display:none!important}
.dashboard-shell .main-grid.dashboard-view-map .map-card{display:grid!important;height:calc(100vh - 96px)!important;min-height:680px!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:620px}
.app.view-map .below{display:none!important}
.app.view-synth .below{display:grid!important}
@media(max-width:1100px){.dashboard-shell{grid-template-columns:1fr}.app-sidebar{position:relative;top:auto;max-height:none;overflow:visible}.dashboard-shell .main-grid.dashboard-view-map .map-card{height:75vh!important;min-height:620px!important}}
@media(max-width:720px){.app-sidebar .view-switch{grid-template-columns:1fr}}
