.uplot,.uplot *,.uplot *:before,.uplot *:after{box-sizing:border-box}.uplot{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5;width:min-content}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{position:relative;-webkit-user-select:none;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;position:relative;width:100%;height:100%}.u-axis{position:absolute}.u-legend{font-size:14px;margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:#00000012;position:absolute;pointer-events:none}.u-cursor-x,.u-cursor-y{position:absolute;left:0;top:0;pointer-events:none;will-change:transform}.u-hz .u-cursor-x,.u-vt .u-cursor-y{height:100%;border-right:1px dashed #607D8B}.u-hz .u-cursor-y,.u-vt .u-cursor-x{width:100%;border-bottom:1px dashed #607D8B}.u-cursor-pt{position:absolute;top:0;left:0;border-radius:50%;border:0 solid;pointer-events:none;will-change:transform;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}:root{color:#1f2937;background:#eef3f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#eef3f8;margin:0}button,input,select,textarea{font:inherit}button{border:1px solid #2f80ed;border-radius:3px;background:#2f80ed;color:#fff;cursor:pointer;font-size:14px;font-weight:600;min-height:36px;padding:7px 14px}button:hover{background:#1d6fd9;border-color:#1d6fd9}button:disabled{cursor:not-allowed;opacity:.55}input,select,textarea{border:1px solid #d8e0ea;border-radius:3px;background:#fff;color:#1f2937;font-size:16px;min-height:36px;padding:7px 10px;width:100%}input:focus,select:focus,textarea:focus{border-color:#2f80ed;box-shadow:0 0 0 3px #2f80ed24;outline:none}textarea{margin:10px 0;min-height:92px;resize:vertical}label{color:#6b7280;display:grid;font-size:13px;font-weight:600;gap:6px}.checkbox-label{align-items:center;display:flex;gap:8px}.checkbox-label input{width:auto}table{border-collapse:separate;border-spacing:0;font-size:14px;width:100%}th,td{border-bottom:1px solid #eef2f6;padding:11px 12px;text-align:left;vertical-align:middle}th{background:#f3f6fa;color:#9aa4b2;font-size:12px;letter-spacing:0;font-weight:600;text-transform:none}th:first-child{border-top-left-radius:8px}th:last-child{border-top-right-radius:8px}tbody tr:hover{background:#f7fbff}.clickable-row{cursor:pointer}.clickable-row:hover,.active-row{background:#eef5ff}tfoot td,.group-row{background:#f3f6fa;font-weight:800}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.sidebar{background:#2f80ed;border-right:0;color:#fff;display:flex;flex-direction:column;gap:18px;padding:22px 18px}.brand{font-size:23px;font-weight:850;letter-spacing:0}.menu-toggle{display:none}.menu-toggle svg{fill:none;height:22px;stroke:currentColor;stroke-linecap:round;stroke-width:2;width:22px}.sidebar .select{background:#ffffff24;border-color:#ffffff3d;color:#fff}.administration-switcher{align-items:center;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) 38px}.administration-add{background:#ffffff29;border-color:#ffffff47;color:#fff;font-size:20px;line-height:1}.select.full,.full{width:100%}nav{display:grid;gap:8px}.nav-group{display:grid;gap:5px}.submenu{border-left:1px solid rgba(255,255,255,.34);display:grid;gap:4px;margin:2px 0 8px 10px;padding-left:10px}.submenu button{align-items:center;display:flex;font-size:13px;gap:8px;justify-content:space-between;min-height:34px;padding:7px 9px}.submenu button strong{flex:0 0 auto;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.submenu strong{color:inherit;font-size:12px;font-weight:750}nav button,.ghost,.account-list button{background:transparent;border-color:transparent;color:#4b5563;text-align:left}nav button{align-items:center;display:flex;gap:8px;justify-content:flex-start}.sidebar nav button,.sidebar .ghost{color:#ffffffeb;border-radius:4px;font-weight:500;min-height:39px}nav button svg{fill:none;flex:0 0 auto;height:16px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:16px}nav button.active,nav button:hover{background:#ffffff29;color:#fff}.ghost:hover,.account-list button:hover,.account-list button.active{background:#eef5ff;color:#1d6fd9}.actions .ghost{background:#fff;border-color:#d8e0ea;border-radius:3px;color:#344054;min-height:32px;padding:5px 10px}.actions .ghost:hover{background:#eef5ff;border-color:#9ec5ff;color:#1d6fd9}.danger-zone{border-top:1px solid #fee4e2;display:grid;gap:10px;margin-top:22px;padding-top:18px}.onboarding-accounts{display:grid;gap:12px}.onboarding-account-row{align-items:end;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) auto}.danger-zone p{color:#667085;margin-bottom:0}.danger-outline{background:#fff;border-color:#d92d20;color:#b42318}.danger-outline:hover{background:#fff4f3;border-color:#b42318;color:#912018}.status-badge{background:#ecfdf3;border:1px solid #abefc6;border-radius:999px;color:#067647;display:inline-flex;font-size:12px;font-weight:800;padding:3px 8px}.status-badge.danger{background:#fff4f3;border-color:#fecdca;color:#b42318}.content{min-width:0;padding:28px 34px;background:#fff}header,.section-title{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:22px}.compact-title,.compact-title h2{margin-bottom:0}h1,h2,p{margin-top:0}h1{color:#111827;font-size:24px;font-weight:600;line-height:1.15;margin-bottom:0}h2{color:#1f2937;font-size:18px;line-height:1.25;margin-bottom:12px}.eyebrow{color:#9aa4b2;font-size:12px;font-weight:600;margin-bottom:5px;text-transform:none}.metrics{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(190px,1fr));margin-bottom:22px;padding-bottom:2px}.metrics .metric-card,.panel,.auth-box{background:#fff;border:1px solid #edf1f5;border-radius:3px;box-shadow:0 10px 28px #1f29370a;padding:16px}.panel{overflow:hidden}.metrics .metric-card{align-items:start;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:inherit;display:grid;gap:0;min-height:64px;min-width:0;text-align:left}.metrics button.metric-card:hover{background:#f7fbff;border-color:#d9e7f8}.narrow{max-width:620px}.settings-form{display:grid;gap:13px}.profile-admin-link{border-top:1px solid #edf1f5;margin-top:16px;padding-top:14px}.summary-list{display:grid;gap:10px;margin-top:14px}.summary-row{align-items:center;background:#f8fbff;border:1px solid #edf1f5;border-radius:3px;display:flex;gap:12px;justify-content:space-between;padding:12px 14px}.summary-copy{display:grid;gap:4px}.summary-copy span{color:#9aa4b2;font-size:12px;font-weight:600}.summary-copy strong{color:#1f2937;font-size:16px;font-weight:700}.metrics span{color:#9aa4b2;display:block;font-size:13px;margin-bottom:8px}.metrics strong{color:#1f2937;font-size:22px;font-weight:600;white-space:nowrap}.indicator-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin-bottom:22px}.indicator-card{background:#fff;border:1px solid #edf1f5;border-radius:3px;box-shadow:0 10px 28px #1f29370a;display:grid;gap:8px;min-width:0;padding:14px}.indicator-title{align-items:center;color:#6b7280;display:flex;font-size:13px;font-weight:700;gap:8px;justify-content:space-between;min-width:0}.indicator-title span:first-child{overflow-wrap:anywhere}.info-dot{align-items:center;background:#eef5ff;border:1px solid #cfe2ff;border-radius:999px;color:#1d4ed8;display:inline-flex;flex:0 0 20px;font-size:12px;font-weight:800;height:20px;justify-content:center;min-height:20px;padding:0;text-align:center;width:20px}.info-dot:hover{background:#dbeafe;border-color:#9ec5ff;color:#1d4ed8}.indicator-card strong{color:#1f2937;font-size:18px;font-weight:750;overflow-wrap:anywhere}.indicator-explanation{display:grid;gap:12px}.indicator-explanation p{color:#4b5563;display:grid;gap:5px;margin:0}.indicator-explanation strong{color:#1f2937}.dashboard-budget-grid{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.compact-list{display:grid;gap:8px}.compact-list-row{align-items:center;border-bottom:1px solid #eef2f6;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;padding:8px 0}.compact-list-row span{overflow-wrap:anywhere}.compact-list-row strong{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.split{align-items:start;display:grid;gap:18px;grid-template-columns:330px minmax(0,1fr)}.admin-grid{display:grid;gap:18px}.grow{min-width:0}.inline-form{display:grid;gap:8px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;margin-bottom:14px}.inline-form.users-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) auto}.account-list{display:grid;gap:6px}.account-list button{border:1px solid #edf1f5;border-radius:3px;display:flex;justify-content:space-between;min-height:48px}.auth-screen{align-items:center;background:#eef3f8;display:grid;min-height:100vh;padding:24px;place-items:center}.auth-box{display:grid;gap:14px;max-width:430px;width:100%}.auth-box.wide{max-width:540px}.error,.notice{background:#fff3ef;border:1px solid #f0c3b4;border-radius:3px;color:#8a351e;padding:10px 12px}.notice{background:#eef5ff;border-color:#cfe2ff;color:#1d4ed8}.actions{display:flex;flex-wrap:wrap;gap:6px}.account-summary{display:grid;gap:6px}.account-summary p{color:#9aa4b2;font-weight:600;margin-bottom:0}.account-summary strong{color:#111827;font-size:30px;font-weight:600;font-variant-numeric:tabular-nums}.balance-chart{margin-bottom:18px}.chart-canvas{margin-top:8px;min-height:260px;width:100%}.balance-chart .uplot{width:100%}.balance-chart .uplot .u-series path{stroke:#2f80ed}.chart-labels{align-items:center;color:#6b7280;display:grid;font-size:13px;grid-template-columns:1fr auto 1fr;margin-top:8px}.chart-labels strong{color:#1f2937}.chart-labels span:last-child{text-align:right}.mobile-account-actions{display:none;position:relative}.round-action{align-items:center;border-radius:999px;display:inline-flex;font-size:24px;height:42px;justify-content:center;line-height:1;min-height:42px;padding:0 0 2px;width:42px}.action-menu{background:#fff;border:1px solid #d8e0ea;border-radius:3px;box-shadow:0 14px 30px #10182824;display:grid;gap:4px;padding:5px;position:absolute;right:0;top:calc(100% + 6px);width:190px;z-index:12}.action-menu button{background:#fff;border-color:transparent;color:#1f2937;text-align:left}.action-menu button:hover{background:#eef5ff;color:#1d6fd9}.account-picker{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.account-picker-item{align-items:center;background:#fff;border:1px solid #d8e0ea;border-radius:3px;display:grid;gap:4px;justify-items:start;padding:10px 12px;text-align:left}.account-picker-item strong{color:#1f2937;font-size:18px;font-weight:700}.account-picker-item.active{background:#eef5ff;border-color:#9ec5ff}.icon-actions{display:flex;gap:6px}.icon-button{align-items:center;background:#fff;border-color:#d8e0ea;border-radius:3px;color:#344054;display:inline-flex;height:34px;justify-content:center;min-height:34px;padding:0;width:34px}.icon-button:hover{background:#eef5ff;border-color:#9ec5ff;color:#1d6fd9}.icon-button svg{fill:none;height:17px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:17px}.combobox{position:relative}.combobox-menu{background:#fff;border:1px solid #d8e0ea;border-radius:3px;box-shadow:0 14px 30px #10182824;left:0;max-height:220px;overflow:auto;padding:4px;position:absolute;right:0;top:calc(100% + 4px);z-index:10}.combobox-menu button{background:#fff;border-color:transparent;color:#1f2937;display:block;font-weight:600;min-height:34px;overflow-wrap:anywhere;padding:7px 9px;text-align:left;width:100%}.combobox-menu button:hover{background:#eef5ff;color:#1d6fd9}.transaction-list{display:grid;gap:18px;margin:18px auto 0;max-width:980px;width:100%}.transaction-list-centered{margin-left:auto;margin-right:auto}.transaction-day{display:grid;gap:8px}.transaction-day h2{color:#6b7280;font-size:14px;margin:0}.transaction-card{background:#fff;border:1px solid #edf1f5;border-radius:3px;cursor:pointer;display:grid;gap:10px;padding:12px 14px}.transaction-card:hover,.transaction-card:focus-visible{border-color:#cfe2ff;box-shadow:0 0 0 3px #2f80ed1f;outline:none}.transaction-main,.transaction-meta{align-items:center;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) auto}.transaction-main strong{font-weight:400;overflow-wrap:anywhere}.amount{font-weight:850;text-align:right;white-space:nowrap}.amount.positive{color:#047857}.amount.negative{color:#b42318}.transaction-category{color:#6b7280;min-width:220px}.category-chips{display:flex;flex-wrap:wrap;gap:6px}.category-chip{align-items:center;background:#eef5ff;border:1px solid #cfe2ff;border-radius:999px;color:#1d4ed8;display:inline-flex;font-size:13px;font-weight:750;gap:6px;min-height:26px;padding:3px 9px}.category-chip:before{background:#2f80ed;border-radius:999px;content:"";height:7px;width:7px}@media(min-width:721px){.transaction-card{align-items:center;column-gap:12px;grid-template-columns:minmax(0,1fr) minmax(96px,auto) minmax(180px,.7fr);row-gap:0}.transaction-card-compact{padding:8px 12px}.transaction-main,.transaction-meta{display:contents}.transaction-main strong{grid-column:1}.transaction-category{align-self:center;grid-column:3}.amount{align-self:center;grid-column:2}}.modal-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.description-order{display:grid;gap:8px;margin-bottom:10px}.description-order-row{align-items:center;background:#f8fafc;border:1px solid #edf1f5;border-radius:3px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;padding:8px 10px}.description-order-row span{color:#1f2937;font-weight:750;overflow-wrap:anywhere}.budget-warning{color:#b42318;display:block;font-size:12px;font-weight:700;margin-top:4px}.modal-section{display:grid;gap:10px}.allocation-row{align-items:end;display:grid;gap:10px;grid-template-columns:minmax(0,1.4fr) minmax(120px,.7fr) auto}.delete-summary{background:#f8fafc;border:1px solid #edf1f5;border-radius:3px;display:grid;gap:6px;margin:12px 0;padding:10px 12px}.import-page{margin:0 auto;max-width:980px}.stepper{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:22px}.stepper button{align-items:center;background:#fff;border-color:#d8e0ea;color:#6b7280;display:flex;gap:10px;justify-content:flex-start;min-width:0}.stepper span{align-items:center;background:#eef5ff;border-radius:999px;color:#1d4ed8;display:inline-flex;flex:0 0 26px;font-size:13px;height:26px;justify-content:center}.stepper button.active{border-color:#2f80ed;color:#1d6fd9}.stepper button.active span,.stepper button.done span{background:#2f80ed;color:#fff}.import-form,.import-step{display:grid;gap:16px}.form-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.drop-zone{align-items:center;border:1px dashed #a9bdd5;border-radius:3px;color:#344054;cursor:pointer;min-height:116px;padding:18px;place-items:center;text-align:center}.drop-zone:hover{background:#eef5ff;border-color:#2f80ed}.drop-zone input{height:1px;opacity:0;padding:0;position:absolute;width:1px}.field-label{color:#6b7280;font-size:13px;font-weight:800;margin-bottom:8px}.chip-list{display:flex;flex-wrap:wrap;gap:8px}.chip{background:#fff;border-color:#d8e0ea;border-radius:999px;color:#344054;min-height:34px;padding:6px 12px}.chip.active,.chip:hover{background:#2f80ed;border-color:#2f80ed;color:#fff}.table-wrap{border:1px solid #edf1f5;border-radius:3px;overflow:auto}.wizard-actions{display:flex;justify-content:space-between;margin-top:4px}.income-statement{margin:0 auto;max-width:880px}.statement-heading{border-bottom:1px solid #edf1f5;margin-bottom:20px;padding-bottom:14px}.statement-heading h2{font-size:20px;margin:0}.result-section{margin-top:22px}.result-section h3{background:#f3f6fa;border-bottom:1px solid #d8e0ea;color:#1f2937;font-size:15px;margin:0 0 8px;padding:9px 12px}.result-list{list-style:none;margin:0;padding:0}.result-row{align-items:baseline;border-bottom:1px solid #eef2f6;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) 140px;padding:8px 12px}.result-row:last-child{border-bottom:0}.result-group{color:#1f2937;font-weight:800}.result-label{min-width:0}.result-amount,.result-total strong{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.muted-row{color:#6b7280;margin:0;padding:8px 12px}.result-total{align-items:baseline;border-top:2px solid #2f80ed;display:grid;font-size:17px;font-weight:800;gap:16px;grid-template-columns:minmax(0,1fr) 140px;margin-top:24px;padding:12px}.balance-sheet{margin:0 auto;max-width:980px}.balance-heading{margin-bottom:24px;text-align:center}.balance-heading .eyebrow{margin-bottom:4px}.balance-heading h2{font-size:18px;margin:0}.balance-columns{display:grid;gap:48px;grid-template-columns:repeat(2,minmax(0,1fr))}.balance-column-heading{align-items:baseline;border-bottom:2px solid #2f80ed;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) 132px;margin:0 0 14px;padding-bottom:10px}.balance-column-heading h3{color:#1f2937;font-size:18px;margin:0}.balance-list{list-style:none;margin:0;padding:0}.balance-row{align-items:baseline;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) 132px}.balance-row{padding:5px 0}.balance-group{color:#1f2937;font-weight:800;margin-top:16px}.balance-label{min-width:0}.balance-amount{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.balance-group .balance-amount{border-bottom:2px solid #a9bdd5;padding-bottom:3px}.modal-backdrop{align-items:center;background:#11182775;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:20px;position:fixed;z-index:20}.modal{background:#fff;border:1px solid #d8e0ea;border-radius:3px;box-shadow:0 24px 60px #1f293738;max-height:calc(100vh - 40px);max-width:560px;overflow:auto;padding:16px;width:min(560px,100%)}@media(max-width:860px){.app-shell,.split{grid-template-columns:1fr}.app-shell{display:block}.sidebar{align-items:center;border-bottom:0;border-right:0;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto;padding:10px 12px;position:sticky;top:0;z-index:15}.sidebar .brand{font-size:19px;line-height:1}.administration-switcher,.sidebar .select{grid-column:1 / -1}.sidebar .select{min-height:34px;padding:6px 8px}.menu-toggle{align-items:center;background:#ffffff24;border-color:#ffffff47;color:#fff;display:inline-flex;height:38px;justify-content:center;justify-self:end;min-height:38px;padding:0;width:42px}nav{display:grid;gap:6px;grid-column:1 / -1}.nav-group{display:grid;gap:5px}.sidebar nav button,.sidebar .ghost{min-height:34px;padding:6px 10px}.sidebar>.ghost{grid-column:1 / -1;width:100%}.main-sidebar:not(.mobile-menu-open) .administration-switcher,.main-sidebar:not(.mobile-menu-open) .select,.main-sidebar:not(.mobile-menu-open) nav,.main-sidebar:not(.mobile-menu-open)>.ghost{display:none}.submenu{border-left:1px solid rgba(255,255,255,.34);display:grid;gap:6px;margin:2px 0 8px 10px;overflow:visible;padding-left:10px}.submenu button{min-width:0}.content{padding:16px 12px}header,.section-title{align-items:flex-start;gap:10px;margin-bottom:14px}.account-actions-desktop{display:none}.mobile-account-actions{display:block}.account-summary strong{font-size:30px}.transaction-card{gap:8px;padding:11px;width:100%}.transaction-main{align-items:start;grid-template-columns:minmax(0,1fr) minmax(88px,auto)}.transaction-meta,.onboarding-account-row,.allocation-row,.description-order-row{align-items:start;grid-template-columns:1fr}.transaction-category{min-width:0;width:100%}.transaction-card .icon-actions{justify-content:flex-start}h1{font-size:25px}.inline-form,.inline-form.users-form,.form-grid,.stepper,.metrics,.indicator-grid,.dashboard-budget-grid{grid-template-columns:1fr}.balance-columns{gap:24px;grid-template-columns:1fr}.balance-row,.result-row,.result-total{grid-template-columns:minmax(0,1fr) 116px}}
