/* NOTE: every selector is scoped to .bs — unscoped `tr.total td` would style
   any table on a page that links this file. */

/* ─────────────────────────────────────────────────────────────────────────
   The sheet table: rows down, periods across, label column pinned.

   These rules are the balance sheet's, lifted verbatim so other tools can
   share its type and rules rather than approximating them.

   ⚠️ balance-sheet.html still carries its own inline copy — it is the
   original and could not be verified live at the time of extraction (its
   table needs an authenticated session to render), so it was left untouched
   rather than changed blind. Keep the two in step, and fold the inline copy
   into this file once the balance sheet can be checked end to end.
   ───────────────────────────────────────────────────────────────────────── */

table.bs { border-collapse: separate; border-spacing: 0; width: max-content; min-width: 100%; }

table.bs th, table.bs td { white-space: nowrap; }

.bs thead th {
    position: sticky; top: 0; z-index: 3; background: var(--surface);
    font-size: var(--fs-caption); letter-spacing: var(--ls-caption); text-transform: uppercase;
    color: var(--ink-faint); font-weight: var(--w-semibold); text-align: right;
    padding: var(--s-4) var(--s-4) var(--s-3); width: 128px; border-bottom: 1px solid var(--ink);
  }

.bs thead th.lab { left: 0; z-index: 4; text-align: left; width: 320px; min-width: 320px; padding-left: var(--s-5); }

.bs thead th .yr { display: block; font-size: 10px; color: var(--ink-faint); font-weight: var(--w-regular); letter-spacing: 0.04em; }

.bs td { padding: 0; font-size: var(--fs-body); text-align: right;
    font-variant-numeric: tabular-nums; border-bottom: 1px solid var(--separator); }

.bs td.lab { position: sticky; left: 0; z-index: 2; background: var(--surface); text-align: left;
    width: 320px; min-width: 320px; padding: var(--s-3) var(--s-4) var(--s-3) var(--s-5);
    white-space: normal; line-height: var(--lh-body); }

.bs td.val { padding: var(--s-3) var(--s-4); }

.bs tr.section td { padding-top: var(--s-6); padding-bottom: var(--s-2); border-bottom: none;
    font-size: var(--fs-headline); font-weight: var(--w-semibold); letter-spacing: var(--ls-headline); }

.bs tr.sub td { padding-top: var(--s-4); padding-bottom: var(--s-1); border-bottom: none;
    font-size: var(--fs-caption); letter-spacing: var(--ls-caption); text-transform: uppercase;
    color: var(--ink-faint); font-weight: var(--w-semibold); }

.bs tr.total td { border-top: 1px solid var(--ink); border-bottom: none;
    font-size: var(--fs-headline); font-weight: var(--w-semibold); }

.bs tr.total td.val, .bs tr.net td.val { padding: var(--s-4); }

.bs tr.net td { border-top: 1px solid var(--ink); border-bottom: none;
    font-size: var(--fs-headline); font-weight: var(--w-semibold); padding-bottom: var(--s-5); }

.bs tr.line:hover td, .bs tr.line:hover td.lab { background: var(--surface-sunken); }

/* The card and scroll wrappers the sheet tables sit in. (These were only ever
   defined inline in balance-sheet.html; pages adopting the idiom need them.) */
.bs-card { background: var(--surface); border-radius: var(--r-lg);
  box-shadow: var(--e-1); overflow: hidden; }
.bs-scroll { overflow: auto; }
