.am-app{max-width:1240px;margin:0 auto;color:var(--ink,#17221e)}
.am-app h2,.am-app h3{margin:0 0 12px}.am-app p{line-height:1.5}
.am-intro{padding:20px 0}.am-intro p{max-width:850px}.am-sub{color:var(--muted,#57675f);font-size:13px}
.am-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.am-card{background:var(--paper,#fff);border:1px solid var(--rule,#cdd5cf);padding:22px;min-width:0;border-radius:8px}
.am-wide{grid-column:1/-1}.am-actions,.am-fields{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:16px 0}
.am-fields label{display:flex;flex-direction:column;gap:6px;font-size:13px;max-width:100%;flex:1 1 150px}
.am-fields input,.am-fields select,.am-fields textarea{box-sizing:border-box;width:100%;padding:9px;border:1px solid var(--rule,#cdd5cf);background:var(--paper,#fff);color:inherit;border-radius:4px;font:inherit}
.am-check{display:flex;align-items:center;gap:8px;font-weight:600}.am-check input{width:18px;height:18px;accent-color:var(--accent,#196c52)}.am-app fieldset{min-width:0;margin:14px 0;padding:12px;border:1px solid var(--rule,#cdd5cf);border-radius:4px}.am-app fieldset:disabled{opacity:.65}.am-app legend{padding:0 6px;font-weight:600;font-size:13px}
.am-actions button,.am-app button{min-height:38px;padding:8px 14px;border-radius:4px;cursor:pointer}
.am-primary{background:var(--accent,#196c52);color:white;border:1px solid transparent}.am-app button:disabled{opacity:.5;cursor:wait}
.am-result{margin-top:14px;overflow-wrap:anywhere}.am-scroll{overflow:auto;max-height:440px}.am-app table{width:100%;border-collapse:collapse;font-size:13px}.am-app td,.am-app th{padding:9px 8px;text-align:left;border-bottom:1px solid var(--rule,#dbe1dc);white-space:normal}
.am-status{padding:12px 0;min-height:24px;white-space:pre-line}.am-error{color:#a12c22}.am-note{border-left:3px solid var(--accent,#196c52);padding-left:12px}.am-rule{padding:12px 0;border-bottom:1px solid var(--rule,#cdd5cf)}.am-rule p{margin:6px 0}.am-app details{margin:14px 0}.am-app summary{cursor:pointer;font-weight:600}.am-app pre{max-height:300px;overflow:auto;white-space:pre-wrap;font-size:12px}.am-app input[type=file]{max-width:100%}
@media(max-width:760px){.am-grid{grid-template-columns:1fr}.am-card{padding:16px}.am-fields label{flex-basis:100%}.am-app{width:100%}.am-actions button{flex:1 1 150px}}
/* Conciliação sincronizada: valores sem quebra no meio; a tabela rola na largura do cartão. */
.am-conc table th,.am-conc table td{overflow-wrap:normal}.am-conc .am-n{white-space:nowrap;text-align:right}
/* As tabelas da conciliação não herdam a largura mínima global: cabem no cartão. Em cartão
   estreito (celular, tablet e coluna dupla), cada imóvel vira um bloco rotulado, como em Notificar. */
.am-conc{container-type:inline-size}.am-conc table{min-width:0}.am-conc th.am-n{white-space:normal}.am-conc td,.am-conc th{padding-left:6px;padding-right:6px}
@container (max-width:540px){
.am-conc .am-conc-itens,.am-conc .am-conc-itens tbody{display:block;width:100%}
.am-conc .am-conc-itens thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.am-conc .am-conc-itens tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px;padding:10px 0;border-bottom:1px solid var(--rule,#dbe1dc)}
.am-conc .am-conc-itens td{display:block;border:0;padding:0;text-align:left;white-space:normal;overflow-wrap:anywhere}
.am-conc .am-conc-itens td:nth-child(2){grid-column:span 2}.am-conc .am-conc-itens td:nth-child(3){grid-column:1/-1}
.am-conc .am-conc-itens td::before{content:attr(data-label);display:block;font-size:11.5px;color:var(--muted,#57675f)}
}
@container (max-width:310px){.am-conc .am-conc-itens tr{grid-template-columns:repeat(2,minmax(0,1fr))}.am-conc .am-conc-itens td:nth-child(2){grid-column:auto}}
.am-exata{margin-top:22px;padding-top:18px;border-top:1px solid var(--rule,#cdd5cf)}.am-exata h4{margin:0 0 8px}.am-certificado{border-left:3px solid var(--rev,#a12c22);padding-left:12px}
.am-figura{margin:16px 0}.am-figura figcaption{font-weight:600;font-size:13px;margin-bottom:6px}.am-curva{display:block;width:100%;max-width:560px;height:auto}.am-curva text{fill:var(--muted,#57675f);font-size:13px}
.am-curva-grade{stroke:var(--rule,#dbe1dc);stroke-width:1}.am-curva-eixo{stroke:var(--muted,#57675f);stroke-width:1}.am-curva-faixa{fill:var(--accent-weak,#e9f2ef)}
.am-curva-linha{fill:none;stroke:var(--accent,#196c52);stroke-width:2.5;stroke-linejoin:round}.am-curva-ponto{fill:var(--accent,#196c52)}.am-curva-limite{stroke:var(--rev,#a12c22);stroke-width:1.5;stroke-dasharray:6 4}
.am-exata .am-fields label{max-width:320px}@media(max-width:760px){.am-curva text{font-size:17px}.am-exata .am-fields label{max-width:none}}
/* Equidade por recorte: palavras e valores sem quebra; a tabela larga rola dentro do cartão
   com o cabeçalho e o recorte fixos. */
#amEquidade th,#amEquidade td{overflow-wrap:normal}.am-recortes td{white-space:nowrap}
.am-recortes thead th{position:sticky;top:0;z-index:1;background:var(--bg-sunken,#f7f8f6)}
.am-recortes th:first-child,.am-recortes td:first-child{position:sticky;left:0}.am-recortes thead th:first-child{z-index:2}
.am-recortes td:first-child{background:var(--paper,#fff)}.am-recortes tbody tr:hover>td:first-child{background:var(--accent-weak,#e9f2ef)}
/* Tabelas de duas colunas não herdam a largura mínima global: cabem no cartão estreito. */
#amImpacto table,.am-motivos table{min-width:0}#amImpacto td+td{white-space:nowrap;text-align:right}
