:root{color-scheme:light;font-family:Avenir Next,Segoe UI,sans-serif;--bg: #f6f1e7;--bg-accent: #efe1c9;--paper: rgba(255, 251, 245, .86);--paper-strong: rgba(255, 248, 238, .96);--ink: #231b14;--muted: #6f6357;--line: rgba(77, 54, 29, .12);--olive: #20463d;--olive-soft: #4f7f72;--amber: #a0622f;--danger: #9a3b36;--shadow: 0 18px 40px rgba(64, 39, 14, .12)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(circle at top left,rgba(255,251,243,.95),transparent 36%),linear-gradient(180deg,#efe3cf,#f7f2ea 38%,#efe6d6);color:var(--ink)}button,input{font:inherit}button{border:none;cursor:pointer}input{width:100%;border:1px solid var(--line);border-radius:16px;background:#ffffffdb;padding:.9rem 1rem;color:var(--ink)}input:focus{outline:2px solid rgba(79,127,114,.35);outline-offset:2px}.app-shell{min-height:100vh;padding:1rem}.topbar{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:1rem 0 1.6rem}.topbar h1,.hero-card h2,.section-header h2,.claim-hero h2,.empty-card h3,.claim-card h3,.receipt-card h3{font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,serif;font-weight:700}.topbar h1{margin:.2rem 0 0;font-size:clamp(2.2rem,5vw,3rem)}.topbar__nav{display:flex;gap:.6rem;flex-wrap:wrap}.topbar__nav a{padding:.8rem 1rem;border-radius:999px;color:var(--muted);text-decoration:none;background:#ffffff80;transition:transform .18s ease,background .18s ease,color .18s ease}.topbar__nav a.active,.topbar__nav a:hover{color:var(--ink);background:#fffffff5;transform:translateY(-1px)}.app-shell__content{max-width:1160px;margin:0 auto 4rem}.page-stack{display:grid;gap:1.2rem;animation:rise-in .26s ease}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.73rem;color:var(--amber);margin:0}.hero-card,.claim-hero,.settings-card,.empty-card,.receipt-card,.export-panel,.queue-banner,.claim-card{background:var(--paper);border:1px solid rgba(123,83,47,.08);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.hero-card,.claim-hero{display:grid;gap:1rem;padding:1.4rem;border-radius:28px;background:linear-gradient(135deg,#fffbf5eb,#efe1c9e0),var(--paper)}.hero-card h2,.section-header h2,.claim-hero h2{margin:.3rem 0 0;font-size:clamp(1.8rem,3.2vw,2.8rem);line-height:1.05}.hero-card__stats,.claim-hero__totals,.receipt-summary-grid,.claim-grid{display:grid;gap:.9rem}.metric-card{border-radius:20px;padding:1rem;background:#ffffffa3;border:1px solid rgba(81,61,40,.08)}.metric-card span{display:block;color:var(--muted);margin-bottom:.35rem}.metric-card strong{font-size:1.15rem}.section-header,.toolbar,.receipt-card__header,.receipt-card__actions,.export-panel,.item-table__header,.item-table__row{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.toolbar{flex-wrap:wrap}.primary-button,.ghost-button{padding:.9rem 1.15rem;border-radius:16px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.primary-button{background:linear-gradient(135deg,var(--olive-soft),var(--olive));color:#fff;box-shadow:0 12px 24px #20463d2e}.ghost-button{background:#ffffffbd;color:var(--ink);border:1px solid var(--line)}.primary-button:hover,.ghost-button:hover{transform:translateY(-1px)}.primary-button:disabled,.ghost-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.claim-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.claim-link{text-decoration:none;color:inherit}.claim-card,.settings-card,.empty-card{border-radius:24px;padding:1.2rem}.claim-card strong{display:block;margin:.6rem 0 .3rem;font-size:1.15rem}.claim-card span,.empty-card p,.export-panel p,.claim-hero p{color:var(--muted)}.claim-title-input{font-size:clamp(2rem,4vw,3rem);font-family:Iowan Old Style,Palatino Linotype,serif;background:transparent;border:none;padding:0;border-radius:0}.claim-title-input:focus{outline:none}.queue-banner,.export-panel,.receipt-card{border-radius:24px;padding:1.1rem}.queue-banner{display:flex;justify-content:space-between;align-items:center;background:#fffaf2e6}.receipt-stack{display:grid;gap:1rem}.receipt-card[data-status=manual_required]{border-color:#9a3b362e}.receipt-card__header h3{margin:.25rem 0 0}.status-pill{padding:.5rem .8rem;border-radius:999px;font-size:.82rem;text-transform:capitalize}.status-pill--ready{background:#20463d1f;color:var(--olive)}.status-pill--queued,.status-pill--processing,.status-pill--fx-pending,.status-pill--draft{background:#a0622f24;color:var(--amber)}.status-pill--manual-required,.status-pill--error{background:#9a3b361f;color:var(--danger)}.warning-list{margin:.8rem 0 0;padding-left:1.2rem;color:var(--danger)}.receipt-card__body{display:grid;gap:1rem;margin-top:1rem}.receipt-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem}.receipt-meta-grid label,.settings-card label{display:grid;gap:.35rem}.receipt-meta-grid span,.settings-card span,.fx-note span{color:var(--muted);font-size:.88rem}.fx-note{display:grid;align-content:start;gap:.25rem;padding:.9rem 1rem;border-radius:18px;background:#ffffff8f;border:1px dashed rgba(77,54,29,.12)}.item-table{display:grid;gap:.75rem}.item-table__header,.item-table__row{display:grid;grid-template-columns:72px 1fr minmax(170px,220px)}.item-table__header{color:var(--muted);font-size:.88rem}.item-table__amount{display:flex;align-items:center;gap:.5rem}.receipt-summary-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.receipt-preview{overflow:hidden;border-radius:20px;border:1px solid var(--line);background:#ffffffb3}.receipt-preview img{width:100%;display:block}.settings-card{display:grid;gap:.9rem;max-width:760px}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(min-width:768px){.hero-card,.claim-hero{grid-template-columns:1.5fr .9fr;align-items:end}}@media(max-width:767px){.topbar,.section-header,.export-panel,.toolbar{flex-direction:column;align-items:stretch}.item-table__header{display:none}.item-table__row{grid-template-columns:1fr;border:1px solid var(--line);border-radius:18px;padding:.8rem;gap:.6rem;background:#ffffff8f}.item-table__amount{justify-content:space-between}}
