/* Shared compact rhythm. Keep the Theme Builder density choice proportional. */
.workspace {
  padding-block: calc(20px * var(--forge-density, 1));
  padding-inline: clamp(14px, 2vw, 28px);
}

.intro { margin-bottom: calc(14px * var(--forge-density, 1)); }
.metrics { gap: 10px; margin-bottom: calc(12px * var(--forge-density, 1)); }
.columns, .import-grid { gap: 12px; }
.panel, .metric { padding: calc(16px * var(--forge-density, 1)); }
.section-heading, .chart-head { gap: 12px; }
.section-heading { margin-bottom: 12px; }

main > header {
  height: auto;
  min-height: 66px;
  padding: 8px clamp(14px, 2vw, 28px);
}
main > header .header-title { display: grid; min-width: 0; }
main > header .header-title small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rail { padding: 20px 14px; }
.wordmark { padding-bottom: 18px; }
.rail nav { gap: 2px; }
.rail nav a { padding: 8px 10px; }

.button, .file-button, .forge-action {
  min-height: 2.1rem;
  padding: .35rem .65rem;
  font-size: .8rem;
}
.forge-action--small { min-height: 1.95rem; padding: .28rem .55rem; }

/* Receivables: one compact evidence/action line rather than a second tall row. */
.ar-intake, .ar-batches { gap: .7rem; }
.ar-aging-summary { gap: .65rem; margin-bottom: .4rem; }
.ar-aging-card { padding: .7rem .85rem; }
.ar-aging-card > strong { margin: .2rem 0; }
.ar-batch > header { align-items: center; gap: .7rem; padding: .65rem .9rem; }
.ar-batch h2 { margin: .1rem 0; }
.ar-batch > header label { display: grid; gap: .2rem; min-width: 0; }
.ar-batch > header label input { width: 100%; min-width: 0; }
.ar-batch-actions { gap: .4rem; padding: .35rem .9rem; }
.ar-batch-actions button, .ar-report-tools button,
.ar-reconciliation-detail button, .ar-payment-evidence-actions button:not(.button) {
  min-height: 2.05rem;
  padding: .32rem .6rem;
  font-size: .78rem;
}
.ar-invoice { gap: .55rem; padding: .35rem .9rem; line-height: 1.25; }
.ar-invoice > span:first-of-type b { display: inline; margin-right: .45rem; }
.ar-invoice > span:first-of-type small:first-of-type { display: inline; }
.ar-invoice small { line-height: 1.25; }
.ar-reconciliation-status { margin-top: .08rem; }
.ar-payment-evidence {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: .25rem .6rem;
  padding: .25rem .9rem .3rem 2.85rem;
}
.ar-payment-evidence-heading { gap: .2rem .5rem; line-height: 1.25; }
.ar-payment-evidence details > summary {
  min-height: 1.9rem;
  padding: .28rem .55rem;
  font-size: .76rem;
}
.ar-payment-evidence details[open] { grid-column: 1 / -1; }
.ar-payment-evidence form { margin-top: .45rem; }
.ar-batch > footer { padding: .5rem .9rem; }
.ar-location-heading { padding: .45rem .9rem; }
.ar-remittance-record { gap: .5rem; padding: .75rem .9rem; }
.ar-remittance-suggestion { padding: .5rem .65rem; }
.ar-remittance-record { display: block; padding: 0; }
.ar-remittance-record > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .7rem;
  padding: .55rem .8rem;
  cursor: pointer;
  list-style-position: inside;
}
.ar-remittance-record > summary > div { display: grid; gap: .12rem; min-width: 0; }
.ar-remittance-record > summary::after { content: "▸"; color: var(--blue, #09638f); font-size: .9rem; font-weight: 800; }
.ar-remittance-record[open] > summary::after { content: "▾"; }
.ar-remittance-record > summary b,
.ar-remittance-record > summary small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ar-remittance-summary-status { flex: 0 0 auto; color: var(--blue, #09638f); font-size: .78rem; font-weight: 800; }
.ar-remittance-content { display: grid; gap: .45rem; padding: .65rem .8rem .8rem; border-top: 1px solid var(--line, #d7e1e8); }
.ar-remittance-content > p { margin: .1rem 0; }
.ar-remittance-record:not([open]) { background: #fff; }
.ar-reconciliation-detail { margin: 0 .9rem .3rem 2.85rem; padding: 0; overflow: hidden; }
.ar-reconciliation-detail > summary { padding: .28rem .6rem; cursor: pointer; color: #9b420d; font-size: .77rem; font-weight: 800; }
.ar-reconciliation-detail > div { padding: .35rem .6rem .6rem; border-top: 1px solid #efc7ad; }
.ar-reconciliation-detail p { margin: .2rem 0; }
.ar-reconciliation-detail .ar-review-complete { color: #157047; font-weight: 700; }
.ar-reconciliation-detail button { margin-top: .3rem; }
.ar-customer-group { border: 1px solid var(--line, #d7e1e8); border-radius: .8rem; background: #fff; overflow: hidden; }
.ar-customer-group[hidden] { display: none; }
.ar-customer-group > header { padding: .65rem .9rem .35rem; }
.ar-customer-group > header span { color: var(--blue, #09638f); font-size: .68rem; font-weight: 800; letter-spacing: .12em; }
.ar-customer-group > header h2 { margin: .1rem 0; }
.ar-customer-group > header small { color: var(--muted, #607386); }
.ar-customer-group > p { margin: 0; padding: 0 .9rem .55rem; color: var(--muted, #607386); font-size: .78rem; }
.ar-customer-group > .ar-batch { border: 0; border-top: 1px solid var(--line, #d7e1e8); border-radius: 0; }
.ar-customer-group > .ar-batch > header { background: #f8fafb; }
.ar-child-routing { padding: .45rem .9rem; }
.ar-child-routing summary { color: var(--blue, #09638f); }
.ar-child-routing-actions { display: flex; align-items: center; gap: .6rem; margin-top: .6rem; }
.ar-child-routing-actions small { color: var(--muted, #607386); }

@media (max-width: 900px) {
  .rail { padding: 12px; }
  .workspace { padding-block: 16px; }
}

@media (max-width: 650px) {
  .workspace { padding: 14px 12px; }
  .panel, .metric { padding: calc(13px * var(--forge-density, 1)); }
  .rail nav a { min-height: 40px; padding: 8px 10px; }
  .button, .file-button, .forge-action,
  .ar-batch-actions button, .ar-report-tools button,
  .ar-reconciliation-detail button, .ar-payment-evidence-actions button:not(.button) {
    min-height: 40px;
  }
  .ar-invoice { gap: .4rem; padding: .5rem .7rem; }
  .ar-batch > header label { width: 100%; }
  .ar-payment-evidence { grid-template-columns: 1fr; padding: .4rem .7rem; }
  .ar-payment-evidence details { min-width: 0; }
  .ar-payment-evidence details > summary { min-height: 40px; white-space: normal; }
  .ar-remittance-record > summary { align-items: flex-start; flex-direction: column; gap: .2rem; }
  .ar-reconciliation-detail { margin: 0 .7rem .35rem; }
}
