:root{--ground:#f6f7f4;--surface:#fff;--ink:#17201b;--muted:#57625b;--line:#dce1dc;--line-soft:#edf0ed;--input-border:#c9d0ca;--field:#f6f7f4;--track:#e6ebe6;--accent:#1d5c3a;--accent-hover:#143f28;--accent-soft:#eaf0eb;--accent-tint:#b8cbbe;--ok-bg:#e5efe8;--ok-ink:#133d27;--warn-bg:#fcefc7;--warn-ink:#4a3508;--highlighter:#f7d774;--focus:#f0b429;--perforation:#b9c2bb;--radius-sm:8px;--radius-md:10px;--radius-lg:14px;--radius-xl:16px;--font-ui:"Schibsted Grotesk", "Helvetica Neue", Arial, sans-serif;--font-receipt:"IBM Plex Mono", ui-monospace, Menlo, monospace}*{box-sizing:border-box}body{background:var(--ground);color:var(--ink);font-family:var(--font-ui);font-variant-numeric:tabular-nums;margin:0}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.app{min-height:100vh}.container{max-width:1200px;margin:0 auto;padding-left:32px;padding-right:32px}.page{padding-top:40px;padding-bottom:72px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.block{display:block}.scroll-x{overflow-x:auto}.stack,.stack-xs,.stack-sm,.stack-lg,.stack-xl,.stack-xxl{flex-direction:column;min-width:0;display:flex}.stack{gap:16px}.stack-xs{gap:4px}.stack-sm{gap:12px}.stack-lg{gap:28px}.stack-xl{gap:32px}.stack-xxl{gap:56px}.split{flex-wrap:wrap;align-items:flex-start;gap:40px 48px;display:flex}.split-main{flex:999 560px;min-width:0}.split-side{flex:300px;min-width:0;max-width:380px}.split-even>*{flex:420px;max-width:none}.split-top .split-side{max-width:360px}.split-top .split-main{flex-basis:520px}.row-between{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.row-wrap{flex-wrap:wrap}.page-title-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}h1,h2,h3,p{margin:0}h1{font-variant-numeric:proportional-nums;letter-spacing:-.025em;font-size:40px;font-weight:700;line-height:1.08}.headline{font-variant-numeric:proportional-nums;letter-spacing:-.025em;max-width:17ch;font-size:46px;font-weight:700;line-height:1.08}.h-page{letter-spacing:-.02em;margin-bottom:8px;font-size:36px;font-weight:700;line-height:1.1}.h-section{letter-spacing:-.01em;margin-bottom:16px;font-size:22px;font-weight:700}.h-small{margin:0;font-size:16px;font-weight:700}.row-between .h-section,.panel-head .h-section{margin-bottom:0}.lede{font-variant-numeric:proportional-nums;color:var(--muted);max-width:60ch;font-size:17px;line-height:1.5}.headline+.lede,.stack-lg>.lede{max-width:52ch;font-size:18px}.muted{color:var(--muted)}.small{font-size:14px}.strong{font-weight:600}.spaced{margin-top:14px}.spaced-bottom{margin-bottom:16px}a{color:var(--accent);font-weight:600}a:hover{color:var(--accent-hover)}.site-header{background:var(--surface);border-bottom:1px solid var(--line)}.header-inner{flex-wrap:wrap;align-items:center;gap:16px 32px;padding-top:14px;padding-bottom:14px;display:flex}.logo{color:var(--ink);align-items:center;gap:10px;display:inline-flex}.wordmark{letter-spacing:-.02em;font-size:19px;font-weight:800}.logo-button{cursor:pointer;font:inherit;border-radius:var(--radius-sm);background:0 0;border:0;padding:0}.main-nav{flex-wrap:wrap;flex:auto;gap:4px;display:flex}.main-nav button{border-radius:var(--radius-sm);min-height:44px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:10px 14px;font-size:15px;font-weight:500}.main-nav button:hover{color:var(--ink)}.main-nav button[aria-current=page]{background:var(--accent-soft);color:var(--ink);font-weight:600}.header-actions{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.account-email{text-overflow:ellipsis;white-space:nowrap;max-width:200px;color:var(--muted);font-size:14px;overflow:hidden}.btn{border-radius:var(--radius-md);min-height:44px;font:inherit;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover);color:#fff}.btn-secondary{background:var(--surface);border-color:var(--accent);color:var(--accent)}.btn-secondary:hover:not(:disabled){color:var(--accent-hover);border-color:var(--accent-hover)}.btn-outline{background:var(--surface);border-color:var(--input-border);color:var(--ink);font-weight:500}.btn-tertiary{color:var(--muted);background:0 0;padding:0 12px;font-weight:500}.btn-tertiary:hover:not(:disabled){color:var(--ink)}.btn-quiet{color:var(--accent);border-radius:var(--radius-sm);background:0 0;padding:0 12px}.btn-large{border-radius:12px;min-height:52px;padding:0 28px;font-size:17px;font-weight:700}.btn-block{width:100%}label.btn{cursor:pointer}label.btn:focus-within{outline:3px solid var(--focus);outline-offset:2px}.button-row{flex-wrap:wrap;gap:8px;display:flex}.link-button{min-height:44px;color:var(--accent);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;padding:0;font-size:15px;font-weight:600;display:inline-flex}.link-button:hover:not(:disabled){color:var(--accent-hover);text-decoration:underline}.link-button:disabled{opacity:.55;cursor:not-allowed}.link-ink{color:var(--ink);min-height:32px}.link-ink:hover{color:var(--accent)}.icon-button{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.icon-button:hover{background:var(--line-soft);color:var(--ink)}.field{flex-direction:column;gap:6px;min-width:0;font-size:14px;font-weight:600;display:flex}.field-inline{flex-direction:row;align-items:center;gap:8px}.field-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}input,select{font:inherit;color:inherit}.field input,.field select,.inline-form input{border:1px solid var(--input-border);border-radius:var(--radius-md);background:var(--surface);width:100%;min-width:0;min-height:48px;padding:0 14px;font-size:16px;font-weight:400}.field-inline input,.field-inline select{width:auto;min-height:44px;padding:0 12px;font-size:15px;font-weight:500}.plain-fieldset{border:0;min-width:0;margin:0;padding:0}.cell-input{border-radius:var(--radius-sm);background:var(--field);border:1px solid #0000;width:100%;min-height:40px;padding:0 10px;font-size:15px}.cell-input:hover{border-color:var(--input-border)}.cell-money{text-align:right;font-weight:600}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:8px;margin-top:8px;display:flex}.inline-form .field{flex:200px}.auth-content .field{gap:6px}.segmented{background:var(--track);border-radius:12px;flex-wrap:wrap;padding:4px;display:flex}.segmented button{min-height:40px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:0 14px;font-size:14px;font-weight:500}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--ink);font-weight:700;box-shadow:0 1px 2px #17201b1f}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);margin:0;padding:20px}.panel-xl{border-radius:var(--radius-xl);padding:28px}.panel-flush{padding:0;overflow:hidden}.panel-pad{padding:24px}.panel-head{gap:8px 24px;margin-bottom:28px}.table-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);position:relative;overflow-x:auto}.table-panel-flush{overflow:hidden}.table-panel-flush>table{min-width:480px}.table-panel-flush{position:relative;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:480px;font-size:15px}th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:14px 20px;font-size:13px;font-weight:600}td{border-bottom:1px solid var(--line-soft);padding:14px 20px}tbody tr:last-child td{border-bottom:0}.num{text-align:right}.row-selected{background:var(--accent-soft)}.table-panel-flush>table.items-table{min-width:640px}.items-table th,.items-table td{padding:8px}.items-table th{padding:12px 8px}.items-table th:first-child,.items-table td:first-child{padding-left:16px}.items-table .col-qty{width:100px}.items-table .col-total{width:120px}.items-table .col-category{width:170px}.items-table .col-remove{width:56px;padding-right:12px}.items-table td:last-child{padding-right:12px}.items-table tbody tr:last-child td{border-bottom:1px solid var(--line-soft)}.table-footer{padding:6px 12px}.item-list{margin:0;padding:0;list-style:none}.item-line{border-bottom:1px solid var(--line-soft);padding:14px 0}.bar-list{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.bar-list-wide{max-width:560px}.bar-list li{flex-direction:column;gap:6px;display:flex}.bar-label{justify-content:space-between;gap:12px;font-size:15px;display:flex}.bar-track{background:var(--track);border-radius:4px;height:8px;display:block;overflow:hidden}.bar-fill{background:var(--accent);border-radius:4px;height:100%;display:block}.bar-button{border-radius:var(--radius-sm);width:100%;font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;flex-direction:column;gap:6px;margin:-6px -8px;padding:6px 8px;display:flex}.bar-button:hover{background:var(--line-soft)}.bar-button[aria-pressed=true]{background:var(--accent-soft)}.chip{white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:700;display:inline-block}.chip-up{background:var(--warn-bg);color:var(--warn-ink)}.chip-down{background:var(--ok-bg);color:var(--ok-ink)}.chip-flat{background:var(--line-soft);color:var(--muted)}.banner{border-radius:var(--radius-lg);align-items:flex-start;gap:14px;padding:18px 20px;font-size:15px;display:flex}.banner svg{flex:none;margin-top:2px}.banner-title{margin-bottom:4px;font-size:17px;font-weight:700}.banner-ok{background:var(--ok-bg);color:var(--ok-ink)}.banner-warn{background:var(--warn-bg);color:var(--warn-ink)}.note{border-radius:var(--radius-md);background:var(--line-soft);color:var(--ink);padding:12px 16px;font-size:15px}.note-warn{background:var(--warn-bg);color:var(--warn-ink)}.status-pill{background:var(--ok-bg);min-height:52px;color:var(--ok-ink);border-radius:12px;align-items:center;gap:8px;padding:0 20px;font-size:17px;font-weight:700;display:inline-flex}.save-row{flex-wrap:wrap;align-items:center;gap:16px;padding-top:8px;display:flex}.save-done{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.empty{color:var(--muted);padding:12px 0}.empty-state{flex-direction:column;align-items:flex-start;gap:28px;padding:24px 0;display:flex}.skeleton{background:var(--track);border-radius:var(--radius-lg);width:100%}.receipt-paper{filter:drop-shadow(0 1px 0 var(--line)) drop-shadow(0 12px 22px #17201b14)}.receipt-body{font-family:var(--font-receipt);color:var(--ink);background:#fff;padding:24px 24px 12px;font-size:13px;line-height:1.75}.receipt-store{text-align:center;font-size:16px;font-weight:600}.receipt-sub{text-align:center;color:var(--muted)}.receipt-rule{border-top:1px dashed var(--perforation);margin:14px 0}.receipt-rule-last{margin:14px 0 10px}.receipt-row{justify-content:space-between;gap:12px;display:flex}.receipt-row>span:first-child{overflow-wrap:anywhere}.receipt-subtotal{background:linear-gradient(transparent 18%, var(--highlighter) 18% 88%, transparent 88%);margin:0 -6px;padding:0 6px;font-weight:600}.receipt-total{font-weight:600}.receipt-edge{width:100%;height:10px;display:block}.photo-paper{background:#fff;border-radius:2px;padding:10px}.photo-paper img{object-fit:contain;width:100%;height:auto;max-height:70vh;display:block}.receipt-tilted{filter:drop-shadow(0 18px 30px #00000040);width:320px;max-width:100%;transform:rotate(-3deg)}.receipt-tilted .receipt-body{padding:28px 24px 14px}.day-panel{padding:24px 24px 16px}.day-panel figcaption{margin-bottom:20px;font-size:14px;font-weight:600}.day-bars{border-bottom:1px solid var(--line);align-items:flex-end;gap:4px;height:140px;display:flex}.day-bar{background:var(--line);border-radius:1px;flex:1 1 0;height:2px}.day-bar.has-spend{background:var(--accent);border-radius:3px 3px 0 0}.day-axis{color:var(--muted);justify-content:space-between;padding-top:8px;font-size:13px;display:flex}.month-bars{border-bottom:1px solid var(--line);align-items:flex-end;gap:12px;min-width:520px;height:270px;margin:0;padding:0;list-style:none;display:flex}.month-col{flex-direction:column;flex:1 1 0;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex;position:relative}.month-value{font-size:13px;font-weight:600}.month-bar{background:var(--accent);border-radius:6px 6px 0 0;width:100%;max-width:64px}.month-bar.is-current{background:var(--accent-tint)}.month-label{color:var(--muted);white-space:nowrap;padding-top:8px;font-size:13px;position:absolute;top:100%}.month-bars{margin-bottom:40px}.interactive-chart{min-width:0;margin-top:12px}.chart-inspector{flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin-bottom:8px;font-size:14px;display:flex}.chart-inspector>div{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.chart-inspector strong{font-size:16px}.chart-inspector small{color:var(--muted)}.interactive-chart svg{touch-action:pan-y;width:100%;display:block}.interactive-chart svg text{fill:var(--muted);font-size:11px}.chart-grid{stroke:var(--line-soft)}.chart-zero{stroke:var(--line)}.chart-guide{stroke:var(--muted);stroke-dasharray:3 3;opacity:.6}.trend-line{stroke:var(--accent);stroke-width:2px}.trend-dot{fill:var(--accent);stroke:var(--surface);stroke-width:1.5px}.trend-bar{fill:var(--accent);opacity:.65;border-radius:3px}.trend-bar.active{opacity:1}.chart-hit{cursor:pointer}.chart-hit:focus{outline:none}.chart-hit:focus-visible{stroke:var(--focus);stroke-width:3px}.chart-values{color:var(--muted);margin-top:12px;font-size:14px}.chart-values summary,.disclosure summary{cursor:pointer;min-height:44px;color:var(--accent);align-items:center;font-weight:600;display:flex}.chart-values table{min-width:0;margin-top:4px}.chart-values th,.chart-values td{padding:8px;font-size:13px}.map-layout{flex-wrap:wrap;display:flex}.map-stage{flex:999 520px;min-width:0}.spending-map{z-index:0;background:#eef1ec;height:420px}.map-side{flex-direction:column;flex:300px;gap:12px;min-width:0;padding:24px;display:flex}.shop-list{margin:0;padding:0;list-style:none}.shop-button{border:0;border-bottom:1px solid var(--line-soft);width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;justify-content:space-between;gap:12px;padding:12px 0;font-size:15px;display:flex}.shop-button:hover{background:var(--ground)}.map-form{border-top:1px solid var(--line)}.leaflet-tooltip.map-label{color:var(--ink);font-family:var(--font-ui);background:#fff;border:0;border-radius:6px;padding:3px 8px;font-size:13px;font-weight:600;box-shadow:0 1px 2px #17201b26}.leaflet-tooltip-bottom.map-label:before{display:none}.upload{text-align:center;cursor:pointer;background:var(--surface);border:1px dashed var(--input-border);border-radius:var(--radius-lg);color:var(--accent);flex-direction:column;align-items:center;gap:8px;padding:36px 20px;display:flex}.upload:hover{border-color:var(--accent)}.upload:focus-within{outline:3px solid var(--focus);outline-offset:2px}.upload .strong{color:var(--ink);font-size:16px}.disclosure pre{white-space:pre-wrap;font-family:var(--font-receipt);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);max-height:240px;padding:12px;font-size:12px;overflow:auto}.branch-panel{flex-direction:column;gap:14px;display:flex}.branch-head{align-items:flex-start;gap:12px;display:flex}.branch-icon{color:var(--accent);flex:none;margin-top:1px}.branch-text{font-size:15px;line-height:1.5}.branch-text strong{color:var(--ink)}.branch-actions{flex-wrap:wrap;gap:8px;padding-left:34px;display:flex}.branch-more{border-top:1px solid var(--line-soft);padding:16px 0 0 34px}.place-search-controls{flex-wrap:wrap;gap:8px;display:flex}.place-search-controls input{border:1px solid var(--input-border);border-radius:var(--radius-md);background:var(--surface);flex:220px;min-height:48px;padding:0 14px;font-size:16px}.place-results{border:1px solid var(--line);border-radius:var(--radius-md);margin:0;padding:0;list-style:none;overflow:hidden}.place-results li+li{border-top:1px solid var(--line-soft)}.place-results button{background:var(--surface);width:100%;min-height:44px;font:inherit;text-align:left;cursor:pointer;border:0;flex-direction:column;gap:2px;padding:10px 14px;display:flex}.place-results button:hover{background:var(--accent-soft)}.place-results span{color:var(--muted);font-size:14px}.auth-shell{flex-wrap:wrap;min-height:100vh;display:flex}.auth-main{flex-direction:column;flex:480px;gap:48px;padding:40px 48px;display:flex}.auth-content{flex-direction:column;flex:auto;justify-content:center;gap:32px;width:100%;max-width:400px;margin:0 auto;display:flex}.auth-content .lede{margin-top:12px}.auth-aside{background:var(--accent);flex:480px;justify-content:center;align-items:center;min-height:420px;padding:48px;display:flex;overflow:hidden}@media (width<=900px){.header-inner{gap:10px 12px;padding-top:12px;padding-bottom:12px}.logo-button{order:1}.header-actions{flex-wrap:nowrap;order:2;gap:4px;margin-left:auto}.main-nav{flex:100%;order:3;grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.main-nav button{text-align:center;padding:10px 8px}.header-actions .btn{padding:0 12px}}@media (width<=360px){.wordmark{font-size:17px}.header-actions .btn{padding:0 8px}.container{padding-left:12px;padding-right:12px}}@media (width<=640px){.container{padding-left:16px;padding-right:16px}.page{padding-top:28px}.headline{font-size:34px}h1{font-size:32px}.h-page{font-size:30px}.panel-xl{padding:20px 16px}.auth-main{padding:28px 20px}.auth-aside{padding:40px 20px}.field-pair{grid-template-columns:1fr}.branch-actions,.branch-more{padding-left:0}.field-inline{flex-wrap:wrap}.account-email,.hide-sm{display:none}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.btn,.main-nav button,.link-button,.icon-button,.segmented button,.bar-button,.shop-button,.upload{transition:background-color .15s,color .15s,border-color .15s,box-shadow .15s,transform .1s}.btn:active:not(:disabled){transform:translateY(1px)}.field input,.field select,.cell-input{transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus,.cell-input:focus{border-color:var(--accent)}@keyframes view-in{0%{opacity:0;transform:translateY(6px)}}.view{animation:.22s ease-out view-in}@keyframes grow-y{0%{transform:scaleY(0)}}@keyframes grow-x{0%{transform:scaleX(0)}}.day-bar.has-spend,.month-bar{transform-origin:bottom;animation:.5s cubic-bezier(.2,.7,.2,1) backwards grow-y;animation-delay:calc(var(--i,0) * 18ms)}.bar-fill{transform-origin:0;animation:.6s cubic-bezier(.2,.7,.2,1) backwards grow-x}@keyframes print-in{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0 0 -20px)}}.receipt-paper:not(.photo-paper):not(.receipt-tilted){animation:.7s cubic-bezier(.3,.6,.2,1) backwards print-in}@keyframes banner-in{0%{opacity:0;transform:translateY(-4px)}}.banner,.note{animation:.22s ease-out banner-in}@keyframes pop{0%{opacity:0;transform:scale(.92)}60%{transform:scale(1.03)}to{opacity:1;transform:scale(1)}}.status-pill{animation:.35s ease-out pop}.status-pill svg path{stroke-dasharray:24;animation:.35s ease-out .15s backwards draw-check}@keyframes draw-check{0%{stroke-dashoffset:24px}}@keyframes pulse{50%{opacity:.55}}.skeleton{animation:1.4s ease-in-out infinite pulse}@keyframes tilt-in{0%{opacity:0;transform:translateY(24px)rotate(-6deg)}}.receipt-tilted{animation:.7s cubic-bezier(.2,.7,.2,1) backwards tilt-in}.month-bar.is-empty{background:var(--line);border-radius:1px;height:2px;animation:none}.month-label.is-quiet{color:var(--muted);opacity:.8}.chart-hint{border-top:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 16px;margin-top:0;padding-top:12px;display:flex}.chart-hint p{font-size:15px}.ghost-text{background:var(--track);vertical-align:middle;border-radius:6px;height:12px;display:inline-block}.ghost .bar-track{background:var(--line-soft)}.ghost-chart{padding:8px 0 4px}.ghost-chart svg{width:100%;height:160px;display:block}.ghost-line{fill:none;stroke:var(--line);stroke-width:2px;stroke-dasharray:5 6}.ghost-chart p{margin-top:8px}.ghost td{border-bottom-color:var(--line-soft)}.ghost-center{justify-content:center;margin:4px 0;display:flex}.receipt-subtotal .ghost-text{background:#17201b1f}.receipt-row{align-items:center;min-height:22.75px}.banner-sample{background:var(--accent-soft);color:var(--ink);flex-wrap:wrap;align-items:center;margin-bottom:32px}.banner-sample>div{flex:260px}.banner-sample .btn{flex:none}.insight-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);margin:0;padding:0;list-style:none}.insight-list li{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:16px 20px;display:flex}.insight-list li:last-child{border-bottom:0}.insight-list li>div{flex:260px;min-width:0}.chip-inline{vertical-align:middle;margin-left:10px}.items-review>summary{list-style:none}.items-review>summary::-webkit-details-marker{display:none}.items-summary{cursor:pointer;min-height:44px;color:var(--accent);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);align-items:center;gap:8px;padding:0 16px;font-weight:600;display:flex}.items-summary:before{content:"";border-bottom:2px solid;border-right:2px solid;width:8px;height:8px;transition:transform .15s;transform:rotate(-45deg)}.items-review[open]>.items-summary:before{transform:rotate(45deg)}.items-review[open]>.items-summary{margin-bottom:12px}.unlock{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;gap:10px;margin-top:16px;padding:16px 20px;display:flex}.budget-panel{flex-direction:column;gap:12px;display:flex}.budget-figure{letter-spacing:-.01em;margin:0;font-size:24px}.bar-fill.is-over{background:var(--warn-ink)}.save-done{flex-direction:column;gap:20px;width:100%;display:flex}.save-done-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.items-summary[hidden],.is-saved .split-side,.is-saved .split-main>:not(.save-row){display:none}.app-settings{margin-top:56px}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:20px;display:grid}.pref-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.pref{cursor:pointer;align-items:flex-start;gap:12px;padding:10px 0;display:flex}.pref input{width:22px;height:22px;accent-color:var(--accent);flex:none;margin:2px 0 0}.is-dragging{outline:3px dashed var(--accent);outline-offset:12px;border-radius:var(--radius-lg)}.pdf-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);color:var(--accent);flex-direction:column;align-items:flex-start;gap:8px;padding:20px;display:flex}.pdf-card .strong{color:var(--ink)}.avatar{object-fit:cover;color:#fff;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;place-items:center;font-weight:700;line-height:1;display:inline-grid}.avatar-button{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;display:grid}.avatar-button:hover{border-color:var(--line)}.avatar-button[aria-current=page]{border-color:var(--accent)}.profile-top{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.facts{gap:8px;margin:0;display:grid}.facts div{flex-wrap:wrap;gap:4px 16px;display:flex}.facts dt{width:72px;color:var(--muted);font-size:14px;font-weight:600}.facts dd{overflow-wrap:anywhere;margin:0}.btn-danger{background:var(--surface);color:#8a3a3a;border-color:#8a3a3a}.btn-danger:hover:not(:disabled){color:#fff;background:#8a3a3a}.danger{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);padding:0 16px}.danger>summary{cursor:pointer;color:#8a3a3a;align-items:center;min-height:44px;font-weight:600;display:flex}.danger[open]>summary{margin-bottom:8px}.danger form{padding-bottom:16px}.disclosure form{margin-top:8px}.site-footer{padding-top:8px;padding-bottom:40px}.site-footer nav{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px 20px;padding-top:20px;font-size:14px;display:flex}.site-footer a{color:var(--muted);font-weight:500}.site-footer a:hover{color:var(--ink)}.receipt-body{position:relative}.stamp{border:3px solid var(--accent);color:var(--accent);font:700 20px/1.2 var(--font-receipt);letter-spacing:.1em;opacity:.9;background:#ffffff8c;border-radius:4px;padding:4px 12px;animation:.35s cubic-bezier(.2,1.5,.4,1) .95s backwards stamp-in;position:absolute;bottom:16px;right:18px;transform:rotate(-9deg)}@keyframes stamp-in{0%{opacity:0;transform:rotate(-9deg)scale(1.9)}}.has-stamp{padding-bottom:64px}.receipt-foot{text-align:center;color:var(--muted);margin-top:4px;font-size:12px}.receipt-foot-first{margin-top:12px}.receipt-foot strong{color:var(--ink);font-weight:600}.receipt-tail{text-align:center;font:500 13px/1.6 var(--font-receipt);color:var(--muted);letter-spacing:.02em;margin-top:18px}.saved-receipt{width:100%;max-width:340px}.chip{clip-path:polygon(0 0,calc(100% - 9px) 0,100% 50%,calc(100% - 9px) 100%,0 100%);border-radius:3px;padding:3px 17px 3px 10px}.aisle{background:var(--ink);color:#fff;letter-spacing:.02em;vertical-align:1px;border-radius:4px;margin-right:8px;padding:1px 6px;font-size:11px;font-weight:700;display:inline-block}.printing{flex-direction:column;gap:12px;max-width:320px;display:flex}.printing-row{animation:.5s ease-out backwards print-line;animation-delay:calc(var(--i,0) * .16s + .25s)}@keyframes print-line{0%{opacity:0;transform:translateY(-4px)}}.greeting{color:var(--muted);margin:0 0 -8px;font-size:16px;font-weight:600}.quip{color:var(--muted);font-style:italic}.share-preview{max-width:380px}.share-preview img{border-radius:var(--radius-md);width:100%;height:auto;display:block}.pref-block{flex-direction:column;gap:4px;display:flex}html{touch-action:manipulation;-webkit-text-size-adjust:100%}@media (pointer:coarse){input,select,textarea{font-size:16px!important}}html,body{overflow-x:clip}
