@font-face{font-family:'Expense Instrument Serif';src:url('/expense-assets/fonts/instrument-serif-latin-400-normal.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Expense Geist';src:url('/expense-assets/fonts/geist-latin-wght-normal.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'Expense Source Serif 4';src:url('/expense-assets/fonts/source-serif-4-latin-opsz-normal.woff2') format('woff2');font-style:normal;font-weight:200 900;font-display:swap}
:root.expense-page{--paper:#f4f3ef;--ink:#17171b;--muted:#66636c;--line:#d8d5ce;--violet:#4a35df;--black:#08080a;--ivory:#f7f6f2;--bright:#b5a9ff;--ui:'Expense Geist','Helvetica Neue',Arial,sans-serif;--display:'Expense Instrument Serif',Georgia,serif;--body:'Expense Source Serif 4',Georgia,serif;font-synthesis:none;text-rendering:optimizeLegibility;color-scheme:light}
:where(.expense-page) *{box-sizing:border-box}
html.expense-page{scroll-behavior:smooth;scroll-padding-top:1.5rem}
:where(.expense-page) body{margin:0;background:var(--paper);color:var(--ink)}
:where(.expense-page) a{color:var(--violet);text-decoration-thickness:1px;text-underline-offset:.18em;overflow-wrap:anywhere}
:where(.expense-page) a:hover{text-decoration-thickness:2px}
:where(.expense-page) button{font:inherit;cursor:pointer}
:where(.expense-page) a:focus-visible,:where(.expense-page) button:focus-visible{outline:2px solid var(--violet);outline-offset:5px}
:where(.expense-page) ::selection{background:#d8d1ff;color:var(--ink)}
:where(.expense-page) .skip-link{position:absolute;top:1rem;left:1rem;transform:translateY(-200%);z-index:9;padding:.8rem;background:var(--paper);font-family:var(--ui)}
:where(.expense-page) .skip-link:focus{transform:none}
:where(.expense-page) .page{max-width:880px;padding:3.5rem 2rem 3rem;margin:0 auto}
:where(.expense-page) .page-heading h1{font:400 clamp(2.7rem,5vw,3.75rem)/1.02 var(--display);letter-spacing:-.025em;max-width:26ch;margin:0 0 1rem;text-wrap:balance}
:where(.expense-page) .page-heading>p{font:400 .9rem/1.65 var(--ui);color:var(--muted);margin:0 0 2rem}
:where(.expense-page) .actions{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1.3rem;margin-bottom:1.75rem}
:where(.expense-page) .button{display:inline-flex;align-items:center;justify-content:center;gap:.9rem;background:var(--violet);color:#fff;border:0;border-radius:.35rem;min-height:44px;padding:.75rem 1rem;font:600 .82rem/1.4 var(--ui);transition:background-color .15s}
:where(.expense-page) .button:hover{background:#3823ba}
:where(.expense-page) .text-button{border:0;background:transparent;color:var(--violet);padding:.6rem 0;min-height:44px;font:500 .8rem/1.4 var(--ui);text-decoration:underline;text-underline-offset:.2em}
:where(.expense-page) .text-button:hover{text-decoration-thickness:2px}
:where(.expense-page) .status{font:400 .75rem/1.5 var(--ui);color:var(--muted)}
:where(.expense-page) .status:empty{display:none}
:where(.expense-page) .actions .status{flex-basis:100%}
:where(.expense-page) .letter-card{border:1px solid var(--line);border-radius:12px;background:#fbfaf7;padding:2rem 2.25rem}
:where(.expense-page) .letter{font:400 1.14rem/1.7 var(--body);font-optical-sizing:auto}
:where(.expense-page) .letter p{margin:0 0 1.2rem}
:where(.expense-page) .letter .subject{font:500 .82rem/1.6 var(--ui);margin:0 0 1.5rem}
:where(.expense-page) .letter .subject strong{font-weight:550}
:where(.expense-page) .letter h2{font:400 clamp(1.9rem,3.2vw,2.5rem)/1.12 var(--display);letter-spacing:-.02em;margin:2.2rem 0 .9rem;text-wrap:balance}
:where(.expense-page) .letter h3{font:600 1rem/1.5 var(--ui);margin:1.8rem 0 .6rem}
:where(.expense-page) .letter strong{font-weight:650}
:where(.expense-page) .letter ul{padding-left:1.25rem;margin:.9rem 0 1.3rem}
:where(.expense-page) .letter li{margin:.5rem 0;padding-left:.2rem}
:where(.expense-page) .letter li::marker{color:var(--violet);font-size:.8em}
:where(.expense-page) .letter-end{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;margin:1rem 0 0}
:where(.expense-page) .help{margin-top:2.5rem}
:where(.expense-page) .help h2{font:400 1.85rem/1.15 var(--display);letter-spacing:-.015em;margin:0 0 .7rem}
:where(.expense-page) .help p{font:400 .9rem/1.7 var(--ui);color:var(--muted);margin:0}
:where(.expense-page) .js-only{display:none}
html.expense-page.js .actions,html.expense-page.js .letter-end{display:flex}
@media(max-width:600px){:where(.expense-page) .page{padding:1.75rem 1.25rem 2rem}
:where(.expense-page) .page-heading h1{font-size:2.75rem;max-width:18ch}
:where(.expense-page) .page-heading>p{font-size:.9rem}
:where(.expense-page) .letter-card{padding:1.25rem}
:where(.expense-page) .letter{font-size:1.06rem;line-height:1.65}
:where(.expense-page) .letter h2{font-size:2rem;margin-top:1.9rem}
:where(.expense-page) .letter .subject{font-size:.77rem}
:where(.expense-page) .actions{margin-bottom:1.25rem}
:where(.expense-page) .help{margin-top:2rem}
}
@media(prefers-reduced-motion:reduce){html.expense-page{scroll-behavior:auto}
:where(.expense-page) *{transition:none!important}
}
@media print{:where(.expense-page) body{background:#fff;color:#000}
:where(.expense-page) .page{max-width:none;padding:0}
:where(.expense-page) .page-heading,:where(.expense-page) .actions,:where(.expense-page) .letter-end,:where(.expense-page) .help,:where(.expense-page) .skip-link{display:none!important}
:where(.expense-page) .letter-card{border:0;padding:0;background:#fff}
:where(.expense-page) .letter{border:0;padding:0;font:11pt/1.5 Georgia,serif}
:where(.expense-page) .letter h2{font-size:17pt;break-after:avoid}
:where(.expense-page) .letter a{color:#000}
:where(.expense-page) .letter li{break-inside:avoid}
}

