/* Raccordement aux données réelles — composants et identité issus de la V2. */
:root{--panel:#fbfbf6;--soft:#f0f2ea;--card:#fff;--bg:#e9eee8}
[hidden]{display:none!important}
.live-badge{font-size:11px;font-weight:600;letter-spacing:.025em;color:var(--lime);border:1px solid #556146;padding:4px 8px;white-space:nowrap}
.view{animation:rise .2s ease-out}
.panel-body{scrollbar-width:thin}
.panel-body h2{font-size:30px;line-height:1.08}
.panel-foot .small{font-size:12px;color:var(--ink-3)}
.panel-foot .btn{white-space:nowrap}
.search .input{font-size:14px}
.suggest [role=option]{font-size:14px;min-height:48px}
.suggest .result-kind{font-size:10px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:var(--green);margin-bottom:2px}
.parcel-row .pr{min-width:0}.parcel-row .mono{overflow-wrap:anywhere}
.parcel-address{overflow-wrap:anywhere;color:var(--ink-2)}
.context-overview .parcel-address{color:rgba(255,255,255,.85)}
.terrain-report{display:grid;gap:7px;padding:12px;border:1px solid var(--line);background:var(--soft)}
.terrain-report-button{width:100%;white-space:normal;text-align:left;justify-content:space-between;line-height:1.4}
.parcel-total{border-top:1px solid var(--line);padding-top:10px;margin-top:4px;font-size:13px}
.map-tools{display:flex;gap:6px;position:absolute;left:12px;top:12px;z-index:800;flex-wrap:wrap;align-items:stretch}
.map-tools .btn{background:#fff;border:1px solid var(--ink);box-shadow:0 2px 4px #0f1a1710}
.map-base-switch{display:inline-flex;background:#fff;border:1px solid var(--ink);box-shadow:0 2px 4px #0f1a1710}
.map-base-switch button{min-height:32px;padding:4px 9px;border:0;border-right:1px solid var(--ink);background:#fff;color:var(--ink);font:inherit;font-size:11px;font-weight:650;cursor:pointer}
.map-base-switch button:last-child{border-right:0}
.map-base-switch button:hover{background:var(--soft)}
.map-base-switch button[aria-pressed=true]{background:var(--ink);color:#fff}
.map-base-switch button:focus-visible{position:relative;z-index:1;outline:3px solid var(--lime);outline-offset:1px}
#map-toggle{display:none}
.map-legend{top:12px;font-size:12px;max-width:260px}
.map-legend label{display:flex;align-items:center;gap:8px;cursor:pointer;min-height:28px}
.map-legend input{accent-color:var(--green);margin:0;width:14px;height:14px}
.sw-building{background:#abb4ad;border-color:#79867e}.sw-zone{background:#168650;border-color:#0b7a45}
.sw-heritage{background:rgba(191,162,212,.25);border:2px dashed #79539B}#heritage-layer-status{display:block;margin:4px 0 0 22px;max-width:260px}
.legend-point{width:12px;height:12px;background:var(--coral);border:2px solid white;box-shadow:0 0 0 1px var(--coral);margin:0 2px}
.map-status{max-width:min(420px,calc(100% - 24px));pointer-events:none;background:#ffffffee;line-height:1.4}
.map-hint{top:56px;max-width:80%;pointer-events:none}
.mapwrap.locating #map{cursor:crosshair}
.leaflet-top.leaflet-left{top:52px}
.leaflet-control-layers{border-radius:0}
.point-arrows{display:flex;gap:6px;margin-top:8px}.point-arrows button{width:44px;padding:0;font-size:20px}
.point-outside{color:var(--coral);font-weight:600}
.context-meta{display:flex;gap:7px;flex-wrap:wrap;align-items:center;font-size:12px;color:var(--ink-3)}
.context-list{display:grid;gap:8px}.context-item{background:#fff;border:1px solid var(--line);padding:12px;display:grid;gap:6px}
.context-item strong{font-size:14px;line-height:1.3}.context-item .badge{font-size:11px;white-space:normal;justify-self:start}
.context-item details{font-size:12px;color:var(--ink-2)}.context-item details summary{cursor:pointer;color:var(--green);font-weight:600}
.document-row{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;width:100%;border:1px solid var(--line);background:#fff;padding:12px;text-align:left;cursor:pointer;font:inherit}
.document-row:hover{border-color:var(--green);background:var(--lime-soft)}
.document-row .pdf-icon{background:var(--green-soft);color:var(--green);font-size:10px;font-weight:800;display:grid;place-items:center;height:36px}
.document-row b{font-size:14px;font-weight:600;line-height:1.3;display:block;overflow-wrap:anywhere}
.document-row small{font-size:11px;color:var(--ink-3);overflow-wrap:anywhere}
.empty-state{border:1px dashed var(--line-2);padding:12px;font-size:13px;color:var(--ink-2)}
.coverage-note{font-size:13px;padding:12px 14px;background:var(--soft);border-left:3px solid var(--ink)}
.coverage-note ul{margin:8px 0 0;padding-left:18px}
.loading-note{background:var(--lime-soft);border-left:3px solid var(--green);padding:12px;font-size:13px}
.context-unavailable{background:var(--saffron-soft);padding:12px;font-size:13px}
.doc-missing{color:var(--saffron-ink);font-size:12px}
.source-dialog,.document-dialog,.correction-dialog{padding:0;border:0;border-top:5px solid var(--lime);color:var(--ink);background:var(--panel);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}
.source-dialog{width:700px}.document-dialog{width:1100px;height:calc(100dvh - 50px)}.correction-dialog{width:620px}
dialog::backdrop{background:#0f1a1788}.dialog-top{display:flex;justify-content:space-between;gap:16px;align-items:start;padding:16px 20px;border-bottom:1px solid var(--line)}
.dialog-top h2{font-size:21px;overflow-wrap:anywhere}.dialog-content{padding:20px;overflow:auto;max-height:calc(100dvh - 125px)}
.document-tools{display:flex;align-items:center;gap:12px;padding:10px 20px;flex-wrap:wrap}
#document-frame{border:0;width:100%;height:calc(100% - 145px);background:#e5e5df;display:block}
.correction-form{display:flex;flex-direction:column;max-height:calc(100dvh - 24px)}
.correction-content{display:grid;gap:16px;padding:20px;overflow-y:auto;overscroll-behavior:contain}
.correction-content>p{margin:0}.correction-content .field{display:grid;gap:6px}.correction-content .field label{font-weight:650}
.correction-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--line);background:var(--panel)}
.correction-trigger{justify-self:start}
.provenance-details{font-size:13px;overflow-wrap:anywhere}.provenance-details summary{cursor:pointer;font-weight:600}.provenance-details dl{padding-left:12px;display:grid;gap:7px}.provenance-details dt{font-weight:600}.provenance-details dd{margin-left:0;white-space:pre-wrap;color:var(--ink-2)}
.source-counts{display:flex;gap:12px;flex-wrap:wrap}.source-counts span{background:var(--soft);padding:8px 12px;font-size:13px}
@media(max-width:1050px) and (min-width:881px){.app{grid-template-columns:420px minmax(0,1fr)}.map-legend{top:55px}}
@media(max-width:880px){
  :root{--topbar:64px}.topbar{flex-wrap:wrap;align-content:center;gap:4px 10px}.brand{flex:1}.brand h1{font-size:17px}.brand small{font-size:10px}.topbar .spacer{display:none}.live-badge{order:3;padding:0;border:0;font-size:10px;width:100%;padding-left:44px;line-height:1}
  .app{grid-template-columns:minmax(0,1fr);grid-template-rows:36dvh minmax(0,1fr);height:calc(100dvh - var(--topbar))}.app.map-big{grid-template-rows:65dvh minmax(0,1fr)}
  .mapwrap{order:-1}.map-legend{display:block;top:50px;right:10px;max-width:250px;font-size:11px;padding:3px 8px}.map-legend summary{font-size:10px}.map-legend[open]{z-index:1000}
  #map-toggle{display:inline-flex}.map-tools{left:10px;right:10px;top:9px}.map-tools .btn{min-height:32px;padding:4px 8px;font-size:11px}.map-base-switch button{padding-inline:7px;font-size:10px}.leaflet-top.leaflet-left{top:48px}
  .map-status{font-size:10px;bottom:20px;left:8px;max-width:calc(100% - 16px)}.map-hint{font-size:11px;top:48px;max-width:58%;padding:6px}
  .panel-body{padding:16px}.panel-body h2{font-size:25px}.lead{font-size:14px}.steps{padding:0 8px}.steps button{padding:8px 6px;font-size:12px}.steps button:not(.is-current) .l{display:inline}.steps .n{width:17px;height:17px}.steps .l{font-size:11px}.steps li:has(.is-current){flex:1}.steps li{flex:1}
  .panel-foot{padding:8px 12px}.panel-foot .actions{gap:5px}.panel-foot .small{font-size:10px;flex:1 1 100px}.panel-foot .btn{font-size:12px;min-height:38px;padding:7px 10px}
  .source-dialog,.document-dialog,.correction-dialog{max-width:calc(100vw - 12px);max-height:calc(100dvh - 12px)}.dialog-top{padding:12px}.dialog-top h2{font-size:18px}.document-tools{padding:8px 12px}.document-tools p{display:none}.dialog-content,.correction-content{padding:14px}.document-dialog{height:calc(100dvh - 16px)}#document-frame{height:calc(100% - 150px)}.correction-form{max-height:calc(100dvh - 12px)}.correction-actions{display:grid;grid-template-columns:1fr;padding:12px}.correction-actions .btn{width:100%}.correction-actions .btn-primary{grid-row:1}
}
@media(prefers-reduced-motion:reduce){.view{animation:none}}

/* Parcelles témoins, saisie qualifiée et résultats de contrôles partiels. */
.witness-list{display:grid;gap:8px}.witness-card{display:grid;gap:4px;border:1px solid var(--line);padding:11px 12px;background:var(--card);text-align:left;cursor:pointer;font:inherit;font-size:12px;line-height:1.4;width:100%}.witness-card:hover,.witness-card.is-selected{border-color:var(--green);background:var(--lime-soft)}.witness-top{display:flex;gap:8px;justify-content:space-between;align-items:flex-start}.witness-top strong{font-size:14px;line-height:1.25}.witness-top .badge{font-size:10px;white-space:nowrap}.witness-card small{font-size:10px;color:var(--ink-3)}
.scenario-list{display:flex;gap:6px;flex-wrap:wrap}.scenario-list .btn{white-space:normal;text-align:left}.facts-origin{font-size:13px;padding:12px;background:var(--soft);border-left:3px solid var(--ink)}.facts-origin.is-demo{background:var(--saffron-soft);border-left-color:var(--saffron)}.fact-number{display:flex;align-items:center;gap:10px}.fact-number .input{width:100%;min-width:0}.fact-number>span{min-width:20px;font-size:13px}.fact-section{border:1px solid var(--line);padding:12px;background:var(--card)}.fact-section>summary{cursor:pointer;font-size:14px;font-weight:600;line-height:1.4}.fact-section>.stack{padding-top:14px}.scope-explanation{color:var(--saffron-ink);font-size:13px;line-height:1.5}
.analysis-intro{padding:16px;border:1px solid var(--ink);border-left-width:4px;background:var(--soft);font-size:14px}.analysis-intro h3{font-size:21px;line-height:1.15}.analysis-intro ul{padding-left:18px}.checks-list{display:grid;gap:12px}.check-card{padding:16px;border:1px solid var(--line);border-left:4px solid #727b78;background:var(--card);display:grid;gap:10px}.check-card h3{font-size:20px;line-height:1.2}.check-number{font-family:var(--font-display);font-size:22px}.check-card.status-seuil_respecte{border-left-color:var(--green)}.check-card.status-seuil_non_respecte{border-left-color:var(--coral)}.check-card.status-a_completer,.check-card.status-a_examiner,.check-card.status-hors_perimetre{border-left-color:var(--saffron)}.check-status{white-space:normal}.status-seuil_respecte .check-status{background:var(--green-soft);color:var(--green)}.status-seuil_non_respecte .check-status{background:#fff0eb;color:#973d25}.check-calculation{font-size:14px;line-height:1.6;background:var(--soft);padding:10px;border:1px solid var(--line);font-variant-numeric:tabular-nums}.check-reasons{margin:0;padding-left:18px;font-size:13px;line-height:1.5}.missing-fields{display:grid;gap:4px;font-size:13px;background:var(--saffron-soft);padding:10px}.missing-fields .btn{text-align:left;justify-content:flex-start;white-space:normal}.rule-references{font-size:13px}.rule-references>summary{cursor:pointer;font-weight:600;color:var(--green)}.rule-reference{padding-top:10px;margin-top:10px;border-top:1px solid var(--line);display:grid;gap:7px}.rule-reference .btn{white-space:normal;font-size:12px}.analysis-limits,.comparison{padding:12px;background:var(--soft);font-size:13px;line-height:1.5}.analysis-limits summary,.comparison summary{font-weight:600;cursor:pointer}.analysis-limits ul,.comparison ul{padding-left:18px;margin:8px 0}.analysis-download{display:grid;gap:12px;padding:15px 16px;border:2px solid var(--green);background:var(--green-soft)}.analysis-download-copy{display:grid;gap:3px}.analysis-download .eyebrow{color:var(--green)}.analysis-download h3{font-size:20px;line-height:1.15}.analysis-download p:not(.eyebrow){font-size:12px;line-height:1.45;color:var(--ink-2)}.analysis-download-button{width:100%;white-space:normal}.analysis-export{display:flex;gap:8px;flex-wrap:wrap}.analysis-export details{width:100%;font-size:12px;padding:10px;border:1px solid var(--line)}.analysis-export .mono{overflow-wrap:anywhere}.same-analysis{padding:12px;border-left:3px solid var(--green);background:var(--green-soft);font-size:13px}.context-divider{border-top:2px solid var(--line);margin-top:8px;padding-top:22px;display:grid;gap:7px}
.point-confirmation,.location-confirmed{padding:9px 10px;background:var(--green-soft);border-left:3px solid var(--green);font-size:12px;line-height:1.45}.point-confirmation.is-warning{background:var(--saffron-soft);border-left-color:var(--saffron);color:var(--saffron-ink)}.point-confirmation.is-pending{background:var(--soft);border-left-color:var(--ink-3)}
.qualified-field{display:grid;gap:5px}.fact-source{display:grid;gap:5px;margin-top:3px;padding:9px 10px;background:var(--soft);border-left:3px solid var(--green)}.fact-source label{font-size:12px;font-weight:600}.fact-source .input{font-size:13px}.fact-source-note{font-size:12px;margin:2px 0 0;padding:7px 9px;background:var(--saffron-soft);border-left:3px solid var(--saffron)}
.project-measure{padding:9px 10px;background:var(--card);border:1px solid var(--line);font-size:12px}.input-evidence{padding:10px;background:var(--soft);font-size:12px}.input-evidence dl{display:grid;gap:7px;margin:7px 0 0}.input-evidence dl>div{display:grid;gap:2px}.input-evidence dt{font-weight:600}.input-evidence dd{margin:0;color:var(--ink-2)}.evidence-quality{font-weight:600}.quality-a_confirmer{color:var(--saffron-ink)}
.check-card.status-seuil_non_declenche{border-left-color:#65736c}.status-seuil_non_declenche .check-status{background:var(--soft);color:var(--ink-2)}
.associated-works{display:grid;gap:10px;padding:14px;border:1px solid var(--saffron);background:var(--saffron-soft)}.associated-work-list{display:grid;gap:8px}.associated-work-list article{padding:10px;background:var(--card);border-left:3px solid var(--saffron);font-size:13px}.associated-work-list p{margin:4px 0 0}.associated-works-unknown{padding:9px 10px;border-left:3px solid var(--line-2);background:var(--soft);font-size:12px;color:var(--ink-2)}
.particularity-section{padding:14px;border:1px solid var(--line);background:var(--card)}.particularity-list{display:grid;gap:10px}.particularity-card{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-left:4px solid var(--saffron);background:var(--soft)}.particularity-card.level-information{border-left-color:var(--green)}.particularity-card h4{font-family:var(--font-display);font-size:17px;line-height:1.25;margin:0}.particularity-card p{margin:0;line-height:1.45}.particularity-relation{background:var(--ink);color:#fff}.particularity-level{background:var(--saffron-soft);color:var(--saffron-ink)}.level-information .particularity-level{background:var(--green-soft);color:var(--green)}
@media(max-width:880px){.witness-top{gap:5px}.witness-top strong{font-size:13px}.check-card{padding:12px}.check-card h3{font-size:18px}.analysis-intro{padding:12px}.analysis-intro h3{font-size:19px}.analysis-download{padding:13px}.analysis-export .btn{white-space:normal}.fact-section{padding:10px}.rule-reference .btn{width:100%;text-align:left}.scenario-list .btn{min-height:40px}}

.project-choice{padding:14px 16px;background:var(--ink);color:#fff;border-left:5px solid var(--lime)}
.project-choice h3{font-size:24px;margin:0}.project-choice p:not(.eyebrow){font-size:12px;color:#d7dfdc;margin-top:3px}.project-choice .eyebrow{color:var(--lime)}.project-choice .kind-ok{background:var(--lime);color:var(--ink)}
.compact-terrain{display:grid;gap:10px}.compact-terrain h3{font-size:18px}.terrain-details,.poc-scenarios{border:1px solid var(--line);background:var(--soft);padding:10px 12px;font-size:13px}.terrain-details>summary,.poc-scenarios>summary{cursor:pointer;font-weight:650}.poc-scenarios[open]>summary,.terrain-details[open]>summary{margin-bottom:10px}
.fact-groups{display:grid;gap:8px}.fact-section.fact-group{padding:0;background:var(--card)}.fact-group>summary{display:grid;grid-template-columns:28px minmax(0,1fr) 16px;gap:10px;align-items:center;padding:13px 14px;list-style:none}.fact-group>summary::-webkit-details-marker{display:none}.fact-group>summary::after{content:"+";grid-column:3;font-size:20px;color:var(--green)}.fact-group[open]>summary::after{content:"−"}.fact-group>summary span:nth-child(2){display:grid;gap:2px}.fact-group>summary strong{font-size:15px}.fact-group>summary small{font-weight:400;color:var(--ink-3);font-size:12px}.fact-step{width:26px;height:26px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-size:12px;font-weight:750}.fact-section-body{padding:14px;border-top:1px solid var(--line)}.analysis-promise{text-align:center;margin-top:-4px}
.facts-origin{line-height:1.45}.facts-origin.is-demo{color:var(--saffron-ink)}

.project-verdict{display:grid;gap:13px;padding:18px;border:1px solid var(--line);border-left:6px solid var(--ink);background:var(--soft)}.project-verdict.tone-good{border-left-color:var(--green);background:var(--green-soft)}.project-verdict.tone-warn,.project-verdict.tone-blocked{border-left-color:var(--saffron);background:var(--saffron-soft)}.project-verdict.tone-bad{border-left-color:var(--coral);background:var(--coral-soft)}
.verdict-top{display:flex;gap:12px;align-items:flex-start}.verdict-mark{flex:none;width:36px;height:36px;display:grid;place-items:center;background:var(--ink);color:#fff;font-family:var(--font-display);font-size:21px}.tone-good .verdict-mark{background:var(--green)}.tone-warn .verdict-mark,.tone-blocked .verdict-mark{background:var(--saffron);color:var(--ink)}.tone-bad .verdict-mark{background:var(--coral)}.project-verdict h3{font-size:24px;line-height:1.12}.verdict-text{font-size:15px;line-height:1.45}.verdict-metrics,.verdict-meta{display:flex;gap:7px;flex-wrap:wrap}.verdict-metric,.verdict-meta>span{background:#fff;border:1px solid #ffffff90;padding:6px 9px;font-size:12px}.verdict-metric.is-good{color:var(--green);font-weight:700}.verdict-metric.is-bad{color:#973d25;font-weight:700}.verdict-metric.is-warn{color:var(--saffron-ink);font-weight:700}.verdict-legal{font-size:12px;line-height:1.45;border-top:1px solid #00000016;padding-top:10px}.scope-details{font-size:12px}.scope-details summary{cursor:pointer;font-weight:650}.scope-details ul{padding-left:18px;margin:8px 0 0}
.capacity-highlight{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:3px 10px;padding:12px 14px;background:#fff;border:1px solid #00000018;border-left:4px solid var(--green)}.capacity-highlight strong{font-family:var(--font-display);font-size:30px;line-height:1;color:var(--green)}.capacity-highlight span{font-size:13px;line-height:1.35}.capacity-highlight small{grid-column:1/-1;font-size:11px;line-height:1.4;color:var(--ink-3)}.capacity-highlight.is-range{border-left-color:var(--saffron)}.capacity-highlight.is-range strong{color:var(--saffron-ink)}.capacity-highlight.is-zero{border-left-color:var(--coral)}.capacity-highlight.is-zero strong{color:#973d25}
.controls-overview{display:grid;gap:10px}.controls-overview h3{font-size:21px}.check-card{padding:0;display:block;overflow:hidden}.check-card>summary{cursor:pointer;display:grid;grid-template-columns:30px minmax(0,1fr) auto 16px;gap:10px;align-items:center;padding:13px 14px;list-style:none}.check-card>summary::-webkit-details-marker{display:none}.check-card>summary::after{content:"+";font-size:19px;color:var(--ink-3)}.check-card[open]>summary::after{content:"−"}.check-number{font-size:17px;width:28px;height:28px;background:var(--soft);display:grid;place-items:center}.check-summary-text{display:grid;gap:3px;min-width:0}.check-summary-text strong{font-family:var(--font-display);font-size:17px;line-height:1.2}.check-summary-text small{font-size:11px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.check-card-body{display:grid;gap:10px;padding:14px;border-top:1px solid var(--line)}.check-card-body .check-calculation{margin:0}.technical-scope{font-size:12px}.technical-scope summary{cursor:pointer;font-weight:650}.technical-scope p{margin-top:8px}.input-evidence dd{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.evidence-quality{background:var(--saffron-soft);padding:2px 5px}.analysis-limits,.comparison{border:1px solid var(--line)}.analysis-limits:not([open]),.comparison:not([open]){background:var(--card)}

.context-overview{padding:15px 16px;background:var(--ink);color:#fff;border-left:5px solid var(--lime)}.context-overview .eyebrow{color:var(--lime)}.context-overview h3{font-size:21px;line-height:1.2}.context-metrics{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.context-metrics span{font-size:11px;padding:5px 8px;background:#ffffff16;border:1px solid #ffffff26}
.context-group{border:1px solid var(--line);background:var(--card)}.context-group>summary{cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto 16px;gap:10px;align-items:center;padding:13px 14px;list-style:none}.context-group>summary::-webkit-details-marker{display:none}.context-group>summary::after{content:"+";font-size:19px;color:var(--green)}.context-group[open]>summary::after{content:"−"}.context-group>summary>span:first-child{display:grid;gap:2px}.context-group>summary strong{font-size:14px}.context-group>summary small{font-size:11px;color:var(--ink-3)}.context-group-body{display:grid;gap:14px;padding:14px;border-top:1px solid var(--line)}.attention-group{border-left:4px solid var(--saffron)}.context-clear{padding:10px 12px;background:var(--green-soft);border-left:3px solid var(--green);font-size:12px}.context-subgroup{display:grid;gap:8px}.context-subgroup h4{font-family:var(--font-display);font-size:17px}.point-context{display:grid;gap:5px;padding:11px 12px;background:var(--green-soft);border-left:3px solid var(--green);font-size:12px}.point-context p{margin:0}.coverage-details{font-size:12px;background:var(--soft);padding:10px}.coverage-details summary{cursor:pointer;font-weight:650}.coverage-details p{margin-top:8px}.documents-group .context-group-body{gap:8px}.context-divider{padding-top:18px}.context-divider h3{font-size:20px}

@media(max-width:880px){
  .project-verdict{padding:14px}.project-verdict h3{font-size:21px}.verdict-mark{width:32px;height:32px;font-size:18px}
  .check-card{padding:0}.check-card>summary{grid-template-columns:28px minmax(0,1fr) 16px;padding:12px 10px}.check-card>summary .check-status{grid-column:2;justify-self:start}.check-card>summary::after{grid-column:3;grid-row:1/3}.check-summary-text strong{font-size:15px}.check-summary-text small{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .fact-group>summary{padding:12px 10px}.context-group>summary{padding:12px 10px}.controls-overview>.between{align-items:flex-start}.controls-overview>.between>.small{max-width:115px;text-align:right}
  .capacity-highlight{grid-template-columns:1fr}.capacity-highlight strong{font-size:26px}.capacity-highlight small{grid-column:1}
}

/* Sélection libre : aides de développement discrètes, couverture avant la saisie. */
.witness-tools{border:1px solid var(--line);background:var(--soft);padding:12px 14px}
.witness-tools>summary{cursor:pointer;font-size:14px;line-height:1.4}
.witness-tools>summary>span{display:inline-grid;gap:3px;vertical-align:middle}
.witness-tools>summary small{font-size:11px;color:var(--ink-3);font-weight:400}
.witness-tools[open]>#witnesses{padding-top:16px}
.terrain-coverage{padding:12px 14px;background:var(--soft);border-left:3px solid var(--green);display:grid;gap:6px;font-size:14px}
.terrain-coverage.is-limited{background:var(--saffron-soft);border-left-color:var(--saffron)}
.terrain-coverage summary{cursor:pointer;font-size:12px}.terrain-coverage ul{padding-left:18px;font-size:12px}

/* Expliquer les changements de formulaire sans multiplier les alertes. */
.fact-explanation{padding:10px 12px;background:var(--soft);border-left:3px solid var(--line-2);font-size:12px;line-height:1.5;color:var(--ink-2)}
.fact-explanation strong{display:block;margin-bottom:5px;font-size:13px;color:var(--ink)}
.fact-explanation p{margin:0}.fact-explanation p+p{margin-top:6px}
.capacity-explanation strong{display:inline;margin:0;font-size:inherit}
.evidence-source{display:inline-block;font-size:10px;color:var(--ink-3);padding:1px 5px;border:1px solid var(--line);margin-left:3px;vertical-align:baseline}

/* Terrain first, compact work picker, optional map. */
.sr-only{top:0;left:0}
.panel{min-width:0;container-type:inline-size}
.map-visibility-button{gap:7px;white-space:nowrap}
.map-visibility-button svg{flex:none}
.project-terrain{display:grid;gap:14px;border:1px solid var(--line);border-top:4px solid var(--green);background:var(--card);padding:15px}
.project-terrain>.between{align-items:flex-start;gap:8px}
.project-terrain .eyebrow{margin-bottom:5px}
.project-terrain #project-title{font-size:25px;line-height:1.12}
.project-terrain .btn{flex:none}
.terrain-key-facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:0}
.terrain-key-facts>div{min-width:0}
.terrain-key-facts dt{font-size:11px;color:var(--ink-3);margin-bottom:2px}
.terrain-key-facts dd{font-family:var(--font-display);font-size:26px;line-height:1.15;font-weight:600;margin:0;overflow-wrap:anywhere}
.terrain-key-facts>div+div{border-left:1px solid var(--line);padding-left:14px}
.project-zone-summary>strong{display:block;font-family:var(--font-display);font-size:18px;line-height:1.3}
.project-zone-summary .project-zone-declaration{font-size:12px;color:var(--ink-2);margin-top:4px}
.terrain-reference{font-size:11px;color:var(--ink-3)}
.terrain-reference>summary{cursor:pointer}
.terrain-reference p{padding-top:7px;overflow-wrap:anywhere;font-size:11px}
.work-picker-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.panel-body .work-picker-label{font-family:var(--font-display);font-size:25px;line-height:1.12;color:var(--ink);font-weight:600}
.work-type-chip{display:inline-flex;gap:14px;align-items:center;justify-content:space-between;background:var(--ink);color:var(--lime);border:1px solid var(--ink);border-radius:0;padding:9px 12px;min-height:44px;cursor:pointer;max-width:100%;text-align:left}
.work-type-chip:hover{background:var(--green-deep)}
.work-type-chip strong{font-size:16px;line-height:1.3}
.chip-action{display:flex;gap:8px;align-items:center;font-size:11px;color:#fff;white-space:nowrap}
.point-location{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;padding:13px;border:1px solid var(--line);background:var(--card)}
.point-location>.between{grid-column:1/-1}
.point-location h3{font-size:14px}
.point-location .badge{font-size:10px}
.point-location>#place-point{grid-column:1/-1;justify-self:stretch;min-height:44px;font-size:13px}
.point-location>#point-guidance{grid-column:1/-1;font-size:12px}
.point-location>#clear-point{justify-self:start;padding:4px 0;min-height:32px;font-size:11px}
.point-detail{display:contents;font-size:12px}
.point-detail>summary{align-self:center;justify-self:end;color:var(--green);font-size:11px;cursor:pointer}
.point-detail>.stack-sm{grid-column:1/-1;background:var(--soft);padding:10px}
.point-detail.has-warning>summary{color:var(--coral);font-weight:600}
#controls-form>.coverage-summary{margin:0;font-size:11px;color:var(--ink-3)}
#facts-origin-note:not(.is-demo){padding:0;background:none;border:0;font-size:12px;color:var(--ink-2)}
#project-controls{gap:16px}
.work-type-dialog{border:0;border-top:4px solid var(--lime);padding:0;background:var(--panel);color:var(--ink);width:560px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 48px)}
.work-type-dialog[open]{display:flex;flex-direction:column}
.work-type-dialog .dialog-top{flex:none;align-items:center}
.work-type-dialog .dialog-top .eyebrow{margin-bottom:4px}
.work-type-dialog .dialog-top h2{font-size:24px}
.work-search{padding:16px 20px 12px;display:grid;gap:8px;flex:none}
.work-search .input{width:100%}
.work-type-results{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:0 20px 20px;min-height:0}
.work-options{display:grid;gap:5px}
.work-option{width:100%;display:flex;align-items:center;gap:12px;justify-content:space-between;padding:12px;text-align:left;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;cursor:pointer;min-height:50px}
.work-option>span:first-child{display:grid;gap:3px;min-width:0}
.work-option strong{font-size:14px;line-height:1.3}
.work-option small{font-size:10px;line-height:1.35;color:var(--ink-3)}
.work-option.is-selected{background:var(--lime-soft);border-color:var(--green)}
.work-option:hover:not(:disabled){border-color:var(--green);background:var(--green-soft)}
.work-option:disabled{cursor:default;color:var(--ink-2)}
.work-option-status{font-size:10px;white-space:nowrap;color:var(--ink-3)}
.work-option.is-selected .work-option-status{color:var(--green);font-weight:700}
.work-families-label{margin:17px 0 8px;font-size:11px;color:var(--ink-3)}
.work-families{border-top:1px solid var(--line)}
.work-family{border-bottom:1px solid var(--line)}
.work-family>summary{display:flex;align-items:center;gap:10px;font-size:13px;padding:12px 0;cursor:pointer;list-style:none}
.work-family>summary::-webkit-details-marker{display:none}
.work-family>summary::after{content:"+";color:var(--green);font-size:17px}
.work-family[open]>summary::after{content:"−"}
.work-family-count{font-size:11px;color:var(--ink-3);margin-left:auto}
.work-family>.work-options{padding-bottom:12px}
.work-empty,.work-load-note{font-size:13px;padding:14px 0;color:var(--ink-2)}
@media(min-width:881px){
  .app,.app.result-mode{grid-template-columns:minmax(360px,33.3333%) minmax(0,1fr)}
  .app.result-mode .panel-body{padding:18px 22px 28px}
  .app.map-hidden,.app.map-hidden.result-mode{grid-template-columns:minmax(0,1fr)}
  .app.map-hidden .panel{border-right:0}
  .app.map-hidden .panel-body{padding:24px}
  .app.map-hidden .panel-body>.view{width:100%;max-width:860px;margin-inline:auto}
  .app.map-hidden .steps{padding-inline:max(16px,calc((100% - 880px)/2))}
  .app.map-hidden .panel-foot>.actions{max-width:860px;margin-inline:auto}
}
@container(max-width:440px){
  .check-card>summary{grid-template-columns:26px minmax(0,1fr) 16px;gap:7px}
  .check-card>summary .check-status{grid-column:2;justify-self:start}
  .check-card>summary::after{grid-column:3;grid-row:1/3}
  .check-summary-text strong{font-size:15px}
  .controls-overview>.between{align-items:flex-start}
  .controls-overview>.between>.small{max-width:110px;text-align:right}
  .point-location{column-gap:6px}
  .point-detail>summary{font-size:10px}
}
@media(max-width:880px){
  .app.map-hidden,.app.map-hidden.map-big{grid-template-rows:minmax(0,1fr)}
  .topbar{padding-inline:12px;column-gap:8px}
  .topbar .btn{font-size:11px;min-height:34px;padding:5px 8px}
  .map-visibility-button{gap:5px}
  .map-visibility-button svg{width:15px}
  .brand{gap:8px}
  .brand small{display:none}
  .project-terrain{padding:13px}
  .project-terrain #project-title,.panel-body .work-picker-label{font-size:22px}
  .terrain-key-facts dd{font-size:24px}
  .work-type-dialog{max-width:calc(100vw - 16px);max-height:calc(100dvh - 20px)}
  .work-type-dialog .dialog-top h2{font-size:21px}
  .work-search{padding:12px}
  .work-type-results{padding:0 12px 12px}
}

/* Couverture du POC : les couleurs décrivent les calculs disponibles. */
.poc-coverage{border:1px solid var(--line);border-left:3px solid var(--green);background:#fff}
.poc-coverage>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;cursor:pointer;list-style:none}
.poc-coverage>summary::-webkit-details-marker{display:none}
.poc-coverage>summary::after{content:"+";font-size:20px;color:var(--green)}
.poc-coverage[open]>summary::after{content:"−"}
.poc-coverage>summary>span{display:grid;gap:3px}
.poc-coverage strong{font-size:13px;line-height:1.4}
.poc-coverage small{font-size:12px;color:var(--ink-3)}
.poc-coverage>div{display:grid;gap:8px;padding:12px 13px;border-top:1px solid var(--line);font-size:12px}
.terrain-coverage:not(.is-limited){border-left-color:var(--green)}
.sw-zone-pending{background:#e87968;border:1px dashed #c43c2c}
.map-coverage{position:absolute;right:12px;top:12px;z-index:800;width:286px;max-width:calc(100% - 66px);background:#fff;border:1.5px solid var(--ink);padding:10px;max-height:calc(100% - 56px);overflow:auto}
.map-coverage-title{margin:0 0 7px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.zone-filters{display:grid;grid-template-columns:.8fr 1.35fr 1fr;gap:4px}
.zone-filters button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:34px;padding:5px 3px;background:#fff;border:1px solid var(--line-2);border-radius:0;color:var(--ink);font:inherit;font-size:11px;font-weight:600;cursor:pointer}
.zone-filters button:hover{border-color:var(--ink)}
.zone-filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.zone-filters button[data-zone-filter=integrated][aria-pressed=true]{background:var(--green-soft);border-color:var(--green);color:var(--green)}
.zone-filters button[data-zone-filter=pending][aria-pressed=true]{background:#fbe0da;border-color:#c43c2c;color:#92271b}
.zone-filters button:disabled{cursor:wait;opacity:.55}
.zone-filters .sw{flex:none;width:10px;height:10px}
#map-coverage-key{display:grid;gap:4px;margin-top:8px;font-size:10px;letter-spacing:0;text-transform:none;font-weight:500}
.legend-coverage-row{display:flex;align-items:center;gap:7px}
.legend-coverage-row .sw{flex:none;width:12px;height:12px}
#map-zone-feedback{margin:8px 0 0;font-size:11px;line-height:1.4}
.map-legend{display:block;position:static;max-width:none;max-height:none;overflow:visible;padding:5px 0 0;margin-top:8px;border:0;border-top:1px solid var(--line);font-size:12px}
.map-legend summary{align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.04em}
.map-legend .help{margin:5px 0 8px}
@media(max-width:1050px) and (min-width:881px){.map-coverage{top:55px;max-height:calc(100% - 95px)}}
@media(max-width:880px){
  .map-coverage{top:auto;bottom:44px;left:10px;right:10px;width:auto;max-width:none;padding:6px 8px;max-height:calc(100% - 94px);display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px}
  .map-coverage-title{display:none}
  .zone-filters{grid-column:1 / -1}
  .zone-filters button{min-height:32px;font-size:10px}
  #map-coverage-key{font-size:9px;margin-top:5px;grid-column:1}
  #map-coverage-key .legend-coverage-row:last-child{display:none}
  #map-zone-feedback{grid-column:1 / -1}
  .map-legend{grid-column:2;margin-top:5px;padding:0;border:0;align-self:start}
  .map-legend summary{font-size:9px;padding:0}
  .map-legend[open]{grid-column:1 / -1}
}

/* Couverture par parcelle, avant le formulaire. */
.selection-coverage{padding:12px;border-left:4px solid #68756D;background:#f1f2ed;font-size:.88rem;line-height:1.45}.selection-coverage p{margin:6px 0 0}.selection-coverage.is-available{border-color:#0B7A45;background:#edf6ee}.selection-coverage.is-pending{border-color:#C43C2C;background:#fff0eb}.selection-coverage details{margin-top:8px}.coverage-tip{max-width:300px;white-space:normal;line-height:1.45}

/* Information de plantation hors des contrôles et guide avant saisie. */
.general-information{padding:16px;margin:16px 0;border:1px solid var(--border,#d5ded8);background:#f3f5ed;}
.general-information h3{font-size:17px;margin:4px 0 8px;}
.general-information p{margin:6px 0;}
.general-information details{margin-top:10px;}
.general-information summary,.parking-guide summary{cursor:pointer;font-weight:600;}
.parking-guide{margin-bottom:14px;}
.parking-guide strong{display:block;font-size:16px;}
.parking-guide p{margin:8px 0;}
.parking-guide details{font-size:13px;}

/* Calculs disponibles sous contrainte locale : aucun vert implicite. */
.sw-zone-partial{background:#8ECF9F;border-color:#609B72}.selection-coverage.is-partial{border-left:3px solid #996000;background:#fff4d8}.zone-filters{flex-wrap:wrap}

/* Emprises explicitement hors du champ résidentiel de Typolu. */
.sw-scope{background:repeating-linear-gradient(125deg,#d6dbd8 0 4px,#505a56 4px 6px,#d6dbd8 6px 10px);border:1px solid #505a56}
.scope-notice{padding:16px;background:#edf0ee;border-left:4px solid #505a56;color:#18241e;margin-bottom:12px}.scope-notice p{margin:8px 0}.scope-notice strong{display:block}.scope-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.scope-notice details{font-size:12px}.scope-notice .eyebrow{color:#43564b}

#map-scope-count{font-size:11px;line-height:1.4}

.scope-outside #analysis-content,.scope-outside #view-context > .stack-sm > .eyebrow,.scope-outside #view-context > .stack-sm > .lead,.scope-outside #view-context > .context-divider{display:none}
@media(max-width:880px){.map-coverage > .legend-coverage-row,.map-coverage #map-coverage-key{grid-column:1 / -1}}

.territory-evidence{margin:0}.territory-evidence img{display:block;width:100%;height:auto;border:1px solid var(--line,#cbd4c8)}

/* Les contours réglementaires se lisent séparément des couleurs de disponibilité. */
.sw-plu-zones{background:#e2e8f5;border-color:#486db3}
.plu-zones-key{padding-top:4px}.plu-zones-key .help{font-size:11px;line-height:1.4;margin:5px 0}
#plu-zones-codes{display:flex;flex-wrap:wrap;gap:4px 10px;margin:7px 0}
.plu-zone-key{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--ink)}
.plu-zone-key .sw{width:12px;height:12px;border-width:2px}
.plu-zone-label{width:auto!important;height:auto!important;background:none;border:0;padding:0;box-shadow:none;border-radius:0;color:#14231b;font-size:11px;font-weight:800;line-height:1.1;white-space:nowrap;pointer-events:none}
.plu-zone-label>span{display:block;background:#ffffffee;border:1px solid var(--zone-colour,#486db3);padding:2px 4px;transform:translate(-50%,-50%)}
.zone-boundary-review[open]>section{padding-top:12px}.zone-boundary-review-list{display:grid;gap:6px;max-height:320px;overflow:auto}
.zone-boundary-review-row{display:grid;gap:3px;width:100%;padding:9px 10px;text-align:left;border:1px solid var(--line-2);border-radius:0;background:#fff;color:var(--ink);font:inherit;cursor:pointer}
.zone-boundary-review-row:hover,.zone-boundary-review-row:focus-visible{border-color:var(--ink);background:var(--green-soft)}
.zone-boundary-review-row small{font-size:11px;line-height:1.4;color:var(--ink-2)}
.zone-boundary-review-filters{display:grid;gap:8px}.zone-boundary-review-filters label{display:grid;gap:4px;font-size:12px;font-weight:700}
.zone-boundary-review-filters input,.zone-boundary-review-filters select{width:100%;border:1px solid var(--line-2);border-radius:0;background:#fff;color:var(--ink);padding:7px 9px;font:inherit;min-height:34px}
.zone-boundary-review-pagination{gap:6px}.zone-boundary-review-pagination button{padding:7px 8px;font-size:11px}
@media(max-width:880px){.plu-zones-key{grid-column:1 / -1}.plu-zone-label{font-size:10px}}

/* Le choix de commune appartient seulement à cet essai local. */
.check-card.status-information{border-left-color:var(--ink-3)}
.status-information .check-status{background:var(--soft);color:var(--ink-2)}
.project-verdict.tone-info{border-color:var(--line-2);background:var(--soft)}
.tone-info .verdict-mark{background:var(--line);color:var(--ink)}
.topbar .local-territory-switch{width:auto;max-width:145px;min-width:105px;min-height:34px;font-size:13px;background:transparent;color:#fff;border:1px solid #8a9b90;padding:5px 8px}
.local-territory-switch option{color:#0f1a17;background:#fff}
@media(max-width:880px){
  .topbar .local-territory-switch{order:4;width:105px;min-width:90px;min-height:20px;height:20px;padding:0 5px;font-size:11px}
  .topbar:has(.local-territory-switch:not([hidden])) .live-badge{width:auto;flex:1 0 calc(100% - 113px);padding-left:40px}
}
