.auth-shell{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--line);width:100%;max-width:400px;box-shadow:var(--shadow-md);border-radius:16px;padding:32px 36px}.auth-brand{justify-content:center;align-items:center;gap:12px;margin-bottom:28px;display:flex}.auth-brand .brand-mark{background:var(--accent);width:38px;height:38px;color:var(--ink);border-radius:11px;place-items:center;font-family:IBM Plex Sans,system-ui,sans-serif;font-size:19px;font-weight:700;display:grid}.auth-brand h1{letter-spacing:-.01em;color:var(--ink);margin:0;font-family:IBM Plex Sans,system-ui,sans-serif;font-size:18px;font-weight:600}.auth-title{letter-spacing:-.015em;color:var(--ink);text-align:center;margin:0 0 6px;font-family:IBM Plex Sans,system-ui,sans-serif;font-size:24px;font-weight:600}.auth-sub{color:var(--ink-mute);text-align:center;margin:0 0 22px;font-size:14px}.auth-field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.auth-field label{color:var(--ink-soft);justify-content:space-between;align-items:center;font-size:12px;font-weight:500;display:flex}.auth-field label .forgot{color:var(--ink-mute);cursor:pointer;background:0;border:0;padding:0;font-size:12px;font-weight:400}.auth-field label .forgot:hover{color:var(--ink)}.auth-input{border:1px solid var(--line);background:var(--bg-elev);font:inherit;color:var(--ink);border-radius:10px;outline:none;padding:11px 13px;transition:border-color .15s,background .15s,box-shadow .15s}.auth-input:focus{border-color:var(--ink);background:var(--surface);box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 15%, transparent)}.auth-input.error{border-color:var(--past);background:color-mix(in oklab, var(--past-soft) 50%, var(--bg-elev))}.auth-error{color:var(--past-ink);margin-top:4px;font-size:12px}.captcha-row{justify-content:center;margin:14px 0 8px;display:flex}.auth-submit{background:var(--ink);width:100%;color:var(--bg);font:inherit;cursor:pointer;border:0;border-radius:10px;margin-top:6px;padding:12px;font-size:14px;font-weight:500;transition:background .15s,transform .1s}.auth-submit:hover{background:color-mix(in oklab, var(--ink) 88%, var(--accent))}.auth-submit:active{transform:translateY(1px)}.auth-submit:disabled{opacity:.6;cursor:wait}.auth-foot{text-align:center;color:var(--ink-mute);margin-top:22px;font-size:13px}.auth-foot button{color:var(--ink);font:inherit;cursor:pointer;text-underline-offset:2px;text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);background:0;border:0;padding:0;font-weight:500}.auth-foot button:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.auth-back{color:var(--ink-mute);font:inherit;cursor:pointer;background:0;border:0;align-items:center;gap:6px;margin-bottom:14px;padding:0;font-size:13px;display:inline-flex}.auth-back:hover{color:var(--ink)}.auth-success{border:1px solid color-mix(in oklab, var(--paid) 30%, var(--line));background:var(--paid-soft);color:var(--paid-ink);border-radius:10px;margin-bottom:14px;padding:12px 14px;font-size:13px}.table-sort-button{max-width:100%;min-height:32px;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:0;align-items:center;padding:0;display:inline-flex}.mobile-table-controls,.mobile-action-label,.money-filter-toggle-row .money-filter-toggle{display:none}.money-filter-toggle-row{justify-content:flex-end;gap:8px;display:flex}.money-filter-toggle-row:empty{display:none}.money-filter-toggle-row:not(:has(.money-filter-clear)){display:none}.mobile-card-table.bill-table th.actions-h,.mobile-card-table.bill-table td.actions{width:96px;min-width:96px}.mobile-card-table.bill-table td.actions .icon-btn,.mobile-card-table.schedule-table td.actions .icon-btn{opacity:1}.mobile-card-table .icon-btn:focus-visible,.table-sort-button:focus-visible,.mobile-card-table .col-resizer:focus-visible,.money-budget-target:focus-visible,.money-budget-editor input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.money-card-table .money-cell-stack strong{color:var(--ink)}.money-card-table .money-cell-stack{min-width:0}.money-budget-row.money-budget-compact{grid-template-columns:minmax(140px,1fr) minmax(80px,.5fr) minmax(130px,1fr) minmax(130px,.7fr);gap:12px 18px}.money-budget-target{border:1px solid var(--line);color:var(--ink);background:var(--bg-elev);text-align:left;border-radius:10px;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;padding:9px 12px;display:grid}.money-budget-target>span{color:var(--ink-soft);grid-column:1/-1;font-size:11px}.money-budget-target>strong{font-variant-numeric:tabular-nums;font-weight:500}.money-budget-target>small{color:var(--accent-ink);font-size:11px}.money-budget-target:hover{border-color:var(--accent)}.money-budget-form.money-budget-editor{border-top:1px solid var(--line-soft);grid-column:1/-1;grid-template-columns:minmax(130px,240px) auto;justify-content:end;align-items:end;gap:8px;padding-top:12px;display:grid}.money-budget-editor-actions{gap:8px;display:flex}.money-budget-editor .money-field-error{grid-column:1/-1;font-size:12px;position:static}.money-budget-editor .money-currency-input input{min-height:44px}.money-budget-editor .money-currency-input i{top:12px}.money-budget-editor .btn{min-height:44px}@media (width<=720px){.topbar.compact-topbar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 8px;margin-bottom:18px;display:grid}.compact-topbar .brand{justify-content:flex-start;align-items:center;gap:8px;min-width:0}.compact-topbar .brand h1{white-space:normal;font-size:clamp(17px,4.8vw,24px);line-height:1.15}.compact-topbar .brand-mark{border-radius:9px;flex-shrink:0;width:28px;height:32px;font-size:22px}.compact-topbar .topbar-right{display:contents}.compact-topbar .topbar-actions{grid-area:1/2;gap:6px}.compact-topbar .workspace-menu-trigger{width:44px;min-height:44px;padding:0}.compact-topbar .workspace-menu-trigger>span{display:none}.compact-topbar .bell-btn{width:44px;height:44px}.compact-topbar .month-nav{grid-area:2/1/auto/-1;justify-self:center;width:min(340px,100%);padding:2px}.compact-topbar .month-nav .label{flex:1;padding:0 8px;font-size:17px}.compact-topbar .month-nav button{width:44px;height:44px}.bill-card-list .toolbar .search input,.schedule-card-list .toolbar .search input{min-height:44px}.bill-card-list .toolbar .search input{padding-right:48px}.bill-card-list .search-cols-btn{width:40px;height:40px}.bill-card-list .toolbar .btn,.schedule-card-list .toolbar .btn,.bill-card-list .filter-group .chip{min-height:44px}.bill-card-list .toolbar select,.schedule-card-list .toolbar select{grid-column:1/-1}.bill-card-list .filter-group{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;display:grid;overflow:visible}.bill-card-list .filter-group .chip{white-space:normal;padding:5px 3px;font-size:12px;line-height:1.2}.mobile-table-controls{border-bottom:1px solid var(--line);color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px 12px;font-size:12px;display:flex}.mobile-select-all{align-items:center;gap:7px;min-height:44px;margin-right:auto;display:flex}.mobile-select-all input{width:20px;height:20px;accent-color:var(--accent)}.mobile-sort-label{align-items:center;gap:6px;min-width:0;display:flex}.mobile-sort-label select{border:1px solid var(--line);background:var(--surface);border-radius:9px;max-width:150px;min-height:44px;padding:4px 6px}.mobile-sort-direction.btn{justify-content:center;min-width:44px;min-height:44px;padding:4px;font-size:20px}.bill-card-list .tbl-scroll,.schedule-card-list .tbl-scroll{max-height:none;overflow:visible}.tbl-scroll .tbl.mobile-card-table,.money-card-table.money-table{width:100%;min-width:0;display:block}.mobile-card-table thead,.money-card-table.money-table thead{display:none}.mobile-card-table tbody,.money-card-table.money-table tbody{gap:10px;padding:12px;display:grid}.mobile-card-table tbody tr,.money-card-table.money-table tbody tr{border:1px solid var(--line);background:var(--surface);border-radius:12px;width:100%;min-width:0;padding:12px;display:grid}.mobile-card-table tbody tr:last-child{border-bottom:1px solid var(--line)}.mobile-card-table tbody tr.selected{background:var(--accent-soft)}.mobile-card-table tbody tr td,.money-card-table.money-table tbody td{overflow-wrap:anywhere;border:0;grid-template-columns:minmax(65px,.45fr) minmax(0,1fr);align-items:center;gap:8px;display:grid;overflow:visible;white-space:normal!important;text-align:left!important;width:auto!important;min-width:0!important;max-width:none!important;padding:5px 0!important}.mobile-card-table td:before,.money-card-table.money-table td:before{content:attr(data-label);color:var(--ink-soft);text-align:left;text-transform:none;letter-spacing:0;font-size:11px;font-weight:500}.mobile-card-table td:not([data-label]){display:block}.mobile-card-table td .edit-cell{min-width:0;min-height:44px;font-size:16px;width:100%!important}.mobile-card-table td .badge{justify-self:start;min-height:36px}.bill-table td .badge{min-height:44px}.bill-table .col-select input{width:24px;height:24px;margin:10px 0}.bill-card-list .cols-pop-row{min-height:44px}.mobile-card-table tbody td.actions{border-top:1px solid var(--line-soft);flex-wrap:wrap;justify-content:flex-end;gap:4px;margin-top:7px;display:flex;padding-top:8px!important}.mobile-card-table td.actions:before{margin-right:auto}.mobile-card-table td.actions .icon-btn{width:auto;min-width:44px;height:44px;color:var(--ink-soft);opacity:1;justify-content:center;align-items:center;gap:5px;padding:0 9px;display:inline-flex}.mobile-action-label{font-size:12px;display:inline}.money-card-table .money-cell-stack{justify-items:start}.money-card-table .money-cell-stack small{white-space:normal;overflow-wrap:anywhere}.money-card-table .money-row-actions{white-space:normal;flex-wrap:wrap;justify-content:flex-start}.money-card-table .money-row-actions button{min-height:44px;padding:7px 9px;font-size:12px}.money-panel.money-list-panel:has(.money-card-table){padding:0}.money-card-table.money-table tbody td[data-label=Actions]{border-top:1px solid var(--line-soft);justify-content:flex-end;margin-top:4px;display:flex;padding-top:9px!important}.money-card-table.money-table td[data-label=Actions]:before{margin-right:auto}.money-card-table td .money-pill{width:fit-content}.money-card-table.money-account-table td:first-child{border-bottom:1px solid var(--line-soft);margin-bottom:5px;padding-top:0!important;padding-bottom:10px!important}:is(.money-filter-toggle-row,.money-filter-toggle-row:not(:has(.money-filter-clear))){justify-content:space-between;display:flex}.money-filter-toggle-row .money-filter-toggle{min-height:44px;display:inline-flex}.money-filter-toggle-row .money-filter-clear{min-height:44px}.money-filter-panel.money-transaction-filters{display:none}.money-filter-panel.money-transaction-filters.is-open{display:grid}.money-transaction-filters input,.money-transaction-filters select{min-height:44px;font-size:16px}.money-budget-row.money-budget-compact{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px}.money-budget-compact .money-budget-spend{text-align:right}.money-budget-compact .money-budget-target{grid-column:1/-1;grid-template-columns:1fr auto auto;min-height:48px}.money-budget-compact .money-budget-target>span{grid-column:auto}.money-budget-compact .money-budget-progress{grid-column:1/-1}.money-budget-form.money-budget-editor{grid-template-columns:minmax(0,1fr) auto;justify-content:stretch}.money-budget-editor .money-currency-input input{font-size:16px}.money-page .money-budget-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.money-page .money-budget-summary>div{padding:12px 9px}.money-page .money-budget-summary>div:last-child{grid-column:auto}.money-page .money-budget-summary strong{overflow-wrap:anywhere;font-size:clamp(15px,3.5vw,24px)}}@media (width<=380px){.mobile-select-all{width:100%}.mobile-sort-label{flex:1}.mobile-sort-label select{flex:1;max-width:none}.money-budget-form.money-budget-editor{grid-template-columns:minmax(0,1fr)}.money-budget-editor-actions{justify-content:flex-end}}.overview-page{gap:22px;display:grid}.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.overview-panel{border:1px solid var(--line);background:var(--surface);min-width:0;box-shadow:var(--shadow-sm);border-radius:18px;flex-direction:column;padding:24px;display:flex}.overview-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:24px;display:flex}.overview-panel-head h3{font-size:22px}.overview-panel-head p{color:var(--ink-soft);margin:6px 0 0;font-size:13px}.overview-panel a{color:var(--accent-ink)}.overview-panel a.btn{text-decoration:none}.overview-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 22px;display:grid}.overview-metrics dt{color:var(--ink-soft);margin-bottom:8px;font-size:13px}.overview-metrics dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;font-size:clamp(18px,2.2vw,27px);font-weight:600}.overview-negative{color:var(--past-ink)}.overview-bill-list{margin:0;padding:0;list-style:none}.overview-bill-list li{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:18px;padding:15px 0;font-size:14px;display:flex}.overview-bill-list li>div{min-width:0}.overview-bill-list strong{overflow-wrap:anywhere}.overview-bill-list li>strong{font-variant-numeric:tabular-nums;flex-shrink:0}.overview-bill-list span{color:var(--ink-soft);margin-top:5px;font-size:12px;display:block}.overview-more{padding:12px 0}.overview-snapshot{border-top:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;padding:18px 0;display:flex}.overview-snapshot>div{flex:180px}.overview-snapshot h4{margin:0;font-size:14px}.overview-snapshot p,.overview-note{color:var(--ink-soft);margin:7px 0 0;font-size:13px;line-height:1.55}.overview-snapshot>strong{font-variant-numeric:tabular-nums;font-size:24px}.overview-panel-links{flex-wrap:wrap;gap:4px 20px;margin-top:auto;padding-top:18px;display:flex}.overview-panel-links a,.overview-more,.overview-snapshot>a{align-items:center;min-height:44px;font-size:13px;font-weight:600;display:inline-flex}.overview-empty{color:var(--ink-soft);margin:0 0 16px;font-size:14px;line-height:1.7}.overview-state{min-height:220px;color:var(--ink-soft);align-content:center;justify-items:start;gap:14px;display:grid}.overview-state p{margin:0}.overview-notice{background:var(--bg-elev);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 18px;padding:12px;font-size:13px;line-height:1.5;display:flex}.settings-jump-nav{flex-wrap:wrap;gap:8px;margin:18px 0 28px;display:flex}.settings-jump-nav a{border:1px solid var(--line);min-height:44px;color:var(--ink-soft);background:var(--surface);border-radius:10px;align-items:center;padding:8px 14px;font-size:13px;text-decoration:none;display:inline-flex}.settings-jump-nav a:hover{color:var(--accent-ink);border-color:var(--accent)}.settings-page .settings-section{scroll-margin-top:24px}.settings-page :is(.seg-opt,.hh-swatch,.theme-swatch,.type-label,.type-del,.btn){min-height:44px}.settings-page .type-del,.settings-page .hh-swatch{min-width:44px}.transaction-category-settings{padding:22px}.transaction-category-settings h3{margin:0 0 10px;font-size:15px}.settings-category-list{flex-wrap:wrap;gap:10px;margin:0 0 22px;padding:0;list-style:none;display:flex}.settings-category-list li{border:1px solid var(--line);overflow-wrap:anywhere;border-radius:9px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 12px;font-size:13px;display:flex}.settings-category-list span{color:var(--ink-soft);font-size:12px}.settings-category-form{grid-template-columns:minmax(180px,1fr) 160px auto;align-items:end;gap:12px;margin-top:20px;display:grid}.settings-category-form>.money-form-error{grid-column:1/-1}.settings-category-form :is(input,select,button){min-height:44px}.money-rules-settings-link{color:var(--ink-soft);margin:0;font-size:13px}.money-rules-settings-link a{color:var(--accent-ink);align-items:center;min-height:44px;display:inline-flex}@media (width<=1000px){.overview-grid{grid-template-columns:1fr}.overview-metrics dd{font-size:27px}}@media (width<=600px){.overview-panel{padding:18px}.overview-metrics{gap:10px}.overview-metrics dd{font-size:20px}.overview-metrics dt{font-size:12px}.settings-category-form{grid-template-columns:1fr}.settings-category-form>.money-form-error{grid-column:auto}.transaction-category-settings{padding:16px}.settings-category-form .btn{justify-content:center}}.loans-main{gap:22px;padding:20px 0 36px;display:grid}.loans-page-head,.loans-toolbar,.loans-card-heading,.loans-card-actions,.loans-dialog-head,.loans-form-actions{justify-content:space-between;align-items:center;gap:16px;display:flex}.loans-page-head{align-items:flex-start}.loans-page-head h2{letter-spacing:-.03em;margin:0;font-size:clamp(28px,4vw,38px)}.loans-page-head p,.loans-dialog-head p{color:var(--ink-soft);max-width:660px;margin:5px 0 0}.loans-kicker{color:var(--accent-ink);text-transform:uppercase;letter-spacing:.09em;margin-bottom:5px;font-size:11px;font-weight:700;display:block}.loans-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.loans-summary>div{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:22px}.loans-summary>div:first-child{background:var(--accent-soft);border-color:color-mix(in oklab, var(--accent) 24%, var(--line))}.loans-summary dt,.loans-metrics dt{color:var(--ink-soft);font-size:12px}.loans-summary dd{font-variant-numeric:tabular-nums;margin:5px 0;font-size:clamp(23px,3vw,34px);font-weight:650}.loans-summary small,.loans-note,.loans-field small{color:var(--ink-soft);font-size:12px;line-height:1.6}.loans-toolbar{flex-wrap:wrap}.loans-toolbar-group{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.loans-toolbar label{color:var(--ink-soft);gap:5px;font-size:12px;font-weight:650;display:grid}.loans-main input,.loans-main select,.loans-dialog input,.loans-dialog select,.loans-dialog textarea{border:1px solid var(--line);background:var(--surface);width:100%;min-height:42px;color:var(--ink);font:inherit;border-radius:9px;padding:9px 11px}.loans-main input:focus-visible,.loans-main select:focus-visible,.loans-dialog input:focus-visible,.loans-dialog select:focus-visible,.loans-dialog textarea:focus-visible,.loans-main button:focus-visible,.loans-dialog button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.loans-toolbar input{max-width:180px}.loans-tabs{border:1px solid var(--line);background:var(--bg-elev);border-radius:12px;gap:3px;padding:4px;display:flex}.loans-tabs button{color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:9px 16px}.loans-tabs button[aria-pressed=true]{color:var(--accent-ink);background:var(--accent-soft);font-weight:650}.loans-list{gap:14px;display:grid}.loans-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);min-width:0;overflow:hidden}.loans-card-toggle{text-align:left;width:100%;color:var(--ink);cursor:pointer;font:inherit;background:0 0;border:0;grid-template-columns:44px minmax(0,1fr) auto 20px;align-items:center;gap:14px;padding:22px;display:grid}.loans-card-toggle:hover{background:var(--bg-elev)}.loans-card-name{overflow-wrap:anywhere;font-size:17px;font-weight:650;display:inline}.loans-card-identity{min-width:0}.loans-card-identity small{color:var(--ink-soft);overflow-wrap:anywhere;display:block}.loans-sharing-badge{border:1px solid var(--line-soft);color:var(--ink-soft);overflow-wrap:anywhere;border-radius:6px;margin-top:8px;padding:3px 8px;font-size:11px;line-height:1.5;display:inline-flex}.loans-sharing-badge.is-shared{background:var(--accent-soft);color:var(--accent-ink);border-color:#0000}.loans-collaboration-note{border-left:3px solid var(--accent);background:var(--bg-elev);color:var(--ink-soft);margin:0 0 16px;padding:11px 14px;font-size:12px;line-height:1.6}.loans-sharing-summary{background:var(--bg-elev);border:1px solid var(--line-soft);border-radius:12px;padding:16px}.loans-sharing-summary p{color:var(--ink-soft);margin:10px 0 0;font-size:13px;line-height:1.65}.loans-sharing-empty{font-size:13px;line-height:1.65}.loans-entry-author{font-style:italic}.loans-card-mark{background:var(--accent-soft);width:44px;height:44px;color:var(--accent-ink);border-radius:13px;place-items:center;display:grid}.loans-card-balance{text-align:right;font-variant-numeric:tabular-nums;font-size:23px;font-weight:650}.loans-card-balance small{color:var(--ink-soft);font-size:11px;font-weight:400;display:block}.loans-chevron{transition:transform .15s}.loans-card-toggle[aria-expanded=true] .loans-chevron{transform:rotate(90deg)}.loans-card-detail{border-top:1px solid var(--line-soft);padding:0 22px 22px}.loans-card-actions{flex-wrap:wrap;justify-content:flex-start;padding:18px 0}.loans-card-actions .loans-secondary-actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.loans-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:2px 0 18px;display:grid}.loans-metrics dd{font-variant-numeric:tabular-nums;margin:5px 0 0;font-size:17px;font-weight:650}.loans-terms{background:var(--bg-elev);border:1px solid var(--line-soft);border-radius:11px;margin-bottom:18px;padding:15px 17px}.loans-terms strong{font-size:13px}.loans-terms p{color:var(--ink-soft);margin:5px 0 0;font-size:12px;line-height:1.65}.loans-badge{background:var(--bg);color:var(--ink-soft);vertical-align:middle;border-radius:6px;align-items:center;margin-left:8px;padding:3px 8px;font-size:11px;display:inline-flex}.loans-ledger-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.loans-ledger-head h4{margin:0;font-size:15px}.loans-ledger-wrap{border:1px solid var(--line);border-radius:10px;margin-top:12px;overflow-x:auto}.loans-ledger{border-collapse:collapse;width:100%;min-width:600px;font-size:12px}.loans-ledger caption{text-align:left;color:var(--ink-soft);padding:12px}.loans-ledger th{background:var(--bg-elev);color:var(--ink-soft);text-align:left;font-weight:650}.loans-ledger td,.loans-ledger th{border-bottom:1px solid var(--line-soft);vertical-align:top;padding:12px}.loans-ledger tr:last-child td{border-bottom:0}.loans-ledger .loans-numeric{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.loans-ledger small{color:var(--ink-soft);overflow-wrap:anywhere;max-width:360px;margin-top:3px;display:block}.loans-ledger .loans-voided{color:var(--ink-mute)}.loans-future,.loans-void-history{margin-top:20px}.loans-future h4{margin-bottom:5px}.loans-future ul,.loans-void-history ul{margin:10px 0 0;padding:0;font-size:12px;list-style:none}.loans-future li{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;gap:8px;padding:10px 0;display:flex}.loans-void-history li{color:var(--ink-soft);gap:4px;padding:10px 0;display:grid}.loans-link-button{color:var(--accent-ink);text-underline-offset:3px;cursor:pointer;font:inherit;background:0 0;border:0;padding:2px;text-decoration:underline}.loans-link-button:disabled{opacity:.55;cursor:default}.loans-error{border:1px solid color-mix(in oklab, var(--past) 35%, var(--line));background:var(--past-soft);color:var(--past-ink);border-radius:10px;padding:13px 16px;font-size:13px}.loans-error p{margin:0 0 8px}.loans-empty{text-align:center;border:1px dashed var(--line);background:var(--surface);border-radius:var(--radius);padding:56px 24px}.loans-empty h3{margin:12px 0 6px;font-size:23px}.loans-empty p{max-width:440px;color:var(--ink-soft);margin:0 auto 20px}.loans-status{text-align:center;color:var(--ink-soft);padding:48px 24px}.loans-dialog-backdrop{z-index:1200;background:#10182080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.loans-dialog{background:var(--surface);border:1px solid var(--line);width:min(650px,100%);max-height:calc(100dvh - 48px);box-shadow:var(--shadow-md);border-radius:20px;padding:26px;overflow-y:auto}.loans-dialog-head{align-items:flex-start;margin-bottom:22px}.loans-dialog-head h2{margin:0;font-size:23px}.loans-dialog-head p{font-size:13px}.loans-icon-button{border:1px solid var(--line);background:var(--surface);width:36px;height:36px;color:var(--ink);cursor:pointer;border-radius:9px;flex-shrink:0;place-items:center;display:grid}.loans-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.loans-field{color:var(--ink-soft);flex-direction:column;gap:6px;min-width:0;font-size:12px;font-weight:650;display:flex}.loans-field input,.loans-field select,.loans-field textarea{font-size:14px;font-weight:400}.loans-field small{font-weight:400}.loans-field-wide{grid-column:1/-1}.loans-form-grid fieldset{border:1px solid var(--line);border-radius:12px;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;min-width:0;padding:15px;display:grid}.loans-form-grid legend{color:var(--ink);padding:0 6px;font-size:13px;font-weight:650}.loans-form-actions{border-top:1px solid var(--line-soft);justify-content:flex-end;margin-top:22px;padding-top:18px}.loans-dialog .loans-error{margin-top:16px}.loans-dialog .loans-note{margin:14px 0 0}.loans-checkbox{color:var(--ink-soft);align-items:center;gap:8px;font-size:12px;display:flex}.loans-checkbox input{width:16px;min-height:16px;accent-color:var(--accent)}@media (width<=720px){.loans-page-head{flex-wrap:wrap}.loans-summary{gap:9px}.loans-summary>div{padding:15px}.loans-summary dd{font-size:22px}.loans-card-toggle{grid-template-columns:36px minmax(0,1fr) 20px;gap:10px;padding:17px}.loans-card-mark{border-radius:10px;width:36px;height:36px}.loans-card-balance{text-align:left;grid-area:2/2;font-size:22px}.loans-card-toggle .loans-chevron{grid-area:1/3}.loans-card-detail{padding:0 17px 17px}.loans-card-actions .loans-secondary-actions{width:100%;margin-left:0}.loans-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=450px){.loans-summary{grid-template-columns:1fr}.loans-summary>div{padding:15px 18px}.loans-form-grid,.loans-form-grid fieldset{grid-template-columns:1fr}.loans-dialog-backdrop{padding:12px}.loans-dialog{max-height:calc(100dvh - 24px);padding:20px}.loans-toolbar{align-items:stretch}.loans-toolbar-group{justify-content:space-between;width:100%}.loans-form-actions .btn{flex:1}}@media (prefers-reduced-motion:reduce){.loans-chevron{transition:none}}.money-rules-page{min-width:0}.money-rules-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.money-rules-precedence{border:1px solid color-mix(in oklab, var(--accent) 28%, var(--line));color:var(--ink-soft);background:color-mix(in oklab, var(--accent-soft) 42%, var(--surface));border-radius:13px;align-items:baseline;gap:10px;padding:14px 16px;font-size:13px;line-height:1.5;display:flex}.money-rules-precedence strong{color:var(--ink);flex:none}.money-rule-list{gap:10px;min-width:0;margin:0;padding:0;list-style:none;display:grid}.money-rule-card{border:1px solid var(--line);background:var(--surface);min-width:0;box-shadow:var(--shadow-sm);border-radius:15px;grid-template-rows:auto auto;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px 16px;padding:16px 17px;transition:border-color .15s,opacity .15s;display:grid}.money-rule-position{width:38px;height:38px;color:var(--ink-soft);background:var(--bg-elev);font-variant-numeric:tabular-nums;border-radius:12px;grid-area:1/1/3;place-items:center;font-size:13px;font-weight:800;display:grid}.money-rule-copy{grid-column:2;min-width:0}.money-rule-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.money-rule-title-row h3{overflow-wrap:anywhere;min-width:0;font-size:16px}.money-rule-copy p{color:var(--ink-soft);overflow-wrap:anywhere;margin:5px 0 0;font-size:13px;line-height:1.45}.money-rule-copy small{color:var(--ink-mute);font-variant-numeric:tabular-nums;margin-top:5px;font-size:10px;display:block}.money-rule-toggle{min-height:44px;color:var(--ink-soft);background:var(--bg-elev);cursor:pointer;border-radius:10px;grid-column:3;align-items:center;gap:8px;padding:0 10px;font-size:12px;font-weight:700;display:flex}.money-rule-toggle input{width:18px;height:18px;accent-color:var(--accent)}.money-rule-order-actions,.money-rule-card-actions{flex-wrap:wrap;gap:7px;display:flex}.money-rule-order-actions{grid-column:2}.money-rule-card-actions{grid-column:3;justify-content:flex-end}.money-rule-order-actions .btn,.money-rule-card-actions .btn{min-height:40px}.money-rules-empty{min-height:230px}.money-custom-category{grid-template-columns:minmax(220px,.8fr) minmax(430px,1.35fr);align-items:end;gap:18px 28px;display:grid}.money-custom-category-copy h3{font-size:18px}.money-custom-category-copy p{max-width:500px;color:var(--ink-soft);margin:6px 0 0;font-size:13px;line-height:1.5}.money-custom-category>.money-inline-error{min-width:0}.money-custom-category-form{grid-template-columns:minmax(180px,1fr) 140px auto;align-items:end;gap:10px;min-width:0;display:grid}.money-custom-category-form>.btn{justify-content:center;min-height:40px}.money-custom-category-error{grid-column:1/-1;margin-top:0}.money-rule-dialog{max-width:calc(100vw - 28px);margin:auto}.money-rule-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#070c1294}.money-rule-dialog form{margin:0}.money-rule-fieldset{border:0;min-width:0;margin:0;padding:0}.money-rule-dialog-copy{max-width:480px;color:var(--ink-soft);margin:6px 0 0;font-size:13px;line-height:1.45}@media (width<=900px){.money-custom-category{grid-template-columns:1fr;align-items:stretch}}@media (width<=720px){.money-rules-header-actions{width:100%}.money-rules-header-actions .btn{justify-content:center;width:100%;min-height:44px}.money-rules-precedence{flex-direction:column;align-items:flex-start;gap:4px}.money-rule-card{grid-template-rows:auto auto auto auto;grid-template-columns:38px minmax(0,1fr);gap:12px;padding:14px}.money-rule-position{grid-area:1/1}.money-rule-copy{grid-area:1/2}.money-rule-toggle,.money-rule-order-actions,.money-rule-card-actions{grid-column:1/-1}.money-rule-toggle{grid-row:2;justify-content:flex-start}.money-rule-order-actions{grid-row:3}.money-rule-card-actions{grid-row:4;justify-content:flex-start}.money-rule-order-actions .btn,.money-rule-card-actions .btn{flex:130px;justify-content:center;min-height:44px}.money-custom-category-form{grid-template-columns:1fr}.money-custom-category-form>.btn{min-height:44px}.money-custom-category-error{grid-column:auto}.money-rule-dialog{border-radius:18px 18px 0 0;width:100%;max-width:100%;max-height:94vh;margin:auto 0 0}.money-rule-dialog .money-modal-actions{grid-template-columns:1fr 1fr;display:grid}.money-rule-dialog .money-modal-actions .btn{justify-content:center;min-height:44px}}@media (width<=440px){.money-rule-title-row{flex-direction:column;align-items:flex-start}.money-rule-order-actions .btn,.money-rule-card-actions .btn{flex-basis:100%}.money-rule-dialog .money-modal-actions{grid-template-columns:1fr}}:root{--bg:oklch(97.5% .012 85);--bg-elev:oklch(99% .008 85);--surface:oklch(100% 0 0);--line:oklch(90% .012 75);--line-soft:oklch(94% .01 75);--ink:oklch(22% .015 60);--ink-soft:oklch(42% .018 60);--ink-mute:oklch(50% .02 65);--accent:oklch(52% .13 153);--on-accent:oklch(100% 0 0);--accent-hover:oklch(47% .12 153);--hero-start:oklch(34% .045 160);--hero-end:oklch(25% .025 250);--hero-ink:oklch(98% .005 160);--hero-help:oklch(86% .012 160);--accent-soft:oklch(92% .05 150);--accent-ink:oklch(38% .11 150);--paid:oklch(58% .09 145);--paid-soft:oklch(93% .04 145);--paid-ink:oklch(35% .08 145);--soon:oklch(68% .14 70);--soon-soft:oklch(94% .05 75);--soon-ink:oklch(42% .1 60);--past:oklch(58% .18 25);--past-soft:oklch(93% .06 25);--past-ink:oklch(40% .15 25);--upcoming:oklch(62% .1 220);--upcoming-soft:oklch(94% .03 220);--upcoming-ink:oklch(38% .08 220);--radius:16px;--radius-sm:10px;--radius-xs:6px;--shadow-sm:0 1px 2px oklch(30% .02 60/.04), 0 1px 1px oklch(30% .02 60/.03);--shadow-md:0 2px 6px oklch(30% .02 60/.05), 0 8px 24px oklch(30% .02 60/.06);--font-display:"IBM Plex Sans", system-ui, -apple-system, Segoe UI, Helvetica, sans-serif;--font-ui:"IBM Plex Sans", system-ui, -apple-system, Segoe UI, Helvetica, sans-serif;--font-mono:"IBM Plex Sans", system-ui, -apple-system, Segoe UI, Helvetica, sans-serif}:root[data-theme=dark]{--bg:oklch(15.5% .003 260);--bg-elev:oklch(19% .004 260);--surface:oklch(23% .005 260);--line:oklch(38% .008 260);--line-soft:oklch(30% .006 260);--ink:oklch(94% .008 250);--ink-soft:oklch(86% .014 250);--ink-mute:oklch(82% .016 250);--accent:oklch(52% .13 153);--on-accent:oklch(100% 0 0);--accent-hover:oklch(47% .12 153);--hero-start:oklch(24% .04 153);--hero-end:oklch(18% .012 260);--accent-soft:oklch(24% .045 153);--accent-ink:oklch(82% .13 153);--paid:oklch(72% .14 165);--paid-soft:oklch(30% .07 165);--paid-ink:oklch(88% .12 165);--soon:oklch(78% .15 85);--soon-soft:oklch(33% .09 85);--soon-ink:oklch(90% .13 85);--past:oklch(70% .18 15);--past-soft:oklch(33% .1 15);--past-ink:oklch(88% .14 15);--upcoming:oklch(72% .13 280);--upcoming-soft:oklch(32% .08 280);--upcoming-ink:oklch(88% .1 280);--shadow-sm:0 1px 2px #0008;--shadow-md:0 2px 6px #0007, 0 12px 32px #0008}:root[data-theme=cool]{--bg:oklch(97.5% .012 230);--bg-elev:oklch(99% .008 230);--surface:oklch(100% 0 0);--line:oklch(90% .018 230);--line-soft:oklch(94% .014 230);--ink:oklch(22% .02 245);--ink-soft:oklch(42% .02 240);--ink-mute:oklch(51% .025 245);--accent:oklch(53% .14 255);--on-accent:oklch(100% 0 0);--accent-hover:oklch(47% .13 255);--hero-start:oklch(34% .05 255);--accent-soft:oklch(92% .04 250);--accent-ink:oklch(38% .12 250)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;min-height:100vh;font-size:15px;line-height:1.5}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:500}button{font:inherit;color:inherit;cursor:pointer}input,select,textarea{font:inherit;color:inherit}.app{max-width:1280px;margin:0 auto;padding:32px 28px 80px}.app-footer{text-align:center;color:var(--ink-mute);letter-spacing:.02em;margin-top:32px;padding:28px 16px 8px;font-size:12px}.topbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.brand{align-items:baseline;gap:14px;display:flex}.brand-mark{background:var(--accent);color:#fff;width:38px;height:38px;font-family:var(--font-display);box-shadow:var(--shadow-sm);border-radius:12px;align-self:center;place-items:center;font-size:24px;line-height:1;display:inline-grid}.brand h1{font-family:var(--font-display);letter-spacing:-.015em;white-space:nowrap;font-size:34px}.brand-sub{color:var(--ink-mute);font-size:13px}.month-nav{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:4px;padding:4px;display:flex}.month-nav button{width:32px;height:32px;color:var(--ink-soft);background:0 0;border:0;border-radius:999px;place-items:center;transition:background .15s;display:grid}.month-nav button:hover{background:var(--bg);color:var(--ink)}.month-nav .label{font-family:var(--font-display);letter-spacing:-.01em;text-align:center;min-width:140px;padding:0 12px;font-size:19px}.kpis{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:18px 20px 20px;position:relative;overflow:hidden}.kpi .kpi-label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-mute);align-items:center;gap:8px;font-size:12px;font-weight:500;display:flex}.kpi .kpi-value{font-family:var(--font-display);color:var(--ink);letter-spacing:-.015em;white-space:nowrap;text-overflow:ellipsis;margin-top:6px;font-size:clamp(26px,4.2vw,38px);line-height:1.1;overflow:hidden}.kpi .kpi-sub{color:var(--ink-soft);margin-top:6px;font-size:13px}.kpi .kpi-value .cents{color:var(--ink-mute);font-size:.58em}.kpi{min-width:0}.kpi.past-tint{background:linear-gradient(180deg, var(--past-soft), var(--surface) 70%);border-color:color-mix(in oklab, var(--past) 30%, var(--line))}.kpi.paid-tint{background:linear-gradient(180deg, var(--paid-soft), var(--surface) 70%);border-color:color-mix(in oklab, var(--paid) 30%, var(--line))}.kpi.soon-tint{background:linear-gradient(180deg, var(--soon-soft), var(--surface) 70%);border-color:color-mix(in oklab, var(--soon) 30%, var(--line))}.bill-dashboard-loading-copy{color:var(--ink-soft);margin:12px 0 8px;font-size:13px}.bill-skeleton-filter{background:color-mix(in oklab, var(--ink) 8%, transparent);border-radius:999px;width:min(320px,72%);height:38px;margin-bottom:20px}.bill-skeleton-line{background:color-mix(in oklab, var(--ink) 8%, transparent);border-radius:999px;height:12px;display:block}.bill-skeleton-card,.bill-skeleton-panel,.bill-skeleton-upcoming,.bill-skeleton-table{pointer-events:none}.bill-skeleton-card{flex-direction:column;gap:14px;min-height:128px;display:flex}.bill-skeleton-card .bill-skeleton-line:nth-child(2){height:28px}.bill-skeleton-panel{flex-direction:column;gap:18px;min-height:220px;display:flex}.bill-skeleton-ring{border:16px solid color-mix(in oklab, var(--ink) 8%, transparent);border-radius:50%;width:118px;height:118px;margin:16px auto 0}.bill-skeleton-upcoming{gap:14px;min-height:82px;padding:18px 20px}.bill-skeleton-toolbar{border-bottom:1px solid var(--line-soft);justify-content:space-between;gap:18px;padding:18px 20px;display:flex}.bill-skeleton-rows{flex-direction:column;gap:22px;padding:22px 20px 28px;display:flex}.bill-dashboard-error{text-align:center;max-width:680px;margin:12px auto 0}.bill-dashboard-error h2{font-family:var(--font-display);font-size:24px}.bill-dashboard-error p{color:var(--ink-soft);margin:8px 0 18px}.pill-dot{border-radius:999px;width:8px;height:8px;display:inline-block}.insights{grid-template-columns:1.15fr 1fr;gap:14px;margin-bottom:24px;display:grid}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px 22px}.panel-head{justify-content:space-between;align-items:baseline;margin-bottom:14px;display:flex}.panel-title{font-family:var(--font-display);letter-spacing:-.01em;font-size:22px}.panel-sub{color:var(--ink-mute);letter-spacing:.02em;text-transform:uppercase;font-size:12px}.type-rows{flex-direction:column;gap:10px;display:flex}.type-row{grid-template-columns:16px 1fr auto;align-items:center;gap:10px;font-size:14px;display:grid}.type-row .type-dot{border-radius:3px;width:10px;height:10px}.type-row .type-bar{background:var(--line-soft);border-radius:999px;height:8px;position:relative;overflow:hidden}.type-row .type-bar .fill{color:#fff;height:100%;font-family:var(--font-mono);white-space:nowrap;border-radius:999px;align-items:center;padding-left:10px;font-size:11px;display:flex}.type-row .type-name{color:var(--ink-soft);align-items:center;gap:8px;display:flex}.type-row .type-amount{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink);font-size:13px}.progress-panel{align-items:center;gap:24px;display:flex}.ring-wrap{flex-shrink:0;width:140px;height:140px;position:relative}.ring-wrap svg{transform:rotate(-90deg)}.ring-center{text-align:center;place-items:center;display:grid;position:absolute;inset:0}.ring-center .big{font-family:var(--font-display);font-size:34px;line-height:1}.ring-center .sub{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-mute);margin-top:4px;font-size:11px}.ring-stats{flex-direction:column;flex:1;gap:10px;display:flex}.ring-stat{border-bottom:1px dashed var(--line-soft);justify-content:space-between;align-items:baseline;padding:6px 0;display:flex}.ring-stat:last-child{border:0}.ring-stat .k{color:var(--ink-soft);align-items:center;gap:8px;font-size:13px;display:flex}.ring-stat .v{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:14px}.upcoming{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;margin-bottom:24px;display:flex}.upcoming-empty-state{padding:16px 20px}.upcoming-header{text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:0;align-items:center;gap:18px;padding:16px 20px;display:flex}.upcoming-header:hover{background:color-mix(in oklab, var(--ink) 3%, transparent)}.upcoming.expanded .upcoming-header{border-bottom:1px solid var(--line-soft)}.upcoming-chev{color:var(--ink-mute);flex-shrink:0;margin-left:auto;transition:transform .15s}.upcoming.expanded .upcoming-chev{transform:rotate(180deg)}.upcoming-label{flex-shrink:0;align-items:center;gap:10px;display:flex}.upcoming-label .icon{background:var(--soon-soft);width:34px;height:34px;color:var(--soon-ink);border-radius:10px;place-items:center;display:grid}.upcoming-label .t{font-family:var(--font-display);font-size:18px;line-height:1.1}.upcoming-label .s{color:var(--ink-mute);letter-spacing:.04em;text-transform:uppercase;font-size:11px}.upcoming-list{scrollbar-width:thin;gap:10px;padding:14px 20px 16px;display:flex;overflow-x:auto}.upcoming-card{border:1px solid var(--line);background:var(--bg-elev);cursor:pointer;border-radius:12px;flex-shrink:0;min-width:180px;padding:10px 14px;transition:transform .12s,border-color .12s}.upcoming-card:hover{border-color:var(--accent);transform:translateY(-2px)}.upcoming-card .title{font-size:14px;font-weight:500}.upcoming-card .row{justify-content:space-between;align-items:baseline;margin-top:4px;display:flex}.upcoming-card .row .amt{font-family:var(--font-mono);font-size:13px}.upcoming-card .row .days{color:var(--soon-ink);font-size:11px;font-weight:600}.upcoming-card.past .row .days{color:var(--past-ink)}.upcoming-empty{color:var(--ink-mute);padding:8px 0;font-style:italic}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.toolbar{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:10px;padding:14px 16px;display:flex}.search{flex:1;min-width:180px;position:relative}.search input{border:1px solid var(--line);background:var(--bg-elev);border-radius:10px;outline:none;width:100%;padding:9px 38px 9px 34px;transition:border-color .15s,background .15s}.search input:focus{border-color:var(--accent);background:var(--surface)}.search .icon{color:var(--ink-mute);position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search-cols-btn{width:28px;height:28px;color:var(--ink-mute);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;transition:background .15s,color .15s;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.search-cols-btn:hover{background:var(--bg);color:var(--ink)}.toolbar select.type-select{background-image:linear-gradient(45deg, transparent 50%, var(--ink-soft) 50%), linear-gradient(135deg, var(--ink-soft) 50%, transparent 50%);appearance:none;background-position:calc(100% - 14px),calc(100% - 9px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding:8px 30px 8px 12px}.filter-group{align-items:center;gap:6px;display:flex}.filter-group .chip{border:1px solid var(--line);background:var(--bg-elev);color:var(--ink-soft);border-radius:999px;padding:7px 12px;font-size:13px;transition:all .15s}.filter-group .chip:hover{border-color:var(--accent);color:var(--ink)}.filter-group .chip.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn{border:1px solid var(--line);background:var(--bg-elev);color:var(--ink);border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:14px;transition:all .15s;display:inline-flex}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.primary:hover{filter:brightness(1.05)}.tbl{border-collapse:collapse;table-layout:fixed;width:100%}.tbl th,.tbl td{text-align:left;vertical-align:middle;padding:12px 14px;font-size:14px;overflow:hidden}.tbl thead th{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mute);background:var(--bg-elev);border-bottom:1px solid var(--line);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:11px;font-weight:500;position:relative}.resizable-th{padding-right:18px}.col-resizer{cursor:col-resize;-webkit-user-select:none;user-select:none;z-index:5;justify-content:center;align-items:center;width:10px;height:100%;display:flex;position:absolute;top:0;right:0}.col-resizer:before{content:"";background:var(--line);width:1px;height:60%;transition:background .15s,width .15s}.resizable-th:hover .col-resizer:before{background:var(--ink-mute);width:2px}.col-resizer:hover:before,.col-resizer:active:before{background:var(--accent)!important;width:2px!important}.tbl thead th:hover{color:var(--ink)}.tbl thead th .sort-ind{opacity:.5;margin-left:4px;font-size:10px}.tbl thead th.sorted .sort-ind{opacity:1;color:var(--accent)}.tbl tbody tr{border-bottom:1px solid var(--line-soft);transition:background .1s}.tbl tbody tr:hover{background:var(--bg)}.tbl tbody tr:last-child{border-bottom:0}.tbl tbody tr td,.tbl tbody tr td.num,.tbl tbody tr td.status,.tbl tbody tr td.title,.tbl tbody tr td.actions{vertical-align:middle!important}.tbl td.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.tbl td.title{font-weight:500}.tbl td.actions{text-align:right;width:60px;min-width:60px}.tbl th.actions-h{width:60px;min-width:60px}.tbl td .edit-cell,.tbl td input.edit-cell{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.badge{letter-spacing:.01em;white-space:nowrap;cursor:pointer;vertical-align:middle;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:500;transition:transform .1s,filter .1s;display:inline-flex}.badge:hover{filter:brightness(1.03);transform:translateY(-1px)}.badge .dot{background:currentColor;border-radius:999px;width:6px;height:6px}.badge.paid{background:var(--paid-soft);color:var(--paid-ink)}.badge.past{background:var(--past-soft);color:var(--past-ink)}.badge.soon{background:var(--soon-soft);color:var(--soon-ink)}.badge.upcoming{background:var(--upcoming-soft);color:var(--upcoming-ink)}.badge.neutral{background:var(--line-soft);color:var(--ink-soft)}.type-tag{color:#fff;letter-spacing:.01em;border-radius:6px;padding:3px 10px;font-size:12px;display:inline-flex}.edit-cell{font:inherit;color:inherit;background:0 0;border:1px solid #0000;border-radius:6px;outline:none;width:100%;padding:6px 8px;transition:border-color .15s,background .15s}.edit-cell:hover{border-color:var(--line)}.edit-cell:focus{border-color:var(--accent);background:var(--bg-elev)}input.edit-cell[type=number],input.edit-cell[type=date]{font-family:var(--font-mono)}input.edit-cell[type=number]{text-align:left}button.edit-cell.edit-display{font:inherit;color:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;padding:6px 8px}button.edit-cell.edit-display:hover{border-color:var(--line);background:var(--bg-elev)}.icon-btn{width:28px;height:28px;color:var(--ink-mute);opacity:0;background:0 0;border:0;border-radius:8px;place-items:center;transition:opacity .15s,background .15s,color .15s;display:inline-grid}.tbl tr:hover .icon-btn,.schedule-row .icon-btn,.history-row .icon-btn{opacity:1}.schedule-row{transition:background .12s}.schedule-row:hover{background:var(--bg-elev)}.schedule-row.paused{font-style:italic}.bill-row.skipped{opacity:.55;font-style:italic}.bill-row.skipped:hover{opacity:.85}.icon-btn:hover,.icon-btn-danger:hover{background:var(--past-soft);color:var(--past-ink)}.check-pill{border:1.5px solid var(--line);vertical-align:middle;background:0 0;border-radius:999px;place-items:center;width:22px;height:22px;margin-right:4px;padding:0;transition:all .15s;display:inline-grid}.check-pill.checked{background:var(--paid);border-color:var(--paid);color:#fff}.check-pill:hover{border-color:var(--paid)}.tfoot{border-top:1px solid var(--line);background:var(--bg-elev);justify-content:space-between;padding:14px 16px;font-size:13px;display:flex}.tfoot .val{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:15px}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:oklch(20% .015 60/.35);place-items:center;padding:24px;animation:.2s fade;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border-radius:var(--radius);width:440px;max-width:100%;max-height:calc(100vh - 48px);box-shadow:var(--shadow-md);border:1px solid var(--line);padding:16px 24px 24px;animation:.2s rise;overflow-y:auto}.modal h3{font-family:var(--font-display);margin-bottom:14px;font-size:24px}.field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.field label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-mute);font-size:12px}.field input,.field select,.field textarea{border:1px solid var(--line);background:var(--bg-elev);border-radius:10px;outline:none;padding:9px 12px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);background:var(--surface)}.modal-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.modal-head{justify-content:space-between;align-items:center;min-height:28px;margin-bottom:14px;display:flex}.modal-head h3{margin:0;line-height:1.2}.modal-del{color:var(--past-ink)}.modal-del:hover{background:var(--past-soft)}.scope-block{border:1px solid var(--line);background:var(--bg-elev);border-radius:10px;margin-top:12px;padding:12px}.scope-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-mute);margin-bottom:8px;font-size:12px}.scope-options{flex-direction:column;gap:6px;display:flex}.scope-opt{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;transition:border-color .12s,background .12s;display:flex}.scope-opt:hover{border-color:var(--accent)}.scope-opt.active{border-color:var(--accent);background:var(--accent-soft)}.scope-opt input{accent-color:var(--accent);flex-shrink:0;margin-top:2px}.scope-opt-title{font-size:14px;font-weight:500}.scope-opt-sub{color:var(--ink-mute);margin-top:1px;font-size:12px}.tbl tbody tr.bill-row{cursor:pointer}.tbl tbody tr.bill-row:hover{background:var(--bg)}.recur-toggle{border:1px solid var(--line);background:var(--bg-elev);cursor:pointer;border-radius:12px;align-items:center;gap:12px;margin-top:6px;padding:10px 12px;display:flex}.recur-toggle input{accent-color:var(--accent);flex-shrink:0;width:18px;height:18px}.recur-pill{background:var(--accent-soft);width:16px;height:16px;color:var(--accent-ink);cursor:help;border-radius:999px;flex-shrink:0;place-items:center;font-size:11px;display:inline-grid}.notes-cell{text-align:left;width:100%;font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;min-height:30px;padding:6px 8px;transition:border-color .12s,background .12s;display:flex}.notes-cell:hover{border-color:var(--line);background:var(--bg-elev)}.notes-cell.has-note{color:var(--ink-soft)}.notes-cell .notes-preview{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13px;overflow:hidden}.notes-cell .notes-placeholder{color:var(--ink-mute);font-size:13px;font-style:italic}.notes-popover{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:min(440px,90vw);box-shadow:var(--shadow-md);z-index:80;padding:16px;animation:.15s rise;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.notes-popover-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.notes-popover-title{color:var(--ink);font-size:15px;font-weight:500}.notes-popover-close{color:var(--ink-mute);background:0 0;border:0;border-radius:6px;width:28px;height:28px;font-size:22px;line-height:1}.notes-popover-close:hover{background:var(--bg);color:var(--ink)}.notes-popover-textarea{border:1px solid var(--line);background:var(--bg-elev);width:100%;font:inherit;color:var(--ink);resize:vertical;border-radius:10px;outline:none;min-height:120px;padding:10px 12px}.notes-popover-textarea:focus{border-color:var(--accent);background:var(--surface)}.notes-popover-foot{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.notes-popover-hint{color:var(--ink-mute);letter-spacing:.02em;font-size:11px}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.tweaks-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-md);z-index:90;width:260px;padding:16px 18px;font-size:13px;position:fixed;bottom:20px;right:20px}.tweaks-panel h4{font-family:var(--font-display);margin-bottom:12px;font-size:18px}.tweaks-panel .t-field{margin-bottom:10px}.tweaks-panel .t-field label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:4px;font-size:11px;display:block}.tweaks-panel .t-opts{flex-wrap:wrap;gap:4px;display:flex}.tweaks-panel .t-opt{border:1px solid var(--line);background:var(--bg-elev);color:var(--ink-soft);border-radius:8px;padding:5px 10px;font-size:12px}.tweaks-panel .t-opt.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}:root[data-density=compact] .tbl th,:root[data-density=compact] .tbl td{padding:8px 12px;font-size:13px}:root[data-density=compact] .kpi{padding:14px 16px}:root[data-density=compact] .kpi .kpi-value{font-size:30px}:root[data-layout=table-first] .kpis{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}:root[data-layout=table-first] .kpi .kpi-value{font-size:26px}:root[data-layout=table-first] .insights,:root[data-layout=table-first] .upcoming{display:none}.tbl-scroll{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.tbl-scroll .tbl{min-width:720px}.toolbar{position:relative}.cols-pop{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-md);z-index:60;z-index:20;border-radius:12px;min-width:200px;max-height:calc(100vh - 140px);padding:10px 12px;position:absolute;top:calc(100% - 4px);right:16px;overflow-y:auto}.cols-pop-title{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-mute);border-bottom:1px solid var(--line-soft);margin-bottom:6px;padding:4px 2px 8px;font-size:11px}.cols-pop-row{cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:6px 2px;font-size:14px;display:flex}.cols-pop-row:hover{background:var(--bg)}.cols-pop-row.required{cursor:not-allowed;color:var(--ink-mute)}.cols-pop-row input{accent-color:var(--accent)}.req-tag{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-mute);margin-left:6px;font-size:10px}.topbar-right,.topbar-actions{align-items:center;gap:10px;display:flex}.workspace-nav{flex:none}.workspace-menu-trigger{border:1px solid var(--line);min-height:40px;color:var(--ink-soft);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:0 13px;font-size:13px;font-weight:700;display:inline-flex}.workspace-menu-trigger:hover,.workspace-menu-trigger[aria-expanded=true]{border-color:var(--accent);color:var(--ink);background:var(--accent-soft)}.workspace-menu-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--ink);background:0 0;border:0;margin:0;padding:0;overflow:hidden}.workspace-menu-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#070c128c}.workspace-menu-panel{width:min(360px,100vw - 24px);height:100%;padding:max(22px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(22px, env(safe-area-inset-bottom)) 20px;overscroll-behavior:contain;border-left:1px solid var(--line);background:var(--surface);margin-left:auto;overflow-y:auto;box-shadow:-18px 0 50px #070c1233}.workspace-menu-header{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:16px;padding-bottom:20px;display:flex}.workspace-menu-brand{align-items:center;gap:12px;display:flex}.workspace-menu-brand h2{font-family:var(--font-display);font-size:23px}.workspace-menu-mark{color:#fff;background:var(--accent);width:36px;height:36px;box-shadow:var(--shadow-sm);font:22px/1 var(--font-display);border-radius:11px;place-items:center;display:grid}.workspace-menu-close{border:1px solid var(--line);width:44px;height:44px;color:var(--ink-soft);background:var(--bg-elev);border-radius:11px;flex:none;place-items:center;display:grid}.workspace-menu-close:hover{border-color:var(--accent);color:var(--ink)}.workspace-menu-nav{gap:22px;padding-top:22px;display:grid}.workspace-menu-group h3{color:var(--ink-mute);letter-spacing:.09em;text-transform:uppercase;margin:0 0 7px;padding:0 11px;font-size:10px;font-weight:700}.workspace-menu-links{gap:3px;display:grid}.workspace-menu-link{min-height:46px;color:var(--ink-soft);border-radius:11px;align-items:center;gap:12px;padding:0 12px;font-size:14px;font-weight:650;text-decoration:none;display:flex}.workspace-menu-link:hover{color:var(--ink);background:var(--bg)}.workspace-menu-link-active,.workspace-menu-link-active:hover{color:var(--accent-ink);background:var(--accent-soft)}.workspace-menu-trigger:focus-visible,.workspace-menu-close:focus-visible,.workspace-menu-link:focus-visible{outline:3px solid color-mix(in oklab, var(--accent) 35%, transparent);outline-offset:2px}.view-toggle{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:999px;gap:2px;padding:4px;display:flex}.view-toggle-btn{width:36px;height:32px;color:var(--ink-soft);background:0 0;border:0;border-radius:999px;place-items:center;transition:background .15s,color .15s;display:grid}.view-toggle-btn:hover{color:var(--ink)}.view-toggle-btn.active{background:var(--ink);color:var(--bg)}.settings-page{flex-direction:column;gap:28px;width:100%;display:flex}.settings-section-head{margin-bottom:12px}.settings-section-head h2{letter-spacing:-.01em;margin-bottom:4px;font-size:22px;font-weight:500}.settings-section-head p{color:var(--ink-mute);margin:0;font-size:13px}.settings-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.setting-row{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:24px;padding:18px 22px;display:flex}.setting-row:last-child{border-bottom:0}.setting-row-text{flex:1;min-width:0}.setting-row-label{color:var(--ink);font-size:15px;font-weight:500}.setting-row-desc{color:var(--ink-mute);margin-top:2px;font-size:13px}.setting-row-control{flex-shrink:0}.btn.danger{border-color:color-mix(in oklab, var(--past) 40%, var(--line));color:var(--past-ink)}.btn.danger:hover{background:var(--past-soft);border-color:var(--past)}.setting-btn-row{gap:8px;display:flex}.btn{align-items:center;gap:6px;display:inline-flex}.seg-control{background:var(--bg-elev);border:1px solid var(--line);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.seg-opt{color:var(--ink-soft);background:0 0;border:0;border-radius:7px;padding:6px 14px;font-size:13px;transition:all .15s}.seg-opt.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.theme-picker{gap:10px;display:flex}.theme-swatch{border:2px solid var(--line);background:var(--surface);cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:8px 8px 6px;transition:border-color .15s,transform .1s;display:flex}.theme-swatch:hover{transform:translateY(-2px)}.theme-swatch.active{border-color:var(--accent)}.theme-swatch-preview{border-radius:6px;width:56px;height:36px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px oklch(0% 0 0/.08)}.theme-swatch-preview .surf{border-radius:3px;position:absolute;inset:6px 6px 14px}.theme-swatch-preview .acc{border-radius:999px;width:18px;height:5px;position:absolute;bottom:5px;left:6px}.theme-swatch-label{color:var(--ink-soft);font-size:12px}.theme-swatch.active .theme-swatch-label{color:var(--ink);font-weight:500}.about-card .about-row{border-bottom:1px solid var(--line-soft);white-space:nowrap;justify-content:space-between;gap:16px;padding:14px 22px;font-size:14px;display:flex}.about-card .about-row:last-child{border-bottom:0}.about-card .muted{color:var(--ink-mute)}.types-manager{padding:14px 18px 18px}.type-list{flex-direction:column;gap:4px;margin:0 0 14px;padding:0;list-style:none;display:flex}.type-item{border-radius:8px;align-items:center;gap:8px;padding:4px;transition:background .12s;display:flex}.type-item:hover{background:var(--bg)}.type-label{text-align:left;font:inherit;color:var(--ink);cursor:text;background:0 0;border:0;border-radius:7px;flex:1;padding:8px 10px;font-size:14px}.type-label:hover{background:var(--bg-elev)}.type-edit-input{border:1px solid var(--accent);background:var(--surface);font:inherit;color:var(--ink);border-radius:7px;outline:none;flex:1;padding:7px 10px;font-size:14px}.type-del{width:30px;height:30px;color:var(--ink-mute);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:7px;place-items:center;transition:opacity .12s,background .12s,color .12s;display:grid}.type-item:hover .type-del{opacity:1}.type-del:hover{background:var(--past-soft);color:var(--past-ink)}.type-empty{color:var(--ink-mute);padding:12px 10px;font-size:13px;font-style:italic}.type-add{border-top:1px solid var(--line-soft);gap:8px;padding-top:14px;display:flex}.type-add input{border:1px solid var(--line);background:var(--bg-elev);font:inherit;color:var(--ink);border-radius:9px;outline:none;flex:1;padding:9px 12px;transition:border-color .15s,background .15s}.type-add input:focus{border-color:var(--accent);background:var(--surface)}.type-add .btn.primary:disabled{opacity:.5;cursor:not-allowed}.income-input{border:1px solid var(--line);background:var(--bg-elev);border-radius:8px;align-items:center;padding:0 4px 0 12px;transition:border-color .15s,background .15s;display:inline-flex}.income-input:focus-within{border-color:var(--accent);background:var(--surface)}.income-prefix{color:var(--ink-mute);font-family:var(--font-mono);margin-right:4px}.income-input input{width:110px;font-family:var(--font-mono);text-align:right;color:var(--ink);background:0 0;border:0;outline:none;padding:8px 6px;font-size:14px}.toast-host{z-index:200;pointer-events:none;flex-direction:column;gap:0;display:flex;position:fixed;top:0;left:0;right:0}.toast{background:var(--ink);width:100%;color:var(--bg);box-shadow:var(--shadow-md);pointer-events:auto;border-bottom:1px solid oklch(100% 0 0/.08);border-radius:0;justify-content:center;align-items:center;gap:16px;padding:12px 28px;font-size:14px;font-weight:500;animation:.22s ease-out slideDown;display:flex}.toast-msg{text-align:center;flex:0 auto}.toast-action{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 10px;font-size:13px;font-weight:600;transition:background .15s}.toast-action:hover{background:oklch(100% 0 0/.08)}.toast-close{color:var(--bg);opacity:.5;cursor:pointer;background:0 0;border:0;padding:0 6px;font-size:20px;line-height:1;position:absolute;right:16px}.toast-close:hover{opacity:1}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@media (width<=720px){.toast{padding:10px 44px 10px 16px;font-size:13px}.toast-msg{text-align:left}}.popover-anchor{position:relative}.popover{z-index:60;background:var(--surface);border:1px solid var(--line);min-width:220px;box-shadow:var(--shadow-md);border-radius:12px;flex-direction:column;max-height:320px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}.popover-item{color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;font-size:14px;transition:background-color .1s;display:flex}.popover-item:hover{background:var(--bg)}.popover-item.selected{color:var(--accent);background:color-mix(in oklab, var(--accent) 10%, transparent)}.btn.btn-picker{justify-content:space-between;gap:10px;min-width:200px;padding:9px 14px}.btn-picker-chev{color:var(--ink-mute);flex-shrink:0;transition:transform .15s}.btn-picker[aria-expanded=true] .btn-picker-chev{transform:rotate(180deg)}.col-select{width:32px;padding:0 8px!important}.col-select input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;margin:0}.tbl tbody tr.selected td,.tbl tbody tr.selected:hover td{background:var(--accent-soft)}.bulk-bar{background:var(--ink);color:var(--bg);box-shadow:var(--shadow-md);z-index:90;border-radius:14px;align-items:center;gap:8px;padding:8px 8px 8px 16px;animation:.25s rise;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.bulk-count{white-space:nowrap;font-size:14px;font-weight:500}.bulk-clear{color:var(--bg);opacity:.6;cursor:pointer;background:0 0;border:0;border-radius:6px;width:24px;height:24px;font-size:18px;line-height:1}.bulk-clear:hover{opacity:1;background:oklch(100% 0 0/.1)}.bulk-divider{background:oklch(100% 0 0/.15);width:1px;height:20px}.bulk-btn{color:var(--bg);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;align-items:center;gap:5px;padding:6px 10px;font-size:13px;transition:background .15s;display:inline-flex}.bulk-btn:hover{background:oklch(100% 0 0/.1)}.bulk-btn.danger{color:oklch(75% .14 25)}.bulk-btn.danger:hover{background:oklch(60% .14 25/.2)}.bulk-type-wrap{position:relative}.bulk-type-pop{background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow-md);border-radius:10px;flex-direction:column;min-width:140px;padding:4px;display:flex;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.bulk-type-opt{text-align:left;cursor:pointer;color:var(--ink);background:0 0;border:0;border-radius:6px;padding:8px 12px;font-size:14px}.bulk-type-opt:hover{background:var(--bg)}@media (width<=720px){.bulk-bar{flex-wrap:wrap;bottom:12px;left:12px;right:12px;transform:none}.app{padding:20px 14px 64px}.topbar{flex-direction:column;align-items:stretch;gap:14px}.brand{justify-content:center}.brand h1{font-size:26px}.topbar-right{flex-direction:column;align-items:center;gap:10px;width:100%}.topbar-actions{order:1;justify-content:center;align-items:center;gap:10px;display:flex}.month-nav{order:2;justify-content:center;width:auto}.month-nav .label{flex:none;min-width:0;padding:0 16px}.workspace-menu-trigger{min-height:44px;padding-inline:15px}.owners-pill{width:fit-content;margin:0 auto;display:flex!important}.kpis{grid-template-columns:repeat(2,1fr);gap:10px}.kpi .kpi-value{font-size:26px}.kpi .kpi-value .cents{font-size:16px}.insights{grid-template-columns:1fr}.upcoming-empty-state{padding:14px 16px}.upcoming-header{gap:12px;padding:14px 16px}.upcoming-list{flex-direction:column;gap:8px;padding:12px 16px 14px;overflow-x:visible}.upcoming-card{width:100%;min-width:0}.toolbar{grid-template-columns:1fr 1fr;gap:8px;padding:12px;display:grid}.search{grid-column:1/-1}.filter-group{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;grid-column:1/-1;padding-bottom:2px;overflow-x:auto}.filter-group .chip{flex-shrink:0}.toolbar select.btn{min-width:0!important}.btn.btn-picker{grid-column:1/-1;width:100%;min-width:0}.toolbar>.btn.primary{grid-column:1/-1}.cols-pop{left:12px;right:12px}.tbl th,.tbl td{padding:10px;font-size:13px}.tbl th{font-size:10px}.tfoot{flex-direction:column;align-items:stretch;gap:4px;font-size:12.5px}.tfoot>span{display:block}.tweaks-panel{width:auto;bottom:12px;left:12px;right:12px}.setting-row{flex-direction:column;align-items:flex-start;gap:12px;padding:16px}.setting-row-control,.seg-control{width:100%}.seg-opt{flex:1}.theme-picker{justify-content:space-between;width:100%}}@media (width<=440px){.workspace-menu-panel{border-left:0;width:100%}}.tbl td.actions .icon-btn{opacity:1}@media (hover:hover){.tbl td.actions .icon-btn{opacity:0}.tbl tr:hover .icon-btn{opacity:1}}.kpi-value,.tbl .num,.drawer-item-amt,.upcoming-card .amt,.history-row-sentence,.share-preview{font-variant-numeric:tabular-nums}.owners-pill{border:1px solid var(--line);background:var(--bg-elev);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.owners-pill-seg{font:inherit;color:var(--ink-soft);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:6px 12px;font-size:12.5px;transition:background .15s,color .15s}.owners-pill-seg:hover{color:var(--ink)}.owners-pill-seg.active{background:var(--ink);color:var(--bg)}.kpi{position:relative}.kpi-spark{justify-content:stretch;margin-top:10px;margin-left:-2px;margin-right:-2px;display:flex}.kpi-spark .spark{width:100%;height:28px;display:block}.bell-btn{border:1px solid var(--line);background:var(--bg-elev);width:36px;height:36px;color:var(--ink-soft);cursor:pointer;border-radius:10px;place-items:center;margin-right:4px;transition:background .15s,color .15s,border-color .15s;display:grid;position:relative}.bell-btn:hover{color:var(--ink);border-color:var(--accent)}.bell-badge{background:var(--past);color:#fff;border:2px solid var(--bg);border-radius:999px;place-items:center;min-width:17px;height:17px;padding:0 5px;font-size:10px;font-weight:600;display:grid;position:absolute;top:-4px;right:-4px}.drawer-scrim{background:color-mix(in oklab, var(--ink) 25%, transparent);opacity:0;pointer-events:none;z-index:90;transition:opacity .2s;position:fixed;inset:0}.drawer-scrim.open{opacity:1;pointer-events:auto}.drawer{background:var(--bg);border-left:1px solid var(--line);z-index:91;flex-direction:column;width:min(420px,100vw);transition:transform .25s cubic-bezier(.2,.7,.2,1);display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-10px 0 30px #0000000f}.drawer.open{transform:translate(0)}.drawer-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;padding:18px 20px 14px;display:flex}.drawer-title-wrap{align-items:center;gap:10px;display:flex}.drawer-head h3{font-family:var(--font-display);margin:0;font-size:17px;font-weight:600}.drawer-count{background:var(--accent-soft);color:var(--accent-ink);text-align:center;border-radius:999px;min-width:20px;padding:2px 9px;font-size:12px;font-weight:600}.drawer-body{flex:1;padding:8px;overflow:auto}.drawer-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.drawer-item{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:0;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;transition:background .15s;display:flex}.drawer-item:hover{background:var(--bg-elev)}.drawer-item-main{min-width:0}.drawer-item-title{font-size:14px;font-weight:500}.drawer-item-sub{color:var(--ink-mute);align-items:center;gap:6px;margin-top:2px;font-size:12px;display:flex}.drawer-type-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.drawer-item-right{text-align:right;flex-shrink:0}.drawer-item-amt{font-size:14px;font-weight:500}.drawer-item-pill{border-radius:999px;margin-top:3px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.drawer-item-pill-soon{background:var(--soon-soft);color:var(--soon-ink)}.drawer-item-pill-upcoming{background:var(--accent-soft);color:var(--accent-ink)}.drawer-item-pill-past{background:var(--past-soft);color:var(--past-ink)}.drawer-empty{text-align:center;color:var(--ink-mute);padding:60px 20px}.drawer-empty-mark{background:var(--paid-soft);width:48px;height:48px;color:var(--paid-ink);border-radius:50%;place-items:center;margin-bottom:14px;font-size:22px;font-weight:600;display:inline-grid}.dot-sep{color:var(--ink-mute)}.modal-backdrop{background:color-mix(in oklab, var(--ink) 30%, transparent);z-index:100;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.settle-modal{background:var(--surface);border:1px solid var(--line);border-radius:16px;width:min(440px,100%);overflow:hidden;box-shadow:0 20px 60px #0000002e}.settle-modal .modal-head,.modal .modal-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;padding:18px 22px 14px;display:flex}.modal-head h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:18px;font-weight:600}.modal-close{color:var(--ink-mute);cursor:pointer;background:0 0;border:0;border-radius:7px;width:28px;height:28px;font-size:22px;line-height:1}.modal-close:hover{background:var(--bg-elev);color:var(--ink)}.modal-body{flex-direction:column;gap:14px;padding:16px 22px 8px;display:flex}.modal-foot{border-top:1px solid var(--line-soft);justify-content:flex-end;gap:8px;padding:14px 22px 18px;display:flex}.btn-primary{background:var(--ink);color:var(--bg);border-color:var(--ink);font-weight:500}.btn-primary:hover{background:color-mix(in oklab, var(--ink) 88%, var(--accent))}.form-row{flex-direction:column;gap:6px;display:flex}.form-row label{color:var(--ink-soft);font-size:12px;font-weight:500}.form-row .muted{color:var(--ink-mute);font-weight:400}.form-row input[type=text],.form-row input[type=date],.form-row input[type=number]{border:1px solid var(--line);background:var(--bg-elev);font:inherit;color:var(--ink);border-radius:10px;outline:none;padding:9px 12px;transition:border-color .15s,background .15s}.form-row input:focus{border-color:var(--accent);background:var(--surface)}.amt-input-wrap{align-items:center;display:flex;position:relative}.amt-prefix{color:var(--ink-mute);font-size:16px;position:absolute;left:12px}.amt-input{font-variant-numeric:tabular-nums;width:100%;font-weight:500;padding-left:26px!important;font-size:18px!important}.direction-toggle{border:1px solid var(--line);background:var(--bg-elev);border-radius:10px;display:flex;overflow:hidden}.direction-opt{font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;flex:1;padding:9px 10px;font-size:13px;transition:background .15s,color .15s}.direction-opt:hover{color:var(--ink)}.direction-opt.active{background:var(--ink);color:var(--bg)}.direction-opt+.direction-opt{border-left:1px solid var(--line)}.direction-opt.active+.direction-opt{border-left-color:var(--ink)}.direction-opt:has(+.direction-opt.active){border-left-color:var(--ink)}.history-view{max-width:920px;margin:0 auto;padding:22px}.history-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.page-title{font-family:var(--font-display);letter-spacing:-.015em;margin:0 0 4px;font-size:26px;font-weight:600}.page-sub{color:var(--ink-mute);margin:0;font-size:14px}.history-empty{border:1px dashed var(--line);background:var(--bg-elev);text-align:center;color:var(--ink-mute);border-radius:14px;padding:60px 30px}.history-empty-icon{background:var(--surface);border:1px solid var(--line-soft);width:64px;height:64px;color:var(--ink-mute);border-radius:50%;place-items:center;margin-bottom:14px;display:inline-grid}.history-list{border:1px solid var(--line);background:var(--surface);border-radius:14px;margin:0;padding:0;list-style:none;overflow:hidden}.history-row{border-bottom:1px solid var(--line-soft);grid-template-columns:104px 1fr auto;align-items:center;gap:16px;padding:14px 18px;display:grid}.history-row:last-child{border-bottom:0}.history-row-date{text-align:center;border-right:1px solid var(--line-soft);color:var(--ink);font-variant-numeric:tabular-nums;padding-right:16px;font-size:12px;font-weight:650}.history-row-sentence{font-size:14.5px;font-weight:500}.history-row-pos{color:var(--paid-ink)}.history-row-neg{color:var(--past-ink)}.history-row-meta{color:var(--ink-mute);flex-wrap:wrap;align-items:center;gap:8px;margin-top:3px;font-size:12px;display:flex}.history-row-note{color:var(--ink-soft)}.history-row-actions{gap:4px;display:flex}.history-row-actions .icon-btn{width:32px;height:32px;color:var(--ink-mute);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;transition:background .15s,color .15s;display:grid}.history-row-actions .icon-btn:hover{background:var(--bg-elev);color:var(--ink)}.history-row-actions .icon-btn-danger:hover{background:var(--past-soft);color:var(--past-ink)}.share-block{border:1px solid var(--line-soft);background:var(--bg-elev);border-radius:12px;flex-direction:column;gap:12px;margin-top:4px;padding:14px;display:flex}.share-row{display:flex}.share-segs{border:1px solid var(--line);background:var(--surface);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.share-seg{font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 14px;font-size:12.5px}.share-seg:hover{color:var(--ink)}.share-seg.active{background:var(--ink);color:var(--bg)}.share-pct-row{align-items:center;gap:14px;display:flex}.share-pct-field{flex-direction:column;flex:1;gap:4px;display:flex}.share-pct-label{color:var(--ink-soft);font-size:12px}.share-pct-input{border:1px solid var(--line);background:var(--surface);font-variant-numeric:tabular-nums;border-radius:8px;align-items:center;gap:4px;padding:7px 10px;display:flex}.share-pct-input input{width:100%;font:inherit;color:var(--ink);-moz-appearance:textfield;background:0 0;border:0;outline:none;font-size:14px;font-weight:500}.share-pct-input input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.share-pct-input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.share-pct-input.readonly{color:var(--ink-mute)}.share-pct-input.readonly span:first-child{color:var(--ink);font-weight:500}.share-pct-divider{color:var(--ink-mute);padding-top:18px}.share-preview{color:var(--ink-soft);align-items:center;gap:12px;padding:8px 0 2px;font-size:13px;display:flex}.share-preview strong{color:var(--ink);margin-left:4px;font-weight:600}.share-preview-divider{background:var(--ink-mute);border-radius:50%;width:4px;height:4px;display:inline-block}.share-payer{padding-top:4px}.seg-control{border:1px solid var(--line);border-radius:10px;display:inline-flex;overflow:hidden}.seg-opt{background:var(--surface);font:inherit;color:var(--ink-soft);cursor:pointer;border:0;padding:8px 12px;font-size:13px}.seg-opt:hover{color:var(--ink)}.seg-opt.active{background:var(--ink);color:var(--bg)}.seg-opt+.seg-opt{border-left:1px solid var(--line)}.share-pill{background:var(--accent-soft);width:16px;height:16px;color:var(--accent-ink);border-radius:999px;flex-shrink:0;place-items:center;display:inline-grid}.share-sub{color:var(--ink-mute);margin-top:-1px;font-size:11.5px}.tbl-scroll{max-height:calc(100vh - 200px);overflow:auto}.tbl thead th{z-index:2;background:var(--bg-elev);position:sticky;top:0}.bill-row.is-today td:first-of-type{position:relative}.bill-row.is-today{box-shadow:inset 3px 0 0 var(--accent)}.bill-row.is-today .col-dueDate{color:var(--accent-ink);font-weight:500}.upcoming-list{padding:4px 0}.upcoming-week-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mute);border-left:1px dashed var(--line);flex-shrink:0;align-self:stretch;align-items:center;margin-left:4px;padding:0 4px 0 12px;font-size:10.5px;font-weight:600;display:flex}.upcoming-week-label:first-child{border-left:0;margin-left:0;padding-left:0}.upcoming-card.shared{border-style:solid}.upcoming-card .sub-date{color:var(--ink-mute);margin-top:2px;font-size:11px}.hh-name-input,.setting-input{border:1px solid var(--line);background:var(--bg-elev);font:inherit;color:var(--ink);border-radius:8px;outline:none;padding:8px 10px;transition:border-color .15s,background .15s,box-shadow .15s}.hh-name-input{width:200px}.setting-input{width:100%;max-width:360px}.toolbar{border-top-left-radius:calc(var(--radius) - 1px);border-top-right-radius:calc(var(--radius) - 1px)}.tfoot{border-bottom-left-radius:calc(var(--radius) - 1px);border-bottom-right-radius:calc(var(--radius) - 1px)}@media (width>=1600px){.app{max-width:1520px}}@media (width>=2000px){.app{max-width:1800px}}.hh-name-input:focus,.setting-input:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 15%, transparent)}.setting-input::placeholder{color:var(--ink-mute)}.setting-input.error{border-color:var(--past);background:color-mix(in oklab, var(--past-soft) 50%, var(--bg-elev))}.hh-color-picker{gap:8px;display:flex}.hh-swatch{cursor:pointer;outline:1px solid var(--line);outline-offset:-2px;border:2px solid #0000;border-radius:50%;width:26px;height:26px;transition:transform .15s,border-color .15s,outline-color .15s}.hh-swatch:hover{transform:scale(1.08)}.hh-swatch.active{border-color:var(--surface);outline:2px solid var(--ink);outline-offset:1px}:root,[data-partner-color=violet]{--partner:oklch(62% .14 295);--partner-soft:oklch(94% .04 295);--partner-ink:oklch(40% .13 295)}[data-partner-color=teal]{--partner:oklch(62% .12 195);--partner-soft:oklch(94% .04 195);--partner-ink:oklch(38% .1 195)}[data-partner-color=amber]{--partner:oklch(70% .13 75);--partner-soft:oklch(94% .05 75);--partner-ink:oklch(44% .11 75)}[data-partner-color=rose]{--partner:oklch(64% .15 15);--partner-soft:oklch(94% .04 15);--partner-ink:oklch(42% .13 15)}[data-partner-color=indigo]{--partner:oklch(58% .13 260);--partner-soft:oklch(94% .04 260);--partner-ink:oklch(38% .12 260)}[data-partner-color=forest]{--partner:oklch(56% .1 150);--partner-soft:oklch(94% .04 150);--partner-ink:oklch(36% .09 150)}[data-theme=dark][data-partner-color=violet]{--partner-soft:oklch(32% .06 295);--partner-ink:oklch(86% .12 295)}[data-theme=dark][data-partner-color=teal]{--partner-soft:oklch(32% .06 195);--partner-ink:oklch(86% .1 195)}[data-theme=dark][data-partner-color=amber]{--partner-soft:oklch(34% .07 75);--partner-ink:oklch(86% .12 75)}[data-theme=dark][data-partner-color=rose]{--partner-soft:oklch(32% .07 15);--partner-ink:oklch(86% .13 15)}[data-theme=dark][data-partner-color=indigo]{--partner-soft:oklch(32% .07 260);--partner-ink:oklch(86% .12 260)}[data-theme=dark][data-partner-color=forest]{--partner-soft:oklch(32% .05 150);--partner-ink:oklch(86% .1 150)}.owners-pill-seg[aria-selected=true]:nth-child(4){background:var(--partner);color:var(--surface)}.share-pill{background:var(--partner-soft);color:var(--partner-ink)}.tbl thead th.col-partnerPaidDate .th-label{color:var(--partner-ink)}.money-app{max-width:1360px}.money-card-label{color:var(--ink-mute);letter-spacing:.09em;text-transform:uppercase;margin:0 0 7px;font-size:11px;font-weight:700}.money-main{min-height:440px}.money-state,.money-empty{text-align:center;border:1px solid var(--line);background:var(--surface);border-radius:20px;align-content:center;place-items:center;min-height:360px;padding:48px 24px;display:grid}.money-state h3,.money-empty h3{margin-bottom:8px;font-size:24px}.money-state p,.money-empty>p{max-width:520px;color:var(--ink-soft);margin:0 0 18px;line-height:1.55}.money-state-error{border-color:color-mix(in oklab, var(--past) 35%, var(--line))}.money-empty-mark{color:#fff;background:var(--accent);width:58px;height:58px;font:34px/1 var(--font-display);box-shadow:var(--shadow-md);border-radius:18px;place-items:center;margin-bottom:18px;display:grid}.money-empty-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.money-empty-actions a{text-decoration:none}.money-overview{gap:18px;display:grid}.money-hero-card{color:#fff;background:radial-gradient(circle at 82% 15%, #ffffff26, transparent 34%), linear-gradient(135deg, color-mix(in oklab, var(--accent) 85%, #101827), #152331);box-shadow:var(--shadow-md);border-radius:22px;justify-content:space-between;align-items:end;gap:32px;padding:clamp(24px,4vw,40px);display:flex;overflow:hidden}.money-hero-card .money-card-label{color:#ffffffad}.money-total{font-family:var(--font-display);letter-spacing:-.035em;font-size:clamp(42px,7vw,72px);font-weight:500;line-height:1;display:block}.money-card-note{color:#ffffffa6;margin:12px 0 0;font-size:13px}.money-position-breakdown{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:1px solid #ffffff26;border-radius:14px;min-width:220px;margin:0;padding:16px 18px}.money-position-breakdown div{justify-content:space-between;gap:24px;padding:7px 0;display:flex}.money-position-breakdown dt{color:#ffffffad;font-size:13px}.money-position-breakdown dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.money-flow-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.money-stat-card,.money-panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:17px}.money-stat-card{padding:19px 20px}.money-stat-card strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin-bottom:8px;font-size:28px;font-weight:500;display:block}.money-stat-card>span{color:var(--ink-mute);font-size:12px}.money-stat-positive strong{color:var(--paid-ink)}.money-stat-negative strong{color:var(--past-ink)}.money-overview-grid{grid-template-columns:minmax(0,1.45fr) minmax(320px,.8fr);gap:18px;display:grid}.money-panel{min-width:0;padding:20px}.money-panel-head{justify-content:space-between;align-items:start;gap:16px;margin-bottom:15px;display:flex}.money-panel-head h3{font-size:18px}.money-panel-head a,.money-panel-empty a{color:var(--accent);font-size:12px;font-weight:700;text-decoration:none}.money-panel-empty{min-height:120px;color:var(--ink-mute);text-align:center;place-items:center;display:grid}.money-chart-legend{color:var(--ink-mute);justify-content:flex-end;gap:14px;margin-bottom:4px;font-size:11px;display:flex}.money-chart-legend span{align-items:center;gap:5px;display:flex}.money-legend-dot{border-radius:50%;width:7px;height:7px}.money-legend-spend{background:var(--past)}.money-legend-income{background:var(--paid)}.money-chart-canvas{position:relative}.money-trend-svg{cursor:crosshair;touch-action:pan-y pinch-zoom;width:100%;height:auto;display:block;overflow:visible}.money-trend-svg:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:8px}.money-chart-grid{stroke:var(--line-soft);stroke-width:1px}.money-chart-line{fill:none;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.money-chart-hit-area{fill:#0000;pointer-events:all}.money-chart-crosshair{stroke:var(--ink-mute);stroke-width:1px;stroke-dasharray:3 3}.money-chart-point{stroke:var(--surface);stroke-width:2.5px}.money-chart-point-spend{fill:var(--past)}.money-chart-point-income{fill:var(--paid)}.money-chart-tooltip{z-index:1;border:1px solid var(--line);width:max-content;min-width:172px;max-width:calc(100% - 12px);color:var(--ink-soft);background:var(--surface);font-variant-numeric:tabular-nums;pointer-events:none;border-radius:10px;gap:4px;padding:10px 12px;font-size:12px;line-height:1.25;display:grid;position:absolute;top:clamp(8px,3vw,20px);box-shadow:0 5px 16px #0000002e}.money-chart-tooltip strong{color:var(--ink);font-size:13px}.money-chart-tooltip-start{transform:translate(0)}.money-chart-tooltip-center{transform:translate(-50%)}.money-chart-tooltip-end{transform:translate(-100%)}.money-chart-axis{color:var(--ink-soft);font-variant-numeric:tabular-nums;justify-content:space-between;gap:16px;margin-top:2px;font-size:11px;display:flex}.money-chart-empty{min-height:205px;color:var(--ink-mute);place-items:center;font-size:13px;display:grid}.money-transaction-list{margin:0;padding:0;list-style:none}.money-transaction-list li{border-bottom:1px solid var(--line-soft);align-items:center;gap:10px;padding:11px 0;display:flex}.money-transaction-list li:last-child{border-bottom:0}.money-transaction-icon{width:31px;height:31px;color:var(--accent);background:var(--accent-soft);border-radius:10px;flex:none;place-items:center;display:grid}.money-transaction-copy{flex:1;min-width:0}.money-transaction-copy strong,.money-transaction-copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.money-transaction-copy strong{font-size:13px}.money-transaction-copy small{color:var(--ink-mute);margin-top:3px;font-size:11px}.money-amount-spend,.money-amount-income{font-variant-numeric:tabular-nums;flex:none;font-size:12px;font-weight:700}.money-amount-spend{color:var(--ink)}.money-amount-income{color:var(--paid-ink)}.money-budget-preview-grid{grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:14px;display:grid}.money-budget-preview{background:var(--bg-elev);border-radius:12px;min-width:0;padding:13px}.money-budget-preview>div:first-child{justify-content:space-between;gap:8px;font-size:12px;display:flex}.money-budget-preview>div:first-child span{color:var(--ink-mute)}.money-progress{background:var(--line-soft);border-radius:99px;height:6px;margin:10px 0 8px;overflow:hidden}.money-progress span{border-radius:inherit;background:var(--paid);height:100%;display:block}.money-budget-approaching .money-progress span{background:var(--soon)}.money-budget-exceeded .money-progress span{background:var(--past)}.money-budget-preview small{color:var(--ink-mute)}.money-page{gap:18px;display:grid}.money-page-head{justify-content:space-between;align-items:end;gap:24px;margin-bottom:2px;display:flex}.money-page-head h2{font-family:var(--font-display);font-size:clamp(28px,4vw,38px);font-weight:500}.money-page-head p:last-child{max-width:620px;color:var(--ink-soft);margin:7px 0 0;font-size:14px;line-height:1.55}.money-page-head .btn{flex:none;align-items:center;gap:7px;display:inline-flex}.money-page-actions{justify-content:flex-end;align-items:center;gap:9px;display:flex}.money-plaid-panel{padding:0;overflow:hidden}.money-plaid-panel-head{border-bottom:1px solid var(--line);align-items:center;margin:0;padding:17px 19px}.money-plaid-panel-head>div{gap:4px;display:grid}.money-plaid-content{gap:12px;padding:16px 19px;display:grid}.money-plaid-loading{gap:10px;padding:22px 19px;display:grid}.money-plaid-skeleton{background:var(--line-soft);border-radius:999px;display:block;overflow:hidden}.money-plaid-skeleton:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in oklab, var(--surface) 72%, transparent), transparent);width:45%;height:100%;animation:1.15s ease-in-out infinite money-plaid-loading;display:block}.money-plaid-skeleton-title{width:min(230px,64%);height:14px}.money-plaid-skeleton-copy{width:min(390px,88%);height:11px}.money-plaid-progress,.money-plaid-note{color:var(--ink-mute);margin:0;font-size:12px}.money-plaid-progress{align-items:center;gap:8px;display:flex}.money-plaid-progress:before{content:"";border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;flex:none;width:8px;height:8px;animation:.8s linear infinite money-plaid-spin}.money-plaid-empty{justify-content:space-between;align-items:center;gap:24px;padding:4px 0;display:flex}.money-plaid-empty>div{gap:5px;display:grid}.money-plaid-empty strong{font-size:14px}.money-plaid-empty span{color:var(--ink-mute);font-size:12px;line-height:1.45}.money-plaid-list{border:1px solid var(--line-soft);border-radius:12px;margin:0;padding:0;list-style:none;overflow:hidden}.money-plaid-list li{border-top:1px solid var(--line-soft);align-items:center;gap:12px;padding:13px 14px;display:flex}.money-plaid-list li:first-child{border-top:0}.money-plaid-institution-mark{width:34px;height:34px;color:var(--accent);background:var(--accent-soft);border-radius:10px;flex:none;place-items:center;font-size:13px;font-weight:800;display:grid}.money-plaid-institution-copy{flex:1;gap:3px;min-width:0;display:grid}.money-plaid-institution-copy strong,.money-plaid-institution-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.money-plaid-institution-copy strong{font-size:13px}.money-plaid-institution-copy small{color:var(--ink-mute);font-size:11px}.money-plaid-connection-actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.money-plaid-status{flex:none}.money-plaid-reconnect{min-height:30px;padding:5px 9px;font-size:11px}.money-plaid-status-active,.money-plaid-managed-account{color:var(--paid-ink);background:var(--paid-soft)}.money-plaid-status-pending{color:var(--soon-ink);background:var(--soon-soft)}.money-plaid-status-error,.money-plaid-status-login_required{color:var(--past-ink);background:var(--past-soft)}.money-plaid-managed-account{cursor:default}@keyframes money-plaid-loading{0%{transform:translate(-110%)}to{transform:translate(245%)}}@keyframes money-plaid-spin{to{transform:rotate(360deg)}}.money-muted{color:var(--ink-mute);font-size:12px}.money-inline-error{border:1px solid color-mix(in oklab, var(--past) 30%, var(--line));color:var(--past-ink);background:color-mix(in oklab, var(--past-soft) 55%, var(--surface));border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;font-size:13px;display:flex}.money-inline-error button{color:inherit;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.money-compact-empty{min-height:280px}.money-list-panel{padding:0;overflow:hidden}.money-list-panel>.money-panel-head{border-bottom:1px solid var(--line);align-items:center;margin:0;padding:17px 19px}.money-table-wrap{width:100%;overflow-x:auto}.money-table{border-collapse:collapse;width:100%;min-width:760px}.money-table th{color:var(--ink-mute);background:var(--bg-elev);letter-spacing:.065em;text-align:left;text-transform:uppercase;padding:10px 14px;font-size:10px;font-weight:700}.money-table td{border-top:1px solid var(--line-soft);color:var(--ink-soft);vertical-align:middle;padding:13px 14px;font-size:13px}.money-table tbody tr:hover{background:color-mix(in oklab, var(--accent-soft) 28%, transparent)}.money-table td>strong,.money-table td>small{display:block}.money-table td>strong{color:var(--ink)}.money-table td>small{max-width:280px;color:var(--ink-mute);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:11px;overflow:hidden}.money-cell-stack{gap:3px;display:grid}.money-cell-stack small{color:var(--ink-mute);font-size:10px}.money-num{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right!important}.money-pill{min-height:24px;color:var(--ink-soft);background:var(--bg);border-radius:999px;align-items:center;padding:0 8px;font-size:11px;font-weight:700;display:inline-flex}.money-pill-positive{color:var(--paid-ink);background:var(--paid-soft)}.money-pill-warning{color:var(--soon-ink);background:var(--soon-soft)}.money-row-actions{white-space:nowrap;justify-content:flex-end;gap:5px;display:flex}.money-row-actions button{color:var(--ink-soft);background:0 0;border:0;border-radius:7px;align-items:center;gap:5px;padding:6px 8px;font-size:11px;display:inline-flex}.money-row-actions button:hover{color:var(--ink);background:var(--bg)}.money-row-actions .money-danger-link:hover{color:var(--past-ink);background:var(--past-soft)}.money-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.money-filter-panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:15px;grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(135px,.7fr));gap:12px;padding:15px;display:grid}.money-field{min-width:0;color:var(--ink);align-content:start;gap:6px;font-size:12px;font-weight:700;display:grid}.money-field>span{color:var(--ink-mute);font-weight:400}.money-field input,.money-field select,.money-field textarea{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:var(--bg-elev);border-radius:9px;outline:none;font-size:14px;font-weight:400}.money-field input,.money-field select{min-height:40px;padding:0 11px}.money-field textarea{resize:vertical;padding:10px 11px}.money-field input:focus,.money-field select:focus,.money-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 14%, transparent)}.money-field-wide{grid-column:1/-1}.money-search-control{position:relative}.money-search-control svg{color:var(--ink-mute);pointer-events:none;position:absolute;top:12px;left:11px}.money-search-control input{padding-left:36px}.money-filter-summary{min-height:24px;color:var(--ink-mute);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 18px;font-size:12px;display:flex}.money-filter-summary span:first-child{margin-right:auto}.money-filter-summary strong{color:var(--ink)}.money-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#070c1294;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.money-modal{border:1px solid var(--line);width:min(620px,100%);max-height:calc(100vh - 40px);color:var(--ink);background:var(--surface);border-radius:18px;padding:22px;overflow-y:auto;box-shadow:0 24px 80px #00000047}.money-transaction-modal{width:min(680px,100%)}.money-modal-head{justify-content:space-between;align-items:start;gap:20px;margin-bottom:18px;display:flex}.money-modal-head h3{font-family:var(--font-display);font-size:25px}.money-icon-button{border:1px solid var(--line);width:34px;height:34px;color:var(--ink-soft);background:var(--bg);border-radius:50%;place-items:center;display:grid}.money-icon-button:hover{color:var(--ink)}.money-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.money-checkbox{border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:12px;display:flex}.money-checkbox>input{width:16px;height:16px;accent-color:var(--accent);margin-top:2px}.money-checkbox>span{gap:3px;display:grid}.money-checkbox small{color:var(--ink-mute);font-size:11px;font-weight:400}.money-form-error{color:var(--past-ink);background:var(--past-soft);border-radius:9px;margin-top:13px;padding:10px 12px;font-size:12px}.money-modal-actions{border-top:1px solid var(--line-soft);justify-content:flex-end;gap:9px;margin-top:20px;padding-top:16px;display:flex}.money-direction-toggle{background:var(--bg);border-radius:11px;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:15px;padding:4px;display:grid}.money-direction-toggle button{min-height:36px;color:var(--ink-soft);background:0 0;border:0;border-radius:8px;font-weight:700}.money-direction-toggle button.active{color:var(--bg);background:var(--ink)}.money-category-controls{border:1px solid var(--line);background:var(--bg);border-radius:11px;gap:9px;padding:12px;display:grid}.money-category-control-head{justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.money-category-mode-toggle{background:var(--surface);width:min(270px,100%);margin:0}.money-auto-category-preview{border:1px solid var(--line);background:var(--bg-elev);border-radius:9px;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:9px 11px;display:flex}.money-auto-category-preview>span:first-child{gap:2px;min-width:0;display:grid}.money-auto-category-preview small,.money-category-controls>small{color:var(--ink-mute);font-size:11px;font-weight:400}.money-budget-summary{border:1px solid var(--line);background:var(--line);box-shadow:var(--shadow-sm);border-radius:15px;grid-template-columns:repeat(3,1fr);align-items:center;gap:1px;display:grid;overflow:hidden}.money-budget-summary>div{background:var(--surface);align-self:stretch;margin:0;padding:17px 19px}.money-budget-summary strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:24px;font-weight:500}.money-budget-summary .money-summary-over strong{color:var(--past-ink)}.money-budget-list{gap:10px;display:grid}.money-budget-row{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:14px;grid-template-columns:minmax(170px,1fr) 110px minmax(180px,1.15fr) minmax(235px,1fr);align-items:center;gap:18px;padding:15px 17px;display:grid}.money-budget-title{align-items:center;gap:10px;min-width:0;display:flex}.money-category-dot{border-radius:50%;flex:none;width:10px;height:10px}.money-budget-title strong,.money-budget-title small,.money-budget-spend span,.money-budget-spend strong{display:block}.money-budget-title small,.money-budget-spend span,.money-budget-progress small{color:var(--ink-mute);margin-top:3px;font-size:11px}.money-budget-spend strong{font-variant-numeric:tabular-nums;margin-top:3px}.money-budget-form{align-items:end;gap:7px;display:flex;position:relative}.money-budget-form label{color:var(--ink-mute);text-transform:uppercase;flex:1;gap:4px;font-size:10px;font-weight:700;display:grid}.money-currency-input{display:block;position:relative}.money-currency-input i{color:var(--ink-mute);font-style:normal;position:absolute;top:9px;left:10px}.money-currency-input input{border:1px solid var(--line);background:var(--bg-elev);border-radius:8px;outline:none;width:100%;min-height:36px;padding:0 8px 0 22px;font-size:13px}.money-field-error{color:var(--past-ink);font-size:10px;position:absolute;top:calc(100% + 4px);left:0}.money-budget-row.money-budget-exceeded{border-color:color-mix(in oklab, var(--past) 35%, var(--line))}button:focus-visible,.money-empty-actions a:focus-visible{outline:3px solid color-mix(in oklab, var(--accent) 35%, transparent);outline-offset:2px}@media (width<=1060px){.money-overview-grid{grid-template-columns:1fr}.money-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.money-budget-row{grid-template-columns:minmax(160px,1fr) 110px minmax(180px,1fr)}.money-budget-form{grid-column:1/-1}}@media (width<=720px){.money-hero-card{flex-direction:column;align-items:stretch}.money-position-breakdown{min-width:0}.money-flow-grid{grid-template-columns:1fr}.money-panel{padding:16px}.money-panel.money-plaid-panel{padding:0}.money-page-head{flex-direction:column;align-items:flex-start}.money-page-head .btn{justify-content:center;width:100%}.money-page-actions{flex-direction:column;align-items:stretch;width:100%}.money-plaid-panel-head{flex-direction:column;align-items:stretch}.money-plaid-panel-head .btn{justify-content:center;width:100%}.money-plaid-empty{flex-direction:column;align-items:stretch;gap:14px}.money-plaid-empty .btn{justify-content:center}.money-form-grid{grid-template-columns:1fr}.money-field-wide{grid-column:auto}.money-filter-panel{grid-template-columns:1fr}.money-budget-summary{grid-template-columns:1fr 1fr}.money-budget-summary>div:last-child{grid-column:1/-1}.money-budget-row{grid-template-columns:1fr 1fr}.money-budget-progress{grid-column:1/-1}.money-modal-backdrop{place-items:end center;padding:0}.money-modal{border-radius:18px 18px 0 0;width:100%;max-height:94vh}}@media (width<=440px){.money-total{font-size:40px}.money-category-control-head,.money-auto-category-preview{flex-direction:column;align-items:stretch}.money-category-mode-toggle{width:100%}.money-table{min-width:0}.money-table thead{display:none}.money-table,.money-table tbody,.money-table tr,.money-table td{width:100%;display:block}.money-table tr{border-top:1px solid var(--line);padding:12px 14px}.money-table tr:first-child{border-top:0}.money-table td{white-space:normal;border:0;justify-content:space-between;gap:16px;padding:6px 0;display:flex;text-align:right!important}.money-table td:before{content:attr(data-label);color:var(--ink-mute);letter-spacing:.04em;text-align:left;text-transform:uppercase;font-size:10px;font-weight:700}.money-table td>small{max-width:190px}.money-cell-stack{justify-items:end}.money-row-actions{flex-wrap:wrap}.money-budget-summary{grid-template-columns:1fr}.money-budget-summary>div:last-child{grid-column:auto}.money-budget-row{grid-template-columns:1fr}.money-budget-progress,.money-budget-form{grid-column:auto}.money-plaid-list li{flex-wrap:wrap;align-items:flex-start}.money-plaid-institution-copy{width:calc(100% - 46px)}.money-plaid-connection-actions{justify-content:flex-start;width:calc(100% - 46px);margin-left:46px}}@media (prefers-reduced-motion:reduce){.money-plaid-skeleton:after,.money-plaid-progress:before{animation:none}}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--text-help:13px;--control-line:oklch(62% .025 75);--focus-ring:var(--accent);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=cool]{--control-line:oklch(62% .025 245)}:root[data-theme=dark]{--control-line:oklch(60% .012 260);--focus-ring:oklch(82% .13 153);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{text-rendering:optimizelegibility}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}main:focus:not(:focus-visible){outline:none}.skip-link{z-index:3000;border-radius:var(--radius-sm);background:var(--accent);color:var(--on-accent);padding:12px 18px;font-weight:600;text-decoration:none;position:fixed;top:10px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:none}.app{padding-top:28px}.topbar{border-bottom:1px solid var(--line);margin-bottom:28px;padding-bottom:22px}.brand-name{font-family:var(--font-display);letter-spacing:-.035em;white-space:nowrap;font-size:25px;font-weight:600;line-height:1.15;display:block}.brand-mark,.auth-brand-mark{background:var(--accent);color:var(--on-accent)}.brand-mark{border-radius:var(--radius-sm);width:34px;height:34px;font-size:23px}.money-page-head,.loans-page-head{align-items:flex-start;gap:16px;margin:0 0 24px}.money-page-head h1,.loans-page-head h1,.page-title{color:var(--ink);letter-spacing:-.035em;margin:0;font-size:clamp(27px,3vw,34px);font-weight:600;line-height:1.2}.money-page-head p,.loans-page-head p,.page-subtitle{color:var(--ink-soft);max-width:64ch;margin:8px 0 0;font-size:14px;line-height:1.6}.bills-main,.money-main{padding-top:0}.overview-page,.money-page{gap:24px}.loans-main{gap:18px;padding-top:0}.loans-page-head{margin-bottom:0}.btn{border-radius:var(--radius-sm);justify-content:center;min-height:40px;font-weight:500;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s}.btn.primary,.btn-primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.btn.primary:hover,.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent);filter:none}.btn.primary:disabled,.btn-primary:disabled{filter:none}.btn:disabled{cursor:not-allowed}.btn.danger{color:var(--past-ink)}.money-rule-card-disabled{opacity:1}.money-rule-card-disabled .money-rule-description{color:var(--ink-mute)}.money-state,.money-empty{border-radius:var(--radius);padding:36px 24px}.money-inline-error,.loans-error,.form-error,.auth-error{color:var(--past-ink)}.money-page-head .btn,.loans-page-head .btn{flex-shrink:0}.money-empty-mark{color:var(--on-accent)}.money-hero-card{color:var(--hero-ink);background:linear-gradient(135deg, var(--hero-start), var(--hero-end))}.money-hero-card .money-card-label,.money-card-note,.money-position-breakdown dt{color:var(--hero-help)}.money-position-breakdown{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.form-error{border:1px solid color-mix(in oklab, var(--past-ink) 35%, var(--line));border-radius:var(--radius-sm);background:var(--past-soft);font-size:var(--text-help);padding:12px 14px}.form-save-status,.settings-save-status,.settings-refresh-status{font-size:var(--text-help);color:var(--ink-soft);line-height:1.6}.settings-save-status{flex-wrap:wrap;align-items:center;gap:10px;min-height:24px;margin:6px 0 0;display:flex}.settings-save-status[role=alert],.settings-refresh-status[role=alert]{color:var(--past-ink)}.settings-save-status .btn{min-height:32px;padding:4px 10px;font-size:13px}.settings-refresh-status{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:20px;padding:12px 16px}.modal-fields{border:0;min-width:0;margin:0;padding:0}.modal,.money-modal,.loans-dialog{border-radius:var(--radius);overscroll-behavior:contain;max-height:calc(100dvh - 48px)}.modal-close,.money-modal-close,.loans-icon-button{border-radius:var(--radius-sm);flex-shrink:0;min-width:40px;min-height:40px}.modal-actions,.money-modal-actions,.loans-form-actions{gap:10px}.modal-head h3,.money-modal-head h2,.loans-dialog-head h2{letter-spacing:-.025em;font-size:23px;line-height:1.3}.field label,.money-field label,.loans-field{color:var(--ink-soft);font-size:13px}.field input,.field select,.field textarea,.money-field input,.money-field select,.money-field textarea,.loans-field input,.loans-field select,.loans-field textarea,.setting-input,.hh-name-input{border-color:var(--control-line);border-radius:var(--radius-sm);min-height:42px}.field small,.money-field small,.loans-field small,.setting-desc,.setting-note{font-size:var(--text-help);line-height:1.6}.auth-brand-name{letter-spacing:-.035em;color:var(--ink);font-size:25px;font-weight:600;display:block}.auth-card h1{letter-spacing:-.03em;margin:0 0 22px;font-size:26px;line-height:1.25}.auth-field-label{justify-content:space-between;align-items:center;gap:12px;display:flex}.auth-field-label a,.auth-foot a,.auth-foot button{color:var(--accent-ink);text-underline-offset:3px;text-decoration:underline}.auth-field-label a:hover,.auth-foot a:hover{text-decoration-thickness:2px}.auth-verification-hint{color:var(--ink-soft);font-size:var(--text-help);margin:8px 0}.settings-section{scroll-margin-top:24px}.theme-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;display:grid}.theme-option{text-align:left;border:1px solid var(--line);background:var(--surface);min-width:0;color:var(--ink);border-radius:12px;gap:9px;padding:10px;display:grid;position:relative}.theme-option[aria-checked=true]{outline:2px solid var(--accent);outline-offset:2px;border-color:#0000}.theme-option:hover{background:var(--bg-elev)}.theme-option strong{font-size:14px;font-weight:600}.theme-option small{color:var(--ink-soft);font-size:12px;display:block}.theme-preview{background:#f6f4ed;border:1px solid #d9ddd7;border-radius:7px;grid-template-columns:1fr 1fr;gap:6px;height:72px;padding:10px;display:grid}.theme-preview-bar{background:#217047;border-radius:3px;grid-column:1/-1;width:55%;height:7px}.theme-preview-card{background:#fff;border-radius:5px;padding:7px;box-shadow:0 1px 2px #0001}.theme-preview-line{background:#697068;border-radius:2px;width:65%;height:4px;display:block}[data-preview-theme=cool] .theme-preview{background:#edf3f9;border-color:#d5e0eb}[data-preview-theme=cool] .theme-preview-bar{background:#3267b1}[data-preview-theme=dark] .theme-preview{background:oklch(15.5% .003 260);border-color:oklch(38% .008 260)}[data-preview-theme=dark] .theme-preview-bar{background:oklch(52% .13 153)}[data-preview-theme=dark] .theme-preview-card{background:oklch(23% .005 260)}[data-preview-theme=dark] .theme-preview-line{background:oklch(82% .016 250)}.loans-ledger-cue{display:none}.loans-link-button{min-height:32px}.loans-summary{margin:0}.loans-summary dd,.money-total,.kpi-value{overflow-wrap:anywhere}@media (width<=720px){.app{padding:20px 18px 48px}.topbar{margin-bottom:22px;padding-bottom:18px}.brand-name{font-size:22px}.money-page-head,.loans-page-head{gap:14px;margin-bottom:20px}.money-page-head h1,.loans-page-head h1,.page-title{font-size:28px}.money-page-head p,.loans-page-head p{font-size:13px}.btn{min-height:44px}.modal-close,.money-modal-close,.loans-icon-button{min-width:44px;min-height:44px}input:not([type=checkbox]):not([type=radio]),select,textarea,.loans-field input,.loans-field select,.loans-field textarea{font-size:16px}.loans-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.loans-summary>div{padding:12px 14px}.loans-summary>div:first-child{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:12px;display:grid}.loans-summary>div:first-child small{grid-column:1/-1}.loans-summary dd{margin:4px 0;font-size:23px}.loans-summary>div:first-child dd{font-size:28px}.loans-summary small{font-size:12px;line-height:1.5}.loans-card-toggle{padding:16px}.loans-card-name{font-size:16px}.loans-card-actions{gap:8px}.loans-card-actions>.btn{flex:1}.loans-card-actions .loans-secondary-actions{gap:8px}.loans-ledger-cue{color:var(--ink-soft);margin:8px 0 0;font-size:12px;display:block}.loans-ledger-wrap{background:linear-gradient(90deg, var(--surface) 70%, color-mix(in oklab, var(--accent-soft) 35%, var(--surface)))}.loans-link-button{min-height:44px;padding:6px 4px}.loans-main>.loans-note{margin:0;font-size:12px}}@media (width<=540px),(height<=560px){.modal-backdrop,.money-modal-backdrop,.loans-dialog-backdrop{align-items:center;padding:12px}.modal,.money-modal,.loans-dialog{border-radius:var(--radius);width:100%;max-height:calc(100dvh - 24px);margin:auto;overflow-y:auto}.loans-dialog{padding:20px}.modal-foot,.modal-actions,.money-modal-actions,.loans-form-actions{flex-wrap:wrap}.modal-foot .btn,.modal-actions .btn,.money-modal-actions .btn,.loans-form-actions .btn{flex:1}}@media (width<=380px){.app{padding-left:14px;padding-right:14px}.brand-name{font-size:20px}.theme-options{gap:8px}.theme-option{padding:7px}.theme-preview{gap:4px;height:60px;padding:7px}.theme-option small{font-size:12px}.loans-summary>div:first-child{display:block}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root[data-theme=dark] body{font-size:16px;line-height:1.6}:root[data-theme=dark] :is(small,.kpi-label,.kpi-sub,.panel-sub,.ring-stat .k,.upcoming-label .s,.upcoming-card .row .days,.upcoming-card .sub-date,.upcoming-week-label,.field label,.field small,.money-field,.money-field label,.loans-field,.loans-toolbar label,.loans-summary dt,.loans-metrics dt,.loans-note,.loans-checkbox,.loans-collaboration-note,.loans-ledger-cue,.loans-dialog-head p,.loans-terms p,.loans-future ul,.loans-void-history ul,.setting-desc,.setting-note,.settings-save-status,.form-save-status,.settings-refresh-status,.auth-verification-hint,.auth-foot,.auth-field label,.auth-field-label a,.form-row label,.settings-jump-nav a,.overview-panel-head p,.overview-metrics dt,.overview-bill-list span,.overview-snapshot p,.overview-note,.overview-notice,.overview-panel-links a,.overview-more,.overview-snapshot>a,.settings-category-list span,.money-stat-card>span,.money-card-label,.money-card-note,.money-position-breakdown dt,.money-plaid-note,.money-plaid-empty span,.money-muted,.money-filter-summary,.money-budget-preview>div:first-child,.money-budget-form label,.money-category-control-head,.money-field-error,.money-form-error,.scope-opt-sub,.share-sub,.share-pct-label,.drawer-item-sub,.owners-pill-seg,.chip,.ring-center .sub,.mobile-action-label,.money-rule-toggle,.tfoot){font-size:14px;line-height:1.6}:root[data-theme=dark] :is(.tbl td,.money-table td,.loans-ledger td,.money-transaction-copy strong,.money-plaid-institution-copy strong,.money-amount-income,.ring-stat .v,.upcoming-card .row .amt,.money-page-head p,.loans-page-head p,.overview-bill-list li,.overview-snapshot h4){font-size:15px}:root[data-theme=dark] :is(.tbl th,.money-table th,.loans-ledger th,.money-chart-axis,.money-chart-legend,.money-pill,.loans-sharing-badge,.loans-kicker,.money-row-actions button,.money-plaid-reconnect,.badge),:root[data-theme=dark] .money-table td:before{font-size:13px}:root[data-theme=dark] :is(.money-chart-legend,.money-chart-axis){flex-wrap:wrap}:root[data-theme=dark] :is(.field input,.field select,.field textarea,.money-field input,.money-field select,.money-field textarea,.loans-field input,.loans-field select,.loans-field textarea,.setting-input,.hh-name-input,.money-currency-input input,.income-input input){font-size:16px}:root[data-theme=dark] :is(input,textarea)::placeholder{color:var(--ink-mute);opacity:1}:root[data-theme=dark] :is(.money-currency-input input,.auth-input,.loans-toolbar select,.loans-toolbar input,.money-search-control input,.search input):not(:focus):not(.error):not([aria-invalid=true]),:root[data-theme=dark] .income-input:not(:focus-within):not(.error){border-color:var(--control-line)}:root[data-theme=dark] .tbl :is(.share-sub,td.num>div>div+div){font-size:14px!important}:root[data-theme=dark] :is(.insights>.panel,.type-row>div){min-width:0}:root[data-theme=dark] .type-row{grid-template-columns:16px minmax(0,1fr) auto}:root[data-theme=dark] .type-name{overflow-wrap:anywhere}:root[data-theme=dark] :is(.panel-head,.type-row>div>div){flex-wrap:wrap;gap:8px}@media (width<=540px){:root[data-theme=dark] .owners-pill{border-radius:var(--radius);flex-wrap:wrap;justify-content:center;max-width:100%}:root[data-theme=dark] .owners-pill-seg{white-space:normal;overflow-wrap:anywhere}:root[data-theme=dark] .progress-panel{flex-direction:column;align-items:stretch}:root[data-theme=dark] .ring-wrap{align-self:center}:root[data-theme=dark] .ring-stats{min-width:0}}@media (width<=380px){:root[data-theme=dark] .kpis{grid-template-columns:1fr}}.money-transaction-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.money-transaction-totals{gap:14px;display:grid}.money-currency-summary{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:20px}.money-currency-label{color:var(--ink);margin:0 0 14px;font-size:15px;font-weight:600;display:block}.money-transaction-total-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0;display:grid}.money-transaction-total-grid>div{min-width:0}.money-transaction-total-grid dt{color:var(--ink-soft);font-size:14px;line-height:1.5}.money-transaction-total-grid dd{color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:6px 0 0;font-size:clamp(19px,2vw,26px);font-weight:600}.money-summary-help{color:var(--ink-soft);margin:14px 0 0;font-size:14px;line-height:1.65}.money-transaction-trend{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;padding:0}.money-transaction-trend:not([open])>:not(summary){display:none}.money-transaction-trend>summary{color:var(--ink);cursor:pointer;padding:17px 20px;font-weight:600}.money-transaction-trend>.money-summary-help{margin:0;padding:0 20px 14px}.money-transaction-trend>.money-table-wrap{border-radius:0 0 var(--radius) var(--radius)}.money-month-link{color:var(--accent-ink);text-underline-offset:3px;font:inherit;cursor:pointer;background:0 0;border:0;padding:7px 0;text-decoration:underline}.money-tag-editor{gap:10px;min-width:0;display:grid}.money-tag-entry{align-items:start;gap:10px;display:flex}.money-tag-entry input{border:1px solid var(--control-line);border-radius:var(--radius-sm);min-width:0;min-height:42px;color:var(--ink);background:var(--bg-elev);flex:1;padding:9px 11px;font-size:16px}.money-tag-entry .btn{flex-shrink:0}.money-tag-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.money-tag-chip{border:1px solid var(--line);background:var(--bg-elev);max-width:100%;color:var(--ink);overflow-wrap:anywhere;border-radius:8px;align-items:center;padding:2px 4px 2px 10px;font-size:14px;display:inline-flex}.money-tag-remove{min-width:36px;min-height:36px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:6px;flex-shrink:0;place-items:center;display:inline-grid}.money-tag-remove:hover{color:var(--past-ink);background:var(--past-soft)}.money-tag-suggestions,.money-transaction-tags{flex-wrap:wrap;gap:7px;min-width:0;display:flex}.money-tag-suggestion,.money-tag-filter{border:1px solid var(--line);background:var(--bg-elev);max-width:100%;color:var(--accent-ink);font:inherit;white-space:normal;overflow-wrap:anywhere;cursor:pointer;border-radius:7px;padding:6px 9px;font-size:13px;line-height:1.5}.money-tag-suggestion:hover,.money-tag-filter:hover{border-color:var(--accent-ink)}.money-transaction-tags{margin-top:7px}@media (width<=900px){.money-transaction-filters,.money-transaction-total-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.money-transaction-filters{grid-template-columns:1fr}.money-currency-summary{padding:16px}.money-tag-remove,.money-tag-suggestion,.money-tag-filter,.money-month-link{min-height:44px}.money-tag-remove{min-width:44px}.money-transaction-total-grid{gap:16px 12px}.money-trend-table tbody th{letter-spacing:0;text-transform:none;background:0 0;padding:0 0 8px;font-size:14px;display:block}}@media (width<=440px){.money-transaction-tags{justify-content:flex-end}.money-tag-entry{flex-wrap:wrap}.money-tag-entry input{flex-basis:100%}}.money-chart-panel{--chart-color-1:var(--accent);--chart-color-2:#b47a26;--chart-color-3:#3776b3;--chart-color-4:#8b63b4;--chart-color-5:#b65d64;--chart-color-6:#267f82;--chart-color-7:#929242;--chart-color-8:#8a6852;--chart-color-9:#74828d;padding:22px;overflow:hidden}.money-chart-head{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.money-chart-head h2,.money-chart-head h3{color:var(--ink);letter-spacing:-.02em;margin:0;font-size:20px;font-weight:600}.money-chart-head .btn{flex-shrink:0}.money-chart-summary{color:var(--ink-soft);margin:7px 0 0;font-size:14px;line-height:1.6}.money-chart-controls{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px;padding:18px 0;display:grid}.money-chart-controls[hidden]{display:none}.money-chart-controls .money-field{font-size:14px;font-weight:500}.money-chart-controls>.money-chart-note{grid-column:1/-1;margin:0}.money-chart-controls select,.money-chart-currency select{min-height:44px;font-size:16px}.money-chart-toolbar{justify-content:space-between;align-items:flex-end;gap:18px;margin:22px 0 8px;display:flex}.money-chart-total{min-width:0;color:var(--ink-soft);gap:5px;font-size:14px;display:grid}.money-chart-total strong{color:var(--ink);letter-spacing:-.035em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:clamp(25px,3vw,34px);font-weight:600}.money-chart-currency{min-width:0;max-width:320px}.money-chart-note,.money-chart-warning{color:var(--ink-soft);margin:12px 0 0;font-size:14px;line-height:1.65}.money-chart-warning{border-left:3px solid var(--soon-ink);background:var(--soon-soft);color:var(--soon-ink);border-radius:0 8px 8px 0;padding:10px 14px}.money-chart-panel .money-chart-empty{text-align:center;min-height:210px;color:var(--ink-soft);padding:24px 16px;font-size:15px;line-height:1.65}.money-chart-visual{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--control-line) transparent;min-width:0;overflow-x:auto}.money-chart-svg{width:100%;height:auto;max-height:340px;display:block;overflow:visible}.money-chart-gridline{stroke:var(--line-soft);stroke-width:1px}.money-chart-baseline{stroke:var(--ink-mute);stroke-width:1px}.money-chart-axis-label{fill:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:14px}.money-chart-bar{fill:var(--accent);cursor:pointer}.money-chart-bar-negative{fill:var(--past-ink)}.money-chart-panel .money-chart-line{fill:none;stroke:var(--accent-ink);stroke-width:3px}.money-chart-panel .money-chart-point{fill:var(--accent-ink);stroke:var(--surface);stroke-width:2px;cursor:pointer}.money-chart-panel .money-chart-point.is-negative{fill:var(--past-ink)}.money-chart-slice{stroke:var(--surface);stroke-width:2px;cursor:pointer}.money-chart-donut-label{fill:var(--ink);text-anchor:middle;font-size:17px}.money-chart-svg :is(rect,circle,path)[tabindex]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}.money-chart-svg :is(rect,circle,path)[tabindex]:hover{filter:brightness(1.14)}.money-chart-readout{border:1px solid var(--line-soft);background:var(--bg-elev);min-height:44px;color:var(--ink-soft);overflow-wrap:anywhere;border-radius:9px;flex-wrap:wrap;align-items:center;gap:5px 12px;padding:10px 13px;font-size:14px;line-height:1.6;display:flex}.money-chart-readout strong{color:var(--ink);font-variant-numeric:tabular-nums}.money-chart-data{border-top:1px solid var(--line-soft);margin-top:18px}.money-chart-data>summary{color:var(--ink-soft);cursor:pointer;padding:15px 0 0;font-size:14px;font-weight:500}.money-chart-data:not([open])>:not(summary){display:none}.money-chart-table{border-collapse:collapse;width:100%;color:var(--ink-soft);margin-top:14px;font-size:14px}.money-chart-table th,.money-chart-table td{border-bottom:1px solid var(--line-soft);text-align:left;overflow-wrap:anywhere;padding:10px 12px}.money-chart-table th{color:var(--ink);font-weight:500}.money-chart-table :is(th,td):last-child{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.money-chart-scroll-hint{display:none}.money-chart-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin:12px 0;padding:0;list-style:none;display:grid}.money-chart-legend li{min-width:0}.money-chart-legend button{border:1px solid var(--line-soft);background:var(--bg-elev);width:100%;min-height:44px;color:var(--ink-soft);font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere;border-radius:8px;flex-wrap:wrap;align-items:center;gap:7px;padding:9px 10px;font-size:14px;display:flex}.money-chart-legend button:hover,.money-chart-legend button[aria-pressed=true]{border-color:var(--control-line);color:var(--ink)}.money-chart-legend strong{font-variant-numeric:tabular-nums;color:var(--ink);margin-left:auto;font-weight:500}.money-chart-swatch{border-radius:3px;flex-shrink:0;width:10px;height:10px}@media (width<=800px){.money-chart-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.money-chart-panel{padding:16px}.money-chart-head{flex-wrap:wrap;gap:12px}.money-chart-head .btn{min-height:44px}.money-chart-toolbar{flex-direction:column;align-items:stretch;gap:14px}.money-chart-visual:not(.is-donut) .money-chart-svg{min-width:520px}.money-chart-axis-label{font-size:17.3px}.money-chart-scroll-hint{color:var(--ink-soft);margin:8px 0;font-size:13px;display:block}.money-chart-data>summary{min-height:44px}.money-chart-currency{max-width:none}.money-chart-legend{grid-template-columns:1fr}}@media (width<=380px){.money-chart-controls{grid-template-columns:1fr}.money-chart-table th,.money-chart-table td{padding:9px 5px}}@media (prefers-reduced-motion:reduce){.money-chart-panel *,.money-chart-panel :before,.money-chart-panel :after{transition:none!important;animation:none!important}}
