/* Existing workbench language, now led by actual geometry and immutable output. */
.figura-area { display:block; width:100%; background:#edf3f2; border-radius:8px; }
.figura-area text { font:12px "IBM Plex Sans",system-ui; fill:#203b43; paint-order:stroke; stroke:#edf3f2; stroke-width:3px; stroke-linejoin:round; }
.figura-atual { fill:#80b9a84d; stroke:#11694f; stroke-width:2.2; }
.figura-anterior { fill:#dab77926; stroke:#936322; stroke-width:2; stroke-dasharray:8 5; }
.figura-ponto { fill:white; stroke:#11694f; stroke-width:2; }
.figura-reticula { fill:none; stroke:#d7e3e0; stroke-width:1; }
.figura-norte { fill:none; stroke:#203b43; stroke-width:2; }
figure { margin:0; }
figcaption { font-size:12px; line-height:1.5; color:#52676e; padding:10px 0; }
.explorador-areas { display:grid; grid-template-columns:250px minmax(0,1fr); background:white; border:1px solid var(--filete); border-radius:12px; overflow:hidden; }
.explorador-areas nav { background:#f8fafa; padding:14px; max-height:620px; overflow:auto; border-right:1px solid var(--filete); }
.area-opcao { display:grid; gap:5px; padding:16px 12px; text-decoration:none; border-bottom:1px solid var(--filete); color:var(--tinta); }
.area-opcao[aria-current] { background:#dfede8; border-radius:8px; }
.area-opcao span,.area-opcao small { color:#50666d; font-size:13px; }
.area-selecionada { min-width:0; padding:24px; }
.area-selecionada header { display:flex; gap:16px; align-items:center; justify-content:space-between; margin-bottom:18px; }
.area-selecionada header h2 { margin:0; }
.area-selecionada header p { margin:6px 0 0; color:#52676e; }
.area-selecionada figure svg { max-height:450px; }
.area-selecionada footer { display:flex; flex-wrap:wrap; gap:20px; align-items:center; justify-content:space-between; padding-top:12px; }
.area-selecionada footer div { display:grid; gap:4px; }
.area-selecionada footer span { font-size:12px; color:#52676e; }
.registro-tabular { margin:20px 0; }
#criar-area { margin-top:20px; }
.comparacao-controles { display:flex; flex-wrap:wrap; gap:18px; border:0; padding:0; margin:0 0 12px; }
.comparacao-controles label { display:flex; align-items:center; gap:8px; }
.comparacao-area:has([value="atual"]:checked) [data-versao-figura="anterior"],
.comparacao-area:has([value="anterior"]:checked) [data-versao-figura="atual"] { visibility:hidden; }
.comparacao-area figure { max-width:960px; margin:auto; }
.casos-visuais { display:flex; gap:18px; overflow-x:auto; padding-bottom:6px; }
.caso-visual { display:grid; grid-template-columns: minmax(150px, 210px) minmax(160px,1fr); gap:20px; align-items:center; min-width:350px; max-width:650px; flex:1; padding:14px; border:1px solid var(--filete); border-radius:12px; background:white; color:var(--tinta); text-decoration:none; }
.caso-visual figcaption { display:none; }
.caso-visual > div { display:grid; gap:6px; }
.caso-visual span,.caso-visual small { color:#52676e; font-size:13px; }
.retomar-areas { margin-bottom:28px; }
.leitura-espacial { display:grid; grid-template-columns:150px 180px minmax(0,1fr); gap:24px; padding:14px 18px; margin-bottom:14px; background:#e5efeb; border-radius:8px; }
.leitura-espacial > div { display:grid; align-content:start; gap:4px; }
.leitura-espacial span { font-size:12px; color:#52676e; }
.leitura-espacial strong { font-size:14px; font-weight:600; }
.mapa-rotulo { font-family:"IBM Plex Sans",system-ui; fill:#123d62; paint-order:stroke; stroke:#eef4f2; stroke-width:.000035; stroke-linejoin:round; pointer-events:none; }
.mapa-vertice--selecionado { fill:#ffe399; stroke:#133f68; }
.mapa-legendas { padding:8px 16px; background:#f3f7f6; border-top:1px solid var(--filete); }
.mapa-legendas .mapa-extensao,.mapa-legendas .mapa-sem-base { position:static; max-width:none; width:auto; font-size:11px; line-height:1.5; margin:0; padding:2px 0; color:#354e56; background:none; }
.mapa-painel .vertices-do-rascunho,.mapa-painel .metricas-do-rascunho { border:0; padding:0; margin:0; box-shadow:none; }
.mapa-painel .form-mover-vertice { display:grid; grid-template-columns:1fr; }
.mapa-painel .vertices-do-rascunho table,.mapa-painel .vertices-do-rascunho tbody,.mapa-painel .vertices-do-rascunho tr,.mapa-painel .vertices-do-rascunho td,.mapa-painel .vertices-do-rascunho th { display:block; width:100%; min-width:0; }
.mapa-painel .vertices-do-rascunho thead { display:none; }
.mapa-painel [data-editor-vertice][hidden] { display:none; }
.publicacao-area { border-top:1px solid var(--filete); padding-top:18px; margin-top:18px; }
.entrega-composicao { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr); background:white; border:1px solid var(--filete); border-radius:12px; margin:24px 0; overflow:hidden; }
.entrega-composicao > figure { padding:24px; align-self:center; }
.entrega-inspector { border-left:1px solid var(--filete); padding:24px; display:grid; align-content:start; gap:14px; }
.entrega-inspector h2,.entrega-inspector p { margin:0; }
.entrega-inspector dt { font-size:12px; color:#52676e; }
.entrega-inspector dd { margin:0 0 12px; }
.galeria-entregas { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:20px; margin:20px 0; }
.galeria-entregas figure { border:1px solid var(--filete); border-radius:10px; overflow:hidden; }
.galeria-entregas img { display:block; width:100%; height:220px; object-fit:contain; background:#f4f7f7; }
.galeria-entregas figcaption { padding:12px; }
@media (max-width:900px) {
  .explorador-areas { grid-template-columns:190px minmax(0,1fr); }
  .entrega-composicao { grid-template-columns:1fr; }
  .entrega-inspector { border-left:0; border-top:1px solid var(--filete); }
  .mapa-quadro > svg { min-height:300px; height:44dvh; }
}
@media (max-width:720px) {
  .explorador-areas { display:block; }
  .explorador-areas nav { display:flex; gap:8px; max-height:155px; border-right:0; border-bottom:1px solid var(--filete); }
  .area-opcao { min-width:180px; }
  .area-selecionada { padding:16px; }
  .area-selecionada header { align-items:start; }
  .area-selecionada footer { gap:14px; }
  .caso-visual { min-width:300px; grid-template-columns:120px 1fr; gap:12px; }
  .leitura-espacial { grid-template-columns:1fr 1fr; gap:10px; }
  .leitura-espacial > div:last-child { grid-column:1/-1; }
  .mapa-extensao { font-size:10px; }
  .figura-area text { font-size:21px; }
  .entrega-composicao > figure,.entrega-inspector { padding:16px; }
}
