/* =====================================================================
   Master POA — accounting content blocks
   journal · ledger · statement · ratio · interp
   Consumes poa.css tokens; no new colours/fonts. Linked after poa.css.
   ===================================================================== */

/* shared: account/table title above a journal or ledger */
.acct-title{
  font-family:var(--poa-display); font-weight:800; text-transform:uppercase;
  letter-spacing:-.01em; font-size:15px; color:var(--poa-ink-strong); margin:2px 0 8px;
}

/* numeric + date columns for journal & ledger */
table.poa .c-num{ text-align:right; white-space:nowrap; width:1%;
  font-variant-numeric:tabular-nums; font-weight:700; }
table.poa th.c-num{ text-align:right; }
table.poa .c-date{ white-space:nowrap; width:1%; color:var(--poa-muted); font-weight:700; }
table.poa td.acct{ font-weight:700; color:var(--poa-ink-strong); }
table.poa td.acct.cr{ padding-left:36px; font-weight:600; color:var(--poa-ink); } /* indented credit */
table.poa .bal{ color:var(--poa-ink-strong); }

/* dense double-entry tables: drop zebra striping, keep hairline rows */
table.poa.jrnl tr:nth-child(even) td,
table.poa.ledger tr:nth-child(even) td{ background:#fff; }
table.poa.jrnl td:first-child,
table.poa.ledger td:first-child{ font-weight:700; color:var(--poa-muted); }
table.poa tr.jrnl-narr td{ font-style:italic; color:var(--poa-muted); font-weight:400;
  background:#fff; padding-top:4px; padding-bottom:12px; border-top:none; }
table.poa tr.jrnl-head td{ background:var(--poa-surface-soft); font-weight:800;
  color:var(--poa-ink-strong); }
table.poa.ledger tr.ldg-foot td{ background:var(--poa-surface-soft);
  font-weight:800; color:var(--poa-ink-strong); }

/* ===== financial-statement extract ===== */
.stmt{ border:1.5px solid var(--poa-border); border-radius:var(--r-md);
  box-shadow:var(--sh-sm); background:#fff; margin:0 0 18px; overflow:hidden; }
.stmt-head{ padding:12px 16px; border-bottom:1.5px solid var(--poa-border);
  background:var(--poa-surface-soft); }
.stmt-head .b{ font-family:var(--poa-display); font-weight:800; text-transform:uppercase;
  font-size:15px; color:var(--poa-ink-strong); letter-spacing:-.01em; line-height:1.1; }
.stmt-head .s{ font-weight:600; font-size:12.5px; color:var(--poa-muted); margin-top:3px; }
.stmt table{ width:100%; border-collapse:collapse; }
.stmt td{ padding:7px 16px; font-size:14px; font-weight:600; color:var(--poa-ink);
  vertical-align:top; line-height:1.45; }
.stmt td.lbl{ width:auto; }
.stmt td.c1, .stmt td.c2{ text-align:right; white-space:nowrap; width:96px;
  font-variant-numeric:tabular-nums; }
.stmt td.c1{ color:var(--poa-muted); }
.stmt tr.sec td.lbl{ font-family:var(--poa-display); font-weight:800; text-transform:uppercase;
  font-size:12.5px; letter-spacing:.02em; color:var(--poa-ink-strong); padding-top:12px; }
.stmt tr.rule td{ border-top:1px solid var(--poa-border); }
.stmt tr.strong td{ font-weight:800; color:var(--poa-ink-strong); }
.stmt tr.total td{ font-weight:900; color:var(--poa-ink-strong);
  border-top:2px solid var(--poa-ink-strong); border-bottom:2px solid var(--poa-ink-strong); }

/* ===== ratio formula cards ===== */
.ratios{ display:grid; gap:12px; margin:0 0 18px; }
.ratio{ display:grid; grid-template-columns:1fr auto; gap:10px 16px; align-items:center;
  background:var(--poa-surface-soft); border:1.5px solid var(--poa-border);
  border-radius:var(--r-md); padding:14px 16px; }
.ratio .r-name{ font-family:var(--poa-display); font-weight:800; text-transform:uppercase;
  font-size:13.5px; color:var(--poa-ink-strong); letter-spacing:-.01em; grid-column:1 / -1; }
.ratio .r-calc{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.ratio .frac{ display:inline-flex; flex-direction:column; text-align:center;
  font-weight:700; font-size:13px; color:var(--poa-ink); }
.ratio .frac .num{ padding:0 10px 4px; border-bottom:2px solid var(--poa-ink); }
.ratio .frac .den{ padding:4px 10px 0; }
.ratio .r-mult{ font-weight:700; color:var(--poa-muted); }
.ratio .r-unit{ font-weight:700; color:var(--poa-muted); font-size:13px; }
.ratio .r-eq{ font-family:var(--poa-display); font-weight:800; color:var(--poa-primary);
  font-size:20px; letter-spacing:-.01em; justify-self:end; }
.ratio .r-mean{ grid-column:1 / -1; font-weight:400; font-size:13.5px;
  color:var(--poa-muted); line-height:1.5; }

/* ===== numbered interpretation list ===== */
.interp{ display:grid; gap:11px; margin:0 0 18px; }
.interp-intro{ font-weight:600; font-size:14px; color:var(--poa-muted); margin-bottom:2px; }
.interp .ip{ display:grid; grid-template-columns:28px 1fr; gap:13px; align-items:start; }
.interp .ip .n{ width:28px; height:28px; border-radius:50%; background:var(--poa-primary);
  color:#fff; font-family:var(--poa-display); font-weight:800; display:grid;
  place-items:center; font-size:14px; }
.interp .ip .tx{ font-weight:400; font-size:14.5px; line-height:1.55; padding-top:3px;
  color:var(--poa-ink); }

@media (max-width:560px){
  .ratio{ grid-template-columns:1fr; }
  .ratio .r-eq{ justify-self:start; }
}

/* ===== glossary ===== */
.glossary{ display:flex; flex-direction:column; gap:0; margin:0 0 18px; }
.gl-group{ margin-bottom:24px; }
.gl-letter{ font-family:var(--poa-display); font-weight:900; font-size:28px;
  color:var(--poa-primary); letter-spacing:-.02em; line-height:1;
  padding:0 0 8px; border-bottom:2px solid var(--poa-primary); margin-bottom:12px; }
.gl-list{ margin:0; padding:0; display:grid; gap:0; }
.gl-list dt{ font-weight:800; font-size:14px; color:var(--poa-ink-strong); margin:10px 0 2px;
  font-family:var(--poa-display); }
.gl-list dd{ margin:0 0 0 16px; font-size:13.5px; font-weight:400; color:var(--poa-ink);
  line-height:1.55; border-left:2px solid var(--poa-border-soft); padding-left:12px; }

/* ===== SBQ supporting points ===== */
.sbq-grid{ display:grid; gap:14px; margin:0 0 18px; }
.sbq-card{ border:1.5px solid var(--poa-border); border-radius:var(--r-md);
  overflow:hidden; box-shadow:var(--sh-sm); background:#fff; }
.sbq-topic{ background:var(--poa-navy); color:#fff; font-family:var(--poa-display);
  font-weight:800; font-size:14px; letter-spacing:-.01em; padding:10px 16px; text-transform:uppercase; }
.sbq-cols{ display:grid; grid-template-columns:1fr 1fr; }
.sbq-col{ padding:12px 14px; }
.sbq-col + .sbq-col{ border-left:1px solid var(--poa-border-soft); }
.sbq-col-head{ font-family:var(--poa-display); font-weight:800; font-size:11.5px;
  text-transform:uppercase; letter-spacing:.08em; color:var(--poa-primary); margin-bottom:6px; }
.sbq-col ul{ margin:0; padding:0 0 0 14px; }
.sbq-col ul li{ font-size:13px; font-weight:500; color:var(--poa-ink); line-height:1.5; margin-bottom:3px; }
@media(max-width:560px){ .sbq-cols{ grid-template-columns:1fr; }
  .sbq-col + .sbq-col{ border-left:none; border-top:1px solid var(--poa-border-soft); } }
