:root{
      --bg:#333333;--panel:#303030;--panel2:#262626;--text:#f5f5f5;--muted:#c8c8c8;--line:rgba(255,255,255,.13);
      --accent:#97af1e;--accent2:#c6df4d;--low:#ffe16a;--mid:#ff9a36;--high:#e33b2f;--blue:#54a7ff;--violet:#c084fc;--mapbg:#f7f7f2;--highlight:#00b7ff;--highlight-ring:rgba(0,183,255,.55);--highlight-ring-strong:rgba(0,183,255,.68);
    }
    *{box-sizing:border-box}
    html,body{height:100%;margin:0;overflow:hidden;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
    .app{height:100vh;display:grid;grid-template-columns:330px minmax(0,1fr) 350px;background:#333}
    .panel{height:100vh;overflow:auto;background:linear-gradient(180deg,#383838 0%,#2d2d2d 100%);border-color:var(--line);border-style:solid}
    .left{grid-column:1;border-width:0 1px 0 0;padding:10px;display:flex;flex-direction:column}
    .map-wrap{grid-column:2;position:relative;min-width:0}
    .right{grid-column:3;border-width:0 0 0 1px;display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;overflow:hidden}
    #map{height:100vh;width:100%;background:var(--mapbg)}
    .leaflet-container{background:var(--mapbg)!important}
    .leaflet-base-pane{z-index:160!important}.leaflet-communes-pane{z-index:390!important}.leaflet-communes-pane path{pointer-events:auto}.leaflet-zones-pane{z-index:430!important}.leaflet-routes-pane{z-index:500!important}.leaflet-circles-pane{z-index:330!important}.leaflet-points-pane{z-index:570!important}
    .block{border:1px solid var(--line);border-radius:15px;padding:9px;margin-bottom:8px;background:rgba(255,255,255,.045);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
    .block h2{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px;color:#fff;opacity:.94}
    .intro-title{margin:0 0 5px;font-size:1.02rem;line-height:1.12}.intro-text{margin:0;color:#d7d7d7;font-size:.70rem;line-height:1.32}
    .badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.badge{font-size:.56rem;text-transform:uppercase;letter-spacing:.08em;background:rgba(198,223,77,.13);border:1px solid rgba(198,223,77,.25);border-radius:999px;padding:4px 7px;color:#e6f2b2;font-weight:850}
    label{display:block;font-size:.68rem;color:var(--muted);margin:7px 0 4px}
    select,input[type=range]{width:100%}
    select{appearance:none;border:1px solid rgba(255,255,255,.16);background:#242424;color:#f4f4f4;border-radius:10px;padding:7px 9px;font-size:.75rem;outline:none}
    input[type=checkbox],input[type=range]{accent-color:var(--accent)}
    .checkrow{display:flex;align-items:center;gap:7px;margin-top:7px;color:#e8e8e8;font-size:.72rem}
    .mode-grid{display:grid;gap:7px}
    .mode-btn{text-align:left;background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:8px 9px;color:#f5f5f5;cursor:pointer;transition:transform .12s ease,background .12s ease,border-color .12s ease}
    .mode-btn:hover{transform:translateY(-1px);background:rgba(151,175,30,.14)}
    .mode-btn.active{background:rgba(151,175,30,.25);border-color:rgba(198,223,77,.50);box-shadow:0 0 0 1px rgba(198,223,77,.12) inset}
    .mode-btn strong{display:block;font-size:.76rem}.mode-btn span{display:block;font-size:.63rem;color:#cfcfcf;margin-top:2px;line-height:1.28}
    .mode-tag{display:inline-flex;margin-bottom:5px;border-radius:999px;padding:2px 6px;background:rgba(255,255,255,.08);color:#d8d8d8;font-size:.55rem;text-transform:uppercase;letter-spacing:.06em}
    .helper{font-size:.66rem;color:#d2d2d2;line-height:1.34;margin:7px 0 0}


    .mode-inline-options{display:none!important;margin:-2px 0 8px 12px;padding:9px 10px;border-left:2px solid rgba(198,223,77,.42);border-radius:0 13px 13px 0;background:rgba(0,0,0,.18)}
    .mode-inline-options.active{display:block!important}
    .mode-inline-options label{font-size:.64rem;margin-top:6px;color:#dcdcdc}
    .mode-inline-options select{font-size:.70rem;padding:7px 8px}
    .inline-legend{margin-top:8px;border-top:1px solid rgba(255,255,255,.10);padding-top:7px}
    .inline-legend strong{display:block;font-size:.66rem;margin-bottom:1px;text-transform:uppercase;letter-spacing:.075em;color:#f2f2f2}
    .inline-legend .legend-subtitle{font-size:.58rem;color:#d0d0d0;margin:0 0 5px;font-weight:700}
    .inline-legend .legend-row,.inline-legend .legend-class-row{display:grid!important;grid-template-columns:12px minmax(0,1fr)!important;gap:6px!important;align-items:center!important;font-size:.60rem!important;line-height:1.12!important;color:#e8e8e8!important;margin:3px 0!important}
    .inline-legend i{display:block;width:12px;height:12px;border-radius:4px;box-shadow:0 0 10px currentColor}
    .inline-legend .disc-panel{border-top:1px solid rgba(255,255,255,.09);margin-top:6px;padding-top:6px}
    .inline-legend .disc-hist{width:92%;height:50px;margin:6px auto 5px;background:linear-gradient(180deg,#444,#343434);border-color:rgba(255,255,255,.14)}
    .inline-legend .disc-hover-label{color:#efefef;font-size:.58rem;margin-top:3px}
    .inline-legend .disc-note{color:#cfcfcf!important;font-size:.56rem!important}
    .inline-legend .disc-handle-line{background:#f3f3f3}
    .inline-legend .disc-handle-knob{background:#2f2f2f;border-color:#f3f3f3}
    .inline-explain{margin:7px 0 0!important;font-size:.61rem!important;line-height:1.28!important;color:#d2d2d2!important}
    .legend-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
    .gear-btn,.info-btn{width:30px;height:30px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.10);color:#ffffff;cursor:pointer;font-size:16px;line-height:1;display:grid;place-items:center;font-weight:900;box-shadow:0 2px 10px rgba(0,0,0,.18)}
    .gear-btn:hover,.info-btn:hover{background:rgba(0,183,255,.16);border-color:var(--highlight);transform:translateY(-1px)}
    .index-status{display:inline-block;margin:4px 0 5px;padding:2px 6px;border-radius:999px;background:rgba(255,255,255,.08);font-size:.55rem;color:#dcdcdc}
    .index-status.custom{background:rgba(198,223,77,.18);color:#efff9c}
    .advanced-panel{display:none;margin-top:7px;padding:7px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(0,0,0,.16)}
    .advanced-panel.open{display:block}
    .legend-actions{display:flex;gap:7px;align-items:center}
    .info-panel{display:none;margin-top:7px;padding:10px 11px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.07)}
    .info-panel.open{display:block}
    .info-panel h4{margin:0 0 6px;font-size:.68rem;color:#fff}
    .info-panel p{margin:0 0 6px;font-size:.60rem;line-height:1.35;color:#ececec}
    .info-panel ul{margin:6px 0 0 16px;padding:0}
    .info-panel li{margin:3px 0;font-size:.59rem;line-height:1.32;color:#e2e2e2}
    .info-panel pre{margin:7px 0 0;background:rgba(0,0,0,.20);border:1px solid rgba(255,255,255,.10);border-radius:10px;padding:7px 8px;white-space:pre-wrap;color:#fff;font-size:.58rem;line-height:1.26}
    .methodo-head button{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;border-radius:10px;padding:7px 10px;cursor:pointer}
    .methodo-head button:hover{border-color:var(--highlight);background:rgba(0,183,255,.12)}
    .weight-row{display:grid!important;grid-template-columns:minmax(0,1fr) 70px 34px!important;gap:6px!important;align-items:center!important;font-size:.58rem!important;color:#e8e8e8!important;margin:5px 0!important}
    .weight-row input{width:100%;accent-color:#c6df4d}
    .weight-row b{font-variant-numeric:tabular-nums;text-align:right;color:#efff9c}
    .weight-actions{display:flex;gap:6px;margin-top:6px}
    .weight-actions button{flex:1;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff;border-radius:8px;padding:5px 7px;font-size:.58rem;cursor:pointer}
    .weight-actions button:hover{border-color:rgba(198,223,77,.55)}



    .mode-options{transition:opacity .15s ease,border-color .15s ease}
    .mode-options summary{cursor:pointer;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#fff;font-weight:850}
    .mode-options:not(.active){opacity:.68}
    .mode-options.active{border-color:rgba(198,223,77,.36);background:rgba(151,175,30,.075)}
    .inline-controls{display:grid;grid-template-columns:1fr 74px;gap:8px;align-items:end}
    input[type=color]{width:100%;height:32px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:#242424;padding:3px}
    .map-context{position:absolute;right:18px;bottom:18px;top:auto;z-index:935;width:235px;background:rgba(51,51,51,.88);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:10px 12px;color:#f2f2f2;box-shadow:0 12px 30px rgba(0,0,0,.20)}
    .map-context strong{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}
    .map-context label{font-size:.62rem;margin-top:8px}

    .button-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}
    button{border:1px solid rgba(198,223,77,.25);border-radius:11px;background:rgba(151,175,30,.14);color:#f5f5f5;padding:7px 8px;font-weight:750;cursor:pointer;font-size:.70rem;transition:transform .12s ease,background .12s ease}
    button:hover{transform:translateY(-1px);background:rgba(151,175,30,.24)}

    .leaflet-top.leaflet-left{top:96px!important;left:18px!important}
    .leaflet-bottom.leaflet-right{right:50%!important;bottom:4px!important;transform:translateX(50%)}
    .leaflet-control-attribution{border-radius:999px;background:rgba(255,255,255,.82)!important;font-size:10px!important;padding:2px 8px!important}

    .map-title{position:absolute;left:18px;top:18px;z-index:900;background:rgba(255,255,255,.90);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.08);border-radius:18px;padding:10px 12px;box-shadow:0 10px 28px rgba(0,0,0,.12);max-width:540px;color:#222}
    .map-title strong{display:block;font-size:.92rem}.map-title span{display:block;color:#555;font-size:.70rem;margin-top:3px;line-height:1.3}
    .floating-legend{display:none!important;position:absolute;right:18px;bottom:18px;z-index:940;background:rgba(255,255,255,.93);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.09);border-radius:18px;padding:10px 12px;box-shadow:0 12px 30px rgba(0,0,0,.15);color:#222;min-width:235px}

    .floating-legend{width:310px;max-width:calc(100vw - 40px);max-height:calc(100vh - 96px);overflow:auto}
    .disc-panel{margin-top:8px;border-top:1px solid rgba(0,0,0,.12);padding-top:8px}
    .disc-panel label{display:block;color:#333;font-size:.62rem;margin:6px 0 3px}
    .disc-panel select{width:100%;border:1px solid rgba(0,0,0,.16);border-radius:9px;padding:6px 8px;font-size:.68rem;background:#fff;color:#222}
    .disc-hist{position:relative;width:88%;height:58px;user-select:none;margin:7px auto 6px;border-radius:9px;background:linear-gradient(180deg,#f8f8f8,#e9e9e9);border:1px solid rgba(0,0,0,.14);overflow:visible;display:flex;align-items:end;gap:1px;padding:4px 0 9px}
    .disc-bar{flex:1;border-radius:2px 2px 0 0;min-height:3px;cursor:pointer;transition:transform .08s ease,filter .08s ease,outline .08s ease}.disc-bar:hover,.disc-bar.active{filter:brightness(.82) saturate(1.25);transform:translateY(-2px);outline:1px solid #222}.disc-bar.selected{outline:2px solid #c6df4d;filter:brightness(.75) saturate(1.35);transform:translateY(-3px)}
    .disc-handle{position:absolute;top:0;bottom:0;width:18px;margin-left:-9px;cursor:ew-resize;z-index:60;touch-action:none;pointer-events:none}.disc-handle-line{position:absolute;left:8px;top:2px;bottom:15px;width:2px;background:#222;box-shadow:0 0 0 1px rgba(255,255,255,.85);pointer-events:auto}.disc-handle-knob{position:absolute;left:2px;bottom:2px;width:14px;height:14px;border-radius:999px;background:#fff;border:1.8px solid #222;box-shadow:0 1px 5px rgba(0,0,0,.40);pointer-events:auto}.disc-handle-label{display:none}
    
    
    .disc-slider-row{display:grid!important;grid-template-columns:54px 1fr 52px!important;gap:6px!important;align-items:center!important;font-size:.60rem!important;color:#333!important;margin:2px 0!important}
    
    .disc-panel{font-size:.62rem}
    .disc-hist{height:58px}
    .disc-slider-row{grid-template-columns:50px minmax(0,1fr) 48px!important}
    .disc-slider-row b{text-align:right;font-variant-numeric:tabular-nums}
    .disc-note{margin:5px 0 0!important;color:#555!important;font-size:.58rem!important;line-height:1.2!important}.disc-hover-label{font-size:.60rem;color:#333;margin-top:4px;min-height:1rem;font-weight:700}


    .legend-class-row{display:grid!important;grid-template-columns:13px minmax(0,1fr)!important;gap:7px!important;align-items:center!important;font-size:.64rem!important;line-height:1.12!important;color:#333!important;margin:3px 0!important}

    .floating-legend strong{display:block;font-size:.74rem;margin-bottom:1px;text-transform:uppercase;letter-spacing:.08em;color:#333}.legend-subtitle{font-size:.62rem;color:#555;margin:0 0 5px;font-weight:700}
    .floating-legend .legend-row{display:grid;grid-template-columns:14px minmax(0,1fr);gap:8px;align-items:center;font-size:.70rem;margin:5px 0;color:#444}
    .floating-legend i{display:block;width:13px;height:13px;border-radius:5px;box-shadow:0 0 12px currentColor}
    .low{background:var(--low);color:var(--low)}.mid{background:var(--mid);color:var(--mid)}.high{background:var(--high);color:var(--high)}
    .credit{position:absolute;right:16px;bottom:18px;z-index:950;display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:999px;background:rgba(51,51,51,.86);color:#e9e9e9;font-size:11px;border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(10px)}
    .credit img{height:20px;width:auto}.credit .round{width:22px;height:22px;border-radius:7px}.credit a{color:var(--accent2);text-decoration:none;font-weight:800}
    .methodo-dock{position:absolute;left:18px;bottom:18px;z-index:960;display:grid;text-align:left;gap:2px;min-width:230px;border-radius:18px;padding:10px 12px;background:rgba(51,51,51,.90);border:1px solid rgba(198,223,77,.34);box-shadow:0 12px 34px rgba(0,0,0,.28);transform-origin:left bottom;transition:transform .18s ease,opacity .18s ease}
    .methodo-dock strong{font-size:.78rem}.methodo-dock span{font-size:.66rem;color:#d8d8d8}.methodo-dock.is-hidden{opacity:0;transform:translate(-12px,12px) scale(.82);pointer-events:none}
    .right-filters{padding:12px;border-bottom:1px solid var(--line)}
    .right-head{padding:10px 12px;border-bottom:1px solid var(--line)}
    .right-head h2{margin:0;font-size:.92rem}.right-head p{margin:5px 0 0;color:#d4d4d4;font-size:.68rem;line-height:1.3}
    .kpis{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}
    .kpi{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);border-radius:14px;padding:9px}.kpi strong{display:block;font-size:.95rem}.kpi span{display:block;color:#cfcfcf;font-size:.60rem;margin-top:2px}
    .scroll{overflow:auto;min-height:0;padding:10px 12px}
    .card{border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.045);padding:11px;margin-bottom:10px}
    .card h3{margin:0 0 6px;font-size:.88rem}.card p{margin:0;color:#ddd;font-size:.69rem;line-height:1.36}
    .mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:9px 0}.mini-stat{background:#242424;border-radius:12px;padding:8px;border:1px solid rgba(255,255,255,.08)}.mini-stat b{display:block;font-size:.82rem}.mini-stat span{font-size:.58rem;color:#cfcfcf}
    .chip{display:inline-flex;border-radius:999px;padding:2px 6px;font-size:.58rem;font-weight:850;margin:4px 4px 0 0}.chip.lowc{background:rgba(255,225,106,.18);color:#ffe16a}.chip.midc{background:rgba(255,154,54,.18);color:#ffb062}.chip.highc{background:rgba(227,59,47,.20);color:#ff7c72}.chip.blue{background:rgba(84,167,255,.18);color:#9ed0ff}.chip.violet{background:rgba(192,132,252,.18);color:#dcc0ff}.chip.robust-high{background:rgba(151,175,30,.22);color:#e7ff8a}.chip.robust-mid{background:rgba(255,191,0,.19);color:#ffd86b}.chip.robust-low{background:rgba(227,59,47,.20);color:#ff8b83}.expert-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0}.expert-row{display:grid;grid-template-columns:1fr auto;gap:8px;padding:6px 0;border-top:1px solid rgba(255,255,255,.07);font-size:.64rem}.expert-row:first-child{border-top:none}.expert-row span{color:#d8d8d8}.expert-row b{font-variant-numeric:tabular-nums}.robust-list{margin:7px 0 0;padding-left:16px;color:#d0d0d0;font-size:.62rem;line-height:1.28}.robust-list li{margin:2px 0}.card-action{width:100%;margin-top:8px;border:1px solid rgba(198,223,77,.35);background:rgba(151,175,30,.14);color:#f5ffd4;border-radius:10px;padding:7px 9px;font-size:.64rem;font-weight:800;cursor:pointer}.card-action:hover{background:rgba(151,175,30,.23);border-color:rgba(198,223,77,.65)}
    .rank-row{display:grid;grid-template-columns:1fr auto;gap:8px;border-top:1px solid rgba(255,255,255,.08);padding:7px 0;font-size:.68rem;cursor:pointer}.rank-row:first-child{border-top:none}.rank-row:hover b{color:var(--accent2)}.rank-row b{font-size:.72rem}.rank-row span{color:#cfcfcf}
    .bar-list{display:grid;gap:6px;margin-top:8px}.bar-row{display:grid;grid-template-columns:98px 1fr 42px;gap:7px;align-items:center;font-size:.61rem;color:#e6e6e6}.bar-track{height:8px;background:rgba(255,255,255,.10);border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:999px}
    .note{font-size:.62rem;line-height:1.35;color:#cfcfcf;margin:7px 0 0}.sources{padding:10px 12px;border-top:1px solid var(--line);font-size:.61rem;line-height:1.35;color:#d6d6d6;max-height:120px;overflow:auto}.sources strong{color:#fff}.sources-left{margin-top:auto}.sources-left p{font-size:.62rem;line-height:1.28;color:#d6d6d6;margin:0}.right-credit{padding:8px 12px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:8px;font-size:.66rem;color:#e9e9e9;background:rgba(0,0,0,.12)}.right-credit img{height:20px;width:auto}.right-credit .round{width:22px;height:22px;border-radius:7px}.right-credit a{color:var(--accent2);text-decoration:none;font-weight:800}
    .equip-div-icon{width:7px!important;height:7px!important;margin-left:-3.5px!important;margin-top:-3.5px!important;pointer-events:auto}.equip-div-icon span{position:relative;display:block;width:7px;height:7px;border-radius:999px;background:rgba(35,35,35,.90);border:1px solid rgba(255,255,255,.88);box-shadow:0 1px 3px rgba(0,0,0,.28);box-sizing:border-box;transition:transform .10s ease,box-shadow .10s ease,background .10s ease,border-color .10s ease}.equip-div-icon span::after{content:"";position:absolute;left:1.5px;top:1.5px;width:2px;height:2px;border-radius:999px;background:var(--accent2)}.equip-div-icon.terrain span{background:#ffe600;border:1.2px solid #202020;box-shadow:0 0 0 2px rgba(255,230,0,.28),0 2px 5px rgba(0,0,0,.34)}.equip-div-icon.terrain span::after{background:#202020}.equip-div-icon.is-hover span{transform:scale(1.55);box-shadow:0 0 0 2px var(--highlight-ring),0 3px 8px rgba(0,0,0,.40)}.equip-div-icon.is-selected span{transform:scale(1.85);border-color:var(--highlight);box-shadow:0 0 0 3px var(--highlight-ring-strong),0 4px 11px rgba(0,0,0,.46)}
    .equip-tooltip{background:rgba(38,38,38,.96);border:1px solid rgba(255,255,255,.20);color:#fff;border-radius:10px;box-shadow:0 6px 18px rgba(0,0,0,.28);padding:7px 8px;max-width:260px}.equip-tooltip b{font-size:12px}.equip-tooltip span{display:block;color:#d9d9d9;font-size:11px;margin-top:2px;line-height:1.25}
    .loading{position:absolute;inset:0;z-index:2500;display:flex;align-items:center;justify-content:center;background:rgba(51,51,51,.66)}.loading-card{width:min(430px,90vw);background:#2f2f2f;border:1px solid rgba(198,223,77,.35);border-radius:22px;padding:20px;text-align:center;box-shadow:0 24px 70px rgba(0,0,0,.42)}.loading-card strong{font-size:1rem}.loading-card p{color:#ddd;font-size:.76rem;line-height:1.4}
    .hidden{display:none!important}
    .methodo-panel{position:fixed;inset:0;z-index:3100;display:grid;place-items:center;padding:24px;background:rgba(0,0,0,.50);opacity:0;pointer-events:none;transition:opacity .22s ease}.methodo-panel.open{opacity:1;pointer-events:auto}
    .methodo-card{width:min(980px,88vw);height:min(84vh,860px);display:grid;grid-template-rows:auto minmax(0,1fr);border-radius:24px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(180deg,#383838,#2c2c2c);box-shadow:0 32px 90px rgba(0,0,0,.48);color:#f5f5f5;transform:translate(-28vw,28vh) scale(.18);transform-origin:left bottom;transition:transform .32s cubic-bezier(.2,.8,.2,1)}.methodo-panel.open .methodo-card{transform:translate(0,0) scale(1)}
    .methodo-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.11)}.methodo-head strong{display:block;font-size:1.04rem}.methodo-head span{display:block;font-size:.74rem;color:#cfcfcf;margin-top:2px}
    .methodo-content{overflow:auto;padding:18px;display:grid;gap:12px}.methodo-content section{border:1px solid rgba(255,255,255,.10);border-radius:16px;background:rgba(255,255,255,.045);padding:13px}.methodo-content h3{margin:0 0 7px;color:#c6df4d;font-size:.88rem}.methodo-content p,.methodo-content li{font-size:.75rem;line-height:1.45;color:#e6e6e6;margin:0 0 6px}.methodo-content ul{margin:0;padding-left:18px}.methodo-content pre{white-space:pre-wrap;background:#202020;border:1px solid rgba(255,255,255,.10);border-radius:12px;padding:10px;font-size:.70rem;line-height:1.38;color:#f3f3f3;overflow:auto}
    @media(max-width:1180px){.app{grid-template-columns:305px minmax(0,1fr) 320px}.map-title{display:none}.floating-legend{right:12px;top:12px}.sources{max-height:100px}}
    @media(max-width:900px){.app{grid-template-columns:1fr}.left{position:absolute;left:8px;top:8px;bottom:8px;width:300px;z-index:1200;border-radius:18px;border:1px solid var(--line);height:auto}.right{display:none}.map-wrap{grid-column:1}.floating-legend,.map-context{display:none}.methodo-dock{left:12px;bottom:12px}.methodo-card{width:94vw;height:86vh}}


/* V2.5 · parcours d’analyse */
.analysis-path .mode-btn{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  column-gap:8px;
  align-items:start;
  position:relative;
}
.analysis-path .mode-btn::before{
  content:attr(data-step);
  grid-row:1 / span 3;
  grid-column:1;
  width:24px;
  height:24px;
  border-radius:999px;
  display:grid;
  place-items:center;
  margin-top:1px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  color:#e8e8e8;
  font-size:.62rem;
  font-weight:900;
  font-variant-numeric:tabular-nums;
}
.analysis-path .mode-btn.active::before{
  background:rgba(198,223,77,.18);
  border-color:rgba(198,223,77,.62);
  color:#f1ffd0;
}
.analysis-path .mode-btn .mode-tag,
.analysis-path .mode-btn strong,
.analysis-path .mode-btn > span:not(.mode-tag){
  grid-column:2;
}
.analysis-path .mode-btn strong{font-size:.78rem}
.analysis-path .mode-btn > span:not(.mode-tag){font-size:.61rem}

/* V2.5 · bandeau d’état analytique */
.analysis-state{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:7px;
}
.analysis-state span{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:3px 7px;
  border-radius:999px;
  background:rgba(0,0,0,.06);
  border:1px solid rgba(0,0,0,.08);
  color:#333;
  font-size:.58rem;
  line-height:1.1;
}
.analysis-state b{
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#222;
  font-size:.50rem;
}

/* V2.5 · fiche diagnostic */
.diagnostic-card{
  border-color:rgba(0,183,255,.28);
  background:linear-gradient(180deg,rgba(0,183,255,.08),rgba(255,255,255,.045));
}
.diagnostic-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:9px;
}
.diagnostic-head h3{margin-bottom:3px}
.diagnostic-head p{margin:0!important;color:#dcdcdc!important}
.diagnostic-focus{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  margin:9px 0 7px;
  padding:8px;
  border-radius:12px;
  background:rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.08);
}
.diagnostic-focus span{
  color:#d7d7d7;
  font-size:.62rem;
}
.diagnostic-focus b{
  font-size:1rem;
  font-variant-numeric:tabular-nums;
}
.diagnostic-reading{
  font-size:.70rem!important;
  line-height:1.42!important;
  color:#eeeeee!important;
}
.rank-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  margin:8px 0;
}
.rank-grid div{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:6px;
  align-items:center;
  padding:7px 8px;
  border-radius:11px;
  background:rgba(0,0,0,.16);
  border:1px solid rgba(255,255,255,.07);
}
.rank-grid span{
  color:#d7d7d7;
  font-size:.60rem;
  line-height:1.15;
}
.rank-grid b{
  font-size:.72rem;
  font-variant-numeric:tabular-nums;
}


/* V2.5.1 · fiche diagnostic renforcée */
.diagnostic-summary{
  margin:8px 0 10px!important;
  padding:9px 10px;
  border-radius:12px;
  background:rgba(0,183,255,.10);
  border:1px solid rgba(0,183,255,.20);
  color:#f3f6f8!important;
  font-size:.72rem!important;
  line-height:1.42!important;
}
.diagnostic-triptych{
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
  margin:8px 0 10px;
}
.diagnostic-triptych > div{
  border:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.14);
  border-radius:12px;
  padding:8px 9px;
}
.diagnostic-triptych h4{
  margin:0 0 5px;
  font-size:.64rem;
  color:#f4f4f4;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.diagnostic-triptych p{
  margin:0!important;
  font-size:.66rem!important;
  line-height:1.38!important;
  color:#e7e7e7!important;
}
.diagnostic-list{
  margin:0;
  padding-left:16px;
}
.diagnostic-list li{
  margin:3px 0;
  color:#e3e3e3;
  font-size:.63rem;
  line-height:1.32;
}


/* V2.6.0 · thème clair professionnel
   Objectif : perception plus institutionnelle et meilleure lisibilité longue.
   Les calculs, données et interactions ne sont pas modifiés. */

.theme-pro-light{
  --bg:#f4f5f2;
  --panel:#ffffff;
  --panel2:#f7f8f4;
  --text:#20231f;
  --muted:#5f665c;
  --line:rgba(35,43,32,.14);
  --accent:#6f8717;
  --accent2:#97af1e;
  --mapbg:#eef0ea;
  background:#f4f5f2!important;
  color:#20231f!important;
}

/* Structure générale */
.theme-pro-light .app{
  background:#f4f5f2!important;
}
.theme-pro-light .panel{
  background:linear-gradient(180deg,#ffffff 0%,#f3f5ef 100%)!important;
  border-color:rgba(35,43,32,.14)!important;
  color:#20231f!important;
}
.theme-pro-light .left{
  box-shadow:10px 0 28px rgba(35,43,32,.06);
}
.theme-pro-light .right{
  box-shadow:-10px 0 28px rgba(35,43,32,.06);
}

/* Blocs et typographie */
.theme-pro-light .block,
.theme-pro-light .card,
.theme-pro-light .kpi,
.theme-pro-light .mini-stat,
.theme-pro-light .advanced-panel,
.theme-pro-light .info-panel{
  background:rgba(255,255,255,.88)!important;
  border-color:rgba(35,43,32,.13)!important;
  color:#20231f!important;
  box-shadow:0 1px 0 rgba(255,255,255,.72),0 8px 22px rgba(35,43,32,.035)!important;
}
.theme-pro-light .block h2,
.theme-pro-light .card h3,
.theme-pro-light .right-head h2,
.theme-pro-light .map-context strong,
.theme-pro-light .floating-legend strong{
  color:#20231f!important;
}
.theme-pro-light .intro-title{
  color:#20231f!important;
}
.theme-pro-light .intro-text,
.theme-pro-light .right-head p,
.theme-pro-light .card p,
.theme-pro-light .note,
.theme-pro-light .helper,
.theme-pro-light .inline-explain,
.theme-pro-light .sources-left p,
.theme-pro-light .methodo-dock span{
  color:#5f665c!important;
}
.theme-pro-light label,
.theme-pro-light .checkrow span,
.theme-pro-light .inline-legend,
.theme-pro-light .legend-subtitle{
  color:#4f574d!important;
}

/* Badges et boutons */
.theme-pro-light .badge,
.theme-pro-light .mode-tag,
.theme-pro-light .index-status{
  background:rgba(111,135,23,.10)!important;
  border-color:rgba(111,135,23,.24)!important;
  color:#51650f!important;
}
.theme-pro-light button,
.theme-pro-light select,
.theme-pro-light input{
  color:#20231f;
}
.theme-pro-light .button-grid button,
.theme-pro-light .card-action,
.theme-pro-light .weight-actions button,
.theme-pro-light .methodo-head button{
  background:#ffffff!important;
  border-color:rgba(35,43,32,.18)!important;
  color:#20231f!important;
}
.theme-pro-light .button-grid button:hover,
.theme-pro-light .card-action:hover,
.theme-pro-light .weight-actions button:hover,
.theme-pro-light .methodo-head button:hover{
  border-color:#97af1e!important;
  background:#f3f7e4!important;
}

/* Parcours d'analyse */
.theme-pro-light .mode-btn{
  background:#ffffff!important;
  border-color:rgba(35,43,32,.13)!important;
  color:#20231f!important;
  box-shadow:0 2px 10px rgba(35,43,32,.035)!important;
}
.theme-pro-light .mode-btn strong{
  color:#20231f!important;
}
.theme-pro-light .mode-btn > span:not(.mode-tag){
  color:#5f665c!important;
}
.theme-pro-light .mode-btn.active{
  background:linear-gradient(180deg,#f9fbea,#ffffff)!important;
  border-color:rgba(111,135,23,.46)!important;
  box-shadow:0 0 0 2px rgba(151,175,30,.12),0 10px 24px rgba(35,43,32,.07)!important;
}
.theme-pro-light .analysis-path .mode-btn::before{
  background:#f1f3ea!important;
  border-color:rgba(35,43,32,.16)!important;
  color:#4e5849!important;
}
.theme-pro-light .analysis-path .mode-btn.active::before{
  background:#97af1e!important;
  color:#ffffff!important;
  border-color:#6f8717!important;
}

/* Panneaux carte */
.theme-pro-light .map-title,
.theme-pro-light .floating-legend,
.theme-pro-light .map-context{
  background:rgba(255,255,255,.92)!important;
  color:#20231f!important;
  border-color:rgba(35,43,32,.16)!important;
  box-shadow:0 12px 32px rgba(35,43,32,.12)!important;
  backdrop-filter:blur(10px);
}
.theme-pro-light .map-title strong,
.theme-pro-light .map-title span{
  color:#20231f!important;
}
.theme-pro-light .analysis-state span{
  background:#f2f5eb!important;
  border-color:rgba(35,43,32,.13)!important;
  color:#2b3028!important;
}
.theme-pro-light .analysis-state b{
  color:#5d7214!important;
}
.theme-pro-light .floating-legend .legend-row,
.theme-pro-light .legend-class-row,
.theme-pro-light .disc-hover-label,
.theme-pro-light .disc-note{
  color:#424b3f!important;
}
.theme-pro-light .floating-legend i{
  box-shadow:0 0 0 1px rgba(35,43,32,.12),0 4px 12px rgba(35,43,32,.10)!important;
}

/* Inputs / réglages */
.theme-pro-light select,
.theme-pro-light input[type="range"],
.theme-pro-light input[type="color"]{
  background:#ffffff!important;
  border-color:rgba(35,43,32,.18)!important;
}
.theme-pro-light .weight-row{
  color:#2a2f27!important;
}
.theme-pro-light .weight-row b{
  color:#52660f!important;
}
.theme-pro-light .gear-btn,
.theme-pro-light .info-btn{
  background:#ffffff!important;
  color:#20231f!important;
  border-color:rgba(35,43,32,.20)!important;
}
.theme-pro-light .gear-btn:hover,
.theme-pro-light .info-btn:hover{
  background:#eaf8ff!important;
  border-color:#00b7ff!important;
}

/* Fiche diagnostic */
.theme-pro-light .diagnostic-card{
  background:linear-gradient(180deg,rgba(0,183,255,.08),#ffffff)!important;
  border-color:rgba(0,147,205,.24)!important;
}
.theme-pro-light .diagnostic-head p,
.theme-pro-light .diagnostic-focus span,
.theme-pro-light .diagnostic-reading,
.theme-pro-light .diagnostic-summary,
.theme-pro-light .diagnostic-triptych p,
.theme-pro-light .diagnostic-list li,
.theme-pro-light .rank-grid span,
.theme-pro-light .expert-row span{
  color:#4f574d!important;
}
.theme-pro-light .diagnostic-focus,
.theme-pro-light .diagnostic-triptych > div,
.theme-pro-light .rank-grid div{
  background:#f6f8f3!important;
  border-color:rgba(35,43,32,.12)!important;
}
.theme-pro-light .diagnostic-focus b,
.theme-pro-light .rank-grid b,
.theme-pro-light .mini-stat b,
.theme-pro-light .kpi strong,
.theme-pro-light .expert-row b{
  color:#20231f!important;
}
.theme-pro-light .diagnostic-summary{
  background:#eef9ff!important;
  border-color:rgba(0,183,255,.22)!important;
}
.theme-pro-light .diagnostic-triptych h4{
  color:#20231f!important;
}

/* Tableaux, barres et listes */
.theme-pro-light .bar-row{
  color:#333a31!important;
}
.theme-pro-light .bar-track{
  background:rgba(35,43,32,.10)!important;
}
.theme-pro-light .bar-fill{
  background:linear-gradient(90deg,#6f8717,#97af1e)!important;
}
.theme-pro-light .robust-list li{
  color:#4f574d!important;
}

/* Crédits et méthode */
.theme-pro-light .right-credit,
.theme-pro-light .credit{
  background:rgba(255,255,255,.90)!important;
  color:#333a31!important;
  border-color:rgba(35,43,32,.14)!important;
}
.theme-pro-light .right-credit a,
.theme-pro-light .credit a{
  color:#52660f!important;
}
.theme-pro-light .methodo-dock{
  background:rgba(255,255,255,.93)!important;
  color:#20231f!important;
  border-color:rgba(111,135,23,.30)!important;
  box-shadow:0 12px 34px rgba(35,43,32,.13)!important;
}
.theme-pro-light .methodo-dock strong{
  color:#20231f!important;
}
.theme-pro-light .methodo-card{
  background:linear-gradient(180deg,#ffffff,#f4f5f2)!important;
  color:#20231f!important;
  border-color:rgba(35,43,32,.14)!important;
}
.theme-pro-light .methodo-head{
  border-color:rgba(35,43,32,.12)!important;
}
.theme-pro-light .methodo-head strong,
.theme-pro-light .methodo-content h3{
  color:#20231f!important;
}
.theme-pro-light .methodo-head span,
.theme-pro-light .methodo-content p,
.theme-pro-light .methodo-content li{
  color:#4f574d!important;
}
.theme-pro-light .methodo-content section{
  background:#ffffff!important;
  border-color:rgba(35,43,32,.12)!important;
}
.theme-pro-light .methodo-content pre{
  background:#f2f4ef!important;
  color:#20231f!important;
  border-color:rgba(35,43,32,.14)!important;
}

/* Tooltips et chargement */
.theme-pro-light .equip-tooltip{
  background:rgba(255,255,255,.98)!important;
  color:#20231f!important;
  border-color:rgba(35,43,32,.20)!important;
}
.theme-pro-light .equip-tooltip span{
  color:#4f574d!important;
}
.theme-pro-light .loading{
  background:rgba(244,245,242,.72)!important;
}
.theme-pro-light .loading-card{
  background:#ffffff!important;
  color:#20231f!important;
  border-color:rgba(111,135,23,.30)!important;
}
.theme-pro-light .loading-card p{
  color:#5f665c!important;
}

/* Conserver une sélection cartographique très visible */
.theme-pro-light .chip.blue{
  background:rgba(0,183,255,.12)!important;
  color:#007dae!important;
}
.theme-pro-light .chip.violet{
  background:rgba(128,86,210,.12)!important;
  color:#6848a6!important;
}
.theme-pro-light .chip.robust-high{
  background:rgba(111,135,23,.14)!important;
  color:#51650f!important;
}
.theme-pro-light .chip.robust-mid{
  background:rgba(202,145,0,.14)!important;
  color:#8b6500!important;
}
.theme-pro-light .chip.robust-low{
  background:rgba(211,65,50,.12)!important;
  color:#a83a31!important;
}

/* Adaptation mobile / petits écrans */
@media(max-width:980px){
  .theme-pro-light .panel{
    background:#ffffff!important;
  }
}


/* V2.6.1 · comparaison communale */
.compare-card{border-color:rgba(111,135,23,.22)!important}
.compare-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px}
.compare-head h3{margin-bottom:3px}
.compare-head p{margin:0!important;font-size:.66rem!important;line-height:1.32!important}
.compare-summary{display:grid;grid-template-columns:1fr;gap:6px;margin:8px 0 9px}
.compare-summary div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:8px;align-items:start;padding:7px 8px;border-radius:11px;background:rgba(0,0,0,.14);border:1px solid rgba(255,255,255,.07)}
.compare-summary span{color:#d7d7d7;font-size:.59rem;text-transform:uppercase;letter-spacing:.055em}
.compare-summary b{color:#f2f2f2;font-size:.66rem;line-height:1.25}
.compare-table{width:100%;border-collapse:separate;border-spacing:0 4px;font-size:.61rem}
.compare-table th{text-align:left;color:#bfc8ba;font-size:.54rem;text-transform:uppercase;letter-spacing:.055em;padding:0 6px 2px;font-weight:800}
.compare-table td{padding:6px;background:rgba(0,0,0,.14);border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07);color:#e8e8e8;vertical-align:middle}
.compare-table td:first-child{border-left:1px solid rgba(255,255,255,.07);border-radius:9px 0 0 9px;font-variant-numeric:tabular-nums;font-weight:800}
.compare-table td:last-child{border-right:1px solid rgba(255,255,255,.07);border-radius:0 9px 9px 0}
.compare-table tr.selected td{background:rgba(0,183,255,.14);border-color:rgba(0,183,255,.28)}
.compare-table .chip{transform:scale(.88);transform-origin:left center}
.theme-pro-light .compare-summary div,.theme-pro-light .compare-table td{background:#f6f8f3!important;border-color:rgba(35,43,32,.12)!important}
.theme-pro-light .compare-summary span,.theme-pro-light .compare-table th{color:#6a7266!important}
.theme-pro-light .compare-summary b,.theme-pro-light .compare-table td{color:#20231f!important}
.theme-pro-light .compare-table tr.selected td{background:#eaf8ff!important;border-color:rgba(0,183,255,.28)!important}


/* V2.6.2 · zoom Leaflet en haut à droite de la fenêtre carte */
.leaflet-top.leaflet-right{
  top:12px;
  right:12px;
}
.leaflet-top.leaflet-right .leaflet-control-zoom{
  margin:0;
  border:1px solid rgba(35,43,32,.18);
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 10px 28px rgba(35,43,32,.14);
}
.leaflet-top.leaflet-right .leaflet-control-zoom a{
  width:30px;
  height:30px;
  line-height:30px;
  font-size:18px;
  color:#20231f;
  background:rgba(255,255,255,.94);
  border-color:rgba(35,43,32,.14);
}
.leaflet-top.leaflet-right .leaflet-control-zoom a:hover{
  background:#f3f7e4;
  color:#20231f;
}
.theme-pro-light .leaflet-top.leaflet-right .leaflet-control-zoom a{
  background:rgba(255,255,255,.95);
  color:#20231f;
}


/* V2.6.3 · robustesse visible / lecture prudente */
.robustness-legend{
  margin-top:10px;
  padding-top:9px;
  border-top:1px solid rgba(35,43,32,.14);
}
.robustness-legend strong{
  display:block;
  margin-bottom:6px;
  font-size:.66rem;
}
.robustness-line{
  display:flex;
  align-items:center;
  gap:7px;
  font-size:.62rem;
  color:#4f574d;
}
.robustness-line i{
  width:24px;
  height:14px;
  border:2px dashed rgba(190,50,40,.92);
  border-radius:5px;
  background:rgba(190,50,40,.06);
}
.diagnostic-prudent{
  border-color:rgba(190,50,40,.32)!important;
  background:linear-gradient(180deg,rgba(190,50,40,.08),#ffffff)!important;
}
.theme-pro-light .diagnostic-prudent{
  border-color:rgba(190,50,40,.30)!important;
  background:linear-gradient(180deg,rgba(190,50,40,.07),#ffffff)!important;
}
.theme-pro-light .robustness-line{
  color:#4f574d!important;
}
.theme-pro-light .robustness-legend{
  border-color:rgba(35,43,32,.14)!important;
}


/* V2.7.0 · légendes interprétatives */
.legend-reading{
  margin-top:9px;
  padding:8px 9px;
  border-radius:12px;
  background:rgba(0,0,0,.12);
  border:1px solid rgba(255,255,255,.08);
}
.legend-reading b{
  display:block;
  margin-bottom:4px;
  font-size:.62rem;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.legend-reading p{
  margin:0 0 5px!important;
  font-size:.62rem!important;
  line-height:1.35!important;
}
.legend-reading ul{
  margin:0;
  padding-left:15px;
}
.legend-reading li{
  margin:2px 0;
  font-size:.60rem;
  line-height:1.28;
}
.legend-warning{
  margin-top:6px!important;
  font-weight:700;
}
.legend-row.interpretive span{
  display:flex;
  flex-direction:column;
  gap:1px;
}
.legend-row.interpretive b{
  font-size:.64rem;
}
.legend-row.interpretive small{
  font-size:.56rem;
  color:#6a7266;
}
.theme-pro-light .legend-reading{
  background:#f6f8f3!important;
  border-color:rgba(35,43,32,.12)!important;
}
.theme-pro-light .legend-reading b,
.theme-pro-light .legend-row.interpretive b{
  color:#20231f!important;
}
.theme-pro-light .legend-reading p,
.theme-pro-light .legend-reading li,
.theme-pro-light .legend-row.interpretive small{
  color:#4f574d!important;
}

/* V2.7.0 · lecture prudente consolidée */
.robust-mini{
  display:inline-flex;
  align-items:center;
  margin-left:4px;
  padding:2px 5px;
  border-radius:999px;
  font-size:.50rem;
  font-style:normal;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.045em;
  vertical-align:middle;
  white-space:nowrap;
}
.robust-mini.robust-high{
  background:rgba(111,135,23,.13);
  color:#52660f;
}
.robust-mini.robust-mid{
  background:rgba(202,145,0,.13);
  color:#8b6500;
}
.robust-mini.robust-low{
  background:rgba(190,50,40,.13);
  color:#a2362c;
}
.rank-row.is-prudent,
.compare-table tr.is-prudent td{
  box-shadow:inset 3px 0 0 rgba(190,50,40,.75);
}
.theme-pro-light .rank-row.is-prudent{
  background:#fff7f5!important;
  border-color:rgba(190,50,40,.18)!important;
}
.theme-pro-light .compare-table tr.is-prudent td{
  background:#fff7f5!important;
  border-color:rgba(190,50,40,.16)!important;
}

/* V2.7.0 · export présentation */
.export-stamp{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  z-index:900;
  display:grid;
  gap:3px;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(35,43,32,.16);
  box-shadow:0 12px 32px rgba(35,43,32,.18);
  color:#20231f;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.export-stamp strong{
  font-size:.78rem;
}
.export-stamp span{
  font-size:.61rem;
  color:#4f574d;
  line-height:1.25;
}
.is-exporting .leaflet-control-container{
  display:none!important;
}


/* V2.7.1 · légendes nettoyées */
.legend-reading.compact{
  padding:9px 10px;
}
.legend-reading.compact b{
  color:#20231f!important;
}
.legend-reading.compact p{
  margin:0!important;
  color:#4f574d!important;
}
.legend-reading.compact .legend-warning{
  margin-top:7px!important;
  padding-top:7px;
  border-top:1px solid rgba(35,43,32,.12);
  font-weight:800;
}
.theme-pro-light .legend-reading.compact{
  background:#f7f8f4!important;
  border-color:rgba(35,43,32,.12)!important;
}
.theme-pro-light .legend-reading.compact b{
  color:#20231f!important;
}
.theme-pro-light .legend-reading.compact p{
  color:#4f574d!important;
}
.theme-pro-light .legend-warning{
  color:#4b5547!important;
}


/* V2.7.2 · export PNG avec légende */
.export-legend{
  position:absolute!important;
  top:72px!important;
  right:18px!important;
  z-index:900!important;
  width:300px!important;
  max-height:calc(100vh - 170px)!important;
  overflow:hidden!important;
  padding:12px 14px!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.94)!important;
  border:1px solid rgba(35,43,32,.16)!important;
  box-shadow:0 14px 34px rgba(35,43,32,.18)!important;
  color:#20231f!important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
.export-legend strong,
.export-legend b{
  color:#20231f!important;
}
.export-legend .legend-subtitle,
.export-legend span,
.export-legend p,
.export-legend li,
.export-legend small{
  color:#4f574d!important;
}
.export-legend .legend-reading{
  background:#f7f8f4!important;
  border-color:rgba(35,43,32,.12)!important;
}
.export-legend .disc-panel{
  max-height:96px!important;
  overflow:hidden!important;
}
.export-legend .advanced-panel,
.export-legend .info-panel,
.export-legend .weight-row,
.export-legend .weight-actions,
.export-legend .legend-actions{
  display:none!important;
}
.export-legend .robustness-legend{
  display:block!important;
}


/* ==========================================================================
   V2.8.0 · design polish professionnel
   Objectif : finition visuelle d’observatoire territorial, sans toucher
   aux données, aux scores, aux pondérations ou aux interactions.
   ========================================================================== */

.theme-pro-light{
  --bg:#f5f6f2;
  --panel:#ffffff;
  --panel2:#f8f9f5;
  --text:#1f241f;
  --muted:#60695e;
  --line:rgba(40,50,36,.115);
  --accent:#6f8717;
  --accent2:#97af1e;
  --surface:#ffffff;
  --surface-soft:#f7f8f4;
  --surface-tint:#f0f4e4;
  --shadow-soft:0 10px 28px rgba(34,42,31,.055);
  --shadow-panel:0 16px 38px rgba(34,42,31,.075);
}

/* Base plus calme */
.theme-pro-light .app{
  background:
    radial-gradient(circle at 18% 0%,rgba(151,175,30,.08),transparent 30%),
    linear-gradient(180deg,#f8f9f6 0%,#eef1ea 100%)!important;
}
.theme-pro-light .panel{
  background:#fbfcf8!important;
  border-color:rgba(40,50,36,.12)!important;
}
.theme-pro-light .left{
  padding:12px!important;
  box-shadow:12px 0 34px rgba(34,42,31,.055)!important;
}
.theme-pro-light .right{
  background:#f8f9f5!important;
  box-shadow:-12px 0 34px rgba(34,42,31,.055)!important;
}

/* En-têtes plus éditoriaux */
.theme-pro-light .intro-title{
  font-size:1.04rem!important;
  line-height:1.08!important;
  letter-spacing:-.018em!important;
  margin-bottom:8px!important;
}
.theme-pro-light .intro-text{
  font-size:.69rem!important;
  line-height:1.42!important;
}
.theme-pro-light .block h2,
.theme-pro-light .card h3,
.theme-pro-light .right-head h2{
  letter-spacing:.065em!important;
  font-weight:900!important;
}
.theme-pro-light .block h2{
  font-size:.58rem!important;
  color:#697160!important;
  margin-bottom:8px!important;
}
.theme-pro-light .right-head h2{
  font-size:.82rem!important;
}
.theme-pro-light .right-head p{
  max-width:29em;
}

/* Blocs : moins “cartes empilées”, plus panneaux éditoriaux */
.theme-pro-light .block,
.theme-pro-light .card,
.theme-pro-light .kpi,
.theme-pro-light .mini-stat,
.theme-pro-light .advanced-panel,
.theme-pro-light .info-panel{
  border:1px solid rgba(40,50,36,.105)!important;
  box-shadow:var(--shadow-soft)!important;
}
.theme-pro-light .block{
  border-radius:18px!important;
  padding:11px!important;
  background:rgba(255,255,255,.84)!important;
}
.theme-pro-light .card{
  border-radius:18px!important;
  padding:12px!important;
  background:rgba(255,255,255,.92)!important;
}
.theme-pro-light .card + .card{
  margin-top:9px!important;
}

/* Navigation gauche : sommaire analytique plus raffiné */
.theme-pro-light .mode-grid{
  gap:7px!important;
}
.theme-pro-light .mode-btn{
  border-radius:14px!important;
  padding:9px 10px!important;
  background:#ffffff!important;
  border-color:rgba(40,50,36,.105)!important;
  box-shadow:0 4px 14px rgba(34,42,31,.035)!important;
  transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease;
}
.theme-pro-light .mode-btn:hover{
  transform:translateY(-1px);
  border-color:rgba(111,135,23,.30)!important;
  box-shadow:0 9px 22px rgba(34,42,31,.07)!important;
}
.theme-pro-light .mode-btn.active{
  background:linear-gradient(180deg,#fbfdee 0%,#ffffff 100%)!important;
  border-color:rgba(111,135,23,.50)!important;
  box-shadow:0 0 0 3px rgba(151,175,30,.10),0 12px 26px rgba(34,42,31,.08)!important;
}
.theme-pro-light .analysis-path .mode-btn{
  grid-template-columns:26px minmax(0,1fr)!important;
}
.theme-pro-light .analysis-path .mode-btn::before{
  width:22px!important;
  height:22px!important;
  font-size:.58rem!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.7);
}
.theme-pro-light .analysis-path .mode-btn strong{
  font-size:.73rem!important;
  line-height:1.14!important;
}
.theme-pro-light .analysis-path .mode-btn > span:not(.mode-tag){
  font-size:.59rem!important;
  line-height:1.25!important;
}
.theme-pro-light .mode-tag{
  width:max-content;
  font-size:.49rem!important;
  letter-spacing:.075em!important;
  padding:2px 6px!important;
}

/* Options sous modes : bloc actif plus discret */
.theme-pro-light .mode-inline-options{
  border-radius:14px!important;
  background:#f7f8f4!important;
  border-color:rgba(40,50,36,.09)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
.theme-pro-light .inline-explain{
  font-size:.61rem!important;
  line-height:1.34!important;
}

/* KPI et colonne droite : fiche d’expertise */
.theme-pro-light .kpis{
  gap:7px!important;
}
.theme-pro-light .kpi{
  border-radius:15px!important;
  padding:9px 10px!important;
  background:linear-gradient(180deg,#ffffff,#f7f8f4)!important;
}
.theme-pro-light .kpi strong{
  font-size:1.02rem!important;
  letter-spacing:-.02em!important;
}
.theme-pro-light .kpi span{
  font-size:.55rem!important;
  letter-spacing:.06em!important;
  color:#687165!important;
}
.theme-pro-light .right-head{
  background:#ffffff!important;
  border-bottom:1px solid rgba(40,50,36,.10)!important;
}

/* Diagnostic premium */
.theme-pro-light .diagnostic-card{
  border-radius:20px!important;
  padding:13px!important;
  background:
    linear-gradient(180deg,rgba(0,183,255,.075),rgba(255,255,255,.95) 58%),
    #ffffff!important;
  box-shadow:0 14px 36px rgba(0,100,140,.08)!important;
}
.theme-pro-light .diagnostic-head{
  padding-bottom:8px;
  border-bottom:1px solid rgba(40,50,36,.10);
}
.theme-pro-light .diagnostic-head h3{
  font-size:.78rem!important;
  letter-spacing:.035em!important;
}
.theme-pro-light .diagnostic-summary{
  border-radius:15px!important;
  padding:10px 11px!important;
  font-size:.69rem!important;
  line-height:1.45!important;
  background:#edf9ff!important;
}
.theme-pro-light .diagnostic-triptych{
  gap:8px!important;
}
.theme-pro-light .diagnostic-triptych > div{
  border-radius:15px!important;
  padding:9px 10px!important;
  background:#f8f9f5!important;
}
.theme-pro-light .diagnostic-triptych h4{
  font-size:.57rem!important;
  letter-spacing:.075em!important;
  color:#65705f!important;
}
.theme-pro-light .diagnostic-list li{
  font-size:.61rem!important;
  line-height:1.34!important;
}
.theme-pro-light .diagnostic-focus{
  border-radius:14px!important;
  background:#f7f8f4!important;
}

/* Comparaison : table plus nette */
.theme-pro-light .compare-card{
  border-radius:19px!important;
}
.theme-pro-light .compare-summary div{
  border-radius:13px!important;
  grid-template-columns:112px minmax(0,1fr)!important;
  background:#f8f9f5!important;
}
.theme-pro-light .compare-table{
  border-spacing:0 5px!important;
}
.theme-pro-light .compare-table th{
  font-size:.50rem!important;
  color:#737b70!important;
}
.theme-pro-light .compare-table td{
  padding:7px!important;
  background:#f8f9f5!important;
}
.theme-pro-light .compare-table td:first-child{
  border-radius:11px 0 0 11px!important;
}
.theme-pro-light .compare-table td:last-child{
  border-radius:0 11px 11px 0!important;
}

/* Carte : éléments flottants plus légers et moins intrusifs */
.theme-pro-light .map-title,
.theme-pro-light .floating-legend,
.theme-pro-light .map-context{
  background:rgba(255,255,255,.88)!important;
  border-color:rgba(40,50,36,.13)!important;
  box-shadow:0 14px 34px rgba(34,42,31,.105)!important;
  backdrop-filter:blur(14px) saturate(1.06);
}
.theme-pro-light .map-title{
  border-radius:18px!important;
  padding:10px 12px!important;
}
.theme-pro-light .map-title strong{
  font-size:.78rem!important;
}
.theme-pro-light .map-title > span{
  font-size:.63rem!important;
  line-height:1.28!important;
}
.theme-pro-light .analysis-state{
  gap:4px!important;
  margin-top:6px!important;
}
.theme-pro-light .analysis-state span{
  font-size:.54rem!important;
  padding:3px 6px!important;
  background:#f5f7ef!important;
}
.theme-pro-light .analysis-state b{
  font-size:.47rem!important;
}

/* Légende : plus cartographique, moins “bloc de texte” */
.theme-pro-light .floating-legend{
  border-radius:18px!important;
  padding:11px 12px!important;
  max-width:320px!important;
}
.theme-pro-light .floating-legend strong{
  font-size:.70rem!important;
  letter-spacing:.045em!important;
}
.theme-pro-light .legend-subtitle{
  font-size:.60rem!important;
  margin-top:2px!important;
}
.theme-pro-light .legend-row,
.theme-pro-light .legend-class-row{
  gap:8px!important;
  margin:5px 0!important;
}
.theme-pro-light .legend-row i,
.theme-pro-light .legend-class-row i{
  width:14px!important;
  height:14px!important;
  border-radius:5px!important;
}
.theme-pro-light .legend-reading.compact,
.theme-pro-light .legend-reading{
  border-radius:14px!important;
  padding:8px 9px!important;
  background:#f8f9f5!important;
}
.theme-pro-light .legend-reading.compact b,
.theme-pro-light .legend-reading b{
  font-size:.55rem!important;
  letter-spacing:.075em!important;
}
.theme-pro-light .legend-reading.compact p,
.theme-pro-light .legend-reading p{
  font-size:.60rem!important;
  line-height:1.34!important;
}
.theme-pro-light .disc-panel{
  border-radius:14px!important;
  background:#f8f9f5!important;
}
.theme-pro-light .disc-note,
.theme-pro-light .disc-hover-label{
  font-size:.55rem!important;
}

/* Contexte cartographique */
.theme-pro-light .map-context{
  border-radius:18px!important;
  padding:11px 12px!important;
}
.theme-pro-light .map-context strong{
  font-size:.66rem!important;
  letter-spacing:.055em!important;
}
.theme-pro-light .checkrow{
  gap:7px!important;
}
.theme-pro-light .checkrow span,
.theme-pro-light .map-context label{
  font-size:.59rem!important;
}

/* Boutons de zoom plus polis */
.leaflet-top.leaflet-right .leaflet-control-zoom{
  border-radius:14px!important;
  box-shadow:0 12px 28px rgba(34,42,31,.13)!important;
}
.leaflet-top.leaflet-right .leaflet-control-zoom a{
  width:32px!important;
  height:32px!important;
  line-height:32px!important;
}

/* Export plus propre */
.export-stamp,
.export-legend{
  border-radius:18px!important;
  box-shadow:0 14px 36px rgba(34,42,31,.18)!important;
}
.export-legend{
  max-width:310px!important;
}
.export-stamp{
  padding:11px 13px!important;
}

/* Micro responsive */
@media(max-width:1180px){
  .theme-pro-light .app{
    grid-template-columns:310px minmax(0,1fr) 330px!important;
  }
  .theme-pro-light .floating-legend{
    max-width:300px!important;
  }
}

/* V2.8.1 · correction contraste colonne droite */
.theme-pro-light .right,
.theme-pro-light .right .card,
.theme-pro-light .right .card *:not(.chip):not(.badge):not(.mode-tag):not(i):not(svg):not(path),
.theme-pro-light .right-head,
.theme-pro-light .right-head *:not(i):not(svg):not(path){
  color:#20231f;
}
.theme-pro-light .right-head p,
.theme-pro-light .right .card p,
.theme-pro-light .right .note,
.theme-pro-light .right .helper,
.theme-pro-light .right .diagnostic-reading,
.theme-pro-light .right .diagnostic-list li,
.theme-pro-light .right .robust-list li,
.theme-pro-light .right .expert-row span,
.theme-pro-light .right .compare-summary span,
.theme-pro-light .right .compare-summary b,
.theme-pro-light .right .compare-table th,
.theme-pro-light .right .compare-table td,
.theme-pro-light .right .mini-stat span,
.theme-pro-light .right .mini-stat p,
.theme-pro-light .right .rank-grid span,
.theme-pro-light .right .sources,
.theme-pro-light .right .sources p,
.theme-pro-light .right .sources li,
.theme-pro-light .right .sources-left p{
  color:#4f574d!important;
}
.theme-pro-light .right .card h3,
.theme-pro-light .right .diagnostic-head h3,
.theme-pro-light .right .diagnostic-focus b,
.theme-pro-light .right .diagnostic-triptych h4,
.theme-pro-light .right .kpi strong,
.theme-pro-light .right .mini-stat b,
.theme-pro-light .right .expert-row b,
.theme-pro-light .right .compare-summary b,
.theme-pro-light .right .compare-table td strong,
.theme-pro-light .right .rank-grid b,
.theme-pro-light .right .sources strong{
  color:#20231f!important;
}
.theme-pro-light .right .compare-table th{
  color:#70786d!important;
}
.theme-pro-light .right .compare-table td{
  background:#f8f9f5!important;
}
.theme-pro-light .right .chip.lowc{background:rgba(240,214,86,.20)!important;color:#7a6300!important;}
.theme-pro-light .right .chip.midc{background:rgba(233,145,41,.18)!important;color:#8a4c00!important;}
.theme-pro-light .right .chip.highc{background:rgba(213,74,61,.16)!important;color:#992d23!important;}
.theme-pro-light .right .chip.blue{background:rgba(0,183,255,.14)!important;color:#005e84!important;}
.theme-pro-light .right .chip.violet{background:rgba(156,110,214,.14)!important;color:#5c3a83!important;}
.theme-pro-light .right .chip.robust-high{background:rgba(111,135,23,.14)!important;color:#52660f!important;}
.theme-pro-light .right .chip.robust-mid{background:rgba(202,145,0,.14)!important;color:#855d00!important;}
.theme-pro-light .right .chip.robust-low{background:rgba(190,50,40,.14)!important;color:#9b2e25!important;}

/* V2.8.2 · correction contraste légendes et textes des blocs de question */
.theme-pro-light .mode-inline-options,
.theme-pro-light .mode-inline-options *:not(i):not(svg):not(path):not(.gear-btn):not(.info-btn){
  color:#20231f;
}
.theme-pro-light .mode-inline-options label,
.theme-pro-light .mode-inline-options .inline-explain,
.theme-pro-light .mode-inline-options .legend-subtitle,
.theme-pro-light .mode-inline-options .legend-row,
.theme-pro-light .mode-inline-options .legend-class-row,
.theme-pro-light .mode-inline-options .legend-reading p,
.theme-pro-light .mode-inline-options .disc-note,
.theme-pro-light .mode-inline-options .disc-hover-label{
  color:#4f574d!important;
}
.theme-pro-light .mode-inline-options .inline-legend strong,
.theme-pro-light .mode-inline-options .legend-reading b,
.theme-pro-light .mode-inline-options .legend-reading strong,
.theme-pro-light .mode-inline-options .disc-panel label,
.theme-pro-light .mode-inline-options .disc-panel select,
.theme-pro-light .mode-inline-options .disc-panel b{
  color:#20231f!important;
}
.theme-pro-light .mode-inline-options .inline-legend{
  border-top:1px solid rgba(40,50,36,.10)!important;
}
.theme-pro-light .mode-inline-options .legend-reading,
.theme-pro-light .mode-inline-options .disc-panel{
  background:#f5f7f2!important;
  border-color:rgba(40,50,36,.10)!important;
}
.theme-pro-light .mode-inline-options .legend-class-row i,
.theme-pro-light .mode-inline-options .legend-row i{
  box-shadow:0 0 0 1px rgba(35,43,32,.10),0 4px 10px rgba(35,43,32,.10)!important;
}


/* V2.8.3 · textes concis experts */
.theme-pro-light .legend-reading.compact{
  padding:7px 9px!important;
}
.theme-pro-light .legend-reading.compact p{
  font-size:.58rem!important;
  line-height:1.30!important;
}
.theme-pro-light .diagnostic-summary{
  font-size:.66rem!important;
  line-height:1.36!important;
}
.theme-pro-light .diagnostic-triptych p,
.theme-pro-light .diagnostic-list li,
.theme-pro-light .robust-list li{
  font-size:.59rem!important;
  line-height:1.28!important;
}
.theme-pro-light .inline-explain{
  font-size:.59rem!important;
}
.theme-pro-light .note{
  font-size:.58rem!important;
}


/* V2.8.4 · panneau carte contextualisé et contrôles à droite */
.map-title{
  left:auto!important;
  right:18px!important;
  top:18px!important;
  width:360px!important;
  max-width:min(360px,calc(100% - 112px))!important;
}
.map-title strong{
  text-transform:uppercase;
  letter-spacing:.055em;
}
.theme-pro-light .map-title{
  right:18px!important;
  top:18px!important;
  width:360px!important;
  max-width:min(360px,calc(100% - 112px))!important;
}
.map-toolbar{
  position:absolute;
  top:18px;
  right:396px;
  z-index:945;
  display:flex;
  gap:7px;
  align-items:center;
}
.map-toolbar button{
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid rgba(35,43,32,.16);
  background:rgba(255,255,255,.94);
  color:#20231f;
  font-size:18px;
  font-weight:900;
  line-height:1;
  display:grid;
  place-items:center;
  box-shadow:0 12px 28px rgba(34,42,31,.13);
  cursor:pointer;
}
.map-toolbar button:hover{
  background:#f3f7e4;
  border-color:rgba(111,135,23,.38);
}
.map-toolbar #mapHomeBtn{
  font-size:16px;
  padding-bottom:2px;
}
.theme-pro-light .map-toolbar button{
  background:rgba(255,255,255,.95)!important;
  color:#20231f!important;
}
.leaflet-top.leaflet-right .leaflet-control-zoom{
  display:none!important;
}
.map-context .checkrow[hidden]{
  display:none!important;
}
@media(max-width:1180px){
  .map-toolbar{display:none!important}
  .map-title{display:none!important}
}


/* V2.8.5 · histogramme contenu et discrétisation adaptative */
.disc-hist{
  overflow:hidden!important;
  padding:4px 7px 9px!important;
  box-sizing:border-box!important;
}
.disc-bar{
  min-width:0!important;
  max-width:100%!important;
}
.disc-bar:first-child{
  border-top-left-radius:6px!important;
}
.disc-bar:last-child{
  border-top-right-radius:6px!important;
}
.disc-handle{
  top:1px!important;
  bottom:1px!important;
}
.disc-handle:first-of-type,
.disc-handle:last-of-type{
  margin-left:-7px!important;
}
.adaptive-hist{
  height:52px!important;
  background:linear-gradient(180deg,#f6f7f2,#e9ece4)!important;
}
.adaptive-hist .disc-bar{
  opacity:.95;
}
.adaptive-panel .disc-note{
  font-weight:800;
}
.theme-pro-light .adaptive-panel{
  border-color:rgba(111,135,23,.16)!important;
  background:#f7f9f1!important;
}
.theme-pro-light select:disabled{
  color:#6b7168!important;
  background:#eef1ea!important;
  opacity:1!important;
  cursor:not-allowed!important;
}


/* V2.9.0 · stabilisation avant publication */
.theme-pro-light .analysis-state span{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}
.legend-reading.compact p,
.theme-pro-light .legend-reading.compact p{
  max-width:100%;
}
.theme-pro-light .button-grid button:focus-visible,
.theme-pro-light .mode-btn:focus-visible,
.theme-pro-light .card-action:focus-visible,
.theme-pro-light .map-toolbar button:focus-visible{
  outline:3px solid rgba(0,183,255,.55)!important;
  outline-offset:2px!important;
}
@media(max-width:1180px){
  .theme-pro-light .app{
    grid-template-columns:300px minmax(0,1fr) 315px!important;
  }
  .theme-pro-light .left{
    padding:10px!important;
  }
  .theme-pro-light .right-head,
  .theme-pro-light .right-filters{
    padding-left:10px!important;
    padding-right:10px!important;
  }
}
@media(max-width:980px){
  .theme-pro-light .app{
    grid-template-columns:1fr!important;
  }
  .theme-pro-light .left{
    width:310px!important;
    max-width:calc(100vw - 20px)!important;
  }
  .theme-pro-light .floating-legend,
  .theme-pro-light .map-context,
  .theme-pro-light .map-title,
  .theme-pro-light .map-toolbar{
    display:none!important;
  }
}


/* V2.9.1 · toolbar carte verticale et fond synchronisé */
.map-toolbar{
  right:386px!important;
  top:18px!important;
  flex-direction:column!important;
  gap:6px!important;
  align-items:center!important;
}
.map-toolbar button{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1!important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
.map-toolbar #mapZoomIn,
.map-toolbar #mapZoomOut{
  font-size:20px!important;
  font-weight:850!important;
  transform:none!important;
}
.map-toolbar #mapHomeBtn{
  font-size:17px!important;
  font-weight:850!important;
  padding:0!important;
  transform:translateY(.5px)!important;
}
.theme-pro-light .map-toolbar{
  right:386px!important;
}
@media(max-width:1180px){
  .map-toolbar{display:none!important}
}


/* V2.9.2 · audit cas limites : durcissement UI léger */
.theme-pro-light .analysis-state span{
  min-width:0;
}
.theme-pro-light .map-toolbar button{
  -webkit-tap-highlight-color:transparent;
}
@media(max-width:1260px){
  .theme-pro-light .map-title{
    width:320px!important;
    max-width:min(320px,calc(100% - 98px))!important;
  }
  .theme-pro-light .map-toolbar{
    right:346px!important;
  }
}
@media(max-width:1120px){
  .theme-pro-light .map-title,
  .theme-pro-light .map-toolbar{
    display:none!important;
  }
}


/* V3.0-rc1 · candidate de publication : finitions éditoriales */
.theme-pro-light .intro-title{
  letter-spacing:-.025em!important;
}
.theme-pro-light .badges{
  flex-wrap:wrap;
}
.theme-pro-light .badge{
  white-space:nowrap;
}
.theme-pro-light .right-head p{
  color:#4f574d!important;
}
.theme-pro-light .methodo-head span{
  color:#5f665c!important;
}


/* V3.0-rc2 · densification experte */
.theme-pro-light .app{
  grid-template-columns:315px minmax(0,1fr) 345px!important;
}
.theme-pro-light .left{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto auto!important;
  gap:7px!important;
  overflow:hidden!important;
  padding:8px!important;
}
.theme-pro-light .left > .block{
  margin-bottom:0!important;
}
.theme-pro-light .left > .block:nth-of-type(2){
  min-height:0!important;
  overflow:auto!important;
  padding-right:8px!important;
}
.theme-pro-light .block{
  padding:8px!important;
  border-radius:15px!important;
}
.theme-pro-light .block h2{
  margin-bottom:6px!important;
}
.theme-pro-light .intro-title{
  font-size:.95rem!important;
  margin-bottom:5px!important;
}
.theme-pro-light .intro-text{
  font-size:.62rem!important;
  line-height:1.28!important;
}
.theme-pro-light .badges{
  gap:4px!important;
  margin-top:7px!important;
}
.theme-pro-light .badge{
  font-size:.48rem!important;
  padding:2px 5px!important;
}
.theme-pro-light .mode-grid{
  gap:5px!important;
}
.theme-pro-light .mode-btn{
  padding:7px 8px!important;
  border-radius:12px!important;
}
.theme-pro-light .mode-btn strong{
  font-size:.68rem!important;
}
.theme-pro-light .mode-btn > span:not(.mode-tag){
  font-size:.56rem!important;
  line-height:1.20!important;
}
.theme-pro-light .mode-tag{
  font-size:.45rem!important;
  padding:1px 5px!important;
  margin-bottom:3px!important;
}
.theme-pro-light .mode-inline-options{
  margin:0 0 5px 8px!important;
  padding:7px 8px!important;
}
.theme-pro-light .inline-explain{
  font-size:.55rem!important;
  line-height:1.24!important;
}
.export-block{
  padding:0!important;
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
}
.export-details{
  border:1px solid rgba(40,50,36,.12);
  background:#ffffff;
  border-radius:14px;
  padding:0;
  overflow:hidden;
}
.export-details summary{
  list-style:none;
  cursor:pointer;
  padding:8px 10px;
  font-size:.66rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.075em;
  color:#20231f;
}
.export-details summary::-webkit-details-marker{display:none}
.export-details summary::after{
  content:"▾";
  float:right;
  color:#65705f;
}
.export-details[open] summary::after{content:"▴"}
.export-menu{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:5px;
  padding:0 8px 8px;
}
.export-menu button{
  padding:6px 5px!important;
  font-size:.62rem!important;
  border-radius:9px!important;
}
.sources-left{
  position:relative!important;
  margin-top:0!important;
  border-radius:14px!important;
  padding:8px!important;
}
.theme-pro-light .sources-left p{
  font-size:.56rem!important;
  line-height:1.20!important;
}

/* Colonne droite : données d'abord, interprétation ensuite */
.theme-pro-light .right{
  grid-template-rows:auto auto auto minmax(0,1fr) auto!important;
}
.theme-pro-light .right-filters{
  padding:8px 10px!important;
}
.theme-pro-light .right-head{
  padding:7px 10px!important;
}
.theme-pro-light .right-head h2{
  font-size:.74rem!important;
}
.theme-pro-light .right-head p{
  margin-top:3px!important;
  font-size:.58rem!important;
  line-height:1.22!important;
}
.theme-pro-light .kpis{
  gap:5px!important;
  padding:7px 10px!important;
}
.theme-pro-light .kpi{
  padding:6px 7px!important;
  border-radius:12px!important;
}
.theme-pro-light .kpi strong{
  font-size:.86rem!important;
}
.theme-pro-light .kpi span{
  font-size:.50rem!important;
}
.theme-pro-light .scroll{
  padding:8px 10px!important;
}
.theme-pro-light .card{
  padding:9px!important;
  margin-bottom:7px!important;
  border-radius:15px!important;
}
.theme-pro-light .card h3{
  font-size:.72rem!important;
  margin-bottom:4px!important;
}
.theme-pro-light .card p{
  font-size:.61rem!important;
  line-height:1.28!important;
}
.compact-head{
  gap:7px!important;
  align-items:center!important;
}
.compact-head h3{
  margin-bottom:1px!important;
}
.compact-head p{
  font-size:.58rem!important;
}
.compact-profile{
  grid-template-columns:1fr 1fr!important;
  gap:5px!important;
  margin:7px 0!important;
}
.compact-profile .mini-stat,
.theme-pro-light .mini-stat{
  padding:6px 7px!important;
  border-radius:11px!important;
}
.theme-pro-light .mini-stat b{
  font-size:.76rem!important;
}
.theme-pro-light .mini-stat span{
  font-size:.50rem!important;
  line-height:1.12!important;
}
.compact-export{
  margin-top:5px!important;
  padding:6px 7px!important;
  font-size:.58rem!important;
}
.compact-ranks{
  grid-template-columns:1fr 1fr 1fr!important;
  gap:5px!important;
}
.compact-ranks div,
.theme-pro-light .rank-grid div{
  padding:6px 7px!important;
  border-radius:11px!important;
}
.theme-pro-light .rank-grid span{
  font-size:.50rem!important;
}
.theme-pro-light .rank-grid b{
  font-size:.70rem!important;
}
.compact-diagnostic .diagnostic-summary{
  margin-top:6px!important;
  padding:8px 9px!important;
  font-size:.62rem!important;
  line-height:1.32!important;
}
.compact-diagnostic .diagnostic-focus{
  display:none!important;
}
.expert-details,
.expert-details-card{
  margin-top:7px;
}
.expert-details summary,
.expert-details-card summary{
  cursor:pointer;
  font-size:.58rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
  color:#20231f;
  padding:6px 0;
  list-style:none;
}
.expert-details summary::-webkit-details-marker,
.expert-details-card summary::-webkit-details-marker{display:none}
.expert-details summary::after,
.expert-details-card summary::after{
  content:"▾";
  float:right;
  color:#65705f;
}
.expert-details[open] summary::after,
.expert-details-card[open] summary::after{content:"▴"}
.compact-triptych{
  grid-template-columns:1fr!important;
  gap:6px!important;
}
.compact-triptych > div{
  padding:7px!important;
}
.details-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin-top:7px;
}
.details-grid h3{
  margin-top:0!important;
}
.theme-pro-light .compare-card{
  padding:8px!important;
}
.theme-pro-light .compare-head h3{
  font-size:.68rem!important;
}
.theme-pro-light .compare-head p,
.theme-pro-light .compare-summary span,
.theme-pro-light .compare-table th,
.theme-pro-light .compare-table td{
  font-size:.52rem!important;
}
.theme-pro-light .compare-summary{
  gap:5px!important;
}
.theme-pro-light .compare-summary div{
  padding:5px 6px!important;
}
.theme-pro-light .compare-table td{
  padding:5px!important;
}
.theme-pro-light .bar-row{
  font-size:.56rem!important;
}
.theme-pro-light .right-credit{
  padding:6px 10px!important;
}
@media(max-width:1180px){
  .theme-pro-light .app{
    grid-template-columns:300px minmax(0,1fr) 330px!important;
  }
}


/* V3.0-rc3 · clarification données générales / fiche sélectionnée */
.theme-pro-light .right-head h2{
  letter-spacing:.07em!important;
}
.theme-pro-light .right-head p{
  color:#4f574d!important;
}
.theme-pro-light .compact-empty{
  opacity:.92;
}


/* V3.0-rc4 · architecture analytique chercheurs */
.theme-pro-light .left{grid-template-rows:auto minmax(0,1fr) auto auto!important}
.analysis-workbench{min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
.analysis-workbench-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:7px;flex:0 0 auto}
.analysis-workbench-head h2{margin:0!important}.analysis-workbench-head p{margin:2px 0 0;font-size:.54rem;color:#65705f}
.research-badge{flex:0 0 auto;font-size:.46rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:#56621d;background:#f1f5df;border:1px solid #d9e3af;border-radius:999px;padding:3px 6px}
.spatial-control{flex:0 0 auto;padding-bottom:7px;margin-bottom:7px;border-bottom:1px solid rgba(35,43,32,.10)}
.theme-pro-light .spatial-mode{padding:6px 8px!important;background:#f7f8f4!important;border-color:rgba(35,43,32,.12)!important}
.theme-pro-light .spatial-mode strong{font-size:.64rem!important}.theme-pro-light .spatial-mode>span:not(.mode-tag){font-size:.52rem!important}
.analysis-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:3px;margin-bottom:7px;background:#edf0e9;border:1px solid rgba(35,43,32,.10);border-radius:12px;flex:0 0 auto}
.analysis-tab{border:0!important;border-radius:9px!important;background:transparent!important;color:#5a6256!important;padding:7px 6px!important;font-size:.58rem!important;font-weight:850!important;box-shadow:none!important;transform:none!important}
.analysis-tab:hover{background:rgba(255,255,255,.55)!important;transform:none!important}.analysis-tab.active{background:#fff!important;color:#20231f!important;box-shadow:0 2px 8px rgba(30,40,28,.08)!important}
.analysis-tab-panel{display:none;min-height:0;overflow:auto;padding-right:3px}.analysis-tab-panel.active{display:block}.research-modes{padding-bottom:3px}
.theme-pro-light .research-modes .mode-btn{min-height:42px}.theme-pro-light .research-modes .mode-btn strong{font-size:.68rem!important}.theme-pro-light .research-modes .mode-inline-options{margin-left:6px!important}
.entity-context{margin:0 0 7px;padding:7px 9px;border-left:3px solid #97af1e;background:#f4f6ed;border-radius:0 11px 11px 0}
.entity-context span{display:block;font-size:.48rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#68705f}.entity-context strong{display:block;margin-top:2px;font-size:.78rem;color:#20231f}
.entity-context.neutral{border-left-color:#b9beb4;background:#f5f6f3}.theme-pro-light .robust-mini.robust-high{display:none!important}
@media(min-width:981px){.analysis-workbench{height:100%}.analysis-tab-panel.active{flex:1 1 auto}}


/* V3.0-rc5 · filtre fédération et cohérence analytique */
.federation-filter{
  margin:7px 0 8px;
  padding:7px;
  border:1px solid rgba(35,43,32,.10);
  border-radius:11px;
  background:#f7f8f4;
}
.federation-filter label{
  margin-top:0!important;
  font-weight:850;
}
.federation-filter select{
  margin-top:4px;
}
.federation-meta{
  margin:4px 1px 0!important;
  color:#626b5e!important;
  font-size:.52rem!important;
  line-height:1.2!important;
}
.theme-pro-light select:disabled{
  opacity:.58;
  cursor:not-allowed;
}
.entity-context + .commune-identity-card{
  margin-top:0!important;
}

.diagnostic-context-note{
  margin:6px 0!important;
  padding:6px 7px;
  border-left:2px solid #97af1e;
  background:#f5f7ed;
  color:#5b6357!important;
  font-size:.54rem!important;
  line-height:1.25!important;
}


/* V3.0-rc6 · légende des cercles à échelle surfacique absolue */
.circle-size-legend{margin-top:9px;padding-top:8px;border-top:1px solid rgba(35,43,32,.10)}
.circle-size-legend>strong{font-size:.56rem;text-transform:uppercase;letter-spacing:.07em;color:#4f574d}
.circle-size-row{display:flex;align-items:flex-end;justify-content:space-between;gap:5px;min-height:52px;margin-top:5px}
.circle-size-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px;min-width:0}
.circle-size-symbol{display:block;border:1.2px solid #333;border-radius:50%;background:rgba(51,51,51,.16);box-sizing:border-box;flex:0 0 auto}
.circle-size-item b{font-size:.52rem;color:#333;font-variant-numeric:tabular-nums}
.circle-size-legend p{margin:5px 0 0!important;font-size:.51rem!important;line-height:1.22!important;color:#62695e!important}


/* V3.0-rc7 · symboles proportionnels scientifiques et lecture Fédération */
.theme-pro-light .map-context .checkrow.is-context-disabled{
  opacity:.62;
}
.theme-pro-light .map-context .checkrow.is-context-disabled input{
  cursor:not-allowed;
}
.circle-size-row{
  justify-content:center!important;
  gap:10px!important;
  min-height:92px!important;
  overflow:visible!important;
}
.circle-size-item{
  flex:0 0 auto!important;
  min-width:24px!important;
}
.circle-size-symbol{
  box-sizing:border-box!important;
}

/* V3.0-rc8 · portée explicite du filtre Fédération */
.theme-pro-light .scope-notice{margin:0 0 8px;padding:8px 9px;border:1px solid #d9dfc5;border-left:3px solid #97af1e;border-radius:9px;background:#f7f9f0;color:#4b5346;line-height:1.35}
.theme-pro-light .scope-notice strong{display:block;margin-bottom:2px;font-size:.54rem;letter-spacing:.03em;text-transform:uppercase;color:#56621d}
.theme-pro-light .scope-notice span{display:block;font-size:.55rem}


/* V3.0-rc9 · infobulles communales structurées */
.theme-pro-light .equip-tooltip{
  white-space:normal!important;
  width:auto!important;
  min-width:220px;
  max-width:300px!important;
  padding:0!important;
  overflow:hidden;
}
.theme-pro-light .commune-tip{
  padding:9px 10px 8px;
}
.theme-pro-light .commune-tip-title{
  margin:0 0 4px;
  color:#20231f;
  font-size:.78rem;
  font-weight:850;
  line-height:1.18;
}
.theme-pro-light .commune-tip-context{
  margin:0 0 7px;
  color:#647120;
  font-size:.58rem;
  font-weight:800;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.theme-pro-light .commune-tip-primary{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin:0 -10px 7px;
  padding:6px 10px;
  background:#f2f5e8;
  border-top:1px solid #e1e6d2;
  border-bottom:1px solid #e1e6d2;
}
.theme-pro-light .commune-tip-primary span{
  display:block!important;
  margin:0!important;
  color:#50594a!important;
  font-size:.58rem!important;
  line-height:1.2!important;
}
.theme-pro-light .commune-tip-primary strong{
  flex:0 0 auto;
  color:#20231f;
  font-size:.76rem;
  font-weight:900;
}
.theme-pro-light .commune-tip-refs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px 10px;
}
.theme-pro-light .commune-tip-ref{
  min-width:0;
  padding:3px 0;
}
.theme-pro-light .commune-tip-ref span{
  display:block!important;
  margin:0!important;
  color:#70776d!important;
  font-size:.50rem!important;
  line-height:1.15!important;
  overflow-wrap:anywhere;
}
.theme-pro-light .commune-tip-ref b{
  display:block;
  margin-top:1px;
  color:#252925!important;
  font-size:.66rem!important;
  line-height:1.15;
}
.theme-pro-light .commune-tip-footer{
  margin-top:6px;
  padding-top:5px;
  border-top:1px solid rgba(35,43,32,.10);
  color:#626a60;
  font-size:.54rem;
  line-height:1.2;
}
.theme-pro-light .commune-tip-caution{
  margin-top:4px;
  color:#9a5d00;
  font-size:.53rem;
  font-weight:750;
}


/* V3.0-rc10 · étiquettes cartographiques standardisées */
.theme-pro-light .equip-tooltip{
  white-space:normal!important;
  min-width:220px;
  max-width:310px!important;
  padding:0!important;
  overflow:hidden;
}
.theme-pro-light .map-tip{padding:9px 10px 8px}
.theme-pro-light .map-tip-title{margin:0 0 3px;color:#20231f;font-size:.78rem;font-weight:850;line-height:1.18}
.theme-pro-light .map-tip-context{margin:0 0 7px;color:#647120;font-size:.56rem;font-weight:800;line-height:1.25;overflow-wrap:anywhere}
.theme-pro-light .map-tip-primary{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 -10px 7px;padding:6px 10px;background:#f2f5e8;border-top:1px solid #e1e6d2;border-bottom:1px solid #e1e6d2}
.theme-pro-light .map-tip-primary span{display:block!important;margin:0!important;color:#50594a!important;font-size:.56rem!important;line-height:1.18!important;overflow-wrap:anywhere}
.theme-pro-light .map-tip-primary strong{flex:0 0 auto;color:#20231f;font-size:.76rem;font-weight:900}
.theme-pro-light .map-tip-refs{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px}
.theme-pro-light .map-tip-ref{min-width:0;padding:3px 0}
.theme-pro-light .map-tip-ref span{display:block!important;margin:0!important;color:#70776d!important;font-size:.49rem!important;line-height:1.14!important;overflow-wrap:anywhere}
.theme-pro-light .map-tip-ref b{display:block;margin-top:1px;color:#252925!important;font-size:.65rem!important;line-height:1.15}
.theme-pro-light .map-tip-footer{margin-top:6px;padding-top:5px;border-top:1px solid rgba(35,43,32,.10);color:#626a60;font-size:.53rem;line-height:1.2}
.theme-pro-light .map-tip-caution{margin-top:4px;color:#9a5d00;font-size:.52rem;font-weight:750}
.theme-pro-light .author-credit span{line-height:1.3}
.theme-pro-light .author-credit strong{font-size:.52rem;text-transform:uppercase;letter-spacing:.035em}
.theme-pro-light .author-credit small{display:block;margin-top:2px;color:#777f74;font-size:.48rem;line-height:1.25}


/* ==========================================================================
   V3.1 · refonte visuelle experte — option B
   Couche purement UI : aucune donnée, formule, pondération ou logique métier
   n'est modifiée. Les IDs et hooks JS de la V3.0 sont conservés.
   ========================================================================== */
.theme-pro-light{
  --ui-ink:#20261f;
  --ui-muted:#667064;
  --ui-line:rgba(52,63,45,.12);
  --ui-green:#6f8717;
  --ui-green-2:#97af1e;
  --ui-green-soft:#f2f6e7;
  --ui-blue:#47779c;
  --ui-violet:#7560a8;
  --ui-orange:#c46f2b;
  --ui-shadow:0 12px 32px rgba(43,52,38,.075);
  --ui-shadow-sm:0 5px 16px rgba(43,52,38,.055);
}
.theme-pro-light .app{
  grid-template-columns:326px minmax(0,1fr) 344px!important;
  background:#eef1eb!important;
}
.theme-pro-light .left{padding:10px!important;background:#fbfcf9!important;}
.theme-pro-light .right{background:#f7f9f4!important;}

/* Signature éditoriale */
.theme-pro-light .intro-block{
  padding:12px 12px 11px!important;
  background:linear-gradient(155deg,#fff 0%,#f7f9f1 100%)!important;
  border-color:rgba(111,135,23,.16)!important;
  box-shadow:0 10px 28px rgba(43,52,38,.07)!important;
}
.brand-lockup{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:start;}
.brand-mark{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,#728b18,#9bb523);color:white;box-shadow:0 7px 18px rgba(111,135,23,.22);}
.brand-mark svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.theme-pro-light .intro-title{font-size:.96rem!important;line-height:1.08!important;margin:1px 0 2px!important;letter-spacing:-.017em!important;}
.brand-kicker{margin:0;color:#78816f;font-size:.59rem;font-style:italic;letter-spacing:.015em;}
.theme-pro-light .intro-text{margin-top:9px!important;font-size:.65rem!important;line-height:1.36!important;color:#5c655a!important;}
.theme-pro-light .badges{gap:4px!important;margin-top:8px!important;}
.theme-pro-light .badge{background:#f0f4e7!important;border-color:rgba(111,135,23,.15)!important;color:#5f7216!important;font-size:.49rem!important;padding:3px 6px!important;}

/* Poste de travail analytique */
.theme-pro-light .analysis-workbench{padding:10px!important;box-shadow:none!important;background:transparent!important;border:0!important;}
.analysis-workbench-head{margin:0 1px 8px;}
.theme-pro-light .analysis-workbench-head h2{font-size:.61rem!important;letter-spacing:.09em!important;}
.theme-pro-light .analysis-workbench-head p{font-size:.56rem!important;color:#747d70!important;}
.theme-pro-light .research-badge{font-size:.46rem!important;background:#edf2df!important;color:#637916!important;border-color:rgba(111,135,23,.18)!important;}
.theme-pro-light .analysis-tabs{padding:3px!important;border-radius:13px!important;background:#eef1e9!important;border:1px solid rgba(52,63,45,.08)!important;box-shadow:inset 0 1px 2px rgba(43,52,38,.04);}
.theme-pro-light .analysis-tab{min-height:29px;border-radius:10px!important;font-size:.58rem!important;font-weight:800!important;color:#687064!important;}
.theme-pro-light .analysis-tab.active{background:white!important;color:#526614!important;box-shadow:0 3px 10px rgba(43,52,38,.08)!important;}

/* Cartes de questions avec pictogrammes */
.theme-pro-light .analysis-path .mode-btn,
.theme-pro-light .spatial-mode{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) 14px!important;
  grid-template-rows:auto auto auto!important;
  gap:0 8px!important;
  min-height:61px;
  align-items:center!important;
  padding:8px 9px!important;
  border-radius:15px!important;
  border:1px solid rgba(52,63,45,.11)!important;
  background:#fff!important;
  box-shadow:var(--ui-shadow-sm)!important;
  position:relative;
}
.theme-pro-light .analysis-path .mode-btn::before,
.theme-pro-light .spatial-mode::before{display:none!important;}
.theme-pro-light .mode-btn::after{content:"›";grid-column:3;grid-row:1 / span 3;align-self:center;color:#a0a79c;font-size:1rem;font-weight:700;line-height:1;}
.theme-pro-light .mode-btn.active::after{color:#6f8717;}
.theme-pro-light .mode-icon{
  grid-column:1!important;grid-row:1 / span 3!important;
  width:32px;height:32px;border-radius:10px;
  display:grid!important;place-items:center;
  margin:0!important;
  color:#6c7d22!important;
  background:#f1f4e9;
  border:1px solid rgba(111,135,23,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}
.theme-pro-light .mode-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.theme-pro-light .mode-btn[data-mode="maillage"] .mode-icon{color:#47779c!important;background:#eef5fa; border-color:rgba(71,119,156,.13);}
.theme-pro-light .mode-btn[data-mode="licences"] .mode-icon{color:#7560a8!important;background:#f3f0f8;border-color:rgba(117,96,168,.13);}
.theme-pro-light .mode-btn[data-mode="clubs"] .mode-icon{color:#647c19!important;background:#f2f5e8;}
.theme-pro-light .mode-btn[data-mode="tensions"] .mode-icon{color:#b0622b!important;background:#fbf1e9;border-color:rgba(176,98,43,.14);}
.theme-pro-light .mode-btn[data-mode="synthese"] .mode-icon{color:#566d7d!important;background:#edf2f5;border-color:rgba(86,109,125,.14);}
.theme-pro-light .analysis-path .mode-btn .mode-tag,
.theme-pro-light .analysis-path .mode-btn strong,
.theme-pro-light .analysis-path .mode-btn > span:not(.mode-tag):not(.mode-icon),
.theme-pro-light .spatial-mode .mode-tag,
.theme-pro-light .spatial-mode strong,
.theme-pro-light .spatial-mode > span:not(.mode-tag):not(.mode-icon){grid-column:2!important;}
.theme-pro-light .mode-btn .mode-tag{grid-row:1;align-self:end;margin:0 0 2px!important;padding:1px 5px!important;font-size:.44rem!important;letter-spacing:.08em!important;font-weight:900!important;}
.theme-pro-light .mode-btn strong{grid-row:2;font-size:.70rem!important;line-height:1.12!important;align-self:start;}
.theme-pro-light .mode-btn > span:not(.mode-tag):not(.mode-icon){grid-row:3;font-size:.55rem!important;line-height:1.22!important;color:#70786d!important;margin-top:2px!important;}
.theme-pro-light .mode-btn.active{background:linear-gradient(145deg,#fbfdee 0%,#fff 72%)!important;border-color:rgba(111,135,23,.45)!important;box-shadow:0 0 0 2px rgba(151,175,30,.08),0 10px 24px rgba(43,52,38,.08)!important;}
.theme-pro-light .mode-btn.active .mode-icon{background:linear-gradient(145deg,#79931a,#9db726);color:white!important;border-color:transparent;box-shadow:0 6px 14px rgba(111,135,23,.23);}
.theme-pro-light .mode-tag{background:#edf2df!important;color:#637916!important;}
.theme-pro-light .mode-btn[data-mode="maillage"] .mode-tag{background:#e8f0f7!important;color:#416e91!important;}
.theme-pro-light .mode-btn[data-mode="licences"] .mode-tag{background:#eeeaf6!important;color:#6b5799!important;}
.theme-pro-light .mode-btn[data-mode="tensions"] .mode-tag{background:#f8e9de!important;color:#a75c28!important;}
.theme-pro-light .mode-btn[data-mode="synthese"] .mode-tag{background:#e8eef1!important;color:#516875!important;}

/* Paramètres : panneau unique sous la question active */
.theme-pro-light .mode-inline-options{margin:-1px 4px 8px 17px!important;padding:9px 10px 10px!important;border:1px solid rgba(52,63,45,.09)!important;border-left:3px solid rgba(111,135,23,.38)!important;border-radius:0 13px 13px 13px!important;background:#f7f9f4!important;box-shadow:none!important;}
.theme-pro-light .mode-inline-options label{font-size:.57rem!important;font-weight:750;color:#606a5d!important;}
.theme-pro-light .mode-inline-options select{font-size:.62rem!important;min-height:31px!important;background:#fff!important;}
.theme-pro-light .inline-controls{gap:7px!important;}
.theme-pro-light .inline-legend{margin-top:7px!important;padding-top:7px!important;}
.theme-pro-light .inline-legend strong{font-size:.59rem!important;}
.theme-pro-light .inline-legend .legend-row,.theme-pro-light .inline-legend .legend-class-row{font-size:.56rem!important;}
.theme-pro-light .inline-explain{font-size:.55rem!important;color:#6b7468!important;}
.theme-pro-light .export-block,.theme-pro-light .sources-left{margin-left:1px!important;margin-right:1px!important;}
.theme-pro-light .export-block{margin-top:auto!important;background:#fff!important;}
.theme-pro-light .export-details summary{display:flex;align-items:center;gap:7px;font-size:.61rem!important;font-weight:850!important;letter-spacing:.06em;color:#30372e!important;}
.theme-pro-light .export-details summary::before{content:"⇩";width:23px;height:23px;border-radius:8px;display:grid;place-items:center;background:#eef3e3;color:#617817;font-size:.8rem;}
.theme-pro-light .sources-left{box-shadow:none!important;background:transparent!important;border-style:dashed!important;}

/* Carte : titre analytique plus proche d'une fiche cartographique */
.theme-pro-light .map-title{display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;gap:9px!important;align-items:start!important;width:350px!important;padding:9px 10px!important;border-radius:16px!important;background:rgba(255,255,255,.93)!important;}
.map-title-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;padding:0;overflow:hidden;background:linear-gradient(145deg,#718a18,#9bb424);color:#fff;box-shadow:0 7px 17px rgba(111,135,23,.2);line-height:0;}
.map-title-icon svg{display:block;width:23px;height:23px;margin:auto;fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;}
.map-title-copy{min-width:0;}
.theme-pro-light .map-title strong{font-size:.70rem!important;text-transform:none!important;letter-spacing:.01em!important;}
.theme-pro-light .map-title > .map-title-copy > span{font-size:.57rem!important;color:#697167!important;line-height:1.25!important;}
.theme-pro-light .analysis-state{margin-top:5px!important;}
.theme-pro-light .analysis-state span{padding:2px 5px!important;font-size:.49rem!important;}
.theme-pro-light .map-toolbar{right:382px!important;gap:5px!important;}
.theme-pro-light .map-toolbar button{width:33px!important;height:33px!important;border-radius:11px!important;box-shadow:0 7px 18px rgba(43,52,38,.10)!important;}
.theme-pro-light .map-context{width:214px!important;right:15px!important;bottom:15px!important;padding:9px 10px!important;border-radius:15px!important;}
.theme-pro-light .map-context strong{display:flex!important;align-items:center!important;gap:6px!important;font-size:.56rem!important;}
.context-icon{width:21px;height:21px;border-radius:7px;display:grid;place-items:center;background:#edf2df;color:#617817;font-size:.8rem;}
.theme-pro-light .map-context label,.theme-pro-light .map-context .checkrow span{font-size:.54rem!important;}
.theme-pro-light .methodo-dock{min-width:188px!important;left:15px!important;bottom:15px!important;padding:8px 10px!important;border-radius:14px!important;background:rgba(36,42,34,.90)!important;}
.theme-pro-light .methodo-dock strong{font-size:.65rem!important;}
.theme-pro-light .methodo-dock span{font-size:.53rem!important;color:#d9ddd5!important;}

/* Colonne droite : fiche éditoriale */
.theme-pro-light .right-filters{padding:10px 10px 7px!important;background:#fbfcf9!important;}
.theme-pro-light .right-filters .block{padding:10px!important;border-radius:16px!important;box-shadow:none!important;background:#f4f7ef!important;}
.section-title{display:flex;align-items:center;gap:7px!important;}
.section-icon{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:#e9efdc;color:#637916;font-size:.73rem;font-weight:900;}
.theme-pro-light .right-head{padding:10px 12px 9px!important;background:#f8faf5!important;}
.theme-pro-light .right-head h2{font-size:.74rem!important;text-transform:none!important;letter-spacing:.01em!important;}
.theme-pro-light .right-head p{font-size:.57rem!important;line-height:1.32!important;color:#697268!important;}
.theme-pro-light .kpis{padding:8px 10px!important;grid-template-columns:1fr 1fr!important;gap:7px!important;background:#f8faf5!important;}
.theme-pro-light .kpi{position:relative;min-height:66px;padding:9px 9px 8px 38px!important;border-radius:15px!important;background:#fff!important;box-shadow:var(--ui-shadow-sm)!important;}
.theme-pro-light .kpi::before{position:absolute;left:9px;top:10px;width:22px;height:22px;border-radius:8px;display:grid;place-items:center;background:#eef3e3;color:#637916;font-size:.70rem;font-weight:900;}
.theme-pro-light .kpi:nth-child(1)::before{content:"▦"}.theme-pro-light .kpi:nth-child(2)::before{content:"●"}.theme-pro-light .kpi:nth-child(3)::before{content:"♣"}.theme-pro-light .kpi:nth-child(4)::before{content:"↗"}
.theme-pro-light .kpi strong{font-size:.90rem!important;line-height:1!important;}
.theme-pro-light .kpi span{font-size:.49rem!important;line-height:1.2!important;text-transform:none!important;letter-spacing:.02em!important;}
.theme-pro-light .scroll{padding:9px 10px 10px!important;}
.theme-pro-light .right .card{border-radius:17px!important;padding:11px!important;box-shadow:0 7px 20px rgba(43,52,38,.055)!important;}
.theme-pro-light .right .card h3{font-size:.76rem!important;letter-spacing:.01em!important;text-transform:none!important;}
.theme-pro-light .right .mini-grid{gap:6px!important;}
.theme-pro-light .right .mini-stat{border-radius:12px!important;background:#f5f8f0!important;}
.theme-pro-light .right-credit{padding:7px 10px!important;background:#f3f6ee!important;color:#505a4e!important;font-size:.55rem!important;}
.theme-pro-light .right-credit img{height:18px!important;}.theme-pro-light .right-credit .round{width:20px!important;height:20px!important;}
.author-credit small{display:block;margin-top:2px;color:#7b8278;font-size:.49rem;line-height:1.18;}

/* Infobulles harmonisées */
.theme-pro-light .leaflet-tooltip,.theme-pro-light .equip-tooltip{border-radius:12px!important;box-shadow:0 10px 28px rgba(43,52,38,.16)!important;}

/* 13 pouces / largeurs intermédiaires : priorité à la carte */
@media(max-width:1360px){
  .theme-pro-light .app{grid-template-columns:304px minmax(0,1fr) 320px!important;}
  .theme-pro-light .mode-btn{min-height:57px!important;}
  .theme-pro-light .mode-icon{width:29px;height:29px;}
  .theme-pro-light .analysis-path .mode-btn,.theme-pro-light .spatial-mode{grid-template-columns:31px minmax(0,1fr) 12px!important;}
  .theme-pro-light .right-head p{display:none;}
  .theme-pro-light .map-title{width:322px!important;}
  .theme-pro-light .map-toolbar{right:354px!important;}
}
@media(max-width:1180px){
  .theme-pro-light .app{grid-template-columns:288px minmax(0,1fr) 300px!important;}
  .theme-pro-light .map-title,.theme-pro-light .map-toolbar{display:none!important;}
}

/* V3.1-rc2 · ajustements visuels ciblés */
.brand-mark .mayotte-mark{width:22px;height:22px;}
.brand-mark .mayotte-mark path{fill:currentColor;stroke:none;}
.map-title-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.theme-pro-light .methodo-dock{background:rgba(248,250,244,.97)!important;border:1px solid rgba(122,146,28,.34)!important;box-shadow:0 10px 24px rgba(43,52,38,.12)!important;}
.theme-pro-light .methodo-dock strong{color:#25301d!important;}
.theme-pro-light .methodo-dock span{color:#607055!important;}
.theme-pro-light .methodo-dock:hover{background:rgba(251,252,248,.99)!important;border-color:rgba(122,146,28,.44)!important;}

/* V3.1-rc6 · correction effective de l'icône adaptative du pavé cartographique
   Placée en fin de cascade pour éviter l'écrasement par les règles historiques. */
.theme-pro-light .map-title-icon{
  width:40px!important;
  height:40px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  line-height:0!important;
  color:#fff!important;
}
.theme-pro-light .map-title-icon > svg{
  display:block!important;
  width:25px!important;
  height:25px!important;
  margin:0!important;
  color:#fff!important;
  fill:none!important;
  stroke:#fff!important;
  stroke-width:1.95!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  transform:none!important;
}
.theme-pro-light .map-title-icon > svg *{
  stroke:#fff!important;
}
