/* Home #run: the claim, your rules, the trusted records, the result. Rest state is the default, so it reads with scripts off. */
.proof-figure{--pf-ok:#17834f;--pf-ok-bg:#e9f6ef;--pf-no:#b34c50;--pf-no-bg:#fbefef;--pf-navy:#142950;--pf-wire:56px;position:relative;width:100%;margin:40px 0 24px;color:var(--ink);font:400 var(--fs-body)/1.3 Plex,sans-serif}
.proof-figure ul,.proof-figure ol{list-style:none;margin:0;padding:0}
.proof-figure p{margin:0}
.pf-return{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:2}
.pf-return path{fill:none;stroke:var(--pf-no);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;opacity:0}
.pf-return .pf-back-line{stroke-dasharray:1;stroke-dashoffset:1}
.proof-figure.pf-back .pf-return path{opacity:1}
.proof-figure.pf-back .pf-return .pf-back-line{stroke-dashoffset:0;transition:stroke-dashoffset 950ms cubic-bezier(.2,.7,.2,1)}
.proof-figure.pf-back .pf-return .pf-back-head{transition:opacity 120ms linear 900ms}
.proof-figure .pf-label{margin:0 0 12px;color:var(--muted);font:400 var(--fs-small)/1.3 Plex,sans-serif;white-space:nowrap}
.pf-label-stacked{display:none}
.pf-top{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);column-gap:64px;align-items:start}
.pf-claim-card{border:1px solid var(--line);border-radius:10px;padding:20px;background:var(--wash)}
.pf-claim-title{font:400 20px/1.25 Plex,sans-serif;letter-spacing:-.01em;text-wrap:balance}
.pf-claim-rows{display:grid;gap:8px;margin-top:16px}
.proof-figure .pf-claim-rows{margin-top:16px}
.pf-claim-row{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);white-space:nowrap}
.pf-claim-row[data-s="no"]{border-color:var(--pf-no);background:var(--pf-no-bg)}
.pf-icon{flex:none;width:20px;height:20px;fill:none;stroke:var(--pf-navy);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.pf-heads{display:grid;grid-template-columns:minmax(0,1fr) var(--pf-wire) minmax(0,1fr)}
.pf-heads .pf-label:last-child{grid-column:3}
.pf-groups{display:grid;gap:12px}
.pf-group{display:grid;grid-template-columns:minmax(0,1fr) var(--pf-wire) minmax(0,1fr)}
.pf-rules{display:grid;gap:12px;grid-column:1}
.pf-rule{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;padding:0 16px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.pf-rule-text{white-space:nowrap}
.pf-rule::after{content:"";position:absolute;left:calc(100% + 1px);top:50%;width:var(--pf-wire);border-top:1px solid var(--pf-ok)}
.pf-mark{flex:none;display:grid;place-items:center;width:24px;height:24px;border:1.5px solid var(--pf-ok);border-radius:50%;background:var(--pf-ok);color:#fff}
.pf-mark svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.pf-mark .g-no,.pf-mark .g-q{display:none}
.pf-rule[data-s="wait"] .pf-mark,.pf-rule[data-s="active"] .pf-mark{border-color:var(--line);background:var(--paper);color:var(--paper)}
.pf-rule[data-s="wait"]::after{border-top-color:var(--line)}
.pf-rule[data-s="active"]{border-color:var(--pf-navy);box-shadow:inset 0 0 0 1px var(--pf-navy)}
.pf-rule[data-s="active"]::after{border-top-color:var(--pf-navy)}
.pf-rule[data-s="no"]{border-color:var(--pf-no);background:var(--pf-no-bg)}
.pf-rule[data-s="no"]::after{border-top-color:var(--pf-no)}
.pf-rule[data-s="no"] .pf-mark{border-color:var(--pf-no);background:var(--pf-no)}
.pf-rule[data-s="no"] .g-ok,.pf-rule[data-s="q"] .g-ok{display:none}
.pf-rule[data-s="no"] .g-no,.pf-rule[data-s="q"] .g-q{display:inline}
.pf-rule[data-s="q"]{border-color:var(--hold);background:var(--hold-bg)}
.pf-rule[data-s="q"]::after{border-top:1px dashed var(--hold)}
.pf-rule[data-s="q"] .pf-mark{border-color:var(--hold);background:var(--hold)}
.pf-record{grid-column:3;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:12px;align-content:center;align-items:center;min-height:60px;padding:8px 16px;border:1px solid var(--line);border-radius:10px;background:var(--wash)}
.pf-record .pf-icon{grid-row:1/3}
.pf-record-name{display:block;white-space:nowrap}
.pf-record-sub{display:block;color:var(--muted);font-size:var(--fs-small);white-space:nowrap}
.pf-record[data-s="lit"]{border-color:var(--pf-navy);box-shadow:inset 0 0 0 1px var(--pf-navy);background:var(--paper)}
.pf-record[data-s="missing"]{border:1px dashed var(--hold);background:var(--paper)}
.pf-record[data-s="missing"]>*{opacity:.35}
.pf-results-block{margin-top:72px}
.pf-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pf-result{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:14px;align-items:center;min-height:92px;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:var(--paper);transition:opacity 300ms linear}
.pf-result .pf-mark{grid-row:1/4;width:32px;height:32px}
.pf-result .pf-mark svg{width:20px;height:20px}
.pf-result-name{display:block;font:600 var(--fs-body)/1.3 Plex,sans-serif;color:var(--pf-ok)}
.pf-result-why,.pf-result-then{display:block;white-space:nowrap;font-size:var(--fs-small);line-height:1.4}
.pf-result-then{color:var(--muted)}
.pf-refused .pf-mark{border-color:var(--pf-no);background:var(--pf-no)}
.pf-refused .pf-result-name{color:var(--pf-no)}
.pf-hold .pf-mark{border-color:var(--hold);background:var(--hold)}
.pf-hold .pf-result-name{color:var(--hold)}
.pf-result[data-s="dim"]{opacity:.55}
.pf-approved[data-s="on"]{border-color:var(--pf-ok);box-shadow:inset 0 0 0 1px var(--pf-ok);background:var(--pf-ok-bg)}
.pf-refused[data-s="on"]{border-color:var(--pf-no);box-shadow:inset 0 0 0 1px var(--pf-no);background:var(--pf-no-bg)}
.pf-hold[data-s="on"]{border-color:var(--hold);box-shadow:inset 0 0 0 1px var(--hold);background:var(--hold-bg)}
.pf-results-head{display:flex;align-items:flex-start;justify-content:space-between;min-height:30px}
.pf-replay{display:inline-flex;align-items:flex-start;min-height:44px;margin:-13px 0 -13px;padding:13px 0 13px 24px;border:0;background:none;color:var(--muted);font:400 var(--fs-small)/1.3 Plex,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.pf-replay:hover{color:var(--ink)}
.pf-replay[hidden]{display:none}
@media(max-width:899px){
 .proof-figure{margin:32px 0 16px}
 .proof-figure .pf-label{margin-bottom:8px}
 .pf-top{grid-template-columns:minmax(0,1fr);row-gap:20px}
 .pf-claim-card{padding:12px 12px 12px}
 .pf-claim-title{padding-inline:4px}
 .pf-claim-row{min-height:40px}
 .pf-groups{gap:8px}
 .pf-claim-rows,.proof-figure .pf-claim-rows{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}
 .pf-heads{display:none}
 .pf-label-stacked{display:block}
 .pf-group{display:block;border:1px solid var(--line);border-radius:10px;overflow:clip}
 .pf-rules{gap:0}
 .pf-rule{min-height:44px;border:0;border-bottom:1px solid var(--line);border-radius:0}
 .pf-rule::after{content:none}
 .pf-rule[data-s="active"]{box-shadow:inset 0 0 0 2px var(--pf-navy)}
 .pf-rule[data-s="no"]{box-shadow:inset 0 0 0 1px var(--pf-no)}
 .pf-rule[data-s="q"]{box-shadow:inset 0 0 0 1px var(--hold)}
 .pf-record{min-height:48px;padding-block:2px;border:0;border-radius:0}
 .pf-record[data-s="lit"]{box-shadow:inset 0 0 0 2px var(--pf-navy)}
 .pf-record[data-s="missing"]{border:0;box-shadow:inset 0 0 0 1px var(--hold)}
 .pf-results-block{margin-top:20px}
 .pf-results{grid-template-columns:minmax(0,1fr);gap:6px}
 .pf-result{min-height:66px;padding:4px 16px}
 .pf-result-name{line-height:1.25}
 .pf-result-why,.pf-result-then{line-height:1.25}
 .pf-record-sub{line-height:1.25}
}
@media(max-width:379px){
 .pf-claim-rows,.proof-figure .pf-claim-rows{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){
 .pf-replay{display:none}
}

/* Product #bundle: the same figure with one expense claim in it. The markup holds the last step, so it reads with scripts off. */
.section-lead{max-width:60ch;margin:16px 0 0;color:var(--ink);font:400 var(--fs-body)/1.5 Plex,sans-serif;text-wrap:pretty}
.pf-example{margin-top:32px}
.pf-example h3,.record-card-block h3{margin:0;max-width:30ch;color:var(--ink);font:400 var(--fs-row)/1.2 Plex,sans-serif;letter-spacing:-.015em;text-wrap:balance}
.proof-figure.pf-expense{margin-top:24px}
.pf-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;margin-bottom:24px}
.pf-controls[hidden]{display:none}
.pf-steps{display:flex;flex-wrap:wrap;gap:8px}
.pf-step{min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:22px;background:var(--paper);color:var(--ink);font:400 var(--fs-small)/1 Plex,sans-serif;cursor:pointer}
.pf-step[aria-pressed="true"]{border-color:var(--ink);background:var(--ink);color:var(--paper)}
.pf-controls .pf-replay{align-items:center;margin:0;padding:0}
@media(min-width:900px){.pf-expense .pf-top{grid-template-columns:minmax(0,380px) minmax(0,1fr)}}
.pf-expense .pf-claim-title{white-space:nowrap}
.pf-claim-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;color:var(--muted);font-size:var(--fs-small);white-space:nowrap}
.pf-attempt{padding:2px 10px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink)}
.proof-figure .pf-lines{margin-top:12px}
.pf-line{display:grid;grid-template-columns:20px minmax(0,1fr) auto;column-gap:12px;align-items:center;min-height:50px;padding:4px 12px;border:1px solid transparent;border-radius:8px;font-variant-numeric:tabular-nums}
.pf-line-name{display:block;white-space:nowrap}
.pf-line-sub{display:block;color:var(--muted);font-size:var(--fs-small);line-height:1.25;white-space:nowrap}
.pf-line[data-s="no"]{border-color:var(--pf-no);background:var(--pf-no-bg)}
.pf-line[data-s="no"] .pf-amount{color:var(--pf-no)}
.pf-line[data-s="fix"]{border-color:var(--pf-navy);box-shadow:inset 0 0 0 1px var(--pf-navy);background:var(--paper)}
.pf-total{display:flex;align-items:baseline;justify-content:space-between;margin-top:8px;padding:12px 12px 0;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}
.pf-total-amount{font-size:20px}
.proof-figure .pf-history{margin-top:6px;padding-inline:12px;color:var(--muted);font-size:var(--fs-small);white-space:nowrap}
.proof-figure[data-step]:not([data-step="4"]) .pf-history{visibility:hidden}
.pf-a1{display:none}
.proof-figure[data-attempt="1"] .pf-a1{display:inline}
.proof-figure[data-attempt="1"] .pf-a2{display:none}
.pf-group-reason .pf-rules{grid-row:1}
.pf-group-reason .pf-record{grid-row:1/span 2}
.pf-reason{grid-column:1;grid-row:2;margin-top:12px;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:var(--wash);font-variant-numeric:tabular-nums}
.pf-days{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.pf-day{padding:6px 4px;border:1px solid var(--line);border-radius:8px;background:var(--paper);text-align:center;white-space:nowrap}
.pf-day span{display:block;color:var(--muted);font-size:var(--fs-small);line-height:1.25}
.proof-figure .pf-reason p{margin-top:8px;font-size:var(--fs-small);white-space:nowrap}
.pf-reason[data-s="no"]{border-color:var(--pf-no)}
.pf-reason[data-s="no"] .pf-reason-claim{color:var(--pf-no)}
@media(max-width:899px){
 .pf-example{margin-top:28px}
 .pf-controls{margin-bottom:16px}
 .pf-step{padding:0 13px}
 .pf-expense .pf-claim-title{padding-inline:12px}
 .pf-claim-meta{padding-inline:12px}
 .pf-line{min-height:46px;padding-block:2px}
 .pf-reason{margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0}
 .pf-reason[data-s="no"]{box-shadow:inset 0 0 0 1px var(--pf-no)}
}
@media(prefers-reduced-motion:reduce){
 .proof-figure.pf-back .pf-return .pf-back-line,.proof-figure.pf-back .pf-return .pf-back-head,.pf-result{transition:none}
}

/* Desktop density: the whole figure, controls included, fits one laptop viewport. Type sizes are unchanged. */
@media(min-width:900px){
 .proof-figure{margin:28px 0 16px}
 .proof-figure .pf-label{margin-bottom:8px}
 .pf-claim-card{padding:16px}
 .pf-claim-rows,.proof-figure .pf-claim-rows{margin-top:12px;gap:6px}
 .pf-claim-row{min-height:40px}
 .pf-groups{gap:8px}
 .pf-rules{gap:8px}
 .pf-rule{min-height:44px;padding:0 14px}
 .pf-record{min-height:44px;padding:4px 14px}
 .pf-results-block{margin-top:32px}
 .pf-result{min-height:72px;padding:8px 14px}
 .pf-result .pf-mark{width:28px;height:28px}
 .pf-result-why,.pf-result-then{line-height:1.3}
 .pf-example{margin-top:24px}
 .pf-example h3{max-width:none;font-size:20px}
 .proof-figure.pf-expense{margin-top:12px}
 .pf-controls{margin-bottom:12px}
 .pf-step{min-height:36px;padding:0 14px}
 .pf-expense .pf-claim-title{font-size:18px}
 .proof-figure .pf-lines{margin-top:8px}
 .pf-line{min-height:40px;padding:1px 10px}
 .pf-line-name{line-height:1.2}
 .pf-line-sub{line-height:1.2}
 .pf-claim-meta{margin-top:4px}
 .pf-total{margin-top:6px;padding:8px 10px 0}
 .pf-total-amount{font-size:18px}
 .proof-figure .pf-history{margin-top:4px;padding-inline:10px}
 .pf-reason{margin-top:8px;padding:8px 12px}
 .pf-day{padding:3px 4px}
 .proof-figure .pf-reason p{margin-top:6px}
}
