/* Verifier stages 10–12 (H consistency view, row audit, receipt). Prefix vfc-. Apache-2.0. */
.vfc-lab{max-width:1000px}
.vfc-banner{margin:0;padding:10px 14px;border:2px dashed var(--ochre-line);border-radius:8px;background:var(--ochre-tint);font-size:16px;line-height:1.45}
.vfc-banner b{color:var(--ochre)}
.vfc-col{display:flex;flex-direction:column;gap:12px;min-width:0}
.vfc-sub{font-size:17px;margin:8px 0 0}
.vfc-small{font-size:13px;color:var(--muted);font-weight:400}
.vfc-panel{margin:0}
.vfc-panel:focus,.vfc-event:focus,.vfc-anatomy:focus,.vfc-template:focus,.vfc-receipt:focus,.vfc-noreceipt:focus,.vfc-strip-wrap:focus,.vfc-counts-wrap:focus,.vfc-template-counts:focus,#vfc-h-error:focus{outline:3px solid var(--focus);outline-offset:3px}
.vfc-mark{display:inline-flex;align-items:center;justify-content:center;min-width:1.4em;font-weight:700}
.vfc-mark.is-ok{color:var(--teal)}
.vfc-mark.is-bad{color:var(--red)}

/* H stage */
.vfc-h-poly{font-size:18px;overflow-x:auto;max-width:100%;padding:2px 0 6px}
.vfc-checks{list-style:none;margin:6px 0;padding:0;display:flex;flex-direction:column;gap:8px}
.vfc-checks>li{display:grid;grid-template-columns:1.6em minmax(0,1fr);gap:4px;align-items:start;line-height:1.4}
.vfc-checks>li>span:last-child{min-width:0;overflow-wrap:anywhere}
.vfc-chips{display:flex;flex-wrap:wrap;gap:4px 6px;margin-top:4px}
.vfc-chip{font-family:var(--mono);font-size:14.5px;border:1px solid var(--teal-line);border-radius:5px;padding:0 6px;background:#fff;white-space:nowrap}
.vfc-counts{max-width:520px}
.vfc-counts td,.vfc-diff td{font-family:var(--mono);font-size:15px}
.vfc-extra-row th,.vfc-extra-row td{color:var(--muted);border-top:1px dashed var(--control-line)}
.vfc-entry label{color:var(--ink);font-size:15.5px}
.vfc-entry input[type=text]{width:100%}
.btn.vfc-restore[aria-disabled=true]{opacity:.55;cursor:default}
.btn.vfc-restore[aria-disabled=true]:hover{background:inherit}
.vfc-diffs{list-style:none;margin:6px 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 10px}
.vfc-diffs li{background:#fff;border:1px solid var(--teal-line);border-radius:6px;padding:3px 8px;font-variant-numeric:tabular-nums;white-space:nowrap}
.vfc-diffs li.is-extra{border-style:dashed;color:var(--muted)}
.vfc-formula-box{border-left:3px solid var(--teal-line);padding:2px 0 2px 12px;margin:0;min-width:0}
.vfc-formula-box>p{margin:0 0 4px}
.vfc-formula{margin:4px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:2px}
.vfc-formula li{overflow-x:auto;max-width:100%;line-height:1.6;padding:2px 0}
.ex-table.vfc-diff{width:auto;min-width:min(100%,420px)}
.vfc-diff th,.vfc-diff td{padding-left:12px;padding-right:12px}
.vfc-diff th[scope=row]{white-space:nowrap}
.vfc-entry label>span{display:block}
.vfc-checks .katex,.vfc-rung .katex,.vfc-list .katex,.vfc-panel>p:not(.vfc-h-poly) .katex{white-space:nowrap}
.vfc-template-counts{margin:0;display:flex;flex-direction:column;gap:2px;border-radius:6px}
.vfc-template-counts p{margin:0}
.vfc-template-link{color:var(--ink)}
.vfc-diff .vfc-extra{background:var(--panel);color:var(--muted)}
.vfc-diff tr.vfc-src{background:#fbf7f1}
.vfc-diff tr.is-on td{font-weight:700;color:var(--wine)}
.vfc-diff caption .math{white-space:nowrap}
.vfc-event p{margin:6px 0}
.vfc-biglist{margin:4px 0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:2px}
.vfc-biglist li{display:grid;grid-template-columns:3.6em minmax(0,1fr);gap:6px;align-items:baseline}

/* Row stage */
.vfc-strip{display:block;width:100%;height:auto;max-width:440px;margin:0 auto}
.vfc-cell{fill:#fff;stroke:var(--control-line);stroke-width:1.5}
.vfc-cell.is-end{stroke-width:3;stroke-dasharray:6 3}
.vfc-cell.is-on{fill:var(--teal-tint);stroke:var(--teal)}
.vfc-svg-j{font-size:19px;font-family:var(--mono);fill:var(--ink)}
.vfc-svg-label{font-size:17px;font-style:italic;fill:var(--muted)}
.vfc-svg-small{font-size:15px;fill:var(--muted)}
.vfc-svg-small.is-on{fill:var(--teal);font-weight:700}
.vfc-tail{fill:var(--wine-tint);stroke:var(--wine-line);stroke-width:1}
.vfc-tail.is-on{fill:var(--wine);stroke:var(--wine)}
.vfc-bracket{fill:none;stroke:var(--control-line);stroke-width:2}
.vfc-bracket.is-on{stroke:var(--teal);stroke-width:3}
.vfc-list{margin:4px 0;padding-left:18px;display:flex;flex-direction:column;gap:3px}
.vfc-list li{overflow-wrap:anywhere}
.vfc-why{display:block;color:var(--muted);font-size:15px;line-height:1.4}
.vfc-tail-steps li{display:flex;flex-direction:column;gap:1px}
.vfc-tail-val{overflow-wrap:anywhere}
.vfc-strip-wrap{display:flex;flex-direction:column;gap:6px;min-width:0;border-radius:8px}
.vfc-strip-wrap p{margin:0}
.vfc-row-count{line-height:1.45}
.vfc-check-table tfoot th,.vfc-check-table tfoot td{border-top:2px solid var(--line);border-bottom:0;font-weight:700}
.vfc-check-table tfoot th[scope=row]{font-weight:600;color:var(--muted);font-size:14.5px;white-space:normal}
.vfc-approx{display:inline-block;white-space:nowrap}
.vfc-tail-table{width:auto;min-width:min(100%,360px)}
.vfc-tail-table td.vfc-xy span{display:block;text-align:right;font-family:var(--mono);font-size:14.5px;white-space:nowrap;line-height:1.4}
.vfc-tail-table td.vfc-xy i{color:var(--muted)}
.vfc-tail-table th[scope=row]{white-space:nowrap;vertical-align:top}
.vfc-tail-table th[scope=row]{font-variant-numeric:tabular-nums}
.vfc-check-table td{line-height:1.35}
.vfc-check-table th[scope=row]{white-space:nowrap}
.vfc-check-table tr.is-dim td,.vfc-check-table tr.is-dim th{color:var(--muted);font-style:italic}
.vfc-kind{display:inline-block;font-size:12.5px;color:var(--wine);border:1px solid var(--wine-line);border-radius:4px;padding:0 4px;margin-left:4px;white-space:nowrap;font-style:normal}
.vfc-anatomy{display:flex;flex-direction:column;gap:8px;min-width:0}
.vfc-anatomy .ex-count{margin:0}
.vfc-grid-wrap{display:flex;flex-direction:column;gap:8px}
.vfc-grid-wrap p{margin:0}
.vfc-grid{display:flex;flex-wrap:wrap;gap:6px}
.vfc-gcell{width:48px;height:48px;min-width:48px;min-height:48px;padding:2px;border-radius:7px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:0;font-size:16px;line-height:1.05;border:1px solid var(--line);background:#fff;color:var(--muted)}
.vfc-gnum{font-variant-numeric:tabular-nums}
.vfc-gmark{font-size:13px}
.btn.vfc-gcell.is-done{background:var(--teal);border-color:var(--teal);color:#fff}
.btn.vfc-gcell.is-done:hover:not(:disabled){background:#1c5750;border-color:#1c5750}
.btn.vfc-gcell.is-done[aria-pressed=true]{background:var(--wine);border-color:var(--wine);box-shadow:0 0 0 2px #fff inset}
.vfc-gcell.is-stop{background:var(--red-tint);border:2px solid var(--red);color:var(--red);font-weight:700}
.vfc-gcell.is-live{background:var(--ochre-tint);border:2px solid var(--ochre);color:var(--ochre)}
.vfc-gcell.is-wait{border-style:dashed}
.vfc-key{display:inline-block;margin-right:10px;white-space:nowrap}
.vfc-key.is-done{color:var(--teal)}.vfc-key.is-live{color:var(--ochre)}.vfc-key.is-stop{color:var(--red)}
.vfc-state{font-size:16px;line-height:1.45;overflow-wrap:anywhere}

/* Receipt stage */
.vfc-template{border:2px dashed var(--control-line);border-radius:10px;padding:12px 16px;background:#fff}
.vfc-template-head{font-size:16px;margin:0 0 8px}
.vfc-fields,.vfc-receipt-fields{margin:0;display:flex;flex-direction:column}
.vfc-field{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1.1fr) minmax(0,1.6fr);gap:4px 14px;padding:7px 0;border-top:1px solid var(--soft-line)}
.vfc-field:first-child{border-top:0}
.vfc-field dt{color:var(--muted);font-size:15px}
.vfc-field dd{margin:0;min-width:0;overflow-wrap:anywhere}
.vfc-val{font-variant-numeric:tabular-nums;font-weight:600}
.vfc-field.is-set .vfc-val{font-weight:400;font-style:italic;color:var(--muted)}
.vfc-mean{font-size:15px;color:var(--ink)}
.vfc-bar{display:grid;grid-template-columns:2fr 3fr 2fr;grid-template-rows:auto auto;row-gap:4px;margin:4px 0 0;font-size:14px;text-align:center}
.vfc-seg{padding:5px 3px;border-right:2px solid #fff;display:flex;flex-direction:column;gap:1px;line-height:1.25;min-width:0}
.vfc-seg:first-child{border-radius:6px 0 0 6px}
.vfc-seg small{font-size:12.5px;font-variant-numeric:tabular-nums}
.vfc-runbar{grid-column:1/-1;grid-row:2;display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--ochre);text-align:left}
.vfc-runbar::before{content:"";flex:0 0 auto;width:12%;max-width:60px;height:10px;border-radius:3px;background:var(--ochre)}
.vfc-seg.is-cert{background:var(--wine-tint);color:var(--wine)}
.vfc-seg.is-open{background:repeating-linear-gradient(135deg,#fff 0 6px,var(--red-tint) 6px 12px);color:var(--red)}
.vfc-seg.is-proof{background:var(--teal-tint);color:var(--teal);border-right:0;border-radius:0 6px 6px 0}
.vfc-ladder{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.vfc-rung{border:1px solid var(--line);border-left:5px solid var(--line);border-radius:8px;padding:8px 12px;background:#fff;font-size:15.5px;line-height:1.45}
.vfc-rung p{margin:3px 0;overflow-wrap:anywhere}
.vfc-rung.is-here{border-left-color:var(--ochre)}
.vfc-rung.is-cert{border-left-color:var(--wine)}
.vfc-rung.is-open{border-left-color:var(--red);border-style:dashed;border-left-style:solid}
.vfc-rung.is-proof{border-left-color:var(--teal)}
.vfc-range{font-weight:700;font-size:16.5px}
.vfc-now{color:var(--ochre)}
.vfc-receipt{border:2px solid var(--teal);border-radius:10px;padding:12px 16px;background:#fff;font-size:15.5px}
.vfc-receipt.is-stale{border-color:var(--control-line);border-style:dashed;background:var(--panel)}
.vfc-receipt-head{font-size:18px;font-weight:700;color:var(--teal);margin:0 0 6px}
.vfc-receipt.is-stale .vfc-receipt-head{color:var(--muted)}
.vfc-receipt-fields>div{display:grid;grid-template-columns:minmax(150px,auto) minmax(0,1fr);gap:2px 14px;padding:3px 0}
.vfc-receipt-fields dt{color:var(--muted)}
.vfc-receipt-fields dd{margin:0;min-width:0;overflow-wrap:anywhere}
.vfc-receipt-scope{border-top:1px solid var(--soft-line);padding-top:8px;margin:8px 0 0}
.vfc-stale-note{color:var(--ochre);margin:6px 0 0}
.vfc-noreceipt{border:2px solid var(--red);border-radius:10px;padding:10px 14px;background:var(--red-tint);font-size:15.5px}
.vfc-noreceipt p{margin:4px 0;overflow-wrap:anywhere}
.vfc-noreceipt .vfc-receipt-head{color:var(--red)}
.vfc-noreceipt.is-wait{border-color:var(--ochre);background:var(--ochre-tint)}
.vfc-noreceipt.is-wait .vfc-receipt-head{color:var(--ochre)}
.vfc-noreceipt+.vfc-receipt{margin-top:10px}

@media(max-width:760px){
 .vfc-field{grid-template-columns:minmax(0,1fr);gap:2px}
 .vfc-receipt-fields>div{grid-template-columns:minmax(0,1fr);gap:0;padding:5px 0;border-top:1px solid var(--soft-line)}
 .vfc-receipt-fields>div:first-child{border-top:0}
}
@media(max-width:640px){
 .vfc-banner{font-size:15px}
 .vfc-h-poly{font-size:16px}
 .vfc-counts td,.vfc-diff td{font-size:14px}
 .vfc-diff th,.vfc-diff td{padding:5px 7px}
 .vfc-chip{font-size:13.5px}
 .vfc-bar{font-size:12.5px}
 .vfc-seg small{font-size:12px}
 .vfc-runbar{font-size:13px}
 .vfc-tail-table td.vfc-xy span{font-size:13.5px}
 .vfc-rung{font-size:15px;padding:8px 10px}
 .vfc-receipt,.vfc-template{padding:10px 12px}
 .vfc-gcell{width:46px;height:46px;min-width:46px;min-height:46px}
 .vfc-svg-small{font-size:17px}
 .vfc-svg-label{font-size:19px}
}
