/* Consumption statements */
.report { display: flex; flex-direction: column; gap: 18px; }
.report .filter-row { margin-bottom: 0; }
.report-period .form-control { width: auto; min-height: 36px; }
.report .stat-grid { margin-bottom: 0; }
.report tfoot th, .report tfoot td { border-top: 2px solid var(--line); font-weight: 700; }
.print-only { display: none; }

@media print {
  .no-print, .sidebar, .topbar, .bottom-nav, #toast-root { display: none !important; }
  .main, .content { margin: 0 !important; padding: 0 !important; }
  .print-only { display: block; }
  .report .card, .report .stat-tile { box-shadow: none; break-inside: avoid; }
  .statement-head { text-align: center; margin-bottom: 12px; }
  .statement-head h1 { font-size: 18px; margin: 4px 0; }
  .statement-org { font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase; }
  .statement-signatures { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin-top: 64px; }
  .statement-signatures div { border-top: 1px solid #000; padding-top: 6px; text-align: center; font-size: 12px; }
  body { background: #fff !important; }
}
.report-period .date-range { width: 260px; max-width: 100%; }

/* Phones and small tablets show table rows as cards; the totals row becomes one more card with a
   stronger outline instead of a table row wider than the screen. */
@media (max-width: 960px) {
  .report .table-wrap tfoot { display: block; margin-top: 10px; }
  .report .table-wrap tfoot tr {
    display: block;
    background: var(--card);
    border: 2px solid var(--line);
    border-radius: 10px;
    padding: 12px 14px;
  }
  .report .table-wrap tfoot th { display: block; padding: 0 0 6px; border: 0; text-align: left; }
  .report .table-wrap tfoot td {
    display: grid;
    grid-template-columns: minmax(90px, auto) 1fr;
    gap: 12px;
    padding: 7px 0;
    border-top: 0;
    border-bottom: 1px dashed var(--line-2);
    text-align: right;
    align-items: center;
    font-size: 13px;
  }
  .report .table-wrap tfoot td:last-child { border-bottom: 0; }
  .report .table-wrap tfoot td:empty { display: none; }
  .report .table-wrap tfoot td::before {
    content: attr(data-label);
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--muted);
    text-align: left;
    white-space: nowrap;
  }
}
