/* Record › capital (2026-10-03) — Shareholders › Capital. Layout is Claude's
   design. Colour: amber = needs a person (other money in, uncounted rows),
   red = the figures disagree with the books; cash / in kind use series hues. */

.cap-page { --cap-gap: var(--amino-space-4, 16px); }
.cap-page h3 { margin: 0; font-size: 15px; font-weight: 600; color: var(--amino-text); }
.cap-note { margin: var(--amino-space-3, 12px) 0 0; font-size: 13px; color: var(--amino-text-muted); }
.cap-note .pill { vertical-align: 1px; }
.cap-bad { color: var(--z-bad); }
.cap-warn { color: var(--z-warn); }
.cap-warn-text { color: var(--z-warn) !important; }
.cap-tag { font-size: 11.5px; color: var(--amino-text-muted); font-weight: 500; white-space: nowrap; }
.cap-amt { font-variant-numeric: tabular-nums; white-space: nowrap; text-align: right; }

/* Total */
.cap-total { margin-bottom: var(--cap-gap); padding: 20px 24px; }
.cap-total-figs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--cap-gap); }
.cap-total .stat .value { font-size: clamp(20px, 2.2vw, 30px); }
.cap-grand { border-left: 1px solid var(--amino-n-300); padding-left: var(--cap-gap); }

/* One card per shareholder */
.cap-people {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--cap-gap);
  margin-bottom: var(--cap-gap);
}
.cap-person { padding: 20px 22px; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.cap-person-head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.cap-owns { font-size: 12.5px; font-weight: 600; color: var(--amino-text); white-space: nowrap; }
.cap-person-total { font-size: clamp(22px, 2vw, 28px); font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }
.cap-sub { font-size: 12.5px; color: var(--amino-text-muted); margin: 0; }
.cap-split { height: 6px; border-radius: 999px; background: var(--z-s4); overflow: hidden; margin-top: 6px; }
.cap-split-cash { display: block; height: 100%; background: var(--z-s1); }
.cap-kinds { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 4px 0 6px; }
.cap-kinds div { min-width: 0; }
.cap-kinds dt { font-size: 11.5px; color: var(--amino-text-muted); display: flex; align-items: center; gap: 6px; }
.cap-kinds dd { margin: 2px 0 0; font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; }
.cap-key { width: 8px; height: 8px; border-radius: 2px; display: inline-block; }
.cap-key-cash { background: var(--z-s1); }
.cap-key-kind { background: var(--z-s4); }

/* Contribution lists (person cards and "other") */
.cap-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--amino-n-200); }
.cap-list li {
  display: grid;
  grid-template-columns: auto 1fr auto;
  column-gap: 10px;
  row-gap: 1px;
  padding: 8px 0;
  border-bottom: 1px solid var(--amino-n-200);
  font-size: 13px;
}
.cap-list li:last-child { border-bottom: 0; }
.cap-date { color: var(--amino-text-muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
.cap-list-person li .cap-amt { grid-column: 3; grid-row: 1; font-weight: 600; }
.cap-list-person li .cap-kind { grid-column: 2; grid-row: 1; color: var(--amino-text-muted); font-size: 12px; }
.cap-purpose {
  grid-column: 1 / -1;
  color: var(--amino-text-muted);
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

/* Other money in */
.cap-other { margin-bottom: var(--cap-gap); padding: 20px 22px; box-shadow: var(--z-paper-shadow), inset 3px 0 0 var(--z-warn); }
.cap-other-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.cap-other .cap-list { margin-top: var(--amino-space-3, 12px); }
.cap-other .cap-who { font-weight: 600; }
.cap-other-sum { display: flex; justify-content: space-between; padding-top: 8px; font-size: 13px; font-weight: 600; border-top: 1px solid var(--amino-n-300); }

/* The full list, by month */
.cap-ledger-title { margin-bottom: var(--amino-space-3, 12px) !important; }
.cap-table tr.cap-month th,
.cap-table tr.cap-month td {
  background: var(--amino-n-50);
  font-size: 12.5px;
  font-weight: 600;
  color: var(--amino-text);
  text-align: left;
}
.cap-table tr.cap-month td.num { text-align: right; }
.cap-table tr.cap-month td.cap-run { color: var(--amino-text-muted); font-weight: 500; }
.cap-table td.cap-purpose-cell { min-width: 220px; max-width: 420px; }
.cap-table .cap-warn-text { display: block; }

@media (max-width: 720px) {
  .cap-total { padding: 16px; }
  .cap-total-figs { grid-template-columns: 1fr 1fr; }
  .cap-grand { grid-column: 1 / -1; border-left: 0; padding-left: 0; border-top: 1px solid var(--amino-n-300); padding-top: 12px; }
  .cap-people { grid-template-columns: 1fr; }
  .cap-person, .cap-other { padding: 16px; }
}

/* Phone (polish, 2026-10-03): each capital row becomes a small card, amount always in view. */
@media (max-width: 600px) {
  .cap-ledger .table-scroll { overflow: visible; }
  .cap-table { display: block; min-width: 0; }
  .cap-table thead { display: none; }
  .cap-table tbody { display: block; }
  .cap-table tr { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 0; padding: 10px 2px; border-bottom: 1px solid var(--amino-border); }
  .cap-table td, .cap-table th { display: block; border: 0; padding: 0; white-space: normal; }
  .cap-table tbody tr:hover td { background: transparent; }
  .cap-table td.cap-c-from { order: 1; flex: 1 1 calc(100% - 130px); min-width: 0; font-weight: 600; }
  .cap-table td.cap-c-amt { order: 2; flex: none; padding-left: 10px; }
  .cap-table td.cap-c-date, .cap-table td.cap-c-into { order: 3; font-size: 12.5px; color: var(--amino-text-muted); }
  .cap-table td.cap-c-date::after { content: "·"; margin: 0 6px; }
  .cap-table td.cap-c-into { flex: 1 1 0; }
  .cap-table td.cap-purpose-cell { order: 4; flex-basis: 100%; min-width: 0; max-width: none; font-size: 12.5px; color: var(--amino-text-muted); }
  .cap-table td.cap-c-act { order: 5; flex-basis: 100%; margin-top: 6px; width: auto; }
  .cap-table td.cap-c-act .actions-cell { justify-content: flex-start; }
  .cap-table .cap-warn-text { display: inline; }
  .cap-table tr.cap-month { padding: 14px 2px 6px; }
  .cap-table tr.cap-month th, .cap-table tr.cap-month td { background: transparent; }
  .cap-table tr.cap-month th { flex: 1 1 auto; }
  .cap-table tr.cap-month td.num { flex: none; }
  .cap-table tr.cap-month td.cap-run { flex-basis: 100%; font-size: 12.5px; }
  .cap-table tr.cap-month td.cap-run:empty { display: none; }
  .cap-table tr.empty td { padding: 12px 2px; }
}
