.recharts-wrapper,.recharts-wrapper *{outline:none}:root{--tx-head-top: 76px;--tx-day-top: 116px;--primary: #192841;--secondary: #ffffff;--tertiary: #F0C652;--accent1: #437F97;--success: #488531;--warning: #F5821E;--danger: #92140C;--ink: #192841;--ink-soft: #45506a;--muted: #828aa0;--faint: #b6bcca;--line: rgba(25, 40, 65, .12);--line-strong: #d3d3d3;--paper: #ffffff;--panel: #f5f7fa;--panel-2: #f0f2f5;--accent: #192841;--accent-tint: rgba(25, 40, 65, .08);--radius: 12px;--serif: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--sans: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ease: cubic-bezier(.22, .61, .36, 1);--spring-gentle: linear(0,.0088,.0327,.0685,.1132,.1643,.2197,.2777,.3368,.3957,.4536,.5095,.563,.6136,.6609,.7049,.7454,.7825,.816,.8462,.8732,.8972,.9182,.9366,.9525,.9662,.9778,.9875,.9955,1.0021,1.0074,1.0115,1.0147,1.017,1.0185,1.0194,1.0199,1.0199,1.0195,1.0189,1);--spring-lively: linear(0,.0155,.0574,.1195,.196,.282,.373,.4654,.5562,.6429,.7238,.7975,.8632,.9205,.9692,1.0095,1.0419,1.0669,1.0851,1.0973,1.1042,1.1068,1.1056,1.1015,1.0952,1.0872,1.0782,1.0685,1.0586,1.0489,1.0395,1.0308,1.0228,1.0156,1.0094,1.004,.9996,.996,.9932,.9912,.9898,.989,.9886,.9887,.9891,.9897,.9905,.9915,1);--dur-dismiss: .12s;--dur-state: .18s;--dur-enter: .22s;--dur-layout: .32s;--dur-travel: .42s;--space-4: 4px;--space-6: 6px;--space-8: 8px;--space-10: 10px;--space-12: 12px;--space-14: 14px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--radius-6: 6px;--radius-8: 8px;--radius-10: 10px;--radius-12: 12px;--radius-14: 14px;--radius-16: 16px;--radius-pill: 999px;--card-min: 260px}*{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--sans);font-weight:300;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root{min-height:100vh;min-height:100dvh}button{font-family:inherit;cursor:pointer}input,select{font-family:inherit}a{color:inherit}.mono-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:500}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--radius);font-size:14px;font-weight:500;letter-spacing:.01em;padding:13px 22px;transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease),opacity .25s var(--ease);white-space:nowrap}.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover:not(:disabled){background:#0f1c30;transform:translateY(-1px)}.btn-primary:disabled{background:#19284112;color:#19284157;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-strong)}.btn-ghost:hover:not(:disabled){background:var(--ink);color:#fff;border-color:var(--ink)}.btn-ghost:disabled{opacity:.4;cursor:not-allowed}.btn-full{width:100%}.link-btn{background:none;border:none;padding:0;color:var(--accent);font-size:14px;font-weight:500;border-bottom:1px solid var(--accent-tint);transition:border-color .2s var(--ease)}.link-btn:hover{border-color:var(--accent)}.field{display:flex;flex-direction:column;gap:8px}.field>label{font-size:12.5px;font-weight:500;color:var(--ink-soft);letter-spacing:.01em}.control{width:100%;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:14px 15px;font-size:15px;color:var(--ink);transition:border-color .2s var(--ease),box-shadow .2s var(--ease);-webkit-appearance:none;-moz-appearance:none;appearance:none}.control::placeholder{color:var(--faint)}.control:hover{border-color:var(--line-strong)}.control:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-tint)}.control.invalid{border-color:#92140c8c}.control.invalid:focus{box-shadow:0 0 0 4px #92140c1a}select.control{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%238a8e98' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px;cursor:pointer}.field-error{font-size:12px;color:var(--danger);letter-spacing:.005em}.field-hint{font-size:12px;color:var(--muted)}.pw-wrap{position:relative}.pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;padding:8px 10px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500}.pw-toggle:hover{color:var(--ink)}@keyframes riseIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.rise{animation:riseIn .5s var(--ease) backwards}@media (prefers-reduced-motion: reduce){.rise{animation:none}.btn-primary:hover:not(:disabled){transform:none}}.divider-line{flex:1;height:1px;background:var(--line)}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%);background:var(--ink);color:#fff;padding:12px 22px;border-radius:10px;font-size:14px;font-weight:500;z-index:999;animation:riseIn .3s var(--ease) backwards;max-width:min(560px,calc(100vw - 40px));text-align:center;line-height:1.45}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--card-min),1fr));gap:var(--space-16)}.chip-row{display:flex;flex-wrap:wrap;gap:var(--space-8);align-items:center}.scroll-x{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.scroll-x-compact{overscroll-behavior-x:contain}@media (max-width: 768px){.scroll-x-compact{overflow-x:auto;-webkit-overflow-scrolling:touch}.scroll-x-compact{--tx-head-top: 0px;--tx-day-top: 0px}}@media (max-width: 768px){.control,input,select,textarea{font-size:16px}.card-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-10)}}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--raised, #EBEFF5);border-right:1px solid var(--rule, #DDE3EC);padding:16px 16px 22px;display:flex;flex-direction:column;gap:14px;position:sticky;top:76px;align-self:flex-start;height:calc(100vh - 76px);overflow:hidden;transition:width .2s ease}@media (min-width: 769px){.sidebar.is-collapsed .nav-label{display:none}}@media (max-width: 768px){.sidebar{position:fixed;top:76px;left:0;right:0;bottom:0;width:auto;height:calc(100dvh - 76px);align-self:stretch;max-width:100vw;z-index:90;overflow-y:auto;padding:8px 16px 24px;border-right:none;transform:translate(-100%);transition:transform .22s var(--ease)}.sidebar.is-open{transform:none}.sidebar nav button{padding-top:13px;padding-bottom:13px}}.sidebar-backdrop{position:fixed;top:76px;right:0;bottom:0;left:0;background:#0f172a4d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:89;border:none;padding:0}@media (min-width: 769px){.sidebar-backdrop{display:none}}.sidebar-toolbar{display:flex}.only-compact{display:none}@media (max-width: 768px){.only-compact{display:inline-flex}.hide-compact{display:none}}body.drawer-open{overflow:hidden}.control-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-12)}@media (hover: none){.needs-hover{display:none}}@media (max-width: 768px){.sheet{left:0;right:0;width:auto;max-width:100vw;border-left:none;padding-left:16px;padding-right:16px}}.detail-row{display:flex;gap:var(--space-14)}.detail-label{min-width:128px;flex-shrink:0}@media (max-width: 768px){.detail-row{flex-direction:column;gap:2px}.detail-label{min-width:0}.detail-row>:last-child{text-align:left!important;margin-left:0!important}}.tx-row td{border-bottom:1px solid var(--line)}.tx-date,.tx-merchant,.tx-amt{padding:12px 20px}.tx-cat{padding:8px 20px}.tx-merchant{max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-cat-inner{display:flex;justify-content:flex-end}@media (max-width: 768px){.tx-table thead{display:none}.tx-table,.tx-table tbody,.tx-table tr,.tx-table td{display:block}.tx-table tr.tx-row{display:grid;grid-template-columns:1fr auto;grid-template-areas:"merchant amount" "date category";align-items:center;gap:var(--space-4) var(--space-12);padding:var(--space-12) var(--space-16);border-bottom:1px solid var(--line)}.tx-table tr.tx-row td{border-bottom:none;padding:0}.tx-table td.tx-merchant{grid-area:merchant;max-width:none;overflow:hidden;white-space:normal;font-weight:500;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.tx-amt{grid-area:amount;white-space:nowrap}.tx-date{grid-area:date}.tx-cat{grid-area:category}.tx-cat-inner{justify-content:flex-end}.tx-table tbody>tr:first-child td{padding:var(--space-10) var(--space-16)}}.sheet-centred{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(760px,calc(100vw - 48px));max-height:min(70vh,680px);border-radius:18px}.review-row{display:flex;align-items:center;gap:var(--space-12)}@media (max-width: 768px){.review-row{flex-wrap:wrap;row-gap:var(--space-8)}.review-row>:first-child{flex:1 0 100%}}.review-title{flex:1;min-width:0}@media (max-width: 768px){.sheet-centred{top:0;left:0;right:0;bottom:0;transform:none;width:auto;max-width:100vw;max-height:none;border-radius:0;border:none}.review-title{flex:1 0 100%}}@media (max-width: 768px){.btn,.control{min-height:44px}}@media (max-width: 768px){.scroll-x{background:linear-gradient(to right,var(--paper) 30%,rgba(255,255,255,0)) left center / 24px 100% no-repeat local,linear-gradient(to left,var(--paper) 30%,rgba(255,255,255,0)) right center / 24px 100% no-repeat local,radial-gradient(farthest-side at 0 50%,#19284121,#19284100) left center / 12px 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,#19284121,#19284100) right center / 12px 100% no-repeat scroll}}@media (max-width: 768px){h1{font-size:clamp(21px,5vw,26px)!important}h2{font-size:18px}}@keyframes sheet-in{0%{transform:translate(100%)}to{transform:none}}@keyframes sheet-out{0%{transform:none}to{transform:translate(100%)}}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}@keyframes scrim-out{0%{opacity:1}to{opacity:0}}.sheet{animation:sheet-in .22s var(--ease) both}.sheet.is-closing{animation:sheet-out .18s var(--ease) both}.scrim{animation:scrim-in .22s var(--ease) both}.scrim.is-closing{animation:scrim-out .18s var(--ease) both}@media (max-width: 768px){@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:none}}@keyframes sheet-out{0%{transform:none}to{transform:translateY(100%)}}}@media (prefers-reduced-motion: reduce){.sheet,.sheet.is-closing,.scrim,.scrim.is-closing{animation:none}}.skeleton{background:linear-gradient(90deg,var(--line) 25%,var(--panel-2) 37%,var(--line) 63%);background-size:400% 100%;animation:skeleton-sweep 1.4s ease infinite}@keyframes skeleton-sweep{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion: reduce){.skeleton{animation:none;background:var(--line)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}html.portal-ui{--ground: #F7F9FA;--surface: #FFFFFF;--raised: #EBEFF5;--rule: #DDE3EC;--rule-firm: #C3CBD8;--on-accent: #F3F5F8;--gain: #2E6B4F;--loss: #8A2F26;--nav-active: #DCE5F2;--primary: #192841;--accent: #192841;--accent-tint: rgba(25, 40, 65, .07);--ink: #12151C;--ink-soft: #454E5F;--muted: #7C8497;--faint: #A3AABA;--line: #DDE3EC;--line-strong: #C3CBD8;--paper: #FFFFFF;--panel: #EEF1F6;--panel-2: #EBEFF5;--success: #2E6B4F;--danger: #8A2F26;--serif: "Source Serif 4", Georgia, "Times New Roman", serif;--sans: "Source Serif 4", Georgia, "Times New Roman", serif}html.portal-ui body{background:var(--ground);font-weight:400;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.sheet-stack{display:flex;flex-direction:column}.sheet-stack>*+*{border-top:1px solid var(--rule-firm);margin-top:28px;padding-top:28px}.section-title{margin:0;font-size:22px;font-weight:400;line-height:1.2;letter-spacing:-.01em;color:var(--ink)}.label{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.tag{display:inline-flex;align-items:center;border:1px solid var(--rule-firm);border-radius:3px;padding:2px 7px;font-size:10px}.figure-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.figure-row>*{min-width:0;padding:18px 20px;background:var(--surface);border:1px solid var(--rule);border-radius:8px}@media (max-width: 768px){.figure-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.figure-row>*{padding:14px}.figure-row .figure-value{font-size:23px}}.figure{display:flex;flex-direction:column}.figure-head{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:10px}.figure-value{margin-top:6px;font-size:32px;font-weight:600;line-height:1.15;letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.figure-foot{min-height:20px;margin-top:6px;display:flex;align-items:center;font-size:13px;font-variant-numeric:tabular-nums}.figure-foot>span{animation:fade-in-soft var(--dur-layout) var(--ease)}@keyframes fade-in-soft{0%{opacity:0}to{opacity:1}}.figure-open{width:28px;height:28px;flex-shrink:0;border-radius:50%;border:1px solid var(--rule-firm);background:transparent;color:var(--ink-soft);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--dur-state) var(--ease),color var(--dur-state) var(--ease),border-color var(--dur-state) var(--ease)}.figure-open:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}html.portal-ui .btn{position:relative;overflow:hidden;isolation:isolate;border-radius:4px;transition:background var(--dur-state) var(--ease),color var(--dur-state) var(--ease),border-color var(--dur-state) var(--ease),opacity var(--dur-state) var(--ease),transform var(--dur-state) var(--spring-lively)}html.portal-ui .btn-primary{background:var(--accent);color:var(--on-accent)}html.portal-ui .btn-primary:hover:not(:disabled){background:#0f1c30;transform:none}html.portal-ui .btn-primary:disabled{background:var(--accent-tint);color:var(--faint)}html.portal-ui .btn-ghost{border-color:var(--rule-firm);color:var(--ink)}html.portal-ui .btn-ghost:hover:not(:disabled){background:var(--accent-tint);color:var(--ink);border-color:var(--rule-firm)}html.portal-ui .btn:active:not(:disabled){transform:scale(.985)}html.portal-ui .control{border-radius:4px;border-color:var(--rule-firm)}html.portal-ui .control:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.chip{border:1px solid var(--rule-firm);background:transparent;color:var(--ink-soft);border-radius:999px;padding:5px 12px;font-size:12.5px;cursor:pointer;text-align:left;transition:background var(--dur-state) var(--ease),border-color var(--dur-state) var(--ease)}.chip:hover:not(:disabled){background:var(--accent-tint)}.chip:disabled{opacity:.5;cursor:default}.scope-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:28px}.seg.seg--lg{padding:4px;border-radius:10px}.seg--lg .seg-opt{display:inline-flex;align-items:center;gap:8px;font-size:13px;padding:6px 14px;border-radius:7px}.seg--lg .seg-thumb{border-radius:7px}.seg-amount{color:var(--muted);font-variant-numeric:tabular-nums;transition:color var(--dur-layout) var(--ease)}.seg-opt.is-on .seg-amount{color:color-mix(in srgb,var(--on-accent) 70%,transparent)}html.portal-ui .btn.strip-btn{height:39px;padding:0 16px;font-size:13px;font-weight:500;border-radius:10px;gap:8px;background:var(--surface);border-color:var(--rule);color:var(--ink)}html.portal-ui .btn.strip-btn:hover:not(:disabled){background:var(--raised);border-color:var(--rule-firm)}.strip-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:24px}.strip-end{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-left:auto}.strip-group{display:inline-flex;align-items:center;gap:6px}html.portal-ui .control.strip-control{height:39px;border-radius:10px;font-size:13px;box-sizing:border-box;background-color:var(--surface);border-color:var(--rule)}html.portal-ui .control.strip-control:focus{border-color:var(--accent)}html.portal-ui .btn.strip-btn.strip-icon{width:39px;padding:0}html.portal-ui .btn.strip-btn:disabled{background:var(--surface);border-color:var(--rule);color:var(--faint);cursor:default}html.portal-ui .btn.strip-btn.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}html.portal-ui .btn.strip-btn.btn-primary:hover:not(:disabled){background:#0f1c30;border-color:#0f1c30}html.portal-ui .btn.strip-btn.btn-primary:disabled{background:var(--raised);border-color:var(--raised);color:var(--faint)}.month-nav{display:inline-flex;align-items:center;gap:6px}.month-nav-label{min-width:96px;text-align:center;font-size:13.5px;font-weight:600;color:var(--ink);white-space:nowrap}.account-tile{padding:18px 20px;background:var(--surface);border:1px solid var(--rule);border-radius:8px}.account-tile-main{display:flex;justify-content:space-between;align-items:center;gap:16px}.account-tile-name{margin-top:6px;font-size:17px;color:var(--ink);overflow-wrap:anywhere}.account-tile-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:0}.account-tile-details{margin-top:16px;padding-top:12px;border-top:1px solid var(--rule);font-size:13px}.account-tile-row{display:flex;justify-content:space-between;gap:24px;padding:6px 0}.account-tile-row+.account-tile-row{border-top:1px solid var(--rule)}.figure-open[aria-expanded=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}@media (max-width: 768px){.account-tile{padding:14px}.account-tile .figure-value{font-size:23px}}[data-ripple]{position:relative;overflow:hidden;isolation:isolate}.ripple{position:absolute;border-radius:50%;background:currentColor;opacity:.26;pointer-events:none;z-index:-1;transform:translate(-50%,-50%) scale(0);animation:ripple-out .58s var(--ease) forwards}@keyframes ripple-out{to{transform:translate(-50%,-50%) scale(1);opacity:0}}.process-btn{min-width:96px}html.portal-ui .process-btn[data-state=working],html.portal-ui .process-btn[data-state=working]:disabled{background:var(--ink-soft);border-color:var(--ink-soft);color:var(--on-accent);cursor:progress}html.portal-ui .process-btn[data-state=done]{background:var(--gain);border-color:var(--gain);color:var(--on-accent)}html.portal-ui .process-btn[data-state=error]{background:var(--loss);border-color:var(--loss);color:var(--on-accent)}.process-label{display:inline-flex;align-items:center;gap:8px;animation:process-in .34s var(--spring-gentle) backwards}@keyframes process-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.process-spin{width:13px;height:13px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:process-spin .7s linear infinite}@keyframes process-spin{to{transform:rotate(360deg)}}.topbar{position:sticky;top:0;z-index:100;height:76px;flex-shrink:0;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 clamp(16px,4vw,48px) 0 28px;background:var(--accent);color:var(--on-accent);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.topbar-brand{display:flex;align-items:center;gap:10px;min-width:0}.topbar-wordmark{font-size:21px;line-height:1.2;letter-spacing:.005em;color:var(--on-accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}@media (max-width: 768px){.topbar{padding:0 clamp(12px,4vw,20px)}.topbar-wordmark{font-size:17px}}.nav{position:relative;display:flex;flex-direction:column;gap:2px}.nav button{position:relative;z-index:1}.nav-mark{position:absolute;top:0;left:0;right:0;z-index:0;border-radius:4px;background:var(--nav-active);pointer-events:none;opacity:0}.nav-mark:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}.nav-mark.is-visible{opacity:1}.nav-mark.is-ready{transition:transform var(--dur-travel) var(--spring-gentle),height var(--dur-travel) var(--spring-gentle),opacity var(--dur-state) var(--ease)}.menu{position:absolute;top:calc(100% + 10px);right:0;z-index:50;min-width:240px;padding:6px;border-radius:10px;background:color-mix(in srgb,var(--surface) 72%,transparent);-webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%);border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);box-shadow:0 14px 40px #12151c29,0 2px 6px #12151c0f;transform-origin:top right;opacity:0;visibility:hidden;transform:translateY(-6px) scale(.97);transition:opacity .16s var(--ease),transform .16s var(--ease),visibility 0s linear .16s}.menu.is-open{opacity:1;visibility:visible;transform:none;transition:opacity var(--dur-enter) var(--ease),transform var(--dur-travel) var(--spring-lively),visibility 0s}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.menu{background:var(--surface)}}.menu-item{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:transparent;border:none;border-radius:6px;padding:9px 10px;font-size:14px;color:var(--ink);cursor:pointer;transition:background var(--dur-state) var(--ease)}.menu-item:hover,.menu-item:focus-visible{background:var(--accent-tint);outline:none}.menu-item.is-danger{color:var(--loss)}.menu-sep{height:1px;background:var(--rule);margin:5px 8px}@media (prefers-reduced-motion: reduce){.ripple{display:none}html.portal-ui .btn:active:not(:disabled){transform:none}.nav-mark.is-ready,.seg-thumb.is-ready{transition:none}.menu,.menu.is-open{transform:none}.menu{transition:opacity .12s linear,visibility 0s linear .12s}.menu.is-open{transition:opacity .12s linear,visibility 0s}.process-label,.figure-foot>span{animation:none}.process-spin{animation-duration:1.6s}}.seg{position:relative;display:inline-flex;flex-wrap:wrap;align-items:center;gap:2px;padding:3px;max-width:100%;background:var(--raised);border:1px solid var(--rule);border-radius:8px}.seg-opt{position:relative;z-index:1;font:inherit;font-size:12.5px;font-weight:500;line-height:1.3;white-space:nowrap;color:var(--muted);background:transparent;border:none;border-radius:6px;padding:5px 11px;cursor:pointer;transition:color var(--dur-state) var(--ease),background var(--dur-state) var(--ease),box-shadow var(--dur-state) var(--ease)}.seg-opt sup{line-height:0}.seg-opt:hover:not(:disabled):not(.is-on){color:var(--ink)}.seg-opt.is-on{color:var(--on-accent)}.seg:not(.seg--multi) .seg-opt{transition:color var(--dur-layout) var(--ease)}.seg-opt:disabled{opacity:.45;cursor:default}.seg-opt:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.seg-thumb{position:absolute;top:0;left:0;z-index:0;border-radius:6px;background:var(--accent);pointer-events:none;opacity:0;box-shadow:0 1px 2px #12151c2e}.seg-thumb.is-visible{opacity:1}.seg-thumb.is-ready{transition:transform var(--dur-layout) var(--spring-gentle),width var(--dur-layout) var(--spring-gentle),height var(--dur-layout) var(--spring-gentle),opacity var(--dur-state) var(--ease)}.seg--multi .seg-opt.is-on{background:var(--accent);box-shadow:0 1px 2px #12151c2e}@media (prefers-reduced-motion: reduce){.seg-thumb.is-ready{transition:none}}.budget-list{display:flex;flex-direction:column}.budget-row{display:grid;grid-template-columns:minmax(110px,190px) minmax(0,1fr) 28px;align-items:center;column-gap:20px;padding:10px 0}.budget-row+.budget-row{border-top:1px solid var(--rule)}.budget-row+.budget-row--empty{border-top-color:transparent}.budget-break{height:1px;background:var(--rule-firm);margin:4px 0}.budget-page{display:flex;flex-direction:column;animation:fade-in-soft var(--dur-layout) var(--ease)}.budget-row--aggregate .budget-row-label{font-weight:600}.budget-row-name{display:flex;align-items:center;gap:10px;min-width:0;font-size:14px;color:var(--ink)}.budget-row-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budget-dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex-shrink:0;vertical-align:middle}.budget-row-bar{display:block;min-width:0}.budget-row-bar-slot{display:block;height:30px}html.portal-ui .btn.strip-btn.strip-icon.pager-icon{width:28px;height:28px;border-radius:7px}.budget-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}.budget-note{display:flex;flex-direction:column;gap:4px;margin-top:16px;font-size:11px;color:var(--muted);line-height:1.6}.pace-dot{position:absolute;top:50%;width:22px;height:22px;margin:-11px 0 0 -11px;z-index:3;display:flex;align-items:center;justify-content:center;cursor:help}.pace-dot:hover{z-index:10}.pace-dot-mark{width:11px;height:11px;border-radius:50%;background:#d97706;border:2px solid #fff;box-shadow:0 1px 2px #00000040}.pace-tip{position:absolute;bottom:calc(100% + 4px);left:50%;width:0;display:flex;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--dur-state) var(--ease),visibility 0s linear var(--dur-state)}.pace-dot:hover .pace-tip{opacity:1;visibility:visible;transition:opacity var(--dur-state) var(--ease),visibility 0s}.pace-tip-bubble{flex-shrink:0;padding:6px 10px;border-radius:6px;white-space:nowrap;text-align:center;font-size:11px;line-height:1.3;font-weight:600;color:#d97706;background:var(--surface);border:1px solid var(--rule);box-shadow:0 4px 14px #12151c1f}@media (max-width: 768px){.budget-row{grid-template-columns:minmax(0,1fr) 28px;row-gap:6px}.budget-row-bar{grid-column:1 / -1;grid-row:2}}.sheet-grid{container:sheet-grid / inline-size;--grid-section-h: 640px}.sankey-box{height:560px}.donut-plot{position:relative;height:230px}.sheet-grid-items{display:grid;grid-template-columns:minmax(0,1fr)}.sheet-grid-items>*+*{border-top:1px solid var(--rule-firm);margin-top:28px;padding-top:28px}@container sheet-grid (min-width: 1240px){.sheet-grid-items{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.sheet-grid-items>*+*{border-top:0;margin-top:0;padding-top:0}.sheet-grid-items>:nth-child(odd){padding-right:32px}.sheet-grid-items>:nth-child(2n){border-left:1px solid var(--rule-firm);padding-left:32px}.sheet-grid-items>:nth-child(n+3){border-top:1px solid var(--rule-firm);margin-top:28px;padding-top:28px}.sheet-grid-items>:last-child:nth-child(odd){grid-column:1 / -1;padding-right:0}.sheet-grid-items .section-fill{min-height:var(--grid-section-h);display:flex;flex-direction:column}.sheet-grid-items .section-grow{flex:1 1 0;min-height:0;display:flex;flex-direction:column}.sheet-grid-items .section-body{flex:1 1 0;min-height:0}.sheet-grid-items .sankey-box{height:auto}.sheet-grid-items .budget-list{flex:1 1 0;min-height:0;--fill: 1}.sheet-grid-items .donut-row{align-items:stretch}.sheet-grid-items .donut{display:flex;flex-direction:column;justify-content:center}.sheet-grid-items .donut-plot{height:auto;flex:1 1 0;min-height:230px;max-height:360px}}.chart-tip{position:fixed;z-index:200;width:0;display:flex;justify-content:center;pointer-events:none}.chart-tip-bubble{flex-shrink:0;padding:7px 11px;border-radius:6px;white-space:nowrap;font-size:12px;line-height:1.45;color:var(--ink);background:var(--surface);border:1px solid var(--rule);box-shadow:0 4px 14px #12151c1f;animation:fade-in-soft var(--dur-state) var(--ease)}.chart-tip-title{font-weight:600}.chart-tip-muted{color:var(--muted)}.chart-tip-hint{margin-top:2px;font-size:11px;color:var(--muted)}.sankey-link{transition:fill-opacity var(--dur-state) var(--ease)}.sankey-node{transition:opacity var(--dur-state) var(--ease);outline:none}.sankey-node:focus-visible rect{stroke:var(--accent);stroke-width:2px}.cfs-grid{min-width:calc(200px + var(--cfs-n, 6) * 84px + 12px)}.cfs-row{display:grid;grid-template-columns:minmax(200px,1.6fr) repeat(var(--cfs-n, 6),minmax(84px,1fr));align-items:center;padding-right:12px;font-variant-numeric:tabular-nums}.cfs-label{display:flex;align-items:center;min-width:0}.cfs-arrow{width:22px;flex-shrink:0;display:flex;justify-content:center;color:var(--muted)}.cfs-label-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cfs-cell{text-align:right;white-space:nowrap}.cfs-head{padding-bottom:8px;border-bottom:1px solid var(--rule-firm)}.cfs-head .cfs-cell{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.cfs-section{padding:6px 0 4px}.cfs-section .cfs-label-text{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.cfs-empty{padding:2px 0 4px 22px;font-size:13px;color:var(--muted)}.cfs-cat{padding-top:5px;padding-bottom:5px;border-top:1px solid var(--rule);font-size:14px;color:var(--ink)}.cfs-cat .cfs-cell{font-size:13.5px}.cfs-merchant{padding-top:4px;padding-bottom:4px;font-size:13px;color:var(--ink-soft)}.cfs-tx{padding-top:3px;padding-bottom:3px;font-size:12px;color:var(--muted)}.cfs-row[role=button]{cursor:pointer;transition:background var(--dur-state) var(--ease)}.cfs-row[role=button]:hover{background:var(--accent-tint)}.cfs-row[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.cfs-total{padding-top:6px;padding-bottom:6px;border-top:1px solid var(--rule-firm);font-size:13.5px;font-weight:600;color:var(--ink)}.cfs-memo{padding-top:3px;padding-bottom:3px;font-size:12.5px;font-style:italic;color:var(--muted)}.cfs-cashflow{padding-top:7px;padding-bottom:7px;border-top:1px solid var(--rule-firm);border-bottom:1px solid var(--rule-firm);font-size:13.5px;font-weight:600;color:var(--ink)}.cfs-cashflow .cfs-cell{font-size:13.5px}.cfs-cashflow+.cfs-memo{font-size:13.5px}.cfs-end{padding-top:7px;padding-bottom:7px;border-radius:6px;background:var(--accent);color:var(--on-accent);font-size:14px;font-weight:600}.cfs-growth{padding-top:4px;padding-bottom:2px;font-size:12.5px;color:var(--muted)}.cfs-growth+.cfs-growth{padding-top:2px}html.portal-ui .btn.strip-btn.cfs-expand,html.portal-ui .btn.strip-btn.strip-btn--sm{height:28px;padding:0 12px;font-size:12.5px;border-radius:7px}.tx-th{position:sticky;top:var(--tx-head-top);z-index:6;box-sizing:border-box;padding:0 20px;background:var(--ground);border-bottom:1px solid var(--rule-firm);font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.tx-day{position:sticky;top:var(--tx-day-top);z-index:5;padding:8px 20px;background:var(--raised);border-bottom:1px solid var(--rule)}.tx-day-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.tx-day-label{font-size:12.5px;font-weight:600;color:var(--ink)}.tx-day-meta{font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.tx-row td{transition:background var(--dur-state) var(--ease)}.tx-row:hover td{background:var(--accent-tint)}.review-banner{display:flex;align-items:center;gap:10px;width:100%;margin-bottom:14px;padding:11px 16px;text-align:left;font:inherit;color:var(--accent);cursor:pointer;background:var(--nav-active);border:none;border-radius:8px;transition:background var(--dur-state) var(--ease)}.review-banner:hover{background:#d2ddee}.review-banner-text{font-size:13.5px;font-weight:600}.review-banner-action{margin-left:auto;font-size:12.5px;font-weight:600}.attn-panel{position:fixed;z-index:91;width:258px;padding:12px 14px;text-align:left;background:var(--surface);border:1px solid var(--rule);border-radius:8px;box-shadow:0 8px 28px #12151c24}.search-wrap{position:relative;margin-bottom:14px}html.portal-ui .control.search-input{width:100%;height:42px;box-sizing:border-box;padding:0 108px 0 14px;font-size:13.5px;border-radius:10px;background-color:var(--surface);border-color:var(--rule-firm)}html.portal-ui .control.search-input:focus{border-color:var(--accent)}html.portal-ui .control.search-input[aria-invalid=true]{border-color:#b0731e8c}.search-icon-btn{position:absolute;top:50%;margin-top:-14px;width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;border:none;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer;transition:background var(--dur-state) var(--ease),color var(--dur-state) var(--ease)}.search-icon-btn:hover{background:var(--accent-tint);color:var(--ink)}.search-icon-btn.is-on{color:var(--ink)}.search-pop{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:50;overflow:hidden;background:var(--surface);border:1px solid var(--rule);border-radius:10px;box-shadow:0 8px 28px #12151c1f}.search-sug{display:flex;align-items:center;gap:10px;width:100%;padding:9px 14px;text-align:left;font:inherit;font-size:13px;color:var(--ink);background:transparent;border:none;cursor:pointer}.search-sug.is-active{background:var(--accent-tint)}.search-sug-kind{flex-shrink:0;padding:1px 6px;border:1px solid var(--rule-firm);border-radius:3px;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.search-sug-kind.is-syntax{color:var(--muted)}.search-sug-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-adv{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:60;padding:18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:14px 12px;background:var(--surface);border:1px solid var(--rule);border-radius:12px;box-shadow:0 12px 34px #12151c24}.search-adv-item{display:flex;flex-direction:column;gap:6px;min-width:0}html.portal-ui .control.search-adv-field{width:100%;height:36px;box-sizing:border-box;padding:0 10px;font-size:13px;border-radius:6px}.search-adv-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px;margin-top:2px}.search-note{display:flex;flex-direction:column;gap:8px;margin:-4px 0 14px;padding:11px 14px;border-radius:8px;font-size:13px;line-height:1.5}.search-note--problem{background:#b0731e14;color:#7a4f10}.search-note-hint{color:#9b6515}.search-note--info{background:var(--raised);color:var(--ink-soft)}.search-note-link{padding:0;font:inherit;font-weight:600;color:var(--accent);text-decoration:underline;background:none;border:none;cursor:pointer}.search-recents{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-4px 0 14px}.search-recent{display:inline-flex;align-items:center;gap:2px;padding:2px 4px 2px 12px;background:var(--surface);border:1px solid var(--rule-firm);border-radius:999px}.search-recent-run{max-width:260px;padding:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:inherit;font-size:12px;color:var(--ink-soft);background:none;border:none;cursor:pointer}.search-recent-x{width:20px;height:20px;padding:0;display:flex;align-items:center;justify-content:center;color:var(--muted);background:none;border:none;border-radius:50%;cursor:pointer}.search-recent-x:hover{background:var(--accent-tint);color:var(--ink)}.cat-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;white-space:nowrap;cursor:pointer;font:inherit;font-size:12px;color:var(--ink-soft);background:transparent;border:1px solid var(--rule-firm);border-radius:6px;transition:background var(--dur-state) var(--ease),border-color var(--dur-state) var(--ease)}.cat-pill:hover{background:var(--accent-tint)}.cat-pill--once{color:var(--accent);font-weight:600;border-color:var(--accent);box-shadow:inset 0 0 0 .5px var(--accent)}.cat-pill--permanent,.cat-pill--permanent:hover{color:var(--on-accent);font-weight:600;background:var(--accent);border-color:var(--accent)}.cat-pill svg{display:block;flex-shrink:0;transition:transform var(--dur-state) var(--ease)}.cat-pill[aria-expanded=true] svg{transform:rotate(180deg)}.cat-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:1000;min-width:230px;overflow:hidden;text-align:left;background:var(--surface);border:1px solid var(--rule);border-radius:10px;box-shadow:0 8px 28px #12151c24}.cat-menu-list{max-height:380px;overflow-y:auto}.cat-menu-heading{display:block;padding:10px 14px 6px}.cat-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 14px;text-align:left;font:inherit;font-size:13px;color:var(--ink);background:none;border:none;cursor:pointer}.cat-item.is-focused{background:var(--accent-tint);box-shadow:inset 2px 0 0 var(--accent)}.cat-item.is-current{color:var(--on-accent);font-weight:600;background:var(--accent)}.cat-item.is-current.is-focused{box-shadow:inset 3px 0 0 var(--nav-active)}.cat-item-meta{display:flex;gap:6px;align-items:center;flex-shrink:0;margin-left:10px}.cat-item-note{font-size:11px;font-weight:400;opacity:.75}.cat-item-default{padding:1px 5px;font-size:10.5px;color:var(--muted);border:1px solid var(--rule-firm);border-radius:3px}.cat-menu-action{display:block;width:100%;padding:9px 14px;text-align:left;font:inherit;font-size:13px;font-weight:600;color:var(--accent);background:none;border:none;border-top:1px solid var(--rule);cursor:pointer}.cat-menu-action:hover{background:var(--accent-tint)}.cat-menu-action--quiet{font-size:12.5px;font-weight:400;color:var(--muted)}.cat-create{padding:10px 14px 12px;border-top:1px solid var(--rule)}html.portal-ui .control.cat-create-input{width:100%;height:34px;box-sizing:border-box;padding:0 10px;font-size:13px;border-radius:6px}html.portal-ui .control.cat-create-input[aria-invalid=true]{border-color:var(--loss)}.cat-create-error{margin-top:5px;font-size:11.5px;color:var(--loss)}.cat-create-actions{display:flex;gap:6px;margin-top:8px}.cat-scope{display:flex;flex-direction:column;justify-content:center;width:100%;min-height:56px;padding:11px 14px;text-align:left;font:inherit;background:none;border:none;border-top:1px solid var(--rule);cursor:pointer}.cat-scope.is-focused{background:var(--accent-tint);box-shadow:inset 2px 0 0 var(--accent)}.cat-scope-title{font-size:13px;font-weight:600;color:var(--ink)}.cat-scope-sub{margin-top:2px;font-size:11.5px;color:var(--muted)}.cfs-grid{position:relative;isolation:isolate}.cfs-avg-divider{position:absolute;top:0;bottom:0;width:1px;background:var(--rule-firm);z-index:-1;pointer-events:none}.cfs-head .cfs-cell.is-avg{color:var(--ink-soft)}.cfs-foot{display:flex;flex-direction:column;gap:3px;margin-top:14px;font-size:11px;line-height:1.5;color:var(--muted)}.cfs-download-wrap{position:relative}.cfs-download{position:absolute;top:calc(100% + 6px);right:0;z-index:60;width:300px;padding:16px;display:flex;flex-direction:column;gap:12px;text-align:left;background:var(--surface);border:1px solid var(--rule);border-radius:12px;box-shadow:0 12px 34px #12151c24}.cfs-download-title{font-size:14px;font-weight:600;color:var(--ink)}.cfs-download-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cfs-download-field{display:flex;flex-direction:column;gap:6px;min-width:0}html.portal-ui .control.cfs-download-select{width:100%;height:36px;box-sizing:border-box;padding:0 28px 0 10px;font-size:13px;border-radius:6px}.cfs-download-error{font-size:12px;line-height:1.45;color:var(--loss)}.cfs-download-note{font-size:11.5px;line-height:1.5;color:var(--muted)}.cfs-cell{padding-right:10px;box-sizing:border-box}.cfs-spacer{height:22px}
