/* ---------- etapa 4: DRE e lançamentos ---------- */
.filtros-dre { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 10px 14px; margin-bottom: 14px; }
.grade-5 { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
@media (max-width: 1200px) { .grade-5 { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px) { .grade-5 { grid-template-columns: 1fr 1fr; } }
details.multi { position: relative; }
details.multi summary { list-style: none; cursor: pointer; background: var(--bg2); border: 1px solid var(--linha); border-radius: 8px; padding: 6px 10px; font-weight: 600; font-size: 13px; }
details.multi .multi-lista { position: absolute; z-index: 20; top: 36px; left: 0; min-width: 240px; background: var(--bg1); border: 1px solid var(--linha); border-radius: 10px; padding: 10px; display: grid; gap: 6px; box-shadow: 0 10px 30px rgba(0,0,0,.35); }
.tabela.dre td, .tabela.dre th { white-space: nowrap; }
.tabela.dre td small { display: block; color: var(--tx3); font-size: 10px; }
.tabela.dre tr.grupo td { background: var(--bg2); font-weight: 800; }
.tabela.dre tr.filho td:first-child { padding-left: 34px; color: var(--tx2); }
.tabela.dre tr.resultado td { font-weight: 800; border-top: 2px solid var(--linha); border-bottom: 2px solid var(--linha); background: rgba(var(--p-rgb), .06); }
.tabela.dre tr.lucro td { background: rgba(var(--p-rgb), .14); font-size: 14px; }
.tabela.dre td.tot { font-weight: 800; border-left: 1px solid var(--linha); }
.tabela.dre td.ant { color: var(--tx2); border-left: 1px dashed var(--linha); }
.tabela.dre td.ant small { display: inline-block; margin-top: 2px; padding: 1px 6px; border-radius: 6px; }
button.recolher { background: none; border: 0; color: var(--p); cursor: pointer; font-size: 13px; padding: 0 4px; }
.kpi .desc { margin-top: 4px; }

/* ---------- listas suspensas legíveis no tema escuro ---------- */
html[data-modo="escuro"] select { color-scheme: dark; }
html[data-modo="escuro"] select option { background: var(--bg1); color: var(--tx); }
html[data-modo="claro"] select { color-scheme: light; }
/* ---------- telas largas: a página ocupa a largura toda do monitor ---------- */
.pagina { max-width: none; }
.topo-in { max-width: none; }
.rodape-tabela .pag { display: inline-flex; align-items: center; gap: 6px; }
.rodape-tabela .pag select { padding: 3px 6px; font-size: 12px; }
.rodape-tabela .pag button { padding: 2px 8px; }
/* ---------- logotipos ---------- */
.logo-plat[data-plat] { background-size: 78% auto; background-position: center; background-repeat: no-repeat; }
.logo-plat.com-logo { color: transparent !important; overflow: hidden; }
.logo-empresa { width: 44px; height: 44px; border-radius: 10px; object-fit: cover; }
.logo-empresa.mini { width: 22px; height: 22px; border-radius: 6px; vertical-align: middle; margin-right: 6px; }
