:root,[data-scheme=chill]{--bf-primary:#7ba7ce;--bf-accent:#bccfe7;--bf-success:#79c3c2;--bf-warning:#de758c;--bf-muted:#aaabc2;--bf-secondary:#a8b2a9;--bf-anchor:#5479b2;--bf-background:#f0efeb;--bf-text:#1a1a2e}[data-scheme=bold]{--bf-primary:#68b8c7;--bf-accent:#e2ed94;--bf-success:#bfc949;--bf-warning:#d35261;--bf-muted:#9f6aa0;--bf-secondary:#fae951;--bf-anchor:#f09336;--bf-background:#f0efeb;--bf-text:#1a1a2e}[data-scheme=dark]{--bf-primary:#8f657b;--bf-accent:#55543e;--bf-success:#c6d6b2;--bf-warning:#922e3a;--bf-muted:#928a78;--bf-secondary:#646667;--bf-anchor:#f0efeb;--bf-background:#2b2c30;--bf-text:#f0efeb}:root{--bf-bg:var(--bf-background);--bf-bg-elevated:color-mix(in srgb, var(--bf-background) 88%, white);--bf-card-bg:color-mix(in srgb, var(--bf-background) 92%, white);--bf-bg-gradient-mid:color-mix(in srgb, var(--bf-background) 94%, black);--bf-bg-input-alt:color-mix(in srgb, var(--bf-background) 92%, var(--bf-text));--bf-text-muted:var(--bf-muted);--bf-text-secondary:color-mix(in srgb, var(--bf-muted), var(--bf-text) 35%);--bf-text-tertiary:color-mix(in srgb, var(--bf-muted), var(--bf-background) 40%);--bf-accent-blue:var(--bf-anchor);--bf-border:color-mix(in srgb, var(--bf-primary) 25%, transparent);--bf-border-accent:color-mix(in srgb, var(--bf-accent) 45%, transparent);--bf-border-blue:color-mix(in srgb, var(--bf-anchor) 35%, transparent);--bf-input-bg:var(--bf-bg-elevated);--bf-input-border:color-mix(in srgb, var(--bf-primary) 30%, transparent);--bf-input-focus-border:var(--bf-primary);--bf-dropdown-bg:var(--bf-bg-elevated);--bf-dropdown-border:color-mix(in srgb, var(--bf-primary) 25%, transparent);--bf-hover-bg:color-mix(in srgb, var(--bf-primary) 12%, transparent);--bf-table-hover-bg:color-mix(in srgb, var(--bf-accent) 22%, transparent);--bf-overlay:#00000080;--bf-error:var(--bf-warning);--bf-income:var(--bf-success);--bf-expense:var(--bf-warning);--bf-card-gradient:linear-gradient(135deg, var(--bf-success), var(--bf-accent), var(--bf-primary), var(--bf-warning))}.text-muted,.text-secondary{color:var(--bf-text-muted)!important}.text-success{color:var(--bf-primary)}.status-success{background-color:color-mix(in srgb, var(--bf-primary) 10%, transparent);color:var(--bf-primary)}.status-error{background-color:color-mix(in srgb, var(--bf-error) 10%, transparent);color:var(--bf-error)}.page-container{width:100%;max-width:64rem;margin:0 auto;padding:2rem 1.25rem}@media (min-width:768px){.page-container{padding-left:1.5rem;padding-right:1.5rem}}.page-header{letter-spacing:-.025em;margin-bottom:0;font-size:1.5rem;font-weight:600}@media (min-width:768px){.page-header{font-size:1.875rem}}.placeholder-card{border:1px solid var(--bf-accent);background-color:color-mix(in srgb, var(--bf-accent) 10%, transparent);text-align:center;border-radius:.75rem;padding:2rem}.placeholder-card p{color:var(--bf-text-muted)}.icon-sm{width:1rem;height:1rem}.icon-md{width:1.5rem;height:1.5rem}.select{appearance:none;border:1px solid var(--bf-accent);cursor:pointer;color:inherit;background-color:#0000;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394979E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;border-radius:.5rem;padding:.5rem 2rem .5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s}.select:hover:not(:disabled){border-color:var(--bf-primary)}.select:focus{border-color:var(--bf-primary);box-shadow:0 0 0 1px var(--bf-primary);outline:none}.select:disabled{opacity:.5;cursor:not-allowed}.dropdown{display:inline-block;position:relative}.dropdown-trigger{border:1px solid var(--bf-accent-blue);cursor:pointer;color:var(--bf-accent-blue);background-color:#0000;border-radius:.5rem;align-items:center;gap:.25rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.dropdown-trigger:hover:not(:disabled){background-color:color-mix(in srgb, var(--bf-accent-blue) 10%, transparent);border-color:var(--bf-accent-blue)}.dropdown-trigger:focus{border-color:var(--bf-accent-blue);outline:none}.dropdown-trigger:disabled{opacity:.5;cursor:not-allowed}.dropdown-trigger .dropdown-icon{width:.875rem;height:.875rem}.dropdown-trigger .dropdown-chevron{width:.75rem;height:.75rem;margin-left:.25rem;transition:transform .15s}.dropdown-trigger[aria-expanded=true] .dropdown-chevron{transform:rotate(180deg)}.dropdown-menu{background-color:var(--bf-bg-elevated);border:1px solid var(--bf-accent);z-index:50;border-radius:.5rem;min-width:100%;margin-top:.25rem;display:block;position:absolute;top:100%;left:0;overflow:hidden;box-shadow:0 4px 12px #0000004d}.dropdown-menu.align-right{left:auto;right:0}.dropdown-item{cursor:pointer;width:100%;color:var(--bf-text-muted);white-space:nowrap;background:0 0;border:none;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;transition:all .15s;display:flex}.dropdown-item:hover{background-color:color-mix(in srgb, var(--bf-primary) 10%, transparent);color:var(--bf-primary)}.dropdown-item:not(:last-child){border-bottom:1px solid color-mix(in srgb, var(--bf-accent) 30%, transparent)}.dropdown-item:disabled{opacity:.5;cursor:not-allowed}.dropdown-item:disabled:hover{color:var(--bf-text-muted);background:0 0}.dropdown-divider{background-color:color-mix(in srgb, var(--bf-accent) 30%, transparent);height:1px;margin:.25rem 0}.navbar-logo-light,.navbar-logo-dark{width:120px;height:28px}.navbar-logo-dark,[data-scheme=dark] .navbar-logo-light{display:none}[data-scheme=dark] .navbar-logo-dark{display:block}.navbar{border-bottom:1px solid var(--bf-accent);flex-wrap:wrap;justify-content:space-between;align-items:center;padding-top:.75rem;padding-bottom:.75rem;display:flex;position:relative;background-color:var(--bf-bg)!important}.navbar.sticky-top{z-index:1020;position:sticky;top:0}.navbar>div{flex-wrap:inherit;justify-content:space-between;align-items:center;display:flex}.navbar .navbar-brand{letter-spacing:-.025em;align-items:center;margin-right:1rem;padding-top:.3125rem;padding-bottom:.3125rem;font-size:1.25rem;font-weight:600;text-decoration:none;display:inline-flex;color:var(--bf-text)!important}.navbar .navbar-nav{flex-flow:wrap;margin-bottom:0;padding-left:0;list-style:none;display:flex}.navbar .navbar-nav .nav-item{display:flex}.navbar .nav-link{color:var(--bf-anchor);border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.navbar .nav-link:hover,.navbar .nav-link:focus{color:color-mix(in srgb, var(--bf-anchor), black 25%)}.navbar .nav-link.active{background-color:color-mix(in srgb, var(--bf-primary) 15%, transparent);color:var(--bf-primary)!important}@media (max-width:767.98px){.navbar .nav-link.active{background-color:#0000;font-weight:700}}.navbar .navbar-upgrade-link,.navbar .navbar-upgrade-link:hover{color:var(--bf-text-secondary)}@media (min-width:768px){.navbar .nav-icon-only span{display:none}}.navbar .navbar-toggler{border:1px solid color-mix(in srgb, var(--bf-anchor) 40%, transparent);cursor:pointer;background-color:#0000;border-radius:.5rem;justify-content:center;align-items:center;padding:.25rem .5rem;display:inline-flex}.navbar .navbar-toggler:focus{box-shadow:0 0 0 .2rem color-mix(in srgb, var(--bf-anchor) 25%, transparent);outline:none}.navbar .navbar-toggler-icon{vertical-align:middle;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23f0efeb' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");background-position:50%;background-repeat:no-repeat;background-size:100%;width:1.5em;height:1.5em;display:inline-block}.navbar .navbar-collapse{flex-grow:1;flex-basis:100%;align-items:center;display:none}.navbar .navbar-collapse.show{display:flex}@media (min-width:768px){.navbar{flex-wrap:nowrap;justify-content:flex-start}.navbar .navbar-toggler{display:none}.navbar .navbar-collapse{flex-basis:auto;display:flex!important}}@media (max-width:767.98px){.navbar .navbar-collapse.show{flex-direction:column;align-items:flex-end;display:flex!important}.navbar .navbar-user-mobile{flex-direction:column;flex:none;order:1;align-items:flex-end;display:flex}.navbar .navbar-nav-mobile{flex-direction:column;flex:1;align-items:flex-end}[data-scheme=chill] .navbar .navbar-toggler-icon,[data-scheme=bold] .navbar .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%231a1a2e' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-scheme=chill] .user-menu-mobile-trigger,[data-scheme=bold] .user-menu-mobile-trigger{color:var(--bf-anchor)}[data-scheme=chill] .user-menu-mobile-trigger:hover,[data-scheme=chill] .user-menu-mobile-trigger:focus,[data-scheme=bold] .user-menu-mobile-trigger:hover,[data-scheme=bold] .user-menu-mobile-trigger:focus{color:color-mix(in srgb, var(--bf-anchor), black 20%)}}.user-menu-wrapper{position:relative}.user-button{justify-content:center;align-items:center;display:none}@media (min-width:768px){.user-button{display:flex}}.user-button{border:1px solid var(--bf-accent);cursor:pointer;width:2.25rem;height:2.25rem;color:var(--bf-text-muted);background-color:#0000;border-radius:9999px;padding:0;transition:all .2s;overflow:hidden}.user-button:hover,.user-button:focus{border-color:var(--bf-primary);color:var(--bf-primary);box-shadow:none;outline:none}.user-avatar{object-fit:cover;width:100%;height:100%}.user-menu-mobile-trigger{cursor:pointer;background:0 0;border:none;align-items:center;padding:.5rem 1rem;font-weight:500;display:flex}@media (min-width:768px){.user-menu-mobile-trigger{display:none}}.user-menu-mobile-trigger{color:color-mix(in srgb, var(--bf-text) 55%, transparent);align-self:flex-end;transition:color .2s}.user-menu-mobile-trigger:hover,.user-menu-mobile-trigger:focus{color:var(--bf-text);outline:none}.user-menu-mobile-trigger img{object-fit:cover}.user-dropdown-menu{background-color:var(--bf-bg-elevated);border:1px solid var(--bf-accent);z-index:1050;border-radius:.5rem;min-width:220px;padding:.25rem 0;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 8px 24px #0006}@media (max-width:767.98px){.user-dropdown-menu{min-width:unset;box-shadow:none;background-color:var(--bf-bg-elevated);border:none;border-radius:.5rem;margin-top:.25rem;padding:.25rem 0;position:static}}.user-dropdown-menu .dropdown-divider{border-top:1px solid var(--bf-accent);margin:.25rem 0}.user-dropdown-menu .dropdown-item{color:var(--bf-text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;width:100%;padding:.5rem 1rem;font-size:.875rem;transition:background-color .15s;display:flex}.user-dropdown-menu .dropdown-item:hover,.user-dropdown-menu .dropdown-item:focus{background-color:color-mix(in srgb, var(--bf-accent) 30%, transparent);color:var(--bf-text);outline:none}.dropdown-menu-dark{background-color:var(--bf-bg-elevated);border:1px solid var(--bf-accent)}.dropdown-menu-dark .dropdown-item{color:var(--bf-text)}.dropdown-menu-dark .dropdown-item:hover,.dropdown-menu-dark .dropdown-item:focus{background-color:color-mix(in srgb, var(--bf-accent) 30%, transparent);color:var(--bf-text)}.dropdown-menu-dark .dropdown-divider{border-top:1px solid var(--bf-accent)}.filter-select{min-width:160px}@media (max-width:767.98px){.transaction-header-title{width:100%}.transaction-filter-controls,.transaction-filter-controls .filter-select{flex:1;min-width:0}}.limit-select{min-width:80px}.transaction-search-row{padding:.25rem 0}.transaction-search-row .form-control{flex:auto;min-width:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.tooltip-light .tooltip-inner{background-color:var(--bf-card-bg);color:var(--bf-text);box-shadow:0 2px 8px #00000026}.tooltip-light .tooltip-arrow:before{border-top-color:var(--bf-text)!important}.transaction-list{width:100%;margin-top:1.5rem}.transaction-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.transaction-header h2{letter-spacing:-.025em;font-size:1.125rem;font-weight:600}.transaction-header .total-count{color:var(--bf-text-muted);font-size:.875rem}.loading-container{justify-content:center;align-items:center;padding:3rem 0;display:flex}.loading-container .spinner{width:1.5rem;height:1.5rem;color:var(--bf-primary);animation:1s linear infinite spin}.error-message{border:1px solid color-mix(in srgb, var(--bf-error) 20%, transparent);background-color:color-mix(in srgb, var(--bf-error) 10%, transparent);color:var(--bf-error);border-radius:.75rem;justify-content:space-between;align-items:center;margin-top:1.5rem;padding:1rem;display:flex}.error-message .retry-button{color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:.5rem;padding:.25rem 1rem;font-size:.875rem;transition:all .2s}.error-message .retry-button:hover{background-color:color-mix(in srgb, var(--bf-error) 10%, transparent)}.table-container{border:1px solid var(--bf-accent);border-radius:.75rem;overflow:hidden}.transaction-table{border-collapse:collapse;table-layout:fixed;width:100%;color:var(--bf-text);font-size:.875rem}.transaction-table th,.transaction-table td{padding:.5rem 1rem}.transaction-table thead{background-color:color-mix(in srgb, var(--bf-accent) 30%, transparent)}.transaction-table thead th{text-align:left;font-weight:500}.transaction-table thead th:last-child{text-align:right;padding-left:0}.transaction-table td:last-child{padding-left:0}.transaction-table tbody tr{border-top:1px solid color-mix(in srgb, var(--bf-accent) 30%, transparent)}.transaction-table tbody tr:first-child{border-top:none}.transaction-table tbody tr:hover{--bs-table-bg-state:transparent;--bs-table-hover-bg:transparent;background:radial-gradient(ellipse 50% 120% at 0% 50%, color-mix(in srgb, var(--bf-accent) 40%, transparent), transparent)}.transaction-table tbody tr:hover td{color:var(--bf-text)!important}.transaction-table tbody tr:hover .text-success{color:var(--bf-primary)!important}.cell-date{white-space:nowrap;color:var(--bf-text-muted)}.cell-description{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.cell-category{width:220px;min-width:220px}.cell-category .category-wrapper{align-items:center;gap:.5rem;display:flex}.plaid-category-label{color:var(--bf-error);white-space:nowrap;font-size:.75rem;font-style:italic}.category-select-container{flex:1;width:100%}.status-icon-placeholder{flex-shrink:0;justify-content:center;align-items:center;width:1rem;height:1rem;display:inline-flex}.status-icon{width:1rem;height:1rem;color:var(--bf-primary)}.status-icon.spinning{animation:1s linear infinite spin}.cell-amount{white-space:nowrap;text-align:right;font-weight:500}.cell-amount.negative{color:var(--bf-primary)}.cell-amount.positive{color:var(--bf-text)}.pagination{justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;display:flex}.pagination-info{align-items:center;gap:.5rem;display:flex}.limit-label{color:var(--bf-text-muted);font-size:.875rem}.limit-select{min-width:70px;padding:.25rem 1.5rem .25rem .5rem}.pagination-nav{align-items:center;gap:.25rem;display:flex}.pagination-button{border:1px solid var(--bf-accent);cursor:pointer;width:2rem;height:2rem;color:var(--bf-text-muted);background-color:#0000;border-radius:.5rem;justify-content:center;align-items:center;transition:all .2s;display:flex}.pagination-button svg{width:1rem;height:1rem}.pagination-button:hover:not(:disabled){border-color:var(--bf-primary);color:var(--bf-primary)}.pagination-button:disabled{opacity:.4;cursor:not-allowed}.page-info{color:var(--bf-text-muted);text-align:center;min-width:60px;padding:0 .5rem;font-size:.875rem}.transactions-page{border:1px solid var(--bf-accent);border-radius:.75rem;flex-direction:column;gap:2rem;display:flex}.transactions-page .transaction-mobile-list .transaction-mobile-row{border-bottom:1px solid color-mix(in srgb, var(--bf-accent) 30%, transparent)}.transactions-page .transaction-mobile-list .transaction-mobile-row:last-child{border-bottom:none}.transactions-page .transaction-mobile-list .flex-grow-1,.transactions-page .transaction-mobile-list .flex-grow-1>div{width:100%}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.category-rule-prompt{z-index:5;background-color:var(--bf-bg-elevated);border:1px solid color-mix(in srgb, var(--bf-primary) 40%, transparent);opacity:0;pointer-events:none;border-radius:.375rem;align-items:center;gap:.5rem;padding:.25rem 1rem;font-size:.8125rem;transition:opacity .3s,transform .3s;display:flex;position:absolute;inset:0;transform:translateY(2px)}.category-rule-prompt.category-rule-prompt-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.category-rule-prompt-text{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.category-rule-prompt-text strong{color:var(--bf-primary)}.category-rule-prompt-actions{flex-shrink:0;align-items:center;gap:.25rem;display:flex}.category-rule-prompt-yes{padding:.125rem .625rem!important;font-size:.75rem!important;line-height:1.4!important}.category-rule-prompt-dismiss{padding:.125rem .375rem!important;font-size:.75rem!important;text-decoration:none!important}.category-rule-prompt-dismiss:hover{text-decoration:underline!important}.category-rule-prompt-mobile{flex-wrap:wrap;gap:.25rem;padding:.25rem .5rem;font-size:.75rem}.transaction-tags-section{border-top:1px solid var(--bf-border);margin-top:1rem;padding-top:1rem}.tag-cloud{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.tag-bubble{white-space:nowrap;border:1px solid #0000;border-radius:9999px;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.75rem;font-weight:500;line-height:1.4;display:inline-flex}.tag-bubble-label{text-overflow:ellipsis;max-width:14rem;overflow:hidden}.tag-bubble-count{background:color-mix(in srgb, var(--bf-text) 14%, transparent);border-radius:9999px;justify-content:center;align-items:center;min-width:1.1rem;height:1.1rem;padding:0 .3rem;font-size:.65rem;font-weight:600;display:inline-flex}.tag-bubble-remove{color:inherit;opacity:.65;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:opacity .15s;display:inline-flex}.tag-bubble-remove:hover:not(:disabled){opacity:1}.tag-bubble-remove:disabled{cursor:not-allowed;opacity:.4}.tag-input-wrap{align-items:center;display:inline-flex}.tag-input{border:1px solid var(--bf-border);background:var(--bf-bg-elevated);height:1.6rem;color:var(--bf-text);border-radius:9999px;min-width:9rem;padding:.125rem .5rem;font-size:.75rem}.tag-input:focus{border-color:var(--bf-primary);outline:none}.tag-add-btn{border:1px solid color-mix(in srgb, var(--bf-success) 40%, transparent);background:color-mix(in srgb, var(--bf-success) 22%, var(--bf-bg-elevated));width:1.6rem;height:1.6rem;color:var(--bf-text);cursor:pointer;border-radius:9999px;justify-content:center;align-items:center;padding:0;transition:background .15s,border-color .15s;display:inline-flex}.tag-add-btn:hover:not(:disabled){background:color-mix(in srgb, var(--bf-success) 32%, var(--bf-bg-elevated));border-color:color-mix(in srgb, var(--bf-success) 60%, transparent)}.tag-add-btn:disabled{cursor:not-allowed;opacity:.5}.transaction-totals-row{border-top:1px solid var(--bf-border);flex-direction:column;align-items:flex-end;gap:.25rem;margin-top:1rem;padding-top:1rem;display:flex}.transaction-total-line{align-items:baseline;gap:.5rem;display:flex}.transaction-total-label{color:var(--bf-text-muted);font-size:.8125rem;font-weight:600}.transaction-total-value{color:var(--bf-text);font-variant-numeric:tabular-nums;font-size:1rem;font-weight:700}.budget-overview{flex-direction:column;gap:2rem;display:flex}.budget-overview .card{position:relative}.budget-overview .card:before{content:"";background:var(--bf-card-gradient);pointer-events:none;z-index:1;border-radius:.75rem;padding:2px;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@media (max-width:767.98px){.budget-overview .budget-month-selector{margin-bottom:-1.25rem}}.base-budget-description{color:var(--bf-text-muted);margin:0;font-size:.875rem}.budget-copied-from-banner{font-size:.875rem}.compare-pin{background:var(--bf-bg-elevated);border:1px solid var(--bf-border);border-radius:.5rem;align-items:center;gap:.5rem;margin:1rem 0 0;padding:.5rem 1rem;display:flex}.compare-pin .compare-pin-label{color:var(--bf-text-muted);align-items:center;gap:.25rem;font-size:.875rem;font-weight:500;display:inline-flex}.compare-pin .compare-pin-select{flex:1;min-width:160px}.compare-pin .compare-pin-close{color:var(--bf-text-muted);cursor:pointer;background:0 0;border:0;border-radius:.375rem;padding:.25rem}.compare-pin .compare-pin-close:hover{color:var(--bf-text);background:var(--bf-bg-hover)}.category-compare{color:var(--bf-text-muted);font-size:.8125rem}.dropdown-trigger-icon{padding:.25rem .5rem}.dropdown-trigger-icon .dropdown-icon{margin:0}.dropdown-trigger-icon.dropdown-trigger-sm{padding:2px .25rem}.dropdown-panel{min-width:220px;padding:.5rem}.dropdown-panel .dropdown-panel-header{color:var(--bf-text);align-items:center;gap:.25rem;margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:flex}.dropdown-panel .dropdown-panel-back{color:var(--bf-text-muted);cursor:pointer;background:0 0;border:0;padding:0 .25rem;font-size:1rem}.dropdown-panel .dropdown-panel-back:hover{color:var(--bf-text)}.dropdown-panel .dropdown-panel-option{cursor:pointer;color:var(--bf-text);align-items:center;gap:.5rem;padding:.25rem .5rem;font-size:.875rem;display:flex}.dropdown-panel .dropdown-panel-option.checkbox-option{border-top:1px solid var(--bf-border);margin-top:.25rem;padding-top:.5rem}.dropdown-panel .dropdown-panel-option input{margin:0}.dropdown-panel .dropdown-panel-confirm{background:var(--bf-primary);color:#fff;cursor:pointer;border:0;border-radius:.375rem;align-items:center;gap:.25rem;margin-top:.5rem;padding:.25rem 1rem;font-size:.875rem;font-weight:500;display:inline-flex}.dropdown-panel .dropdown-panel-confirm:hover{filter:brightness(1.05)}.dropdown-panel .dropdown-panel-confirm:disabled{opacity:.6;cursor:not-allowed}.dropdown-panel .dropdown-panel-empty{color:var(--bf-text-muted);padding:.5rem;font-size:.8125rem;font-style:italic}.budget-loading{justify-content:center;align-items:center;padding:3rem 0;display:flex}.budget-loading .spinner{width:1.5rem;height:1.5rem;color:var(--bf-primary);animation:1s linear infinite spin}.budget-error{border:1px solid color-mix(in srgb, var(--bf-error) 20%, transparent);background-color:color-mix(in srgb, var(--bf-error) 10%, transparent);text-align:center;color:var(--bf-error);border-radius:.75rem;padding:1.5rem}.budget-error .retry-button{color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:.5rem;margin-top:1rem;padding:.5rem 1rem;transition:all .2s}.budget-error .retry-button:hover{background-color:color-mix(in srgb, var(--bf-error) 10%, transparent)}.budget-month-selector:not(.row){flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}@media (min-width:768px){.budget-month-selector:not(.row){flex-wrap:nowrap;justify-content:space-between}}.budget-month-selector .month-select-wrapper{align-items:center;min-width:140px;display:flex;position:relative}@media (max-width:767.98px){.budget-month-selector .month-select-wrapper{width:100%}}@media (min-width:768px){.budget-month-selector .month-select-wrapper{min-width:180px}}.budget-month-selector .month-select-wrapper .month-select-icon{width:1rem;height:1rem;color:var(--bf-accent-blue);z-index:1;pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.budget-month-selector .month-select{min-width:140px}@media (min-width:768px){.budget-month-selector .month-select{min-width:180px}}.budget-month-selector .budget-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.budget-month-selector .budget-actions .dropdown-trigger-icon{height:36px}@media (max-width:767.98px){.budget-month-selector .budget-actions{justify-content:flex-start}.budget-month-selector .budget-actions .dropdown-trigger{color:var(--bf-primary);border-color:var(--bf-primary)}.budget-month-selector .budget-actions .dropdown-trigger:hover:not(:disabled){background-color:color-mix(in srgb, var(--bf-primary) 10%, transparent);border-color:var(--bf-primary)}.budget-month-selector .budget-actions .dropdown-trigger:focus{border-color:var(--bf-primary)}}.budget-month-selector .dropdown .dropdown-menu{z-index:110}.budget-action-status{justify-content:flex-end;margin-top:-1rem;display:flex}.budget-action-status .action-status-message{color:var(--bf-primary);align-items:center;gap:.25rem;font-size:.8125rem;display:flex}.budget-action-status .action-status-message .icon-sm{color:inherit}.budget-dropdown-success{background:var(--bf-bg-elevated);border:1px solid color-mix(in srgb, var(--bf-primary) 30%, transparent);color:var(--bf-primary);z-index:10;border-radius:.5rem;align-items:flex-start;gap:.25rem;width:max-content;max-width:calc(100vw - 2rem);margin-top:.25rem;padding:.5rem 1rem;font-size:.875rem;line-height:1.35;display:flex;position:absolute;top:100%;right:0}.budget-dropdown-success .icon-sm{width:1rem;height:1rem;color:inherit;flex-shrink:0;margin-top:.125rem}.budget-comparison{border:1px solid var(--bf-accent);border-radius:.75rem;padding:1.5rem}.budget-comparison-header{margin-bottom:1rem}.budget-comparison-header h3{font-size:1.125rem;font-weight:600}.comparison-card{border-radius:.5rem;align-items:center;gap:1rem;padding:1rem;display:flex}.comparison-card.income-budget{background:linear-gradient(135deg, color-mix(in srgb, var(--bf-primary) 5%, transparent), color-mix(in srgb, var(--bf-primary) 10%, transparent))}.comparison-card.income-budget .comparison-icon{background-color:color-mix(in srgb, var(--bf-primary) 10%, transparent);color:var(--bf-primary)}.comparison-card.income-budget .comparison-value{color:var(--bf-primary)}.comparison-card.spending-budget{background:linear-gradient(135deg, color-mix(in srgb, var(--bf-error) 5%, transparent), color-mix(in srgb, var(--bf-error) 10%, transparent))}.comparison-card.spending-budget .comparison-icon{background-color:color-mix(in srgb, var(--bf-error) 10%, transparent);color:var(--bf-error)}.comparison-card.spending-budget .comparison-value{color:var(--bf-error)}.comparison-icon{border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:flex}.comparison-icon svg{width:1.25rem;height:1.25rem}.comparison-content{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.comparison-label{text-transform:uppercase;letter-spacing:.05em;color:var(--bf-text-muted);font-size:.75rem}.comparison-value{letter-spacing:-.025em;font-size:1.25rem;font-weight:700}.comparison-split{gap:1rem;width:100%;display:flex}.comparison-split>div{flex-direction:column;flex:1;gap:.25rem;display:flex}.comparison-split>div:last-child{text-align:right}.comparison-value-wrapper{align-items:center;gap:.5rem;display:flex}.comparison-value-wrapper .budget-edit-button{cursor:pointer;opacity:.5;background:0 0;border:none;padding:.25rem;transition:opacity .15s}.comparison-value-wrapper .budget-edit-button:hover{opacity:1}.comparison-value-wrapper .budget-edit-icon{width:.875rem;height:.875rem;color:var(--bf-text-muted)}.comparison-input-wrapper{align-items:center;gap:.25rem;display:flex}.comparison-input-wrapper .budget-currency{color:var(--bf-text-muted);font-size:1rem;font-weight:600}.comparison-input-wrapper .budget-input.large{border:1px solid var(--bf-accent);background:0 0;border-radius:.375rem;width:100px;padding:.25rem .5rem;font-size:1.25rem;font-weight:700}.comparison-input-wrapper .budget-input.large:focus{border-color:var(--bf-primary);outline:none}.budget-comparison-bar{border-top:1px solid color-mix(in srgb, var(--bf-accent) 30%, transparent);margin-top:1.5rem;padding-top:1.5rem}.budget-bar-track{background-color:color-mix(in srgb, var(--bf-accent) 30%, transparent);border-radius:9999px;height:.75rem;overflow:hidden}.budget-bar-fill{background:linear-gradient(90deg, var(--bf-primary), color-mix(in srgb, var(--bf-primary), white 10%));border-radius:9999px;height:100%;transition:width .2s}.budget-bar-fill.over-budget{background:linear-gradient(90deg, var(--bf-error), color-mix(in srgb, var(--bf-error), white 10%))}.budget-comparison-summary{justify-content:space-between;align-items:center;margin-top:.5rem;font-size:.875rem;display:flex}.budget-difference{font-weight:600}.budget-difference.under-budget{color:var(--bf-primary)}.budget-difference.over-budget{color:var(--bf-error)}.budget-percent{color:var(--bf-text-muted)}.budget-categories{border:1px solid var(--bf-accent);border-radius:.75rem}.budget-categories h3{margin-bottom:1.5rem;font-size:1.125rem;font-weight:600}.budget-categories .no-data{color:var(--bf-text-muted);text-align:center;padding:2rem}.budget-categories-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.budget-categories-header h3{margin-bottom:0}.add-category-button{border:1px solid var(--bf-accent);color:var(--bf-text-muted);cursor:pointer;background-color:#0000;border-radius:.5rem;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.8125rem;transition:all .2s;display:flex}.add-category-button:hover{background-color:var(--bf-accent);color:var(--bf-text);border-color:var(--bf-primary)}.add-category-button.compare-style{border-color:var(--bf-accent-blue);color:var(--bf-accent-blue);background-color:#0000;min-height:34px;padding:.25rem 1rem;font-size:.8125rem;text-decoration:none}.add-category-button.compare-style:hover{border-color:var(--bf-accent-blue);background-color:color-mix(in srgb, var(--bf-accent-blue) 10%, transparent);color:var(--bf-accent-blue)}.add-category-button .icon-sm{width:.875rem;height:.875rem}.add-category-dropdown{background-color:color-mix(in srgb, var(--bf-accent) 30%, transparent);border-radius:.5rem;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.5rem;display:flex}.add-category-form{background-color:color-mix(in srgb, var(--bf-accent) 30%, transparent);border-radius:.5rem;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.5rem;display:flex}.new-category-input{border:1px solid var(--bf-accent);background-color:var(--bf-bg);min-width:200px;color:var(--bf-text);border-radius:.5rem;flex:1;padding:.5rem 1rem;font-size:.875rem}.new-category-input:focus{border-color:var(--bf-primary);outline:none}.new-category-input::placeholder{color:var(--bf-text-muted)}.new-category-input:disabled{opacity:.6}.create-category-button{background-color:var(--bf-primary);cursor:pointer;color:var(--bf-bg);border:none;border-radius:.5rem;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.create-category-button:hover:not(:disabled){opacity:.9}.create-category-button:disabled{opacity:.5;cursor:not-allowed}.create-category-button .icon-sm{width:1rem;height:1rem}.create-category-button .icon-spin{animation:1s linear infinite spin}.category-error{width:100%;color:var(--bf-error);margin-top:.25rem;font-size:.75rem}.category-status-message{background-color:color-mix(in srgb, var(--bf-primary) 10%, transparent);color:var(--bf-primary);border-radius:.5rem;align-items:center;gap:.25rem;margin-bottom:1rem;padding:.5rem 1rem;font-size:.875rem;display:flex}.category-status-message .icon-sm{width:.875rem;height:.875rem}.category-select{border:1px solid var(--bf-accent);background-color:var(--bf-bg);color:var(--bf-text);cursor:pointer;border-radius:.5rem;flex:1;padding:.5rem 1rem;font-size:.875rem}.category-select:focus{border-color:var(--bf-primary);outline:none}.category-select option{background-color:var(--bf-bg);color:var(--bf-text)}.cancel-add-button{cursor:pointer;color:var(--bf-text-muted);background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.cancel-add-button:hover{background-color:color-mix(in srgb, var(--bf-error) 10%, transparent);color:var(--bf-error)}.cancel-add-button .icon-sm{width:1rem;height:1rem}.confirm-remove{align-items:center;gap:.25rem;display:flex}.confirm-text{color:var(--bf-error);font-size:.75rem;font-weight:500}.confirm-yes,.confirm-no{cursor:pointer;border:none;border-radius:.375rem;justify-content:center;align-items:center;padding:.25rem;transition:all .2s;display:flex}.confirm-yes .icon-sm,.confirm-no .icon-sm{width:.875rem;height:.875rem}.confirm-yes{background-color:color-mix(in srgb, var(--bf-error) 10%, transparent);color:var(--bf-error)}.confirm-yes:hover:not(:disabled){background-color:color-mix(in srgb, var(--bf-error) 20%, transparent)}.confirm-yes:disabled{opacity:.5;cursor:not-allowed}.confirm-no{background-color:color-mix(in srgb, var(--bf-accent) 30%, transparent);color:var(--bf-text-muted)}.confirm-no:hover{background-color:color-mix(in srgb, var(--bf-accent) 50%, transparent)}.budget-remove-button{cursor:pointer;opacity:.5;background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;padding:.25rem;transition:all .2s;display:flex}.budget-remove-button:hover{background-color:color-mix(in srgb, var(--bf-error) 10%, transparent);opacity:1}.budget-remove-icon{width:.75rem;height:.75rem;color:var(--bf-error)}.budget-remove-icon:where([data-scheme=dark] *){color:var(--bf-text)}.category-list{flex-direction:column;gap:1.5rem;display:flex}.category-item{flex-direction:column;gap:.25rem;display:flex}.category-header{justify-content:space-between;align-items:center;gap:.25rem;display:flex}.category-name{font-size:.9375rem;font-weight:500}.category-amounts{align-items:center;gap:.25rem;display:flex}.category-spent{color:var(--bf-text-muted);font-size:.9375rem;font-weight:600}.category-spent.over-budget{color:var(--bf-error)}.category-separator{color:var(--bf-text-muted)}.budget-input-wrapper{align-items:center;gap:.25rem;display:flex;position:relative}.budget-input-wrapper .budget-remove-button{opacity:.5;position:static}.budget-input-wrapper .budget-remove-button:hover{opacity:1}.budget-currency{color:var(--bf-text-muted);font-size:.875rem}.budget-input{border:1px solid var(--bf-accent);text-align:right;width:70px;color:var(--bf-text-muted);background:0 0;border-radius:.375rem;padding:.25rem 1.5rem .25rem .5rem;font-size:.875rem;font-weight:500}.budget-input:focus{border-color:var(--bf-primary);outline:none}.budget-input::placeholder{color:var(--bf-text-muted)}.budget-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.budget-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.budget-input{-moz-appearance:textfield}.budget-display{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.budget-value{color:var(--bf-text-muted);font-size:.875rem;font-weight:500}.rollover-budget-label{color:var(--bf-accent-blue);white-space:nowrap;font-size:.75rem;font-weight:500}.rollover-budget-label .rollover-with-label,.rollover-spending-note{color:var(--bf-text-muted);font-weight:400}.budget-edit-button{cursor:pointer;background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;padding:.25rem;transition:all .2s;display:flex}.budget-edit-button:hover{background-color:color-mix(in srgb, var(--bf-accent) 30%, transparent)}.budget-edit-icon{width:.875rem;height:.875rem;color:var(--bf-text-muted)}.budget-status-icon{width:.875rem;height:.875rem}.budget-status-icon.spinning{color:var(--bf-text-muted);animation:1s linear infinite spin}.budget-status-icon.saved{color:var(--bf-primary)}.budget-input-wrapper .budget-status-icon{position:absolute;right:.25rem}.category-amount{color:var(--bf-error);font-size:.9375rem;font-weight:600}.category-bar-track{background-color:color-mix(in srgb, var(--bf-accent) 30%, transparent);border-radius:9999px;height:10px;position:relative;overflow:hidden}.category-bar-fill{background:linear-gradient(90deg, var(--bf-primary), color-mix(in srgb, var(--bf-primary), white 10%));z-index:2;min-width:4px;height:100%;transition:width .2s;position:absolute;top:0;left:0}.category-bar-fill.over-budget{background:linear-gradient(90deg, var(--bf-error), color-mix(in srgb, var(--bf-error), white 10%))}.category-bar-rollover-spending{background:repeating-linear-gradient(45deg, color-mix(in srgb, var(--bf-primary), black 8%), color-mix(in srgb, var(--bf-primary), black 8%) 3px, color-mix(in srgb, var(--bf-primary), black 16%) 3px, color-mix(in srgb, var(--bf-primary), black 16%) 6px);z-index:3;min-width:4px;height:100%;position:absolute;top:0;left:0}.category-bar-rollover-spending.over-budget{background:repeating-linear-gradient(45deg, var(--bf-error), var(--bf-error), 3px, color-mix(in srgb, var(--bf-error), black 8%) 3px, color-mix(in srgb, var(--bf-error), black 8%) 6px)}.category-bar-rollover-runway{background:repeating-linear-gradient(45deg, color-mix(in srgb, var(--bf-accent) 15%, transparent), color-mix(in srgb, var(--bf-accent) 15%, transparent) 3px, color-mix(in srgb, var(--bf-accent) 55%, transparent) 3px, color-mix(in srgb, var(--bf-accent) 55%, transparent) 6px);z-index:1;min-width:4px;height:100%;position:absolute;top:0;right:0}.category-bar-overflow{background:repeating-linear-gradient(45deg, transparent, transparent 3px, color-mix(in srgb, var(--bf-error) 30%, transparent) 3px, color-mix(in srgb, var(--bf-error) 30%, transparent) 6px);height:100%;position:absolute;top:0;right:0}.category-meta{justify-content:space-between;align-items:center;gap:.25rem;display:flex}.category-count{color:var(--bf-text-muted);white-space:nowrap;font-size:.75rem}.category-count-link{color:var(--bf-text-muted);text-decoration:none;transition:color .15s}.category-count-link:hover{color:var(--bf-primary);text-decoration:underline}.category-percent{color:var(--bf-primary);font-size:.75rem;font-weight:500}.category-percent.over-budget{color:var(--bf-error)}.category-name-button{cursor:pointer;font:inherit;color:inherit;text-align:left;background:0 0;border:none;padding:0;font-weight:500;transition:color .15s}.category-name-button:hover{color:var(--bf-primary)}.category-name{font-weight:500}.modal-overlay{z-index:100;background-color:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--bf-bg-elevated);border-radius:.75rem;flex-direction:column;width:100%;max-width:500px;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 8px 32px #00000080}.modal-header{border-bottom:1px solid var(--bf-accent);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.modal-header h3{color:var(--bf-text);margin:0;font-size:1.125rem;font-weight:600}.modal-close{cursor:pointer;width:2rem;height:2rem;color:var(--bf-text-muted);background:0 0;border:none;border-radius:.5rem;justify-content:center;align-items:center;transition:all .15s;display:flex}.modal-close:hover{background-color:color-mix(in srgb, var(--bf-accent) 30%, transparent);color:var(--bf-text)}.modal-close svg{width:1.25rem;height:1.25rem}.modal-body{padding:.5rem;overflow-y:auto}.modal-loading{justify-content:center;align-items:center;padding:2rem;display:flex}.modal-loading .spinner{width:1.5rem;height:1.5rem;color:var(--bf-primary);animation:1s linear infinite spin}.stats-overall{background:linear-gradient(135deg, color-mix(in srgb, var(--bf-primary) 5%, transparent), color-mix(in srgb, var(--bf-primary) 10%, transparent));border-radius:.5rem;flex-direction:column;align-items:center;margin-bottom:1.5rem;padding:1.5rem;display:flex}.stats-overall-label{text-transform:uppercase;letter-spacing:.05em;color:var(--bf-text-muted);margin-bottom:.25rem;font-size:.75rem}.stats-overall-value{color:var(--bf-primary);font-size:1.5rem;font-weight:700}.stats-table{border-collapse:collapse;width:100%;font-size:.875rem}.stats-table th,.stats-table td{text-align:left;padding:.5rem 1rem}.stats-table th{color:var(--bf-text-muted);border-bottom:1px solid var(--bf-accent);font-weight:500}.stats-table th:not(:first-child){text-align:right}.stats-table td{border-bottom:1px solid color-mix(in srgb, var(--bf-accent) 30%, transparent)}.stats-table td:not(:first-child){text-align:right}.stats-table tbody tr:last-child td{border-bottom:none}.stats-year{color:var(--bf-text);font-weight:600}.stats-average{color:var(--bf-primary);font-weight:500}.stats-total,.stats-months{color:var(--bf-text-muted)}.stats-empty{text-align:center;color:var(--bf-text-muted);padding:2rem}.transfer-section{margin-bottom:1rem}.transfer-current-stats{background:color-mix(in srgb, var(--bf-accent) 30%, transparent);border-radius:.5rem;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1rem;display:flex}.view-category-transactions-link{text-align:center;margin-bottom:1rem}.view-transactions-link{color:var(--bf-primary);align-items:center;gap:.25rem;font-size:.875rem;text-decoration:none;display:inline-flex}.view-transactions-link:hover{text-decoration:underline}.transfer-stat{flex-direction:column;flex:1;align-items:center;display:flex}.transfer-stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--bf-text-muted);margin-bottom:.25rem;font-size:.75rem}.transfer-stat-value{color:var(--bf-text);font-size:1rem;font-weight:600}.transfer-stat-value.positive{color:var(--bf-income)}.transfer-stat-value.negative{color:var(--bf-expense)}.transfer-controls{background:color-mix(in srgb, var(--bf-primary) 5%, transparent);border:1px solid color-mix(in srgb, var(--bf-primary) 20%, transparent);border-radius:.5rem;flex-direction:column;gap:1rem;padding:1rem;display:flex}.transfer-label{color:var(--bf-text-muted);font-size:.875rem}.transfer-options{gap:.5rem;display:flex}.transfer-option{border:1px solid var(--bf-accent);color:var(--bf-text);cursor:pointer;background:0 0;border-radius:.5rem;align-items:center;gap:.25rem;padding:.5rem 1rem;font-size:.875rem;transition:all .2s;display:flex}.transfer-option .icon-sm{width:.875rem;height:.875rem}.transfer-option:hover:not(:disabled){border-color:var(--bf-primary);color:var(--bf-text)}.transfer-option.active{background:color-mix(in srgb, var(--bf-primary) 20%, transparent);border-color:var(--bf-primary);color:var(--bf-primary)}.transfer-option:disabled{opacity:.5;cursor:not-allowed}.transfer-target{align-items:stretch;gap:.5rem;display:flex}.transfer-select{flex:1}.transfer-select-container{flex:1;min-width:200px}.transfer-confirm{background:var(--bf-primary);color:var(--bf-text);cursor:pointer;border:none;border-radius:.5rem;align-items:center;gap:.25rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.transfer-confirm .icon-sm{width:.875rem;height:.875rem}.transfer-confirm .icon-spin{animation:1s linear infinite spin}.transfer-confirm:hover:not(:disabled){background:color-mix(in srgb, var(--bf-primary), black 5%)}.transfer-confirm:disabled{opacity:.5;cursor:not-allowed}.transfer-success{background:color-mix(in srgb, var(--bf-income) 10%, transparent);border:1px solid color-mix(in srgb, var(--bf-income) 30%, transparent);color:var(--bf-income);border-radius:.5rem;align-items:center;gap:.25rem;padding:.5rem 1rem;font-size:.875rem;display:flex}.transfer-success .icon-sm{width:.875rem;height:.875rem}.rollover-bubble{background:color-mix(in srgb, var(--bf-accent) 30%, transparent);border-radius:.5rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.5rem 1rem;display:flex}.rollover-bubble-label{color:var(--bf-text);flex:auto;min-width:0;font-size:.875rem;font-weight:600}.rollover-bubble-value{font-weight:600}.rollover-bubble-value.positive{color:var(--bf-income)}.rollover-bubble-value.negative{color:var(--bf-expense)}.rollover-reset-trigger{border:1px solid var(--bf-accent);color:var(--bf-text-muted);cursor:pointer;background:0 0;border-radius:.375rem;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.8125rem;transition:all .15s;display:inline-flex}.rollover-reset-trigger:hover{color:var(--bf-text);border-color:color-mix(in srgb, var(--bf-expense) 60%, transparent);background:color-mix(in srgb, var(--bf-expense) 8%, transparent)}.rollover-reset-trigger .icon-sm{width:.875rem;height:.875rem}.rollover-reset-confirm-text{min-width:0;color:var(--bf-text-muted);flex:auto;font-size:.8125rem}.rollover-reset-actions{flex-shrink:0;gap:.25rem;display:inline-flex}.rollover-reset-cancel{border:1px solid var(--bf-accent);color:var(--bf-text-muted);cursor:pointer;background:0 0;border-radius:.375rem;padding:.25rem .5rem;font-size:.8125rem;transition:color .15s}.rollover-reset-cancel:hover:not(:disabled){color:var(--bf-text)}.rollover-reset-cancel:disabled{opacity:.5;cursor:not-allowed}.rollover-reset-confirm{background:color-mix(in srgb, var(--bf-expense) 15%, transparent);border:1px solid color-mix(in srgb, var(--bf-expense) 50%, transparent);color:var(--bf-expense);cursor:pointer;border-radius:.375rem;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.8125rem;transition:background .15s;display:inline-flex}.rollover-reset-confirm:hover:not(:disabled){background:color-mix(in srgb, var(--bf-expense) 25%, transparent)}.rollover-reset-confirm:disabled{opacity:.6;cursor:not-allowed}.rollover-reset-confirm .icon-sm{width:.875rem;height:.875rem}.transfer-info{background:color-mix(in srgb, var(--bf-accent) 30%, transparent);color:var(--bf-text-muted);text-align:center;border-radius:.5rem;padding:1rem;font-size:.875rem}.stats-divider{background:var(--bf-accent);height:1px;margin:1rem 0}.export-budget-container{position:relative}.export-budget-button{border:1px solid var(--bf-accent);color:var(--bf-text);cursor:pointer;white-space:nowrap;background-color:#0000;border-radius:.5rem;align-items:center;gap:.25rem;padding:.5rem 1rem;font-size:.875rem;transition:all .2s;display:flex}.export-budget-button:hover:not(:disabled){background-color:var(--bf-accent);border-color:var(--bf-primary)}.export-budget-button:disabled{opacity:.5;cursor:not-allowed}.export-budget-button.template-style{border-color:var(--bf-accent-blue);color:var(--bf-accent-blue)}.export-budget-button.template-style:hover:not(:disabled){background-color:color-mix(in srgb, var(--bf-accent-blue) 10%, transparent);border-color:var(--bf-accent-blue)}.export-budget-button .icon-sm{width:1rem;height:1rem}.export-budget-button .icon-spin{animation:1s linear infinite spin}.export-budget-button .chevron{transition:transform .15s}.export-budget-button .chevron.open{transform:rotate(180deg)}.export-message{background:var(--bf-bg-elevated);border:1px solid color-mix(in srgb, var(--bf-primary) 30%, transparent);color:var(--bf-primary);white-space:nowrap;z-index:10;border-radius:.5rem;align-items:center;gap:.25rem;margin-top:.25rem;padding:.5rem 1rem;font-size:.875rem;display:flex;position:absolute;top:100%;right:0}.export-message .icon-sm{width:1rem;height:1rem}.export-dropdown{background:var(--bf-bg-elevated);border:1px solid var(--bf-accent);z-index:20;border-radius:.75rem;min-width:280px;margin-top:.25rem;padding:1rem;position:absolute;top:100%;right:0;box-shadow:0 4px 20px #0000004d}.export-warning{background:color-mix(in srgb, var(--bf-text) 90%, transparent);border:1px solid color-mix(in srgb, var(--bf-warning) 20%, transparent);color:var(--bf-warning);border-radius:.5rem;align-items:flex-start;gap:.5rem;margin-bottom:1rem;padding:.5rem 1rem;font-size:.75rem;display:flex}.export-warning .icon-sm{flex-shrink:0;width:1rem;height:1rem;margin-top:1px}.export-options{flex-direction:column;gap:.25rem;display:flex}.export-option{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.5rem;flex-direction:column;align-items:flex-start;gap:2px;padding:.5rem 1rem;transition:all .15s;display:flex}.export-option:hover{background:var(--bf-accent);border-color:var(--bf-accent)}.export-option .option-label{color:var(--bf-text);font-size:.875rem;font-weight:500}.export-option .option-description{color:var(--bf-text-muted);font-size:.75rem}.export-confirm{text-align:center}.export-confirm p{color:var(--bf-text);margin-bottom:1rem;font-size:.875rem}.confirm-buttons{justify-content:center;gap:.5rem;display:flex}.confirm-buttons .confirm-cancel,.confirm-buttons .confirm-proceed{cursor:pointer;border-radius:.5rem;justify-content:center;align-items:center;gap:.25rem;padding:.5rem 1rem;font-size:.875rem;transition:all .15s;display:flex}.confirm-buttons .confirm-cancel:disabled,.confirm-buttons .confirm-proceed:disabled{opacity:.5;cursor:not-allowed}.confirm-buttons .confirm-cancel .icon-sm,.confirm-buttons .confirm-proceed .icon-sm{width:1rem;height:1rem}.confirm-buttons .confirm-cancel .icon-spin,.confirm-buttons .confirm-proceed .icon-spin{animation:1s linear infinite spin}.confirm-buttons .confirm-cancel{border:1px solid var(--bf-accent);color:var(--bf-text-muted);background:0 0}.confirm-buttons .confirm-cancel:hover:not(:disabled){background:var(--bf-accent);color:var(--bf-text)}.confirm-buttons .confirm-proceed{background:var(--bf-primary);color:var(--bf-text);border:none}.confirm-buttons .confirm-proceed:hover:not(:disabled){background:color-mix(in srgb, var(--bf-primary), black 5%)}.income-progress-section{border:1px solid color-mix(in srgb, var(--bf-primary) 30%, transparent);background:linear-gradient(135deg, color-mix(in srgb, var(--bf-primary) 3%, transparent), color-mix(in srgb, var(--bf-primary) 8%, transparent));border-radius:.75rem;flex-direction:column;padding:1.5rem;display:flex}.income-progress-header{color:var(--bf-text);text-align:left;justify-content:space-between;align-items:center;margin-bottom:1rem;font-size:1.125rem;font-weight:600;display:block}.income-progress-header .grid>div:first-child{white-space:nowrap;align-items:center;gap:.25rem;display:flex}.income-progress-header h3{font-size:inherit;font-weight:inherit;color:inherit;align-items:center;gap:.5rem;margin:0;display:flex}.income-progress-header h3 .icon-md{width:1.25rem;height:1.25rem;color:var(--bf-primary)}.income-progress-header.clickable{cursor:pointer;background:0 0;border:none;border-radius:.5rem;width:100%;margin:-.5rem -.5rem .25rem;padding:.5rem;transition:background-color .2s}.income-progress-header.clickable:focus{outline:2px solid var(--bf-primary);outline-offset:2px}.income-progress-amounts{text-align:right;justify-content:flex-end;align-items:baseline;gap:.5rem;display:flex}@media (max-width:767.98px){.income-progress-amounts{text-align:left;justify-content:flex-start}}.income-progress-amounts .income-actual{color:var(--bf-primary);font-size:1.125rem;font-weight:700}.income-progress-amounts .income-separator{color:var(--bf-text-muted);font-size:1.125rem}.income-progress-amounts .income-budget-value{color:var(--bf-text-muted);font-size:1.125rem;font-weight:400}.income-progress-amounts .rollover-budget-label{font-size:1.125rem}.income-progress-bar{margin-bottom:.5rem}.income-bar-track{background:color-mix(in srgb, var(--bf-primary) 20%, transparent);border-radius:9999px;height:12px;position:relative;overflow:hidden}.income-bar-fill{background:linear-gradient(90deg, var(--bf-primary), color-mix(in srgb, var(--bf-primary), white 10%));z-index:2;height:100%;transition:width .2s;position:absolute;top:0;left:0}.income-bar-fill.complete{background:linear-gradient(90deg, var(--bf-primary), color-mix(in srgb, var(--bf-primary), white 15%))}.income-bar-fill.over{background:linear-gradient(90deg, color-mix(in srgb, var(--bf-primary), white 10%), color-mix(in srgb, var(--bf-primary), white 20%))}.income-bar-rollover{z-index:3;min-width:4px;height:100%;position:absolute;top:0;left:0;box-shadow:inset -2px 0 #0000004d}.income-bar-rollover.pre-earned,.income-bar-rollover.deficit{background:repeating-linear-gradient(45deg, color-mix(in srgb, var(--bf-primary), black 12%), color-mix(in srgb, var(--bf-primary), black 12%) 3px, color-mix(in srgb, var(--bf-primary), black 20%) 3px, color-mix(in srgb, var(--bf-primary), black 20%) 6px)}.income-progress-summary{justify-content:space-between;align-items:center;font-size:.875rem;display:flex}.income-progress-summary .income-status{color:var(--bf-text-muted)}.income-progress-summary .income-status.complete{color:var(--bf-primary);font-weight:500}.income-progress-summary .income-status.over{color:color-mix(in srgb, var(--bf-primary), white 15%);font-weight:500}.income-progress-summary .income-percent{color:var(--bf-text-muted)}.page-header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.page-header-content{flex-direction:column;gap:.25rem;display:flex}.budget-categories-actions{flex-wrap:nowrap;align-items:center;gap:.5rem;display:flex}.compare-select-wrapper{min-width:150px}.compare-legend{background-color:color-mix(in srgb, var(--bf-accent) 20%, transparent);border-radius:.5rem;flex-wrap:wrap;align-items:center;gap:1.5rem;margin-bottom:.5rem;padding:.5rem 1rem;display:flex}.compare-legend-item{color:var(--bf-text-muted);align-items:center;gap:.25rem;font-size:.75rem;display:flex}.compare-legend-swatch{border-radius:3px;width:12px;height:12px;display:inline-block}.compare-legend-swatch.template{background-color:color-mix(in srgb, var(--bf-accent-blue) 40%, transparent);border:1px solid var(--bf-accent-blue)}.compare-legend-swatch.under{background-color:var(--bf-primary)}.compare-legend-swatch.over{background-color:var(--bf-error)}.compare-dual-progress{background-color:color-mix(in srgb, var(--bf-accent) 30%, transparent);border-radius:8px;height:14px;position:relative;overflow:visible}.compare-progress-template{background-color:color-mix(in srgb, var(--bf-accent-blue) 40%, transparent);border-radius:8px;min-width:2px;height:calc(100% + 4px);transition:width .2s;position:absolute;top:-1px;left:-1px}.compare-progress-historical{border-radius:4px;min-width:2px;height:calc(100% - 6px);transition:width .2s;position:absolute;top:4px;left:4px}.compare-progress-historical.under{background-color:var(--bf-primary)}.compare-progress-historical.over{background-color:var(--bf-error)}.compare-historical-amount{font-size:.8125rem;font-weight:500}.compare-historical-amount.under{color:var(--bf-primary)}.compare-historical-amount.over{color:var(--bf-error)}.compare-diff{justify-content:flex-end;margin-top:2px;display:flex}.compare-diff span{font-size:.6875rem;font-weight:500}.compare-diff span.under{color:var(--bf-primary)}.compare-diff span.over{color:var(--bf-error)}.auth-loading{justify-content:center;align-items:center;min-height:calc(100vh - 3.5rem);display:flex}.auth-loading .spinner{width:2rem;height:2rem;color:var(--bf-primary);animation:1s linear infinite spin}.auth-container{justify-content:center;align-items:center;min-height:calc(100vh - 3.5rem);padding:1.5rem;display:flex}.auth-card{position:relative}.auth-card:before{content:"";background:var(--bf-card-gradient);pointer-events:none;z-index:1;border-radius:.5rem;padding:2px;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.auth-card{border:1px solid var(--bf-primary);background-color:var(--bf-bg-elevated);border-radius:.5rem;width:100%;max-width:420px;padding:2rem}.auth-card .btn-outline-light{color:var(--bf-text)}.auth-card .btn-outline-light:hover,.auth-card .btn-outline-light:focus{color:var(--bf-bg);background-color:var(--bf-text);border-color:var(--bf-text)}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h1{letter-spacing:-.025em;margin-bottom:.25rem;font-size:1.5rem;font-weight:600}.auth-header p{color:var(--bf-text-muted);font-size:.875rem}.auth-error{background-color:color-mix(in srgb, var(--bf-error) 10%, transparent);color:var(--bf-error);border-radius:.5rem;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.5rem 1rem;font-size:.875rem;display:flex}.auth-error .icon-sm{flex-shrink:0}.auth-form{flex-direction:column;gap:1rem;display:flex}.form-group{flex-direction:column;gap:.25rem;display:flex}.form-group label{color:var(--bf-text-muted);font-size:.875rem;font-weight:500}.input-wrapper{position:relative}.input-wrapper .input-icon{width:1rem;height:1rem;color:var(--bf-text-muted);pointer-events:none;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.input-wrapper input{border:1px solid var(--bf-accent);width:100%;color:var(--bf-text);background-color:#0000;border-radius:.5rem;padding:.5rem 1rem .5rem 2.5rem;font-size:.875rem;transition:all .2s}.input-wrapper input::placeholder{color:var(--bf-text-muted)}.input-wrapper input:focus{border-color:var(--bf-primary);box-shadow:0 0 0 1px var(--bf-primary);outline:none}.input-wrapper input:disabled{opacity:.5;cursor:not-allowed}.auth-button{cursor:pointer;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.auth-button.primary{background-color:var(--bf-primary);color:#fff;border:none}.auth-button.primary:hover:not(:disabled){background-color:color-mix(in srgb, var(--bf-primary), white 10%)}.auth-button.google{border:1px solid var(--bf-accent);color:var(--bf-text);background-color:#0000}.auth-button.google:hover:not(:disabled){background-color:color-mix(in srgb, var(--bf-accent) 30%, transparent)}.auth-button.google .google-icon{width:1.125rem;height:1.125rem}.auth-button:disabled{opacity:.5;cursor:not-allowed}.auth-button .icon-sm{width:1rem;height:1rem}.auth-button .spinning{animation:1s linear infinite spin}.auth-divider{align-items:center;gap:1rem;margin:1.5rem 0;display:flex}.auth-divider:before,.auth-divider:after{content:"";background-color:var(--bf-accent);flex:1;height:1px}.auth-divider span{color:var(--bf-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.auth-footer{text-align:center;color:var(--bf-text-muted);margin-top:1.5rem;font-size:.875rem}.auth-footer a{color:var(--bf-primary);font-weight:500;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.unauthorized-screen{justify-content:center;align-items:center;min-height:calc(100vh - 3.5rem);padding:1.5rem;display:flex}.unauthorized-content{text-align:center;border:1px solid color-mix(in srgb, var(--bf-error) 30%, transparent);background-color:color-mix(in srgb, var(--bf-error) 5%, transparent);border-radius:.75rem;max-width:400px;padding:2rem}.unauthorized-content h1{color:var(--bf-error);margin-bottom:.5rem;font-size:1.5rem;font-weight:600}.unauthorized-content p{color:var(--bf-text-muted);margin-bottom:.5rem;font-size:.875rem}.unauthorized-icon{width:3rem;height:3rem;color:var(--bf-error);margin-bottom:1rem}.unauthorized-email{background-color:color-mix(in srgb, var(--bf-accent) 50%, transparent);border-radius:.5rem;padding:.5rem 1rem;margin-bottom:1.5rem!important}.unauthorized-email strong{color:var(--bf-text)}.unauthorized-button{border:1px solid var(--bf-error);color:var(--bf-error);cursor:pointer;background:0 0;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1.5rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.unauthorized-button:hover{background-color:color-mix(in srgb, var(--bf-error) 10%, transparent)}.accounts-page{flex-direction:column;gap:2rem;display:flex}.accounts-page .institution-card{border:1px solid var(--bf-accent);background-color:#0000;border-radius:.75rem;padding:1.5rem}.accounts-page .card{--bs-card-bg:transparent;--bs-card-border-width:0;--bs-card-border-color:transparent}.accounts-page .card .card-header{--bs-card-cap-bg:transparent;border-bottom:1px solid color-mix(in srgb, var(--bf-accent) 30%, transparent);padding:1rem 0}.accounts-page .card .card-body{--bs-card-spacer-y:1rem;--bs-card-spacer-x:0}.accounts-page .card .card-body.text-center{--bs-card-spacer-y:3rem;--bs-card-spacer-x:0}.accounts-page .table{--bs-table-bg:transparent;--bs-table-color:var(--bf-text);--bs-table-border-color:color-mix(in srgb, var(--bf-accent) 50%, transparent);--bs-table-hover-bg:color-mix(in srgb, var(--bf-accent) 30%, transparent);margin-bottom:0}.accounts-page .table thead{background-color:color-mix(in srgb, var(--bf-accent) 30%, transparent)!important}.accounts-page .table thead th{text-transform:uppercase;letter-spacing:.05em;padding:.75rem 1rem;font-size:.75rem;font-weight:500;color:var(--bf-text-tertiary)!important;border-bottom:1px solid var(--bf-accent)!important}.accounts-page .table tbody tr{border-color:color-mix(in srgb, var(--bf-accent) 50%, transparent)!important}.accounts-page .table tbody tr:hover{--bs-table-hover-bg:color-mix(in srgb, var(--bf-accent) 30%, transparent);background-color:color-mix(in srgb, var(--bf-accent) 20%, transparent)!important}.accounts-page .table tbody td{vertical-align:middle;padding:.75rem 1rem;border-color:color-mix(in srgb, var(--bf-accent) 50%, transparent)!important}.accounts-page .form-check-input{--bs-form-check-bg:transparent;border-color:var(--bf-accent)}.accounts-page .form-check-input:checked{background-color:var(--bf-primary);border-color:var(--bf-primary)}.accounts-page .form-check-input:focus{box-shadow:0 0 0 .25rem color-mix(in srgb, var(--bf-primary) 25%, transparent);border-color:var(--bf-primary)}.account-type-icon{width:1.25rem;height:1.25rem;color:var(--bf-text-muted);flex-shrink:0}.plaid-link-button{border:1px solid var(--bf-accent-blue);color:var(--bf-accent-blue);cursor:pointer;background:0 0;border-radius:.5rem;align-items:center;gap:.25rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.plaid-link-button .icon-sm{width:1rem;height:1rem}.plaid-link-button .icon-spin{animation:1s linear infinite spin}.plaid-link-button:hover:not(:disabled){background:color-mix(in srgb, var(--bf-accent-blue) 10%, transparent);border-color:var(--bf-accent-blue)}.plaid-link-button:disabled{opacity:.6;cursor:not-allowed}.sync-message{background:color-mix(in srgb, var(--bf-success) 10%, transparent);border:1px solid color-mix(in srgb, var(--bf-success) 30%, transparent);color:var(--bf-success);border-radius:.5rem;align-items:center;gap:.25rem;padding:.5rem 1rem;font-size:.875rem;display:flex}.institutions-list{flex-direction:column;gap:1rem;display:flex}.institution-card{background:var(--bf-bg-elevated);border:1px solid var(--bf-accent);border-radius:.75rem;overflow:hidden}.institution-header{border-bottom:1px solid var(--bf-accent);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.institution-info{align-items:center;gap:1rem;display:flex}.institution-info .institution-icon{width:2rem;height:2rem;color:var(--bf-primary)}.institution-info h3{margin:0;font-size:1rem;font-weight:600}.institution-info .institution-meta{color:var(--bf-text-muted);font-size:.75rem}.unlink-button{color:var(--bf-text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.5rem;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.unlink-button:hover:not(:disabled){background:color-mix(in srgb, var(--bf-error) 10%, transparent);border-color:color-mix(in srgb, var(--bf-error) 30%, transparent);color:var(--bf-error)}.unlink-button:disabled{opacity:.5;cursor:not-allowed}.accounts-list{flex-direction:column;display:flex}.accounts-header{background:color-mix(in srgb, var(--bf-accent) 30%, transparent);color:var(--bf-text-muted);text-transform:uppercase;letter-spacing:.05em;grid-template-columns:60px 1fr auto;gap:1rem;padding:.5rem 1.5rem;font-size:.75rem;font-weight:500;display:grid}.account-row{border-bottom:1px solid color-mix(in srgb, var(--bf-accent) 50%, transparent);grid-template-columns:60px 1fr auto;align-items:center;gap:1rem;padding:1rem 1.5rem;transition:opacity .2s;display:grid}.account-row:last-child{border-bottom:none}.account-row.excluded{opacity:.5}.account-row.excluded .account-name{text-decoration:line-through}.account-row .account-type-icon{width:1.25rem;height:1.25rem;color:var(--bf-text-muted)}.account-include{justify-content:center;display:flex}.include-checkbox{cursor:pointer;justify-content:center;align-items:center;display:flex;position:relative}.include-checkbox input[type=checkbox]{opacity:0;width:0;height:0;position:absolute}.include-checkbox .checkmark{border:2px solid var(--bf-accent);background:0 0;border-radius:.375rem;justify-content:center;align-items:center;width:20px;height:20px;transition:all .2s;display:flex}.include-checkbox .checkmark .icon-xs{opacity:0;width:14px;height:14px;color:var(--bf-text);transition:opacity .2s}.include-checkbox .checkmark .icon-spin{opacity:1;color:var(--bf-text-muted)}.include-checkbox input[type=checkbox]:checked+.checkmark{background:var(--bf-primary);border-color:var(--bf-primary)}.include-checkbox input[type=checkbox]:checked+.checkmark .icon-xs{opacity:1}.include-checkbox input[type=checkbox]:disabled+.checkmark{cursor:not-allowed}.include-checkbox:hover .checkmark{border-color:var(--bf-primary)}.account-details{align-items:center;gap:.5rem;display:flex}.account-info{flex-direction:column;flex:1;min-width:0;display:flex}.account-info .account-name{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.account-info .account-mask{color:var(--bf-text-muted);font-size:.75rem}.account-balance{flex-direction:column;align-items:flex-end;display:flex}.account-balance .balance-amount{font-variant-numeric:tabular-nums;font-weight:600}.account-balance .balance-label{color:var(--bf-text-muted);font-size:.75rem}.plaid-link-inline{background:linear-gradient(135deg, color-mix(in srgb, var(--bf-primary) 5%, transparent), color-mix(in srgb, var(--bf-primary) 10%, transparent));border:1px dashed color-mix(in srgb, var(--bf-primary) 30%, transparent);border-radius:.75rem;align-items:flex-start;gap:1.5rem;padding:1.5rem;display:flex}.plaid-link-inline .plaid-link-icon{background:color-mix(in srgb, var(--bf-primary) 10%, transparent);width:3rem;height:3rem;color:var(--bf-primary);border-radius:50%;justify-content:center;align-items:center;display:flex}.plaid-link-inline .plaid-link-icon svg{width:1.5rem;height:1.5rem}.plaid-link-inline .plaid-link-content{flex:1}.plaid-link-inline .plaid-link-content h4{margin:0 0 .25rem;font-size:1rem;font-weight:600}.plaid-link-inline .plaid-link-content p{color:var(--bf-text-muted);margin:0 0 1rem;font-size:.875rem}.institution-icon-blue{color:var(--bf-accent-blue)}.accounts-manage-header{align-items:center;display:none}@media (min-width:768px){.accounts-manage-header{display:grid}}.accounts-manage-header .accounts-header-label{color:var(--bf-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.accounts-manage-header .accounts-header-include{text-align:center}.accounts-manage-header .accounts-header-account{flex:1}.accounts-manage-header .accounts-header-balance{text-align:right}.accounts-manage-list{flex-direction:column;gap:.25rem;display:flex}.account-manage-item{background-color:color-mix(in srgb, var(--bf-accent) 20%, transparent);border:1px solid color-mix(in srgb, var(--bf-primary) 10%, transparent);border-radius:.5rem;align-items:center;padding:.25rem 1rem;transition:border-color .15s}.account-manage-item:hover{border-color:color-mix(in srgb, var(--bf-primary) 25%, transparent)}.account-manage-item.excluded{opacity:.6}.account-manage-include{justify-content:center;align-items:center}@media (min-width:768px){.account-manage-include{display:flex}}.account-manage-include .form-check{margin-bottom:0;padding-left:0}.account-manage-include .form-check .form-check-input{float:none;margin-left:0;position:static}.account-manage-info{align-items:center;gap:.5rem;min-width:0;display:flex}.account-manage-info .account-type-icon{flex-shrink:0}.account-name-rename-btn{color:var(--bf-text-muted);opacity:0;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 2px;line-height:1;transition:opacity .15s,color .15s}.account-name-rename-btn:hover{color:var(--bf-primary);opacity:1!important}.account-manage-item:hover .account-name-rename-btn{opacity:.5}.account-manage-balance{text-align:right;flex-shrink:0}.account-manage-balance .fw-medium{color:var(--bf-text)}@media (max-width:767.98px){.account-manage-item{cursor:pointer}.account-manage-item:active{background-color:color-mix(in srgb, var(--bf-accent) 35%, transparent)}}.account-options-modal .modal-title{font-size:1rem}.account-options-modal .modal-title .account-type-icon{flex-shrink:0}.account-options-modal .form-check-input{width:2.5rem;height:1.25rem}.settings-card{position:relative}.settings-card:before{content:"";background:var(--bf-card-gradient);pointer-events:none;z-index:1;border-radius:.5rem;padding:2px;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.settings-card{background-color:var(--bf-bg-elevated);border:1px solid color-mix(in srgb, var(--bf-primary) 30%, transparent);border-radius:.5rem;transition:border-color .15s}[data-scheme=chill] .settings-card,[data-scheme=bold] .settings-card{border-color:#0000}[data-scheme=chill] .settings-card .form-control,[data-scheme=bold] .settings-card .form-control{background-color:var(--bf-input-bg);border-color:var(--bf-input-border);color:var(--bf-text)}[data-scheme=chill] .settings-card .form-control::placeholder,[data-scheme=bold] .settings-card .form-control::placeholder{color:var(--bf-text-tertiary)}[data-scheme=chill] .settings-card .form-control:focus,[data-scheme=bold] .settings-card .form-control:focus{border-color:var(--bf-input-focus-border);box-shadow:0 0 0 .2rem color-mix(in srgb, var(--bf-input-focus-border) 25%, transparent)}.settings-card.settings-card-link{cursor:pointer}.settings-card.settings-card-link:hover{border-color:color-mix(in srgb, var(--bf-primary), white 10%)}.settings-card.settings-card-link:hover .settings-icon{background-color:color-mix(in srgb, var(--bf-primary) 20%, transparent)}.settings-card.settings-card-info{border-color:color-mix(in srgb, var(--bf-primary) 30%, transparent);background:linear-gradient(135deg, color-mix(in srgb, var(--bf-primary) 3%, transparent), color-mix(in srgb, var(--bf-primary) 8%, transparent))}.settings-card h5{color:var(--bf-text);font-weight:600}.settings-icon{background-color:color-mix(in srgb, var(--bf-primary) 10%, transparent);width:48px;height:48px;color:var(--bf-primary);border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s;display:flex}.settings-switch .form-check-input{cursor:pointer;width:3rem;height:1.5rem}.settings-switch .form-check-input:checked{background-color:var(--bf-primary);border-color:var(--bf-primary)}.settings-switch .form-check-input:focus{box-shadow:0 0 0 .25rem color-mix(in srgb, var(--bf-primary) 25%, transparent)}.passkey-list{flex-direction:column;gap:.5rem;display:flex}.passkey-item{background-color:color-mix(in srgb, var(--bf-accent) 20%, transparent);border:1px solid color-mix(in srgb, var(--bf-primary) 10%, transparent);border-radius:.5rem;justify-content:space-between;align-items:center;padding:1rem;display:flex}.passkey-item:hover{border-color:color-mix(in srgb, var(--bf-primary) 20%, transparent)}.add-passkey-form{background-color:color-mix(in srgb, var(--bf-accent) 20%, transparent);border:1px solid color-mix(in srgb, var(--bf-primary) 20%, transparent);border-radius:.5rem;padding:1rem}.passkey-name-input::placeholder{color:var(--bf-text-tertiary)}.passkey-action-button{background:var(--bf-primary);width:100%;color:var(--bf-text);cursor:pointer;border:none;border-radius:.5rem;justify-content:center;align-items:center;gap:.25rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.passkey-action-button:hover:not(:disabled){background:color-mix(in srgb, var(--bf-primary), black 8%)}.passkey-action-button:disabled{opacity:.6;cursor:not-allowed}.verify-icon-wrapper{background-color:color-mix(in srgb, var(--bf-primary) 10%, transparent);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto;display:inline-flex}.verify-icon-wrapper.verified{background-color:color-mix(in srgb, var(--bf-primary) 20%, transparent);animation:.5s ease-out pulse-success}@keyframes pulse-success{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.stay-signed-in-option{background-color:color-mix(in srgb, var(--bf-accent) 20%, transparent);border:1px solid color-mix(in srgb, var(--bf-primary) 20%, transparent);border-radius:.5rem;padding:1rem}.stay-signed-in-option .form-check-label{color:var(--bf-text)}.stay-signed-in-option .form-check-input:checked{background-color:var(--bf-primary);border-color:var(--bf-primary)}.mfa-setup-prompt .mfa-benefits{background-color:color-mix(in srgb, var(--bf-accent) 20%, transparent);border:1px solid color-mix(in srgb, var(--bf-primary) 10%, transparent);border-radius:.5rem;padding:1rem}.mfa-setup-prompt .mfa-benefits li span{color:var(--bf-text-muted)}.trusted-device-list{flex-direction:column;gap:.5rem;display:flex}.trusted-device-item{background-color:color-mix(in srgb, var(--bf-accent) 20%, transparent);border:1px solid color-mix(in srgb, var(--bf-primary) 10%, transparent);border-radius:.5rem;justify-content:space-between;align-items:center;padding:1rem;display:flex}.trusted-device-item:hover{border-color:color-mix(in srgb, var(--bf-primary) 20%, transparent)}.trusted-device-item .fw-medium{color:var(--bf-text)}.sync-categories-modal .modal-content{background-color:var(--bf-bg-elevated);border:1px solid var(--bf-primary);color:var(--bf-text)}.sync-categories-modal .modal-header{border-bottom:1px solid color-mix(in srgb, var(--bf-primary) 30%, transparent)}.sync-categories-modal .modal-header .modal-title{color:var(--bf-text)}.sync-categories-modal .modal-header .btn-close:where([data-scheme=dark] *){filter:invert()}.sync-categories-modal .modal-body p{color:var(--bf-text-muted);font-size:.9rem}.sync-option-card{border:1px solid color-mix(in srgb, var(--bf-primary) 25%, transparent);background-color:color-mix(in srgb, var(--bf-accent) 30%, transparent);cursor:pointer;border-radius:.5rem;margin-bottom:.5rem;padding:1rem;transition:border-color .15s,background-color .15s}.sync-option-card:hover{border-color:var(--bf-primary);background-color:color-mix(in srgb, var(--bf-accent) 50%, transparent)}.sync-option-card.delete-option{border-color:color-mix(in srgb, var(--bf-warning) 25%, transparent)}.sync-option-card.delete-option:hover{border-color:var(--bf-warning);background-color:color-mix(in srgb, var(--bf-warning) 8%, transparent)}.sync-option-card.delete-option .sync-option-header{color:var(--bf-warning)}.sync-option-header{color:var(--bf-primary);align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.sync-option-desc{color:var(--bf-text-muted);margin-bottom:0;padding-left:calc(18px + .5rem);font-size:.8125rem}.recovery-codes-modal .modal-content{background-color:var(--bf-bg-elevated);border:1px solid var(--bf-primary);color:var(--bf-text)}.recovery-codes-modal .modal-header{border-bottom:1px solid color-mix(in srgb, var(--bf-primary) 30%, transparent)}.recovery-codes-modal .modal-header .modal-title{color:var(--bf-text)}.recovery-codes-modal .modal-header .btn-close:where([data-scheme=dark] *){filter:invert()}.recovery-codes-modal .modal-footer{border-top:1px solid color-mix(in srgb, var(--bf-primary) 30%, transparent)}.recovery-codes-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;margin-top:1rem;display:grid}@media (min-width:576px){.recovery-codes-grid{grid-template-columns:repeat(2,1fr)}}.recovery-code-item{background-color:color-mix(in srgb, var(--bf-accent) 30%, transparent);border:1px solid color-mix(in srgb, var(--bf-primary) 20%, transparent);text-align:center;border-radius:.5rem;padding:.5rem 1rem}.recovery-code-item code{letter-spacing:.05em;color:var(--bf-primary);font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.875rem}.sync-categories-button{border:1px solid color-mix(in srgb, var(--bf-accent-blue) 30%, transparent);color:var(--bf-text-muted);cursor:pointer;background-color:#0000;border-radius:.5rem;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.8125rem;transition:all .2s;display:flex}.sync-categories-button:hover:not(:disabled){background-color:color-mix(in srgb, var(--bf-accent-blue) 10%, transparent);color:var(--bf-accent-blue);border-color:var(--bf-accent-blue)}.sync-categories-button:disabled{opacity:.6;cursor:not-allowed}.sync-categories-button .icon-sm{width:.875rem;height:.875rem}.sync-categories-button .icon-spin{animation:1s linear infinite spin}.categories-manage-header{margin-bottom:.25rem;padding:0 1rem .5rem}.categories-manage-header .categories-header-label{color:var(--bf-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.categories-manage-list{flex-direction:column;gap:.25rem;display:flex}.category-manage-item{background-color:color-mix(in srgb, var(--bf-accent) 20%, transparent);border:1px solid color-mix(in srgb, var(--bf-primary) 10%, transparent);border-radius:.5rem;margin-left:0;margin-right:0;padding:.5rem 1rem;transition:border-color .15s}.category-manage-item:hover{border-color:color-mix(in srgb, var(--bf-primary) 25%, transparent)}.category-manage-info{min-width:0}.category-name-display{align-items:center;gap:.25rem;min-width:0;display:flex}.category-manage-name{color:var(--bf-text);white-space:nowrap;text-overflow:ellipsis;font-size:.9375rem;font-weight:500;overflow:hidden}.category-edit-button{cursor:pointer;color:var(--bf-text-muted);opacity:0;background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;padding:.15rem;transition:opacity .15s,color .15s;display:flex}.category-manage-item:hover .category-edit-button{opacity:1}.category-edit-button:hover{color:var(--bf-primary)}.category-edit-button .icon-sm{width:14px;height:14px}.category-rename-form{flex:1;align-items:center;gap:.25rem;min-width:0;display:flex}.category-rename-input{background-color:color-mix(in srgb, var(--bf-accent) 40%, transparent);border:1px solid color-mix(in srgb, var(--bf-primary) 30%, transparent);min-width:0;color:var(--bf-text);border-radius:.375rem;outline:none;flex:1;padding:.2rem .5rem;font-size:.9375rem}.category-rename-input:focus{border-color:var(--bf-primary);box-shadow:0 0 0 .15rem color-mix(in srgb, var(--bf-primary) 20%, transparent)}.category-rename-input:disabled{opacity:.6}.category-rename-confirm,.category-rename-cancel{cursor:pointer;background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;padding:.2rem;display:flex}.category-rename-confirm{color:var(--bf-primary)}.category-rename-confirm:hover{color:color-mix(in srgb, var(--bf-primary), white 10%)}.category-rename-confirm:disabled{opacity:.5;cursor:default}.category-rename-cancel{color:var(--bf-text-muted)}.category-rename-cancel:hover{color:var(--bf-text)}.category-action-col{justify-content:center;align-items:center;display:flex;position:relative}@media (min-width:768px){.category-action-col:before{content:"";background-color:color-mix(in srgb, var(--bf-primary) 15%, transparent);width:1px;position:absolute;top:15%;bottom:15%;left:0}}.category-budget-toggle .form-check-input{cursor:pointer;background-color:color-mix(in srgb, var(--bf-accent) 50%, transparent);border-color:color-mix(in srgb, var(--bf-primary) 30%, transparent);width:2.5rem;height:1.25rem}.category-budget-toggle .form-check-input:checked{background-color:var(--bf-primary);border-color:var(--bf-primary)}.category-budget-toggle .form-check-input:focus{box-shadow:0 0 0 .2rem color-mix(in srgb, var(--bf-primary) 25%, transparent)}.category-budget-toggle .form-check-label{color:var(--bf-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.75rem}.rule-item{background-color:color-mix(in srgb, var(--bf-accent) 20%, transparent);border:1px solid color-mix(in srgb, var(--bf-primary) 10%, transparent);border-radius:.5rem;justify-content:space-between;align-items:center;padding:1rem;transition:border-color .15s;display:flex}.rule-item:hover{border-color:color-mix(in srgb, var(--bf-primary) 25%, transparent)}.rule-item+.rule-item{margin-top:.25rem}.settings-layout{display:block;position:relative}@media (min-width:992px){.settings-layout{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:1.5rem;max-width:1200px;margin:0 auto;padding:1rem 1rem 0;display:grid}}.settings-content{min-width:0}.settings-nav-trigger{background-color:var(--bf-bg-elevated);border:1px solid color-mix(in srgb, var(--bf-primary) 25%, transparent);width:calc(100% - 2rem);color:var(--bf-text);cursor:pointer;border-radius:.5rem;align-items:center;gap:.5rem;margin:1rem;padding:.5rem 1rem;font-size:.95rem;font-weight:500;transition:border-color .15s,background-color .15s;display:flex}.settings-nav-trigger:hover{border-color:var(--bf-primary)}.settings-nav-trigger .settings-nav-trigger-label{text-align:left;flex:1}.settings-nav-trigger .settings-nav-trigger-chev{color:var(--bf-text-muted)}@media (min-width:992px){.settings-nav-trigger{display:none}}.settings-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1040;opacity:0;pointer-events:none;background-color:#00000080;transition:opacity .2s;position:fixed;inset:0}.settings-backdrop.is-open{opacity:1;pointer-events:auto}@media (min-width:992px){.settings-backdrop{display:none}}.settings-sidebar{z-index:1050;background-color:var(--bf-bg-elevated);border-right:1px solid color-mix(in srgb, var(--bf-primary) 25%, transparent);flex-direction:column;width:min(320px,85vw);transition:transform .2s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden;transform:translate(-100%);box-shadow:4px 0 24px #00000040}.settings-sidebar.is-open{transform:translate(0)}@media (min-width:992px){.settings-sidebar{width:100%;max-height:calc(100vh - 5.5rem);box-shadow:none;border:1px solid color-mix(in srgb, var(--bf-primary) 20%, transparent);border-radius:.5rem;position:sticky;top:4.5rem;bottom:auto;left:auto;transform:none}}.settings-sidebar-header{border-bottom:1px solid color-mix(in srgb, var(--bf-primary) 15%, transparent);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.settings-sidebar-title{color:var(--bf-text);margin:0;font-size:1.25rem;font-weight:600}.settings-sidebar-close{width:32px;height:32px;color:var(--bf-text-muted);cursor:pointer;background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:inline-flex}.settings-sidebar-close:hover{background-color:color-mix(in srgb, var(--bf-primary) 10%, transparent);color:var(--bf-text)}@media (min-width:992px){.settings-sidebar-close{display:none}}.settings-nav{flex:1;padding:1rem 0;overflow-y:auto}.settings-nav-group+.settings-nav-group{margin-top:1rem}.settings-nav-group-label{text-transform:uppercase;letter-spacing:.06em;color:var(--bf-text-tertiary);padding:0 1.5rem .25rem;font-size:.7rem;font-weight:600}.settings-nav-list{margin:0;padding:0;list-style:none}.settings-nav-link{color:var(--bf-text);border-left:3px solid #0000;align-items:center;gap:.5rem;padding:.5rem 1.5rem;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:flex}.settings-nav-link:hover{background-color:color-mix(in srgb, var(--bf-primary) 8%, transparent);color:var(--bf-text)}.settings-nav-link.is-active{background-color:color-mix(in srgb, var(--bf-primary) 12%, transparent);border-left-color:var(--bf-primary);color:var(--bf-text)}.settings-nav-link.is-active .settings-nav-icon{color:var(--bf-primary)}.settings-nav-link.is-active .settings-nav-link-label{color:var(--bf-text);font-weight:600}.settings-nav-icon{width:32px;height:32px;color:var(--bf-text-muted);background-color:color-mix(in srgb, var(--bf-primary) 6%, transparent);border-radius:.375rem;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.settings-nav-link-text{flex-direction:column;min-width:0;display:flex}.settings-nav-link-label{color:var(--bf-text);font-size:.9375rem;font-weight:500;line-height:1.2}.settings-nav-link-desc{color:var(--bf-text-tertiary);margin-top:2px;font-size:.75rem;line-height:1.3}.form-check-input#deadline-toggle{background-color:var(--bf-bg-input-alt);border-color:color-mix(in srgb, var(--bf-muted) 60%, transparent)}.form-check-input#deadline-toggle:checked{background-color:var(--bf-accent-blue);border-color:var(--bf-accent-blue)}.goals-page .goal-card{position:relative}.goals-page .goal-card:before{content:"";background:var(--bf-card-gradient);pointer-events:none;z-index:1;border-radius:.5rem;padding:2px;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.goals-page .goal-card{border-width:1px;transition:border-color .2s,transform .2s}.goals-page .goal-card:hover{transform:translateY(-2px);border-color:var(--bf-primary)!important}.goals-page .goal-card.goal-completed{opacity:.55}.goals-page .goal-card.goal-completed:hover{opacity:.8}.goals-page .goal-card .goal-icon{justify-content:center;align-items:center;display:flex}.goals-page .goal-progress{background-color:color-mix(in srgb, var(--bf-primary) 10%, transparent)}.goals-page .goal-progress .progress-bar{background-color:var(--bf-primary)}.goals-page .goal-dual-progress{background-color:color-mix(in srgb, var(--bf-primary) 10%, transparent);border-radius:8px;height:14px;position:relative;overflow:visible}.goals-page .goal-progress-savings{opacity:.4;border-radius:8px;height:calc(100% + 2px);transition:width .3s;position:absolute;top:-1px;left:-1px}.goals-page .goal-progress-spending{border-radius:4px;height:calc(100% - 6px);transition:width .3s;position:absolute;top:3px;left:4px}.goals-page .goal-progress-milestone{background-color:color-mix(in srgb, var(--bf-text) 55%, transparent);z-index:2;cursor:help;border-radius:1px;width:2px;height:calc(100% + 6px);transition:left .3s;position:absolute;top:-3px}.goals-page .goal-progress-milestone:after{content:"";background-color:color-mix(in srgb, var(--bf-text) 75%, transparent);border-radius:50%;width:8px;height:8px;position:absolute;top:-2px;left:-3px}.goals-page .goal-progress-milestone.behind-schedule{background-color:color-mix(in srgb, var(--bf-warning) 80%, transparent)}.goals-page .goal-progress-milestone.behind-schedule:after{background-color:color-mix(in srgb, var(--bf-warning) 90%, transparent)}.goals-page .tracked-account-card{border-color:color-mix(in srgb, var(--bf-primary) 40%, transparent);background-color:#0000}.goals-page .tracked-account-card .buckets-section{background-color:color-mix(in srgb, var(--bf-bg-elevated) 50%, transparent);border-radius:.5rem;padding:1rem}.goals-page .tracked-account-card .bucket-item{border-bottom:1px solid color-mix(in srgb, var(--bf-accent) 20%, transparent);flex-direction:column;gap:.25rem;padding:.5rem 0;display:flex}.goals-page .tracked-account-card .bucket-item:last-of-type{border-bottom:none}.goals-page .tracked-account-card .bucket-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.goals-page .tracked-account-card .bucket-name{align-items:center;gap:.5rem;font-size:.9375rem;font-weight:500;display:flex}.goals-page .tracked-account-card .bucket-name .bucket-link-icon{color:var(--bf-accent-blue)}.goals-page .tracked-account-card .bucket-amounts{align-items:center;gap:.5rem;display:flex}.goals-page .tracked-account-card .bucket-amount{color:var(--bf-text);font-size:.9375rem;font-weight:600}.goals-page .tracked-account-card .bucket-actions{align-items:center;gap:.25rem;display:flex}.goals-page .tracked-account-card .bucket-actions .btn-link{color:var(--bf-text-muted);padding:0}.goals-page .tracked-account-card .bucket-actions .btn-link:hover{color:var(--bf-accent-blue)}.goals-page .tracked-account-card .bucket-bar-track{background-color:color-mix(in srgb, var(--bf-accent) 30%, transparent);border-radius:9999px;height:8px;overflow:hidden}.goals-page .tracked-account-card .bucket-bar-fill{background:linear-gradient(90deg, var(--bf-accent-blue), color-mix(in srgb, var(--bf-accent-blue), white 10%));border-radius:9999px;min-width:2px;height:100%;transition:width .2s}.goals-page .tracked-account-card .bucket-bar-fill.bucket-bar-negative{background:linear-gradient(90deg, var(--bf-warning), color-mix(in srgb, var(--bf-warning), white 15%))}.goals-page .tracked-account-card .bucket-meta{justify-content:flex-end;display:flex}.goals-page .tracked-account-card .bucket-meta .bucket-percent{color:var(--bf-accent-blue);font-size:.75rem;font-weight:500}.goals-page .clickable{cursor:pointer}@media (max-width:576px){.goals-page .goals-header-actions{justify-content:space-between;width:100%}}.icon-grid{grid-template-columns:repeat(8,1fr);gap:.5rem;display:grid}@media (max-width:576px){.icon-grid{grid-template-columns:repeat(6,1fr)}}.icon-grid .icon-option{aspect-ratio:1;border-radius:.375rem;justify-content:center;align-items:center;display:flex}.icon-grid .icon-option:hover{background-color:color-mix(in srgb, var(--bf-primary) 20%, transparent)}.color-grid{grid-template-columns:repeat(6,1fr);gap:.5rem;display:grid}@media (max-width:576px){.color-grid{grid-template-columns:repeat(4,1fr)}}.color-grid .color-option{aspect-ratio:1;border-radius:.375rem;justify-content:center;align-items:center;min-height:40px;transition:transform .15s,border-color .15s;display:flex}.color-grid .color-option:hover{transform:scale(1.1)}.color-grid .color-option.selected{transform:scale(1.05)}.amount-input-group{align-items:center;display:flex;position:relative}.amount-input-group .amount-input,.amount-input-group .form-control.amount-input{border-color:color-mix(in srgb, var(--bf-accent-blue) 30%, transparent);text-align:left!important;appearance:textfield!important;border-radius:.5rem!important;width:100%!important;padding-right:40px!important}.amount-input-group .amount-input::-webkit-outer-spin-button{-webkit-appearance:none!important;margin:0!important;display:none!important}.amount-input-group .amount-input::-webkit-inner-spin-button{-webkit-appearance:none!important;margin:0!important;display:none!important}.amount-input-group .form-control.amount-input::-webkit-outer-spin-button{-webkit-appearance:none!important;margin:0!important;display:none!important}.amount-input-group .form-control.amount-input::-webkit-inner-spin-button{-webkit-appearance:none!important;margin:0!important;display:none!important}.amount-input-group .amount-input:focus,.amount-input-group .form-control.amount-input:focus{border-color:var(--bf-accent-blue);box-shadow:0 0 0 .2rem color-mix(in srgb, var(--bf-accent-blue) 25%, transparent)}.amount-input-group .amount-btn-group{border-left:1px solid color-mix(in srgb, var(--bf-accent-blue) 30%, transparent);border-radius:0 .5rem .5rem 0;flex-direction:column;width:32px;display:flex;position:absolute;top:1px;bottom:1px;right:1px;overflow:hidden}.amount-input-group .amount-btn{color:var(--bf-accent-blue);cursor:pointer;background-color:#0000;border:none;flex:1;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex}.amount-input-group .amount-btn.amount-btn-plus{border-bottom:1px solid color-mix(in srgb, var(--bf-accent-blue) 30%, transparent)}.amount-input-group .amount-btn:hover{background-color:color-mix(in srgb, var(--bf-accent-blue) 10%, transparent)}.amount-input-group .amount-btn:active{background-color:color-mix(in srgb, var(--bf-accent-blue) 20%, transparent)}.amount-input-group .amount-btn svg{width:12px;height:12px}.funding-breakdown .funding-bar{background-color:color-mix(in srgb, var(--bf-primary) 10%, transparent);border-radius:9999px;gap:1px;height:10px;display:flex;overflow:hidden}.funding-breakdown .funding-bar-segment{min-width:2px;height:100%;transition:width .2s}.funding-breakdown .funding-bar-bucket{background-color:var(--bf-accent-blue);border-radius:9999px 0 0 9999px}.funding-breakdown .funding-bar-rollover{background-color:var(--bf-primary);border-radius:0 9999px 9999px 0}.funding-breakdown .funding-bar-bucket:only-child,.funding-breakdown .funding-bar-rollover:only-child{border-radius:9999px}.account-bubbles-section{flex-direction:column;gap:.5rem;display:flex}.account-bubbles-label{color:var(--bf-text-muted);text-transform:uppercase;letter-spacing:.05em;align-items:center;padding-left:.25rem;font-size:.75rem;font-weight:600;display:flex}.account-bubbles-grid{background:color-mix(in srgb, var(--bf-accent) 15%, transparent);border:1px dashed color-mix(in srgb, var(--bf-primary) 20%, transparent);border-radius:.5rem;flex-wrap:wrap;gap:.5rem;min-height:2.5rem;padding:.5rem;display:flex}.account-bubble-wrapper{display:inline-flex;position:relative}.account-bubble-wrapper:hover .account-bubble-hide{opacity:1}.account-bubble{background:var(--bf-bg-elevated);border:1px solid color-mix(in srgb, var(--bf-primary) 20%, transparent);color:var(--bf-text);white-space:nowrap;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:9999px;align-items:center;gap:.25rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:border-color .15s,box-shadow .15s;display:inline-flex}.account-bubble:hover{border-color:color-mix(in srgb, var(--bf-primary) 50%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--bf-primary) 15%, transparent)}.account-bubble:active{cursor:grabbing}.account-bubble-hide{background:color-mix(in srgb, var(--bf-accent) 90%, transparent);border:1px solid color-mix(in srgb, var(--bf-primary) 30%, transparent);width:16px;height:16px;color:var(--bf-text-muted);cursor:pointer;opacity:0;z-index:1;border-radius:50%;justify-content:center;align-items:center;transition:opacity .15s,color .15s,background .15s;display:flex;position:absolute;top:-5px;right:-5px}.account-bubble-hide:hover{color:var(--bf-error);background:color-mix(in srgb, var(--bf-error) 15%, transparent);border-color:color-mix(in srgb, var(--bf-error) 40%, transparent)}.account-bubble-dragging{border-color:var(--bf-primary);background:var(--bf-bg-elevated);cursor:grabbing;z-index:1000;box-shadow:0 8px 24px #0006}.account-bubble-icon{color:var(--bf-accent-blue);align-items:center;display:flex}.account-bubble-name{text-overflow:ellipsis;max-width:10rem;overflow:hidden}.account-bubble-mask{color:var(--bf-text-muted);font-size:.75rem}.balance-refresh-button{border-color:color-mix(in srgb, var(--bf-primary) 30%, transparent);color:var(--bf-text-muted);align-items:center;gap:.25rem;display:flex}.balance-refresh-button:hover:not(:disabled){border-color:var(--bf-primary);color:var(--bf-text);background:color-mix(in srgb, var(--bf-primary) 10%, transparent)}.ledger-cards-section{flex-direction:column;display:flex}.ledger-cards-grid{flex-direction:column;gap:1rem;display:flex}.ledger-card{position:relative}.ledger-card:before{content:"";background:var(--bf-card-gradient);pointer-events:none;z-index:1;border-radius:.75rem;padding:2px;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.ledger-card{background:var(--bf-bg-elevated);border:1px solid var(--bf-accent);border-radius:.75rem;padding:1.5rem;transition:border-color .15s,box-shadow .15s}.ledger-card.ledger-card-over{border-color:var(--bf-primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--bf-primary) 20%, transparent);background:color-mix(in srgb, var(--bf-primary) 3%, transparent)}.ledger-card-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.ledger-card-title{color:var(--bf-text);cursor:pointer;align-items:center;gap:.5rem;margin:0;font-size:1.0625rem;font-weight:600;transition:color .15s;display:flex}.ledger-card-title:hover,.ledger-card-icon{color:var(--bf-primary)}.ledger-card-actions{align-items:center;display:flex}.ledger-delete-button{cursor:pointer;color:var(--bf-text-muted);background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;padding:.25rem;transition:color .15s;display:flex}.ledger-delete-button:hover{color:var(--bf-error)}.ledger-card-rename{flex:1;align-items:center;gap:.25rem;display:flex}.ledger-rename-input{background:color-mix(in srgb, var(--bf-accent) 40%, transparent);border:1px solid color-mix(in srgb, var(--bf-primary) 30%, transparent);color:var(--bf-text);border-radius:.375rem;outline:none;flex:1;padding:.25rem .5rem;font-size:1rem;font-weight:600}.ledger-rename-input:focus{border-color:var(--bf-primary);box-shadow:0 0 0 .15rem color-mix(in srgb, var(--bf-primary) 20%, transparent)}.ledger-rename-confirm{cursor:pointer;color:var(--bf-primary);background:0 0;border:none;align-items:center;padding:.2rem;display:flex}.ledger-rename-confirm:hover{color:color-mix(in srgb, var(--bf-primary), white 10%)}.ledger-rename-cancel{cursor:pointer;color:var(--bf-text-muted);background:0 0;border:none;align-items:center;padding:.2rem;display:flex}.ledger-rename-cancel:hover{color:var(--bf-text)}.ledger-card-empty{text-align:center;border:1px dashed color-mix(in srgb, var(--bf-primary) 20%, transparent);background:color-mix(in srgb, var(--bf-accent) 10%, transparent);border-radius:.5rem;padding:1.5rem}.ledger-card-empty p{color:var(--bf-text-muted);margin:0;font-size:.875rem}.ledger-section{margin-bottom:.5rem}.ledger-section:last-of-type{margin-bottom:1rem}.ledger-section-header{color:var(--bf-text-muted);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.6875rem;font-weight:600;display:flex}.ledger-section-icon.positive{color:var(--bf-income)}.ledger-section-icon.negative{color:var(--bf-expense)}.ledger-account-row{background:color-mix(in srgb, var(--bf-accent) 20%, transparent);border:1px solid color-mix(in srgb, var(--bf-primary) 10%, transparent);border-radius:.5rem;justify-content:space-between;align-items:center;margin-bottom:.25rem;padding:.5rem 1rem;transition:border-color .15s;display:flex}.ledger-account-row:hover{border-color:color-mix(in srgb, var(--bf-primary) 25%, transparent)}.ledger-account-row:hover .ledger-remove-button{opacity:1}.ledger-account-row:last-child{margin-bottom:0}.ledger-account-info{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.ledger-account-icon{color:var(--bf-accent-blue);flex-shrink:0;align-items:center;display:flex}.ledger-account-details{flex-direction:column;min-width:0;display:flex}.ledger-account-name{color:var(--bf-text);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;overflow:hidden}.ledger-account-meta{color:var(--bf-text-muted);font-size:.6875rem}.ledger-account-right{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.ledger-account-balance{font-variant-numeric:tabular-nums;font-size:.875rem;font-weight:600}.ledger-account-balance.positive{color:var(--bf-income)}.ledger-account-balance.negative{color:var(--bf-expense)}.ledger-remove-button{cursor:pointer;width:1.25rem;height:1.25rem;color:var(--bf-text-muted);opacity:0;background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;padding:0;transition:opacity .15s,color .15s;display:flex}.ledger-remove-button:hover{color:var(--bf-error)}.ledger-card-total{border-top:1px solid color-mix(in srgb, var(--bf-primary) 15%, transparent);justify-content:space-between;align-items:center;margin-top:.5rem;padding:1rem 2.75rem 1rem 1rem;display:flex}.ledger-total-label{color:var(--bf-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:600}.ledger-total-amount{font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:700}.ledger-total-amount.positive{color:var(--bf-income)}.ledger-total-amount.negative{color:var(--bf-expense)}.add-card-form{background:color-mix(in srgb, var(--bf-accent) 20%, transparent);border:1px solid color-mix(in srgb, var(--bf-primary) 20%, transparent);border-radius:.5rem;align-items:center;gap:.25rem;margin-bottom:1rem;padding:.5rem 1rem;display:flex}@media (max-width:767.98px){.ledger-card{padding:.5rem}.ledger-card-header{margin-bottom:.5rem}.ledger-account-row{padding:.25rem .5rem}.ledger-remove-button{display:none}.ledger-card-total,.ledger-card-empty{padding:.5rem}}.onboarding-widget{background:var(--bf-text);width:100%;color:var(--bf-bg);border-radius:.85rem;margin-bottom:1.5rem;padding:1.5rem 1.75rem 1.25rem;position:relative;box-shadow:0 6px 20px #0000002e}.onboarding-widget__close{width:28px;height:28px;color:var(--bf-bg);cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:opacity .15s,background .15s;display:flex;position:absolute;top:.75rem;right:.75rem}.onboarding-widget__close:hover{opacity:1;background:color-mix(in srgb, var(--bf-bg) 15%, transparent)}.onboarding-widget__header{margin-bottom:1rem;padding-right:2rem}.onboarding-widget__title{color:var(--bf-bg);margin:0 0 .25rem;font-size:1.25rem;font-weight:600}.onboarding-widget__subtitle{color:color-mix(in srgb, var(--bf-bg) 80%, transparent);margin:0;font-size:.875rem}.onboarding-widget__footer{border-top:1px solid color-mix(in srgb, var(--bf-bg) 15%, transparent);justify-content:flex-end;gap:.75rem;margin-top:1.25rem;padding-top:1rem;display:flex}.onboarding-widget__btn{cursor:pointer;border-radius:.5rem;padding:.45rem 1rem;font-size:.875rem;font-weight:500;transition:background .15s,border-color .15s,color .15s}.onboarding-widget__btn--secondary{border:1px solid color-mix(in srgb, var(--bf-bg) 40%, transparent);color:var(--bf-bg);background:0 0}.onboarding-widget__btn--secondary:hover{background:color-mix(in srgb, var(--bf-bg) 12%, transparent);border-color:var(--bf-bg)}.onboarding-widget__btn--primary{background:var(--bf-bg);border:1px solid var(--bf-bg);color:var(--bf-text)}.onboarding-widget__btn--primary:hover{background:color-mix(in srgb, var(--bf-bg) 85%, var(--bf-primary))}.onboarding-checklist-body{flex-direction:column;gap:.75rem;display:flex}.onboarding-checklist-body--compact{gap:.5rem}.onboarding-checklist-progress{color:color-mix(in srgb, currentColor 80%, transparent);flex-direction:column;gap:.35rem;font-size:.8rem;display:flex}.onboarding-checklist-progress strong{color:currentColor}.onboarding-checklist-progress-bar{background:color-mix(in srgb, currentColor 20%, transparent);border-radius:999px;width:100%;height:4px;overflow:hidden}.onboarding-checklist-progress-bar__fill{background:currentColor;border-radius:999px;height:100%;transition:width .25s}.onboarding-checklist-items{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.onboarding-checklist-item{background:color-mix(in srgb, currentColor 8%, transparent);cursor:pointer;border-radius:.5rem;outline:none;align-items:center;gap:.75rem;padding:.5rem .65rem;transition:background .12s;display:flex}.onboarding-checklist-item:hover{background:color-mix(in srgb, currentColor 14%, transparent)}.onboarding-checklist-item:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, currentColor 60%, transparent)}.onboarding-checklist-item:hover .onboarding-checklist-item__start{background:color-mix(in srgb, currentColor 18%, transparent);transform:translate(2px)}.onboarding-checklist-item.is-complete{opacity:.6}.onboarding-checklist-item.is-complete .onboarding-checklist-item__label{text-decoration:line-through}.onboarding-checklist-item__check{border:1.5px solid color-mix(in srgb, currentColor 50%, transparent);color:currentColor;cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;transition:background .12s,border-color .12s;display:flex}.is-complete .onboarding-checklist-item__check{color:var(--bf-bg);background:currentColor;border-color:currentColor}.onboarding-checklist-item__index{font-size:.7rem;font-weight:600;line-height:1}.onboarding-checklist-item__label{flex:1;font-size:.9rem;line-height:1.3}.onboarding-checklist-item__optional{opacity:.75;margin-right:.15rem;font-size:.8rem;font-style:italic}.onboarding-checklist-item__start{color:currentColor;pointer-events:none;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:background .12s,transform .12s;display:flex}.onboarding-chip-wrap{z-index:1040;flex-direction:column;align-items:flex-end;gap:.5rem;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.onboarding-chip{border:1px solid color-mix(in srgb, var(--bf-text) 30%, transparent);background:var(--bf-text);color:var(--bf-bg);cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:.45rem .85rem;font-size:.8rem;font-weight:500;transition:transform .15s,box-shadow .15s;display:inline-flex;box-shadow:0 4px 14px #0000002e}.onboarding-chip:hover{transform:translateY(-1px);box-shadow:0 6px 20px #00000040}.onboarding-chip-popover{background:var(--bf-text);width:320px;max-width:calc(100vw - 2rem);color:var(--bf-bg);border-radius:.75rem;padding:1rem 1.1rem;box-shadow:0 10px 30px #00000040}.onboarding-chip-popover__header{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;display:flex}.onboarding-chip-popover__title{color:var(--bf-bg);margin:0;font-size:1rem;font-weight:600}.onboarding-chip-popover__close{width:24px;height:24px;color:var(--bf-bg);cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.onboarding-chip-popover__close:hover{opacity:1;background:color-mix(in srgb, var(--bf-bg) 15%, transparent)}.onboarding-chip-popover__footer{border-top:1px solid color-mix(in srgb, var(--bf-bg) 15%, transparent);justify-content:flex-end;gap:.5rem;margin-top:.9rem;padding-top:.75rem;display:flex}.onboarding-spotlight-layer{z-index:1050;pointer-events:none;position:fixed;inset:0}.onboarding-spotlight-overlay{background:var(--bf-overlay,#0009);pointer-events:auto;cursor:pointer;position:fixed}.onboarding-spotlight-ring{box-shadow:0 0 0 2px var(--bf-primary),0 0 20px 4px color-mix(in srgb, var(--bf-primary) 60%, transparent);pointer-events:none;border-radius:.5rem;animation:1.6s ease-in-out infinite onboarding-spotlight-pulse;position:fixed}@keyframes onboarding-spotlight-pulse{0%,to{box-shadow:0 0 0 2px var(--bf-primary),0 0 14px 2px color-mix(in srgb, var(--bf-primary) 50%, transparent)}50%{box-shadow:0 0 0 3px var(--bf-primary),0 0 24px 6px color-mix(in srgb, var(--bf-primary) 70%, transparent)}}.onboarding-spotlight-tooltip{background:var(--bf-bg-elevated);color:var(--bf-text);border:1px solid color-mix(in srgb, var(--bf-primary) 30%, transparent);pointer-events:auto;border-radius:.6rem;max-width:320px;padding:1rem 1.1rem .85rem;position:fixed;box-shadow:0 10px 30px #0000004d}.onboarding-spotlight-tooltip__close{width:22px;height:22px;color:var(--bf-text-muted);cursor:pointer;opacity:.75;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:.4rem;right:.4rem}.onboarding-spotlight-tooltip__close:hover{opacity:1;background:color-mix(in srgb, var(--bf-text) 10%, transparent)}.onboarding-spotlight-tooltip__title{color:var(--bf-text);margin:0 0 .35rem;padding-right:1.5rem;font-size:.95rem;font-weight:600}.onboarding-spotlight-tooltip__body{color:var(--bf-text-muted);margin:0;font-size:.85rem;line-height:1.45}.onboarding-spotlight-tooltip__actions{justify-content:flex-end;gap:.5rem;margin-top:.85rem;display:flex}.onboarding-spotlight-tooltip__skip{border:1px solid color-mix(in srgb, var(--bf-text) 20%, transparent);color:var(--bf-text-muted);cursor:pointer;background:0 0;border-radius:.4rem;padding:.3rem .75rem;font-size:.8rem}.onboarding-spotlight-tooltip__skip:hover{color:var(--bf-text);border-color:color-mix(in srgb, var(--bf-text) 40%, transparent)}.onboarding-spotlight-tooltip__next{background:var(--bf-primary);border:1px solid var(--bf-primary);color:var(--bf-bg);cursor:pointer;border-radius:.4rem;padding:.3rem .9rem;font-size:.8rem;font-weight:500}.onboarding-spotlight-tooltip__next:hover{filter:brightness(1.05)}.onboarding-spotlight-dismiss{background:var(--bf-primary);color:var(--bf-bg);cursor:pointer;pointer-events:auto;border:none;border-radius:999px;padding:.35rem .9rem;font-size:.8rem;font-weight:500;position:fixed;transform:translate(-50%);box-shadow:0 4px 14px #00000040}.onboarding-spotlight-dismiss:hover{filter:brightness(1.05)}.onboarding-fab{z-index:1040;border:1px solid color-mix(in srgb, var(--bf-primary) 40%, transparent);background:linear-gradient(135deg, var(--bf-bg-elevated) 0%, color-mix(in srgb, var(--bf-accent) 60%, var(--bf-bg-elevated)) 100%);width:48px;height:48px;color:var(--bf-primary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 4px 16px #0006}.onboarding-fab:hover{border-color:var(--bf-primary);box-shadow:0 6px 24px color-mix(in srgb, var(--bf-primary) 25%, transparent);transform:scale(1.08)}.onboarding-fab:active{transform:scale(.96)}.onboarding-fab-badge{background:var(--bf-primary);color:var(--bf-text);text-align:center;border-radius:9999px;min-width:22px;padding:2px 5px;font-size:.625rem;font-weight:700;line-height:1;position:absolute;top:-4px;right:-4px}.onboarding-offcanvas{color:var(--bf-text);background-color:var(--bf-bg-elevated)!important;border-left:1px solid color-mix(in srgb, var(--bf-primary) 20%, transparent)!important;max-width:380px!important}.onboarding-offcanvas .btn-close{display:none}.onboarding-header{align-items:flex-start;display:flex;border-bottom:none!important;padding:1.25rem 1.25rem .75rem!important}.onboarding-title{color:var(--bf-text);align-items:center;font-size:1.125rem;font-weight:600;display:flex}.onboarding-subtitle{color:var(--bf-text-secondary);margin-top:.25rem;font-size:.8125rem}.onboarding-close-btn{cursor:pointer;color:var(--bf-text-secondary);background:0 0;border:none;border-radius:.25rem;flex-shrink:0;justify-content:center;align-items:center;padding:.25rem;transition:color .15s,background-color .15s;display:flex}.onboarding-close-btn:hover{color:var(--bf-text);background-color:color-mix(in srgb, var(--bf-text) 10%, transparent)}.onboarding-progress-section{border-bottom:1px solid color-mix(in srgb, var(--bf-primary) 15%, transparent);padding:.75rem 1.25rem 1rem}.onboarding-progress-label{color:var(--bf-text-muted);font-size:.8125rem}.onboarding-progress-percent{color:var(--bf-primary);font-size:.8125rem;font-weight:600}.onboarding-progress-bar{background-color:color-mix(in srgb, var(--bf-primary) 15%, transparent);border-radius:3px;height:6px}.onboarding-progress-bar .progress-bar{background-color:var(--bf-primary);border-radius:3px;transition:width .4s}.onboarding-body{padding:1rem 1.25rem!important}.onboarding-item{text-align:left;width:100%;color:var(--bf-text);background:0 0;border:1px solid #0000;border-radius:.5rem;align-items:flex-start;gap:0;padding:0;transition:background-color .15s,border-color .15s;display:flex}.onboarding-item:hover{background-color:color-mix(in srgb, var(--bf-primary) 8%, transparent);border-color:color-mix(in srgb, var(--bf-primary) 20%, transparent)}.onboarding-item-complete{opacity:.6}.onboarding-item-check{cursor:pointer;flex-shrink:0;align-items:flex-start;padding:1rem .5rem .875rem .875rem;display:flex}.onboarding-item-check:hover .onboarding-check-empty{border-color:color-mix(in srgb, var(--bf-primary) 80%, transparent);color:color-mix(in srgb, var(--bf-primary) 80%, transparent)}.onboarding-item-check:hover .onboarding-check-done{background-color:color-mix(in srgb, var(--bf-primary), black 12%)}.onboarding-item-body{cursor:pointer;flex-grow:1;align-items:flex-start;gap:.75rem;min-width:0;padding:.875rem .875rem .875rem .25rem;display:flex}.onboarding-check-done{background-color:var(--bf-primary);width:22px;height:22px;color:var(--bf-text);border-radius:50%;justify-content:center;align-items:center;display:flex}.onboarding-check-empty{border:2px solid color-mix(in srgb, var(--bf-primary) 40%, transparent);width:22px;height:22px;color:color-mix(in srgb, var(--bf-primary) 40%, transparent);border-radius:50%;justify-content:center;align-items:center;display:flex}.onboarding-item-icon{color:var(--bf-accent-blue);flex-shrink:0;margin-top:1px}.onboarding-item-content{flex-grow:1;min-width:0}.onboarding-item-label{margin-bottom:.125rem;font-size:.875rem;font-weight:500;line-height:1.3}.onboarding-item-label.completed{color:var(--bf-text-secondary);text-decoration:line-through}.onboarding-item-desc{color:var(--bf-text-secondary);font-size:.75rem;line-height:1.4}.onboarding-item-arrow{color:var(--bf-text-secondary);flex-shrink:0;margin-top:2px;transition:transform .15s}.onboarding-item-body:hover .onboarding-item-arrow{color:var(--bf-primary);transform:translate(2px)}.onboarding-footer{border-top:1px solid color-mix(in srgb, var(--bf-primary) 15%, transparent);text-align:center;padding:.75rem 1.25rem}.onboarding-hide-btn{font-size:.8125rem;color:var(--bf-text-muted)!important;border-color:color-mix(in srgb, var(--bf-primary) 30%, transparent)!important;background:0 0!important}.onboarding-hide-btn:hover{background-color:color-mix(in srgb, var(--bf-primary) 10%, transparent)!important;border-color:var(--bf-primary)!important;color:var(--bf-text)!important}.onboarding-dismiss-btn{font-size:.75rem;color:var(--bf-text-secondary)!important;text-decoration:none!important}.onboarding-dismiss-btn:hover{color:var(--bf-text-muted)!important}.onboarding-allset-btn{border-radius:.375rem;justify-content:center;align-items:center;padding:.625rem 1rem;font-size:.875rem;font-weight:600;display:flex;background-color:var(--bf-primary)!important;border-color:var(--bf-primary)!important;color:var(--bf-text)!important}.onboarding-allset-btn:hover{background-color:color-mix(in srgb, var(--bf-primary), black 10%)!important;border-color:color-mix(in srgb, var(--bf-primary), black 10%)!important}@media (max-width:576px){.onboarding-offcanvas{max-width:100%!important}.onboarding-fab{width:44px;height:44px;bottom:1rem;right:1rem}}.admin-console{max-width:1200px!important}.admin-console .admin-toast{z-index:1060;border-radius:.5rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:500;animation:.3s forwards adminToastIn;position:fixed;top:4.5rem;right:1rem;box-shadow:0 4px 20px #0006}.admin-console .admin-toast-success{background:color-mix(in srgb, var(--bf-success) 15%, transparent);border:1px solid color-mix(in srgb, var(--bf-success) 30%, transparent);color:var(--bf-success)}.admin-console .admin-toast-danger{background:color-mix(in srgb, var(--bf-error) 15%, transparent);border:1px solid color-mix(in srgb, var(--bf-error) 30%, transparent);color:var(--bf-error)}@keyframes adminToastIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.admin-console .admin-stat-card{background:var(--bf-bg-elevated);border:1px solid color-mix(in srgb, var(--bf-text) 8%, transparent);transition:border-color .2s}.admin-console .admin-stat-card:hover{border-color:color-mix(in srgb, var(--bf-primary) 30%, transparent)}.admin-console .admin-stat-card .admin-stat-value{color:var(--bf-text);font-size:1.5rem;font-weight:700;line-height:1.2}.admin-console .admin-stat-card .admin-stat-label{color:var(--bf-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem;font-size:.75rem}.admin-console .admin-users-table{color:var(--bf-text)}.admin-console .admin-users-table thead th{background:color-mix(in srgb, var(--bf-text) 8%, transparent);border-bottom:1px solid color-mix(in srgb, var(--bf-text) 10%, transparent);color:var(--bf-text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;padding:.75rem 1rem;font-size:.75rem;font-weight:600}.admin-console .admin-users-table tbody td{border-bottom:1px solid color-mix(in srgb, var(--bf-text) 6%, transparent);vertical-align:middle;padding:.75rem 1rem}.admin-console .admin-users-table tbody tr{transition:background-color .15s}.admin-console .admin-users-table tbody tr:hover{background-color:color-mix(in srgb, var(--bf-text) 5%, transparent)}.admin-console .admin-users-table .sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}.admin-console .admin-users-table .sortable-header:hover{color:var(--bf-primary)}.admin-console .admin-users-table .user-cell{cursor:pointer}.admin-console .admin-users-table .user-cell:hover .fw-medium{color:var(--bf-primary)}.admin-console .admin-user-avatar{background:color-mix(in srgb, var(--bf-primary) 20%, transparent);width:32px;height:32px;color:var(--bf-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.875rem;font-weight:600;display:flex}.admin-console .admin-user-avatar-lg{width:56px;height:56px;font-size:1.25rem}.admin-console .admin-action-btn{border-radius:.375rem;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex}.admin-console .admin-badge-tiny{vertical-align:middle;padding:.15em .4em;font-size:.6rem}.admin-console .admin-delete-warning{background:color-mix(in srgb, var(--bf-error) 8%, transparent);border:1px solid color-mix(in srgb, var(--bf-error) 20%, transparent);border-radius:.5rem;margin-top:1rem;padding:1rem}.admin-console .admin-delete-warning ul{padding-left:1.25rem}.admin-console .admin-delete-warning ul li{color:var(--bf-text-muted);margin-bottom:.25rem}.admin-console .admin-delete-warning ul li:last-child{margin-bottom:0}.admin-console .admin-user-detail .admin-detail-grid{flex-direction:column;gap:.5rem;display:flex}.admin-console .admin-user-detail .admin-detail-row{border-bottom:1px solid color-mix(in srgb, var(--bf-text) 6%, transparent);justify-content:space-between;align-items:center;padding:.375rem 0;display:flex}.admin-console .admin-user-detail .admin-detail-row:last-child{border-bottom:none}.admin-console .admin-user-detail .admin-detail-label{color:var(--bf-text-muted);font-size:.8125rem}.admin-console .admin-user-detail .admin-detail-value{color:var(--bf-text);text-align:right;word-break:break-all;max-width:60%;font-size:.8125rem}.admin-modal .modal-content{background:var(--bf-bg-elevated);border:1px solid color-mix(in srgb, var(--bf-text) 10%, transparent)}.admin-modal .modal-header{border-bottom:1px solid color-mix(in srgb, var(--bf-text) 10%, transparent)}.admin-modal .modal-footer{border-top:1px solid color-mix(in srgb, var(--bf-text) 10%, transparent)}.dashboard{width:100%}.dashboard-metrics{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}@media (max-width:991px){.dashboard-metrics{grid-template-columns:repeat(2,1fr)}}@media (max-width:575px){.dashboard-metrics{grid-template-columns:1fr}}.metric-card{background:var(--bf-card-bg);border-radius:.75rem;padding:1.5rem;position:relative}.metric-card:before{content:"";background:var(--bf-card-gradient);pointer-events:none;z-index:1;border-radius:.75rem;padding:2px;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.metric-card__label{color:var(--bf-text-muted);letter-spacing:.02em;text-transform:uppercase;margin-bottom:.25rem;font-size:.75rem;font-weight:500}.metric-card__value{color:var(--bf-text);letter-spacing:-.03em;font-size:1.625rem;font-weight:700;line-height:1.1}.metric-card__value--positive{color:var(--bf-income)}.metric-card__value--negative{color:var(--bf-expense)}.metric-card__sub{color:var(--bf-text-muted);margin-top:.25rem;font-size:.75rem}.dashboard-charts{grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1rem;display:grid}@media (max-width:767px){.dashboard-charts{grid-template-columns:1fr}}.chart-card{background:var(--bf-card-bg);border-radius:.75rem;min-width:0;padding:1.5rem;position:relative}.chart-card:before{content:"";background:var(--bf-card-gradient);pointer-events:none;z-index:1;border-radius:.75rem;padding:2px;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.chart-card--full{grid-column:1/-1}.chart-card__header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.chart-card__title{color:var(--bf-text);letter-spacing:-.01em;font-size:.9375rem;font-weight:600}.chart-card__subtitle{color:var(--bf-text-muted);margin-top:.125rem;font-size:.75rem}.category-legend{flex-direction:column;flex:1;gap:.5rem;min-width:0;display:flex}.category-legend__row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.category-legend__left{align-items:center;gap:.4375rem;min-width:0;display:flex}.category-legend__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.category-legend__name{color:var(--bf-text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;overflow:hidden}.category-legend__amount{color:var(--bf-text);flex-shrink:0;font-size:.8125rem;font-weight:500}.donut-layout{align-items:center;gap:1.5rem;display:flex}@media (max-width:575px){.donut-layout{flex-direction:column}}.donut-container{flex-shrink:0;width:140px;height:140px;position:relative}.donut-center{text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.donut-center__value{color:var(--bf-text);letter-spacing:-.03em;font-size:1rem;font-weight:700}.donut-center__label{color:var(--bf-text-muted);font-size:.625rem}.dashboard-placeholder{border:1.5px dashed color-mix(in srgb, var(--bf-text-muted) 30%, transparent);text-align:center;border-radius:.75rem;flex-direction:column;justify-content:center;align-items:center;min-height:200px;padding:2rem;display:flex}.dashboard-placeholder__icon{color:var(--bf-text-muted);opacity:.5;margin-bottom:.5rem}.dashboard-placeholder__title{color:var(--bf-text-muted);margin-bottom:.25rem;font-size:.875rem;font-weight:600}.dashboard-placeholder__text{color:var(--bf-text-tertiary);max-width:260px;font-size:.75rem}.bar-legend{align-items:center;gap:1rem;display:flex}.bar-legend__item{color:var(--bf-text-muted);align-items:center;gap:.375rem;font-size:.75rem;display:flex}.bar-legend__swatch{border-radius:2px;width:10px;height:10px}.upcoming-bills{flex-direction:column;gap:.5rem;display:flex}.upcoming-bill{border-bottom:1px solid color-mix(in srgb, var(--bf-accent) 40%, transparent);justify-content:space-between;align-items:center;padding:.5rem 0;display:flex;overflow:hidden}.upcoming-bill:has(+.upcoming-bills__total){border-bottom:none}.upcoming-bill__info{min-width:0}.upcoming-bill__name{color:var(--bf-text);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;overflow:hidden}.upcoming-bill__date{color:var(--bf-text-muted);font-size:.75rem}.upcoming-bill__amount{color:var(--bf-expense);flex-shrink:0;margin-left:.5rem;font-size:.875rem;font-weight:600}.upcoming-bills__total{border-top:1px solid color-mix(in srgb, var(--bf-accent) 60%, transparent);color:var(--bf-text);justify-content:space-between;padding-top:.5rem;font-size:.8125rem;font-weight:600;display:flex}.safe-to-spend{text-align:center}.safe-to-spend__amount{color:var(--bf-income);letter-spacing:-.03em;margin-bottom:1rem;font-size:2rem;font-weight:700}.safe-to-spend__amount--low{color:var(--bf-expense)}.safe-to-spend__breakdown{flex-direction:column;gap:.25rem;display:flex}.safe-to-spend__row{color:var(--bf-text-muted);justify-content:space-between;font-size:.8125rem;display:flex}.chart-card--cash-flow{margin-top:1rem}.chart-card__icon-btn{color:var(--bf-text-muted);cursor:pointer;background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;padding:.25rem;transition:color .15s,background .15s;display:inline-flex}.chart-card__icon-btn:hover,.chart-card__icon-btn:focus-visible{color:var(--bf-text);background:color-mix(in srgb, var(--bf-accent) 25%, transparent)}.cash-flow-tooltip{background:var(--bf-card-bg);border:1px solid var(--bf-accent);border-radius:.5rem;min-width:180px;padding:.5rem 1rem;font-size:.8125rem;box-shadow:0 4px 12px #00000026}.cash-flow-tooltip__date{color:var(--bf-text-muted);margin-bottom:2px;font-size:.75rem}.cash-flow-tooltip__balance{color:var(--bf-text);margin-bottom:.25rem;font-size:.9375rem;font-weight:600}.cash-flow-tooltip__events{border-top:1px solid color-mix(in srgb, var(--bf-accent) 30%, transparent);flex-direction:column;gap:4px;padding-top:.25rem;display:flex}.cash-flow-tooltip__event{justify-content:space-between;gap:1rem;font-size:.75rem;display:flex}.cash-flow-tooltip__event--income{color:var(--bf-success)}.cash-flow-tooltip__event--expense{color:var(--bf-expense)}.cash-flow-events{border-top:1px solid color-mix(in srgb, var(--bf-accent) 30%, transparent);grid-template-columns:repeat(2,1fr);gap:.25rem 1rem;max-height:160px;margin-top:1rem;padding-top:1rem;display:grid;overflow-y:auto}@media (max-width:767px){.cash-flow-events{grid-template-columns:1fr;max-height:200px}}.cash-flow-event{align-items:center;gap:.5rem;min-width:0;font-size:.8125rem;display:flex}.cash-flow-event__marker{border-radius:50%;flex-shrink:0;width:8px;height:8px}.cash-flow-event--income .cash-flow-event__marker{background:var(--bf-success)}.cash-flow-event--expense .cash-flow-event__marker{background:var(--bf-expense)}.cash-flow-event__info{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.cash-flow-event__desc{color:var(--bf-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cash-flow-event__date{color:var(--bf-text-muted);font-size:.6875rem}.cash-flow-event__amount{flex-shrink:0;font-weight:600}.cash-flow-event--income .cash-flow-event__amount{color:var(--bf-success)}.cash-flow-event--expense .cash-flow-event__amount{color:var(--bf-text)}.cash-flow-credit-alert{font-size:.875rem}.cash-flow-settings-links a{margin-top:2px}.cash-flow-event-dot{pointer-events:auto;cursor:default;transform-box:fill-box;transform-origin:50%;transition:transform .15s}.cash-flow-event-dot:hover{transform:scale(1.12)}.cash-flow-event-dot .cash-flow-event-dot__halo{transition:opacity .15s}.cash-flow-event-dot:hover .cash-flow-event-dot__halo{opacity:.3}.guest-hero{background:linear-gradient(135deg, color-mix(in srgb, var(--bf-primary) 8%, transparent) 0%, color-mix(in srgb, var(--bf-accent) 10%, transparent) 50%, color-mix(in srgb, var(--bf-success) 8%, transparent) 100%);border:1px solid color-mix(in srgb, var(--bf-primary) 18%, transparent);border-radius:.75rem;position:relative}.guest-hero:before{content:"";border-radius:inherit;background:radial-gradient(ellipse at top, color-mix(in srgb, var(--bf-primary) 14%, transparent) 0%, transparent 60%);pointer-events:none;position:absolute;inset:0}.guest-hero>*{position:relative}.guest-hero__title{background:linear-gradient(135deg, var(--bf-primary) 0%, var(--bf-accent) 60%, var(--bf-success) 100%);color:#0000;-webkit-background-clip:text;background-clip:text;line-height:1.15}.recurring-page{max-width:64rem;margin:0 auto}.recurring-list{flex-direction:column;gap:0;display:flex}.recurring-row{border-bottom:1px solid color-mix(in srgb, var(--bf-accent) 40%, transparent);justify-content:space-between;align-items:center;padding:1rem 0;display:flex}.recurring-row:last-child{border-bottom:none}.recurring-row--paused{opacity:.5}.recurring-row__main{flex:1;align-items:center;gap:1rem;min-width:0;display:flex}.recurring-row__info{min-width:0}.recurring-row__description{color:var(--bf-text);white-space:nowrap;text-overflow:ellipsis;align-items:center;font-weight:500;display:flex;overflow:hidden}.recurring-row__meta{color:var(--bf-text-muted);margin-top:2px;font-size:.75rem}.recurring-row__right{flex-shrink:0;align-items:center;gap:1rem;display:flex}.recurring-row__amount{color:var(--bf-expense);white-space:nowrap;font-size:.9375rem;font-weight:600}.recurring-row__amount--income{color:var(--bf-income)}.recurring-row__actions{gap:.25rem;display:flex}.recurring-row__actions .btn-sm{padding:.2rem .45rem;font-size:.75rem}.recurring-badge{vertical-align:middle;padding:.15em .45em;font-size:.625rem;font-weight:600}.quick-tour-chip{z-index:1040;background:var(--bf-bg-elevated);max-width:320px;color:var(--bf-text);border:1px solid color-mix(in srgb, var(--bf-primary) 35%, transparent);box-shadow:0 12px 32px var(--bf-overlay);border-radius:14px;padding:0;position:fixed;bottom:1.5rem;right:1.5rem;overflow:hidden}.quick-tour-chip__dismiss{color:var(--bf-text-secondary);z-index:1;background:0 0;border:none;border-radius:50%;padding:4px;line-height:1;position:absolute;top:6px;right:6px}.quick-tour-chip__dismiss:hover,.quick-tour-chip__dismiss:focus-visible{color:var(--bf-text);background:var(--bf-hover-bg)}.quick-tour-chip__cta{width:100%;color:inherit;text-align:left;background:0 0;border:none;align-items:center;gap:.75rem;padding:.85rem 1rem .85rem .85rem;display:flex}.quick-tour-chip__cta:hover,.quick-tour-chip__cta:focus-visible{background:var(--bf-hover-bg)}.quick-tour-chip__icon{background:color-mix(in srgb, var(--bf-primary) 18%, transparent);width:36px;height:36px;color:var(--bf-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.quick-tour-chip__text{flex-direction:column;flex:1;min-width:0;display:flex}.quick-tour-chip__title{color:var(--bf-text);padding-right:1rem;font-size:.95rem;font-weight:600;line-height:1.2}.quick-tour-chip__subtitle{color:var(--bf-text-muted);margin-top:2px;font-size:.75rem}.quick-tour-chip__progress{color:var(--bf-text);background:color-mix(in srgb, var(--bf-primary) 20%, transparent);border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:.7rem;font-weight:600}.quick-tour-chip--collapsed{width:48px;max-width:none;height:48px;color:var(--bf-primary);border:1px solid color-mix(in srgb, var(--bf-primary) 35%, transparent);background:var(--bf-bg-elevated);border-radius:50%;justify-content:center;align-items:center;padding:0;transition:transform .2s,color .2s,background .2s;display:inline-flex}.quick-tour-chip--collapsed:hover,.quick-tour-chip--collapsed:focus-visible{color:#fff;background:var(--bf-primary);transform:translateY(-2px)}@media (max-width:576px){.quick-tour-chip{max-width:260px;bottom:1rem;right:1rem}.quick-tour-chip__title{font-size:.85rem}.quick-tour-chip__subtitle{font-size:.7rem}}.quick-tour-inline-link{color:var(--bf-primary);font-weight:500;text-decoration:none}.quick-tour-inline-link:hover,.quick-tour-inline-link:focus-visible{color:var(--bf-primary);text-decoration:underline}.quick-tour-tooltip{background:var(--bf-bg-elevated);color:var(--bf-text);border:1px solid color-mix(in srgb, var(--bf-primary) 40%, transparent);max-width:360px;box-shadow:0 18px 40px var(--bf-overlay);border-radius:12px;padding:1.1rem 1.2rem}.quick-tour-tooltip__header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.quick-tour-tooltip__progress{text-transform:uppercase;letter-spacing:.06em;color:var(--bf-primary);font-size:.72rem;font-weight:600}.quick-tour-tooltip__close{color:var(--bf-text-secondary);background:0 0;border:none;padding:0 4px;font-size:1.2rem;line-height:1}.quick-tour-tooltip__close:hover,.quick-tour-tooltip__close:focus-visible{color:var(--bf-text)}.quick-tour-tooltip__title{color:var(--bf-text);margin:0 0 .5rem;font-size:1.05rem;font-weight:600}.quick-tour-tooltip__body{color:var(--bf-text-muted);margin-bottom:1rem;font-size:.9rem;line-height:1.45}.quick-tour-tooltip__footer{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.quick-tour-tooltip__footer-left{gap:.35rem;display:flex}.quick-tour-tooltip__back,.quick-tour-tooltip__skip{color:var(--bf-text-secondary);padding:.25rem .4rem;text-decoration:none}.quick-tour-tooltip__back:hover,.quick-tour-tooltip__back:focus-visible,.quick-tour-tooltip__skip:hover,.quick-tour-tooltip__skip:focus-visible{color:var(--bf-text);text-decoration:underline}.scheme-picker{display:inline-block;position:relative}.scheme-picker .scheme-picker-trigger{color:var(--bf-text-muted);padding:.25rem .5rem;text-decoration:none;box-shadow:none!important}.scheme-picker .scheme-picker-trigger:hover,.scheme-picker .scheme-picker-trigger:focus{color:var(--bf-primary);text-decoration:none}.scheme-picker .scheme-picker-trigger:after{display:none}.scheme-picker-menu{z-index:1050;background-color:var(--bf-bg-elevated);border:1px solid color-mix(in srgb, var(--bf-primary) 25%, transparent);min-width:10rem;box-shadow:0 8px 24px var(--bf-overlay);border-radius:.5rem;margin-top:.25rem;margin-left:0;padding:.25rem;list-style:none;position:absolute;top:100%;left:0}.scheme-picker-menu.scheme-picker-menu-end{left:auto;right:0}.scheme-picker-menu li{list-style:none}.scheme-picker-item{width:100%;color:var(--bf-text);cursor:pointer;font-size:inherit;text-align:left;background:0 0;border:none;border-radius:.375rem;padding:.4rem .6rem;transition:background-color .15s;display:flex}.scheme-picker-item:hover,.scheme-picker-item:focus{background-color:var(--bf-hover-bg);color:var(--bf-text);outline:none}.scheme-picker-item.active{background-color:color-mix(in srgb, var(--bf-primary) 25%, transparent);color:var(--bf-text)}.scheme-picker-hint{z-index:1060;background-color:var(--bf-primary);color:var(--bf-bg);box-shadow:0 8px 20px var(--bf-overlay);white-space:nowrap;pointer-events:auto;border-radius:.5rem;align-items:center;gap:.5rem;padding:.4rem .5rem .4rem .75rem;font-size:.875rem;font-weight:600;animation:.22s ease-out both scheme-picker-hint-in,2.4s ease-in-out .22s infinite scheme-picker-hint-pulse;display:inline-flex;position:absolute;top:50%;left:calc(100% + .75rem);transform:translateY(-50%)}.scheme-picker-hint:before{content:"";background-color:var(--bf-primary);border-radius:2px;width:12px;height:12px;position:absolute;top:50%;left:-6px;transform:translateY(-50%)rotate(45deg)}.scheme-picker-hint-label{line-height:1}.scheme-picker-hint-close{color:inherit;opacity:.85;cursor:pointer;background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;padding:.15rem;display:inline-flex}.scheme-picker-hint-close:hover,.scheme-picker-hint-close:focus{opacity:1;background-color:color-mix(in srgb, var(--bf-bg) 25%, transparent);outline:none}@keyframes scheme-picker-hint-in{0%{opacity:0;transform:translateY(-50%)translate(-6px)}to{opacity:1;transform:translateY(-50%)translate(0)}}@keyframes scheme-picker-hint-pulse{0%,to{box-shadow:0 8px 20px var(--bf-overlay)}50%{box-shadow:0 8px 28px color-mix(in srgb, var(--bf-primary) 55%, transparent)}}@media (max-width:575.98px){.scheme-picker-hint{animation:.22s ease-out both scheme-picker-hint-in-mobile,2.4s ease-in-out .22s infinite scheme-picker-hint-pulse;top:calc(100% + .5rem);bottom:auto;left:50%;transform:translate(-50%)}.scheme-picker-hint:before{top:-4px;bottom:auto;left:50%;transform:translate(-50%)rotate(45deg)}@keyframes scheme-picker-hint-in-mobile{0%{opacity:0;transform:translate(-50%)translateY(-6px)}to{opacity:1;transform:translate(-50%)translateY(0)}}}.text-bf-primary{color:var(--bf-primary)!important}.text-bf-accent{color:var(--bf-accent)!important}.text-bf-success{color:var(--bf-success)!important}.text-bf-warning{color:var(--bf-warning)!important}.text-bf-secondary{color:var(--bf-secondary)!important}.text-bf-anchor{color:var(--bf-anchor)!important}.text-bf-bg{color:var(--bf-background)!important}.text-anchor{color:var(--bf-anchor)!important}.text-accent{color:var(--bf-accent)!important}.text-primary{color:var(--bf-primary)!important}.text-muted{color:var(--bf-text-muted)!important}.text-bf-body{color:var(--bf-text)!important}.text-bf-muted{color:var(--bf-text-muted)!important}.text-bf-secondary-text{color:var(--bf-text-secondary)!important}.text-bf-tertiary{color:var(--bf-text-tertiary)!important}.text-income{color:var(--bf-income)!important}.text-expense{color:var(--bf-expense)!important}.text-error{color:var(--bf-error)!important}.legal-prose{max-width:48rem;color:var(--bf-text);margin:0 auto;line-height:1.65}.legal-prose h1{color:var(--bf-text);margin-bottom:.5rem;font-size:2rem;font-weight:600}.legal-prose .legal-prose__updated{color:var(--bf-text-muted);margin-bottom:2rem;font-size:.875rem}.legal-prose .legal-prose__lead{color:var(--bf-text-secondary);margin-bottom:2rem;font-size:1.0625rem}.legal-prose h2{color:var(--bf-text);margin-top:2rem;margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.legal-prose h3{color:var(--bf-text);margin-top:1.5rem;margin-bottom:.25rem;font-size:1.0625rem;font-weight:600}.legal-prose p{color:var(--bf-text-secondary);margin-bottom:1rem}.legal-prose ul{color:var(--bf-text-secondary);margin:0 0 1rem;padding-left:1.25rem}.legal-prose ul li{margin-bottom:.25rem}.legal-prose a{color:var(--bf-primary);text-decoration:none}.legal-prose a:hover{text-decoration:underline}.legal-prose strong{color:var(--bf-text);font-weight:600}.site-footer{color:var(--bf-text-muted);margin-top:2rem;padding-top:0;padding-bottom:1.5rem;font-size:.8125rem}.site-footer .site-footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding-top:1.5rem;display:flex;position:relative}.site-footer .site-footer__inner:before{content:"";background:var(--bf-card-gradient,linear-gradient(90deg, var(--bf-primary), var(--bf-accent)));opacity:.7;border-radius:9999px;height:2px;position:absolute;top:0;left:0;right:0}.site-footer .site-footer__links{flex-wrap:wrap;gap:1rem;margin-left:auto;display:flex}.site-footer a,.site-footer button.site-footer__link{color:var(--bf-text-muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:none}.site-footer a:hover,.site-footer button.site-footer__link:hover{color:var(--bf-text);text-decoration:underline}html{background-color:var(--bf-bg)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-width:320px;min-height:100vh;color:var(--bf-text);background:linear-gradient(180deg, var(--bf-bg) 0%, var(--bf-bg-gradient-mid) 50%, var(--bf-bg) 100%);-webkit-tap-highlight-color:#0000;background-attachment:fixed;position:relative}.container{max-width:1024px}.text-accent-blue{color:var(--bf-accent-blue)}
