.interactive-line-chart{min-width:0;position:relative}.interactive-line-chart>svg{touch-action:pan-y pinch-zoom;outline-offset:3px}.chart-selection{pointer-events:none}.chart-crosshair{stroke:var(--muted,#716d65);stroke-width:1px;stroke-dasharray:3 5;opacity:.55;vector-effect:non-scaling-stroke}.chart-selected-point{stroke:var(--paper,#f7f3eb);stroke-width:2px;vector-effect:non-scaling-stroke}.chart-data-tooltip{z-index:2;box-sizing:border-box;border:1px solid var(--line,#e3ddd1);background:var(--paper,#faf7f0);pointer-events:none;border-radius:10px;width:232px;max-width:calc(100% - 16px);padding:12px 14px 10px;font-size:12px;animation:.12s ease-out chart-tooltip-appear;position:absolute;top:8px;box-shadow:0 7px 24px #382e2014}.chart-data-tooltip time{color:var(--muted,#716d65);font-variant-numeric:tabular-nums;margin-bottom:9px;font-size:12px;display:block}.chart-tooltip-row{justify-content:space-between;align-items:center;gap:10px;margin-top:7px;display:flex}.chart-tooltip-row>span{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.chart-tooltip-row i{border-radius:50%;flex:0 0 6px;width:6px;height:6px}.chart-tooltip-row strong{overflow-wrap:anywhere;text-align:right;font-size:13px;font-weight:600}.chart-data-tooltip>small{text-align:right;letter-spacing:.08em;color:var(--muted,#716d65);margin-top:7px;font-size:9px;display:block}@keyframes chart-tooltip-appear{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.chart-data-tooltip{animation:none}}.ledger-page{gap:1.25rem;min-width:0;display:grid}.ledger-heading{align-items:end}.ledger-heading h1,.transaction-dialog h2,.ledger-delete-dialog h2{margin:0}.ledger-count{font-variant-numeric:tabular-nums;margin:0 0 .3rem}.ledger-toolbar{grid-template-columns:minmax(0,1fr) minmax(9rem,11rem) auto auto;align-items:end;gap:.65rem;min-width:0;display:grid}.ledger-toolbar>.field{min-width:0}.ledger-toolbar .field-label{margin-bottom:.2rem}.ledger-sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ledger-toolbar input[type=search],.ledger-toolbar input[type=month]{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.ledger-filter-toggle,.ledger-clear-filters{white-space:nowrap;min-height:2.75rem}.ledger-filter-toggle{align-items:center;gap:.55rem;display:inline-flex}.ledger-filter-count{background:var(--color-accent-soft,#eee2d8);color:var(--color-accent,#7a3e35);border-radius:50%;justify-content:center;align-items:center;min-width:1.35rem;height:1.35rem;padding:0 .2rem;font-size:.75rem;display:inline-flex}.ledger-advanced-filters{border-bottom:1px solid var(--color-line,#2827201f);border-top:1px solid var(--color-line,#2827201f);grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;padding:.8rem 0;display:grid}.ledger-advanced-filters[hidden]{display:none!important}.ledger-advanced-filters>.field{min-width:0}.ledger-advanced-filters input,.ledger-advanced-filters select{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.ledger-advanced-filters .ledger-period-field{min-width:0}.ledger-custom-range{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:.5rem;min-width:0;display:grid}.ledger-custom-range .field{min-width:0}.ledger-custom-range input[type=date]{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.ledger-range-separator{color:var(--color-muted,#716d65);padding-bottom:.65rem}.ledger-storage-error,.ledger-range-error{margin:0}.ledger-gesture-hint{color:var(--color-muted,#716d65);margin:-.8rem 0 0;font-size:.78rem;display:none}.ledger-results{min-width:0}.ledger-table{min-width:38rem}.ledger-table-head,.ledger-table-row{grid-template-columns:minmax(0,1fr) minmax(9rem,auto) 8rem;align-items:center;column-gap:1rem;display:grid}.ledger-table-head{color:var(--color-muted,#716d65);letter-spacing:.08em;text-transform:uppercase;padding:.8rem 1rem;font-size:.75rem}.ledger-table-amount-heading,.ledger-table-actions-heading{text-align:right}.ledger-table-row{border-top:1px solid var(--color-line,#2827201f);min-height:4.2rem;padding:.75rem 1rem}.ledger-date-cell,.ledger-description-copy{gap:.15rem;min-width:0;display:grid}.ledger-date,.ledger-time,.ledger-mobile-time{font-variant-numeric:tabular-nums}.ledger-time,.ledger-mobile-time,.ledger-note{font-size:.78rem}.ledger-description-cell{align-items:center;gap:.7rem;min-width:0;display:flex}.ledger-category-icon{flex:none}.ledger-description-copy>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ledger-title{font-size:1rem;font-weight:550}.ledger-record-datetime{color:var(--color-muted,#716d65);font-variant-numeric:tabular-nums;font-size:.8125rem}.ledger-record-right{text-align:right;justify-items:end;gap:.16rem;min-width:0;display:grid}.ledger-record-amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1rem;font-weight:560;line-height:1.25}.ledger-record-account{color:var(--color-muted,#716d65);text-overflow:ellipsis;white-space:nowrap;max-width:11rem;font-size:.78rem;overflow:hidden}.ledger-account-cell{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ledger-amount-cell{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.ledger-row-actions{justify-content:flex-end;align-items:center;gap:.2rem;display:flex}.ledger-row-action{min-height:2rem;padding-inline:.55rem}.ledger-delete-action{color:var(--color-muted,#716d65)}.ledger-mobile-list{display:none}.ledger-empty-state{text-align:center;padding:3rem 1.5rem}.ledger-empty-state h2{margin:0 0 .45rem}.ledger-empty-state p{margin:0 0 1rem}.ledger-note{font-size:.8125rem}.transaction-dialog-backdrop,.ledger-delete-backdrop{z-index:100}.transaction-dialog{width:min(100% - 2rem,42rem);max-height:min(92vh,52rem);overflow-y:auto}.transaction-dialog-header{align-items:start}.transaction-dialog-close{font-size:1.4rem;line-height:1}.transaction-dialog-description{color:var(--color-muted,#716d65);margin:-.45rem 1.5rem .25rem;font-size:.88rem}.transaction-dialog-body{gap:1.2rem;display:grid}.transaction-dialog .field-label,.transaction-type-picker .field-label{font-size:.875rem}.transaction-type-picker{border:0;min-width:0;margin:0;padding:0}.transaction-type-picker legend{margin-bottom:.45rem}.transaction-type-picker .sliding-tabs{width:100%}.sliding-tabs{border:1px solid var(--color-line,#28272029);border-radius:var(--radius-control);grid-template-columns:repeat(var(--sliding-tab-count,3), minmax(0, 1fr));width:max-content;display:grid;position:relative;overflow:hidden}.sliding-tabs>button{border:0;border-right:1px solid var(--color-line,#2827201f);color:var(--color-muted,#716d65);cursor:pointer;font:inherit;z-index:1;background:0 0;min-width:0;min-height:2.9rem;padding:.5rem .75rem;font-size:.85rem;position:relative}.sliding-tabs>button:last-of-type{border-right:0}.sliding-tabs>button.is-active{background:color-mix(in srgb, var(--sliding-tab-color,var(--color-accent,#7a3e35)) 10%, transparent);color:var(--sliding-tab-color,var(--color-accent,#7a3e35))}.sliding-tabs-indicator{pointer-events:none;z-index:2;height:2px;transition:transform .22s cubic-bezier(.2,.8,.2,1),width .22s,opacity .12s;position:absolute;bottom:0;left:0}.sliding-tabs>button:focus-visible{outline:2px solid var(--color-accent,#7a3e35);outline-offset:2px}@media (hover:hover) and (pointer:fine){:root:not([data-input=touch]) .sliding-tabs>button:not(.is-active):hover{background:color-mix(in srgb, var(--sliding-tab-color,var(--color-accent,#7a3e35)) 5%, transparent);color:var(--sliding-tab-color,var(--color-accent,#7a3e35))}}@media (prefers-reduced-motion:reduce){.sliding-tabs-indicator{transition:none}}.transaction-amount-field{border-bottom:1px solid var(--color-line,#28272029);padding-bottom:.8rem}.transaction-amount-field>.field-label{display:block}.transaction-amount-input-wrap{align-items:baseline;gap:.55rem;margin-top:.35rem;display:flex}.transaction-currency-mark{color:var(--color-muted,#716d65);letter-spacing:.04em;white-space:nowrap;font-size:.82rem}.transaction-currency-symbol{color:var(--transaction-type-color,var(--color-ink,#282720));font-family:var(--font-sans,sans-serif);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:clamp(1.8rem,5vw,2.5rem)}.transaction-amount-input{border:0;border-bottom:1px solid var(--color-line,#28272029);border-radius:var(--radius-control);color:var(--transaction-type-color,var(--color-ink,#282720));font-variant-numeric:tabular-nums;background:0 0;outline:none;flex:1;min-width:0;padding:.2rem 0;font-family:inherit;font-size:clamp(2rem,7vw,3rem);font-weight:500}.transaction-amount-input:focus{border-bottom-color:var(--transaction-type-color,var(--color-accent,#7a3e35))}.transaction-field-help{color:var(--color-muted,#716d65);margin:.35rem 0 0;font-size:.78rem}.transaction-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.transaction-category-field{gap:.65rem;display:grid}.transaction-category-detail{grid-template-columns:minmax(4.3rem,.7fr) 1px minmax(0,1.8fr);align-items:stretch;gap:.55rem;min-width:0;display:grid}.transaction-selected-major{background:color-mix(in srgb, var(--transaction-category-color,#647f68) 8%, transparent);border:1px solid color-mix(in srgb, var(--transaction-category-color,#647f68) 35%, transparent);border-radius:var(--radius-control);color:var(--transaction-category-color,#647f68);cursor:pointer;text-align:center;align-content:center;place-items:center;gap:.4rem;min-width:0;padding:.55rem .25rem;display:grid}.transaction-selected-major-name{overflow-wrap:anywhere;font-size:.875rem;font-weight:550;line-height:1.2}.transaction-selected-major-change{color:var(--color-muted,#716d65);font-size:.7rem;line-height:1.2}.transaction-category-divider{background:var(--color-line,#28272029);align-self:stretch;width:1px}.transaction-subcategory-panel{overscroll-behavior:contain;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:.25rem;min-width:0;max-height:15rem;display:grid;overflow-y:auto}.transaction-subcategory-option{border-radius:var(--radius-control);color:var(--transaction-category-color,#647f68);cursor:pointer;font:inherit;text-align:left;background:0 0;border:1px solid #0000;justify-content:flex-start;align-items:center;gap:.35rem;min-width:0;min-height:2.6rem;padding:.35rem .4rem;display:flex}.transaction-subcategory-option>span:not(.category-icon){text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;line-height:1.2;overflow:hidden}.transaction-subcategory-option.is-selected{background:color-mix(in srgb, var(--transaction-category-color,#647f68) 12%, transparent);border-color:color-mix(in srgb, var(--transaction-category-color,#647f68) 48%, transparent)}.transaction-subcategory-root{border-bottom-color:color-mix(in srgb, var(--transaction-category-color,#647f68) 35%, transparent);grid-column:1/-1}.transaction-subcategory-empty{grid-column:1/-1;align-self:center;margin:0;padding:.5rem .15rem;font-size:.75rem}.transaction-selected-major:focus-visible,.transaction-subcategory-option:focus-visible{outline:2px solid var(--transaction-category-color,var(--color-accent,#7a3e35));outline-offset:2px}@media (hover:hover) and (pointer:fine){:root:not([data-input=touch]) .transaction-selected-major:hover,:root:not([data-input=touch]) .transaction-subcategory-option:not(.is-selected):hover{background:color-mix(in srgb, var(--transaction-category-color,#647f68) 14%, transparent)}}.transaction-all-categories{margin-top:.15rem}.transaction-no-categories,.transaction-transfer-note{margin:0;font-size:.875rem}.transaction-form-grid .transaction-note-field{grid-column:1/-1}.transaction-form-error{margin:0}.transaction-dialog-footer{justify-content:flex-end}.ledger-delete-dialog{width:min(100% - 2rem,27rem)}.ledger-delete-dialog .modal-header h2{font-size:1.35rem}.ledger-delete-dialog .modal-body p{margin-top:0}.ledger-delete-dialog .modal-footer{justify-content:flex-end}.ledger-confirm-delete{--button-primary-bg:var(--color-accent,#7a3e35)}.ledger-cross-amounts{white-space:nowrap;justify-content:flex-end;align-items:center;gap:.35rem;display:inline-flex}.ledger-cross-amounts>span{justify-items:end;gap:.12rem;display:grid}.ledger-cross-amounts small{color:var(--color-muted,#716d65);font-size:.65rem;font-weight:400;line-height:1}.transaction-account-grid{align-items:end}.transaction-cross-amounts{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.5rem;display:grid}.transaction-cross-amounts .transaction-amount-field{min-width:0}.transaction-cross-arrow{color:var(--color-brass,#806943);margin-top:.5rem}.transaction-cross-help{grid-column:1/-1;margin:0}.transaction-root-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:.2rem;display:grid}.transaction-root-option{border:1px solid #0000;border-bottom-color:var(--color-line,#2827201f);color:var(--transaction-category-color,var(--color-muted,#716d65));justify-content:center;align-items:center;gap:.35rem;min-width:0;min-height:2.25rem;padding:.25rem .35rem;display:flex}.transaction-root-option>span:not(.category-icon){text-overflow:ellipsis;white-space:nowrap;font-size:.73rem;overflow:hidden}.transaction-root-option.is-active,.transaction-root-option.is-selected{background:color-mix(in srgb, var(--transaction-category-color,#647f68) 9%, transparent);border-color:color-mix(in srgb, var(--transaction-category-color,#647f68) 35%, transparent);color:var(--transaction-category-color,#647f68)}@media (hover:hover) and (pointer:fine){:root:not([data-input=touch]) .transaction-root-option:not(.is-active):not(.is-selected):hover{background:color-mix(in srgb, var(--transaction-category-color,#647f68) 7%, transparent);border-color:color-mix(in srgb, var(--transaction-category-color,#647f68) 28%, transparent);color:var(--transaction-category-color,#647f68)}}.transaction-root-option:focus-visible{outline:2px solid var(--transaction-category-color,var(--color-accent,#7a3e35));outline-offset:2px}.ledger-transfer-icon{flex:none;justify-content:center;align-items:center;display:inline-flex}.transaction-date-toggle:focus-visible{outline:2px solid var(--color-accent,#7a3e35);outline-offset:2px}.transaction-datetime-field{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:.65rem;min-width:0;display:grid}.transaction-time-field{min-width:0}.transaction-time-field input,.transaction-date-picker input{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.transaction-date-toggle{border:1px solid var(--color-line,#28272029);border-radius:var(--radius-control);color:var(--color-ink,#282720);text-align:left;background:0 0;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-width:0;min-height:2.75rem;padding:.3rem .65rem;display:grid}.transaction-date-toggle .field-label{grid-column:1/-1;margin:0}.transaction-date-toggle>span:nth-child(2){font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.transaction-date-chevron{color:var(--color-muted,#716d65);padding-left:.4rem;font-size:.9rem;line-height:1}.transaction-date-picker{grid-column:1/-1;width:100%;min-width:0}.transaction-date-picker[hidden]{display:none!important}.transaction-dialog .transaction-amount-field{min-width:0}.transaction-dialog .transaction-amount-field>.field-label{margin-bottom:.2rem}@media (width<=760px){.ledger-page{gap:.875rem}.ledger-heading{padding-bottom:.5rem}.ledger-heading .page-subtitle{display:none}.ledger-toolbar{grid-template-columns:minmax(0,1fr) auto auto auto;align-items:end}.ledger-toolbar .ledger-search-field{grid-column:1/-1}.ledger-toolbar-month{max-width:11rem}.ledger-toolbar-month-label-is-default{display:none}.ledger-filter-toggle,.ledger-clear-filters{padding-inline:.65rem}.ledger-advanced-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.ledger-gesture-hint{display:block}.ledger-mobile-entry{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.ledger-mobile-entry .ledger-title{font-size:15px;line-height:1.25}.ledger-mobile-entry .ledger-record-datetime,.ledger-mobile-entry .ledger-note{font-size:12.5px;line-height:1.25}.ledger-mobile-entry .ledger-record-amount{font-size:16px;line-height:1.2}.ledger-mobile-entry .ledger-record-account{font-size:12px;line-height:1.2}.ledger-action-sheet-backdrop{align-items:flex-end;padding:0}.ledger-action-sheet{height:auto;max-height:min(75vh,34rem);padding-bottom:max(.8rem, env(safe-area-inset-bottom));border-radius:1rem 1rem 0 0;width:min(100%,38rem)}.ledger-action-sheet-header{gap:.35rem;padding:1.2rem 1.2rem .75rem;display:grid}.ledger-action-sheet-header h2{margin:0;font-size:1.3rem}.ledger-action-sheet-header p{margin:0}.ledger-action-sheet-buttons{gap:.35rem;padding:0 1rem .5rem;display:grid}.ledger-action-sheet-buttons .button{justify-content:flex-start;min-height:3rem}.ledger-action-sheet-delete{color:var(--color-negative,#8d483c)}.ledger-desktop-table{display:none}.ledger-mobile-list{display:grid}.transaction-dialog-backdrop{align-items:stretch;padding:0}.transaction-dialog{border-radius:0;flex-direction:column;width:100%;height:100dvh;max-height:100dvh;display:flex;overflow:hidden}.transaction-dialog-header{padding:1.1rem 1.1rem .55rem}.transaction-dialog-header h2{font-size:clamp(2.25rem,11vw,3.25rem);line-height:1.05}.transaction-dialog-description{margin:0 1.1rem .75rem}.transaction-dialog form{flex-direction:column;flex:1;min-height:0;display:flex}.transaction-dialog-body{flex:1;padding:.6rem 1.1rem 1rem;overflow-y:auto}.transaction-amount-field{border:1px solid var(--color-line,#28272029);border-radius:1rem;padding:.85rem 1rem .65rem}.transaction-amount-input-wrap{min-height:4.25rem}.transaction-amount-input{border:0;font-size:clamp(2.5rem,13vw,4rem)}.transaction-amount-input:focus{border:0}.transaction-currency-symbol{font-size:clamp(2rem,10vw,2.8rem)}.transaction-currency-mark{font-size:.9rem;font-weight:550}.transaction-dialog-footer{background:var(--color-paper,#f7f3eb);border-top:1px solid var(--color-line,#28272024);padding:.75rem 1.1rem max(.85rem, env(safe-area-inset-bottom));flex:none;grid-template-columns:1fr;gap:.55rem;display:grid;position:sticky;bottom:0}.transaction-dialog-footer .button{width:100%;min-height:3.25rem;font-size:1rem}.transaction-dialog-footer .button-quiet{grid-row:2}.transaction-dialog-footer .button-primary{grid-row:1}}@media (width<=420px){.transaction-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ledger-mobile-row{column-gap:.5rem}.ledger-row-action{min-height:2.5rem;padding-inline:.4rem}}@media (width<=760px){.transaction-root-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ledger-mobile-row{grid-template-columns:minmax(0,1fr);align-items:stretch;row-gap:0;padding:0;display:grid}.transaction-cross-amounts{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:.2rem}.transaction-cross-arrow{justify-self:center;margin:-.15rem 0;transform:rotate(90deg)}.transaction-cross-help{margin-top:.25rem}}@media (width<=420px){.transaction-account-grid .field{grid-column:1/-1}.transaction-category-detail{grid-template-columns:minmax(3.8rem,.65fr) 1px minmax(0,1.8fr);gap:.35rem}.transaction-selected-major{gap:.3rem;padding-inline:.15rem}.transaction-selected-major-name{font-size:.78rem}.transaction-selected-major-change{font-size:.64rem}.transaction-subcategory-panel{gap:.2rem}.transaction-subcategory-option{gap:.25rem;padding-inline:.25rem}.transaction-subcategory-option>span:not(.category-icon){font-size:.7rem}}@media (width<=760px){.transaction-root-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:.15rem}.transaction-root-option{border-radius:var(--radius-control);border-bottom-color:#0000;flex-direction:column;gap:.15rem;min-height:3.15rem;padding:.3rem .1rem}.transaction-root-option>span:not(.category-icon){font-size:.65rem}.transaction-datetime-field{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.45rem}.transaction-time-field input{padding-inline:.35rem;font-size:.88rem}.transaction-date-toggle{padding-inline:.45rem}.transaction-date-picker{max-width:100%;overflow:hidden}.transaction-date-picker input{font-size:.9rem}.ledger-table{min-width:34rem}.ledger-table-head,.ledger-table-row{grid-template-columns:minmax(0,1fr) minmax(7rem,auto) 7rem}.ledger-mobile-row{border-bottom:1px solid var(--color-line,#2827201f);grid-template-columns:minmax(0,1fr);align-items:center;min-width:0;padding:.3rem 0;display:grid}.ledger-mobile-row:first-child{border-top:1px solid var(--color-line,#2827201f)}.ledger-mobile-entry{color:inherit;text-align:left;background:0 0;border:0;grid-column:1;grid-template-columns:minmax(0,1fr) minmax(4.6rem,auto);align-items:center;column-gap:.4rem;width:100%;min-width:0;padding:.55rem .1rem;display:grid}.ledger-mobile-entry:focus-visible{outline:2px solid var(--color-accent,#7a3e35);outline-offset:-2px}.ledger-mobile-entry .ledger-description-cell{grid-area:auto;gap:.45rem}.ledger-mobile-entry .ledger-description-copy{gap:.08rem}.ledger-mobile-entry .ledger-record-right,.ledger-mobile-entry .ledger-record-account{max-width:7.2rem}.ledger-cross-amounts{white-space:nowrap;place-items:end;gap:.05rem;display:grid}.ledger-cross-amounts>svg{width:.65rem;height:.65rem;transform:rotate(90deg)}.ledger-cross-amounts small{margin-left:.12rem;font-size:.55rem}}@media (width<=380px){.transaction-root-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.ledger-mobile-entry{grid-template-columns:minmax(0,1fr) minmax(4.2rem,auto);column-gap:.3rem}}.transaction-dialog-body{grid-auto-rows:max-content;align-content:start;container-type:inline-size}.transaction-dialog .transaction-amount-input-wrap input:is(#transaction-amount,#transaction-target-amount).transaction-amount-input{box-shadow:none;background:0 0;border:0;outline:none;min-height:66px;padding:0;font-size:58px;font-weight:400;line-height:1.1}.transaction-meta-row,.transaction-account-row{align-items:end;gap:.55rem;min-width:0;display:grid}.transaction-meta-row{grid-template-columns:minmax(0,1fr) minmax(7rem,.8fr) minmax(7rem,.8fr)}.transaction-transfer-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.transaction-account-row{grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr)}.transaction-account-arrow{color:var(--brass);align-self:end;margin-bottom:12px}.transaction-meta-row .field,.transaction-account-row .field{gap:6px;min-width:0}.transaction-meta-row .field-label,.transaction-account-row .field-label{white-space:nowrap;margin:0;font-size:.8rem;line-height:1.4}.transaction-dialog .transaction-source-account-field select,.transaction-dialog .transaction-destination-account-field select{appearance:none;background-color:var(--surface);box-sizing:border-box;text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none' stroke='%23746F65' stroke-width='1.5'%3E%3Cpath d='m3 4.5 3 3 3-3'/%3E%3C/svg%3E");background-position:right 6px center;background-repeat:no-repeat;width:100%;min-width:0;max-width:100%;height:44px;min-height:44px;padding:0 1.4rem 0 .45rem;line-height:normal}.transaction-time-control,.transaction-date-control{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-control);box-sizing:border-box;min-width:0;height:44px;display:flex;position:relative}.transaction-date-control{justify-content:space-between;align-items:center;padding-inline:8px}.transaction-date-value{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.transaction-date-control .transaction-date-chevron{flex-shrink:0;padding-left:3px;font-size:.9rem}.transaction-dialog .transaction-date-control input[type=date]{cursor:pointer;opacity:0;width:100%;height:100%;min-height:0;position:absolute;inset:0}.transaction-time-value{display:none}.transaction-dialog .transaction-time-control input[type=time]{box-sizing:border-box;border:0;width:100%;min-width:0;max-width:100%;height:42px;min-height:0;padding:0 6px}.transaction-time-control:focus-within,.transaction-date-control:focus-within{outline:2px solid var(--brass);outline-offset:2px}.transaction-category-field{--category-gap:.25rem;--category-tile-size:min(4.5rem, calc((100cqw - 5 * var(--category-gap)) / 6));--category-back-size:calc(var(--category-tile-size) + 1.15rem);min-height:calc(1.4rem + .65rem + 2 * var(--category-tile-size) + var(--category-gap));align-content:start}.transaction-root-grid,.transaction-subcategory-panel{align-content:start;gap:var(--category-gap);flex-wrap:wrap;justify-content:flex-start;min-width:0;display:flex}.transaction-root-option,.transaction-subcategory-option{aspect-ratio:1;box-sizing:border-box;flex:0 0 var(--category-tile-size);height:var(--category-tile-size);text-align:center;min-width:0;max-width:none;min-height:0;width:var(--category-tile-size);flex-direction:column;justify-content:center;align-items:center;gap:.3rem;padding:.2rem;line-height:1.2;display:flex}.transaction-root-option>span:not(.category-icon),.transaction-subcategory-option>span:not(.category-icon){text-align:center;max-width:100%;font-size:.73rem;line-height:1.2}.transaction-subcategory-option>.category-icon{flex:none}.transaction-category-detail{grid-template-columns:var(--category-back-size) 1px minmax(0, 1fr);align-items:start;gap:.6rem}.transaction-selected-major{aspect-ratio:1;box-sizing:border-box;height:var(--category-back-size);flex-direction:column;justify-content:center;align-self:start;align-items:center;gap:.3rem;width:100%;min-height:0;padding:.3rem;display:flex}.transaction-selected-major-name{font-size:.85rem}.transaction-selected-major-change{font-size:.7rem}.transaction-subcategory-panel{max-height:15rem}.transaction-subcategory-root{border-bottom-color:#0000}.transaction-subcategory-empty{flex-basis:100%}@media (width<=760px){.transaction-dialog .transaction-amount-input-wrap input:is(#transaction-amount,#transaction-target-amount).transaction-amount-input{min-height:64px;font-size:49px}.transaction-meta-row{grid-template-columns:minmax(0,1.1fr) minmax(4.8rem,.9fr) minmax(4rem,.72fr);gap:.35rem}.transaction-transfer-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.transaction-account-row{gap:.4rem}.transaction-meta-row .field-label,.transaction-account-row .field-label{font-size:.8rem}.transaction-dialog .transaction-time-control input[type=time]{opacity:0;height:100%;position:absolute;inset:0}.transaction-time-value{font-variant-numeric:tabular-nums;pointer-events:none;align-items:center;padding-inline:8px;font-size:16px;display:flex}.transaction-category-detail{gap:.45rem}.transaction-root-option>span:not(.category-icon),.transaction-subcategory-option>span:not(.category-icon){font-size:.7rem}.transaction-selected-major-name{font-size:.8rem}.transaction-selected-major-change{font-size:.68rem}}@media (width<=380px){.transaction-category-field{--category-tile-size:min(4.5rem, calc((100cqw - 4 * var(--category-gap)) / 5))}}@media (width<=360px){.transaction-meta-row{grid-template-columns:minmax(0,1.05fr) minmax(4.55rem,.92fr) minmax(3.8rem,.7fr);gap:.25rem}.transaction-transfer-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}.transaction-category-field{--category-tile-size:calc((100cqw - 5 * var(--category-gap)) / 6);--category-back-size:calc(var(--category-tile-size) + .3rem)}.transaction-root-grid{grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.transaction-subcategory-panel{grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;display:grid}.transaction-root-option,.transaction-subcategory-option{aspect-ratio:1;flex-basis:auto;width:100%;height:auto}.transaction-subcategory-root{grid-column:auto}.transaction-category-settings{color:var(--muted);border-style:dashed}.transaction-category-settings svg{flex-shrink:0}@media (width>=761px){.modal.transaction-dialog{width:min(100% - 2rem,48rem)}}.transaction-dialog .transaction-dialog-header{align-items:center}.transaction-dialog-close{flex:0 0 40px;align-self:center;place-items:center;width:40px;height:40px;padding:0;line-height:1;display:grid}.transaction-selected-major{height:auto;min-height:var(--category-back-size);aspect-ratio:1;gap:.35rem;padding:.45rem .2rem;overflow:hidden}.transaction-selected-major>.category-icon{flex-shrink:0}.transaction-selected-major-name{overflow-wrap:anywhere;max-width:100%;line-height:1.3}.transaction-root-option>span:not(.category-icon),.transaction-subcategory-option>span:not(.category-icon){-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.25;display:-webkit-box;overflow:hidden}.transaction-selected-major{min-height:max(var(--category-back-size),76px)}.transaction-selected-major-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@media (width<=760px){.transaction-root-option>span:not(.category-icon),.transaction-subcategory-option>span:not(.category-icon){font-size:12px}}@media (width<=360px){.transaction-root-option,.transaction-subcategory-option{gap:2px;padding:1px}.transaction-root-option>.category-icon,.transaction-subcategory-option>.category-icon{flex-shrink:0;width:18px;height:18px}.transaction-root-option>.category-icon svg,.transaction-subcategory-option>.category-icon svg{width:18px;height:18px}.transaction-root-option>span:not(.category-icon),.transaction-subcategory-option>span:not(.category-icon){white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;font-size:11px;line-height:1.1;display:block}}:root{--paper:#fafaf9;--surface:#fff;--ink:#282720;--muted:#746f65;--accent:#7a3e35;--accent-soft:#eee2d8;--brass:#806943;--line:#e4e3df;--line-strong:#c4c1ba;--income:#b65c55;--expense:#2f6b4f;--transfer:#b38a48;--positive:var(--income);--negative:var(--expense);--radius-control:12px;--radius-panel:16px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--hover:#f0f0ed;--input:#fff;--track:#e9e9e4;--danger-soft:#f8eeeb;--on-accent:#fff;--accent-hover:#653229;--shadow-rgb:40,39,32;--font-serif:Georgia,"Noto Serif SC","Songti SC","SimSun",serif;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;--color-paper:var(--paper);--color-surface:var(--surface);--color-text:var(--ink);--color-ink:var(--ink);--color-muted:var(--muted);--color-accent:var(--accent);--color-line:var(--line);--color-positive:var(--positive);--color-negative:var(--negative);font-family:var(--font-sans);color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-size:14px}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border-radius:var(--radius-control)}button:disabled{cursor:not-allowed;opacity:.5}button,a{touch-action:manipulation}button{background:0 0;border:0}a{color:inherit}input,select,textarea{min-width:0}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brass);outline-offset:1px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-serif);font-weight:600}h1{letter-spacing:.025em;margin:0 0 10px;font-size:38px;line-height:1.25}h2{margin:0;font-size:23px;line-height:1.4}h3{font-size:18px}p{line-height:1.8}.muted{color:var(--muted)}.money{font-variant-numeric:tabular-nums;letter-spacing:-.025em;white-space:nowrap}.positive{color:var(--positive)}.negative{color:var(--negative)}.footnote{color:var(--muted);margin:24px 0 0;font-size:12px;line-height:1.8}.app-shell{min-height:100dvh}.sidebar{border-right:1px solid var(--line);background:var(--paper);z-index:30;flex-direction:column;width:210px;padding:29px 16px 22px;display:flex;position:fixed;top:0;bottom:0;left:0}.wordmark{text-align:left;letter-spacing:-2px;color:var(--accent);padding:0 12px;font-family:Georgia,serif;font-size:40px;font-weight:500;line-height:1}.wordmark-period{color:var(--brass);font-style:italic}.sidebar-caption{letter-spacing:.4em;color:var(--muted);margin:15px 14px 40px;font-size:10px}.sidebar nav{gap:7px;display:grid}.nav-link{text-align:left;border-radius:var(--radius-control);color:var(--muted);border-left:2px solid #0000;align-items:center;gap:16px;padding:14px 17px;font-size:14px;display:flex}@media (hover:hover) and (pointer:fine){:root:not([data-input=touch]) .nav-link:not(.active):hover{background:var(--hover)}}.nav-link.active{background:var(--accent-soft);color:var(--accent);border-left-color:var(--accent)}.nav-index{color:#a49a89;opacity:0;margin-left:auto;font-family:Georgia,serif;font-size:10px}.nav-link.active .nav-index{opacity:1}.sidebar-bottom{margin-top:auto}.arch-motif{color:#b7a78d;margin:24px 12px 30px}.arch-motif svg{stroke:currentColor;stroke-width:.8px;width:130px;margin:auto;display:block}.arch-motif span{font-family:var(--font-serif);text-align:center;color:#8a7d67;letter-spacing:.04em;margin-top:13px;font-size:10px;display:block}.settings-link{gap:16px;width:100%}.local-indicator{color:var(--muted);align-items:center;gap:7px;padding:18px 17px 0;font-size:10px;display:flex}.local-indicator>span{background:var(--positive);border-radius:var(--radius-control);width:5px;height:5px}.main-content{flex-direction:column;max-width:1800px;min-height:100dvh;margin-left:210px;padding:0 40px;display:flex}.topbar{flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;height:94px;display:flex}.topbar-date{color:var(--muted);align-items:center;font-size:12px;display:flex}.topbar-actions{align-items:center;gap:25px;display:flex}.demo-mode{color:var(--muted);letter-spacing:.07em;align-items:center;gap:7px;font-size:11px;display:flex}.button{border:1px solid var(--line-strong);border-radius:var(--radius-control);background:0 0;justify-content:center;align-items:center;gap:9px;min-height:40px;padding:10px 18px;font-size:13px;font-weight:500;transition:background .16s,border-color .16s;display:inline-flex}@media (hover:hover) and (pointer:fine){:root:not([data-input=touch]) .button:hover{background:var(--hover);border-color:var(--brass)}}.button-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}@media (hover:hover) and (pointer:fine){:root:not([data-input=touch]) .button-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}}.button-quiet{color:var(--muted);border-color:#0000}.icon-button{border-radius:var(--radius-control);justify-content:center;align-items:center;min-width:36px;min-height:36px;display:inline-flex}@media (hover:hover) and (pointer:fine){:root:not([data-input=touch]) .icon-button:hover{background:var(--accent-soft)}}.text-link{color:var(--muted);align-items:center;gap:7px;padding:5px 0;font-size:12px;display:inline-flex}@media (hover:hover) and (pointer:fine){:root:not([data-input=touch]) .text-link:hover{color:var(--accent)}}.new-transaction{min-width:121px}.mobile-menu-button,.mobile-nav,.sidebar-scrim{display:none}.page-heading{justify-content:space-between;align-items:flex-end;gap:20px;padding-top:4px;padding-bottom:28px;display:flex}.page-subtitle{color:var(--muted);letter-spacing:.02em;margin:0;font-size:13px;line-height:1.7}.page-actions{align-items:center;gap:12px;display:flex}.display-currency{color:var(--muted);letter-spacing:.04em;padding-bottom:3px;font-size:11px}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.metric-strip{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);grid-template-columns:1.45fr 1fr 1fr 1fr;align-items:center;padding:27px 0 29px;display:grid}.metric-strip>div{border-left:1px solid var(--line);flex-direction:column;gap:13px;min-width:0;padding:0 24px;display:flex}.metric-strip>div:first-child{border-left:0;padding-left:0}.metric-strip span{color:var(--muted);font-size:12px}.metric-strip strong{font-family:Georgia,Times New Roman,serif;font-size:clamp(22px,2.3vw,34px);font-weight:400;line-height:1}.metric-strip .hero-metric strong{font-size:clamp(30px,3.2vw,48px)}.metric-strip .hero-metric>span{color:var(--ink);font-weight:600}.metric-strip small{color:var(--muted);margin-top:0;font-size:10px}.overview-middle{border-bottom:1px solid var(--line-strong);grid-template-columns:1.8fr 1fr;gap:29px;padding:29px 0 30px;display:grid}.overview-chart{min-width:0}.overview-chart .section-heading{margin-bottom:12px}.flow-chart{width:100%;height:auto;display:block;overflow:visible}.chart-legend{color:var(--muted);align-items:center;gap:17px;font-size:10px;display:flex}.chart-legend span{align-items:center;gap:6px;display:flex}.dot{border-radius:50%;width:7px;height:7px;display:inline-block}.dot.income{background:var(--positive)}.dot.expense{background:var(--accent)}.overview-budgets{border-left:1px solid var(--line);min-width:0;padding-left:29px}.mini-budget{border-bottom:1px solid var(--line);grid-template-columns:30px 1fr;gap:13px;margin-bottom:11px;padding:5px 0 20px;display:grid}.mini-budget:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.category-icon{color:var(--category-color,var(--ink));flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.mini-budget-title{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px;font-size:12px;display:flex}.mini-budget-title .money{font-size:11px}.progress-track{background:var(--track);border-radius:9px;height:5px;overflow:hidden}.progress-track>span{background:var(--positive);border-radius:9px;min-width:0;height:100%;display:block}.progress-track>span.over{background:var(--accent)}.budget-percent{text-align:right;margin-top:6px;font-size:10px;display:block}.recent-section{padding:27px 0 0}.recent-section .section-heading{margin-bottom:15px}.recent-header,.recent-row{text-align:left;grid-template-columns:minmax(200px,1.9fr) minmax(120px,.9fr) 100px minmax(125px,.8fr);align-items:center;gap:20px;width:100%;display:grid}.recent-header{color:var(--muted);padding:0 10px 10px;font-size:10px}.recent-header>span:last-child{text-align:right}.recent-row{border-top:1px solid var(--line);padding:13px 10px;transition:background .15s}@media (hover:hover) and (pointer:fine){:root:not([data-input=touch]) .recent-row:hover{background:var(--hover)}}.recent-identity{align-items:center;gap:19px;min-width:0;display:flex}.recent-identity>div{flex-direction:column;gap:6px;min-width:0;display:flex}.recent-identity strong{font-size:12px;font-weight:500}.recent-identity small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.recent-account,.recent-date{color:var(--muted);font-size:11px}.recent-amount{text-align:right;font-size:13px}.app-footer{color:var(--muted);letter-spacing:.08em;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding:30px 0 22px;font-size:9px;display:flex}.app-footer i{margin:0 6px;font-style:normal}.surface{background:var(--surface);border:1px solid var(--line);border-radius:3px}.field{flex-direction:column;gap:8px;min-width:0;display:flex}.field-label{color:var(--muted);font-size:12px}input:not([type=checkbox]):not([type=radio]),select,textarea{border:1px solid var(--line-strong);background:var(--input);border-radius:var(--radius-control);width:100%;min-height:42px;padding:10px 12px;font-size:13px;line-height:1.4}input::placeholder,textarea::placeholder{color:var(--muted)}textarea{resize:vertical}.form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.form-error{color:var(--danger);background:var(--danger-soft);border-left:2px solid var(--accent);padding:12px 15px;font-size:12px;line-height:1.6}.empty-state{text-align:center;color:var(--muted);padding:50px 25px;font-size:13px;line-height:1.8}.empty-state .text-link{justify-content:center;display:flex}.notice{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:10px;margin-bottom:18px;padding:12px 0;font-size:12px;line-height:1.7;display:flex}.notice.success{color:var(--positive)}.segmented-control{border:1px solid var(--line-strong);border-radius:var(--radius-control);background:0 0;display:inline-flex;overflow:hidden}.segmented-control>button{white-space:nowrap;border-right:1px solid var(--line);min-height:38px;padding:9px 16px;font-size:12px}.segmented-control>button:last-child{border-right:0}.segmented-control>button[aria-pressed=true],.segmented-control>button.active,.segmented-control>button.is-active{background:var(--accent);color:var(--on-accent)}.filter-bar{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.data-table{border-collapse:collapse;width:100%;font-size:12px}.data-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line-strong);padding:12px;font-size:11px;font-weight:400}.data-table td{border-bottom:1px solid var(--line);padding:16px 12px}.table-wrap{overflow-x:auto}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;background:#28272066;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--paper);border:1px solid var(--line-strong);border-radius:5px;width:min(620px,100%);max-height:calc(100dvh - 48px);overflow:auto;box-shadow:0 20px 90px #28272033}.modal-header{justify-content:space-between;align-items:flex-start;gap:20px;padding:28px 30px 20px;display:flex}.modal-header h2{font-size:29px}.modal-body{padding:0 30px 25px}.modal-footer{border-top:1px solid var(--line);background:var(--paper);justify-content:flex-end;gap:12px;padding:18px 30px;display:flex}.app-loading{text-align:center;color:var(--muted);font-family:var(--font-serif);padding:100px 0;font-size:20px}.settings-section{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:40px;padding:28px 0;display:flex}.settings-section>div:first-child{max-width:650px}.settings-section h2{margin-bottom:12px;font-size:21px}.settings-section p{max-width:650px;margin-bottom:12px;font-size:12px}.settings-controls{flex-direction:column;flex-shrink:0;align-items:flex-start;gap:10px;display:flex}.feature-note{color:var(--muted);align-items:center;gap:8px;font-size:11px;line-height:1.8;display:flex}.category-settings{border-top:1px solid var(--line);padding-top:28px}.category-catalog{grid-template-columns:repeat(5,1fr);gap:0 20px;display:grid}.category-catalog>div{border-top:1px solid var(--line);grid-template-columns:30px 1fr;align-items:center;gap:5px 8px;padding:20px 0;display:grid}.category-catalog>div>span:not(.category-icon){font-size:12px}.category-catalog small{color:var(--muted);grid-column:2;font-size:10px}.category-catalog .category-icon{grid-row:span 2}.capture-editor{border:1px solid var(--line);background:var(--surface);margin-bottom:24px;padding:24px}.capture-layout{grid-template-columns:180px 1fr;gap:30px;display:grid}.capture-layout img{object-fit:contain;width:100%;max-height:260px}.capture-layout p{margin:16px 0;font-size:12px}.capture-layout select{max-width:320px}.capture-layout>div{padding:12px 0}@media (width>=1600px){.main-content{padding-inline:60px}.sidebar{width:230px}.main-content{margin-left:230px}}@media (width<=1200px) and (width>=761px){.sidebar{width:180px;padding-inline:10px}.main-content{margin-left:180px;padding-inline:26px}.wordmark{font-size:35px}.metric-strip>div{padding-inline:16px}.metric-strip strong{font-size:26px}.metric-strip .hero-metric strong{font-size:36px}.overview-middle{grid-template-columns:1.55fr 1fr;gap:20px}.overview-budgets{padding-left:20px}.mini-budget-title{gap:6px;font-size:11px}.mini-budget-title .money{font-size:10px}.recent-header,.recent-row{grid-template-columns:minmax(160px,1.5fr) 130px 65px 115px;gap:12px}.category-catalog{grid-template-columns:repeat(4,1fr)}}.overview-periods{flex-shrink:0;width:180px;max-width:48%}.overview-periods>button{padding-inline:6px;font-size:12px}@media (width<=760px){:root{font-size:14px}body{min-width:320px}.sidebar{z-index:70;width:230px;transition:transform .2s;transform:translate(-100%)}.sidebar.is-open{transform:translate(0)}.sidebar-scrim{z-index:60;background:#28272066;display:block;position:fixed;inset:0}.main-content{min-height:100dvh;margin-left:0;padding:0 21px 84px}.topbar{gap:12px;height:80px}.topbar-date{gap:6px;font-size:11px}.topbar-date .weekday{display:none}.mobile-menu-button{margin-left:-8px;display:flex}.topbar-actions{gap:0}.demo-mode{display:none}.new-transaction{gap:5px;min-width:0;min-height:38px;padding:8px 13px;font-size:12px}.page-heading{align-items:flex-start;gap:12px;padding-top:9px;padding-bottom:23px}.page-heading h1,h1{font-size:29px}.page-subtitle{max-width:100%;font-size:12px;line-height:1.8}.display-currency{white-space:nowrap;padding-top:10px;font-size:9px}.metric-strip{grid-template-columns:repeat(3,1fr);gap:22px 0;padding:22px 0}.metric-strip .hero-metric{border-bottom:1px solid var(--line);grid-column:1/-1;gap:13px;padding:0 0 23px}.metric-strip .hero-metric strong{font-size:43px}.metric-strip>div{gap:11px;padding:0 12px}.metric-strip>div:nth-child(2){border-left:0;padding-left:0}.metric-strip>div:last-child{padding-right:0}.metric-strip strong{font-size:21px}.metric-strip span{font-size:11px}.metric-strip small{font-size:9px}.overview-middle{grid-template-columns:1fr;gap:25px;padding:25px 0}.overview-budgets{border-left:0;border-top:1px solid var(--line);padding-top:23px;padding-left:0}.section-heading{margin-bottom:18px}.section-heading h2,h2{font-size:21px}.chart-legend{gap:12px;font-size:9px}.overview-chart .section-heading{margin-bottom:14px}.flow-chart{width:calc(100% + 10px);margin-left:-10px}.mini-budget{grid-template-columns:28px 1fr;gap:14px;margin-bottom:14px;padding-bottom:15px}.mini-budget-title,.mini-budget-title .money{font-size:12px}.recent-section{padding-top:24px}.recent-header{display:none}.recent-row{grid-template-columns:1fr auto;gap:6px 12px;padding:15px 0;position:relative}.recent-identity{grid-row:span 2;gap:13px}.recent-identity strong{font-size:12px}.recent-identity small{max-width:190px;font-size:10px}.recent-account{display:none}.recent-date{text-align:right;grid-area:2/2;font-size:10px}.recent-amount{grid-area:1/2;font-size:12px}.app-footer{margin-top:25px;padding:18px 0 8px;font-size:8px;line-height:1.8}.app-footer>span:last-child{text-align:right;max-width:110px}.mobile-nav{padding:9px 10px calc(9px + env(safe-area-inset-bottom));height:calc(66px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper);z-index:45;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{min-width:52px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:10px;display:flex}.mobile-nav button.active{color:var(--accent)}.mobile-nav button.active:before{content:"";background:var(--accent);width:24px;height:2px;position:absolute;top:0}.page-actions{flex-wrap:wrap}.button{min-height:42px}.modal-backdrop{align-items:stretch;padding:0}.modal{border:0;border-radius:0;flex-direction:column;width:100%;max-width:none;height:100dvh;max-height:100dvh;display:flex}.modal-header{padding:25px 22px 18px}.modal-header h2{font-size:31px}.modal-body{flex:1;padding:0 22px 22px;overflow:auto}.modal-footer{padding:14px 22px calc(14px + env(safe-area-inset-bottom));flex-direction:column-reverse;gap:10px;display:flex;position:sticky;bottom:0}.modal-footer .button{width:100%;min-height:45px}.form-grid{grid-template-columns:1fr 1fr;gap:16px}.settings-section{flex-direction:column;align-items:flex-start;gap:17px;padding:24px 0}.settings-controls{flex-flow:wrap}.settings-section h2{font-size:20px}.category-catalog{grid-template-columns:repeat(3,1fr);gap:0 12px}.category-catalog>div{grid-template-columns:24px 1fr;gap:6px;padding:16px 0}.category-catalog>div>span:not(.category-icon){font-size:11px}.category-catalog small{font-size:9px}.category-catalog .category-icon svg{width:20px}.capture-editor{padding:18px}.capture-layout{grid-template-columns:1fr;gap:10px}.capture-layout img{max-height:200px}.notice{align-items:flex-start;font-size:11px}.notice svg{flex-shrink:0;margin-top:3px}.data-table td{padding:13px 8px}.data-table th{padding:10px 8px}.empty-state{padding:35px 15px}}@media (width<=370px){.main-content{padding-inline:16px}.metric-strip strong{font-size:19px}.metric-strip .hero-metric strong{font-size:39px}.form-grid{grid-template-columns:1fr}.category-catalog{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.transaction-amount-input-wrap input#transaction-amount.transaction-amount-input{box-shadow:none;letter-spacing:-.045em;background:0 0;border:0;outline:0;min-height:66px;padding:0;font-family:Georgia,serif;font-size:58px;font-weight:400;line-height:1.1}.transaction-amount-input-wrap:focus-within{outline:0}.transaction-amount-input-wrap input#transaction-amount::placeholder{color:var(--line-strong)}.transaction-dialog-description{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.capture-list{grid-template-columns:repeat(4,1fr);gap:20px;margin:0 0 28px;display:grid}.saved-capture{border:1px solid var(--line);background:var(--surface);min-width:0;padding:12px}.saved-capture img{object-fit:contain;width:100%;height:160px}.saved-capture>div{flex-direction:column;gap:7px;margin-top:12px;font-size:12px;display:flex}.saved-capture strong{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.saved-capture small{color:var(--muted);font-size:10px}.saved-capture button{margin-top:9px}@media (width>=761px){.page-heading h1{font-size:42px}.page-subtitle{font-size:14px}.topbar-date{font-size:13px}.nav-link{font-size:15px}.sidebar-caption{font-size:11px}.metric-strip span{font-size:14px}.metric-strip small{font-size:11px}.section-heading h2{font-size:25px}.recent-header{font-size:12px}.recent-identity strong{font-size:14px}.recent-identity small,.recent-account,.recent-date{font-size:12px}.recent-amount{font-size:15px}.mini-budget-title{font-size:14px}.mini-budget-title .money{font-size:12px}.budget-percent{font-size:11px}.text-link{font-size:13px}.chart-legend{font-size:12px}.button{font-size:14px}.field-label{font-size:13px}.local-indicator{font-size:11px}.settings-section p{font-size:13px}}@media (width<=760px){.recent-identity strong{font-size:13px}.recent-identity small,.recent-date{font-size:11px}.recent-amount{font-size:13px}.metric-strip span{font-size:12px}.metric-strip small{font-size:10px}.field-label{font-size:13px}.transaction-amount-input-wrap input#transaction-amount.transaction-amount-input{min-height:64px;font-size:49px}.capture-list{grid-template-columns:repeat(2,1fr);gap:12px}.saved-capture img{height:130px}}:root{--positive:var(--income);--negative:var(--expense);--color-positive:var(--income);--color-negative:var(--expense);--danger:#9d4138}.topbar-brand{letter-spacing:-1.2px;color:var(--accent);text-align:left;padding:0;font-family:Georgia,serif;font-size:27px}.topbar-brand span{color:var(--brass)}.topbar{-webkit-backdrop-filter:none;backdrop-filter:none;filter:none;background:var(--paper);min-width:0;position:relative}.topbar-actions{margin-left:auto}.topbar-settings{display:none}.main-content{min-width:0}.main-content>*,.page-heading>*,.section-heading>*,.filter-bar>*{min-width:0;max-width:100%}.main-content input[type=date],.main-content input[type=month],.main-content input[type=time]{box-sizing:border-box;min-width:0;max-width:100%}.modal-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}.app-footer{flex-shrink:0}.page-stage{flex:1;min-width:0;max-width:100%;animation:.2s ease-out florence-page-in}.topbar-settings.settings-close{display:inline-flex}.button,.icon-button,.nav-link,.mobile-nav button,.recent-row{transition:background .18s,color .18s,border-color .18s,box-shadow .18s}.button:active,.icon-button:active{transform:translateY(1px)}.modal-backdrop{animation:.16s ease-out florence-shade-in}.flow-chart{animation:.45s ease-out florence-chart-in}.flow-chart polyline{vector-effect:non-scaling-stroke;stroke-linecap:round}.flow-chart circle{transform-box:fill-box;transform-origin:50%;transition:r .15s}@media (hover:hover) and (pointer:fine){:root:not([data-input=touch]) .flow-chart circle:hover{r:4}}@keyframes florence-page-in{0%{opacity:.2}to{opacity:1}}@keyframes florence-shade-in{0%{background-color:#28272000}to{background-color:#28272066}}@keyframes florence-dialog-in{0%{opacity:.5;translate:0 14px}to{opacity:1;translate:0}}@keyframes florence-chart-in{0%{opacity:.2}to{opacity:1}}@media (width>=761px){.topbar-brand{visibility:hidden}}@media (width<=760px){.app-shell .sidebar,.app-shell .sidebar-scrim,.mobile-menu-button{display:none}.main-content{padding-bottom:calc(90px + env(safe-area-inset-bottom));min-height:100dvh}.topbar{flex-shrink:0;gap:8px;height:74px}.topbar-brand{font-size:29px;line-height:1.2}.topbar-actions{flex-shrink:0;gap:8px}.topbar-settings{min-width:40px;min-height:40px;color:var(--muted);display:inline-flex}.topbar-settings.active{color:var(--accent);background:var(--accent-soft)}.main-content.settings-active{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.settings-active .app-footer{display:none}.settings-active .topbar{z-index:35;background:var(--paper);height:70px;position:sticky;top:0}.settings-close{border:1px solid var(--line);border-radius:var(--radius-control);color:var(--ink)}.main-content .app-footer{flex-wrap:wrap;gap:10px;min-height:72px;margin-top:auto;padding-top:32px;padding-bottom:12px;font-size:9px;line-height:1.8}.app-footer>span:last-child{text-align:left;max-width:none}.mobile-nav button{flex:1;min-width:0;position:relative}.mobile-nav button.active:before{top:-9px}.main-content input[type=date],.main-content input[type=month],.main-content input[type=time]{appearance:none;width:100%;font-size:16px;display:block;overflow:hidden}.main-content input[type=date]::-webkit-date-and-time-value{text-align:left;min-width:0}.main-content input[type=month]::-webkit-date-and-time-value{text-align:left;min-width:0}.main-content input[type=time]::-webkit-date-and-time-value{text-align:left;min-width:0}.main-content input:not([type=checkbox]):not([type=radio]),.main-content select,.main-content textarea,.modal input:not([type=checkbox]):not([type=radio]),.modal select,.modal textarea{font-size:16px}.settings-controls{max-width:100%}.settings-controls .button{white-space:normal;max-width:100%}.page-actions{max-width:100%}.footnote,.feature-note,.form-error,.notice{overflow-wrap:anywhere}}@media (prefers-reduced-motion:reduce){.page-stage,.modal-backdrop,.modal,.flow-chart{animation:none}.button,.icon-button,.nav-link,.mobile-nav button,.recent-row,.flow-chart circle{transition:none}.button:active,.icon-button:active{transform:none}}.app-shell{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.app-shell input,.app-shell textarea,.app-shell [contenteditable=true]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.app-shell img{-webkit-user-drag:none}.money,.metric-strip strong,.assets-metric strong,.assets-networth-value,.analytics-metric strong,.budgets-summary strong,.backup-preview dd,.icost-summary-value,.icost-confirm-facts strong,.icost-steps b,.transaction-amount-input-wrap .transaction-amount-input{font-variant-numeric:tabular-nums;letter-spacing:-.025em;font-family:var(--font-sans)!important}.form-error,.transaction-delete-link,.management-destructive-button,.management-delete-button,.management-confirm-delete{color:var(--danger)}.button,.icon-button,.text-link{gap:10px}.settings-index-row,.management-account-row,.management-category-row,.assets-account-row,.recent-row{padding-inline:16px}.ledger-mobile-entry{padding-inline:14px!important}.ledger-record-left,.ledger-description-cell{column-gap:15px!important}.settings-index-icon{justify-content:center;align-items:center;display:inline-flex}.settings-index-row{border-radius:var(--radius-control);gap:18px}.category-icon{vertical-align:middle;margin:0}.entry-fab{z-index:48;border-radius:var(--radius-control);background:var(--accent);min-height:57px;color:var(--surface);will-change:translate,opacity;border:1px solid #ffffff30;justify-content:center;align-items:center;gap:9px;padding:17px 23px;transition:translate .3s cubic-bezier(.2,.8,.2,1),opacity .23s,box-shadow .2s;display:flex;position:fixed;bottom:30px;right:max(30px,50vw - 870px);box-shadow:0 6px 22px #512e2929}.entry-fab.is-hidden{opacity:0;pointer-events:none;translate:0 28px}.entry-fab svg{flex-shrink:0}.entry-fab{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.entry-fab-content{white-space:nowrap;justify-content:center;align-items:center;gap:9px;animation:.23s ease-out florence-fab-content;display:flex}@keyframes florence-fab-content{0%{opacity:.2;translate:0 5px}to{opacity:1;translate:0}}.mobile-nav{isolation:isolate}.mobile-nav button.active:before{display:none}.mobile-nav-indicator{width:calc(20% - 4px);height:2px;transform:translateX(calc(var(--nav-position)*100%));pointer-events:none;will-change:transform;transition:transform .42s cubic-bezier(.22,1,.36,1);position:absolute;top:0;left:10px}.mobile-nav-indicator:after{content:"";background:var(--accent);border-radius:2px;width:25px;height:2px;margin:auto;display:block}.mobile-nav button{transition:color .42s cubic-bezier(.22,1,.36,1)}.mobile-nav button svg{transition:translate .42s cubic-bezier(.22,1,.36,1),stroke-width .42s cubic-bezier(.22,1,.36,1)}.mobile-nav button.active svg{stroke-width:1.9px;translate:0 -2px}[data-touch-pressed=true]{opacity:.7;transition:opacity 90ms,scale .12s;scale:.98}.page-stage{animation:.3s cubic-bezier(.22,1,.36,1) florence-page-arrive}.settings-panel-stage{animation:.3s cubic-bezier(.22,1,.36,1) florence-panel-arrive}.modal{animation:.32s cubic-bezier(.22,1,.36,1) florence-sheet-arrive}.settings-index-row,.assets-account-row,.ledger-mobile-row{animation:.3s ease-out both florence-row-arrive}.settings-index-row:nth-child(2),.ledger-mobile-row:nth-child(2){animation-delay:25ms}.settings-index-row:nth-child(3),.ledger-mobile-row:nth-child(3){animation-delay:45ms}@keyframes florence-page-arrive{0%{opacity:0;translate:0 7px}to{opacity:1;translate:0}}@keyframes florence-panel-arrive{0%{opacity:0;translate:10px}to{opacity:1;translate:0}}@keyframes florence-sheet-arrive{0%{opacity:.4;translate:0 35px}to{opacity:1;translate:0}}@keyframes florence-row-arrive{0%{opacity:0;translate:0 4px}to{opacity:1;translate:0}}@media (hover:hover) and (pointer:fine){:root:not([data-input=touch]) .entry-fab:hover{translate:0 -2px;box-shadow:0 8px 28px #512e2945}}@media (width<=760px){.entry-fab{bottom:calc(84px + env(safe-area-inset-bottom));min-height:52px;padding:14px 20px;font-size:14px;right:20px}.settings-index-row{gap:17px;padding:21px 16px}.recent-row{padding-inline:12px}.recent-identity strong{font-size:15px}.recent-identity small,.recent-date{font-size:12px}.recent-amount{font-size:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}.entry-fab{will-change:auto}}.sidebar .sidebar-nav{isolation:isolate;gap:7px;position:relative}.sidebar-nav-indicator{background:var(--accent-soft);border-left:2px solid var(--accent);border-radius:var(--radius-control);pointer-events:none;height:calc(20% - 5.6px);transform:translateY(calc(var(--sidebar-position)*(100% + 7px)));will-change:transform;transition:transform .42s cubic-bezier(.22,1,.36,1),opacity .2s;position:absolute;top:0;left:0;right:0}.sidebar-nav-indicator.is-hidden{opacity:0}.sidebar-nav .nav-link{z-index:1;position:relative}.sidebar-nav .nav-link.active{background:0 0;border-left-color:#0000}.sidebar-nav .nav-link{transition:background .18s,border-color .18s,color .42s cubic-bezier(.22,1,.36,1)}.sidebar-nav .nav-link svg,.sidebar-nav .nav-link>span{transition:translate .42s cubic-bezier(.22,1,.36,1),stroke-width .42s cubic-bezier(.22,1,.36,1)}.sidebar-nav .nav-link.active svg{stroke-width:1.9px;translate:2px}.sidebar-nav .nav-link.active>span{translate:3px}@media (width>=761px){.page-stage{animation:.4s cubic-bezier(.22,1,.36,1) florence-desktop-page-arrive}}@keyframes florence-desktop-page-arrive{0%{opacity:.15;translate:14px}to{opacity:1;translate:0}}@media (prefers-reduced-motion:reduce){.sidebar-nav-indicator,.sidebar-nav .nav-link svg,.sidebar-nav .nav-link>span{transition:none}}:root{--chart-tooltip-shadow:0 7px 24px #28272014}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--danger:#f1a49c;--paper:#15181a;--surface:#1e2225;--input:#23282b;--ink:#eeeee9;--muted:#b0b2ac;--accent:#e1a397;--accent-soft:#382e2c;--accent-hover:#f1bbad;--brass:#c7b18c;--line:#363c3e;--line-strong:#586064;--hover:#2a3033;--track:#373e41;--danger-soft:#3a2929;--on-accent:#221c1a;--income:#ed9790;--expense:#7dccaa;--transfer:#e5c176;--shadow-rgb:0,0,0;--chart-tooltip-shadow:0 7px 24px #00000040}:root .assets-wallet-watermark,:root .assets-wallet-type-watermark{mix-blend-mode:screen;opacity:.22}:root .assets-wallet-symbol{color:color-mix(in srgb,var(--wallet-color) 60%,var(--ink))}:root .category-icon{color:color-mix(in srgb,var(--category-color,var(--ink)) 70%,white)}:root .transaction-root-option:not(.transaction-category-settings),:root .transaction-subcategory-option,:root .transaction-selected-major{color:color-mix(in srgb,var(--transaction-category-color,var(--muted)) 65%,white)}:root .category-option:not(.is-selected){border-color:var(--line)}:root .arch-motif,.arch-motif span{color:var(--brass)}:root .modal-backdrop,.row-action-backdrop,.account-action-backdrop{background:#00000070}:root .entry-fab,.floating-action-button{box-shadow:0 8px 26px #00000050}:root input::placeholder,:root textarea::placeholder{color:#949c9c}}.chart-data-tooltip{box-shadow:var(--chart-tooltip-shadow)}@media print{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#fff;--surface:#fff;--ink:#282720;--muted:#746f65;--accent:#7a3e35;--accent-soft:#eee2d8;--brass:#806943;--line:#ddd5c7;--line-strong:#b5a997;--income:#b65c55;--expense:#2f6b4f;--transfer:#b38a48}}
