/* Immutable imported invoice snapshots, using the existing light/dark tokens. */
.ledger-scope { margin-bottom:22px; }
.ledger-scope dl,.ledger-provenance dl { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0 0; }
.ledger-scope dt,.ledger-provenance dt { color:var(--muted);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.6px; }
.ledger-scope dd,.ledger-provenance dd { margin:4px 0 0;overflow-wrap:anywhere;font-size:12px; }
.ledger-toolbar { display:grid;grid-template-columns:2fr repeat(3,minmax(125px,1fr));gap:14px;margin:20px 0; }
.ledger-toolbar label { display:flex;flex-direction:column;gap:7px;font-size:11px;color:var(--muted); }
.ledger-toolbar input,.ledger-toolbar select { width:100%; }
.ledger-toolbar .ledger-wide { grid-column:span 2; }
.ledger-buckets { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 25px; }
.ledger-bucket { border:1px solid var(--line);border-radius:7px;background:var(--surface);padding:15px; }
.ledger-bucket h3 { color:var(--muted);font-size:11px;margin:0 0 9px;font-weight:500; }
.ledger-bucket strong { display:block;font-size:19px;font-weight:700; }
.ledger-bucket small { color:var(--muted);font-size:10px; }
.ledger-table { min-width:1600px; }
.ledger-table td small { display:block;color:var(--muted);margin-top:3px; }
.ledger-detail-fields { display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:22px 0; }
.ledger-detail-fields dt { color:var(--muted);font-size:11px; }
.ledger-detail-fields dd { margin:4px 0 0;font-size:13px;overflow-wrap:anywhere; }
.ledger-provenance { border:1px solid var(--line);border-radius:7px;padding:17px;margin:18px 0; }
.ledger-provenance h3 { margin:0;font-size:13px; }
.ledger-provenance p { margin-bottom:0; }
.ledger-candidate { border-top:1px solid var(--line);padding:12px 0;display:flex;align-items:center;justify-content:space-between;gap:16px; }
.ledger-candidate p { margin:4px 0; }
.ledger-detail-dialog { width:min(780px,calc(100% - 30px)); }
.ledger-snapshot-select { width:100%;margin:12px 0; }
.ledger-filter-status { margin:12px 0; }
@media(max-width:1000px){.ledger-toolbar{grid-template-columns:1fr 1fr}.ledger-toolbar .ledger-wide{grid-column:span 2}}
@media(max-width:650px){.ledger-buckets{grid-template-columns:1fr 1fr}.ledger-scope dl,.ledger-provenance dl{grid-template-columns:1fr}.ledger-toolbar{grid-template-columns:1fr}.ledger-toolbar .ledger-wide{grid-column:auto}.ledger-detail-fields{grid-template-columns:1fr}.ledger-candidate{align-items:start;flex-direction:column}}

/* Whole-customer balances use separate controls from invoice-level filters. */
.ledger-customer-overview { margin-bottom:22px; }
.ledger-customer-overview .panel-top { flex-wrap:wrap;gap:14px; }
.ledger-overview-totals { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0; }
.ledger-overview-totals > div { border:1px solid var(--line);border-radius:8px;padding:18px;background:var(--surface); }
.ledger-overview-totals span,.ledger-overview-totals small { display:block;color:var(--muted);font-size:11px; }
.ledger-overview-totals strong { display:block;font-size:24px;margin:8px 0;overflow-wrap:anywhere; }
.ledger-overview-toolbar { display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:14px;align-items:end;margin:22px 0; }
.ledger-overview-toolbar label { display:flex;flex-direction:column;gap:7px;font-size:11px;color:var(--muted);min-width:0; }
.ledger-overview-toolbar input,.ledger-overview-toolbar select { width:100%;min-width:0; }
.ledger-overview-toolbar button { min-height:36px; }
.ledger-customer-table { min-width:1450px; }
.ledger-customer-table caption { text-align:left;color:var(--muted);font-size:11px;padding:0 0 12px; }
.ledger-customer-table tbody th { font-size:12px;letter-spacing:0;text-transform:none;color:var(--ink);font-weight:600; }
.ledger-customer-table th:first-child { min-width:125px; }
.ledger-customer-table td:nth-child(2) { min-width:190px;max-width:290px;white-space:normal;overflow-wrap:anywhere; }
.ledger-customer-table td small { display:block;color:var(--muted);font-size:10px;margin-top:4px; }
.ledger-customer-table tfoot th,.ledger-customer-table tfoot td { border-top:2px solid var(--line);font-weight:700;background:var(--surface); }
#ledger-invoice-section { scroll-margin-top:20px; }
@media(max-width:900px){.ledger-overview-toolbar{grid-template-columns:1fr 1fr}.ledger-overview-toolbar button{justify-self:start;grid-column:1/-1}}
@media(max-width:650px){.ledger-overview-totals,.ledger-overview-toolbar{grid-template-columns:1fr}.ledger-overview-totals strong{font-size:22px}.ledger-overview-toolbar button{grid-column:auto}}
