/* Proteção responsiva consolidada do painel: evita estouro de textos/números e adapta cards/tabelas sem alterar cálculos. */
.grid-kpi{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));align-items:stretch}
.kpi,.segcard,.fat,.card,.chart,.tablecard{min-width:0}
.kpi .val,.val{font-size:clamp(18px,2.2vw,30px);line-height:1.12;white-space:normal;overflow-wrap:anywhere;word-break:normal;max-width:100%}
.kpi .lab,.lab{overflow-wrap:anywhere}
.projects{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));align-items:start}
.fatgrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))}
.fat b{overflow-wrap:anywhere;line-height:1.3}
.fat span{display:block;font-size:clamp(16px,1.55vw,23px);line-height:1.18;white-space:normal;overflow-wrap:anywhere;max-width:100%}
.fat .line{align-items:flex-start;min-width:0}
.fat .line em{min-width:0;overflow-wrap:anywhere}
.fat .line strong{min-width:0;max-width:58%;text-align:right;white-space:normal;overflow-wrap:anywhere}
.splitline{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}
.preview-wrap,.import-mirror-wrap,.structure-scroll,.imported-months-scroll{max-width:100%;overflow:auto}
table{max-width:100%}
.modalbox{width:min(1080px,96vw)}
.form-row,.two{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
@media(max-width:1400px){.charts{grid-template-columns:1fr}.grid-kpi{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}}
@media(max-width:980px){.content{padding:18px}.projects{grid-template-columns:1fr}.fatgrid{grid-template-columns:1fr}.trendbox{grid-template-columns:1fr}.modal{padding:10px}.modalbox{width:98vw;max-height:94vh}}
@media(max-width:720px){.top{align-items:flex-start;flex-direction:column;gap:10px}.filters{width:100%}.filters select{width:100%}.grid-kpi{grid-template-columns:1fr}.kpi{min-height:auto}.val{font-size:22px}.fat .line{display:grid;grid-template-columns:1fr;gap:3px}.fat .line strong{max-width:100%;text-align:left}.chip{max-width:100%;white-space:normal;height:auto;min-height:40px;padding:9px 14px}}
