/* Public Cash Review example. Uses the shared FirmLedge brand tokens and fonts. */
[hidden] { display: none !important; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
button, input, select { font:inherit; }
button { cursor:pointer; }
button:disabled { opacity:.5; cursor:default; }
input:focus-visible, select:focus-visible, summary:focus-visible, [tabindex]:focus-visible { outline:2px solid var(--cobalt); outline-offset:3px; }
.cash-hero { padding:2rem 0 3rem; }
.cash-back { display:inline-block; font-size:.875rem; margin-bottom:2rem; }
.cash-hero-grid { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:4rem; align-items:center; }
.cash-hero h1 { font-size:3.5rem; margin-bottom:.4rem; }
.cash-promise { font-family:var(--font-serif); font-size:1.6rem; line-height:1.25; margin-bottom:1rem; }
.cash-hero .lede { font-size:1.0625rem; max-width:35rem; }
.cash-intro-card { background:var(--white); border:1px solid var(--rule); padding:1.5rem; }
.cash-intro-card ol { padding:0; list-style:none; margin:0; }
.cash-intro-card li { display:grid; grid-template-columns:1.75rem 1fr; gap:1rem; padding:1rem 0; margin:0; border-top:1px solid var(--rule); }
.cash-intro-card li>span { font-family:var(--font-mono); font-size:.75rem; padding-top:.2rem; color:var(--cobalt); }
.cash-intro-card strong { font-size:.9375rem; }
.cash-intro-card li p { font-size:.875rem; color:var(--muted); margin:.3rem 0 0; }
.cash-origin { border-top:1px solid var(--rule); padding-top:1rem; font-size:.8125rem; color:var(--muted); }
.cash-demo-section { padding:2.5rem 0 3rem; background:var(--white); border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); scroll-margin-top:1rem; }
.cash-section-top { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; margin-bottom:1.75rem; }
.cash-section-top h2 { margin-bottom:.3rem; font-size:1.6rem; }
.cash-section-top .eyebrow { margin-bottom:.5rem; }
.cash-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid var(--rule); margin-bottom:1.5rem; }
.cash-stats>div { padding:1rem 1.25rem; border-right:1px solid var(--rule); }
.cash-stats>div:last-child { border:0; }
.cash-stats span { display:block; color:var(--muted); font-size:.8125rem; }
.cash-stats .cash-stat-value { font-family:var(--font-serif); font-size:2.2rem; line-height:1.2; color:var(--ink); margin-bottom:.35rem; }
.cash-stat-review { background:#F8F2E7; }
.cash-toolbar { display:flex; flex-wrap:wrap; gap:1rem; }
.cash-toolbar-field { display:flex; flex-direction:column; gap:.35rem; flex:1; min-width:10rem; }
.cash-toolbar-field label, .cash-review-label { font-size:.8125rem; font-weight:500; }
.cash-toolbar select, .cash-toolbar input, .cash-review-select { width:100%; min-height:44px; padding:.5rem .7rem; border:1px solid var(--rule-strong); border-radius:0; background:var(--white); color:var(--ink); font-size:.875rem; }
.cash-search { flex:1.4; }
.cash-rule, .cash-table-note { color:var(--muted); font-size:.8125rem; margin:1rem 0; max-width:80rem; }
.cash-results { color:var(--muted); font-size:.8125rem; margin:1.4rem 0 .5rem; min-height:1.3rem; }
.cash-table-wrap { overflow-x:auto; border:1px solid var(--rule); background:var(--white); }
.cash-table { font-size:.8125rem; }
.cash-table th,.cash-table td { padding:.85rem .9rem; border-bottom:1px solid var(--rule); text-align:left; vertical-align:top; }
.cash-table tbody tr:last-child th,.cash-table tbody tr:last-child td { border-bottom:0; }
.cash-table thead { background:var(--bone); }
.cash-table thead th { white-space:nowrap; color:var(--muted); font-weight:500; }
.cash-table .num { font-family:var(--font-mono); white-space:nowrap; text-align:right; }
.cash-record { min-width:9rem; max-width:14rem; }
.cash-record strong { display:block; font-weight:500; }
.cash-record span { display:block; font-size:.75rem; color:var(--muted); margin-top:.25rem; }
.cash-record .cash-ref { font-family:var(--font-mono); color:var(--faint); font-size:.7rem; }
.cash-badge { display:inline-block; padding:.2rem .45rem; font-size:.6875rem; line-height:1.6; border:1px solid var(--rule); white-space:nowrap; color:var(--muted); background:var(--bone); }
.cash-badge--exact,.cash-badge--timing { color:var(--cobalt-deep); background:var(--cobalt-100); border-color:#CDD6ED; }
.cash-badge--ambiguous,.cash-badge--unpaired { color:#754800; background:#F8F2E7; border-color:#E5D9C1; }
.cash-review-state { display:block; font-size:.6875rem; margin-top:.45rem; color:var(--faint); }
.cash-row-button,.cash-text-button { background:none; border:0; padding:.1rem 0; color:var(--cobalt); text-align:left; font-size:.8125rem; text-decoration:underline; text-underline-offset:.2em; min-height:36px; }
.cash-row-button { white-space:nowrap; }
.cash-empty { text-align:center!important; color:var(--muted); padding:2rem!important; }
.cash-balance-grid { display:grid; grid-template-columns:minmax(0,4fr) minmax(0,6fr); gap:3rem; align-items:start; }
.cash-balance-grid p { font-size:.9375rem; color:var(--muted); }
.cash-balances caption { text-align:left; padding:.8rem .9rem; font-family:var(--font-mono); font-size:.6875rem; color:var(--muted); }
.cash-balances th { font-weight:500; }
.cash-flag { color:#754800; background:#F8F2E7; }
.cash-control-note { margin:0; padding:.8rem .9rem; background:var(--bone); font-size:.75rem!important; border-top:1px solid var(--rule); }
.cash-source-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.cash-source-card { border-top:1px solid var(--ink); padding-top:1rem; }
.cash-source-card .index { font-size:.6875rem; }
.cash-source-card h3 { margin-top:.7rem; }
.cash-source-card p { max-width:32rem; font-size:.9375rem; color:var(--muted); }
.cash-method { margin-top:2rem; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); }
.cash-method summary { cursor:pointer; padding:1rem 0; font-size:.9375rem; font-weight:500; }
.cash-method>div { padding:0 0 1rem; max-width:50rem; font-size:.875rem; color:var(--muted); }
.cash-pilot-aside { border-top:1px solid rgba(243,243,238,.3); padding-top:1.25rem; }
.cash-pilot-aside h3 { color:var(--bone); }
.cash-pilot-aside p { font-size:.9375rem; }
.cash-pilot-aside a { color:var(--cobalt-300); }
.closing .cash-pilot-note,.closing .cash-privacy-note { font-size:.8125rem; margin-top:1rem; }
.cash-dialog { border:1px solid var(--rule-strong); color:var(--ink); background:var(--bone); width:calc(100% - 2rem); max-width:820px; max-height:88vh; padding:0; }
.cash-dialog::backdrop { background:rgba(20,21,19,.55); }
.cash-dialog-header { display:flex; justify-content:space-between; gap:1rem; padding:1.5rem; border-bottom:1px solid var(--rule); align-items:flex-start; }
.cash-dialog-header h2 { margin:0; font-size:1.45rem; }
.cash-dialog-header .eyebrow { margin-bottom:.5rem; }
.cash-close { background:transparent; border:1px solid var(--rule-strong); font-size:1.5rem; line-height:1; width:40px; height:40px; color:var(--ink); flex:none; }
#evidence-content { padding:1.5rem; }
.cash-evidence-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:1.25rem 0; }
.cash-evidence-card { border:1px solid var(--rule); padding:1rem; background:var(--white); min-width:0; }
.cash-evidence-card h3 { font-size:1.1rem; }
.cash-evidence-card p { font-size:.875rem; }
.cash-evidence-card dl { margin:0; }
.cash-evidence-card dl div { display:flex; justify-content:space-between; gap:1rem; padding:.4rem 0; font-size:.75rem; border-top:1px solid var(--rule); }
.cash-evidence-card dd { margin:0; text-align:right; overflow-wrap:anywhere; }
.cash-evidence-card dt { color:var(--faint); }
.cash-evidence-explanation { font-size:.9375rem; }
.cash-review-label { display:block; margin:.9rem 0 .35rem; }
.cash-review-select { max-width:20rem; }
.cash-dialog-note { font-size:.8125rem; color:var(--muted); margin-top:1rem; }
.cash-source-meta { font-family:var(--font-mono); font-size:.75rem; padding:1rem; border:1px solid var(--rule); margin:1rem 0; background:var(--white); }
.cash-source-meta div { display:flex; justify-content:space-between; gap:1rem; margin:.25rem 0; }
.cash-callout { border-left:2px solid var(--cobalt); padding:1rem; background:var(--bone); }
@media(max-width:960px) { .cash-hero-grid { gap:2rem; } .cash-balance-grid { grid-template-columns:1fr; gap:1.5rem; } .cash-hero h1 { font-size:3rem; } }
@media(max-width:720px) { .cash-hero { padding-top:1.5rem; } .cash-back { margin-bottom:1.5rem; } .cash-hero-grid { grid-template-columns:1fr; } .cash-hero h1 { font-size:2.7rem; } .cash-promise { font-size:1.5rem; } .cash-intro-card { padding:1.25rem; } .cash-section-top { align-items:flex-start; flex-direction:column; } .cash-stats { grid-template-columns:1fr 1fr; } .cash-stats>div { border-bottom:1px solid var(--rule); } .cash-stats>div:nth-child(2) { border-right:0; } .cash-stats>div:nth-child(3) { border-bottom:0; } .cash-toolbar-field { min-width:calc(50% - 1rem); } .cash-search { flex-basis:100%; } .cash-source-grid { grid-template-columns:1fr; gap:1.5rem; } .cash-evidence-grid { grid-template-columns:1fr; } .cash-dialog-header,#evidence-content { padding:1rem; } }
@media print { .cash-toolbar,.cash-row-button,.cash-method,.cash-dialog { display:none; } .cash-table-wrap { overflow:visible; } .cash-demo-section { padding:1rem 0; } }
