:root{--surface: #fafaf8;--card: #ffffff;--ink: #1a1a1e;--ink-2: #44444c;--muted: #71717a;--hairline: #e4e4e7;--accent: #cf1a1a;--accent-ink: #ffffff;--gold: #b8860b;--chart: var(--gold);--error-bg: #fef2f2;--error-ink: #b91c1c;--pos: #15803d;--neg: #b91c1c;--logo-light: block;--logo-dark: none;--row-hover: color-mix(in srgb, var(--accent) 6%, transparent);--row-hover-solid: color-mix(in srgb, var(--accent) 6%, var(--card));--range-band: color-mix(in srgb, var(--accent) 12%, transparent);--scrim: rgb(23 23 26 / .4);--shadow-card: 0 1px 2px rgb(23 23 26 / .05), 0 4px 12px rgb(23 23 26 / .07);--shadow-pop: 0 2px 6px rgb(23 23 26 / .08), 0 12px 32px rgb(23 23 26 / .16);--hairline-soft: color-mix(in srgb, var(--hairline) 55%, transparent);--chart-soft: color-mix(in srgb, var(--chart) 45%, transparent);--gold-ink: #1a1a1e;color-scheme:light dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--surface: #1a1a1f;--card: #26262d;--ink: #ededf0;--ink-2: #c2c2c9;--muted: #9ea0a9;--hairline: #3a3a43;--accent: #ef6b6b;--accent-ink: #2a0a0a;--gold: #ffc618;--error-bg: #3a1414;--error-ink: #fca5a5;--pos: #4ade80;--neg: #fca5a5;--logo-light: none;--logo-dark: block;--row-hover: color-mix(in srgb, var(--accent) 12%, transparent);--row-hover-solid: color-mix(in srgb, var(--accent) 12%, var(--card));--range-band: color-mix(in srgb, var(--accent) 24%, transparent);--scrim: rgb(0 0 0 / .55);--shadow-card: 0 1px 2px rgb(0 0 0 / .3), 0 4px 14px rgb(0 0 0 / .45);--shadow-pop: 0 2px 8px rgb(0 0 0 / .4), 0 14px 36px rgb(0 0 0 / .6)}}:root[data-theme=dark]{--surface: #1a1a1f;--card: #26262d;--ink: #ededf0;--ink-2: #c2c2c9;--muted: #9ea0a9;--hairline: #3a3a43;--accent: #ef6b6b;--accent-ink: #2a0a0a;--gold: #ffc618;--error-bg: #3a1414;--error-ink: #fca5a5;--pos: #4ade80;--neg: #fca5a5;--logo-light: none;--logo-dark: block;--row-hover: color-mix(in srgb, var(--accent) 12%, transparent);--row-hover-solid: color-mix(in srgb, var(--accent) 12%, var(--card));--range-band: color-mix(in srgb, var(--accent) 24%, transparent);--scrim: rgb(0 0 0 / .55);--shadow-card: 0 1px 2px rgb(0 0 0 / .3), 0 4px 14px rgb(0 0 0 / .45);--shadow-pop: 0 2px 8px rgb(0 0 0 / .4), 0 14px 36px rgb(0 0 0 / .6);color-scheme:dark}:root[data-theme=light]{color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--surface);color:var(--ink);font:14px/1.45 system-ui,Segoe UI,sans-serif}h1{font-size:17px;margin:0}.muted{color:var(--muted)}.grow{flex:1}.error{background:var(--error-bg);color:var(--error-ink);border-radius:8px;padding:10px 14px;margin-bottom:10px}.footnote{font-size:12px;margin-top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.shell{width:100%;height:100dvh;display:flex;flex-direction:column;padding:16px 20px}.content{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}@media(max-width:900px),(max-height:480px){.shell{height:auto}}.topbar{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding-bottom:14px}.brand{flex:1;min-width:220px}.brand-logo{height:34px;width:auto;max-width:100%}.brand-logo.light{display:var(--logo-light, block)}.brand-logo.dark{display:var(--logo-dark, none)}.brand-logo-text{display:none}@media(forced-colors:active){.brand-logo.light,.brand-logo.dark{display:none}.brand-logo-text{display:block}}.tabs,.metric-pills{display:flex;gap:4px;background:var(--card);border:1px solid var(--hairline);border-radius:8px;padding:3px}.tabs{position:relative}.metric-pill{border:0;background:transparent;color:var(--muted);padding:6px 14px;border-radius:6px;cursor:pointer;font:inherit;transition:background .14s ease,color .14s ease}.metric-pill.on{background:var(--gold);color:var(--gold-ink)}.metric-pill[aria-disabled=true]{cursor:default}.metric-pill:hover:not(.on){color:var(--ink)}.tab-pill{position:absolute;top:3px;bottom:3px;left:0;border-radius:6px;background:var(--accent);pointer-events:none;transition:transform .18s ease,width .18s ease}.tab{position:relative;border:0;background:transparent;color:var(--ink-2);padding:6px 14px;border-radius:6px;cursor:pointer;font:inherit;transition:color .18s ease}.tab.active{color:var(--accent-ink)}@media(prefers-reduced-motion:reduce){.tab-pill,.tab,.metric-pill{transition:none}}.page{flex:1;min-height:0;display:flex;flex-direction:column;transition:opacity .12s}.dim{opacity:.55}.pagebar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}select,input[type=search],input[type=email],input[type=password]{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--hairline);border-radius:6px;padding:6px 8px}.search{min-width:240px}.ghost{font:inherit;background:transparent;border:1px solid var(--hairline);color:var(--ink-2);border-radius:6px;padding:6px 12px;cursor:pointer}.ghost:hover:not(:disabled){border-color:var(--accent)}.ghost:disabled{opacity:.4;cursor:default}.card{background:var(--card);border:1px solid var(--hairline);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;box-shadow:var(--shadow-card)}.card-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.summary-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-bottom:16px}.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));transition:opacity .12s}.kpi{display:flex;flex-direction:column;gap:2px;align-items:center;text-align:center;padding:2px 28px;min-width:0}.kpi+.kpi{border-left:1px solid var(--hairline)}.kpi-value{font-size:24px;font-weight:600;font-variant-numeric:tabular-nums}.kpi-sub{font-size:12px;color:var(--muted)}@media(max-width:900px){.summary-bar{grid-template-columns:1fr;gap:12px}.kpi{padding:2px 12px}}@media(prefers-reduced-motion:reduce){.kpis{transition:none}}.range{position:relative}.range-pill{font:inherit;font-weight:600;color:var(--ink);background:var(--card);border:1px solid var(--hairline);border-radius:999px;padding:9px 18px;cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-card);transition:border-color .14s ease}.range-pill:hover,.range-pill.open{border-color:var(--accent)}.range-pop{position:absolute;z-index:20;top:calc(100% + 8px);left:0;display:flex;flex-direction:column;gap:14px;background:var(--card);border:1px solid var(--hairline);border-radius:14px;padding:16px;box-shadow:var(--shadow-pop)}.range-presets{display:flex;flex-wrap:wrap;gap:6px}.range-preset{font-size:13px;border-radius:999px;padding:5px 12px}.range-preset.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.range-cals{position:relative;display:flex;gap:22px}.cal{width:252px}.cal-title{text-align:center;font-weight:600;padding-bottom:10px}.range-nav{position:absolute;top:-4px;font:inherit;font-size:18px;line-height:1;color:var(--ink-2);background:transparent;border:1px solid transparent;border-radius:50%;width:28px;height:28px;cursor:pointer}.range-nav.prev{left:0}.range-nav.next{right:0}.range-nav:hover:not(:disabled){border-color:var(--hairline)}.range-nav:disabled{opacity:.4;cursor:default}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.cal-dow{text-align:center;font-size:11px;color:var(--muted);padding-bottom:4px}.cal-day{font:inherit;font-size:13px;color:var(--ink);background:transparent;border:0;padding:1px 0;cursor:pointer}.cal-day:disabled{color:var(--muted);opacity:.4;cursor:default}.cal-num{display:grid;place-items:center;aspect-ratio:1;border-radius:50%}.cal-day:hover:not(:disabled) .cal-num{box-shadow:inset 0 0 0 1px var(--accent)}.cal-day.in{background:var(--range-band)}.cal-day.start{border-radius:999px 0 0 999px}.cal-day.end{border-radius:0 999px 999px 0}.cal-day.start.end{border-radius:999px}.cal-day.start .cal-num,.cal-day.end .cal-num{background:var(--accent);color:var(--accent-ink)}@media(prefers-reduced-motion:reduce){.range-pill{transition:none}}.tablewrap{flex:1;min-height:0;overflow:auto;background:var(--card);border:1px solid var(--hairline);border-radius:10px}table{width:100%;border-collapse:separate;border-spacing:0;white-space:nowrap}th,td{padding:8px 12px;border-bottom:1px solid var(--hairline);text-align:left}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}thead th{position:sticky;top:0;background:var(--card);font-size:12px;color:var(--muted);z-index:1}.th{all:unset;cursor:pointer;color:inherit;font:inherit}.th:hover{color:var(--ink)}tbody tr:hover{background:var(--row-hover)}tr.clickable,td.clickable{cursor:pointer}td.clickable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}tfoot td{position:sticky;bottom:0;background:var(--card);font-weight:600;border-bottom:0;border-top:2px solid var(--hairline)}.empty{padding:32px;text-align:center;color:var(--muted)}.pivot .datecol{position:sticky;left:0;z-index:10;background:var(--card);white-space:nowrap;border-right:1px solid var(--hairline)}.pivot thead th,.pivot tfoot td{z-index:20}.pivot thead .datecol,.pivot tfoot .datecol{z-index:30}.pivot tbody tr:hover .datecol{background:var(--row-hover-solid)}.pivot thead .colgroup{text-align:center;font-weight:600;color:var(--ink-2)}.pivot thead .colgroup+.colgroup,.pivot .colstart{border-left:1px solid var(--hairline)}.copycol{width:1%;padding-left:0;text-align:right}.copybtn{all:unset;display:inline-flex;align-items:center;justify-content:center;padding:3px;border-radius:6px;color:var(--muted);cursor:pointer;opacity:0;transition:opacity .1s,color .1s,background .1s}tbody tr:hover .copybtn,.copybtn:focus-visible,.copybtn.copied{opacity:1}.copybtn:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.copybtn.copied{color:var(--accent)}.copybtn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.pagination{flex:none;display:flex;align-items:center;gap:10px;margin-top:10px}.rows-per{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.pagination select{padding:4px 6px}.pagination .ghost{padding:4px 10px}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);z-index:30;display:flex;align-items:center;justify-content:center;padding:16px}.modal{width:min(560px,100%);max-height:min(680px,90dvh);display:flex;flex-direction:column;gap:12px;background:var(--card);border:1px solid var(--hairline);border-radius:10px;padding:16px}.modal-wide{width:min(1080px,100%);height:min(90dvh,820px);max-height:90dvh}.modal-head{display:flex;align-items:center;justify-content:space-between}.modal-head h2{margin:0;font-size:15px}.modal-add{display:flex;gap:8px}.modal-add .search{flex:1;min-width:0}.modal-suggestions{display:flex;flex-direction:column;gap:4px}.modal .suggestion{text-align:left}.modal-list{overflow-y:auto;display:flex;flex-direction:column;gap:6px}.modal-rule{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--hairline);border-radius:8px}.badge{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border:1px solid var(--hairline);border-radius:999px;padding:2px 8px}.footnote.recon{border-top:1px dashed var(--hairline);padding-top:8px}.drill-detail>td{padding:0 12px 10px 28px;background:color-mix(in srgb,var(--accent) 4%,transparent)}.drill-receipt{width:100%}.drill-receipt td{padding:4px 10px;border-bottom:1px solid var(--hairline-soft);font-size:13px}.drill-receipt tr:last-child td{border-bottom:0}.drill-receipt .qtycol{width:72px}.drill-receipt tr.muted td{color:var(--muted)}.store-cards{flex:1;min-height:0;display:flex;gap:12px;overflow:auto}.store-card{flex:1 1 0;min-width:250px;display:flex;flex-direction:column;overflow:hidden}.store-card.wide{flex:0 0 clamp(460px,50%,820px)}.store-card-head{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.store-card-head .card-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expander{all:unset;flex:none;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid var(--hairline);color:var(--muted);font-size:14px;line-height:1;cursor:pointer;transition:color .12s,border-color .12s,background .12s}.expander:hover{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.expander:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.store-card .card-rows,.store-card .card-pins{list-style:none;margin:0;padding:0}.store-card .card-rows{flex:1;min-height:0;overflow-y:auto}.store-card .card-rows li,.store-card .card-pins li{display:flex;align-items:baseline;gap:8px;padding:5px 6px;border-radius:6px;border-bottom:1px solid var(--hairline-soft);font-size:13px}.store-card .card-rows li:last-child{border-bottom:0}.store-card .card-pins{flex:none;margin-bottom:6px;padding-bottom:6px;border-bottom:2px solid var(--hairline)}.store-card .card-pins .pname{font-weight:600}.store-card .card-rows li.hl,.store-card .card-pins li.hl,.store-card tbody tr.hl{background:color-mix(in srgb,var(--accent) 12%,transparent)}.store-card .card-rows li.clickable{cursor:pointer}.store-card .rank{color:var(--muted);font-variant-numeric:tabular-nums;min-width:18px;text-align:right}.store-card .pname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.store-card .val{font-variant-numeric:tabular-nums;white-space:nowrap}.store-card .card-rows li:hover .copybtn,.store-card .card-rows li:focus-within .copybtn{opacity:1}.store-card .tablewrap{border:0;border-radius:0;background:transparent}.store-card .empty{padding:16px 0}@media(prefers-reduced-motion:reduce){.expander{transition:none}}@media(min-width:1250px){.hist-split{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 420px;grid-template-rows:minmax(0,1fr);gap:16px}.hist-col{display:flex;flex-direction:column;min-height:0}}.hist-heading{margin:8px 0 6px;font-size:14px}.yearbars{padding:8px 12px;height:278px;overflow:hidden}@media(min-width:1250px){.yearbars{flex:1;height:auto;min-height:184px}}.yearbars svg{display:block}.yb-bar{fill:var(--chart)}.yb-bar.partial{fill:var(--chart-soft)}.yb-axis{stroke:var(--hairline)}.yb-value{fill:var(--ink);font-size:12px;font-variant-numeric:tabular-nums}.yb-delta{font-size:11px}.yb-delta.up{fill:var(--pos)}.yb-delta.down{fill:var(--neg)}.yb-label{fill:var(--muted);font-size:12px}.hist-picker{position:relative;display:flex;gap:8px;align-items:center;margin-bottom:10px}.hist-options{position:absolute;top:100%;left:0;z-index:5;margin:2px 0 0;padding:4px;list-style:none;min-width:260px;max-height:260px;overflow-y:auto;background:var(--card);border:1px solid var(--hairline);border-radius:8px;box-shadow:var(--shadow-pop)}.hist-options button{all:unset;display:block;width:100%;box-sizing:border-box;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:13px}.hist-options button:hover,.hist-options button:focus-visible{background:color-mix(in srgb,var(--accent) 10%,transparent)}.hist-table{flex:0 1 auto;max-height:60vh}.login{min-height:100dvh;display:grid;place-items:center;padding:20px}.login form{width:min(360px,100%);background:var(--card);border:1px solid var(--hairline);border-radius:12px;padding:28px;display:flex;flex-direction:column;gap:14px}.login .brand-logo{height:46px}.login label{display:flex;flex-direction:column;gap:4px;color:var(--ink-2);font-size:13px}.login button{font:inherit;background:var(--accent);color:var(--accent-ink);border:0;border-radius:8px;padding:10px;cursor:pointer}.login button:disabled{opacity:.6}
