.app-bar{align-items:center;gap:var(--space-2);min-height:calc(var(--bar-height) + env(safe-area-inset-top));padding-block-start:env(safe-area-inset-top);padding-inline:max(var(--space-4), env(safe-area-inset-left)) max(var(--space-4), env(safe-area-inset-right));border-block-end:1px solid var(--color-border);background:var(--color-surface);-webkit-user-select:none;user-select:none;flex:none;display:flex}.app-bar-nav{width:var(--tap-size);height:var(--tap-size);border-radius:var(--radius-1);color:var(--color-text);flex:none;place-items:center;margin-inline-start:calc(-1 * var(--space-3));display:grid;position:relative}.app-bar-nav:active,.app-bar-action a:active{background:var(--color-surface-pressed)}.app-bar-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-bar-nav svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.5rem;height:1.5rem}.app-bar-title{min-width:0;font-size:var(--font-size-3);text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;overflow:hidden}.app-bar-action{flex:none}.app-bar-action a{min-height:var(--tap-size);padding-inline:var(--space-3);border-radius:var(--radius-1);color:var(--color-accent);align-items:center;margin-inline-end:calc(-1 * var(--space-3));font-weight:600;text-decoration:none;display:inline-flex}.edit-expense-delete{width:100%;padding-block:var(--space-3);color:var(--color-negative);border:1px solid var(--color-negative);background:0 0;margin-block-start:var(--space-5);font-weight:600}.edit-expense-dialog{max-width:min(28rem, calc(100vw - 2 * var(--space-4)));padding:var(--space-5);border-radius:var(--radius-2);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-2);border:0}.edit-expense-dialog::backdrop{background:#0006}.edit-expense-dialog h2{margin-block:0 var(--space-3);font-size:var(--font-size-3)}.edit-expense-dialog-actions{gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.edit-expense-danger{background:var(--color-negative);color:var(--color-accent-contrast)}.edit-expense-danger:disabled{opacity:.6;cursor:progress}.edit-expense-secondary{color:var(--color-text);border:1px solid var(--color-border);background:0 0}.budget-adjustments{margin-block-end:var(--space-5)}.budget-adjustments-hint{margin-block:0 var(--space-3);font-size:var(--font-size-1);color:var(--color-text-muted)}.budget-adjustments-list{gap:var(--space-2);margin:0 0 var(--space-3);flex-direction:column;padding:0;list-style:none;display:flex}.budget-adjustments-entry,.budget-adjustments-empty{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-2);background:var(--color-surface)}.budget-adjustments-empty{color:var(--color-text-muted)}.budget-adjustments-entry{gap:var(--space-1) var(--space-4);width:100%;font:inherit;color:var(--color-text);text-align:start;font-variant-numeric:tabular-nums;cursor:pointer;flex-wrap:wrap;display:flex}.budget-adjustments-amount{color:var(--color-positive);margin-inline-start:auto;font-weight:600}.budget-adjustments-amount[data-negative]{color:var(--color-negative)}.budget-adjustments-note{overflow-wrap:anywhere;flex-basis:100%}.budget-adjustments-period{font-size:var(--font-size-1);color:var(--color-text-muted);flex-basis:100%}.budget-adjustments-add{width:100%}.budget-adjustments-form{gap:var(--space-4);flex-direction:column;display:flex}.budget-adjustments-form h2{font-size:var(--font-size-3);margin:0}.budget-adjustments-form label{gap:var(--space-1);flex-direction:column;font-weight:600;display:flex}.budget-adjustments-form input:not([type=radio]){font:inherit;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-1);background:var(--color-surface);color:var(--color-text);font-weight:400}.budget-adjustments-direction{gap:var(--space-4);border:0;margin:0;padding:0;display:flex}.budget-adjustments-direction legend{margin-block-end:var(--space-1);padding:0;font-weight:600}.budget-adjustments-form .budget-adjustments-direction label{align-items:center;gap:var(--space-2);flex-direction:row;font-weight:400}.budget-adjustments-error{color:var(--color-negative);margin:0}.budget-adjustments-error:empty{display:none}.budget-adjustments-form .edit-expense-dialog-actions{margin-top:0}.budget-summary p{margin:0}.budget-summary-remaining{font-variant-numeric:tabular-nums}.budget-summary-remaining strong{font-size:var(--font-size-3)}.budget-summary-starts{color:var(--color-text-muted)}.budget-summary-progress{width:100%;height:.5rem;margin-block:var(--space-2);border-radius:var(--radius-1);background:var(--color-border);accent-color:var(--light);appearance:none;border:0;display:block;overflow:hidden}.budget-summary-progress::-webkit-progress-bar{background:var(--color-border)}.budget-summary-progress::-webkit-progress-value{background:var(--light)}.budget-summary-progress::-moz-progress-bar{background:var(--light)}[data-light=green]{--light:var(--color-positive)}[data-light=yellow]{--light:var(--color-warning)}[data-light=red]{--light:var(--color-negative)}.budget-summary-details{gap:var(--space-1) var(--space-4);font-size:var(--font-size-1);color:var(--color-text-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.budget-summary-light{color:var(--light);font-weight:600}.budget-summary-light:before{content:"● "}.budget-detail-archived{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-1);color:var(--color-text-muted)}.budget-detail-current,.budget-detail-history{margin-block-end:var(--space-5)}.budget-detail h2{margin-block:0 var(--space-2);font-size:var(--font-size-3)}.budget-detail-dates,.budget-detail-upcoming{margin-block:0 var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-1)}.budget-detail-upcoming{margin-block-start:var(--space-3)}.budget-detail-coverage h3{margin-block:var(--space-4) var(--space-1);font-size:var(--font-size-2)}.budget-detail-coverage p{margin:0}.budget-detail-categories{gap:var(--space-1) var(--space-4);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.budget-detail-periods{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.budget-detail-period,.budget-detail-empty{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-2);background:var(--color-surface)}.budget-detail-empty{color:var(--color-text-muted)}.budget-detail-period{gap:var(--space-1) var(--space-4);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.budget-detail-period-dates{font-size:var(--font-size-1);color:var(--color-text-muted);flex-basis:100%}.budget-detail-carry{margin-block:0 var(--space-2);font-size:var(--font-size-1);font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.budget-detail-period .budget-detail-carry{margin:0}.budget-detail-result{color:var(--color-positive);margin-inline-start:auto;font-weight:600}.budget-detail-result[data-over],.budget-detail-error{color:var(--color-negative)}.settings-section+.settings-section{margin-block-start:var(--space-5)}.settings-section>h2{margin-block:0 var(--space-2);padding-inline:var(--space-4);font-size:var(--font-size-1);color:var(--color-text-muted);font-weight:600}.settings-panel{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-2);background:var(--color-surface)}.settings-panel>:last-child{margin-block-end:0}.settings-panel-rows{padding:0;overflow:clip}.settings-panel-rows>*+*{border-block-start:1px solid var(--color-border)}.settings-footnote{margin-block:var(--space-2) 0;padding-inline:var(--space-4);font-size:var(--font-size-1);color:var(--color-text-muted)}.settings-nav{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--tap-size);padding:var(--space-3) var(--space-4);color:var(--color-text);text-decoration:none;display:flex}.settings-nav:active{background:var(--color-surface-pressed)}.settings-nav:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.settings-nav-chevron{fill:none;stroke:var(--color-text-muted);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none}.settings-sync{gap:var(--space-2) var(--space-4);margin:0 0 var(--space-4);grid-template-columns:auto 1fr;display:grid}.settings-sync dt{color:var(--color-text-muted)}.settings-sync dd{font-variant-numeric:tabular-nums;margin:0}.settings-server[data-state=ok]{color:var(--color-positive)}.settings-server[data-state=error]{color:var(--color-negative)}.settings-server-retry{padding:0 var(--space-2)}.settings-sync-error{margin-block:0 var(--space-4);color:var(--color-negative)}.settings-sync-note{margin-block:0 var(--space-4);color:var(--color-text-muted)}.settings-sync-note a{color:var(--color-accent)}.settings-rejected{margin-block-start:var(--space-5)}.settings-rejected h3{margin-block:0 var(--space-2);font-size:var(--font-size-1)}.settings-rejected ul{margin:0;padding:0;list-style:none}.settings-rejected-entry{gap:var(--space-2);padding-block:var(--space-3);border-block-start:1px solid var(--color-border);display:grid}.settings-rejected-what{font-variant-numeric:tabular-nums}.settings-rejected-reason{color:var(--color-negative)}.settings-rejected-actions{align-items:center;gap:var(--space-4);display:flex}.settings-rejected-actions a{color:var(--color-accent)}.app-content.categories-page{padding-block-end:calc(var(--space-6) * 3)}.categories-list{margin:0;padding:0;list-style:none}.categories-entry{gap:var(--space-2);padding-block:var(--space-3);border-block-start:1px solid var(--color-border);display:grid}.categories-entry:first-child{border-block-start:none;padding-block-start:0}.categories-name{align-items:center;gap:var(--space-2);font-weight:600;display:flex}.categories-swatch{border:1px solid var(--color-border);background-color:#0000;border-radius:50%;flex:none;width:.875rem;height:.875rem}.categories-meta{color:var(--color-text-muted);font-size:var(--font-size-1)}.categories-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.categories-form{gap:var(--space-2);justify-items:start;display:grid}.categories-form input:not([type]){width:100%}.categories-color{align-items:center;gap:var(--space-2);display:flex}.categories-color input[type=color]{border:1px solid var(--color-border);border-radius:var(--radius-1);background:0 0;width:2.5rem;height:2rem;padding:0}.categories-select{width:100%;margin-block-start:var(--space-2);display:block}.categories-note{margin-block:0 var(--space-3);color:var(--color-text-muted)}.categories-error{color:var(--color-negative);margin:0}.categories-entry-added{scroll-margin-block-end:calc(var(--space-6) * 3);animation:2s ease-out categories-added}@keyframes categories-added{0%{background-color:color-mix(in srgb, var(--color-accent) 20%, transparent)}}@media (prefers-reduced-motion:reduce){.categories-entry-added{outline:2px solid var(--color-accent);outline-offset:var(--space-1);animation:none}}.new-budget-form{gap:var(--space-4);flex-direction:column;display:flex}.new-budget-form label{gap:var(--space-1);flex-direction:column;font-weight:600;display:flex}.new-budget-form input:not([type=checkbox],[type=radio]),.new-budget-form select{font:inherit;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-1);background:var(--color-surface);color:var(--color-text);font-weight:400}.new-budget-amount input{font-size:var(--font-size-4);font-variant-numeric:tabular-nums}.new-budget-amount input[aria-invalid=true]{border-color:var(--color-negative)}.new-budget-period,.new-budget-rollover,.new-budget-categories{border:0;margin:0;padding:0}.new-budget-period legend,.new-budget-rollover legend,.new-budget-categories legend{margin-block-end:var(--space-1);padding:0;font-weight:600}.new-budget-period{gap:var(--space-2);display:flex}.new-budget-period input{width:5rem}.new-budget-visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.new-budget-hint{margin:calc(-1 * var(--space-3)) 0 0;font-size:var(--font-size-1);color:var(--color-text-muted)}.new-budget-rollover,.new-budget-categories,.new-budget-picks{gap:var(--space-2);flex-direction:column;display:flex}.new-budget-picks[hidden]{display:none}.new-budget-form .new-budget-check{align-items:center;gap:var(--space-2);flex-direction:row;font-weight:400}.new-budget-check input{width:1.25rem;height:1.25rem;accent-color:var(--color-accent)}.new-budget-error{color:var(--color-negative);margin:0}.new-budget-error:empty{display:none}.new-budget-form button{padding-block:var(--space-3);font-weight:600}.new-budget-form button:disabled{opacity:.6;cursor:progress}.fab{right:max(var(--space-4), env(safe-area-inset-right));bottom:calc(var(--bar-height) + env(safe-area-inset-bottom) + var(--space-4));z-index:5;width:var(--fab-size);height:var(--fab-size);background:var(--color-accent);color:var(--color-accent-contrast);box-shadow:var(--shadow-2);-webkit-user-select:none;user-select:none;border-radius:50%;place-items:center;transition:transform 80ms ease-out;display:grid;position:absolute}.fab:active{transform:scale(.92)}@media (prefers-reduced-motion:reduce){.fab{transition:none}}.fab svg{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;width:1.75rem;height:1.75rem}.fab:focus-visible{outline-offset:3px}.fab-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.quick-entry-form{gap:var(--space-4);flex-direction:column;display:flex}.quick-entry-form label{gap:var(--space-1);flex-direction:column;font-weight:600;display:flex}.quick-entry-form input:not([type=radio],[type=checkbox]){font:inherit;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-1);background:var(--color-surface);color:var(--color-text);font-weight:400}.quick-entry-amount input{font-size:var(--font-size-4);font-variant-numeric:tabular-nums}.quick-entry-amount input[aria-invalid=true]{border-color:var(--color-negative)}.quick-entry-categories{gap:var(--space-2);border:0;grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));margin:0;padding:0;display:grid}.quick-entry-categories legend{margin-block-end:var(--space-1);padding:0;font-weight:600}.quick-entry-form .quick-entry-tile{min-height:5rem;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-2);background:var(--color-surface);font-size:var(--font-size-1);text-align:center;cursor:pointer;justify-content:center;align-items:center;font-weight:400;position:relative}.quick-entry-tile input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.quick-entry-tile:has(input:checked){border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent);font-weight:600}.quick-entry-tile:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:2px}.quick-entry-tile-icon{font-size:var(--font-size-4);line-height:1}.quick-entry-form .quick-entry-credit{align-items:center;gap:var(--space-2);flex-direction:row;font-weight:400}.quick-entry-credit input{width:1.25rem;height:1.25rem;accent-color:var(--color-accent)}.quick-entry-error{color:var(--color-negative);margin:0}.quick-entry-error:empty{display:none}.quick-entry-form button{padding-block:var(--space-3);font-weight:600}.quick-entry-form button:disabled{opacity:.6;cursor:progress}.expense-row{align-items:center;gap:var(--space-3);min-height:var(--tap-size);padding:var(--space-3) var(--space-4);color:inherit;text-decoration:none;display:flex}.expense-row:active{background:var(--color-surface-pressed)}.expense-row:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.expense-row-icon{font-size:var(--font-size-3)}.expense-row-what,.expense-row-end{flex-direction:column;min-width:0;display:flex}.expense-row-what{flex:1}.expense-row-note{font-size:var(--font-size-1);color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.expense-row-end{white-space:nowrap;align-items:flex-end}.expense-row-amount{font-variant-numeric:tabular-nums}.expense-row-amount[data-credit]{color:var(--color-positive)}.expense-row-date{font-size:var(--font-size-1);color:var(--color-text-muted)}.app-content.expense-list{scroll-padding-block-start:calc(var(--font-size-1) * 1.5 + 2 * var(--space-2))}.expense-list-error{color:var(--color-negative)}.expense-list-filters{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));margin-block-end:var(--space-5);display:grid}.expense-list-filters label{gap:var(--space-1);font-size:var(--font-size-1);flex-direction:column;font-weight:600;display:flex}.expense-list-search{grid-column:1/-1}.expense-list-filters input,.expense-list-filters select{font:inherit;font-size:var(--font-size-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-1);background:var(--color-surface);color:var(--color-text);font-weight:400}.expense-list-empty{color:var(--color-text-muted)}.expense-list-day{margin-block-end:var(--space-4)}.expense-list-day h2{top:calc(-1 * var(--space-5));z-index:1;padding-block:var(--space-2);background:var(--color-bg);font-size:var(--font-size-1);color:var(--color-text-muted);margin:0;position:sticky}.expense-list-day ul{border:1px solid var(--color-border);border-radius:var(--radius-2);background:var(--color-surface);margin:0;padding:0;list-style:none;overflow:clip}.expense-list-day li+li{border-block-start:1px solid var(--color-border)}.home-session{margin-block-end:var(--space-5)}.home-session:not(:has(*)){display:none}.home-session p{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-1);background:var(--color-surface);font-size:var(--font-size-1);margin:0}.home-session a{color:var(--color-accent)}.home-budgets{margin-block-end:var(--space-5)}.home-budgets-heading{justify-content:space-between;align-items:baseline;margin-block-end:var(--space-2);display:flex}.home-budgets h2{font-size:var(--font-size-1);color:var(--color-text-muted);margin:0}.home-budgets-new{min-height:var(--tap-size);margin-block:calc(-1 * var(--space-3));padding-inline:var(--space-3);border-radius:var(--radius-1);color:var(--color-accent);font-size:var(--font-size-1);align-items:center;margin-inline-end:calc(-1 * var(--space-3));font-weight:600;text-decoration:none;display:inline-flex}.home-budgets-new:active{background:var(--color-surface-pressed)}.home-budgets-error{color:var(--color-negative)}.home-budgets-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.home-budget,.home-budgets-empty{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-2);background:var(--color-surface)}.home-budgets-empty{color:var(--color-text-muted)}.home-budget{-webkit-user-select:none;user-select:none;position:relative}.home-budget:has(h3 a:active){background:var(--color-surface-pressed)}.home-budget h3 a:after{content:"";position:absolute;inset:0}.home-budget h3 a:focus-visible{outline:none}.home-budget:has(a:focus-visible){outline:2px solid var(--color-accent);outline-offset:-2px}.home-budget h3{margin:0 0 var(--space-1);font-size:var(--font-size-2)}.home-recent{margin-block-end:var(--space-5)}.home-recent h2{margin-block:0 var(--space-2);font-size:var(--font-size-1);color:var(--color-text-muted)}.home-recent-error{color:var(--color-negative)}.home-recent-list{border:1px solid var(--color-border);border-radius:var(--radius-2);background:var(--color-surface);margin:0;padding:0;list-style:none;overflow:clip}.home-recent-list li+li{border-block-start:1px solid var(--color-border)}.home-recent-empty{padding:var(--space-3) var(--space-4);color:var(--color-text-muted)}.home-budget h3 a{color:inherit}.onboarding-form{gap:var(--space-4);flex-direction:column;display:flex}.onboarding-form label{gap:var(--space-1);flex-direction:column;font-weight:600;display:flex}.onboarding-form input,.onboarding-form select{font:inherit;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-1);background:var(--color-surface);color:var(--color-text);font-weight:400}.onboarding-hint{font-size:var(--font-size-1);color:var(--color-text-muted);margin:0}.onboarding-error{color:var(--color-negative);margin:0}.onboarding-form button:disabled{opacity:.6;cursor:progress}.onboarding-warning{color:var(--color-negative);margin:0;font-weight:600}.onboarding-recovery{gap:var(--space-4);flex-direction:column;display:flex}.onboarding-recovery h2{margin:0}.onboarding-recovery-key{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-1);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-3);letter-spacing:.05em;text-align:center;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.account-who{justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);margin:0;display:flex}.account-who-label{color:var(--color-text-muted)}.account-sign-out{width:100%;padding:var(--space-3) var(--space-4);color:var(--color-negative);text-align:start;background:0 0;border-radius:0;display:block}.account-sign-out:not(:disabled):active{background:var(--color-surface-pressed);transform:none}.account-sign-out:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.account-error{color:var(--color-negative)}.devices-list{margin:0 0 var(--space-4);padding:0;list-style:none}.devices-entry{gap:var(--space-2);padding-block:var(--space-3);border-block-start:1px solid var(--color-border);display:grid}.devices-entry:first-child{border-block-start:none;padding-block-start:0}.devices-name{align-items:center;gap:var(--space-2);flex-wrap:wrap;font-weight:600;display:flex}.devices-current{padding:0 var(--space-2);border-radius:var(--radius-1);background:var(--color-accent);color:var(--color-accent-contrast);font-size:var(--font-size-1);font-weight:400}.devices-meta{color:var(--color-text-muted);font-size:var(--font-size-1)}.devices-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.devices-secondary{color:var(--color-text);border:1px solid var(--color-border);background:0 0}.devices-error{color:var(--color-negative);margin:0}.devices-note{margin-block:0 var(--space-4);color:var(--color-text-muted)}.devices-note a{color:var(--color-accent)}.devices-load-error{justify-items:start;gap:var(--space-3);margin-block-end:var(--space-4);display:grid}.devices-add{justify-items:start;gap:var(--space-3);display:grid}.devices-code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:var(--font-size-3);letter-spacing:.1em;text-align:center;overflow-wrap:anywhere;margin:0}.devices-rename{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.devices-rename input{flex:10rem}.devices-qr{max-width:14rem;margin-inline:auto}.devices-qr svg{width:100%;height:auto;display:block}.devices-qr rect{fill:var(--color-qr-light)}.devices-qr path{fill:var(--color-qr-dark)}.export-expenses-range{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));margin-block-end:var(--space-4);display:grid}.export-expenses-range label{gap:var(--space-1);font-size:var(--font-size-1);flex-direction:column;font-weight:600;display:flex}.export-expenses-range input{font:inherit;font-size:var(--font-size-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-1);background:var(--color-surface);color:var(--color-text);font-weight:400}.export-expenses-note{margin-block:0 var(--space-4);color:var(--color-text-muted)}.export-expenses-error{margin-block:0 var(--space-4);color:var(--color-negative)}.sign-in-actions{align-items:center;gap:var(--space-4);display:flex}.sign-in-actions a{color:var(--color-accent)}.sign-in-code{gap:var(--space-2);margin-block-start:var(--space-5);display:grid}.sign-in-code p{margin:0 0 var(--space-2)}.sign-in-code-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.sign-in-code-row input{letter-spacing:.1em;flex:10rem;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.sign-in-error{color:var(--color-negative)}.sign-in button:disabled{opacity:.6;cursor:progress}.sign-in-dialog{max-width:min(28rem, calc(100vw - 2 * var(--space-4)));padding:var(--space-5);border-radius:var(--radius-2);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-2);border:0}.sign-in-dialog::backdrop{background:#0006}.sign-in-dialog h2{margin-block:0 var(--space-3);font-size:var(--font-size-3)}.sign-in-warning{color:var(--color-negative);font-weight:600}.sign-in-dialog-actions{gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.sign-in-danger{background:var(--color-negative);color:var(--color-accent-contrast)}.sign-in-secondary{color:var(--color-text);border:1px solid var(--color-border);background:0 0}.unlock-form{gap:var(--space-3);display:grid}.unlock-form label{gap:var(--space-2);display:grid}.unlock-form input{letter-spacing:.05em;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.unlock-form button{justify-self:start}.unlock-form button:disabled{opacity:.6;cursor:progress}.unlock-error{color:var(--color-negative);margin:0}.unlock h2{font-size:var(--font-size-3);margin-block-start:var(--space-5)}.unlock-hint{font-size:var(--font-size-1);color:var(--color-text-muted);margin:0}.unlock-dialog{max-width:min(28rem, calc(100vw - 2 * var(--space-4)));padding:var(--space-5);border-radius:var(--radius-2);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-2);border:0}.unlock-dialog::backdrop{background:#0006}.unlock-dialog h2{margin-block:0 var(--space-3)}.unlock-warning{color:var(--color-negative);font-weight:600}.unlock-dialog-actions{gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.unlock-danger{background:var(--color-negative);color:var(--color-accent-contrast)}.unlock-secondary{color:var(--color-text);border:1px solid var(--color-border);background:0 0}.tab-bar{view-transition-name:tab-bar;min-height:calc(var(--bar-height) + env(safe-area-inset-bottom));padding-block-end:env(safe-area-inset-bottom);padding-inline:env(safe-area-inset-left) env(safe-area-inset-right);border-block-start:1px solid var(--color-border);background:var(--color-surface);-webkit-user-select:none;user-select:none;flex:none;display:flex}.tab-bar-tab{color:var(--color-text-muted);min-height:var(--tap-size);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.125rem;font-size:.75rem;text-decoration:none;display:flex}.tab-bar-tab:active{background:var(--color-surface-pressed)}.tab-bar-tab[aria-current=page]{color:var(--color-accent);font-weight:600}.tab-bar-tab svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.5rem;height:1.5rem}.tab-bar-tab:focus-visible{outline-offset:-2px}.app-notices{inset-inline:var(--space-4);max-width:calc(40rem - 2 * var(--space-4));bottom:calc(var(--space-4) + env(safe-area-inset-bottom));z-index:10;gap:var(--space-2);pointer-events:none;margin-inline:auto;display:grid;position:fixed}.app:has(.tab-bar) .app-notices{bottom:calc(var(--bar-height) + var(--space-4) + env(safe-area-inset-bottom))}.app:has(.fab) .app-notices{padding-inline-end:calc(var(--fab-size) + var(--space-2))}.app-notices>.update-prompt{pointer-events:auto}.toast{padding:var(--space-3) var(--space-4);border-radius:var(--radius-2);background:var(--color-surface-inverse);color:var(--color-text-inverse);box-shadow:var(--shadow-2);margin:0;animation:.15s ease-out toast-in}@keyframes toast-in{0%{opacity:0;transform:translateY(.5rem)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.toast-region:empty{position:absolute}.update-prompt:empty{display:none}.update-prompt{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-2);background:var(--color-surface-inverse);color:var(--color-text-inverse);box-shadow:var(--shadow-2);display:flex}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-size-1:.875rem;--font-size-2:1rem;--font-size-3:1.25rem;--font-size-4:1.75rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--bar-height:3.5rem;--fab-size:3.5rem;--tap-size:2.75rem;--radius-1:.375rem;--radius-2:.75rem;--color-bg:#f7f7f5;--color-surface:#fff;--color-surface-pressed:#eceeed;--color-surface-inverse:#1d2422;--color-text:#1d2422;--color-text-muted:#5d6764;--color-text-inverse:#f7f7f5;--color-border:#dfe3e1;--color-accent:#1f6f5c;--color-accent-contrast:#fff;--color-positive:#1f7a3d;--color-warning:#9a6700;--color-negative:#b3261e;--color-qr-dark:#000;--color-qr-light:#fff;--shadow-2:0 4px 16px #00000026}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-bg:#111816;--color-surface:#1a2321;--color-surface-pressed:#26312e;--color-surface-inverse:#e8ecea;--color-text:#e8ecea;--color-text-muted:#9aa5a1;--color-text-inverse:#111816;--color-border:#2d3835;--color-accent:#5cc4a6;--color-accent-contrast:#0c1412;--color-positive:#6fd18f;--color-warning:#e5b54a;--color-negative:#ff8a80;--shadow-2:0 4px 16px #00000080}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}html,body,#app{overscroll-behavior:none;height:100%;overflow:hidden}body{font-family:var(--font-sans);font-size:var(--font-size-2);background:var(--color-bg);color:var(--color-text);margin:0;line-height:1.5}h1{margin-block:0 var(--space-5);font-size:var(--font-size-4);line-height:1.2}button{font:inherit;padding:var(--space-2) var(--space-4);border-radius:var(--radius-1);background:var(--color-accent);color:var(--color-accent-contrast);cursor:pointer;min-height:var(--tap-size);-webkit-user-select:none;user-select:none;border:0;transition:transform 80ms ease-out}button:not(:disabled):active{transform:scale(.97)}input,textarea,select{-webkit-user-select:text;user-select:text}@media (prefers-reduced-motion:reduce){button{transition:none}}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.app{flex-direction:column;max-width:40rem;height:100%;margin-inline:auto;display:flex;position:relative}.app-content{overscroll-behavior-y:contain;min-height:0;padding:var(--space-5) max(var(--space-4), env(safe-area-inset-right)) var(--space-5) max(var(--space-4), env(safe-area-inset-left));flex:1;overflow-y:auto}:where(.app:not(:has(.tab-bar))) .app-content{padding-block-end:calc(var(--space-5) + env(safe-area-inset-bottom))}:where(.app:has(.fab):has(.tab-bar)) .app-content{padding-block-end:calc(var(--space-5) + var(--fab-size) + var(--space-4))}:root[data-transition]{--transition-duration:.28s;--transition-easing:cubic-bezier(.2, .8, .2, 1)}:root[data-transition]::view-transition-old(root){animation-duration:var(--transition-duration);animation-timing-function:var(--transition-easing);animation-fill-mode:both}:root[data-transition]::view-transition-new(root){animation-duration:var(--transition-duration);animation-timing-function:var(--transition-easing);animation-fill-mode:both}:root[data-transition]:not([data-transition=fade])::view-transition-old(root){mix-blend-mode:normal}:root[data-transition]:not([data-transition=fade])::view-transition-new(root){mix-blend-mode:normal}:root[data-transition=push]::view-transition-old(root){animation-name:transition-slide-to-left}:root[data-transition=push]::view-transition-new(root){animation-name:transition-slide-from-right}:root[data-transition=pop]::view-transition-old(root){z-index:1;animation-name:transition-slide-to-right}:root[data-transition=pop]::view-transition-new(root){animation-name:transition-slide-from-left}:root[data-transition=modal-open]::view-transition-old(root){animation:none}:root[data-transition=modal-open]::view-transition-new(root){animation-name:transition-slide-from-bottom}:root[data-transition=modal-close]::view-transition-old(root){z-index:1;animation-name:transition-slide-to-bottom}:root[data-transition=modal-close]::view-transition-new(root){animation:none}@keyframes transition-slide-from-right{0%{transform:translate(100%)}}@keyframes transition-slide-to-left{to{opacity:.6;transform:translate(-30%)}}@keyframes transition-slide-to-right{to{transform:translate(100%)}}@keyframes transition-slide-from-left{0%{opacity:.6;transform:translate(-30%)}}@keyframes transition-slide-from-bottom{0%{transform:translateY(100%)}}@keyframes transition-slide-to-bottom{to{transform:translateY(100%)}}
