/* Module presentation lives outside generated HTML. Data, scales and status colors retain their meaning. */
.obs-design-icon{width:20px;height:20px;display:inline-block;flex:none;vertical-align:middle}
body[data-obs-module]:not([data-obs-module=""]){--module-accent:#177965;--module-tint:#eaf2eb;--module-border:#dce5dd}
body[data-obs-module][data-obs-theme="finance"]{--module-accent:#345b83;--module-tint:#edf2f8;--module-border:#dbe4ed}
body[data-obs-module][data-obs-theme="housing"]{--module-accent:#8a6038;--module-tint:#f5eee5;--module-border:#eaddcf}
body[data-obs-module][data-obs-theme="population"]{--module-accent:#675585;--module-tint:#f0ecf5;--module-border:#e2ddec}
body[data-obs-module][data-obs-theme="services"]{--module-accent:#356a7c;--module-tint:#eaf1f4;--module-border:#d8e5e9}
body[data-obs-module][data-obs-theme="decision"]{--module-accent:#177965;--module-tint:#e6f0e9}
.obs-legacy>header.obs-module-heading{display:flex!important;align-items:flex-start;gap:18px;margin:0 0 28px;padding:0 0 24px;border-bottom:1px solid var(--module-border);background:transparent;color:var(--obs-ink)}
.obs-module-mark{width:54px;height:54px;display:grid;place-items:center;border-radius:15px;background:var(--module-tint);color:var(--module-accent);flex:none;border:1px solid var(--module-border)}
.obs-module-mark svg{width:26px;height:26px}.obs-module-intro{flex:1;min-width:0}.obs-module-intro .obs-eyebrow{color:var(--module-accent);margin:0 0 5px}
.obs-legacy .obs-module-heading .obs-page-title{font:500 30px/1.2 Georgia,serif!important;letter-spacing:-.7px;margin:0 0 10px!important}.obs-module-intro>p{font-size:13px;color:#53675d;line-height:1.75;max-width:690px;margin:0}.obs-module-meta{font-size:10px;color:#67776e;margin-top:10px}.obs-module-heading>.obs-actions{max-width:220px;justify-content:flex-end;padding-top:9px}
body[data-obs-module]:not([data-obs-module=""]) .obs-legacy .content{max-width:none!important}
body[data-obs-module]:not([data-obs-module=""]) .obs-legacy .ai-insight{font-size:13px!important;line-height:1.85!important;padding:18px 22px!important;border:1px solid var(--module-border)!important;border-left:3px solid var(--module-accent)!important;background:var(--module-tint)!important;color:#344f41!important;margin-bottom:24px}
body[data-obs-module]:not([data-obs-module=""]) .obs-legacy .ai-insight>strong:first-child{display:block;font-size:10px;letter-spacing:.9px;text-transform:uppercase;color:var(--module-accent)!important;margin-bottom:6px}
.obs-legacy .obs-heading-icon{width:18px;height:18px;vertical-align:-3px;color:var(--module-accent);margin-right:8px}
body[data-obs-module] .obs-legacy :is(h2,h3,.chart-title,.section-title) :is(svg[data-lucide],i[data-lucide]){width:18px!important;height:18px!important;stroke:var(--module-accent)!important}
body[data-obs-module]:not([data-obs-module=""]) .obs-legacy .section-title{font-size:15px;letter-spacing:0;text-transform:none;border-bottom:1px solid var(--module-border);padding-bottom:12px;margin-top:30px;color:var(--obs-ink)}
/* KPI families vary across generators; preserve their labels and numbers. */
body[data-obs-module] .obs-legacy :is(.stats,.constr-kpi,.fibre-kpi,.rev-grid,.prix-grid,.poll-grid,.taille-grid){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(185px,100%),1fr));gap:14px;margin-bottom:25px}
body[data-obs-module="logement_social"] .obs-legacy .stats{grid-template-columns:repeat(3,minmax(0,1fr))}
body[data-obs-module] .obs-legacy :is(.stat-card,.constr-card,.fibre-card,.rev-card,.prix-card,.poll-card,.taille-card){background:#fff!important;border:1px solid var(--module-border)!important;border-radius:12px!important;box-shadow:none!important;padding:20px!important;min-width:0;text-align:left!important}
body[data-obs-module] .obs-legacy :is(.stat-card .value,.stat-card .stat-val,.constr-card .val,.fibre-card .val,.rev-card .valeur,.prix-card .median,.poll-card .poll-val,.taille-card .val){font-size:clamp(23px,2.1vw,30px)!important;line-height:1.22;font-weight:600!important;letter-spacing:-.75px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:7px 0 9px}
body[data-obs-module] .obs-legacy :is(.stat-card .label,.stat-label,.constr-card .lbl,.fibre-card .lbl,.rev-card .titre,.prix-card .type,.poll-card .poll-label,.taille-card .lbl){color:#52665c!important;font-size:11px!important;line-height:1.65;font-weight:500;letter-spacing:0}
body[data-obs-module] .obs-legacy :is(.rev-card .detail,.prix-card .range,.poll-card .poll-seuil,.poll-card .poll-unite,.constr-card .trend){font-size:10px;line-height:1.7}
body[data-obs-module] .obs-legacy [data-obs-tone="good"]{color:#166e50!important}body[data-obs-module] .obs-legacy [data-obs-tone="warning"]{color:#926411!important}body[data-obs-module] .obs-legacy [data-obs-tone="risk"]{color:#a34231!important}
/* Scores get breathing room; their values and semantic fills are preserved. */
body[data-obs-module] .obs-legacy :is(.score-global,.score-pmr,.score-mob,.score-pol,.score-nature,.score-velo,.score-circle,.aqi-big){background:var(--module-tint)!important;border:1px solid var(--module-border)!important;border-radius:14px!important;padding:25px!important;box-shadow:none!important;margin-bottom:22px}
body[data-obs-module] .obs-legacy :is(.score-global .val,.score-circle .score-val,.aqi-val,.score-nature .val){font-size:48px!important;font-weight:550!important;letter-spacing:-2px;line-height:1.1}
body[data-obs-module] .obs-legacy :is(.score-global .sub,.score-circle .score-sub,.aqi-sub){font-size:11px!important;color:#52665c!important;line-height:1.7}
.obs-legacy .obs-score-panel{background:#234a46!important;color:#fff!important;border:1px solid #315a50!important;box-shadow:none!important}
.obs-legacy .obs-score-panel [style*="opacity"]{opacity:1!important}
/* Charts and tabular evidence: only presentation changes, never data or axes. */
body[data-obs-module] .obs-legacy :is(.chart-box,.obs-plot){background:#fff!important;border:1px solid var(--module-border)!important;border-radius:13px!important;padding:23px!important;margin-bottom:22px;min-width:0;box-shadow:none!important}
body[data-obs-module] .obs-legacy :is(.chart-box,.obs-plot)>:is(h2,h3,.chart-title){font-size:14px!important;font-weight:600;line-height:1.65;margin-bottom:18px!important}
.obs-legacy .obs-table-long{max-height:480px;border:1px solid var(--module-border);border-radius:10px;scrollbar-width:thin;overscroll-behavior:contain}
.obs-legacy .obs-table-long thead th{position:sticky;top:0;z-index:1}.obs-legacy .obs-table-long tr:nth-child(even)>td{background:#f9faf7}
body[data-obs-module] .obs-legacy td{font-variant-numeric:tabular-nums;vertical-align:top}.obs-legacy .obs-source-block{margin-top:28px!important;border-top:1px solid var(--module-border)!important;background:transparent!important;line-height:1.9!important;color:#53695d!important;font-size:11px!important}.obs-legacy .obs-source-block a{white-space:normal!important;color:var(--module-accent)!important}
/* Maps retain their legends, controls, layers, coordinates and attribution. */
body[data-obs-module] .obs-legacy .leaflet-container{border:1px solid var(--module-border);border-radius:13px;isolation:isolate}
body[data-obs-module] .obs-legacy #controls{background:#fff!important;padding:14px!important;font-size:12px;color:#38594b!important}
body[data-obs-module] .obs-legacy #controls :is(select,button){background:#fff!important;color:#2d5445!important;border:1px solid #c8d9cb!important;border-radius:6px;padding:8px;font-size:12px;min-height:36px}
body[data-obs-module] .obs-legacy #timeline{background:var(--module-tint)!important;gap:12px;font-size:12px}
body[data-obs-module] .obs-legacy .ai-overlay{position:static;transform:none;width:auto;max-width:none;pointer-events:auto;font-size:12px;box-shadow:none;border:1px solid var(--module-border);border-left:3px solid var(--module-accent);background:var(--module-tint);margin-bottom:12px}
body[data-obs-module] .obs-legacy .leaflet-control-attribution{font-size:10px;line-height:1.5;color:#344f41;background:#ffffffe8}
/* Housing, social indicators and projections keep their domain-specific legends. */
body[data-obs-module="dpe"] .obs-legacy .dpe-grid{gap:7px}.obs-legacy .dpe-card{border-radius:8px!important;padding:14px 8px!important}.obs-legacy .dpe-card .lettre{font-size:24px!important}.obs-legacy .dpe-card .nb{font-variant-numeric:tabular-nums}
body[data-obs-module] .obs-legacy :is(.loi-box,.alerte-box,.disclaimer){font-size:12px!important;line-height:1.8!important;padding:16px!important;border-radius:8px!important}
body[data-obs-module] .obs-legacy :is(.bench-row,.compare-bar){gap:12px;min-height:38px}.obs-legacy .bench-bar{font-variant-numeric:tabular-nums;min-height:24px;line-height:24px}.obs-legacy .bench-bar-wrap{min-height:24px;background:#edf1ec}.obs-legacy .bench-val{font-variant-numeric:tabular-nums}
body[data-obs-module="predictif"] .obs-legacy .pred-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
body[data-obs-module="predictif"] .obs-legacy .pred-card{padding:23px;border:1px solid var(--module-border);border-radius:14px;box-shadow:none;background:#fff;min-width:0}
body[data-obs-module="predictif"] .obs-legacy .pred-header{gap:12px;flex-wrap:wrap}.obs-legacy .pred-fiab{font-size:10px!important;padding:5px 8px!important}.obs-legacy .pred-titre{font-size:13px!important}.obs-legacy .pred-vals{border-top:1px solid var(--module-border);padding-top:12px;gap:15px}.obs-legacy .pred-val{font-size:19px!important;line-height:1.4;font-variant-numeric:tabular-nums}.obs-legacy .pred-label,.obs-legacy .pred-detail{font-size:11px!important;line-height:1.7}
/* Decision workbench and diagnostic: distinguish the AI interaction from deterministic scores. */
#obs-sidebar .obs-ai-nav{border:1px solid #779b8655;background:#315a4d;border-radius:9px;margin:2px 0 12px}#obs-sidebar .obs-ai-nav>a{font-size:12px;font-weight:600;color:#f3f5e7;padding:13px}
body[data-obs-module="decision"] .obs-legacy .score-grid-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
body[data-obs-module="decision"] .obs-legacy .score-item{padding:18px;border-color:var(--module-border);border-radius:11px;min-width:0}
body[data-obs-module="decision"] .obs-legacy .score-domaine{font-size:11px;letter-spacing:.4px;color:#395f4c}.obs-legacy .score-desc{font-size:13px!important;line-height:1.7}.obs-legacy .score-detail{font-size:11px!important;line-height:1.7;color:#596f60!important}
body[data-obs-module="decision"] .obs-legacy .reco-card{border:1px solid var(--module-border);border-radius:13px;box-shadow:none;padding:23px}.obs-legacy .reco-titre{font-size:15px!important;color:#294f3a!important}.obs-legacy .reco-detail,.obs-legacy .reco-leviers{font-size:12px!important;line-height:1.85!important}.obs-legacy .reco-prio{font-size:11px!important}
.obs-legacy .obs-simulator{background:#e9f1eb!important;border:1px solid #bad3c1!important;border-radius:15px!important;padding:25px!important;color:#214a34!important;scroll-margin-top:25px}
.obs-legacy .obs-simulator>div:first-child{font-size:15px!important;text-transform:none!important;color:#214a34!important;letter-spacing:0!important;margin-bottom:8px!important}
.obs-legacy .obs-simulator>div:nth-child(2){color:#466350!important;font-size:13px!important;line-height:1.8!important}
.obs-legacy .obs-simulator textarea{background:#fff!important;border:1px solid #b8cdbe!important;color:#203a2b!important;font-size:14px!important;line-height:1.7;min-height:110px!important;scroll-margin-top:25px}
.obs-legacy .obs-simulator #sim-btn{background:#177965!important;color:#fff!important;padding:12px 20px!important;font-size:13px!important}.obs-legacy .obs-simulator #sim-result{background:#fff!important;color:#274735!important;border:1px solid #d3e1d6;padding:20px!important;font-size:13px!important}.obs-legacy .obs-simulator #sim-loader{color:#456a50!important}
.obs-legacy .obs-ai-entry{display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--module-tint);padding:18px 22px;border:1px solid var(--module-border);border-radius:12px;margin:0 0 22px}.obs-ai-entry p{font-size:12px;color:#416047;margin:5px 0 0}.obs-ai-entry strong{font-size:14px;font-weight:600;color:#214b34}
/* Synthesis, end-of-term comparison, reports and participation. */
body[data-obs-module="synthese"] .obs-legacy .kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.obs-legacy .kpi{padding:19px!important;border:1px solid var(--module-border)!important;border-radius:11px!important;box-shadow:none!important;background:#fff!important}.obs-legacy .kpi .ico{color:var(--module-accent)}.obs-legacy .kpi .ico svg{stroke:var(--module-accent)!important}.obs-legacy .kpi .valeur{font-size:24px!important;line-height:1.3;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.obs-legacy .kpi .titre{font-size:12px!important;font-weight:550!important}.obs-legacy .kpi .detail,.obs-legacy .kpi .badge{font-size:10px!important;line-height:1.65}
body[data-obs-module="synthese"] .obs-legacy .link-decision{background:#edf3ed!important;color:#24543c!important;border:1px solid #ceddce;padding:10px 14px;font-size:12px;border-radius:7px}
body[data-obs-module="bilan_mandat"] .obs-legacy .bilan-hero{background:#234a46!important;padding:28px!important;border-radius:14px;gap:20px}.obs-legacy .bilan-hero [style*="opacity"]{opacity:1!important}.obs-legacy .bilan-badge{background:#ffffff16!important;border:1px solid #ffffff30;border-radius:9px}.obs-legacy .bilan-badge .val{font-size:30px!important;line-height:1.2}.obs-legacy .bilan-badge .lab{font-size:11px!important}.obs-legacy .aa-col{box-shadow:none!important;border:1px solid var(--module-border)!important;border-radius:12px!important;padding:22px!important}.obs-legacy .aa-col.apres{border-color:#b2cdb9!important;background:#f4f8f1!important}.obs-legacy .aa-item{gap:15px;padding:12px 0!important;align-items:baseline}.obs-legacy .aa-val{font-variant-numeric:tabular-nums}
body[data-obs-module="lettre"] .obs-legacy .lettre-box,body[data-obs-module="rapport"] .obs-legacy .rapport-body{max-width:850px;margin-left:auto;margin-right:auto;padding:32px!important;border:1px solid var(--module-border);border-radius:12px;box-shadow:none;font-size:14px;line-height:1.95}
body[data-obs-module="lettre"] .obs-legacy .lettre-titre{font-size:24px!important;line-height:1.3}.obs-legacy .lettre-meta{font-size:11px!important;color:#5e7064!important}.obs-legacy .copy-btn{background:#177965!important;color:#fff!important;padding:10px 16px!important}
body[data-obs-module="avis"] .obs-legacy :is(.avis-tabs,.tabs){gap:8px;border-bottom:1px solid var(--module-border)}.obs-legacy .avis-tab{font-size:12px!important;padding:12px 16px!important}.obs-legacy .avis-tab.active{color:#177965!important;border-color:#177965!important}.obs-legacy .empty-state{padding:35px 22px!important;color:#52685a!important;font-size:13px!important}
body[data-obs-module="jumelles"] .obs-legacy .hero-cards{gap:20px}.obs-legacy .hero-card{background:#fff!important;border-radius:12px!important;padding:23px!important;box-shadow:none!important}.obs-legacy .cmp-form{background:#edf2eb!important;border:1px solid var(--module-border);border-radius:10px;padding:15px!important;color:#34543c!important}.obs-legacy .cmp-form label{color:#34543c!important}
/* Domain detail cards, distances, risks, funding and cohorts. */
body[data-obs-module] .obs-legacy :is(.access-card,.risque-card,.param-card,.aide-card,.secteur-card,.group-card){border:1px solid var(--module-border)!important;border-radius:10px!important;box-shadow:none!important;background:#fff!important;padding:17px!important;min-width:0}
.obs-legacy .access-label,.obs-legacy .param-nom,.obs-legacy .secteur-nom,.obs-legacy .g-name{font-size:12px!important;font-weight:550!important}.obs-legacy .access-name,.obs-legacy .param-desc{font-size:11px!important;line-height:1.7}.obs-legacy .access-dist,.obs-legacy .g-count{font-variant-numeric:tabular-nums;font-size:25px!important}.obs-legacy .access-unit,.obs-legacy .param-unite,.obs-legacy .param-date{font-size:10px!important}.obs-legacy .cohorte-row{padding:9px 0!important;min-height:40px;gap:13px}.obs-legacy .cohorte-year,.obs-legacy .cohorte-age{font-size:11px!important}.obs-legacy .cohorte-bar-wrap{min-height:24px}.obs-legacy .cohorte-bar{line-height:24px}
.obs-legacy .obs-aides-list{max-height:620px;overflow:auto;padding-right:8px;scrollbar-width:thin}.obs-legacy .obs-aides-list .aide-card{margin-bottom:12px!important;line-height:1.8}.obs-legacy .obs-empty-data{background:#f3f5f0!important;border:1px dashed #b9cbbc!important;padding:24px!important;border-radius:12px!important;color:#506852!important;font-size:13px!important;line-height:1.8}
/* Public positioning and the visible count of observed communes. */
.obs-coverage{display:flex;align-items:center;gap:26px;margin:26px 0;padding:24px 0;border-top:1px solid #d8e3d5;border-bottom:1px solid #d8e3d5}.obs-coverage>strong{font-size:82px;line-height:1;letter-spacing:-5px;color:#177965;font-weight:550;font-variant-numeric:tabular-nums}.obs-coverage>div>span{font-size:19px;color:#214535;font-weight:550}.obs-coverage p{font-size:12px;line-height:1.75;color:#58705d;margin:7px 0 0;max-width:400px}.obs-ai-promise h2{font:400 25px/1.3 Georgia,serif;margin:0 0 20px}.obs-ai-promise ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;list-style:none;margin:0;padding:0;counter-reset:step}.obs-ai-promise li{counter-increment:step;display:flex;flex-direction:column}.obs-ai-promise li:before{content:'0' counter(step);font-size:11px;letter-spacing:1px;color:#7c917e;margin-bottom:8px}.obs-ai-promise strong{font-size:13px;color:#274b34;margin-bottom:5px}.obs-ai-promise span{font-size:11px;line-height:1.8;color:#5c705e}.obs-login-hero-copy>p{max-width:420px}.obs-decision-banner{display:flex;align-items:center;justify-content:space-between;gap:25px;background:#e6eee3;border-color:#c8d9c3}.obs-decision-visual{display:grid;grid-template-columns:26px 1fr;align-items:center;gap:15px;padding:25px;background:#ffffff7a;border:1px solid #d6e3d0;border-radius:12px;font-size:12px;color:#386646;min-width:170px}.obs-decision-visual svg{width:20px;height:20px}.obs-decision-banner .obs-actions{margin-top:20px}
/* Assistant: stream text safely, separate the question, response and territorial context. */
.obs-assistant-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(230px,1fr);gap:24px;align-items:start}.obs-assistant-workbench{padding:30px}.obs-assistant-workbench h2{font-size:20px}.obs-assistant-workbench textarea{width:100%;min-height:150px!important;resize:vertical;font-size:14px!important;line-height:1.8}.obs-question-suggestions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.obs-question-suggestions button{font:inherit;font-size:11px;border:1px solid #d4dfcf;border-radius:20px;padding:7px 12px;background:#f2f6ee;color:#3b6344;cursor:pointer}.obs-assistant-response{border-top:1px solid #d6e2d2;padding-top:24px;margin-top:25px}.obs-assistant-response h2{font:400 24px/1.3 Georgia,serif}.obs-assistant-response #obs-assistant-answer{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.95;color:#304e3b;margin:18px 0}.obs-assistant-response button{margin-top:15px}#obs-assistant-status{color:#4a6d4e;font-size:12px;line-height:1.7;margin-top:18px}.obs-assistant-context{background:#f0f5eb}.obs-assistant-context p{font-size:13px}.obs-assistant-context .obs-source{font-size:11px}.obs-assistant-workbench button:disabled{opacity:.55;cursor:wait}
@media(max-width:1200px){.obs-module-heading{flex-wrap:wrap}.obs-module-heading>.obs-actions{max-width:none;padding:0 0 0 72px;justify-content:flex-start}.obs-module-intro{flex-basis:calc(100% - 72px)}body[data-obs-module="synthese"] .obs-legacy .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.obs-assistant-layout{grid-template-columns:1fr}.obs-decision-visual{display:none}.obs-module-intro>p{font-size:12px}.obs-module-meta{font-size:10px}.obs-legacy .obs-module-heading .obs-page-title{font-size:27px!important}.obs-ai-promise ol{gap:14px}.obs-coverage>strong{font-size:72px}.obs-coverage>div>span{font-size:18px}}
@media(max-width:600px){.obs-legacy>header.obs-module-heading{gap:13px;padding-bottom:20px;margin-bottom:22px}.obs-module-mark{width:42px;height:42px;border-radius:12px}.obs-module-mark svg{width:22px;height:22px}.obs-module-intro{flex-basis:calc(100% - 55px)}.obs-module-heading>.obs-actions{padding-left:0}.obs-legacy .obs-module-heading .obs-page-title{font-size:25px!important}.obs-module-intro .obs-eyebrow{font-size:9px}
body[data-obs-module] .obs-legacy :is(.stats,.constr-kpi,.fibre-kpi,.rev-grid,.prix-grid,.poll-grid,.taille-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
body[data-obs-module] .obs-legacy :is(.stat-card,.constr-card,.fibre-card,.rev-card,.prix-card,.poll-card,.taille-card){padding:16px 13px!important}
body[data-obs-module] .obs-legacy :is(.stat-card .value,.stat-card .stat-val,.constr-card .val,.fibre-card .val,.rev-card .valeur,.prix-card .median,.poll-card .poll-val,.taille-card .val){font-size:23px!important}
body[data-obs-module] .obs-legacy :is(.chart-box,.obs-plot){padding:17px!important}body[data-obs-module] .obs-legacy .ai-insight{padding:16px!important;font-size:12px!important}
body[data-obs-module="predictif"] .obs-legacy .pred-grid,body[data-obs-module="decision"] .obs-legacy .score-grid-inner,body[data-obs-module="synthese"] .obs-legacy .kpi-grid{grid-template-columns:1fr}
.obs-legacy .obs-ai-entry{align-items:flex-start;flex-direction:column;padding:18px}.obs-legacy .obs-simulator{padding:18px!important}.obs-legacy .them-row{flex-wrap:wrap;gap:7px}.obs-legacy .them-label{min-width:100%;font-size:12px}.obs-legacy .them-detail{min-width:65px;font-size:10px}.obs-legacy .bench-row{flex-wrap:wrap}.obs-legacy .bench-label{width:100%;min-width:100%;font-size:12px}.obs-legacy .bench-bar-wrap{flex:1}.obs-legacy .pred-card{padding:18px!important}
body[data-obs-module="bilan_mandat"] .obs-legacy .bilan-hero{padding:20px!important;flex-direction:column;align-items:flex-start}.obs-legacy .bilan-badges{width:100%;justify-content:space-between;gap:7px}.obs-legacy .bilan-badge{padding:13px 9px!important}.obs-legacy .bilan-badge .val{font-size:25px!important}.obs-legacy .aa-item{flex-wrap:wrap;gap:8px}.obs-legacy .aa-label{flex-basis:100%}.obs-legacy .aa-val{font-size:13px!important}.obs-legacy .aa-delta{font-size:11px!important}
body[data-obs-module="lettre"] .obs-legacy .lettre-box,body[data-obs-module="rapport"] .obs-legacy .rapport-body{padding:20px!important;font-size:13px}
.obs-coverage{gap:20px;margin:22px 0;padding:21px 0}.obs-coverage>strong{font-size:66px;letter-spacing:-3px}.obs-coverage>div>span{font-size:16px}.obs-coverage p{font-size:11px}.obs-ai-promise ol{grid-template-columns:1fr;gap:16px}.obs-ai-promise li{display:grid;grid-template-columns:30px 1fr;column-gap:10px}.obs-ai-promise li:before{grid-row:span 2;margin:0}.obs-ai-promise span{grid-column:2}.obs-ai-promise h2{font-size:23px}.obs-assistant-workbench{padding:21px}.obs-assistant-workbench h2{font-size:18px}
}
@media print{.obs-module-heading>.obs-actions,.obs-ai-entry,.obs-assistant-form,.obs-question-suggestions{display:none!important}.obs-legacy .obs-table-long,.obs-legacy .obs-aides-list{max-height:none;overflow:visible}.obs-module-heading{break-after:avoid}.obs-legacy .obs-plot,.obs-legacy .pred-card{break-inside:avoid}.obs-coverage>strong{color:#20343b}}

/* Long school comparisons remain complete inside a bounded, scrollable chart. */
body[data-obs-module="scolaire"] .charts-sco{align-items:start}.obs-legacy .obs-chart-list{max-height:600px;overflow:auto;scrollbar-width:thin}
@media print{.obs-legacy .obs-chart-list{max-height:none;overflow:visible}}

/* Activity and utility panels: aligned with the content, without legacy navy banners. */
body[data-obs-module] .obs-legacy .obs-activity-panel{width:100%!important;max-width:none!important;margin:0 0 24px!important;background:#fff!important;border:1px solid var(--module-border)!important;border-radius:13px!important;box-shadow:none!important;overflow:hidden}
.obs-legacy .obs-activity-head{display:flex;align-items:center;justify-content:space-between;background:var(--module-tint)!important;color:#294f3b!important;border-bottom:1px solid var(--module-border);padding:18px 22px!important;gap:16px;flex-wrap:wrap}
.obs-legacy .obs-activity-title{color:#294f3b!important;font-size:14px!important;font-weight:600!important;line-height:1.6}.obs-legacy .obs-activity-title>span{display:block;color:#596e60!important;font-size:11px!important;opacity:1!important;margin-top:3px}
.obs-legacy .obs-activity-balance{display:inline-flex;border-radius:20px;background:#fff!important;color:#31573d!important;border:1px solid #c5d8c9;padding:6px 12px!important;font-size:12px!important;font-weight:600!important;white-space:nowrap}
.obs-legacy .obs-activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important}.obs-legacy .obs-activity-column{padding:20px 22px!important;min-width:0}.obs-legacy .obs-activity-column:first-child{border-right:1px solid;border-color:var(--module-border)!important}
.obs-legacy .obs-activity-count{display:flex;margin-bottom:12px;align-items:baseline!important;gap:10px!important;flex-wrap:wrap}.obs-legacy .obs-activity-count>span:first-child{font-size:27px!important;font-weight:600!important;font-variant-numeric:tabular-nums}.obs-legacy .obs-activity-openings .obs-activity-count>span:first-child{color:#166e50!important}.obs-legacy .obs-activity-closures .obs-activity-count>span:first-child{color:#a34231!important}
.obs-legacy .obs-activity-row{border-bottom:1px solid;display:grid!important;grid-template-columns:6px minmax(0,1fr) minmax(70px,.65fr) auto;gap:10px!important;padding:9px 0!important;border-color:#edf1e9!important;align-items:baseline!important;font-size:13px}.obs-legacy .obs-activity-row>span{min-width:0;overflow-wrap:anywhere}.obs-legacy .obs-activity-row>span:nth-child(3),.obs-legacy .obs-activity-row>span:nth-child(4){color:#617367!important;font-size:11px!important}.obs-legacy .obs-activity-row>span:first-child{align-self:center}
.obs-legacy .obs-activity-source{text-align:right;background:#f6f8f2!important;color:#617367!important;border-top:1px solid var(--module-border);padding:12px 22px!important;font-size:11px!important;line-height:1.7}
body[data-obs-module="equipements"] .obs-legacy .legende{background:#f4f7ef!important;color:#385440!important;border:1px solid var(--module-border);border-radius:9px;padding:14px 18px;line-height:1.8}
body[data-obs-module="jumelles"] .obs-legacy .hero{background:transparent!important;padding:0!important;box-shadow:none!important;border:0!important}.obs-legacy .hero-sep{color:#63806b}
body[data-obs-module="jumelles"] .obs-legacy .theme-header{background:var(--module-tint)!important;color:#34543f!important;border-bottom:1px solid var(--module-border)}
.obs-legacy .obs-share-panel{background:var(--module-tint)!important;color:#34543f!important;border:1px solid var(--module-border);width:100%;max-width:none;border-radius:13px!important}.obs-legacy .obs-share-panel [style*="opacity"]{opacity:1!important}.obs-legacy .obs-share-panel>div:first-child{font-size:14px!important}.obs-legacy .obs-share-panel>div:nth-child(2){font-size:12px!important;line-height:1.8}.obs-legacy .obs-share-code{background:#fff!important;border:1px solid var(--module-border);color:#4a6351!important}.obs-legacy .obs-share-code textarea{background:#f6f8f2!important;color:#34543f!important;border:1px solid var(--module-border)!important;height:88px!important;line-height:1.7}.obs-legacy .obs-share-code a{background:#fff!important;color:#245a40!important;border:1px solid #bcd0bd!important}
@media(max-width:700px){.obs-legacy .obs-activity-grid{grid-template-columns:1fr!important}.obs-legacy .obs-activity-column:first-child{border-right:0!important;border-bottom:1px solid var(--module-border)}.obs-legacy .obs-activity-head,.obs-legacy .obs-activity-column{padding:17px!important}.obs-legacy .obs-activity-row{grid-template-columns:6px minmax(0,1fr) auto;row-gap:3px!important}.obs-legacy .obs-activity-row>span:nth-child(3){grid-column:2;grid-row:2}.obs-legacy .obs-activity-row>span:nth-child(4){grid-column:3;grid-row:1}.obs-legacy .obs-activity-source{padding:12px 17px!important;text-align:left!important}}
body[data-obs-module="avis"] .obs-legacy #btn-synthese{background:#177965!important;color:#fff!important}

/* Missing values explain their state before any expandable source details. */
.obs-interface .obs-legacy .obs-kpi-reason{grid-column:1/-1;min-height:0;margin:12px 0;padding:10px 12px;border-left:3px solid #bdcbb5;border-radius:0 6px 6px 0;background:#f3f6ef;color:#405647;font-size:12px;line-height:1.7;white-space:normal;overflow-wrap:anywhere}
.obs-kpi-reason>span{display:block;font-size:11px;font-weight:600;color:#34533d;margin-bottom:3px}
