@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f6f7f2;--ink:#193e34;--muted:#6b7971;--line:#dce3da;--accent:#d9eea5;--white:#fff;--error:#a3332d;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input,label{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,.file-label:focus-within{outline:3px solid #81a655;outline-offset:4px}a{color:inherit}button{color:inherit}[hidden]{display:none!important}.topbar{max-width:1440px;margin:auto;min-height:108px;padding:24px 5.6%;display:flex;align-items:center;gap:26px;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font-family:Manrope,sans-serif;font-weight:800;font-size:33px;display:flex;align-items:center;letter-spacing:-2px}.brand-mark{width:33px;height:35px;background:var(--ink);color:var(--accent);font-size:27px;border-radius:9px 9px 2px 9px;display:grid;place-items:center;margin-right:10px;transform:rotate(-8deg);letter-spacing:0}.brand-dot{color:#91b553}.topbar-label{font-size:12px;color:var(--muted);margin-left:auto}.topbar #sign-out{margin-left:auto}main{max-width:1280px;padding:0 32px;margin:auto;min-height:calc(100vh - 205px)}.welcome{display:grid;grid-template-columns:1.25fr 1fr;gap:90px;align-items:center;padding:76px 0 86px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;line-height:1.6}.tiny-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#91b553;margin-right:8px}.welcome h1{font-family:Manrope,sans-serif;font-size:clamp(40px,4.4vw,62px);font-weight:600;letter-spacing:-3.4px;line-height:1.13;margin:25px 0}.welcome h1 em{font-family:Georgia,serif;font-weight:400;color:#66874f;letter-spacing:-2px}.intro{font-size:16px;line-height:1.85;color:var(--muted);max-width:440px}.how-it-works{display:flex;gap:22px;margin-top:38px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px;color:#7e9863;white-space:nowrap}.how-it-works b{font-size:11px;font-weight:500;color:var(--ink);margin-left:7px}.privacy-note{display:flex;gap:14px;margin-top:30px;font-size:12px;line-height:1.8;color:var(--muted);max-width:430px}.privacy-note strong{font-weight:600;color:var(--ink)}.line-icon{background:#e9efdf;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;flex-shrink:0;font-size:18px;margin-top:10px}.auth-card{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:32px 34px;box-shadow:0 12px 50px #193e3406;max-width:440px}.card-topline{display:flex;justify-content:space-between;align-items:center;color:#8b9a7c}.card-topline>span:last-child{font-size:24px}.auth-card h2{font-family:Manrope,sans-serif;font-size:29px;letter-spacing:-1.2px;font-weight:600;margin:21px 0 8px}.muted{color:var(--muted);font-size:13px;line-height:1.6}.tabs{display:flex;background:var(--paper);border:1px solid #e9ede5;border-radius:9px;padding:4px;margin:25px 0}.tabs button{flex:1;border:0;border-radius:6px;background:transparent;padding:9px;font-size:12px;color:var(--muted)}.tabs button.active{background:var(--white);color:var(--ink);box-shadow:0 1px 4px #193e3412}.auth-card label{display:block;font-size:12px;font-weight:500;margin:19px 0 8px}.auth-card input{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:8px;font-size:13px;color:var(--ink);background:#fdfefb}.auth-card input::placeholder{color:#99a299}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;border-radius:8px;padding:12px 19px;border:1px solid transparent;font-size:12px;font-weight:600;text-decoration:none}.primary{background:var(--ink);color:#fff}.primary:hover{background:#285b48}.quiet{border-color:var(--line);background:transparent}.quiet:hover{background:#e9efdf}.full{width:100%;margin-top:22px;justify-content:space-between}.text-button{border:0;background:none;font-size:11px;color:var(--muted);padding:16px 0 0;text-decoration:underline;text-underline-offset:3px}.auth-footnote{border-top:1px solid var(--line);padding-top:20px;margin-top:24px;font-size:10px;color:var(--muted);line-height:1.8;text-align:center}.field-hint{color:var(--muted);font-size:11px;line-height:1.6}.form-error{font-size:12px;color:var(--error);line-height:1.6;background:#fff2ef;padding:10px;border-radius:6px}.notice{background:#e9efdf;border:1px solid var(--line);padding:12px 16px;font-size:12px;line-height:1.6;border-radius:9px;margin-top:20px}.dashboard-heading{display:flex;justify-content:space-between;align-items:center;margin:50px 0 30px}.dashboard-heading h1{font-family:Manrope,sans-serif;font-size:38px;letter-spacing:-1.7px;margin:10px 0}.pill{font-size:10px;background:#e8eedf;border:1px solid #d6e0ca;border-radius:20px;padding:8px 13px}.upload-card{display:flex;gap:24px;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px}.upload-icon{width:58px;height:66px;background:#edf3e3;display:grid;place-items:center;font-size:31px;border-radius:13px;color:#6a8a43}.upload-copy{flex:1}.upload-copy h2{font-size:19px;letter-spacing:-.5px;margin:0 0 8px}.upload-copy p{font-size:12px;color:var(--muted);line-height:1.7;margin:4px 0}.file-label{cursor:pointer}.upload-status{width:100%;margin:0;font-size:12px}.retention-line{font-size:10px;color:var(--muted);margin:14px 0 35px}.section-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:17px;border-bottom:1px solid var(--line)}.section-heading h2{font-size:16px;font-weight:600}.count{font-size:10px;background:#e4ebdc;padding:3px 7px;border-radius:6px;margin-left:6px}.empty-state{text-align:center;padding:42px 20px 65px}.empty-state h3{font-size:17px;font-weight:500;margin:22px 0 8px}.empty-state p{font-size:12px;color:var(--muted)}.receipt-illustration{background:#fff;border:1px solid var(--line);width:72px;height:95px;padding:12px;margin:auto;transform:rotate(-7deg);box-shadow:5px 5px 0 #e9eedf;border-radius:3px 3px 10px 3px}.receipt-illustration span{display:block;text-align:left;font-size:13px;font-weight:700}.receipt-illustration i{display:block;height:3px;background:#dde6d3;margin:7px 0}.receipt-illustration i:nth-of-type(2){width:70%}.receipt-illustration b{font-size:10px;color:#a8b69c}.history-row{width:100%;border:0;border-bottom:1px solid var(--line);padding:19px 10px;display:grid;grid-template-columns:40px 1fr auto;gap:16px;text-align:left;background:transparent;align-items:center}.history-row:hover{background:#edf1e6}.row-icon{background:#e6eddd;border-radius:9px;width:36px;height:42px;display:grid;place-items:center}.row-main strong{display:block;font-size:13px;font-weight:600;margin-bottom:6px}.row-main small{color:var(--muted);font-size:11px}.row-end{text-align:right;font-size:14px}.row-end small{display:block;margin-top:6px;font-size:10px;color:var(--muted)}.load-more{display:flex;margin:25px auto 50px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}.file-label:has(+input:focus-visible){outline:3px solid #81a655;outline-offset:4px}footer{max-width:1440px;margin:auto;border-top:1px solid var(--line);padding:26px 5.6%;display:flex;justify-content:space-between;font-size:10px;color:var(--muted);gap:20px}dialog{border:1px solid var(--line);border-radius:18px;background:var(--paper);color:var(--ink);width:min(740px,calc(100% - 32px));max-height:85vh;padding:28px}dialog::backdrop{background:#102b2470;backdrop-filter:blur(3px)}.detail-header{display:flex;align-items:center;justify-content:space-between}dialog h2{font-family:Manrope,sans-serif;font-size:27px;letter-spacing:-1px}dialog h3{font-size:14px;margin-top:26px}dialog p{font-size:12px;line-height:1.7}dialog pre{background:#fff;border:1px solid var(--line);border-radius:8px;padding:15px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;line-height:1.7;max-height:350px;overflow:auto}dialog table{width:100%;border-collapse:collapse;background:#fff;font-size:11px}dialog th,dialog td{padding:10px;text-align:left;border-bottom:1px solid var(--line);overflow-wrap:anywhere}dialog th{color:var(--muted);font-weight:500}dialog details{margin-top:20px;font-size:12px}dialog summary{cursor:pointer}dialog code{overflow-wrap:anywhere}
@media(min-width:1500px){.welcome{padding-top:110px;padding-bottom:110px}}
@media(max-width:960px){.welcome{gap:38px}.how-it-works{flex-direction:column;gap:12px}.welcome h1{font-size:45px;letter-spacing:-2px}.auth-card{padding:26px}.topbar-label{font-size:10px}}
@media(max-width:680px){.topbar{min-height:80px;padding:18px 24px}.topbar-label{display:none}main{padding:0 24px}.welcome{grid-template-columns:1fr;gap:32px;padding:35px 0 45px}.welcome h1{font-size:43px;margin-top:19px}.intro{font-size:14px}.how-it-works{flex-direction:row;gap:12px;white-space:normal;flex-wrap:wrap;margin-top:24px;padding:17px 0}.how-it-works b{font-size:10px}.privacy-note{margin-top:12px;font-size:11px}.auth-card{max-width:none}.dashboard-heading{margin-top:30px}.dashboard-heading h1{font-size:31px}.pill{font-size:9px}.upload-card{gap:15px;padding:20px}.upload-icon{display:none}.upload-copy{flex-basis:100%}.upload-card .button{width:100%}footer{padding:22px 24px;flex-direction:column;gap:10px}.history-row{gap:10px;padding-inline:0}.row-end{font-size:12px}dialog{padding:20px}}
@media(prefers-reduced-motion:no-preference){.welcome,.upload-card{animation:arrive .45s ease-out}@keyframes arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}

:root{--paper:#f6f4ed;--ink:#14264d;--muted:#657087;--line:#dfded5;--accent:#ead8a0}h1,h2{font-family:Georgia,serif}.brand-mark{background:#14264d;color:#ead8a0}.brand-dot{color:#9b7310}.auth-card a{color:var(--ink)}

.welcome h1,.auth-card h2,.dashboard-heading h1{font-family:Georgia,serif}.welcome h1 em{color:#9b7310}.tiny-dot{background:#9b7310}
