:root { --brand: #1f3a5f; --brand-2: #2c5282; }
body { background: #f4f6f9; }
.bg-primary-subtle-dark { background: var(--brand); }
.card { border: 0; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.stat .num { font-size: 1.9rem; font-weight: 600; line-height: 1.1; }
.stat .lbl { color: #6c757d; font-size: .85rem; }
.stat a { text-decoration: none; color: inherit; }
.table-report th, .table-report td { text-align: right; white-space: nowrap; }
.table-report th:first-child, .table-report td:first-child { text-align: left; white-space: normal; min-width: 14rem; }
.table-report thead th { text-align: center; vertical-align: middle; background: #e9eef5; }
.table-report .sub { background: #f3f6fa; font-weight: 600; }
.table-report tfoot td { font-weight: 700; background: #e9eef5; }
.table-sm td, .table-sm th { font-size: .875rem; }
.filters .form-select, .filters .form-control { font-size: .85rem; }
.help-link { font-size: .85rem; }
.report-card { transition: box-shadow .15s; }
.report-card:hover { box-shadow: 0 3px 10px rgba(0,0,0,.12); }
.badge-agency { font-size: .7rem; }
.print-only { display: none; }

@media print {
  @page { size: A4; margin: 12mm; }
  body { background: #fff; font-size: 11px; }
  .no-print, .navbar, .btn, .filters, .alert { display: none !important; }
  .print-only { display: block; }
  .card { box-shadow: none; }
  main { padding: 0 !important; }
  .table-report th, .table-report td { padding: 2px 4px !important; }
  a { color: inherit; text-decoration: none; }
}
