@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Fraunces:opsz,wght@9..144,500;9..144,600&family=Manrope:wght@400;500;600;700&display=swap');
:root{--ink:#17342e;--paper:#f7f5ef;--line:#d8ded5;--lime:#d8ff57;--orange:#ef8b52;--muted:#66736d;--card:#fffefa}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px}.app-shell{max-width:1180px;margin:auto;padding:26px 28px 64px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:52px}.topbar p{margin:0;color:var(--muted);font-size:.86rem}.brand{font-family:Fraunces,serif;font-size:1.45rem;color:var(--ink);text-decoration:none}.brand span{font:500 .64rem 'DM Mono',monospace;text-transform:uppercase;background:var(--lime);padding:3px 5px;border-radius:3px;margin-left:5px;vertical-align:middle}.hero{display:grid;grid-template-columns:1fr 370px;gap:50px;align-items:end;margin-bottom:42px}.eyebrow{font:500 .72rem 'DM Mono',monospace;letter-spacing:.09em;text-transform:uppercase;color:#4c625b;margin:0 0 10px}h1,h2{font-family:Fraunces,Georgia,serif;font-weight:500;letter-spacing:-.045em;margin:0}h1{font-size:clamp(2.6rem,6vw,5.3rem);line-height:.96}h1 em{color:#b74f28;font-style:normal}.lede{font-size:1.05rem;line-height:1.65;color:#50615a;max-width:520px;margin:22px 0 0}.stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink);padding-top:14px;gap:18px}.stats div+div{border-left:1px solid var(--line);padding-left:18px}.stats strong{display:block;font:500 1.55rem Fraunces,serif}.stats span{display:block;color:var(--muted);font-size:.78rem;margin-top:4px}.workspace{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(340px,1.1fr);gap:18px}.card{background:var(--card);border:1px solid var(--line);padding:28px}.scanner{background:var(--ink);color:#fff}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:22px}.section-heading h2{font-size:1.65rem;line-height:1.1}.scanner .eyebrow{color:#a9bfaf}.step{font:500 .75rem 'DM Mono',monospace;background:#295148;padding:8px;border-radius:50%;color:var(--lime)}.dropzone{display:flex;min-height:235px;border:1.5px dashed #8fa99a;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;transition:.2s}.dropzone:hover,.dropzone.drag{background:#20443c;border-color:var(--lime)}.dropzone input{position:absolute;width:1px;height:1px;opacity:0}.dropzone strong{font-size:1rem;margin:9px 0}.dropzone small,.privacy-note{color:#aac0b3;font-size:.79rem}.camera-mark{font:500 3rem Fraunces,serif;color:var(--lime);line-height:.7}.file-info{margin:12px 0;color:var(--lime);font-size:.84rem}.primary,.secondary,.text-button{font:700 .9rem Manrope,sans-serif;border:0;cursor:pointer}.primary{background:var(--lime);color:var(--ink);padding:15px 18px;display:flex;width:100%;justify-content:space-between;align-items:center;margin-top:14px}.primary:hover{background:#e4ff8b}.primary b{font-size:1.25rem}.privacy-note{margin:16px 0 0;line-height:1.5}.text-button{background:none;color:#b74f28;text-decoration:underline;padding:3px}.receipt-list{border-top:1px solid var(--line)}.receipt-row{display:grid;grid-template-columns:85px 1fr auto;gap:14px;border-bottom:1px solid var(--line);padding:15px 0;align-items:center}.receipt-date{font:500 .73rem 'DM Mono',monospace;color:var(--muted)}.receipt-main strong,.receipt-main span{display:block}.receipt-main strong{font-size:.95rem}.receipt-main span{font-size:.76rem;color:var(--muted);margin-top:3px}.receipt-total{font:500 1.12rem Fraunces,serif;white-space:nowrap}.empty{padding:40px 0;color:var(--muted);font-size:.9rem}.breakdown{margin-top:52px}.group-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.group-card{border-top:2px solid var(--ink);padding-top:12px}.group-card h3{font:500 1rem 'DM Mono',monospace;text-transform:uppercase;margin:0 0 11px}.group-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);font-size:.88rem}.group-item span:last-child{font-family:'DM Mono',monospace;color:var(--muted);font-size:.77rem}.review-dialog{border:0;padding:0;width:min(680px,calc(100% - 28px));background:var(--card);color:var(--ink);box-shadow:0 20px 80px #0005}.review-dialog::backdrop{background:#14342dc7}.review-dialog form{padding:28px}.dialog-header{display:flex;justify-content:space-between}.dialog-header h2{font-size:2rem}.close{border:0;background:none;font-size:2rem;color:var(--ink);cursor:pointer}.dialog-help{color:var(--muted);font-size:.9rem;margin:10px 0 24px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:13px}.fields label,.wide{font-size:.75rem;font-weight:700;letter-spacing:.02em}.fields input,.wide textarea{display:block;width:100%;margin-top:5px;background:#f4f2eb;border:1px solid #ccd4c9;padding:10px;font:400 .94rem Manrope,sans-serif;color:var(--ink)}.wide{display:block;margin-top:13px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.dialog-actions .primary{width:auto;margin:0;gap:22px}.secondary{padding:14px 18px;background:#e6e9e2;color:var(--ink)}
@media(max-width:720px){.app-shell{padding:18px 16px 48px}.topbar{margin-bottom:34px}.hero,.workspace,.group-grid{grid-template-columns:1fr}.hero{gap:24px}.stats{max-width:370px}.card{padding:20px}.workspace{gap:12px}.receipt-row{grid-template-columns:66px 1fr}.receipt-total{grid-column:2;text-align:left}.fields{grid-template-columns:1fr}.topbar p{display:none}}
