:root{font-family:Avenir Next,Trebuchet MS,sans-serif;color:#161616;background:radial-gradient(circle at top left,rgba(255,185,92,.32),transparent 28%),radial-gradient(circle at right 15%,rgba(33,124,115,.16),transparent 24%),linear-gradient(180deg,#fff7eb,#f5efe3 46%,#ecf1ea);line-height:1.5;font-weight:400;color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input{font:inherit}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{position:relative;overflow:hidden;min-height:100vh}.background-orb{position:absolute;width:24rem;height:24rem;filter:blur(24px);border-radius:999px;opacity:.55}.background-orb--left{top:-8rem;left:-8rem;background:#ed872f59}.background-orb--right{top:15rem;right:-10rem;background:#2e7b7038}.app{position:relative;z-index:1;width:min(1120px,calc(100% - 2rem));margin:0 auto;padding:3rem 0 4rem}.hero{display:grid;gap:1rem;margin-bottom:2rem}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;color:#7f5d34}.hero h1,.panel h2{margin:0;font-family:Georgia,Times New Roman,serif;line-height:.98}.hero h1{max-width:12ch;font-size:clamp(3rem,7vw,5.75rem)}.hero-copy{max-width:42rem;margin:0;font-size:1.05rem;color:#52453c}.hero-chips,.dropzone-actions,.file-preview,.stats-grid,.transaction-grid{display:flex;gap:.75rem;flex-wrap:wrap}.hero-chips span,.merchant-badge,.dev-pill{border:1px solid rgba(22,22,22,.08);background:#ffffffa3;border-radius:999px;padding:.35rem .75rem;font-size:.78rem}.panel{margin-bottom:1.25rem;padding:1.25rem;border:1px solid rgba(22,22,22,.08);border-radius:1.5rem;background:#ffffffb3;box-shadow:0 20px 60px #342b2112;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.dropzone{display:grid;gap:1rem;min-height:18rem;padding:1.5rem;border-radius:1.2rem;border:1.5px dashed rgba(127,93,52,.35);background:linear-gradient(135deg,#fff1dbcc,#ecf5eecc),#ffffffb3;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.dropzone--active{transform:translateY(-2px);border-color:#cf7f28;box-shadow:0 24px 40px #cf7f2829}.dropzone--pulse{animation:pulse 2.6s ease-in-out infinite}.dropzone-copy h2{font-size:clamp(1.8rem,4vw,2.6rem)}.dropzone-copy p,.summary-placeholder p,.result-empty p{margin:0;color:#5d5146}.button{border:0;border-radius:999px;padding:.82rem 1.2rem;cursor:pointer;transition:transform .14s ease,background .14s ease,opacity .14s ease}.button:hover,.button:focus-visible{transform:translateY(-1px)}.button:focus-visible{outline:2px solid #1e5f57;outline-offset:2px}.button:disabled{opacity:.55;cursor:not-allowed;transform:none}.button--primary{color:#fff9f1;background:linear-gradient(135deg,#c66717,#d88d33)}.button--secondary{color:#f2f8f5;background:linear-gradient(135deg,#1a655c,#2f8576)}.button--ghost{background:#ffffffbf;color:#3f382f}.file-preview>div,.stat-card,.transaction-card{flex:1 1 12rem;min-width:0;border-radius:1rem;padding:.95rem 1rem;background:#ffffffc7;border:1px solid rgba(22,22,22,.06)}.preview-label,.stat-card span{display:block;margin-bottom:.3rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:#88643e}.empty-hint,.summary-placeholder,.result-empty{display:grid;gap:.85rem;place-items:center;padding:2rem 1rem;text-align:center}.empty-hint__glyph{color:#cf7f2880}.toast{position:sticky;top:1rem;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem 1.25rem;border-radius:1rem;background:#2f2018;color:#fff6ef}.toast p{margin:.2rem 0 0}.summary-panel,.merchants-panel,.timeline-panel{display:grid;gap:1rem}.wake-notice{display:grid;gap:.25rem;padding:.95rem 1rem;border:1px solid rgba(30,95,87,.22);border-radius:1rem;background:#ecf7f4c7;color:#1a5e56}.wake-notice p{margin:0;color:#49645f}.stat-card strong{display:block;font-size:clamp(1.85rem,4vw,2.6rem)}.stat-card p{margin:.25rem 0 0;color:#56493e}.panel-heading{display:flex;justify-content:space-between;gap:1rem;align-items:end}.merchant-list,.merchant-skeletons,.merchant-groups{display:grid;gap:.85rem}.merchant-section{display:grid;gap:.85rem;padding:1rem;border-radius:1.2rem;background:#ffffff8f;border:1px solid rgba(22,22,22,.06)}.merchant-section__header{display:flex;justify-content:space-between;align-items:end;gap:1rem}.merchant-section__header h3{margin:.2rem 0 0;font-family:Georgia,Times New Roman,serif;font-size:1.35rem}.merchant-section__count{display:inline-flex;align-items:center;justify-content:center;min-width:2.2rem;height:2.2rem;border-radius:999px;background:#16161614;color:#4c443b;font-weight:600}.merchant-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(8rem,auto) auto;align-items:center;gap:1rem;padding:1rem;border-radius:1.25rem;border:1px solid rgba(22,22,22,.06);background:#fffc;opacity:0;transform:translateY(14px);animation:reveal .5s ease forwards}.merchant-row--ghost{background:linear-gradient(135deg,#fff4e3eb,#ffffffeb)}.merchant-row--regular{background:linear-gradient(135deg,#ecf7f4f0,#fffffff0)}.merchant-copy{display:grid;gap:.35rem}.merchant-copy h3,.merchant-copy p,.transaction-card p{margin:0}.merchant-metrics{display:grid;gap:.35rem;text-align:right}.merchant-metrics strong{font-size:1.25rem}.transaction-card{display:flex;justify-content:space-between;align-items:end}.transaction-card div{display:grid;gap:.25rem}.transaction-card span{color:#6d5f53}.skeleton-grid,.merchant-skeletons{display:grid;gap:.8rem}.skeleton-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.skeleton-card,.merchant-skeleton{min-height:7.5rem;border-radius:1.2rem;background:linear-gradient(90deg,#efe5d6a6,#ffffffeb,#efe5d6a6);background-size:200% 100%;animation:shimmer 1.3s linear infinite}.merchant-skeleton{min-height:6rem}@keyframes pulse{0%,to{box-shadow:0 0 #cf7f2800}50%{box-shadow:0 0 0 14px #cf7f2814}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes reveal{to{opacity:1;transform:translateY(0)}}.merchant-badges{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.new-ghost-badge{border:1px solid rgba(160,50,50,.28);background:#a0323217;color:#7a2020;border-radius:999px;padding:.25rem .65rem;font-size:.72rem;font-weight:600}.merchant-row--ghost .merchant-badge{background:#cf7f2824;color:#7a4200;border-color:#cf7f2852}.merchant-row--regular .merchant-badge{background:#1e5f571a;color:#1a5e56;border-color:#1e5f5738}.merchant-section--ghost{border-left:3px solid rgba(207,127,40,.4)}.merchant-period-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#8a7560;margin-bottom:.1rem}.merchant-annual{font-size:.78rem;color:#8a4c00;font-weight:600;margin-top:.1rem}.section-intro{margin:.25rem 0 0;font-size:.88rem;color:#6b5a49}.ghost-callout{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border-radius:1rem;background:linear-gradient(135deg,#ffefd2e6,#ffffffd9);border:1px solid rgba(207,127,40,.25);font-size:.95rem}.ghost-callout__icon{flex-shrink:0;color:#cf7f28}.stat-annual{display:block;margin-top:.35rem;font-size:.8rem;color:#7a4200;font-weight:600}.eyebrow svg,.merchant-badge svg{vertical-align:middle;margin-right:.2em;color:#8a4c00}@media (max-width: 840px){.app{width:min(100% - 1rem,1120px);padding-top:1.5rem}.merchant-row,.skeleton-grid{grid-template-columns:1fr}}.merchant-section__actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.export-button{padding:.4rem .9rem;font-size:.78rem}.dismiss-button{border:0;background:none;cursor:pointer;font-size:.75rem;color:#9a8778;padding:.2rem .5rem;border-radius:999px;transition:color .12s ease,background .12s ease}.dismiss-button:hover{color:#5a4a3c;background:#1616160f}.known-charges{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:.5rem;padding:.65rem 1rem;border-radius:.85rem;background:#1616160a;font-size:.85rem;color:#7a6a5c}.known-charges__list{display:flex;flex-wrap:wrap;gap:.25rem}.new-scan-badge{border:1px solid rgba(30,95,87,.28);background:#1e5f5717;color:#1a5e56;border-radius:999px;padding:.25rem .65rem;font-size:.72rem;font-weight:600}
