/* Money-flow interactive (v3: one chart, party selector; 2026-09-27). V2 palette; text floor 12px at every width. */
.mf{--mf-ink:#0c0c0b;--mf-mid:#56564f;--mf-line:#e4e4dd;--mf-band:#f6f6f3;--mf-doc:#3d5af1;--mf-ari:#7a8ff5;--mf-mod:#b3bffa;--mf-pale:#e6eafe;--mf-navy:#15249a;--mf-yellow:#ffe01a;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--mf-ink);min-width:0}
.mf *{box-sizing:border-box}
.mf-fixture{background:var(--mf-yellow);border:2px solid var(--mf-ink);font:800 15px/1.4 Inter,sans-serif;padding:10px 14px;margin:0 0 16px}
.mf-fixture span{display:block;font:500 13px/1.45 Inter,sans-serif;margin-top:2px}
.mf-scope{font:400 15px/1.55 Inter,sans-serif;max-width:820px;margin:0 0 18px}
.mf-scope .mf-src{font-size:13px}
.mf-route{border-left:6px solid var(--mf-yellow);background:var(--mf-band);padding:14px 16px;margin:0 0 20px;max-width:980px}
.mf-route h2{font:800 18px/1.25 Inter,sans-serif;margin:0 0 6px}
.mf-route p{font:400 15px/1.5 Inter,sans-serif;margin:0 0 8px}
.mf-route ol{margin:0;padding-left:20px;font:400 14px/1.5 Inter,sans-serif}
.mf-route li{margin:2px 0}
/* controls */
.mf-controls{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:flex-end;margin:0 0 14px}
.mf-controls fieldset{border:0;margin:0;padding:0;min-width:0}
.mf-controls legend,.mf-lg-title{font:700 12px/1.3 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--mf-mid);margin:0 0 6px;padding:0}
.mf-seg{display:flex;flex-wrap:wrap}
.mf-seg label{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--mf-ink);margin:0 -1px -1px 0;font:600 14px/1.2 Inter,sans-serif;cursor:pointer;background:#fff}
.mf-seg input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.mf-seg label:has(input:checked){background:var(--mf-ink);color:#fff}
.mf-seg label:has(input:focus-visible){outline:3px solid var(--mf-doc);outline-offset:2px;z-index:1}
.mf-btn{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--mf-ink);background:#fff;color:var(--mf-ink);font:600 14px/1.2 Inter,sans-serif;cursor:pointer;margin:0 6px 6px 0}
.mf-btn[aria-pressed="true"]{background:var(--mf-yellow)}
.mf-btn:focus-visible,.mf-item:focus-visible,.mf-dl a:focus-visible,.mf-details a:focus-visible{outline:3px solid var(--mf-doc);outline-offset:2px}
/* legend */
.mf-legend{list-style:none;padding:0;margin:0 0 18px;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:6px 18px;font:500 13px/1.35 Inter,sans-serif}
.mf-legend li{display:flex;align-items:center;gap:8px;min-height:24px}
.mf-legend svg{flex:0 0 auto}
/* layout */
.mf-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
@media(min-width:1180px){.mf-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:start}.mf-details{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow-y:auto}}
.mf-panel{margin:0 0 26px}
.mf-panel h3{font:800 18px/1.25 Inter,sans-serif;margin:0 0 4px}
.mf-scale{font:500 12.5px/1.45 Inter,sans-serif;color:var(--mf-mid);margin:0 0 10px;max-width:820px}
.mf-svgwrap{width:100%;overflow:hidden}
.mf-svg{display:block}
.mf-svg text{font-family:Inter,-apple-system,sans-serif}
.mf-svg .mf-lab{paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round;pointer-events:none}
.mf-svg [tabindex]{cursor:pointer}
.mf-svg [tabindex]:focus{outline:none}
.mf-svg [tabindex]:focus-visible .mf-hit{stroke:var(--mf-ink);stroke-opacity:.35}
.mf-svg .mf-e:hover .mf-hit{stroke:var(--mf-ink);stroke-opacity:.15}
.mf-svg .mf-e.sel .mf-hit{stroke:var(--mf-ink);stroke-opacity:.45}
.mf-svg .mf-n:focus-visible .mf-box,.mf-svg .mf-n.sel .mf-box,.mf-svg .mf-t:focus-visible rect{stroke:var(--mf-ink);stroke-width:3}
.mf-svg .mf-fade{opacity:.28}
.mf-colhead{font:700 12px/1.3 Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase;fill:var(--mf-mid)}
.mf-empty{font:500 14px/1.5 Inter,sans-serif;color:var(--mf-mid);padding:12px 0}
/* details */
.mf-details{border:1px solid var(--mf-ink);background:#fff;padding:16px;min-width:0}
.mf-details h3{font:800 18px/1.25 Inter,sans-serif;margin:0 0 8px;overflow-wrap:anywhere}
.mf-details h3:focus{outline:none}
.mf-details .mf-entity{font:600 14px/1.45 Inter,sans-serif;color:var(--mf-navy);border-left:3px solid var(--mf-navy);padding:2px 0 2px 10px;margin:0 0 12px}
.mf-details .mf-amt{font:800 22px/1.2 Inter,sans-serif;color:var(--mf-navy);margin:0 0 10px;overflow-wrap:anywhere}
.mf-details dl{display:grid;grid-template-columns:minmax(0,8.5em) minmax(0,1fr);gap:6px 12px;font:14px/1.45 Inter,sans-serif;margin:0 0 12px}
.mf-details dt{font-weight:700;color:var(--mf-mid)}
.mf-details dd{margin:0;overflow-wrap:anywhere}
.mf-details ul{margin:4px 0 0;padding-left:18px;font:14px/1.45 Inter,sans-serif}
.mf-details a{color:var(--mf-doc);display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere}
.mf-details p{font:14px/1.5 Inter,sans-serif;margin:0 0 10px}
@media(max-width:420px){.mf-details dl{grid-template-columns:minmax(0,1fr)}.mf-details dd{margin-bottom:6px}}
.mf-chip{display:inline-block;font:700 12px/1.3 Inter,sans-serif;padding:2px 8px;border:1px solid var(--mf-ink);background:#fff;white-space:nowrap}
.mf-chip.documented{background:var(--mf-doc);color:#fff;border-color:var(--mf-doc)}
.mf-chip.arithmetic{background:var(--mf-navy);color:#fff;border-color:var(--mf-navy)}
.mf-chip.reported{background:repeating-linear-gradient(45deg,#fff 0 3px,var(--mf-mod) 3px 6px)}
.mf-chip.modeled{background:var(--mf-pale)}
.mf-chip.unknown{border-style:dotted}
.mf-chip.fixture{background:var(--mf-yellow)}
/* phone guided route */
.mf-steps{display:none}
@media(max-width:760px){.mf-panels{display:none}.mf-steps{display:block}}
.mf-stepnav{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 10px}
.mf-stepnav .mf-count{font:700 14px/1.3 Inter,sans-serif;margin-right:auto}
.mf-step{border-top:3px solid var(--mf-ink);padding:12px 0 8px;margin:0 0 12px}
.mf-step h3{font:800 20px/1.2 Inter,sans-serif;margin:0 0 4px}
.mf-step h3:focus{outline:none}
.mf-step h4{font:700 12px/1.3 Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--mf-mid);margin:12px 0 6px}
.mf-step ul{list-style:none;padding:0;margin:0}
.mf-step li{margin:0 0 6px}
.mf-item{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:100%;min-height:44px;padding:8px 12px;border:1px solid var(--mf-ink);background:#fff;color:var(--mf-ink);text-align:left;font:600 15px/1.3 Inter,sans-serif;cursor:pointer}
.mf-item .mf-sub{display:block;font:500 13px/1.4 Inter,sans-serif;color:var(--mf-mid);margin-top:2px}
.mf-item.rt{border-left:6px solid var(--mf-yellow)}
.mf-item .mf-bar{display:block;height:8px;background:var(--mf-doc);margin-top:6px;min-width:2px;max-width:100%}
.mf-item .mf-bar.reported{background:repeating-linear-gradient(45deg,var(--mf-doc) 0 3px,var(--mf-pale) 3px 6px)}
.mf-item .mf-bar.modeled{background:var(--mf-mod)}
.mf-item .mf-bar.arithmetic{background:var(--mf-navy)}
.mf-item .mf-bar.unknown{background:none;border-top:2px dotted var(--mf-ink);height:0}
/* table and downloads */
.mf-tables h2{font:800 22px/1.2 Inter,sans-serif;margin:28px 0 8px}
.mf-tables .vz-tablewrap{margin-top:8px}
.mf-tables td{overflow-wrap:break-word}
.mf-tables td .mf-btn{margin:0;min-height:44px;font-size:13px;padding:0 10px}
.mf-tables tr.mf-hl{background:#fff7c4}
.mf-dl{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-wrap:wrap;gap:4px 18px}
.mf-dl a{display:inline-flex;align-items:center;min-height:44px;font:700 14px/1.3 Inter,sans-serif;color:var(--mf-doc)}
.mf-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* explanatory panels: outside the fee flow; corporate bridge (stocks separate from flows) */
.mf-explain{border:1px solid var(--mf-line);background:var(--mf-band);padding:14px 16px}
.mf-explain h4{font:700 15px/1.3 Inter,sans-serif;margin:14px 0 4px}
.mf-explain ul{font:14px/1.5 Inter,sans-serif;margin:4px 0 0;padding-left:18px}
.mf-explain li{overflow-wrap:anywhere;margin:0 0 6px}
.mf-explain a{color:var(--mf-doc)}
.mf-explain p{font:14px/1.5 Inter,sans-serif}
/* browser pass 1: route steps, alternatives toggle, tap targets */
.mf-route ol.mf-steps4{font:400 15px/1.5 Inter,sans-serif;margin:0 0 8px;padding-left:22px}
.mf-route ol.mf-steps4 li{margin:4px 0}
.mf-alt summary{display:flex;align-items:center;min-height:44px;font:700 14px/1.3 Inter,sans-serif;color:var(--mf-doc);cursor:pointer}
.mf-alt summary:focus-visible{outline:3px solid var(--mf-doc);outline-offset:2px}
.mf-alt ol{font:400 13.5px/1.5 Inter,sans-serif;padding-left:20px;margin:4px 0 0}
.mf-explain a.mf-xlink{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
.vz-banner a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:760px){.mf a,.mf-tables a{display:inline-flex;align-items:center;min-height:44px}}
.mf-bridge{border-top:1px solid var(--mf-line);padding-top:6px;margin-top:6px}
.mf-flows,.mf-stocks{border-left:4px solid var(--mf-doc);padding-left:12px;margin:10px 0}
.mf-stocks{border-left-color:var(--mf-mid)}
.mf-explain table td{overflow-wrap:break-word}
/* v3: party selector (combobox), selection summary */
.mf-controls{align-items:flex-start}
.mf-pick{flex:1 1 320px;min-width:0;max-width:560px}
.mf-pick-l{display:block;font:700 12px/1.3 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--mf-mid);margin:0 0 6px}
.mf-combo{position:relative}
.mf-ent{display:block;width:100%;min-height:44px;padding:8px 12px;border:2px solid var(--mf-ink);font:500 16px/1.3 Inter,sans-serif;color:var(--mf-ink);background:#fff;border-radius:0}
.mf-ent:focus-visible{outline:3px solid var(--mf-doc);outline-offset:2px}
.mf-opts{position:absolute;left:0;right:0;top:100%;z-index:20;max-height:320px;overflow-y:auto;list-style:none;margin:0;padding:0;background:#fff;border:2px solid var(--mf-ink);border-top:0;box-shadow:0 6px 18px rgba(12,12,11,.18)}
.mf-opts li{display:flex;flex-direction:column;justify-content:center;min-height:44px;padding:6px 12px;font:600 15px/1.3 Inter,sans-serif;cursor:pointer;border-bottom:1px solid var(--mf-line)}
.mf-opts li .mf-optk{font:500 12.5px/1.35 Inter,sans-serif;color:var(--mf-mid)}
.mf-opts li[aria-selected="true"],.mf-opts li:hover{background:var(--mf-pale)}
.mf-opts li.mf-none{cursor:default;color:var(--mf-mid);font-weight:500}
.mf-pick-h{font:500 12.5px/1.45 Inter,sans-serif;color:var(--mf-mid);margin:6px 0 8px}
.mf-pick .mf-btn[disabled]{opacity:.45;cursor:default}
.mf-sel{border:2px solid var(--mf-ink);background:var(--mf-band);padding:14px 16px;margin:0 0 20px}
.mf-sel h2{font:800 20px/1.25 Inter,sans-serif;margin:0 0 6px;overflow-wrap:anywhere}
.mf-sel h2:focus{outline:none}
.mf-sel p{font:400 15px/1.5 Inter,sans-serif;margin:0 0 8px}
.mf-sel dl{display:grid;grid-template-columns:minmax(0,11em) minmax(0,1fr);gap:4px 12px;font:14px/1.45 Inter,sans-serif;margin:0 0 10px}
.mf-sel dt{font-weight:700;color:var(--mf-mid)}
.mf-sel dd{margin:0;overflow-wrap:anywhere}
.mf-sel ul{font:14px/1.45 Inter,sans-serif;margin:4px 0 8px;padding-left:18px}
.mf-sel a{color:var(--mf-doc);overflow-wrap:anywhere}
.mf-sel .mf-caution{font:500 13px/1.45 Inter,sans-serif;color:var(--mf-mid)}
@media(max-width:420px){.mf-sel dl{grid-template-columns:minmax(0,1fr)}}
.mf-details .mf-quote{border-left:3px solid var(--mf-line);padding:2px 0 2px 10px;font-style:italic}
.mf-route .mf-btn[aria-pressed="true"]{background:var(--mf-yellow)}
/* table layout: overflow-wrap:anywhere (inherited from the base body rule, or set on a cell) lets a table column shrink to one
   character, and the vz .num nowrap rule keeps long amount text on one line; together they crushed text columns to about 25 px and made
   rows up to thousands of px tall. break-word wraps long strings without lowering a column's minimum width; .num cells wrap at spaces. */
.mf-explain .vz-table :is(th,td),.mf-tables .vz-table :is(th,td){overflow-wrap:break-word}
.mf-explain .vz-table .num,.mf-tables .vz-table .num{white-space:normal}
.mf-tables td .mf-btn{white-space:nowrap}
/* text-heavy columns keep a readable measure; the table scrolls sideways inside .vz-tablewrap instead of growing tall
   (flow table: What it represents, The record says, Sources; Top 25 table: Onward flows, Coverage, Sources; gaps: Related flows) */
.mf-tables .vz-table :is(th,td):last-child{min-width:16em}
.mf-tables .mf-table :is(th,td):is(:nth-child(11),:nth-child(12)){min-width:12em}
.mf-tables .vz-table:not(.mf-table) :is(th,td):is(:nth-child(6),:nth-child(7)){min-width:12em}

/* FEE-DEST-E 2026-09-30: destination evidence tags (legend + details panel) */
.mf-dtag{display:inline-block;font:700 11px/1.3 Inter,sans-serif;letter-spacing:.04em;text-transform:uppercase;padding:1px 7px;border:1.5px solid var(--mf-ink);border-radius:2px;background:#fff;color:var(--mf-ink);white-space:nowrap}
.mf-dtag.documented{background:var(--mf-ink);color:#fff}
.mf-dtag.aggregate{background:#e6e4dc;border-color:#9a988f}
.mf-dtag.notbroken{background:#fff}
