/* FP-DONATIONS: the Chip in card (season page, /donate), its sheets, the /donate page. Money is gold. */

.dn-main { padding: 10px var(--gutter) 40px; display: flex; flex-direction: column; gap: 22px; }
.dn-sec { display: flex; flex-direction: column; gap: 10px; }
.dn-gold { color: var(--gold); }

.dn-card {
  display: flex; flex-direction: column; gap: 14px; padding: 16px; border-radius: 18px; min-width: 0;
  background: linear-gradient(180deg, var(--gold-tint-2), transparent 70%), var(--surface);
  border: 1px solid var(--gold-line-2);
  scroll-margin-top: 12px;
}
.dn-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.dn-pool-name { font-size: 13px; font-weight: 600; color: var(--muted); overflow-wrap: anywhere; }
.dn-total { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.dn-big { font-family: var(--font-display); font-weight: 700; font-size: 52px; line-height: 0.9; color: var(--gold); font-variant-numeric: tabular-nums; }
.dn-from { font-size: 15px; font-weight: 600; color: var(--soft-ink); }
.dn-pending { margin: -6px 0 0; font-size: 13px; color: var(--muted); }
.dn-none { margin: 0; padding: 12px 14px; border-radius: 12px; border: 1px dashed var(--border-strong); font-size: 14px; line-height: 1.45; color: var(--muted); }
.dn-fine { margin: 0; font-size: 12px; line-height: 1.45; color: var(--subtle); }
.dn-empty { margin: 0; font-size: 14px; line-height: 1.45; color: var(--subtle); }

/* Amounts and pay buttons */
.dn-pay-panel { display: flex; flex-direction: column; gap: 10px; }
.dn-amounts { align-items: center; }
.dn-chip { min-width: 60px; font-variant-numeric: tabular-nums; }
.dn-chip[aria-checked="true"] { background: var(--gold); border-color: var(--gold); color: var(--bg); }
.dn-custom { flex: 1 1 96px; width: auto; min-width: 88px; height: 44px; border-radius: 22px; }
.dn-pay-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)); gap: 8px; }
.dn-pay {
  min-height: 52px; padding: 0 12px; border-radius: 12px; display: flex; align-items: center; justify-content: center; gap: 8px;
  background: var(--ink); color: var(--bg); font-weight: 700; font-size: 15px; text-decoration: none; white-space: nowrap;
}
.dn-pay:hover { color: var(--bg); filter: brightness(0.95); }
.dn-pay-amt { font-variant-numeric: tabular-nums; color: #7A4A1E; }
.dn-pay-amt:empty { display: none; }
.dn-zelle { display: flex; flex-direction: column; gap: 8px; padding: 12px; border-radius: 12px; border: 1px solid var(--border); background: var(--bg); }
.dn-zelle-h { font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); }
.dn-copy-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 4px 8px; }
.dn-copy-row .dn-copy-label { grid-column: 1 / -1; }
.dn-copy-label { font-size: 12px; color: var(--subtle); }
.dn-copy-text { min-width: 0; height: 40px; padding: 0 10px; border-radius: 10px; background: var(--surface); border: 1px solid var(--border); color: var(--ink); font: 600 15px var(--font-body); text-overflow: ellipsis; }
.dn-copy { height: 40px; padding: 0 14px; border-radius: 10px; background: transparent; border: 1.5px solid var(--gold-line-3); color: var(--gold); font: 700 13px var(--font-body); }
.dn-copy:hover { border-color: var(--gold); }

/* Lists */
.dn-sub { display: flex; flex-direction: column; gap: 8px; padding-top: 12px; border-top: 1px solid var(--line); }
.dn-sub-h { margin: 0; font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); }
.dn-sub-h.gold { color: var(--gold); }
.dn-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.dn-list.boxed { padding: 4px 14px; border-radius: 14px; background: var(--surface); border: 1px solid var(--border); }
.dn-row { display: flex; flex-direction: column; gap: 4px; padding: 10px 0; border-top: 1px solid var(--line); min-width: 0; }
.dn-row:first-child { border-top: 0; }
.dn-row-top { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.dn-who { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; min-width: 0; overflow-wrap: anywhere; font-size: 15px; }
.dn-amt { flex: none; font-family: var(--font-display); font-weight: 700; font-size: 22px; color: var(--gold); font-variant-numeric: tabular-nums; }
.dn-row-meta { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: 12px; color: var(--subtle); }
.dn-row-meta > span + span::before, .dn-row-meta > span + time::before { content: "·"; margin-right: 6px; }
.dn-row-meta > .cg-badge + span::before, .dn-row-meta > .cg-badge + time::before { content: none; }
.dn-when { font-variant-numeric: tabular-nums; }
.dn-note { font-size: 13px; line-height: 1.4; color: var(--muted); overflow-wrap: anywhere; }
.dn-anon-tag { font-size: 11px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--subtle); border: 1px dashed var(--border-strong); border-radius: 6px; padding: 0 5px; }
.dn-log { align-self: flex-start; }
.dn-count { font-size: 12px; color: var(--subtle); font-variant-numeric: tabular-nums; }
.dn-anon { border-bottom: 0; min-height: 52px; }
.dn-anon:has(.st-sw:disabled) { cursor: default; opacity: 0.55; }

/* Season page header line */
.dn-headline {
  display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px; padding: 10px 12px; border-radius: 12px;
  background: var(--gold-tint); border: 1px solid var(--gold-line); color: var(--soft-ink); font-size: 14px; text-decoration: none;
}
.dn-headline:hover { color: var(--ink); border-color: var(--gold-line-3); }
.dn-headline strong { color: var(--gold); font-size: 16px; }
.dn-headline-label { color: var(--muted); }
.dn-headline-cta { margin-left: auto; font-weight: 700; color: var(--gold); }

/* /donate: season pools */
.dn-seasons { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; border-radius: 14px; border: 1px solid var(--border); overflow: hidden; }
.dn-seasons li + li { border-top: 1px solid var(--line); }
.dn-season { display: flex; align-items: center; gap: 12px; min-height: 60px; padding: 10px 14px; color: var(--ink); text-decoration: none; background: var(--surface); }
.dn-season:hover { color: var(--ink); background: var(--live-surface); }
.dn-season-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.dn-season-main strong { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; overflow-wrap: anywhere; }
.dn-season-meta { font-size: 12px; color: var(--subtle); }
.dn-season-amt { flex: none; font-family: var(--font-display); font-weight: 700; font-size: 24px; color: var(--gold); font-variant-numeric: tabular-nums; }
.dn-season-tag { font-size: 10px; }

/* Changes page: five filters fit at 320px. */
.seg.fill.cg-filters > button { padding: 0 4px; font-size: 13px; }

/* Members page: payment handle boxes stack (mb-input is sized for a row). */
.mb-input.dn-handle { flex: none; width: 100%; }

/* A handle changed this week: shown next to the pay buttons so people paying notice. */
.dn-changed { display: flex; flex-direction: column; gap: 6px; padding: 10px 12px; border-radius: 12px; background: var(--gold-tint); border: 1px solid var(--gold-line-3); }
.dn-changed-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.dn-changed-line { display: flex; flex-direction: column; gap: 1px; font-size: 14px; color: var(--soft-ink); overflow-wrap: anywhere; }
.dn-changed-line strong { color: var(--ink); }
.dn-changed-meta { font-size: 12px; color: var(--muted); }
.dn-changed-link { align-self: flex-start; min-height: 32px; display: inline-flex; align-items: center; font-size: 12px; font-weight: 600; color: var(--gold); text-decoration: none; }

/* Pool names in rows, and the link to the ledger under a cut donor list */
.dn-pool-link { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.dn-more { align-self: flex-start; font-size: 13px; }

/* /donate: the ledger */
.dn-ledger { scroll-margin-top: 12px; }
.dn-big.dn-big-sm { font-size: 40px; }
.dn-ledger-pools { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.dn-ledger-pool { display: flex; align-items: center; gap: 8px; min-height: 36px; font-size: 14px; border-top: 1px solid var(--line); min-width: 0; }
.dn-ledger-pool:first-child { border-top: 0; }
.dn-ledger-pool > a, .dn-ledger-pool > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.dn-ledger-pool a { color: var(--ink); }
.dn-ledger-pool-amt { margin-left: auto; flex: none; font-weight: 700; color: var(--gold); font-variant-numeric: tabular-nums; }

/* Members page: the handle-change confirm sheet */
.dh-changes { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 15px; }
.dh-change { overflow-wrap: anywhere; }
.dh-change s { color: var(--muted); }

/* Doubles page: Changes and Donations links side by side, wrapping on narrow phones. */
.cg-ladder-link { display: flex; flex-wrap: wrap; column-gap: 20px; }
.dn-ledger-more[hidden], .dn-ledger .dn-fine:empty { display: none; }
