:root{--bg:#0d1321;--surface:#1a2035;--surface2:#222840;--border:#2e3a55;--text:#e2e8f0;--muted:#94a3b8;--accent:#f5c518;--accent-h:#e0b010;--on-accent:#000;--green:#4ade80;--red:#f87171;--warning:#fbbf24;--blue:#60a5fa;--shadow:#0006;--sidebar-w:15rem;--sidebar-w-collapsed:4rem;--radius:6px;--font:"Inter", system-ui, -apple-system, sans-serif}.skip-link{background:var(--accent);color:#000;border-radius:var(--radius);z-index:9999;padding:.5rem 1rem;font-weight:600;text-decoration:none;position:absolute;top:1rem;left:-9999px}.skip-link:focus{left:1rem}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:15px}body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit;background:0 0;border:none}input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none}input[type=number]{-moz-appearance:textfield}.app-layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);z-index:100;flex-direction:column;height:100vh;transition:width .2s;display:flex;position:fixed;top:0;left:0;overflow:hidden auto}.sidebar.collapsed{width:var(--sidebar-w-collapsed)}.sidebar.collapsed .sidebar-label,.sidebar.collapsed .sidebar-account-balance{display:none}.sidebar-logo{color:var(--accent);white-space:nowrap;align-items:center;gap:.4rem;padding:.75rem .75rem .5rem;font-size:1.1rem;font-weight:700;display:flex;overflow:hidden}.sidebar-logo .sidebar-short{flex-shrink:0;display:none}.sidebar-logo button{color:var(--muted);border-radius:var(--radius);flex-shrink:0;margin-left:auto;padding:.2rem;transition:background .15s}.sidebar-logo button:hover{background:var(--surface2);color:var(--text)}.sidebar.collapsed .sidebar-logo .sidebar-short{display:block}.sidebar.collapsed .sidebar-logo button{margin-left:0}.sidebar-section{padding:.25rem 0}.sidebar-divider{background:var(--border);height:1px;margin:.5rem .75rem}.sidebar-heading{letter-spacing:.08em;color:var(--muted);text-transform:uppercase;white-space:nowrap;padding:.6rem 1rem .2rem;font-size:.7rem;font-weight:600;overflow:hidden}.sidebar-nav{list-style:none}.sidebar-nav li a{border-radius:var(--radius);color:var(--text);white-space:nowrap;align-items:center;gap:.6rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background .15s;display:flex;overflow:hidden}.sidebar-nav li a:hover,.sidebar-nav li a.active{background:var(--surface2)}.sidebar-nav li a.active{color:var(--accent)}.sidebar-nav li a svg{stroke:currentColor;fill:none;flex-shrink:0;width:1.1rem;height:1.1rem}.sidebar-nav li a i{text-align:center;flex-shrink:0;width:1.1rem;font-size:1rem}.sidebar-accounts{padding:.25rem 0}.sidebar-account-item{border-radius:var(--radius);align-items:center;gap:.6rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background .15s;display:flex}.sidebar-account-item:hover{background:var(--surface2)}.sidebar-account-item.active{background:var(--surface2);color:var(--accent)}.sidebar-account-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.sidebar-account-balance{color:var(--muted);flex-shrink:0;margin-left:auto;font-size:.75rem}.sidebar-account-balance.positive{color:var(--green)}.sidebar-account-balance.negative{color:var(--red)}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding:.5rem}.sidebar-footer a{color:var(--muted)}.sidebar-footer a:hover{color:var(--text)}.btn-link{color:var(--accent);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.btn-link:hover{opacity:.8}.main-content{margin-left:var(--sidebar-w);flex:1;min-width:0;min-height:100vh;padding:1.25rem 1.5rem;transition:margin-left .2s}.main-content.expanded{margin-left:var(--sidebar-w-collapsed)}.account-layout{flex-direction:column;height:calc(100vh - 2.5rem);display:flex}.account-layout .tx-scroll{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex:1;min-height:0;overflow-y:auto}.account-layout .tx-scroll::-webkit-scrollbar{width:6px}.account-layout .tx-scroll::-webkit-scrollbar-track{background:0 0}.account-layout .tx-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.account-layout .tx-scroll::-webkit-scrollbar-thumb:hover{background:var(--muted)}.flash{border-radius:var(--radius);justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:.65rem 1rem;font-size:.875rem;display:flex}.flash.success{background:color-mix(in srgb, var(--green) 15%, transparent);border:1px solid color-mix(in srgb, var(--green) 40%, transparent);color:var(--green)}.flash.danger{background:color-mix(in srgb, var(--red) 15%, transparent);border:1px solid color-mix(in srgb, var(--red) 40%, transparent);color:var(--red)}.flash.warning{background:color-mix(in srgb, var(--warning) 15%, transparent);border:1px solid color-mix(in srgb, var(--warning) 40%, transparent);color:var(--warning)}.flash.info{background:color-mix(in srgb, var(--blue) 15%, transparent);border:1px solid color-mix(in srgb, var(--blue) 40%, transparent);color:var(--blue)}.flash-close{color:inherit;opacity:.7;cursor:pointer;background:0 0;border:none;font-size:1.1rem}.page-header{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.page-title{font-size:1.25rem;font-weight:700}.btn{border-radius:var(--radius);white-space:nowrap;align-items:center;gap:.4rem;padding:.4rem .9rem;font-size:.875rem;font-weight:500;transition:background .15s,opacity .15s;display:inline-flex}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover{background:var(--accent-h)}.btn-ghost{background:var(--surface2);color:var(--text);border:1px solid var(--border)}.btn-ghost:hover{background:var(--border)}.btn-danger{color:var(--muted);background:0 0;border:1px solid #0000}.btn-danger:hover{color:var(--red);border-color:var(--red)44;background:color-mix(in srgb, var(--red) 15%, transparent)}.btn-sm{padding:.25rem .6rem;font-size:.8rem}.btn-icon{border-radius:var(--radius);justify-content:center;align-items:center;padding:.3rem;display:inline-flex}.btn:disabled{opacity:.45;cursor:default}.month-nav{align-items:center;gap:.5rem;display:flex}.month-nav a{border-radius:var(--radius);background:var(--surface2);color:var(--text);align-items:center;padding:.3rem .7rem;font-size:.85rem;font-weight:500;transition:background .15s;display:inline-flex}.month-nav a:hover{background:var(--border)}.month-nav .month-label{text-align:center;min-width:9rem;font-size:1rem;font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.card-title{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;font-size:.875rem;font-weight:600}.budget-header{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;border-bottom:none;align-items:stretch;gap:0;margin-bottom:0;display:flex}.budget-nav{border-right:1px solid var(--border);flex-shrink:0;align-items:center;gap:.2rem;width:22%;padding:.35rem .6rem;display:flex}.budget-nav-arrow{border-radius:var(--radius);color:var(--muted);background:0 0;justify-content:center;align-items:center;padding:.2rem .5rem;font-size:.9rem;line-height:1;transition:background .12s,color .12s;display:inline-flex}.budget-nav-arrow:hover{background:var(--surface2);color:var(--text)}.budget-nav-label{color:var(--text);padding:0 .4rem;font-size:.875rem;font-weight:600}.budget-tbb-row{flex:1;align-items:stretch;min-width:0;display:flex}.budget-tbb-block{border-left:1px solid var(--border);flex:1;align-items:center;gap:.5rem;min-width:0;padding:.35rem .6rem;display:flex;position:relative}.budget-tbb-name{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);white-space:nowrap;flex-shrink:0;padding-left:.9rem;font-size:.75rem;font-weight:700}.budget-tbb-stats{flex:1;align-items:center;gap:0;min-width:0;display:flex}.budget-tbb-stats .tbb-stat{flex:1;min-width:0}.tbb-stat{flex-direction:row;align-items:center;gap:.6rem;display:flex}.tbb-stat-label{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);white-space:nowrap;padding-left:.6rem;font-size:.75rem;font-weight:700}.tbb-stat-value{color:var(--text);white-space:nowrap;font-size:1rem;font-weight:700}.tbb-stat-value.positive{color:var(--green)}.tbb-stat-value.warning{color:var(--accent)}.tbb-stat-value.negative{color:var(--red)}.tbb-stat-value.zero{color:var(--muted)}.budget-tbb-block .dropdown{flex-shrink:0}.budget-tbb-block .dropdown-menu,.quick-actions .dropdown-menu{left:auto;right:0}.budget-wrap{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.75rem;overflow:visible}.budget-wrap .budget-header{border:none;border-bottom:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;margin-bottom:0}.budget-wrap .overflow-auto{border-radius:0 0 var(--radius) var(--radius);overflow-x:auto}.tbb-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem;padding:.75rem 1.25rem;display:flex}.tbb-item{flex-direction:column;display:flex}.tbb-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:600}.tbb-value{font-size:1.1rem;font-weight:700}.tbb-value.positive{color:var(--green)}.tbb-value.warning{color:var(--accent)}.tbb-value.negative{color:var(--red)}.tbb-value.zero{color:var(--muted)}.month-header-cell{text-align:center!important;letter-spacing:.04em!important;text-transform:none!important;color:var(--text)!important;border-left:1px solid var(--border)!important;background:var(--surface2)!important;font-size:.8rem!important;font-weight:700!important}.budget-table thead tr:nth-child(2) th:nth-child(4),.budget-table tbody tr td:nth-child(5){border-left:1px solid var(--border)}.th-manage-link{color:var(--muted);border:1px solid var(--border);border-radius:var(--radius);white-space:nowrap;text-transform:none;letter-spacing:0;margin-left:.3rem;padding:.1rem .3rem;font-size:.7rem;font-weight:500;transition:color .12s,border-color .12s;display:inline-block}.th-manage-link:hover{color:var(--accent);border-color:var(--accent)}.budget-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:680px;font-size:.875rem}.budget-table thead tr:first-child th:first-child{width:22%}.budget-table thead tr:nth-child(2) th{width:13%}.budget-table th,.budget-table td{text-align:right;padding:.4rem .6rem}.budget-table th:first-child,.budget-table td:first-child{text-align:left}.budget-table thead tr:first-child th:first-child,.budget-table tr.group-row td:first-child,.budget-table tr.cat-row td:first-child{border-right:1px solid var(--border)}.budget-table thead tr:nth-child(2) th:first-child{text-align:right;border-left:1px solid var(--border)}.budget-table thead th{background:var(--surface2);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;z-index:1;border-bottom:1px solid var(--border);font-size:.75rem;font-weight:600;position:sticky;top:0}.budget-table thead tr:first-child th:first-child{box-shadow:none}.budget-table tr.group-row td{background:var(--surface);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-top:2px solid var(--border);border-bottom:1px solid var(--border);font-size:.8rem;font-weight:700}.budget-table tr.cat-row td{border-bottom:1px solid var(--border)55}.budget-table tr.cat-row:hover td{background:var(--surface2)55}.alloc-input{border-radius:var(--radius);text-align:right;width:100%;color:var(--text);box-sizing:border-box;background:0 0;border:none;padding:.4rem .6rem;transition:background .15s;display:block}.alloc-input:focus{background:var(--surface2);box-shadow:0 0 0 1px var(--accent);outline:none}.alloc-input.is-saving{opacity:.5}.alloc-input.is-saved{box-shadow:0 0 0 1px var(--green)88}.alloc-input.is-error{box-shadow:0 0 0 1px var(--red)}.budget-table td:has(.alloc-input){padding-top:0;padding-bottom:0;padding-right:0}.available-cell.negative{color:var(--red)}.available-cell.zero{color:var(--muted)}.carryover-cell{color:var(--muted);font-size:.8rem}.tx-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:.875rem}.tx-table th,.tx-table td{text-align:left;padding:.4rem .6rem}.tx-table thead th{background:var(--surface2);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);z-index:1;font-size:.75rem;font-weight:600;position:sticky;top:0}.tx-table tbody tr{border-bottom:1px solid var(--border)55}.tx-table tbody tr:hover{background:var(--surface2)44}.tx-table tr.reconciled{opacity:.45}.tx-table.archive-mode tr.reconciled{opacity:1}.tx-table tr.tx-duplicate{border-left:3px solid var(--warning);opacity:.8}.tx-split-child{opacity:.92}.tx-split-child-bracket{color:var(--muted);text-align:right;font-size:1.1rem;padding-right:.4rem!important}.tx-child-edit-row td{background:var(--surface2);background:var(--surface2);padding:.5rem .6rem}.tx-child-edit-row input,.tx-child-edit-row select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);padding:.3rem .5rem;font-size:.85rem}.tx-child-edit-row input:focus,.tx-child-edit-row select:focus{border-color:var(--accent);outline:none}.tx-child-edit-row [name=child_inflow],.tx-child-edit-row [name=child_outflow]{text-align:left}.child-edit-bracket{color:var(--accent,#7c6ef2);text-align:right;font-size:1.1rem;padding-right:.4rem!important}.child-edit-grey{color:var(--muted);padding:.3rem 0;font-size:.85rem;display:block}.child-edit-placeholder,.child-edit-btn-placeholder,.child-edit-up-indicator{width:1.6rem;color:var(--muted);opacity:.5;cursor:default;user-select:none;justify-content:center;align-items:center;font-size:.85rem;display:inline-flex}.child-memo-text{color:var(--muted);font-size:.85rem}.split-cat-label{color:var(--text);font-size:.8rem;font-weight:400}.split-new-child td,.split-new-footer td{background:var(--surface2)}.split-new-remainder-cell{text-align:right;white-space:nowrap}.split-new-remainder{font-weight:600}.split-new-remainder.ok{color:var(--green,#a6e3a1)}.split-new-remainder.warn{color:var(--warning,#e09000)}.split-new-remainder.error{color:var(--red,#f87171)}.tx-amount-in{color:var(--green);text-align:right}.tx-amount-out{color:var(--text);text-align:right}.tx-table tbody tr:not(.reconciled) td[data-edit-field]{cursor:pointer}.sort-btns{vertical-align:middle;gap:.15rem;margin-left:.3rem;display:inline-flex}.sort-btn{color:var(--muted);opacity:.35;font-size:.6rem;line-height:1;text-decoration:none}.sort-btn:hover{opacity:.75}.sort-btn.sort-active{color:var(--accent);opacity:1}.memo-clamp{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.memo-clamp-1{-webkit-line-clamp:1}.memo-clamp-2{-webkit-line-clamp:2}.tx-cleared-btn{border:2px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:1.2rem;height:1.2rem;transition:background .15s,border-color .15s;display:inline-flex}.tx-cleared-btn.cleared{background:var(--green);border-color:var(--green)}.tx-edit-row td{background:var(--surface2);padding:.4rem .6rem}.tx-edit-row input,.tx-edit-row select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);padding:.3rem .5rem}.tx-edit-row input:focus,.tx-edit-row select:focus{border-color:var(--accent);outline:none}.add-form-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem;padding:.75rem 1rem;display:none}.add-form-card.open{display:block}.add-form-grid{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));align-items:end;gap:.5rem;display:grid}.add-form-grid--flex{flex-wrap:wrap;display:flex}.add-form-grid--flex>div{flex:9rem;min-width:8rem}.add-form-grid--flex>div[style*=flex\:2]{flex:2 14rem;min-width:12rem}.add-form-grid label{color:var(--muted);margin-bottom:.2rem;font-size:.75rem;display:block}.add-form-grid input,.add-form-grid select{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);padding:.35rem .6rem}.add-form-grid input:focus,.add-form-grid select:focus{border-color:var(--accent);outline:none}.accounts-grid{grid-template-columns:repeat(auto-fill,minmax(22rem,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.account-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.account-card-link{color:inherit;border-radius:calc(var(--radius) - 1px);margin:-.75rem -.75rem .25rem;padding:.75rem;text-decoration:none;transition:background .15s;display:block}.account-card-link:hover{background:var(--surface2)}.account-card-name{font-size:1rem;font-weight:600}.account-card-balance{margin:.35rem 0;font-size:1.5rem;font-weight:700}.account-card-balance.positive{color:var(--green)}.account-card-balance.negative{color:var(--red)}.account-card-type{color:var(--muted);font-size:.75rem}.account-card-actions{flex-wrap:wrap;gap:.4rem;margin-top:.75rem;display:flex}.quick-actions{flex-direction:column;align-items:flex-end;gap:.2rem;display:flex}.qa-menu{flex-direction:column;align-items:flex-end;gap:.1rem;display:flex}.qa-option{cursor:pointer;color:var(--muted);border-radius:var(--radius);text-align:right;white-space:nowrap;background:0 0;border:none;padding:.1rem .25rem;font-size:.78rem;transition:color .15s,background .15s}.qa-option:hover{color:var(--text);background:var(--surface2)}.qa-confirm-row{align-items:center;gap:.25rem;display:flex}.qa-chosen-label{color:var(--muted);white-space:nowrap;margin-right:.1rem;font-size:.78rem}.manage-grid{grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));gap:1rem;display:grid}.manage-group-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.manage-group-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.manage-group-name{font-size:.9rem;font-weight:600}.manage-cat-list{list-style:none}.manage-cat-item{border-radius:var(--radius);justify-content:space-between;align-items:center;gap:.5rem;padding:.3rem .25rem;font-size:.875rem;transition:background .15s;display:flex}.manage-cat-item:hover{background:var(--surface2)}.manage-cat-item.hidden-cat{opacity:.45;font-style:italic}.budget-table tr.cat-row.hidden-cat td{opacity:.4;font-style:italic}.budget-table tr.manage-add-cat-row td{border-bottom:1px solid var(--border)44;padding:.15rem .4rem .15rem 0}.budget-table tr.manage-add-cat-row input::placeholder{color:var(--muted)}.budget-table tr.cat-row td:last-child{white-space:nowrap}table.manage-table{border-collapse:collapse;background:var(--surface);width:100%;max-width:680px}table.manage-table td{border:none;border-bottom:1px solid var(--border)28;vertical-align:middle;color:var(--text);text-align:left;padding:.1rem .4rem;font-size:.875rem}table.manage-table tr.group-row td{background:var(--surface);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-top:2px solid var(--border);border-bottom:1px solid var(--border);padding-top:.4rem;padding-bottom:.4rem;font-size:.8rem;font-weight:700}table.manage-table tr.cat-row td{border-bottom:1px solid var(--border)22;padding-left:1.25rem}table.manage-table tr.cat-row td:first-child{padding-left:1.25rem}table.manage-table tr.manage-add-cat-row td{border-bottom:none;padding-left:1.25rem}table.manage-table td:last-child{text-align:right;white-space:nowrap;width:1%}table.manage-table td:nth-child(2){white-space:nowrap;width:1%}table.manage-table td:nth-child(3){text-align:center;width:1%}table.manage-table .btn-icon{justify-content:center;align-items:center;width:1.6rem;height:1.6rem;padding:0;font-size:.85rem;display:inline-flex}table.manage-table .drag-handle{padding:.1rem .25rem;font-size:.95rem}.budget-table tr.group-row.dragging td,.budget-table tr.cat-row.dragging td{opacity:.4}.budget-table tr.cat-row.drag-over td,.budget-table tr.group-row.drag-over td{border-top:2px solid var(--accent)}.drag-handle{cursor:grab;color:var(--muted);user-select:none;vertical-align:middle;padding:.1rem .3rem;font-size:1rem;display:inline-block}.drag-handle:hover{color:var(--text)}.manage-inline-input{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);text-overflow:ellipsis;width:100%;min-width:0;padding:.25rem .5rem;font-size:.875rem}.manage-inline-input:focus{border-color:var(--accent);outline:none}.manage-add-group{border:2px dashed var(--border);border-radius:var(--radius);min-height:6rem;color:var(--muted);cursor:pointer;justify-content:center;align-items:center;padding:1rem;transition:border-color .15s,color .15s;display:flex}.manage-add-group:hover{border-color:var(--accent);color:var(--accent)}.form-group{margin-bottom:1rem}.form-label{color:var(--muted);margin-bottom:.3rem;font-size:.8rem;font-weight:500;display:block}.form-input{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);padding:.45rem .7rem;transition:border-color .15s;display:block}.form-input:focus{border-color:var(--accent);outline:none}.form-input.error{border-color:var(--red)}.form-error{color:var(--red);margin-top:.2rem;font-size:.8rem}.form-group:has(input:required) .form-label:after,.form-group:has(select:required) .form-label:after,.form-group:has(textarea:required) .form-label:after{content:" *";color:var(--muted)}.form-section{margin-bottom:1.5rem}.form-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--border);margin-bottom:.75rem;padding-bottom:.35rem;font-size:.85rem;font-weight:700}.mapping-cards{flex-direction:column;gap:.5rem;display:flex}.mapping-card{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:.75rem;min-width:0;padding:.5rem .75rem;display:flex}.mapping-card-body{flex:1;min-width:0;overflow:hidden}.mapping-card-label{white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.mapping-card-fp{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:.1rem;font-family:monospace;font-size:.7rem;overflow:hidden}.settings-grid{grid-template-columns:repeat(auto-fill,minmax(22rem,1fr));gap:1.25rem;display:grid}.auth-wrap{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:26rem;padding:2rem}.auth-title{color:var(--accent);margin-bottom:1.25rem;font-size:1.4rem;font-weight:700}.auth-footer{color:var(--muted);margin-top:1rem;font-size:.85rem}.auth-footer a{color:var(--accent)}.dropdown{display:inline-block;position:relative}.dropdown-menu{z-index:200;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);min-width:14rem;box-shadow:0 4px 16px var(--shadow);padding:.35rem 0;display:none;position:absolute;top:100%;left:0}.dropdown-menu.open{display:block}.dropdown-item{color:var(--text);white-space:nowrap;padding:.45rem 1rem;font-size:.875rem;transition:background .12s;display:block}.dropdown-item:hover{background:var(--border)}@media (width<=768px){.sidebar{width:var(--sidebar-w-collapsed)}.sidebar .sidebar-label,.sidebar .sidebar-account-balance{display:none}.sidebar .sidebar-logo .sidebar-short{display:block}.sidebar .sidebar-logo button{margin-left:0}.main-content{margin-left:var(--sidebar-w-collapsed)}}.badge{letter-spacing:.04em;border-radius:99px;padding:.1rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.badge-budget{background:color-mix(in srgb, var(--blue) 20%, transparent);color:var(--blue);border:1px solid color-mix(in srgb, var(--blue) 25%, transparent)}.badge-tracking{background:var(--surface2);color:var(--muted);border:1px solid var(--border)}.shared-summary{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:1rem;margin-bottom:1.25rem;display:grid}.shared-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem}.shared-stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem}.shared-stat-value{margin-top:.15rem;font-size:1.2rem;font-weight:700}.table-responsive{-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:100%;overflow-x:auto}.table-responsive table,.table-responsive .tx-table{width:auto;min-width:max-content}.text-muted{color:var(--muted)}.text-green{color:var(--green)}.text-red{color:var(--red)}.text-accent{color:var(--accent)}.text-right{text-align:right}.text-center{text-align:center}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.font-bold{font-weight:700}.font-mono{font-family:monospace}.d-none{display:none!important}.d-flex{display:flex}.gap-2{gap:.5rem}.gap-4{gap:1rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.w-full{width:100%}.align-items-center{align-items:center}.flex-wrap{flex-wrap:wrap}.justify-between{justify-content:space-between}.overflow-auto{overflow:auto}.landing{flex-direction:column;align-items:center;max-width:64rem;min-height:100vh;margin:0 auto;padding:4rem 1.5rem 2rem;display:flex}.landing-logo{color:var(--accent);letter-spacing:.04em;margin-bottom:2.5rem;font-size:1rem;font-weight:700}.landing-hero{text-align:center;margin-bottom:2.5rem}.landing-hero h1{color:var(--text);margin-bottom:1rem;font-size:clamp(2rem,5vw,3.25rem);font-weight:800;line-height:1.15}.landing-hero p{color:var(--muted);max-width:38rem;margin:0 auto 2rem;font-size:1.05rem;line-height:1.6}.landing-cta{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:4rem;display:flex}.landing-cta .btn{padding:.6rem 1.6rem;font-size:1rem}.landing-divider{border:none;border-top:1px solid var(--border);width:100%;margin:0 0 3rem}.landing-section-title{text-align:center;color:var(--text);margin-bottom:1.75rem;font-size:1.35rem;font-weight:700}.landing-grid{grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1rem;width:100%;margin-bottom:3.5rem;display:grid}.landing-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem;transition:border-color .15s,transform .15s;display:flex}.landing-card:hover{border-color:var(--accent);transform:translateY(-2px)}.landing-card-icon{font-size:1.75rem;line-height:1}.landing-card h2{color:var(--text);font-size:1rem;font-weight:700}.landing-card p{color:var(--muted);font-size:.875rem;line-height:1.55}.landing-footer{color:var(--muted);text-align:center;margin-top:auto;padding-top:2rem;font-size:.8rem}.landing-footer a{color:var(--muted)}.landing-footer a:hover{color:var(--text)}select option[data-pp]{color:var(--accent);font-weight:600}.manage-hide-indicator{text-align:center;color:var(--muted);font-size:.8rem}.tx-archived-icon{color:var(--muted)}.btn-convert{font-size:.75rem}.accounts-section-heading{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.5rem;font-size:.75rem;font-weight:700}.shared-section-heading{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:.75rem 0 .35rem;font-size:.8rem;font-weight:700}.shared-section-heading-lg{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:1.25rem 0 .35rem;font-size:.8rem;font-weight:700}option.predicted{color:var(--accent);font-weight:600}.pagination{justify-content:space-between;align-items:center;margin-top:.25rem;padding:.75rem .25rem;display:flex}.pagination-info{color:var(--muted);font-size:.8rem}.pagination-btns{gap:.5rem;display:flex}.sidebar-account-icon{text-align:center;flex-shrink:0;width:1.1rem;font-size:1rem}.icon-picker{flex-wrap:wrap;gap:.4rem;margin-top:.25rem;display:flex}.add-form-grid .icon-picker-row{grid-column:1/-1}.icon-pick-btn{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;width:2.75rem;height:2.75rem;color:var(--muted);flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:border-color .15s,color .15s;display:flex}.icon-pick-btn:hover{border-color:var(--accent);color:var(--text)}.icon-pick-btn.selected{border-color:var(--accent);color:var(--accent);background:var(--accent)11}.icon-pick-btn i{pointer-events:none;font-size:1.25rem}.manage-new-cat-input{background:0 0;border-color:#0000}.manage-new-cat-input:focus{border-color:var(--border);background:var(--surface)}.manage-locked{opacity:.35;cursor:not-allowed}.manage-locked:hover{background:0 0!important}