/* Bills Sweep (bills.html and the full report page). Shared look comes from styles.css and the page layout from cash-discount.css. */
.bills .dropzone input[type=file] { min-height:44px; }
.map-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:0 16px; }
.map-grid[hidden], .bills [hidden] { display:none !important; }
.map-field { display:block; min-width:0; }
.map-field .cash-input { max-width:none; }
.keep-choice { margin-top:8px; }
.table-wrap { overflow-x:auto; margin:12px 0 0; border:1px solid var(--border); border-radius:8px; max-width:100%; }
.sample-table { border-collapse:collapse; font-size:.85rem; width:100%; }
.sample-table th, .sample-table td { padding:4px 8px; border-bottom:1px solid #e3e6ea; text-align:left; white-space:nowrap; }
.sample-table th { background:#f3f4f6; }
.bills-total { font-size:1.3rem; font-weight:700; margin:4px 0; color:#0d2a4a; }
.bills-notes { margin:6px 0; padding-left:1.25rem; color:var(--muted); font-size:.95rem; }
.bills-list { list-style:none; margin:0; padding:0; }
.bill { border:1px solid var(--border); border-left:6px solid var(--calm, #0f766e); border-radius:8px; padding:10px 12px; margin:8px 0; background:#fff; }
.bill p { margin:4px 0; overflow-wrap:anywhere; }
.bill-top { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px; }
.bill-name { font-size:1.05rem; }
.bill-cadence { font-size:.8rem; font-weight:700; padding:1px 8px; border-radius:999px; background:#e4eef8; color:#24496e; }
.bill-amt { font-weight:600; font-variant-numeric:tabular-nums; }
.bill-rise { color:#7a1114; font-weight:600; }
.bill-why { color:var(--muted); font-size:.92rem; }
.buy-price { font-size:1.1rem; margin:12px 0 0; }
#buy { min-width:12rem; }
#buy.kit-cta-btn { color:#fff; } /* live buy link: keep the shared button text white over ".cash main a" */
/* Full report page */
.report-table { border-collapse:collapse; width:100%; font-size:.92rem; }
.report-table th, .report-table td { border-bottom:1px solid #e3e6ea; padding:6px 6px; text-align:left; vertical-align:top; }
.report-table td.num, .report-table th.num { text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
.report-table .why { color:var(--muted); font-size:.85rem; overflow-wrap:anywhere; }
.review-text { display:none; }
.report-table input[type=checkbox] { width:22px; height:22px; margin:0; }
.review-label { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; cursor:pointer; }
.manage-link { display:inline-flex; align-items:center; min-height:44px; }
.report-actions { margin:12px 0; }
.supplier-text { width:100%; min-height:8em; }
.print-head { display:none; }
@media (max-width:600px) { .map-grid { grid-template-columns:1fr; } }
/* Phones: each report row becomes a card (screen only; print keeps the table) */
@media screen and (max-width:600px) {
  .review-label { justify-content:flex-start; gap:10px; } .review-text { display:inline; font-weight:600; }
  .report-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .report-table, .report-table tbody, .report-table tr, .report-table td { display:block; width:100%; }
  .report-table tr { border:1px solid var(--border); border-radius:8px; margin:8px 0; padding:4px 8px; }
  .report-table td { border:0; padding:2px 0; }
  .report-table td.num { text-align:left; }
  .report-table td[data-label]::before { content:attr(data-label) ": "; font-weight:600; color:var(--fg); }
}
@media print {
  @page { size:A4; margin:14mm; }
  .bills .site-header, .bills .skip, .bills .cash-disclosure, .bills footer, .bills .no-print, #add-section, #map-section, #buy-section { display:none !important; }
  .bills main { max-width:none; padding:0; }
  .print-head { display:block; }
  .report-table { font-size:9pt; } .report-table tr { break-inside:avoid; }
  .bill { break-inside:avoid; border:1px solid #000; }
  .manage-link { min-height:0; }
}
.bills .cash-fieldset { margin-top:14px; }
