@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600&family=Host+Grotesk:wght@500..700&family=Instrument+Sans:wght@400;500;600&family=Space+Grotesk:wght@400;500;600;700&display=swap";.dashboard{width:min(100% - 2rem,78rem);animation:shell-in var(--motion-slow) both;gap:1.25rem;margin:0 auto;padding:1.25rem 0 4rem;display:grid}@keyframes shell-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.topbar{align-items:center;gap:.75rem;display:flex}.brand{flex:auto;gap:.18rem;min-width:0;display:grid}.brand h1{letter-spacing:-.03em;color:var(--text);margin:0;font-family:Fraunces,Georgia,serif;font-size:clamp(1.45rem,4.2vw,1.75rem);font-weight:600;line-height:.95}.topbar-meta{flex:none;align-items:center;gap:.38rem;display:flex}.topbar-meta .cl-userButtonTrigger{width:2.75rem;min-width:2.75rem;height:2.75rem}.topbar-meta .cl-userButtonAvatarBox{width:2.25rem;height:2.25rem}.record-link{border:1px solid var(--line);background:var(--surface-raised);width:2.75rem;height:2.75rem;color:var(--muted);transition:border-color var(--motion), background var(--motion), color var(--motion), transform var(--motion);border-radius:50%;flex:none;place-items:center;text-decoration:none;display:inline-grid}.record-link:hover{border-color:var(--line-strong);color:var(--text);background:var(--surface-elevated)}.record-link:active{transform:scale(.96)}.record-link:focus-visible{border-color:var(--accent);box-shadow:var(--accent-ring);outline:none}.record-link svg{width:1.1rem;height:1.1rem;display:block}.record-link span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.report-toolbar{border:1px solid var(--line);border-radius:var(--radius-card);background:linear-gradient(180deg, #ffffff05, transparent), var(--surface);box-shadow:var(--shadow-soft);row-gap:0;padding:1rem;display:grid}.scope-heading{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.8rem;display:flex}.scope-heading span{letter-spacing:.11em;text-transform:uppercase;color:var(--faint);font-size:.69rem;font-weight:600;line-height:1}.scope-heading strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);letter-spacing:-.01em;font-size:.8125rem;font-weight:500;overflow:hidden}.scope-actions{justify-content:flex-end;align-items:center;gap:.15rem;margin-top:.6rem;display:flex}.scope-clear{min-height:2.25rem;color:var(--accent);background:0 0;border:0;border-radius:.5rem;padding:0 .55rem;font-size:.8rem;font-weight:600}.scope-clear:hover{color:var(--accent-strong);background:var(--accent-soft)}.scope-clear:focus-visible{box-shadow:var(--accent-ring);outline:none}.scope-toggle{min-height:2.25rem;color:var(--muted);letter-spacing:-.01em;transition:color var(--motion), background var(--motion), border-color var(--motion);background:0 0;border:1px solid #0000;border-radius:.5rem;align-items:center;gap:.4rem;padding:0 .6rem;font-size:.8rem;font-weight:600;display:inline-flex}.scope-toggle:hover{color:var(--text);background:var(--surface-raised);border-color:var(--line)}.scope-toggle[aria-expanded=true]{color:var(--text);background:var(--surface-raised);border-color:var(--line-strong)}.scope-toggle svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:1rem;height:1rem}.scope-toggle .scope-chevron{stroke-width:2px;width:.85rem;height:.85rem;transition:transform var(--motion)}.scope-toggle[aria-expanded=true] .scope-chevron{transform:rotate(180deg)}.scope-toggle em{background:var(--accent);color:#0b0f10;border-radius:999px;place-items:center;min-width:1.15rem;height:1.15rem;padding:0 .25rem;font-size:.68rem;font-style:normal;font-weight:700;line-height:1;display:inline-grid}.scope-drawer{transition:grid-template-rows var(--motion);grid-template-rows:0fr;display:grid}.scope-drawer[data-open=true]{grid-template-rows:1fr}.scope-clip{min-height:0;overflow:hidden}.scope-clip>.scope-fields{margin:0 -.4rem;padding:.6rem .4rem .35rem}.month-control{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);grid-auto-columns:auto 1fr auto;grid-auto-flow:column;gap:.3rem;padding:.3rem;display:grid}.month-step{border-radius:calc(var(--radius) - .3rem);min-width:2.55rem;min-height:2.55rem;color:var(--muted);background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.month-step:hover:not(:disabled){color:var(--text);background:var(--surface-elevated)}.month-step:active:not(:disabled){transform:scale(.98)}.month-step:focus-visible{box-shadow:var(--accent-ring);outline:none}.month-step:disabled{opacity:.38;cursor:not-allowed}.month-step svg{fill:none;stroke:currentColor;stroke-width:1.85px;stroke-linecap:round;stroke-linejoin:round;width:1rem;height:1rem}.month-picker{position:relative}.month-picker summary{border-radius:calc(var(--radius) - .3rem);min-height:2.55rem;color:var(--text);letter-spacing:-.01em;cursor:pointer;justify-content:center;align-items:center;gap:.5rem;padding:0 .6rem;font-size:.92rem;font-weight:500;list-style:none;display:flex}.month-picker summary::-webkit-details-marker{display:none}.month-picker summary:hover{background:var(--surface-elevated)}.month-picker[open] summary{background:var(--accent);color:#0b0f10;font-weight:600}.month-picker summary svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:.9rem;height:.9rem}.month-panel{z-index:30;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);width:min(20rem,100vw - 2rem);box-shadow:var(--shadow-soft);padding:.75rem;position:absolute;top:calc(100% + .5rem);left:50%;transform:translate(-50%)}.month-panel header{grid-template-columns:2.75rem 1fr 2.75rem;align-items:center;margin-bottom:.55rem;display:grid}.month-panel header strong{text-align:center;font-size:.92rem}.month-panel header button{min-height:2.75rem;color:var(--text);background:0 0;border-color:#0000;border-radius:.6rem}.month-panel header button:hover:not(:disabled){background:var(--surface-raised);border-color:var(--line)}.month-grid{grid-template-columns:repeat(4,1fr);gap:.35rem;display:grid}.month-grid button{min-height:2.75rem;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:.6rem;font-size:.78rem}.month-grid button:hover:not(:disabled){background:var(--surface-raised);color:var(--text);border-color:var(--line)}.month-grid button[aria-current=date]{background:var(--accent);color:#0b0f10;font-weight:600}.scope-fields{gap:.6rem;display:grid}.scope-fields label{gap:0;min-width:0;display:grid}.scope-fields label>span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}input,select{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);width:100%;min-height:3rem;color:var(--text);transition:border-color var(--motion), box-shadow var(--motion), background var(--motion);outline:none;padding:0 .9rem}input::placeholder{color:var(--faint)}input:hover,select:hover{border-color:var(--line-strong)}input:focus-visible,select:focus-visible,button:focus-visible,summary:focus-visible{border-color:var(--accent);box-shadow:var(--accent-ring);outline:none}button{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);min-height:2.65rem;color:var(--text);transition:border-color var(--motion), color var(--motion), background var(--motion), transform .12s ease, box-shadow var(--motion);padding:0 .9rem}@media (hover:hover){button:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-elevated)}}button:active:not(:disabled){transform:translateY(.5px)}button:disabled{opacity:.38;cursor:not-allowed}.overview{gap:1.25rem;min-width:0;display:grid}.verdict{background:linear-gradient(180deg, #ffffff05, transparent), var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);animation:paper-in var(--motion-spring) both;padding:1.5rem 1.25rem 1.25rem;position:relative}@keyframes paper-in{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:none}}.verdict-copy>p{color:var(--faint);letter-spacing:.13em;text-transform:uppercase;margin:0 0 .6rem;font-size:.68rem;font-weight:600;line-height:1}.verdict-copy>p:before{content:none}.verdict h2{font-family:var(--font-num);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:0;font-size:clamp(2.5rem,5vw,3.5rem);font-weight:600;line-height:1}.verdict-rule{background:var(--accent);border-radius:1px;width:4rem;height:2px;margin:1rem 0 .8rem}.verdict-delta{color:var(--muted);font-family:var(--font-num);letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin:0;font-size:1.05rem;font-weight:500;line-height:1.3}.summary-facts{border-top:1px solid var(--line);margin:1.1rem 0 0;padding:0;display:grid}.summary-facts div{justify-content:space-between;align-items:baseline;gap:1rem;padding:.7rem 0;display:flex}.summary-facts div+div{border-top:1px solid var(--line)}.summary-facts dt{letter-spacing:.11em;text-transform:uppercase;color:var(--faint);font-size:.69rem;font-weight:600}.summary-facts dd{font-family:var(--font-num);letter-spacing:-.01em;font-variant-numeric:tabular-nums;text-align:right;margin:0;font-size:1rem;font-weight:500}.food-average{border:1px solid var(--line);border-radius:var(--radius-card);background:linear-gradient(180deg, #ffffff05, transparent), var(--surface);box-shadow:var(--shadow-soft);align-content:start;gap:.6rem;padding:1.25rem;display:grid}.food-average>p{letter-spacing:.11em;text-transform:uppercase;color:var(--faint);margin:0;font-size:.69rem;font-weight:600;line-height:1}.food-average h2{font-family:var(--font-num);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text);margin:0;font-size:clamp(1.6rem,2.4vw,2rem);font-weight:600;line-height:1.1}.food-today{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1rem;margin:0;padding:.7rem 0 0;display:flex}.food-today dt{letter-spacing:.11em;text-transform:uppercase;color:var(--faint);font-size:.69rem;font-weight:600}.food-today dd{font-family:var(--font-num);letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin:0;font-size:1rem;font-weight:500}.analysis-split{gap:1.5rem;min-width:0;display:grid}.analysis-section,.ledger{min-width:0;animation:field-in var(--motion-slow) both;gap:.9rem;display:grid}@keyframes field-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.section-heading{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.analysis-split .section-heading{align-items:center;min-height:2.15rem}.section-heading h2{letter-spacing:.11em;text-transform:uppercase;color:var(--faint);margin:0;font-size:.69rem;font-weight:600;line-height:1}.section-heading>p{font-family:var(--font-num);letter-spacing:0;color:var(--text);font-variant-numeric:tabular-nums;text-align:right;max-width:none;margin:0;font-size:.85rem;font-weight:500}.chart-legend{color:var(--faint);justify-content:flex-end;align-items:center;gap:1rem;font-size:.75rem;display:flex}.chart-legend span{align-items:center;gap:.4rem;display:inline-flex}.chart-legend span:before{content:none!important}.chart-legend i{border-radius:.22rem;flex:none;width:.72rem;height:.72rem}.chart-legend .legend-current i{background:var(--accent)}.chart-legend .legend-typical i{border:1px solid var(--faint);background:repeating-linear-gradient(135deg, var(--faint) 0 1.2px, transparent 1.2px 4px)}.chart{font-variant-numeric:tabular-nums;width:100%;min-width:0}.pace-chart,.spending-chart{border:1px solid var(--line);border-radius:var(--radius-card);background:linear-gradient(180deg, #ffffff05, transparent), var(--surface);box-shadow:var(--shadow-soft)}.pace-chart{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;height:20rem;padding:1rem .6rem .4rem 0;overflow-x:auto}.chart-canvas{width:100%;height:100%;min-width:calc(var(--days,1) * 1.5rem + 4rem)}.recharts-text{fill:var(--faint);font-family:Instrument Sans,sans-serif;font-size:.72rem}.recharts-tooltip-label{color:var(--text);font-weight:600;margin-bottom:.25rem!important}.recharts-tooltip-item{color:var(--muted)!important}.spending-chart{flex-direction:column;justify-content:center;min-width:0;min-height:16rem;padding:.8rem;display:flex}.chart-figure{min-height:0;max-height:var(--figure-height,12.5rem);flex:1;place-items:center;display:grid}.chart-figure svg{width:100%;height:var(--figure-height,12.5rem);display:block;overflow:visible}.chart-mark{transition:opacity var(--motion);outline:none}.chart-mark[data-dim=true]{opacity:.26}.chart-mark:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:.4rem}.chart-bubbles circle.chart-mark{stroke:var(--surface);stroke-width:2.5px}.chart-bubbles circle.chart-mark[data-active=true]{stroke:#0b0f10;stroke-width:3.5px}.spending-chart[data-style=bubbles]{--figure-height:16.5rem;min-height:18.5rem}.bubble-labels{pointer-events:none}.bubble-labels text{fill:#0b0f10;fill-opacity:.8;text-anchor:middle;font-family:var(--font-bubble);letter-spacing:-.005em;transition:opacity var(--motion);font-weight:600}.bubble-labels text[data-dim=true]{opacity:.26}.chart-bars{flex-direction:column;flex:1;gap:.45rem;display:flex}.chart-bars .chart-mark{background:var(--surface-raised);border-radius:.5rem;flex:1;min-height:1.4rem;overflow:hidden}.chart-bars .chart-mark i{border-radius:.5rem;min-width:.45rem;height:100%;display:block}.chart-bars .chart-mark:focus-visible{box-shadow:var(--accent-ring);outline:none}.chart-picker{margin-left:auto;display:flex;position:relative}.chart-picker-toggle{border:1px solid var(--line);width:2.15rem;height:2.15rem;color:var(--muted);transition:border-color var(--motion), color var(--motion), background var(--motion);background:0 0;border-radius:.5rem;place-items:center;padding:0;display:grid}.chart-picker-toggle:hover{border-color:var(--line-strong);color:var(--text);background:var(--surface-elevated)}.chart-picker-toggle:focus-visible{border-color:var(--accent);box-shadow:var(--accent-ring);outline:none}.chart-picker-menu{z-index:30;border:1px solid var(--line-strong);background:var(--surface);min-width:15rem;box-shadow:var(--shadow-soft);border-radius:.7rem;gap:.1rem;padding:.35rem;display:grid;position:absolute;top:calc(100% + .4rem);right:0}.chart-picker-option{width:100%;color:var(--muted);text-align:left;background:0 0;border:0;border-radius:.5rem;align-items:center;gap:.65rem;padding:.5rem .55rem;display:flex}.chart-picker-option svg{flex:none}.chart-picker-option span{gap:.1rem;min-width:0;display:grid}.chart-picker-option strong{color:var(--text);letter-spacing:-.01em;font-size:.85rem;font-weight:600}.chart-picker-option small{color:var(--faint);font-size:.72rem;line-height:1.35}.chart-picker-option:hover{background:var(--surface-raised)}.chart-picker-option[aria-checked=true]{background:var(--accent-soft)}.chart-picker-option[aria-checked=true] svg{color:var(--accent)}.chart-picker-option:focus-visible{box-shadow:var(--accent-ring);outline:none}.chart-tooltip{border:1px solid var(--line-strong);background:var(--surface);min-width:13.5rem;color:var(--muted);font-variant-numeric:tabular-nums;border-radius:.6rem;gap:.38rem;padding:.8rem;font-size:.74rem;display:grid}.chart-tooltip>strong{color:var(--text);font-size:.86rem}.chart-tooltip span{justify-content:space-between;gap:1rem;display:flex}.chart-tooltip b{color:var(--text);font-family:var(--font-num);font-weight:500}.floating-tooltip{z-index:100;pointer-events:none;overflow-wrap:anywhere;width:max-content;min-width:min(13.5rem,100vw - 1rem);max-width:min(24rem,100vw - 1rem);box-shadow:var(--shadow-soft);position:fixed}.floating-tooltip span{flex-wrap:wrap;gap:.15rem 1rem}.table-region{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);max-width:100%;box-shadow:var(--shadow-soft);padding:.25rem 1.1rem;overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th{color:var(--faint);letter-spacing:.11em;text-transform:uppercase;text-align:left;font-size:.69rem;font-weight:600}th,td{border-bottom:1px solid var(--line);padding:.85rem 0}tr:last-child th,tr:last-child td{border-bottom:0}.variance-table{width:100%;margin-top:0}.variance-table th:not(:first-child),.variance-table td:not(:first-child){text-align:right;white-space:nowrap;width:21%;padding-left:1.5rem}.variance-table td:first-child{overflow-wrap:normal;min-width:7rem}.variance-table td{color:var(--muted);font-size:.9rem;font-weight:500}.variance-table tr:hover td{background:0 0}.variance-table td:first-child{color:var(--text);letter-spacing:-.01em;font-weight:600}.variance-table td[data-label]:not(:first-child){font-family:var(--font-num);color:var(--text);font-weight:500}.variance-table .over,.variance-table .under{color:inherit;font-weight:inherit}.scope-select{min-width:0;margin-left:auto;display:flex}.scope-select select{text-overflow:ellipsis;background-color:#0000;border-radius:.5rem;width:auto;max-width:100%;min-height:2.15rem;padding:0 .55rem;font-size:.82rem;font-weight:500}.scope-select select:hover{background-color:var(--surface-raised)}.data-alternative{color:var(--muted);min-width:0;font-size:.8rem}.data-alternative summary{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);min-height:2.75rem;box-shadow:var(--shadow-soft);color:var(--faint);letter-spacing:.11em;text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--motion), background-color var(--motion), border-color var(--motion);align-items:center;gap:.6rem;padding:.6rem .9rem;font-size:.69rem;font-weight:600;list-style:none;display:flex}.data-alternative summary::-webkit-details-marker{display:none}.data-alternative summary:hover{color:var(--text);border-color:var(--line-strong);background:var(--surface-raised)}.data-alternative summary:focus-visible{color:var(--text);border-color:var(--accent);box-shadow:var(--accent-ring)}.toggle-count{border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--muted);font-family:var(--font-num);letter-spacing:0;font-variant-numeric:tabular-nums;margin-left:auto;padding:.1rem .45rem;font-size:.7rem;font-weight:600}.data-alternative summary:after{content:"";width:.42rem;height:.42rem;transition:transform var(--motion);border-bottom:1.5px solid;border-right:1.5px solid;flex:none;margin:-.12rem .1rem 0 0;transform:rotate(45deg)}.data-alternative[open] summary:after{margin-top:.1rem;transform:rotate(225deg)}.data-alternative[open] summary{border-radius:var(--radius-card) var(--radius-card) 0 0;box-shadow:none}.data-alternative[open]>.table-region{border-radius:0 0 var(--radius-card) var(--radius-card);border-top:0}.data-alternative .table-region{animation:table-in var(--motion) both;margin:0}@keyframes table-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.daily-table td:first-child{min-width:0;font-family:var(--font-num);font-weight:600}.daily-table td{font-size:.88rem}.data-alternative table{min-width:0}.ledger-tools{gap:.7rem;display:grid}.range-picker{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);grid-auto-columns:1fr;grid-auto-flow:column;gap:.3rem;padding:.3rem;display:grid}.range-picker button{min-width:0;min-height:2.55rem;color:var(--muted);white-space:nowrap;border-radius:calc(var(--radius) - .3rem);background:0 0;border:0;padding-inline:.65rem;font-size:.92rem;font-weight:500}.range-picker button:hover:not([aria-pressed=true]){color:var(--text);background:#ffffff06}.range-picker button:active{transform:scale(.98)}.range-picker button[aria-pressed=true]{background:var(--accent);color:#0b0f10;font-weight:600;box-shadow:0 1px 3px #0000003d}.ledger-card{border:1px solid var(--line);border-radius:var(--radius-card);background:linear-gradient(180deg, #ffffff06, transparent 9rem), var(--surface);box-shadow:var(--shadow-soft);overflow:hidden}.ledger-card .transactions tr>:first-child{padding-left:var(--ledger-gutter,1.25rem)}.ledger-card .transactions tr>:last-child{padding-right:var(--ledger-gutter,1.25rem)}.ledger-card .pagination{padding:.8rem var(--ledger-gutter,1.25rem);border-top:1px solid var(--line);background:#00000029}.transactions td{color:var(--muted);font-size:.875rem}.transactions th,.transactions td{padding:.9rem .75rem}.transactions thead{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.transactions .money,.transactions .tx-meta{white-space:nowrap;text-align:right;width:1%}.transactions .tx-meta{color:var(--faint);font-variant-numeric:tabular-nums;vertical-align:top;font-size:.8rem;font-weight:500}.transactions .money{color:var(--text);font-family:var(--font-num);letter-spacing:0;font-variant-numeric:tabular-nums;vertical-align:top;padding-left:1.5rem;font-size:1rem;font-weight:600}.transactions tbody>tr:not(.day-heading-row):not(.edit-row)>td{transition:background var(--motion)}.transactions tbody>tr:not(.day-heading-row):not(.edit-row):hover>td{background:#ffffff07}.tx-what{max-width:none}.tx-what strong{color:var(--text);overflow-wrap:anywhere;letter-spacing:-.01em;font-size:.95rem;font-weight:600;display:block}.tx-sub{color:var(--faint);overflow-wrap:anywhere;margin-top:.12rem;font-size:.78rem;font-weight:500;display:block}.transactions td small{color:var(--muted);overflow-wrap:anywhere;margin-top:.2rem;font-size:.8rem;font-weight:400;line-height:1.45;display:block}.transactions tbody>tr:not(.edit-row)>td:last-child{text-align:right;vertical-align:top;width:1%}.transactions tbody+tbody .day-heading-row th{border-top:1px solid var(--line)}.day-heading-row th{border-bottom-color:var(--line);background:#00000042;padding:.95rem .75rem}.day-heading-row th:first-child{letter-spacing:-.02em;text-transform:none;color:var(--text);font-family:Fraunces,Georgia,serif;font-size:1.22rem;font-weight:600}.day-heading-row .day-short{display:none}.day-heading-row .day-total{text-align:right;white-space:nowrap;text-transform:none;font-family:var(--font-num);letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--text);font-size:1.2rem;font-weight:600}.day-heading-row .day-total small{color:var(--faint);letter-spacing:.04em;margin-right:.7rem;font-family:Instrument Sans,sans-serif;font-size:.68rem;font-weight:500}.drafts .tx-what strong{color:var(--muted);font-style:italic;font-weight:500}.drafts .transactions .money,.drafts .transactions .tx-meta,.drafts .transactions .tx-what{vertical-align:middle}.draft-actions{justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.draft-actions button{white-space:nowrap;min-height:2.5rem;font-size:.8rem}.edit{min-width:3.6rem;min-height:2.5rem;font-size:.8rem}.edit:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.transactions tbody>tr.selected-row>td{background:#ffffff09}.transactions tbody>tr.selected-row>td:first-child{box-shadow:inset .16rem 0 0 var(--accent)}.transactions tbody>tr.edit-row>td{box-shadow:inset .16rem 0 0 var(--accent);background:#ffffff09;padding-top:0;padding-bottom:0}.editor{animation:editor-in .22s var(--motion) both;outline:none;gap:1rem;padding:1.1rem .15rem 1rem;display:grid}@keyframes editor-in{0%{opacity:0;transform:translateY(-5px)}}.editor-head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.editor-head strong{font-size:.92rem;font-weight:600}.editor-head small{color:var(--faint);text-align:right;font-size:.72rem}.editor input{background:var(--surface-raised);border-color:var(--line-strong);min-height:2.65rem}.editor-fields{grid-template-columns:1fr 1fr;align-items:end;gap:1rem .8rem;display:grid}.editor-fields label{color:var(--muted);gap:.4rem;font-size:.75rem;font-weight:500;display:grid;position:relative}.field-label{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.field-hint{color:var(--faint);font-variant-numeric:tabular-nums;font-size:.7rem;font-weight:500}.amount-box{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-raised);align-items:center;min-height:2.65rem;padding:0 .8rem;display:flex}.amount-box>span{color:var(--faint);letter-spacing:.06em;text-transform:uppercase;font-size:.7rem;font-weight:700}.amount-box input{min-width:0;font-family:var(--font-num);letter-spacing:0;font-variant-numeric:tabular-nums;background:0 0;border:0;flex:1;padding:0 0 0 .55rem;font-size:1.05rem;font-weight:600}.amount-box:focus-within{border-color:var(--accent);box-shadow:var(--accent-ring)}.amount-box input:focus-visible{box-shadow:none;border:0}.editor-amount,.editor-details{grid-column:span 2}.editor-choice{border:0;min-width:0;margin:0;padding:0}.editor-choice legend,.editor .sublabel{letter-spacing:.11em;text-transform:uppercase;color:var(--faint);margin-bottom:.55rem;padding:0;font-size:.69rem;font-weight:600;display:block}.editor .subfield{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-top:.8rem;padding:.85rem}.chips{flex-wrap:wrap;gap:.5rem;display:flex}.chip{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-raised);min-height:2.65rem;color:var(--text);white-space:nowrap;align-items:center;padding:0 .95rem;font-size:.92rem;font-weight:500;display:inline-flex}@media (hover:hover){.chip:hover:not([aria-pressed=true]):not(:disabled){border-color:var(--line-strong);background:var(--surface-elevated)}}.chip[aria-pressed=true],.chip[aria-pressed=true]:hover{background:var(--accent);border-color:var(--accent);color:#0b0f10;font-weight:600}.chip:disabled{opacity:.45}.editor-error{min-height:1.1rem;color:var(--danger);margin:0;font-size:.78rem}.editor-foot{gap:.8rem;display:grid}.editor-changes{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--muted);font-variant-numeric:tabular-nums;gap:.5rem;margin:0;padding:.7rem .85rem;font-size:.78rem;line-height:1.45;list-style:none;display:grid}.editor-changes li{grid-template-columns:5.1rem minmax(0,1fr);align-items:baseline;gap:.1rem .7rem;display:grid}.editor-changes .change-label{color:var(--faint);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:600}.editor-changes .change-value{flex-wrap:wrap;align-items:baseline;gap:.15rem .4rem;min-width:0;display:flex}.editor-changes .change-from{overflow-wrap:anywhere}.editor-changes .change-next{align-items:baseline;gap:.4rem;min-width:0;display:inline-flex}.editor-changes .arrow{color:var(--faint)}.editor-changes b{color:var(--accent);overflow-wrap:anywhere;font-weight:600}.editor-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.55rem;display:flex}.editor-actions>.delete{margin-right:auto}.editor-confirm{border-radius:var(--radius);background:#ff8d7212;border:1px solid #ff8d726b;justify-content:space-between;align-items:center;gap:1.1rem;padding:.9rem 1rem;display:flex}.editor-confirm p{color:var(--muted);margin:0;font-size:.84rem;line-height:1.5}.delete{color:var(--danger);background:0 0;border-color:#ff8d7252}.delete:hover:not(:disabled){border-color:var(--danger);background:var(--danger-soft)}.primary{border-color:var(--accent);background:var(--accent);color:#0b0f10;font-weight:600}.primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong);color:#0b0f10}.quiet{color:var(--muted);background:0 0;border-color:#0000}.quiet:hover:not(:disabled){color:var(--text);border-color:var(--line);background:var(--surface)}.pagination{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.pagination span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.78rem}.pagination button{min-height:2.5rem;font-size:.8rem}.refreshing{opacity:.56}.inline-error,.page-error{color:var(--danger);font-size:.82rem}.inline-error button,.page-error button{min-height:2.5rem;margin-left:.65rem}.empty{gap:.5rem;padding:2rem 0;display:grid}.empty h2{letter-spacing:-.02em;margin:0;font-family:Fraunces,Georgia,serif;font-size:1.3rem}.empty p,.quiet-empty{color:var(--muted);margin:0;font-size:.88rem;line-height:1.6}.quiet-empty{padding:.6rem 0}.ledger>.quiet-empty{text-align:center;border:1px solid var(--line);border-radius:var(--radius-card);background:linear-gradient(180deg, #ffffff06, transparent 9rem), var(--surface);box-shadow:var(--shadow-soft);padding:2rem 1.25rem}.analysis-skeleton,.ledger-skeleton{gap:.9rem;display:grid}.analysis-skeleton span,.ledger-skeleton span{border-radius:var(--radius-card);background:var(--surface);height:7.5rem;animation:1.4s ease-in-out infinite pulse;display:block}@keyframes pulse{0%,to{background:var(--surface)}50%{background:var(--surface-raised)}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=40rem){.ledger-card{--ledger-gutter:1rem}.transactions,.transactions tbody,.transactions tr,.transactions th,.transactions td{display:block}.transactions thead{display:none}.transactions tbody>tr:not(.edit-row):not(.day-heading-row){padding:.8rem var(--ledger-gutter,0);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:start;column-gap:.75rem;display:grid}.transactions tbody>tr:not(.edit-row):not(.day-heading-row)>td{border:0;width:auto;padding:0}.transactions tbody>tr:last-child:not(.edit-row){border-bottom:0}.transactions .tx-what{grid-area:1/1/span 2}.transactions .money{grid-area:1/2/auto/span 2;padding-left:.75rem;font-size:1.02rem}.transactions .tx-meta{white-space:normal;grid-area:2/2;align-self:center}.transactions tbody>tr:not(.edit-row):not(.day-heading-row)>td:last-child{grid-area:2/3;justify-self:end;width:auto;padding-top:.35rem}.drafts .transactions .tx-what{grid-row:1}.drafts .transactions .tx-meta{text-align:left;grid-area:2/1/auto/-1;padding-top:.25rem}.drafts .transactions tbody>tr:not(.edit-row)>td:last-child{grid-area:3/1/auto/-1;justify-self:stretch;padding-top:.85rem}.drafts .draft-actions{justify-content:flex-start}.editor-changes li{grid-template-columns:minmax(0,1fr)}.editor-foot .editor-actions{grid-template-columns:1fr auto;gap:.6rem .55rem;display:grid}.editor-foot .editor-actions>.primary{grid-area:1/1/2/-1}.editor-foot .editor-actions>.delete{grid-area:2/1/3/2;justify-self:start;margin-right:0}.editor-foot .editor-actions>.quiet{grid-area:2/2/3/3;justify-self:end}.day-heading-row strong{font-size:.95rem}.transactions tbody>tr.day-heading-row{padding:.85rem var(--ledger-gutter,0);border-bottom:1px solid var(--line);background:#00000042;align-items:baseline;gap:.6rem;display:flex}.day-heading-row th,.transactions tbody+tbody .day-heading-row th{background:0 0;border:0;padding:0}.transactions tbody+tbody .day-heading-row{border-top:1px solid var(--line)}.day-heading-row th:first-child{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;font-size:1.05rem;overflow:hidden}.day-heading-row .day-long{display:none}.day-heading-row .day-short{display:inline}.day-heading-row .day-total{flex:none;font-size:1.05rem}.day-heading-row .day-total small{margin:0 0 .05rem;display:block}.transactions tbody>tr:not(.day-heading-row):not(.edit-row):hover>td{background:0 0}.transactions tbody>tr.selected-row{box-shadow:inset .16rem 0 0 var(--accent);background:#ffffff09}.transactions tbody>tr.selected-row>td{background:0 0}.transactions tbody>tr.selected-row>td:first-child{box-shadow:none}.transactions tbody>tr.edit-row>td{padding-left:var(--ledger-gutter,0);padding-right:var(--ledger-gutter,0)}.editor-head{flex-wrap:wrap;gap:.15rem 1rem}.editor-head small{text-align:left;flex:1 0 100%}}@media (width>=48rem){.dashboard{gap:1.5rem;width:min(100% - 3rem,78rem);padding-top:2rem}.report-toolbar{grid-template-columns:minmax(16rem,24rem) minmax(0,1fr);align-items:center;column-gap:1.25rem;padding:1.15rem 1.25rem}.scope-heading{grid-column:1/-1;margin-bottom:.9rem}.scope-actions{margin-top:0}.scope-drawer{grid-column:1/-1}.scope-clip>.scope-fields{padding-top:.9rem}.scope-fields{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.75rem}.ledger-tools{grid-template-columns:minmax(18rem,24rem) minmax(14rem,20rem);justify-content:space-between;align-items:end}.overview{gap:1.5rem}.verdict{padding:1.75rem 1.75rem 1.5rem}.pace-chart{height:22rem}}@media (width>=64rem){.dashboard{gap:1.75rem;padding-top:2.5rem}.overview{grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch}.overview>.verdict{grid-column:span 7;align-content:start;display:grid}.overview>.food-average{grid-column:span 5}.overview>.analysis-section,.overview>.analysis-split{grid-column:1/-1}.summary-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 1.5rem}.summary-facts div{border-top:0;flex-direction:column;align-items:start;gap:.3rem;padding:.9rem 0 0}.summary-facts div+div{border-top:0;border-left:1px solid var(--line);padding-left:1.5rem}.summary-facts dd{text-align:left;font-size:1.15rem}.editor-fields{grid-template-columns:minmax(11rem,15rem) auto auto minmax(12rem,1fr)}.editor-amount,.editor-details{grid-column:auto}.editor-details{grid-column:span 1}}@media (width>=78rem){.analysis-split{grid-template-rows:auto auto 1fr;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:2rem}.analysis-split>.analysis-section{grid-row:1/-1;grid-template-rows:subgrid;row-gap:1rem}.analysis-split>.analysis-section>.data-alternative,.analysis-split>.analysis-section>.quiet-empty{align-self:start}}@media (width>=85rem){.dashboard{width:min(100% - 4rem,82rem)}.pace-chart{height:24rem}}@media (width<=380px){.dashboard{width:min(100% - 1rem,78rem)}.report-toolbar{padding:.85rem}.verdict{padding:1.25rem 1rem 1.1rem}.verdict h2{font-size:clamp(2.1rem,13vw,2.6rem)}.chip{min-height:2.55rem;font-size:.88rem}.range-picker{gap:.2rem;padding:.25rem}.range-picker button{min-height:2.5rem;padding-inline:.35rem;font-size:.84rem}.ledger-card{--ledger-gutter:.85rem}.day-heading-row th:first-child{font-size:.92rem}.day-heading-row .day-total{font-size:.98rem}.transactions .money{font-size:.96rem}.table-region{padding:.15rem .8rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--bg:#0b0f10;--bg-glow:#0e1a1c;--surface:#141a1c;--surface-raised:#1c2527;--surface-elevated:#202e30;--line:#263436;--line-strong:#324548;--text:#eff6f5;--muted:#a9b8b6;--faint:#7e8f8d;--accent:#8fd694;--accent-deep:#5cb774;--accent-strong:#b5e8b8;--accent-soft:#8fd69424;--accent-ring:0 0 0 3px #8fd69447;--font-num:"Space Grotesk", "Instrument Sans", system-ui, sans-serif;--font-bubble:"Host Grotesk", "Instrument Sans", system-ui, sans-serif;--danger:#ff8f86;--danger-soft:#ff8f8624;--success:#8fd694;--radius:.875rem;--radius-pill:999px;--radius-card:1rem;--shadow-paper:0 1px 0 #ffffff0a, 0 12px 32px #0000006b, 0 2px 8px #00000052;--shadow-soft:0 8px 24px #00000047;--motion:.18s cubic-bezier(.2,.8,.2,1);--motion-slow:.42s cubic-bezier(.2,.8,.2,1);--motion-spring:.52s cubic-bezier(.16,1,.3,1);color:var(--text);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Instrument Sans,system-ui,-apple-system,sans-serif}*,:before,:after{box-sizing:border-box}html{background:var(--bg);scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;min-width:320px}body{background:radial-gradient(820px 520px at 78% -8%, #8fd69414, transparent 58%), radial-gradient(640px 420px at -6% 22%, #8fd6940d, transparent 62%), radial-gradient(900px 600px at 50% 120%, #8fd6940a, transparent 70%), var(--bg);min-width:320px;min-height:100vh;color:var(--text);margin:0}body:before{content:"";pointer-events:none;opacity:.035;background-image:repeating-linear-gradient(0deg,#0000 0 2px,#fff9 2px 3px),repeating-linear-gradient(90deg,#0000 0 2px,#fff9 2px 3px);position:fixed;inset:0;-webkit-mask:radial-gradient(1200px 700px at 50% 0,#000 45%,#0000 72%);mask:radial-gradient(1200px 700px at 50% 0,#000 45%,#0000 72%)}.auth-shell{place-items:center;min-height:100vh;padding:2rem 1rem;display:grid}button,input,select,textarea{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}::selection{background:var(--accent);color:#0b0f10}:focus-visible{outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
