/* Keep page composition and data-preview extension local; shared design tokens/components are central. */
.report-page { width: min(1100px, calc(100% - 32px)); margin-inline: auto; padding-block: var(--space-5); }
.report-main { display: grid; gap: var(--space-4); min-width: 0; }
.reports-header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-4); margin: 0; }
.reports-title { min-width: 0; }
.reports-title h1 { margin: 0; }
.reports-title p { margin-block: var(--space-1) 0; }
.report-toolbar { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--space-2); }
.report-toolbar a { display: inline-flex; min-height: 44px; align-items: center; padding: var(--space-2) var(--space-3); color: var(--color-primary); text-decoration: underline; text-underline-offset: .16em; }
.grade-controles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); align-items: end; gap: var(--space-3); }
.grupo-campo { min-width: 0; }
.grupo-campo label { display: block; margin-bottom: var(--space-1); color: var(--color-text-muted); font-size: var(--font-size-sm); font-weight: 600; }
.grupo-campo select, .grupo-campo input { width: 100%; min-height: 40px; padding: var(--space-2) var(--space-3); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); color: var(--color-text); font: inherit; }
.estado-relatorio { margin: 0; color: var(--color-text-muted); font-size: var(--font-size-sm); }
.caixa-sumario { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: var(--space-3); }
.cartao-mini { min-width: 0; padding: var(--space-3) var(--space-4); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); }
.cartao-mini .rotulo { margin-bottom: var(--space-1); color: var(--color-text-muted); font-size: var(--font-size-xs); letter-spacing: .04em; text-transform: uppercase; }
.cartao-mini .valor { color: var(--color-text); font-size: var(--font-size-lg); font-weight: 750; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.cartao-mini .subvalor { margin-top: var(--space-1); color: var(--color-text-muted); font-size: var(--font-size-sm); }
.painel-relatorios { min-width: 0; }
.report-preview-content { min-height: 220px; max-width: 100%; margin-top: var(--space-2); padding: var(--space-4); overflow: auto; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-bg); color: var(--color-text); white-space: pre-wrap; overflow-wrap: anywhere; font: 0.8125rem/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.report-export-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--space-2); }
@media (max-width: 768px) { .reports-header { flex-direction: column; } .report-toolbar { justify-content: flex-start; } .report-export-actions { display: grid; grid-template-columns: 1fr; } .report-export-actions .btn { width: 100%; } }
