.treasury { display: grid; gap: 22px; min-width: 0; }
.treasury-head, .treasury-ledger-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.treasury-head h2, .treasury-ledger-head h3 { margin: 0; }
.treasury-head p { margin: 5px 0 0; color: var(--muted); }
.treasury-actions, .treasury-filter-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.treasury-actions .btn, .treasury-filter-actions .btn, .treasury-ledger-head .btn {
  min-height: 42px;
}
.treasury-ledger { display: grid; gap: 14px; min-width: 0; }
.treasury-dues { display: grid; gap: 14px; min-width: 0; }
.treasury :is(.treasury-dues,.treasury-ledger)[hidden] { display: none; }
.treasury-views { border-bottom: 1px solid #d3e2ea; padding-bottom: 12px; }
.treasury-dues h3, .treasury-dues-history > p { margin: 0; }
.treasury-dues h3 + p { margin: 4px 0 0; color: var(--muted); }
.treasury .treasury-dues-filters { grid-template-columns: minmax(0,2fr) minmax(0,1fr) auto; align-items: end; }
.treasury-dues-filters > button { min-height: 42px; }
.treasury-dues-history { display: grid; gap: 12px; }
.treasury-dues-history .treasury-entry { align-items: center; }
.treasury-dues [data-dues-action="more"], .treasury-dues-history [data-dues-action="history-more"] { justify-self: start; }
.treasury-filters, .treasury-form-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px 14px;
}
.treasury-filters {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  padding: 14px;
  border: 1px solid #d3e2ea;
  border-radius: 8px;
  background: #f6fafc;
}
.treasury .field { min-width: 0; margin: 0; }
.treasury .field :is(input, select, textarea) { width: 100%; min-width: 0; }
.treasury-filters .field label { font-size: .8rem; }
.treasury-filter-actions, .treasury-form-wide { grid-column: 1 / -1; }
.treasury-ledger-head a:not([href]) { opacity: .56; pointer-events: none; }
.treasury-status {
  border-left: 3px solid #167b61;
  padding: 9px 11px;
  background: #e8f5ef;
  color: #185640;
}
.treasury-status.is-error {
  background: #fbeee9;
  border-color: #a94235;
  color: #7e2924;
}
.treasury-status[hidden] { display: none; }
.treasury-summary { display: grid; gap: 6px; }
.treasury-summary h4, .treasury-summary p { margin: 0; }
.treasury-summary dl {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin: 2px 0 0;
}
.treasury-summary dl > div {
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid #d3e2ea;
  border-radius: 8px;
  background: #eef6fa;
}
.treasury-summary dl > div:nth-child(n+4) { background: #fbf6eb; border-color: #e9dcc2; }
.treasury-summary dt { color: var(--muted); font-size: .78rem; line-height: 1.2; }
.treasury-summary dd {
  margin: 5px 0 0;
  color: var(--navy);
  font-weight: 750;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
.treasury-list { display: grid; gap: 9px; }
.treasury-empty { color: var(--muted); padding: 12px 0; }
.treasury-entry {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 9px 12px;
  align-items: start;
  padding: 13px;
  border: 1px solid #d3e2ea;
  border-radius: 8px;
  min-width: 0;
}
.treasury-entry h4 { margin: 0 0 3px; }
.treasury-entry-info { overflow-wrap: anywhere; }
.treasury-entry-info p { margin: 0; color: var(--muted); font-size: .87rem; }
.treasury-entry-info .treasury-entry-notes { margin: 6px 0; white-space: pre-wrap; }
.treasury-entry-value { display: grid; justify-items: end; gap: 3px; font-size: .8rem; }
.treasury-entry-value strong { font-size: 1.03rem; font-variant-numeric: tabular-nums; }
.treasury-entry .treasury-actions { grid-column: 1 / -1; }
.treasury-entry .btn { padding: 7px 11px; font-size: .82rem; }
.treasury-entry .text-link { display: inline-flex; margin-top: 5px; }
.treasury-state {
  padding: 2px 7px;
  border-radius: 5px;
  background: #edf2f3;
  color: #36505e;
  font-weight: 700;
}
.treasury-state--posted { background: #e6f5ee; color: #176045; }
.treasury-state--pending { background: #fcf0d9; color: #735318; }
.treasury-void { color: #8b322b; }
.treasury-void-confirm { background: #8b322b; color: white; }
.treasury-dialog { width: min(640px, calc(100vw - 24px)); max-height: 88vh; }
.treasury-dialog .modal-body { overflow-wrap: anywhere; }
.treasury-dialog .modal-head h3 { margin: 0; }
.treasury-dialog form { display: grid; gap: 12px; }
.treasury-dialog input[type=file] { padding: 6px; }
.treasury-dialog small { color: var(--muted); }
@media(max-width: 880px) {
  .treasury-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .treasury-filters .field:has(input[type=search]) { grid-column: 1 / -1; }
}
@media(max-width: 560px) {
  .treasury .treasury-dues-filters { grid-template-columns: minmax(0,1fr); }
  .treasury-summary dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .treasury-summary dl > div:nth-child(3) { grid-column: 1 / -1; }
  .treasury-dialog .modal-body, .treasury-dialog .modal-head { padding-inline: 14px; }
}
@media(max-width: 360px) {
  .treasury-form-fields, .treasury-filters { grid-template-columns: minmax(0, 1fr); }
}
