/* The org profile's money-flow chart (app/org-flows.js). Every colour is
   one of org.html's own tokens (var(--...)); no hex anywhere in this file
   -- see tools/tests/org_flows_test.mjs. */
.oflow { margin: 6px 0 0; }
.oflow-title { font-size: 14px; font-weight: 700; color: var(--text); }
.oflow-sub { font-size: 12px; color: var(--faint); margin-top: 2px; max-width: 62ch; }

.oflow-legend { list-style: none; margin: 10px 0; padding: 0; display: flex; flex-wrap: wrap;
  gap: 8px 16px; font-size: 12px; color: var(--muted); }
.oflow-legend li { display: flex; align-items: center; gap: 6px; }
.oflow-key { width: 20px; height: 4px; border-radius: 2px; display: inline-block; background: var(--k); }

.oflow-plot { max-width: 760px; overflow-x: auto; }
/* min-width: below it the whole drawing scaled down and the labels fell to
   ~5px on a phone; now the plot scrolls sideways inside its own box instead */
.oflow-svg { display: block; width: 100%; min-width: 600px; height: auto; }
.oflow-self { fill: var(--panel2); stroke: var(--border-strong); stroke-width: 1; }
.oflow-self-label { fill: var(--text); font-size: 11px; font-weight: 700; }
.oflow-node { fill: var(--panel2); stroke: var(--border); stroke-width: 1; }
.oflow-node-label { fill: var(--muted); font-size: 10.5px; }
.oflow-band { stroke-opacity: .45; cursor: pointer; }
.oflow-band:hover, .oflow-band:focus-visible { stroke-opacity: .75; outline: none; }
.oflow-band:focus-visible { stroke-opacity: .85; }

.oflow-tip { position: fixed; z-index: 50; max-width: 300px; padding: 7px 10px; border-radius: 6px;
  background: var(--text); color: var(--panel); font-size: 12px; line-height: 1.4; pointer-events: none; }

.oflow-table-wrap { margin-top: 14px; }
.oflow-table-wrap summary { cursor: pointer; color: var(--gold); font-size: 12.5px; min-height: 28px;
  display: flex; align-items: center; }
.oflow-table-wrap .table-scroll { overflow: auto; max-height: 360px; border: 1px solid var(--border);
  border-radius: 6px; margin-top: 8px; }
.oflow-table-wrap table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.oflow-table-wrap th { position: sticky; top: 0; text-align: left; background: var(--panel2);
  color: var(--faint); font-size: 11px; text-transform: uppercase; padding: 7px 8px;
  border-bottom: 1px solid var(--border-strong); }
.oflow-table-wrap td { padding: 7px 8px; border-bottom: 1px solid var(--border); vertical-align: top; }
.oflow-table-wrap td.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.oflow-table-wrap a { color: var(--gold); display: inline-flex; align-items: center; min-height: 24px; }
/* lane XWALK: a figure read off a scanned PDF rather than IRS e-file XML --
   visually secondary, under the amount it qualifies, never the same weight
   as a verified figure. */
.oflow-unverified-note { color: var(--faint); font-size: 10.5px; font-weight: normal;
  white-space: normal; margin-top: 2px; }
