/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial;--row-shift:0px}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial;--row-shift:0px}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.isolate{isolation:isolate}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.\!hidden{display:none!important}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.h-1{height:calc(var(--spacing) * 1)}.h-2{height:calc(var(--spacing) * 2)}.shrink{flex-shrink:1}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.p-1{padding:calc(var(--spacing) * 1)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-all{-webkit-user-select:all;user-select:all}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--sidebar-width:200px;--ink:#202538;--ink-soft:#535c70;--muted:#646c7f;--faint:#8b92a5;--on-accent:#fff;--on-accent-veil:#ffffff3d;--line:#e2e5ec;--line-soft:#eef0f4;--line-strong:#c9ced9;--panel:#fff;--panel-raised:#fff;--field:#fff;--panel-veil:#ffffffeb;--panel-veil-strong:#fffffff5;--dialog-veil:#fffffff5;--dialog-veil-strong:#fffffff7;--tray-glass:#f5f6f9b8;--canvas:#f5f6f9;--surface-soft:#f7f8fa;--surface-sunken:#eef0f4;--surface-hover:#fbfcff;--surface-hover-strong:#f2f5fb;--nav:#1e2434;--nav-soft:#2b3246;--blue:#5268d9;--blue-dark:#4054c0;--blue-soft:#edf0ff;--blue-ink:#4b5684;--blue-line:#d9def9;--joo-green:#0caa85;--on-joo-green:#202538;--on-insight-blue:#10131a;--green:#077d61;--green-soft:#e5f5ef;--green-ink:#136a53;--green-line:#cce9df;--amber:#9a6228;--amber-soft:#fff2df;--amber-line:#efd9b8;--red:#b74853;--red-soft:#fff0f1;--red-soft-strong:#fdeef0;--red-ink:#9f3541;--red-line:#f1cbd0;--income-wash:#f0f8f4;--income-line:#e0ede6;--fund-wash:#f2f4fd;--fund-line:#e3e7f7;--tray-line:#cbe8ddb3;--tray-fill:#e5f5ef61;--attention-fill:linear-gradient(145deg, #fff, #fffaf2);--bar-planned:#dfe3f6;--skeleton-from:#eff1f5;--skeleton-to:#f8f9fb;--health-excellent:#077d61;--health-good:#0caa85;--health-fair:#d99a1e;--health-weak:#e0762e;--health-critical:#d0525f;--shadow:0 8px 28px #1f28410f;--ltb-shadow:0 10px 18px -10px #1f28413d}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#e8ebf4;--ink-soft:#b9c0d0;--muted:#97a0b5;--faint:#7b8397;--on-accent:#141826;--on-accent-veil:#0003;--line:#333a4d;--line-soft:#2b3143;--line-strong:#565f79;--panel:#1b2030;--panel-raised:#232939;--field:#12151f;--panel-veil:#1b2030eb;--panel-veil-strong:#1b2030f5;--dialog-veil:#232939f5;--dialog-veil-strong:#232939f7;--tray-glass:#12151fb8;--canvas:#12151f;--surface-soft:#232939;--surface-sunken:#171b28;--surface-hover:#262d3f;--surface-hover-strong:#2a3145;--blue:#7d92ee;--blue-dark:#93a5f2;--blue-soft:#212845;--blue-ink:#b9c5ff;--blue-line:#303a5e;--green:#0caa85;--on-joo-green:#141826;--on-insight-blue:#10131a;--green-soft:#17322a;--green-ink:#7fe0bb;--green-line:#1f4a3c;--amber:#d99a4e;--amber-soft:#33260f;--amber-line:#4a3717;--red:#ef7b87;--red-soft:#3a1e22;--red-soft-strong:#4a2429;--red-ink:#ffb0b8;--red-line:#55292f;--income-wash:#16281f;--income-line:#24402f;--fund-wash:#1b2036;--fund-line:#2b3350;--tray-line:#1f4a3cb3;--tray-fill:#17322a8c;--attention-fill:linear-gradient(145deg, #1b2030, #241f16);--bar-planned:#3a4470;--skeleton-from:#1f2534;--skeleton-to:#2a3143;--health-excellent:#2fd0a8;--health-good:#0caa85;--health-fair:#d99a4e;--health-weak:#ef9a5e;--health-critical:#ef7b87;--shadow:0 8px 28px #00000073;--ltb-shadow:0 10px 18px -10px #0009}*{box-sizing:border-box}html{background:var(--canvas);max-width:100%;overflow-x:clip}body{background:var(--canvas);max-width:100%;min-height:100vh;color:var(--ink);font-family:var(--font-geist-sans), system-ui, sans-serif;margin:0;overflow-x:clip}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible{outline-offset:2px;outline:3px solid #5268d96b}a:focus-visible{outline-offset:2px;outline:3px solid #5268d96b}input:focus-visible{outline-offset:2px;outline:3px solid #5268d96b}select:focus-visible{outline-offset:2px;outline:3px solid #5268d96b}[tabindex]:focus-visible{outline-offset:2px;outline:3px solid #5268d96b}button:disabled{cursor:not-allowed;opacity:.58}a{color:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{min-height:100vh}.sidebar{z-index:40;width:var(--sidebar-width);color:#eef1fa;background:linear-gradient(180deg, var(--nav), #191e2c);flex-direction:column;padding:23px 12px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{cursor:pointer;background:0 0;border:0;align-self:center;align-items:center;width:fit-content;padding:3px 7px 24px;display:flex}.brand img{width:auto;height:128px;display:block}.brand .brand-light{display:none}:root[data-theme=light] .brand .brand-light{display:block}:root[data-theme=light] .brand .brand-dark{display:none}.side-nav{gap:4px;display:grid}.nav-item{color:#aeb5c8;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;grid-template-columns:27px 1fr auto;align-items:center;gap:8px;min-height:42px;padding:0 11px;font-size:14px;font-weight:620;text-decoration:none;display:grid}.nav-item:hover,.nav-item.active{color:#fff;background:var(--nav-soft)}.nav-icon{color:#838ca5;text-align:center;font-size:21px}.nav-item.active .nav-icon{color:#aeb9ff}.nav-count{min-width:20px;height:20px;color:var(--on-accent);background:var(--red);border-radius:10px;place-items:center;padding:0 6px;font-size:11px;display:grid}.sidebar-spacer{flex:1;min-height:20px}.account-card{color:#c8cede;cursor:pointer;text-align:left;background:#252b3d;border:1px solid #353d52;border-radius:11px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;margin-bottom:6px;padding:12px;display:grid}.account-card.active{background:#2c3349;border-color:#4b5573}.institution-stack{align-items:center;display:flex}.institution-marks{align-items:center;display:flex;position:relative}.institution-stack .institution-logo{border:1px solid #353d52}.institution-stack .institution-logo+.institution-logo{margin-left:-9px}.institution-stack-more{color:#8f98b0;margin-left:5px;font-size:10px;font-weight:760}.institution-stack.badged .account-dot{width:10px;height:10px;box-shadow:none;border:2px solid #252b3d;position:absolute;bottom:-2px;right:-2px}.account-card>span:nth-child(2),.profile>span:nth-child(2){gap:3px;min-width:0;display:grid}.account-card strong,.profile strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.account-card small,.profile small{color:#8f98b0;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.account-dot{background:#ce974d;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 4px #ce974d1a}.account-dot.healthy{background:var(--joo-green);box-shadow:0 0 0 4px #0caa851a}.account-dot.syncing{animation:1.5s ease-in-out infinite account-dot-pulse}@keyframes account-dot-pulse{0%,to{opacity:.55;box-shadow:0 0 0 3px #ce974d14}50%{opacity:1;box-shadow:0 0 0 7px #ce974d38}}.account-dot.syncing.healthy{animation-name:account-dot-pulse-healthy}@keyframes account-dot-pulse-healthy{0%,to{opacity:.55;box-shadow:0 0 0 3px #0caa8514}50%{opacity:1;box-shadow:0 0 0 7px #0caa8538}}@media (prefers-reduced-motion:reduce){.account-dot.syncing{animation-duration:4.5s}}.profile{width:100%;color:inherit;text-align:left;border-top:1px solid #30374a;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;margin-top:6px;padding:10px 8px 9px;display:grid}.avatar{color:#dce1ff;background:#3c4666;border-radius:50%;place-items:center;width:34px;height:34px;font-size:11px;font-weight:800;display:grid}:root[data-theme=light] .sidebar{color:#232838;background:#fff;border-right:1px solid #e4e8f0}:root[data-theme=light] .nav-item{color:#6f7686}:root[data-theme=light] .nav-item .nav-icon{color:#9aa1b2}:root[data-theme=light] .nav-item:hover{color:#232838;background:#f1f4f8}:root[data-theme=light] .nav-item:hover .nav-icon{color:#6f7686}:root[data-theme=light] .nav-item.active{color:var(--joo-green);background:#0caa851a}:root[data-theme=light] .nav-item.active .nav-icon{color:var(--joo-green)}:root[data-theme=light] .account-card{color:#6f7686;background:#f7f9fc;border-color:#e4e8f0}:root[data-theme=light] .account-card.active{background:#eef2f8;border-color:#c9d2e2}:root[data-theme=light] .institution-stack .institution-logo{border-color:#e4e8f0}:root[data-theme=light] .institution-stack.badged .account-dot{border-color:#f7f9fc}:root[data-theme=light] .institution-stack-more{color:#7c8496}:root[data-theme=light] .account-card strong,:root[data-theme=light] .profile strong{color:#232838}:root[data-theme=light] .account-card small,:root[data-theme=light] .profile small{color:#6f7686}:root[data-theme=light] .profile{border-top-color:#e9ecf3}:root[data-theme=light] .avatar{color:#45507a;background:#e6eaf5}.main-content{min-width:0;min-height:100vh;margin-left:var(--sidebar-width)}.topbar{z-index:30;border-bottom:1px solid var(--line);background:var(--panel-veil);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);justify-content:space-between;align-items:center;gap:16px;min-height:78px;padding:13px clamp(18px,3vw,42px);display:flex;position:sticky;top:0}.topbar h1,.view-intro h2,.welcome-row h2{letter-spacing:-.04em;margin:2px 0 0}.topbar h1{font-size:22px}.eyebrow{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:11px;font-weight:780}.month-nav{align-items:center;gap:6px;display:flex}.month-nav .eyebrow{text-align:center;min-width:92px}.month-nav-button{border:1px solid var(--line);width:24px;height:24px;color:var(--muted);background:var(--panel-raised);cursor:pointer;border-radius:7px;place-items:center;padding:0;font-size:14px;line-height:1;display:grid}.month-nav-button:hover:not(:disabled){border-color:var(--line-strong);color:var(--ink);background:var(--surface-hover)}.month-nav-button:disabled{opacity:.35}.month-chip{text-transform:uppercase;letter-spacing:.08em;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:780}.month-chip.past{color:var(--amber);background:var(--amber-soft)}.month-chip.future{color:var(--blue-dark);background:var(--blue-soft)}.month-today-button{border:1px solid var(--blue);min-height:30px;color:var(--blue);cursor:pointer;background:0 0;border-radius:999px;align-items:center;padding:0 12px;font-size:12px;font-weight:740;display:inline-flex}.month-today-button:hover{border-color:var(--blue-dark);color:var(--blue-dark);background:var(--blue-soft)}.month-context-inline{align-items:center;gap:8px;display:flex}.month-title-nav{gap:10px;position:relative}.topbar-lead{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.month-title-nav .month-nav-button{border-radius:10px;width:38px;height:38px;font-size:20px}.topbar .month-title{letter-spacing:-.045em;text-align:center;min-width:0;margin:0;font-size:clamp(28px,3vw,36px);font-weight:800;line-height:1.15}.month-picker-wrap{min-width:0;display:flex;position:relative}.month-picker-trigger{max-width:100%;color:inherit;cursor:pointer;font:inherit;letter-spacing:inherit;background:0 0;border:1px solid #0000;border-radius:11px;align-items:baseline;gap:8px;padding:2px 10px;display:inline-flex}.month-picker-trigger:hover:not(:disabled),.month-picker-trigger[aria-expanded=true]{border-color:var(--line);background:var(--panel-raised)}.month-picker-trigger:disabled{cursor:default;opacity:.55}.month-picker-trigger .month-name{font-weight:800}.month-picker-trigger .month-year{color:var(--muted);font-weight:500}.month-picker-caret{color:var(--muted);letter-spacing:0;align-self:center;font-size:.55em;line-height:1;transition:transform .15s}.month-picker-panel{z-index:45;border:1px solid var(--line);background:var(--panel);border-radius:16px;width:min(324px,100vw - 28px);padding:16px;position:absolute;top:calc(100% + 10px);left:0;box-shadow:0 22px 46px #090c1838}.month-picker-year-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding-bottom:13px;display:flex}.month-picker-year-row .month-nav-button{border-radius:9px;width:30px;height:30px;font-size:16px}.month-picker-year-label{letter-spacing:-.03em;font-size:18px;font-weight:800}.month-picker-grid{grid-template-columns:repeat(4,1fr);gap:8px;padding:14px 0;display:grid}.month-picker-month{border:1px solid var(--blue);min-height:42px;color:var(--ink);cursor:pointer;background:0 0;border-radius:10px;padding:0 4px;font-size:14px;font-weight:720}.month-picker-month:hover:not(:disabled){background:var(--blue-soft)}.month-picker-month.selected{border-color:var(--blue);color:var(--on-accent);background:var(--blue)}.month-picker-month:disabled{border-style:dashed;border-color:var(--line-strong);color:var(--muted);cursor:default}.month-picker-step-row{border-bottom:1px solid var(--line);gap:8px;margin-bottom:12px;padding-bottom:12px;display:flex}.month-picker-step{border:1px solid var(--line);min-height:34px;color:var(--ink-soft);background:var(--panel-raised);cursor:pointer;white-space:nowrap;border-radius:9px;flex:1 1 0;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:700;display:flex}.month-picker-step:hover:not(:disabled){border-color:var(--line-strong);color:var(--ink);background:var(--surface-hover)}.month-picker-step:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.month-picker-step:disabled{opacity:.4;cursor:default}.month-picker-hint{color:var(--muted);text-align:center;margin:0;font-size:12px}.month-picker-hint-button{margin:0 auto;font-size:12px;display:block}.budget-sticky{z-index:20;top:var(--topbar-height,79px);background:var(--canvas);margin:-28px calc(-1*clamp(18px,3vw,42px)) 0;padding:16px clamp(18px,3vw,42px) 10px;position:sticky}.ltb-bar{border:1px solid var(--line);background:var(--panel);min-height:58px;box-shadow:var(--ltb-shadow);border-radius:13px;place-items:center;gap:10px;padding:8px 12px;transition:background-color .2s,border-color .2s;display:grid;position:relative}.ltb-copy{color:var(--muted);justify-content:center;align-items:center;gap:8px;margin:0;font-size:15px;font-weight:640;display:flex}.ltb-copy strong{color:var(--green);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:26px;font-weight:800}.ltb-bar.over .ltb-copy,.ltb-bar.over .ltb-copy strong{color:var(--red)}.ltb-bar.balanced{border-color:var(--green-line);background:var(--green-soft)}.top-actions,.intro-actions,.dialog-actions{align-items:center;gap:8px;display:flex}.icon-button{border:1px solid var(--line);width:38px;height:38px;color:var(--muted);background:var(--panel-raised);cursor:pointer;border-radius:10px;place-items:center;padding:0;font-size:18px;display:grid}.icon-button:hover{border-color:var(--line-strong);color:var(--ink);background:var(--surface-hover)}.primary-button,.secondary-button,.text-button,.button-link{cursor:pointer;border-radius:9px;min-height:38px;font-size:12px;font-weight:740;text-decoration:none}.primary-button{border:1px solid var(--blue);color:var(--on-accent);background:var(--blue);padding:0 15px}.primary-button:hover{border-color:var(--blue-dark);background:var(--blue-dark)}.secondary-button{border:1px solid var(--line);color:var(--ink-soft);background:var(--panel-raised);padding:0 13px}.secondary-button:hover{border-color:var(--line-strong);background:var(--surface-hover)}.button-link{justify-content:center;align-items:center;display:inline-flex}.text-button{min-height:30px;color:var(--blue);background:0 0;border:0;padding:0}.sync-refresh{align-items:center;gap:8px;display:inline-flex;position:relative}.sync-status-trigger{width:38px;min-height:38px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;place-items:center;padding:0;display:grid}.sync-status-trigger:hover,.sync-status-trigger[aria-expanded=true]{border-color:var(--line);color:var(--ink);background:var(--panel-raised)}.sync-status-panel{z-index:45;border:1px solid var(--line);background:var(--panel);border-radius:14px;width:min(300px,100vw - 28px);padding:13px 14px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 22px 46px #090c1838}.sync-status-panel:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.sync-status-run{color:var(--ink);margin:0;font-size:12.5px;font-weight:650;line-height:1.45}.sync-status-connections{border-top:1px solid var(--line);gap:9px;margin:12px 0 0;padding:12px 0 0;list-style:none;display:grid}.sync-status-connections li{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;display:grid}.sync-connection-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:650;overflow:hidden}.sync-connection-age{color:var(--muted);white-space:nowrap;font-size:11.5px}.refresh-glyph{display:block}.activity-log{display:inline-flex;position:relative}.activity-log-trigger[aria-expanded=true]{border-color:var(--line-strong);color:var(--ink);background:var(--surface-hover)}.activity-panel{flex-direction:column;width:min(360px,100vw - 28px);max-width:calc(100vw - 28px);max-height:min(78vh,560px);padding:12px 6px 8px;display:flex;overflow:hidden}.activity-panel-title{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:0 8px 4px;font-size:11px;font-weight:750}.activity-list{margin:0;padding:0;list-style:none;display:grid}.activity-panel .activity-list{flex:auto;min-height:0;max-height:none;overflow-y:auto}.activity-row{border-radius:8px;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:34px;padding:4px 6px;display:grid}.activity-undo-slot{justify-content:center;align-items:center;width:26px;display:flex}.activity-row:hover,.activity-row:focus-within{background:var(--surface-hover)}.activity-label{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;overflow:hidden}.activity-age{color:var(--muted);white-space:nowrap;font-size:11.5px}.activity-undo{border:1px solid var(--line);width:24px;height:24px;color:var(--ink-soft);background:var(--panel-raised);cursor:pointer;opacity:0;visibility:hidden;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:13px;line-height:1;display:flex}.activity-row:hover .activity-undo,.activity-row:focus-within .activity-undo{opacity:1;visibility:visible}.activity-undo:focus-visible{opacity:1;visibility:visible;outline:2px solid var(--blue);outline-offset:1px}.activity-undo:hover{border-color:var(--line-strong);color:var(--ink);background:var(--surface-hover)}.activity-undo:disabled{cursor:default;opacity:.55}.activity-empty{color:var(--muted);margin:4px 8px 8px;font-size:12.5px}.activity-panel-foot{border-top:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:12px;margin-top:6px;padding:6px 8px 2px;display:flex}.activity-panel.resizing{-webkit-user-select:none;user-select:none}@media (min-width:761px){.activity-panel.sized{max-width:none;max-height:none}}.activity-resize{cursor:nesw-resize;touch-action:none;border-bottom-left-radius:14px;width:18px;height:18px;position:absolute;bottom:0;left:0}.activity-resize:after{border-bottom:2px solid var(--line-strong);border-left:2px solid var(--line-strong);opacity:.7;content:"";border-bottom-left-radius:3px;width:9px;height:9px;position:absolute;bottom:4px;left:4px}.activity-resize:hover:after,.activity-resize:active:after{border-color:var(--ink-soft);opacity:1}.activity-clear{color:var(--muted)}.activity-clear:disabled{opacity:.45;cursor:default}.activity-ref{color:inherit;font:inherit;background:0 0;border:0;padding:0;font-weight:700}button.activity-ref-link{cursor:pointer;text-decoration:underline}@supports (color:color-mix(in lab, red, red)){button.activity-ref-link{-webkit-text-decoration-color:color-mix(in srgb, currentcolor 35%, transparent);-webkit-text-decoration-color:color-mix(in srgb, currentcolor 35%, transparent);-webkit-text-decoration-color:color-mix(in srgb, currentcolor 35%, transparent);text-decoration-color:color-mix(in srgb, currentcolor 35%, transparent)}}button.activity-ref-link{text-underline-offset:2px}button.activity-ref-link:hover{text-decoration-color:currentColor}button.activity-ref-link:focus-visible{outline:2px solid var(--blue);outline-offset:1px;border-radius:4px}.activity-section{display:grid}.activity-section-head{margin:0;font-size:15px}.activity-section-toggle{width:100%;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:14px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:13px;padding:18px;transition:background-color .15s;display:grid}.activity-section-toggle:hover{background:var(--surface-hover)}.activity-section-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.activity-section.open .activity-section-toggle{border-radius:14px 14px 0 0}.activity-section-chevron{color:var(--muted);font-size:12px;line-height:1;transition:transform .18s}.activity-section:not(.open) .activity-section-chevron{transform:rotate(-90deg)}.activity-section-body{border-top:1px solid var(--line-soft);gap:14px;padding:2px 18px 18px;display:grid}.activity-section-note{color:var(--muted);margin:12px 0 0;font-size:13px;line-height:1.5}.activity-scroll{gap:6px;max-height:min(60vh,560px);padding-right:4px;display:grid;overflow-y:auto}.activity-day-toggle{width:100%;min-height:36px;color:var(--ink-soft);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:0 8px;font-size:12px;font-weight:750;display:flex}.activity-day-toggle:hover{background:var(--surface-hover);color:var(--ink)}.activity-day-chevron{width:12px;color:var(--muted)}.activity-day-count{color:var(--muted);margin-left:auto;font-weight:650}.activity-section-foot{justify-content:center;display:flex}@media (hover:none){.activity-undo{opacity:1;visibility:visible}}.refresh-button.spinning{color:var(--blue);opacity:1}.refresh-button.spinning .refresh-glyph{animation:.9s linear infinite refresh-spin}@keyframes refresh-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.refresh-button.spinning .refresh-glyph{animation-duration:3.6s}}.workspace-message{border-radius:10px;align-items:center;gap:12px;margin:18px clamp(18px,3vw,42px) 0;padding:11px 14px;font-size:13px;display:flex}.workspace-message .notice-text{flex:auto;min-width:0}.workspace-message .notice-actions{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.workspace-message.status{border:1px solid var(--green-line);color:var(--green-ink);background:var(--green-soft)}.workspace-message.info{border:1px solid var(--blue-line);color:var(--blue-ink);background:var(--blue-soft)}.workspace-message.error{border:1px solid var(--red-line);color:var(--red-ink);background:var(--red-soft)}.workspace-message button{min-height:30px;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:7px;padding:0 10px;font-weight:700}.workspace-message .undo-notice{border-radius:50%;flex:none;place-items:center;width:30px;min-height:30px;padding:0;font-size:18px;line-height:1;display:grid}:is(.workspace-message .undo-notice:hover,.workspace-message .undo-notice:focus-visible){color:var(--on-accent);background:currentColor}.workspace-message .undo-notice:focus-visible{outline-offset:2px;outline:2px solid}.workspace-message .dismiss-notice{opacity:.65;border-color:#0000;flex:none;min-width:30px;padding:0;font-size:17px;line-height:1}.workspace-message .dismiss-notice:hover{opacity:1;border-color:currentColor}.notice-slot{margin:18px clamp(18px,3vw,42px) 0}.notice-slot .workspace-message{margin:0}.notice-slot.overlay{z-index:35;top:calc(var(--topbar-height,79px) + 12px);width:min(420px,100vw - 32px);margin:0;padding:0;animation:.38s cubic-bezier(.22,1,.36,1) notice-slide-in;position:fixed;left:auto;right:16px}.notice-slot.overlay .workspace-message{box-shadow:0 12px 30px #1f284138}.notice-slot.overlay.leaving{animation:.26s ease-in forwards notice-slide-out}@keyframes notice-slide-in{0%{opacity:0;transform:translate(calc(100% + 24px))}}@keyframes notice-slide-out{to{opacity:0;transform:translate(calc(100% + 24px))}}.view-stack{gap:18px;width:100%;max-width:1460px;margin:0 auto;padding:28px clamp(18px,3vw,42px) 48px;display:grid}.panel,.metric-card{border:1px solid var(--line);background:var(--panel);min-width:0;box-shadow:var(--shadow);border-radius:14px}.welcome-row,.view-intro{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.welcome-row h2,.view-intro h2{font-size:clamp(22px,2.4vw,30px)}.welcome-row p:not(.eyebrow),.view-intro p:not(.eyebrow){max-width:680px;color:var(--muted);margin:7px 0 0;font-size:14px;line-height:1.5}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;display:grid}.metric-card{flex-direction:column;min-height:176px;padding:20px;display:flex;position:relative;overflow:hidden}.metric-card.hero-metric{color:#fff;background:linear-gradient(145deg,#5268d9,#4054bc);border-color:#0000}.metric-card.attention-card{border-color:var(--amber-line);background:var(--attention-fill)}.metric-card p{color:var(--muted);margin:0 0 12px;font-size:12px;font-weight:680}.metric-card.hero-metric p,.metric-card.hero-metric small,.metric-card.hero-metric .metric-foot span{color:#dce1ff}.metric-card h3{letter-spacing:-.05em;font-variant-numeric:tabular-nums;margin:0 0 8px;font-size:clamp(25px,3vw,34px)}.metric-card>small{color:var(--muted);font-size:11px;line-height:1.45;display:block}.metric-card .text-button{align-self:flex-start;margin-top:auto}.metric-foot{color:var(--muted);border-top:1px solid #8089a02e;justify-content:space-between;gap:8px;margin-top:auto;padding-top:12px;font-size:10px;display:flex}.metric-foot strong{color:inherit}.pace-card h3 .pace-unit{letter-spacing:0;color:#dce1ff;margin-left:2px;font-size:.45em;font-weight:600}.pace-compare{color:#dce1ff;border-top:1px solid #ffffff38;gap:5px;margin:auto 0 0;padding:12px 0 0;font-size:11px;list-style:none;display:grid}.pace-compare li{justify-content:space-between;gap:8px;display:flex}.pace-compare strong{color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}.pace-compare .pace-up{color:#ffd6a5}.pace-compare .pace-down{color:#b9f5dc}.pace-compare .pace-empty{color:#c7cdf5}.progress{background:var(--surface-sunken);border-radius:6px;height:7px;overflow:hidden}.metric-card .progress{flex:none;margin-top:auto}.progress>span,.progress>i{border-radius:inherit;background:var(--blue);height:100%;display:block}.panel-header{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;padding:19px 21px 14px;display:flex}.panel-header h2,.panel-header h3{letter-spacing:-.025em;margin:4px 0 0;font-size:17px}.panel-header>button{color:var(--blue);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:740}.section-total{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:15px}.section-total.positive{color:var(--green)}.section-total.negative{color:var(--red)}.income{color:var(--green)!important}.empty-state{color:var(--muted);text-align:center;margin:0;padding:20px;font-size:13px}.bucket-board{--board-radius:14px;gap:14px;min-width:0;display:grid}.bucket-group,.bucket-board>.bucket-total{border:1px solid var(--line);border-radius:var(--board-radius);background:var(--panel);box-shadow:var(--shadow)}.bucket-group>.bucket-group-row{border-radius:calc(var(--board-radius) - 1px) calc(var(--board-radius) - 1px) 0 0}.bucket-group>:last-child{border-radius:0 0 calc(var(--board-radius) - 1px) calc(var(--board-radius) - 1px);border-bottom:0}.bucket-group-row{border-bottom:1px solid var(--line-soft);background:var(--surface-soft);min-height:48px;padding:7px 18px;font-size:13.5px;font-weight:760}.add-bucket-button{width:100%;min-height:44px;color:var(--blue);cursor:pointer;text-align:left;background:0 0;border:0;padding:11px 18px;font-size:12px;font-weight:740}.add-bucket-button:hover{color:var(--blue-dark);background:var(--surface-hover)}.add-bucket-button:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.bucket-group-title{align-items:center;gap:8px;min-width:0;display:flex}.bucket-group-icon{flex:none;font-size:16px;line-height:1}.bucket-group-title strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.group-swatch{border:1px solid var(--line);background:var(--group-color);border-radius:50%;flex:none;width:24px;height:24px;padding:0}button.group-swatch{cursor:pointer}:is(button.group-swatch:hover,button.group-swatch:focus-visible){box-shadow:0 0 0 2px var(--panel-raised), 0 0 0 4px var(--blue);outline:none}.color-well-note{color:var(--ink-soft);margin-top:4px;font-size:11px;font-weight:700;display:block}.bucket-group-name{min-width:0;color:inherit;cursor:pointer;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-radius:6px;flex:1;padding:0;overflow:hidden}button.bucket-group-name:hover{box-shadow:inset 0 -1px 0 var(--line)}.bucket-line{border-bottom:1px solid var(--line-soft);position:relative}.bucket-line-button{cursor:pointer;text-align:left;background:0 0;border:0;gap:7px;width:100%;padding:10px 18px 12px;display:grid}.bucket-line-label{align-items:center;gap:10px;min-width:0;display:flex}.bucket-line-mark{border-radius:4px;flex:none;width:8px;height:20px}.bucket-line-name,.companion-only-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.bucket-line-progress{height:4px}.bucket-line-progress>i{transition:width .4s}.bucket-line.editable,.bucket-line.companion-only{gap:7px;padding:10px 18px 12px;transition:padding-left .16s,background-color .16s,box-shadow .16s;display:grid}.bucket-open{z-index:0;cursor:pointer;background:0 0;border:0;position:absolute;inset:0}.bucket-open:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}button.bucket-name-button{z-index:1;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;margin:0;padding:0;font-weight:400;position:relative}.name-editing{z-index:1;border:1px solid var(--blue);background:var(--field);border-radius:7px;align-items:center;height:24px;padding:0 6px;display:flex;position:relative;box-shadow:0 0 0 3px #5268d91f}.name-editing.invalid{border-color:var(--red);box-shadow:0 0 0 3px #c83c4624}.name-editing input{width:100%;min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;font-weight:400}.name-editing input:disabled{color:var(--muted)}.name-error{z-index:3;width:max-content;max-width:220px;color:var(--on-accent);background:var(--red);white-space:normal;border-radius:7px;padding:5px 8px;font-size:10.5px;font-weight:640;line-height:1.35;position:absolute;top:calc(100% + 4px);left:0}.bucket-handle{z-index:1;width:18px;height:30px;color:var(--faint);cursor:grab;opacity:0;touch-action:none;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid;position:absolute;top:50%;left:3px;transform:translateY(-50%)}.bucket-handle:focus-visible{opacity:1}.bucket-handle:hover{color:var(--ink);background:var(--surface-sunken)}.bucket-handle:focus-visible{outline:2px solid var(--blue)}.bucket-trash{z-index:1;width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid;position:absolute;top:50%;left:8px;transform:translateY(-50%)}:is(.bucket-trash:hover,.bucket-trash:focus-visible){color:var(--red);background:var(--red-soft)}.bucket-trash.armed,.bucket-trash.armed:hover{color:var(--on-accent);background:var(--red)}.bucket-trash.armed:focus-visible{color:var(--on-accent);background:var(--red)}@media (hover:hover){.bucket-line-button:hover,.bucket-line.editable:hover{background:var(--surface-hover)}.bucket-line:hover .bucket-handle{opacity:1}.bucket-line.over.editable:hover{background:var(--red-soft-strong)}}.bucket-line.editable.selected{z-index:2;background:var(--panel-raised);border-bottom-color:#0000;border-radius:12px;padding-left:44px;box-shadow:0 10px 26px #1f284129}.bucket-line.reordering{z-index:2;background:var(--panel-raised);pointer-events:none;border-radius:12px;box-shadow:0 12px 28px #1f28412e}.bucket-line.insert-before{box-shadow:inset 0 3px 0 var(--blue)}.bucket-line.insert-after{box-shadow:inset 0 -3px 0 var(--blue)}.bucket-line.over{background:var(--red-soft);box-shadow:inset 3px 0 0 var(--red)}.bucket-line.drag-target{background:var(--blue-soft);box-shadow:inset 0 0 0 2px var(--blue)}@media (hover:none){.bucket-handle{opacity:.45}}@media (prefers-reduced-motion:reduce){.bucket-line-progress>i{transition:none}}@property --row-shift{syntax:"<length>";inherits:false;initial-value:0}.reorder-mode .bucket-line{touch-action:none;-webkit-user-select:none;user-select:none;transform:translateY(var(--row-shift,0px));border-bottom-color:#0000;transition:transform .18s,--row-shift .18s}.reorder-mode .bucket-line button,.reorder-mode .bucket-line input{pointer-events:none}.reorder-mode .bucket-line .bucket-line-main{animation:.32s ease-in-out infinite row-wiggle}.reorder-mode .bucket-line:nth-child(2n) .bucket-line-main{animation-delay:-.16s}.reorder-mode .bucket-line.reordering{z-index:3;transform:translateY(var(--drag-y,0px)) scale(1.02);transition:none}.reorder-mode .bucket-line.reordering .bucket-line-main{animation:none}.reorder-mode .bucket-line.insert-before,.reorder-mode .bucket-line.insert-after{box-shadow:none}@keyframes row-wiggle{0%,to{transform:rotate(-.35deg)}50%{transform:rotate(.35deg)}}.reorder-exit{bottom:calc(86px + env(safe-area-inset-bottom,0px));z-index:60;width:46px;height:46px;color:var(--ink);background:var(--panel-raised);cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 10px 28px #00000047}.reorder-exit:focus-visible{outline:2px solid var(--blue);outline-offset:2px}@media (prefers-reduced-motion:reduce){.reorder-mode .bucket-line{transition:none}.reorder-mode .bucket-line .bucket-line-main{animation:none}}.money-edit{border:1px solid var(--line);background:var(--field);width:118px;height:38px;color:var(--muted);border-radius:8px;align-items:center;gap:4px;padding:0 8px;display:flex}.money-edit:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #5268d91f}.money-edit input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0}.negative{color:var(--red);font-weight:700}.positive{color:var(--green);font-weight:700}.bucket-total{background:var(--surface-soft);min-height:50px;padding:0 18px;font-size:13.5px;font-weight:760}.bucket-total .planned-cell,.bucket-total .metric-cell{font-size:15.5px;font-weight:780}.bucket-total .metric-cell{color:var(--ink)}.mobile-budget-metric{display:none}.board-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.add-group-button{align-items:center;gap:6px;display:inline-flex}.add-group-button>span{font-size:15px;line-height:1}.reset-month-button{flex:none;place-items:center;width:38px;height:38px;margin-left:auto;padding:0;font-size:17px;line-height:1;display:grid}.board-actions .undo-import-confirm{flex-wrap:wrap;flex:100%;justify-content:flex-end;align-items:center;gap:10px;display:flex}.board-actions .undo-import-confirm p{color:var(--muted);text-align:right;flex:260px;margin:0;font-size:11.5px;line-height:1.45}.income-board .bucket-total{border-bottom:1px solid var(--line-soft);background:var(--income-wash)}.funds-board .bucket-total{border-bottom:1px solid var(--line-soft);background:var(--fund-wash)}.budget-cols{grid-template-columns:minmax(0,1fr) 96px 104px;align-items:center;gap:12px;display:grid}.col-head{color:var(--muted);letter-spacing:.07em;text-align:right;text-transform:uppercase;justify-self:end;font-size:11px;font-weight:780}button.col-toggle{cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;margin:-6px -4px;padding:6px 4px;display:inline-flex}button.col-toggle:hover{color:var(--blue-dark);background:#5268d914}.bucket-cell{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;justify-self:end;overflow:hidden}.planned-cell{color:var(--blue-dark);font-size:14.5px;font-weight:620}button.planned-edit{z-index:1;min-height:28px;color:var(--blue-dark);cursor:text;font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:flex-end;align-items:center;margin:-5px -6px;padding:0 6px;font-family:inherit;display:inline-flex;position:relative}button.planned-edit:hover{border-color:var(--line);background:var(--panel-raised)}button.planned-edit:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.planned-editing{z-index:1;border:1px solid var(--blue);background:var(--field);border-radius:7px;align-items:center;gap:3px;width:100%;height:30px;margin-block:-3px;padding:0 6px;display:flex;position:relative;box-shadow:0 0 0 3px #5268d91f}.planned-editing.invalid{border-color:var(--red);box-shadow:0 0 0 3px #c83c4624}.planned-editing input{width:100%;min-width:0;color:var(--ink);font:inherit;text-align:right;font-variant-numeric:tabular-nums;background:0 0;border:0;outline:0;font-weight:620}.planned-editing input:disabled{color:var(--muted)}.planned-error{z-index:3;width:max-content;max-width:220px;color:var(--on-accent);background:var(--red);text-align:left;white-space:normal;border-radius:7px;padding:5px 8px;font-size:10.5px;font-weight:640;line-height:1.35;position:absolute;top:calc(100% + 4px);right:0}.metric-cell{font-size:14.5px;font-weight:740}button.metric-toggle{z-index:1;min-height:28px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:flex-end;align-items:center;margin:-5px -6px;padding:0 6px;font-family:inherit;display:inline-flex;position:relative}button.metric-toggle:hover{background:#5268d914}button.metric-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:1px}button.metric-toggle.negative{color:var(--red)}.budget-view[data-months="2"]{--duo-air:28px}.budget-view[data-months="2"] .budget-cols{grid-template-columns:minmax(0, 1fr) calc(224px + var(--duo-air)) 96px 104px}.companion-cells{z-index:1;margin-right:var(--duo-air,0px);border-left:1px solid var(--line);background:#94a3c712;border-radius:8px;grid-template-columns:96px 104px;align-items:center;gap:12px;padding-left:11px;display:grid;position:relative}.companion-cells.head,.companion-cells.total{border-left-color:#0000}.companion-cells .planned-cell,.companion-cells .metric-cell{justify-self:end}.companion-empty{color:var(--muted)}.primary-cells{z-index:1;grid-column:3/-1;grid-template-columns:96px 104px;align-items:center;gap:12px;display:grid;position:relative}.primary-cells .planned-cell,.primary-cells .metric-cell{justify-self:end}.companion-cells.over:after,.primary-cells.over:after{content:"";z-index:-1;background:var(--red-soft);box-shadow:inset 0 0 0 1px var(--red);border-radius:10px;position:absolute;inset:-5px -7px -26px}body.transaction-drag .companion-cells:after,body.transaction-drag .primary-cells:after{content:"";z-index:-1;border-radius:10px;position:absolute;inset:-5px -7px -26px}body.transaction-drag .companion-cells.head:after,body.transaction-drag .companion-cells.total:after{content:none}.companion-cells.drag-target:after,.primary-cells.drag-target:after{box-shadow:inset 0 0 0 2px var(--blue-dark);background:#5268d91f}.progress-pair{margin-top:2px}.progress-pair .progress{z-index:1;position:relative}.progress-pair .companion-progress{margin-right:var(--duo-air,0px);grid-column:2;margin-left:12px}.progress-pair .primary-progress{grid-column:3/-1}@keyframes two-up-drift-in{0%{opacity:0;transform:translateX(var(--drift-from,40px))}}.companion-cells,.companion-progress,.ltb-slot.companion{animation:.4s ease-out two-up-drift-in}.ltb-slot.primary{--drift-from:-40px;animation:.4s ease-out two-up-drift-in}.month-title-duo{flex:0 auto;align-items:center;min-width:0;animation:.3s fade-in;display:inline-flex}.month-title-panel{white-space:nowrap;min-width:0;display:inline-flex}.month-title-duo .month-picker-trigger{white-space:nowrap}.month-title-duo.exiting{pointer-events:none;animation:.4s forwards fade-out}.month-link-button{border:1px solid var(--line);width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;place-items:center;padding:0;animation:.3s fade-in;display:inline-grid}.month-link-button:hover{color:var(--blue-dark);border-color:var(--blue-dark)}.month-link-button.linked{color:var(--joo-green);border-color:var(--joo-green);background:var(--joo-green)}@supports (color:color-mix(in lab, red, red)){.month-link-button.linked{background:color-mix(in srgb, var(--joo-green) 12%, transparent)}}.month-link-button.linked:hover{color:var(--joo-green)}.month-link-button.exiting{pointer-events:none;animation:.4s forwards fade-out}.ltb-bar.two-up{grid-template-columns:minmax(0, 1fr) calc(224px + var(--duo-air,0px)) 212px;place-items:center stretch;gap:12px;padding:8px 18px}.ltb-slot{justify-content:center;align-items:center;min-width:0;display:flex}.ltb-slot.companion{margin-right:var(--duo-air,0px);grid-column:2}.ltb-slot.primary{grid-column:3}.ltb-bar.two-up .panel-ltb{font-size:13px}.ltb-bar.two-up .panel-ltb strong{letter-spacing:-.03em;font-size:22px;font-weight:800}.panel-ltb{color:var(--muted);white-space:nowrap;align-items:baseline;gap:5px;margin:0;font-size:12.5px;display:inline-flex}.panel-ltb strong{color:var(--joo-green);font-variant-numeric:tabular-nums}.panel-ltb.over strong{color:var(--red)}.panel-head-error,.panel-head-unplanned{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:inline-flex}.months-toggle{border:1px solid var(--line);min-width:34px;min-height:34px;color:var(--muted);cursor:pointer;background:0 0;border-radius:9px;place-items:center;margin-right:4px;display:inline-grid}.months-toggle:hover{color:var(--blue-dark);border-color:var(--blue-dark)}.budget-columns{gap:16px;min-width:0;display:grid}.budget-main{align-content:start;gap:16px;min-width:0;display:grid}.budget-view.tray-open:not(.detail-open){padding-bottom:220px}.month-start{text-align:center;justify-items:center;gap:14px;max-width:560px;margin:clamp(24px,7vh,72px) auto 0;padding:0 18px;display:grid}.month-start-art{width:min(240px,62vw);height:auto;color:var(--faint)}.month-start h2{letter-spacing:-.03em;margin:0;font-size:clamp(20px,3.4vw,27px);line-height:1.25}.month-start p{max-width:44ch;color:var(--muted);margin:0;font-size:15px;line-height:1.55}.month-start-button{min-height:48px;padding:0 26px;font-size:14px}.start-month-options{gap:10px;display:grid}.start-month-option{border:1px solid var(--line);background:var(--panel-raised);cursor:pointer;text-align:left;border-radius:12px;gap:3px;padding:14px 16px;display:grid}.start-month-option:hover:not(:disabled){border-color:var(--blue);background:var(--surface-hover)}.start-month-option:disabled{opacity:.6;cursor:default}.start-month-option strong{font-size:14px}.start-month-option small{color:var(--muted);font-size:12px;line-height:1.45}.tray-toggle{z-index:60;min-height:48px;color:var(--on-accent);background:var(--blue);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:8px;padding:0 18px;font-size:13px;font-weight:740;display:flex;position:fixed;bottom:22px;left:calc(50% + 124px);transform:translate(-50%);box-shadow:0 12px 30px #1f284152}.tray-toggle:hover{background:var(--blue-dark)}.tray-toggle>strong{background:var(--on-accent-veil);border-radius:12px;place-items:center;min-width:24px;height:24px;font-size:12px;display:grid}.transaction-tray{z-index:60;inset:auto 0 0 var(--sidebar-width);pointer-events:none;background:0 0;flex-direction:column;align-items:center;transition:transform .18s ease-out;display:flex;position:fixed}.tray-handle{width:100%;color:var(--muted);cursor:grab;touch-action:none;pointer-events:auto;background:0 0;border:0;justify-items:center;gap:4px;padding:4px 0 8px;display:grid}.tray-handle:active{cursor:grabbing}.tray-handle:focus-visible{outline:2px solid var(--blue);outline-offset:-3px;border-radius:8px}.tray-dismiss-icon{width:42px;height:42px;color:var(--on-accent);background:var(--blue);border:2px solid #0000;border-radius:50%;place-items:center;font-size:31px;font-weight:300;line-height:1;display:grid;box-shadow:0 8px 22px #1f284140}.tray-dismiss-copy{font-size:11px;font-weight:700}.tray-handle.tray-cancel-target .tray-dismiss-icon{border-color:var(--muted);width:58px;height:58px;color:var(--muted);background:var(--panel-raised);border-style:dashed}.tray-handle.tray-cancel-target.over .tray-dismiss-icon{border-style:solid;border-color:var(--muted);color:var(--panel-raised);background:var(--muted);transform:scale(1.12)}@media (prefers-reduced-motion:no-preference){.tray-dismiss-icon{transition:transform .12s ease-out,background .12s ease-out,color .12s ease-out,border-color .12s ease-out}}.tray-strip{overscroll-behavior-inline:contain;pointer-events:auto;scrollbar-color:var(--line-strong) transparent;order:-1;gap:10px;width:100%;padding:6px 0 4px;display:flex;overflow-x:auto}.tray-chip{border:2px solid var(--blue);width:96px;height:96px;color:var(--ink);background:var(--panel-raised);cursor:grab;touch-action:none;border-radius:50%;flex:none;align-content:center;place-items:center;gap:2px;padding:8px;display:grid;position:relative}.tray-chip:active{cursor:grabbing}.tray-chip small{max-width:84px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.tray-chip strong{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:14px}.tray-chip strong.income,.tray-drag-ghost strong.income{color:var(--green)}.tray-chip-bolt{font-size:14px;position:absolute;top:-7px;left:50%;transform:translate(-50%)}.tray-drag-ghost{z-index:120;border:2px solid var(--blue);background:var(--panel-raised);width:94px;height:94px;transform:translate3d(var(--drag-x,-200px), var(--drag-y,-200px), 0) translate(-50%, -110%);will-change:transform;pointer-events:none;border-radius:50%;align-content:center;place-items:center;gap:2px;padding:8px;display:grid;position:fixed;top:0;left:0;box-shadow:0 18px 40px #1f28414d}.fast-track-suggestion{z-index:119;border:2px dashed var(--blue);min-width:168px;max-width:min(220px,100vw - 24px);color:var(--ink);background:var(--panel-veil-strong);pointer-events:none;border-radius:16px;gap:4px;padding:13px 16px;display:grid;position:fixed;top:50%;right:12px;transform:translateY(-50%);box-shadow:0 12px 30px #1f28412e}.fast-track-suggestion span{font-size:13px;font-weight:700}.fast-track-suggestion strong{color:var(--blue);text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.fast-track-suggestion.fast-track-armed{border-style:solid;border-color:var(--blue);color:var(--on-accent);background:var(--blue);scale:1.06}.fast-track-suggestion.fast-track-armed strong{color:var(--on-accent)}@media (prefers-reduced-motion:no-preference){.fast-track-suggestion{transition:scale .12s ease-out,background .12s ease-out,color .12s ease-out,border-color .12s ease-out}}.drag-trash{z-index:110;top:calc(12px + env(safe-area-inset-top));border:2px dashed var(--red-line);width:60px;height:60px;color:var(--red);background:var(--red-soft);border-radius:50%;place-items:center;display:grid;position:fixed;right:12px;box-shadow:0 10px 26px #1f284138}.drag-trash.over{border-style:solid;border-color:var(--red);color:var(--on-accent);background:var(--red);transform:scale(1.12)}@media (prefers-reduced-motion:no-preference){.drag-trash{transition:transform .12s ease-out,background .12s ease-out,color .12s ease-out}}.tray-drag-ghost strong{font-size:13px}.tray-drag-ghost small{max-width:76px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.transactions-panel{overflow:hidden}.ledger-add-fab{width:52px;height:52px;color:var(--on-accent);background:var(--blue);cursor:pointer;border:0;border-radius:50%;place-items:center;display:none;box-shadow:0 12px 30px #1f284152}.ledger-add-fab:hover{background:var(--blue-dark)}.ledger-add-fab:focus-visible{outline:2px solid var(--blue-dark);outline-offset:2px}@media (prefers-reduced-motion:no-preference){.ledger-add-fab{transition:transform .12s ease-out,background .12s ease-out}.ledger-add-fab:hover{transform:scale(1.06)}}.panel-mode-tabs{background:var(--surface-sunken);border-radius:12px;gap:4px;margin:12px 14px 0;padding:4px;display:flex}.panel-mode-tabs button{min-height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:7px;font-size:14px;font-weight:740;display:inline-flex}.panel-mode-tabs button[aria-pressed=true]{color:var(--ink);background:var(--panel-raised);box-shadow:0 4px 12px #1f28411f}.mode-tab-badge{min-width:21px;height:21px;color:var(--on-accent);background:var(--blue);border-radius:11px;place-items:center;padding:0 5px;font-size:11px;display:grid}.ledger-head{gap:12px;padding:16px 14px 4px;display:grid}.ledger-count{font-weight:400}.intro-actions .ledger-add-button{display:none}.transactions-intro{align-items:center}.transactions-intro>div:first-child{flex:auto;min-width:0}.transactions-intro .intro-actions{flex-wrap:nowrap;flex:none;width:auto}.ledger-controls{flex-wrap:wrap;gap:8px;display:flex}.ledger-sort{flex:none;align-items:center;display:flex}.ledger-nav-card{border:1px solid var(--line);width:calc(100% - 28px);min-height:52px;color:var(--ink);background:var(--surface-soft);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:10px;margin:12px 14px 0;padding:0 14px;font-size:14px;font-weight:740;display:flex}:is(.ledger-nav-card:hover,.ledger-nav-card:focus-visible){border-color:var(--blue);color:var(--blue-dark)}.ledger-nav-card svg{color:var(--blue)}.ledger-nav-chevron{color:var(--muted);margin-left:auto;font-size:18px}.ledger-load-earlier{margin:8px auto 4px;display:block}.ledger-subtabs{border-bottom:1px solid var(--line);justify-content:center;margin-top:10px;padding:0 8px;display:flex}.ledger-subtabs .subtab{min-height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:9px 10px 11px;font-size:13.5px;font-weight:720;position:relative}.ledger-subtabs .subtab:hover{color:var(--ink)}.ledger-subtabs .subtab.active{color:var(--blue-dark)}.ledger-subtabs .subtab.active:after{content:"";background:var(--blue);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-1px;left:6px;right:6px}.ledger-search{background:var(--surface-soft);border-color:#0000;margin:12px 14px}.ledger-head .ledger-search{margin:0}.ledger-search:focus-within{border-color:var(--blue);background:var(--field)}.ledger-month-heading{align-items:center;gap:8px;padding:8px 16px 4px;display:flex}.ledger-month-head{margin:0;font-size:15px;font-weight:780}.ledger-row.removed{opacity:.55}.summary-panel{gap:10px;padding:14px 14px 16px;display:grid}.summary-ring{justify-items:center;margin:0;display:grid}.summary-ring svg{width:min(220px,72%);height:auto;overflow:visible}.summary-track{fill:none;stroke:var(--line)}.summary-arc{fill:none;cursor:pointer;transform-box:view-box;transform-origin:50%}.summary-ring[data-has-active=true] .summary-arc:not([data-active=true]){opacity:.38}.summary-arc[data-active=true]{transform:scale(1.05)}.summary-centre-caption{fill:var(--muted);letter-spacing:.1em;font-size:12px;font-weight:760}.summary-centre-value{fill:var(--ink);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:27px;font-weight:800}.summary-centre-value.negative{fill:var(--red)}.summary-centre-subline{fill:var(--muted);font-size:11.5px;font-weight:600}.summary-metric-tabs{border-bottom:1px solid var(--line);display:flex}.summary-metric-tabs button{min-height:38px;color:var(--muted);letter-spacing:.07em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;flex:1;font-size:12.5px;font-weight:760;position:relative}.summary-metric-tabs button:hover,.summary-metric-tabs button[aria-pressed=true]{color:var(--ink)}.summary-metric-tabs button[aria-pressed=true]:after{content:"";background:var(--joo-green);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-1px;left:8px;right:8px}.summary-metric-tabs button:focus-visible{outline:2px solid var(--joo-green);outline-offset:-2px}.summary-groups,.summary-buckets{margin:0;padding:0;list-style:none}.summary-group-row{border:0;border-bottom:1px solid var(--line-soft);width:100%;min-height:46px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:0;align-items:center;gap:8px;padding:8px 6px;display:flex}.summary-group-row[data-active=true]{background:var(--surface-soft)}.summary-group-row:focus-visible{outline:2px solid var(--joo-green);outline-offset:-2px}.summary-group-dot{background:var(--group-color);opacity:0;border-radius:50%;flex:none;width:8px;height:8px}.summary-group-row[data-active=true] .summary-group-dot{opacity:1}.summary-group-name{min-width:0;color:var(--group-color);flex:auto;font-size:14px;font-weight:760}.summary-group-value{font-variant-numeric:tabular-nums;font-size:13.5px;font-weight:740}.summary-group-value.negative,.summary-bucket-value.negative{color:var(--red)}.summary-group-share{min-width:44px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;font-size:12.5px}.summary-buckets{border-bottom:1px solid var(--line-soft);padding:2px 0 8px 22px}.summary-bucket-row{width:100%;min-height:36px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:4px 6px;font-size:13px;display:flex}.summary-bucket-row:hover{background:var(--surface-soft)}.summary-bucket-row:focus-visible{outline:2px solid var(--joo-green);outline-offset:-2px}.summary-bucket-dot{border-radius:50%;flex:none;width:8px;height:8px}.summary-bucket-name{flex:auto;min-width:0}.summary-bucket-value{font-variant-numeric:tabular-nums;font-weight:700}@media (prefers-reduced-motion:no-preference){.summary-arc{transition:transform .15s,opacity .15s}.summary-group-row{transition:background-color .12s}}.income-board .bucket-group-row{background:var(--income-wash);border-bottom-color:var(--income-line)}.income-board .empty-state{padding:16px 18px}.funds-board .bucket-group-row{background:var(--fund-wash);border-bottom-color:var(--fund-line)}.funds-board .empty-state{padding:16px 18px}.bucket-line-badge{flex:none;margin-inline-end:-6px;font-size:13px;line-height:1}.bucket-line.paid-off button.bucket-name-button{color:var(--muted);text-decoration:line-through}.bucket-line.paid-off .bucket-line-mark{opacity:.45}.paid-off-toggle{border:0;border-top:1px solid var(--line-soft);width:100%;color:var(--muted);font:inherit;text-align:left;cursor:pointer;background:0 0;margin:0;padding:9px 18px;font-size:12px;display:block}:is(.paid-off-toggle:hover,.paid-off-toggle:focus-visible){color:var(--ink)}.paid-off-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.view-intro.accounts-intro h2,.view-intro.settings-intro h2,.view-intro.insights-intro h2,.view-intro.transactions-intro h2{letter-spacing:-.045em;font-size:clamp(28px,3vw,36px);font-weight:800}.insight-tool-switch{scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.insight-tool-switch::-webkit-scrollbar{display:none}.insight-tool-switch button{border:1px solid var(--line);color:var(--muted);background:var(--panel);cursor:pointer;white-space:nowrap;border-radius:999px;padding:9px 16px;font-size:14px;font-weight:600}.insight-tool-switch button.active{border-color:var(--joo-green);color:var(--on-joo-green);background:var(--joo-green)}.insight-tool-switch button:focus-visible{outline:2px solid var(--joo-green);outline-offset:2px}.insight-tool-panel{gap:16px;padding:18px 20px 20px;display:grid}.insight-footnote{color:var(--muted);margin:0;font-size:11.5px;line-height:1.45}.insight-filters{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.insight-scope-filters{flex-wrap:wrap;gap:12px;display:flex}.insight-filters select,.ledger-sort select{-webkit-appearance:none;appearance:none;border:1px solid var(--line);min-height:40px;color:var(--ink);background-color:var(--panel-raised);cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1l5 5 5-5' fill='none' stroke='%238a93a6' stroke-width='2' stroke-linecap='round'/></svg>");background-position:right 13px center;background-repeat:no-repeat;border-radius:999px;padding:0 32px 0 14px;font-size:14px;font-weight:700}.insight-filters select:hover,.ledger-sort select:hover{border-color:var(--line-strong,var(--line))}.insight-filters select:focus-visible{outline:2px solid var(--joo-green);outline-offset:2px}.insight-donut{justify-items:center;gap:18px;margin:0;display:grid}.insight-donut svg{width:min(320px,78vw);height:auto}.donut-caption{fill:var(--muted);font-size:15px}.donut-total{fill:var(--ink);font-size:24px;font-weight:800}.insight-bars,.insight-compare{gap:14px;margin:0;display:grid}.insight-bars svg,.insight-compare svg{width:100%;height:auto}.gridline{stroke:var(--line);stroke-width:1px}.axis-label{fill:var(--muted);font-size:20px}.average-line{stroke-width:2px}.average-text{font-size:18px;font-weight:700}.insight-average.avg-income .average-line{stroke:var(--joo-green)}.insight-average.avg-income .average-pill{fill:var(--joo-green)}.insight-average.avg-income .average-text{fill:var(--on-joo-green)}.insight-average.avg-spent .average-line{stroke:#3b82d0}.insight-average.avg-spent .average-pill{fill:#3b82d0}.insight-average.avg-spent .average-text{fill:var(--on-insight-blue)}.compare-line{stroke-width:2.5px}.income-line{stroke:var(--joo-green)}.spent-line{stroke:#3b82d0}.income-dot{fill:var(--joo-green)}.spent-dot{fill:#3b82d0}.compare-totals{justify-content:space-between;gap:18px;display:flex}.compare-totals strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(22px,2.4vw,30px);font-weight:800;display:block}.compare-totals span{color:var(--muted);font-size:14px}.insight-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.insight-legend li{align-items:center;gap:8px;display:flex}.legend-dot{border-radius:50%;flex:none;width:10px;height:10px}.insight-dash-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.insight-dash-card{border:1px solid var(--line);border-radius:14px;align-content:start;gap:14px;padding:18px;display:grid}.insight-dash-card h3{text-align:center;letter-spacing:-.02em;margin:0;font-size:18px;font-weight:800}.insight-dash-card .insight-donut svg{width:min(260px,70vw)}@media (max-width:1100px){.insight-dash-grid{grid-template-columns:minmax(0,1fr)}}.insight-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.insight-toolbar-controls{flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto;display:flex}.insight-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.insight-dash-card h3{text-align:left}.insight-card-filters{justify-content:flex-end}.range-toggle{border:1px solid var(--line);background:var(--panel-raised);border-radius:999px;gap:4px;padding:3px;display:flex}.range-toggle button{min-height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:700}.range-toggle button[aria-pressed=true]{color:var(--on-joo-green);background:var(--joo-green)}.range-toggle button:focus-visible{outline:2px solid var(--joo-green);outline-offset:2px}.home-toggle{border:1px solid var(--line);background:var(--panel);width:34px;height:34px;color:var(--muted);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.home-toggle[aria-pressed=true]{border-color:var(--joo-green);background:var(--joo-green);color:var(--on-joo-green)}.home-toggle:focus-visible{outline:2px solid var(--joo-green);outline-offset:2px}.growth-chart{outline:none;gap:14px;margin:0;display:grid;position:relative}.growth-chart:focus-visible{box-shadow:0 0 0 2px var(--joo-green);border-radius:12px}.growth-chart[data-stale=true]{opacity:.55;transition:opacity .15s}.growth-chart svg{touch-action:pan-y;width:100%;height:auto}.growth-headline{gap:2px;display:grid}.growth-caption{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:13px;font-weight:600}.growth-value{letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin:0;font-size:clamp(26px,3vw,36px);font-weight:800}.growth-change{font-variant-numeric:tabular-nums;margin:0;font-size:14px;font-weight:700}.growth-change.positive{color:var(--green)}.growth-change.negative{color:var(--red-ink)}.growth-change small{color:var(--muted);margin-left:6px;font-weight:500}.growth-line{fill:none;stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round;transition:opacity .15s}.growth-area{pointer-events:none}.zero-line{stroke:var(--line-strong,var(--line));stroke-width:1.5px}.growth-cursor{stroke:var(--ink);stroke-width:1px;stroke-dasharray:4 4;opacity:.6;pointer-events:none}.growth-dot{stroke:var(--panel);stroke-width:2px;pointer-events:none}.growth-hit{fill:#0000;cursor:crosshair}svg[data-focus] .growth-line:not([data-focused=true]){opacity:.25}.growth-plot{justify-self:center;width:100%;max-width:1200px;position:relative}.growth-axis{color:var(--muted);font-variant-numeric:tabular-nums;pointer-events:none;font-size:12px;position:absolute;inset:0}.growth-axis span{white-space:nowrap;position:absolute}.growth-axis-y span{text-align:right;width:7.78%;left:0;transform:translateY(-50%)}.growth-axis-x span{top:89%;transform:translate(-50%)}.growth-axis-x span[data-anchor=start]{transform:translate(0)}.growth-axis-x span[data-anchor=end]{transform:translate(-100%)}.growth-tooltip{text-align:left;gap:4px;display:grid;transform:translate(-50%)}.growth-tooltip[data-anchor=start]{transform:translate(12px)}.growth-tooltip[data-anchor=end]{transform:translate(calc(-100% - 12px))}.growth-tooltip .growth-tooltip-row{align-items:center;gap:8px;display:flex}.growth-tooltip .growth-tooltip-row span:last-child{font-variant-numeric:tabular-nums;margin-left:auto}.growth-tooltip .growth-tooltip-name{align-items:center;gap:6px;display:flex}.growth-legend-actions{gap:8px;display:flex}.growth-legend-actions button{border:1px solid var(--line);min-height:30px;color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:650}.growth-legend-actions button:hover:not(:disabled){color:var(--ink);background:var(--surface-hover-strong)}.growth-legend-actions button:disabled{opacity:.45;cursor:default}.growth-legend-actions button:focus-visible{outline:2px solid var(--joo-green);outline-offset:2px}.growth-legend{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.growth-legend .legend-divider{background:var(--line);flex:0 0 100%;height:1px;margin:3px 0}.growth-legend button{border:1px solid var(--line);background:var(--panel);min-height:36px;color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:600;display:flex}.growth-legend button.is-hidden{opacity:.45;text-decoration:line-through}.growth-legend button:focus-visible{outline:2px solid var(--joo-green);outline-offset:2px}.growth-legend .legend-value.positive{color:var(--green)}.growth-legend .legend-value.negative{color:var(--red-ink)}.growth-excluded{justify-self:start;position:relative}.growth-excluded-note{text-align:left;text-underline-offset:3px;cursor:help;background:0 0;border:0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.growth-excluded-note:focus-visible{outline:2px solid var(--joo-green);outline-offset:3px;border-radius:4px}.growth-excluded-tip{z-index:6;width:max-content;max-width:min(360px,80vw);color:var(--panel);background:var(--ink);border-radius:9px;gap:6px;margin:0;padding:10px 12px;font-size:12px;line-height:1.45;list-style:none;display:grid;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 10px 26px #0f142440}.insight-report{gap:18px;display:grid}.report-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.report-stat{border:1px solid var(--line);text-align:center;border-radius:11px;padding:14px 12px}.report-stat strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(18px,2vw,24px);font-weight:800;display:block}.report-stat span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600}.report-stat.stat-income strong{color:var(--joo-green)}.report-stat.stat-negative strong{color:var(--red)}.cash-flow{gap:14px;margin:0;display:grid;overflow-x:auto}.cash-flow svg{width:100%;min-width:680px;height:auto}.flow-ribbon{opacity:.3}.flow-node-label{fill:var(--ink);font-size:15px;font-weight:700}.flow-node-value{fill:var(--muted);font-size:13px}.flow-node-label,.flow-node-value{pointer-events:none}.health-tab{gap:16px;display:grid}.health-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.health-actions button{border:1px solid var(--line);min-height:38px;color:var(--ink-soft);background:var(--panel-raised);cursor:pointer;border-radius:9px;padding:0 15px;font-size:12px;font-weight:740}.health-actions button:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-hover)}.health-actions .primary{border-color:var(--joo-green);color:var(--on-joo-green);background:var(--joo-green)}.health-reason,.health-schedule{color:var(--muted);font-size:13px}.health-gate{border:1px solid var(--amber-line);color:var(--amber);background:var(--amber-soft);border-radius:9px;margin:0;padding:11px 14px;font-size:12px;line-height:1.5}.health-empty{justify-items:start;gap:10px;padding:22px 20px;display:grid}.health-empty h3{margin:0;font-size:16px;font-weight:780}.health-empty p{max-width:62ch;color:var(--muted);margin:0;font-size:13px;line-height:1.55}.health-empty .primary{border:1px solid var(--joo-green);min-height:38px;color:var(--on-joo-green);background:var(--joo-green);cursor:pointer;border-radius:9px;padding:0 15px;font-size:12px;font-weight:740}.health-result{gap:16px;display:grid}.health-viewing{color:var(--muted);align-items:center;gap:10px;margin:0;font-size:12px;display:flex}.health-hero{grid-template-columns:140px 1fr;align-items:center;gap:20px;padding:20px;display:grid}.health-date{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:11px;font-weight:700}.health-summary{max-width:66ch;margin:0;font-size:15px;line-height:1.55}.health-ring{width:128px;height:128px;position:relative}.health-ring svg{width:128px;height:128px}.health-ring circle{fill:none}.health-ring-track{stroke:var(--line-soft);stroke-width:10px}.health-ring-arc{stroke:currentColor;stroke-width:10px;stroke-linecap:round;transform-origin:50%;transform:rotate(-90deg)}.health-ring-face{align-content:center;justify-items:center;gap:2px;display:grid;position:absolute;inset:0}.health-ring-face strong{letter-spacing:-.04em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:40px;font-weight:800}.health-ring-face span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11.5px;font-weight:720}.band-excellent{color:var(--health-excellent)}.band-good{color:var(--health-good)}.band-fair{color:var(--health-fair)}.band-weak{color:var(--health-weak)}.band-critical{color:var(--health-critical)}.health-categories{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.health-category{aspect-ratio:1;border:1px solid var(--line);background:var(--panel);cursor:pointer;text-align:center;border-top:4px solid;border-radius:14px;align-content:center;justify-items:center;gap:4px;padding:12px;transition:transform .15s,box-shadow .15s,border-color .15s;display:grid}:is(.health-category:hover,.health-category:focus-visible){border-color:currentColor;transform:translateY(-2px);box-shadow:0 10px 26px #0f142424}.health-category:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.health-category-name{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:700}.health-category-score{color:var(--ink);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:clamp(30px,4vw,44px);font-weight:800;line-height:1}.health-category-band{color:var(--ink);background:currentColor;border-radius:999px;padding:2px 9px}@supports (color:color-mix(in lab, red, red)){.health-category-band{background:color-mix(in srgb, currentColor 14%, transparent)}}.health-category-band{letter-spacing:0;font-size:13px;font-weight:740}@media (prefers-reduced-motion:reduce){.health-category{transition:none}:is(.health-category:hover,.health-category:focus-visible){transform:none}}.health-comparison{gap:12px;display:grid}.health-comparison h3{margin:0;font-size:14px;font-weight:760}.health-comparison ul{gap:14px;margin:0;padding:0;list-style:none;display:grid}.health-compare-head{align-items:baseline;gap:8px;display:flex}.health-compare-head span{font-size:13px;font-weight:700}.health-compare-head strong{font-variant-numeric:tabular-nums;font-size:13px}.health-compare-head small{color:var(--muted);font-size:11.5px}.health-compare-bars{gap:4px;margin:6px 0 4px;display:grid}.health-compare-bars span{border-radius:999px;min-width:2px;height:8px;display:block}.health-compare-bars .you{background:var(--joo-green)}.health-compare-bars .typical{background:var(--line-strong)}.health-compare-typical{color:var(--muted);font-size:11.5px}.health-suggestions{gap:12px;display:grid}.health-suggestions h3{margin:0;font-size:14px;font-weight:760}.health-suggestion{border:1px solid var(--line);border-left:4px solid var(--line-strong);background:var(--panel);border-radius:11px;gap:8px;padding:15px 16px;display:grid}.health-suggestion.priority-critical{border-left-color:var(--health-critical)}.health-suggestion.priority-important{border-left-color:var(--health-fair)}.health-suggestion.priority-nice{border-left-color:var(--line-strong)}.health-suggestion.status-dismissed{opacity:.6}.health-suggestion header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.health-suggestion h4{margin:0;font-size:14px;font-weight:760}.health-suggestion p{max-width:72ch;color:var(--ink-soft);margin:0;font-size:13px;line-height:1.55}.health-suggestion footer{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.health-suggestion footer button{border:1px solid var(--line);min-height:34px;color:var(--ink-soft);background:var(--panel-raised);cursor:pointer;border-radius:9px;padding:0 12px;font-size:12px;font-weight:720}.health-suggestion footer button.text-button{min-height:34px;color:var(--blue);background:0 0;border:0;padding:0}.health-area{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:720}.health-status-note{color:var(--muted);font-size:12px;font-weight:700}.pill.health-priority-critical{color:var(--red-ink);background:var(--red-soft)}.pill.health-priority-important{color:var(--amber);background:var(--amber-soft)}.pill.health-priority-nice{color:var(--muted);background:var(--surface-sunken)}.health-questions{gap:18px;display:grid}.health-questions-intro{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.health-question{border:0;gap:8px;margin:0;padding:0;display:grid}.health-question legend,.health-question>label{color:var(--ink-soft);padding:0;font-size:12px;font-weight:740}.health-question textarea{border:1px solid var(--line);width:100%;min-height:72px;color:var(--ink);background:var(--field);font:inherit;resize:vertical;border-radius:10px;padding:9px 11px;font-size:13px}.health-question textarea:focus-visible{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue)}.health-question-hint{color:var(--muted);font-size:11px}.health-chips{flex-wrap:wrap;gap:8px;display:flex}.health-chip{border:1px solid var(--line);min-height:34px;color:var(--ink-soft);background:var(--panel-raised);cursor:pointer;border-radius:999px;padding:0 13px;font-size:12px;font-weight:700}.health-chip:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-hover)}.health-chip[aria-pressed=true]{border-color:var(--joo-green);color:var(--on-joo-green);background:var(--joo-green)}.health-chip:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.health-history-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.health-history-list button{border:1px solid var(--line);background:var(--panel-raised);cursor:pointer;text-align:left;border-radius:10px;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px 12px;display:grid}.health-history-list button:hover{border-color:var(--line-strong);background:var(--surface-hover)}.health-history-date{font-variant-numeric:tabular-nums;font-size:12px;font-weight:720}.health-history-rating{color:var(--ink);font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:13px;font-weight:780;display:inline-flex}.health-history-dot{background:currentColor;border-radius:50%;width:9px;height:9px}.health-history-rating.band-excellent .health-history-dot{background:var(--health-excellent)}.health-history-rating.band-good .health-history-dot{background:var(--health-good)}.health-history-rating.band-fair .health-history-dot{background:var(--health-fair)}.health-history-rating.band-weak .health-history-dot{background:var(--health-weak)}.health-history-rating.band-critical .health-history-dot{background:var(--health-critical)}.health-history-list small{color:var(--muted);font-size:12px}.budget-dialog.health-history{width:min(760px,100%)}.health-trend{outline:none;gap:10px;margin:0 0 16px;display:grid;position:relative}.health-trend:focus-visible{box-shadow:0 0 0 2px var(--joo-green);border-radius:12px}.health-trend svg{touch-action:pan-y;width:100%;height:auto}.health-trend-guide{stroke:var(--line-soft);stroke-width:1px}.health-trend-area{pointer-events:none}.health-trend-line{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}.health-trend-dot{fill:currentColor;stroke:var(--panel);stroke-width:2px;cursor:pointer}.health-trend-cursor{stroke:var(--ink);stroke-width:1px;stroke-dasharray:4 4;opacity:.6;pointer-events:none}.health-trend-hit{fill:#0000;cursor:crosshair}.health-trend-axis{color:var(--muted);font-variant-numeric:tabular-nums;pointer-events:none;font-size:12px;position:absolute;inset:0}.health-trend-axis span{white-space:nowrap;position:absolute}.health-trend-axis-y span{text-align:right;width:4.4%;left:0;transform:translateY(-50%)}.health-trend-axis-x span{top:90%;transform:translate(-50%)}.health-trend-axis-x span[data-anchor=start]{transform:translate(0)}.health-trend-axis-x span[data-anchor=end]{transform:translate(-100%)}.health-trend-tooltip{transform:translate(-50%)}.health-trend-tooltip[data-anchor=start]{transform:translate(12px)}.health-trend-tooltip[data-anchor=end]{transform:translate(calc(-100% - 12px))}.budget-dialog.health-category-dialog{width:min(640px,100%);position:relative;overflow:visible}.health-category-dialog .health-category-body{gap:14px;max-height:min(640px,100dvh - 140px);display:grid;overflow-y:auto}.budget-dialog.report-card-dialog{width:min(600px,100%)}.report-card{gap:16px;display:grid}.report-card-head{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:center;gap:16px;padding-bottom:14px;display:flex}.report-card-school{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:11.5px;font-weight:740}.report-card-term{color:var(--ink);margin:2px 0 0;font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:700}.report-card-stamp{border:3px solid;border-radius:50%;flex:none;align-content:center;place-items:center;width:84px;height:84px;display:grid;transform:rotate(-8deg)}.report-card-stamp strong{font-family:Georgia,Times New Roman,serif;font-size:34px;line-height:1}.report-card-stamp span{font-variant-numeric:tabular-nums;font-size:11px;font-weight:740}.report-card-grades{border-collapse:collapse;width:100%;font-size:13.5px}.report-card-grades th,.report-card-grades td{border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:top;padding:9px 8px}.report-card-grades thead th{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--line);font-size:11px;font-weight:740}.report-card-grades tbody th{color:var(--ink);white-space:nowrap;font-weight:700}.report-card-grade{white-space:nowrap;font-family:Georgia,Times New Roman,serif;font-size:20px;font-weight:700}.report-card-score{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:6px;font-family:inherit;font-size:11px;font-weight:600}.report-card-comments h3,.report-card-homework h3{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:11px;font-weight:740}.report-card-comments p{border-left:3px solid var(--joo-green);background:var(--joo-green);margin:0;padding:10px 12px}@supports (color:color-mix(in lab, red, red)){.report-card-comments p{background:color-mix(in srgb, var(--joo-green) 7%, transparent)}}.report-card-comments p{font-family:Georgia,Times New Roman,serif;font-style:italic;line-height:1.5}.report-card-homework ol{gap:4px;margin:0;padding-left:20px;line-height:1.4;display:grid}.report-card-actions{justify-content:flex-end;display:flex}.report-card-actions .primary{border:1px solid var(--joo-green);min-height:40px;color:var(--on-joo-green);background:var(--joo-green);cursor:pointer;border-radius:9px;padding:0 16px;font-size:13px;font-weight:740}@media (max-width:760px){.report-card-term{font-size:20px}.report-card-stamp{width:70px;height:70px}.report-card-stamp strong{font-size:28px}.report-card-grades td:last-child{font-size:12.5px}.report-card-actions .primary{width:100%;min-height:44px}}.health-category-count{color:var(--muted);font-size:12px;font-weight:700}.health-category-hero{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.health-category-hero-copy{gap:4px;display:grid}.health-category-hero-line{margin:0;font-size:15px;font-weight:600}.health-category-hero-line strong{font-variant-numeric:tabular-nums;font-weight:800}.health-category-weight{color:var(--muted);margin:0;font-size:12.5px}.health-category-note{max-width:66ch;margin:0;font-size:15px;line-height:1.55}.health-category-heading{margin:4px 0 0;font-size:14px;font-weight:760}.health-category-nav{display:contents}.health-category-arrow{border:1px solid var(--line);width:44px;height:44px;color:var(--ink);background:var(--panel-raised);cursor:pointer;border-radius:50%;place-items:center;font-size:26px;line-height:1;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 8px 22px #0f142438}.health-category-arrow:hover{background:var(--surface-hover)}.health-category-arrow:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.health-category-arrow[data-dir=prev]{left:-60px}.health-category-arrow[data-dir=next]{right:-60px}.health-category-arrow-label{display:none}@media (max-width:800px){.health-category-arrow[data-dir=prev]{left:8px}.health-category-arrow[data-dir=next]{right:8px}}@media (max-width:760px){.health-category-dialog .health-category-body{max-height:calc(92dvh - 170px)}.health-category-nav{padding:10px 18px calc(16px + env(safe-area-inset-bottom));gap:10px;display:flex}.health-category-arrow{min-height:48px;box-shadow:none;border-radius:12px;flex:1;gap:8px;font-size:22px;display:flex;position:static;transform:none}.health-category-arrow-label{font-size:13px;font-weight:720;display:inline}}@media (max-width:640px){.health-categories{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.health-category{grid-column:span 2}.health-category:nth-child(4){grid-column:2/span 2}.health-hero{text-align:center;grid-template-columns:1fr;justify-items:center}.health-summary{text-align:left}.health-actions button,.health-empty .primary,.health-suggestion footer button,.health-suggestion footer button.text-button,.health-chip{min-height:44px}}.insight-donut,.insight-bars,.insight-compare,.cash-flow{position:relative}.chart-tooltip{z-index:6;color:var(--panel);background:var(--ink);white-space:nowrap;pointer-events:none;border-radius:9px;padding:7px 11px;font-size:13px;font-weight:650;position:absolute;transform:translate(-50%,calc(-100% - 12px));box-shadow:0 10px 26px #0f142440}.chart-hit{cursor:pointer;transition:transform .15s,opacity .15s}.donut-arc{transform-box:view-box;transform-origin:50%}.donut-arc:hover,.donut-arc[data-active=true]{transform:scale(1.045)}.bar-segment,.flow-node,.income-dot,.spent-dot{transform-box:fill-box;transform-origin:50%}.bar-segment:hover,.bar-segment[data-active=true]{transform:scale(1.06,1.02)}.flow-node:hover,.flow-node[data-active=true]{transform:scale(1.3,1.015)}circle.chart-hit:hover,circle.chart-hit[data-active=true]{transform:scale(1.45)}.flow-ribbon:hover,.flow-ribbon[data-active=true]{opacity:.55}.accounts-panel{overflow:hidden}.account-row{border:0;border-bottom:1px solid var(--line-soft);cursor:pointer;text-align:left;background:0 0;border-radius:0;grid-template-columns:22px minmax(0,1fr) auto auto;align-items:center;gap:10px;width:100%;padding:10px 18px 12px;display:grid}.account-row-shell:last-child .account-row{border-bottom:0}.account-row:hover{background:var(--surface-hover-strong)}.account-row.selected{background:var(--blue-soft);box-shadow:inset 3px 0 0 var(--blue)}.account-identity{gap:2px;min-width:0;display:grid}.account-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13.5px;font-weight:600;overflow:hidden}.account-kind{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.account-balance{font-variant-numeric:tabular-nums;grid-column:4;font-size:13px}.account-attention{color:var(--amber);background:var(--amber-soft);border-radius:9px;margin:0;padding:10px 12px;font-size:11px;line-height:1.45}.connections-list{margin:0;padding:0;list-style:none}.connection-row{border-bottom:1px solid var(--line-soft);grid-template-columns:32px minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:10px 12px;padding:13px 18px;display:grid}.connection-row:last-child{border-bottom:0}.institution-logo{width:var(--badge-size,32px);height:var(--badge-size,32px);object-fit:contain;background:#fff;border-radius:9px;flex:none}.institution-logo.monogram{color:var(--on-accent);background:var(--blue);font-size:calc(var(--badge-size,32px) * .44);place-items:center;font-weight:760;display:grid}.institution-identity,.institution-status{gap:3px;min-width:0;display:grid}.institution-identity strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.institution-identity small,.institution-status small{color:var(--muted);font-size:10px}.institution-status strong{color:var(--amber);font-size:11px}.connection-row.healthy .institution-status strong{color:var(--green)}.connection-row.syncing .institution-status strong{color:var(--blue-dark)}.institution-repair{color:var(--amber);background:var(--amber-soft);border-radius:9px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:10px 12px;font-size:11px;line-height:1.45;display:flex}.institution-repair .secondary-button{flex:none}.account-section{border-color:var(--line-strong);overflow:hidden}.accounts-main,.accounts-columns{gap:14px;display:grid}.account-group+.account-group{border-top:1px solid var(--line-soft)}.account-group-header{text-align:left;cursor:pointer;border-top:0;border-left:0;border-right:0;grid-template-columns:22px minmax(0,1fr) auto 14px;align-items:center;gap:10px;width:100%;padding-left:26px;display:grid}.account-group-header:after{content:"▾";color:var(--muted);justify-self:end;font-size:11px;transition:transform .16s}.account-group-header[aria-expanded=false]:after{transform:rotate(-90deg)}.group-total{font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.group-total.positive{color:var(--green)}.group-total.negative{color:var(--red)}.accounts-overview-counts{color:var(--muted);margin:0;font-size:12px}.accounts-overview-sync{min-width:0;color:var(--muted);gap:3px;margin:0;font-size:12px;display:grid}.accounts-overview-sync strong{font-weight:700}.accounts-overview-sync.attention strong{color:var(--amber)}.accounts-overview-sync.healthy strong{color:var(--green)}.accounts-overview-sync.syncing strong{color:var(--blue-dark)}.account-balance.negative{color:var(--red)}.account-balance.zero{color:var(--muted)}.manual-plate{background:var(--muted);font-size:12px}.account-balance-only{color:var(--muted);background:var(--surface-hover);border-radius:9px;margin:0;padding:10px 12px;font-size:11px;line-height:1.45}.account-row-shell{padding-left:26px;position:relative}.account-row-shell.lone .account-row{padding-left:0}.account-group-shell{position:relative}@media (hover:hover){.account-row-shell:hover .bucket-handle,.account-group-shell:hover .bucket-handle{opacity:1}}.account-row-shell.reordering,.account-group-header.reordering{opacity:.35;pointer-events:none}.account-row-shell.insert-before,.account-group-header.insert-before{box-shadow:inset 0 3px 0 var(--blue)}.account-row-shell.insert-after,.account-group-header.insert-after{box-shadow:inset 0 -3px 0 var(--blue)}.reorder-ghost{z-index:60;pointer-events:none;opacity:.92;background:var(--panel-raised);border:1px solid var(--line-strong);border-radius:12px;position:fixed;transform:translateY(-2px)scale(1.01);box-shadow:0 16px 36px #1f284147}.account-section-empty{flex-wrap:wrap;align-items:center;gap:10px;padding:14px 18px;display:flex}.account-section-empty p{color:var(--muted);flex:200px;margin:0;font-size:13px}.account-nickname-clear{color:var(--blue);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:740}.account-detail{align-self:start;overflow:hidden}.account-detail-header{border-bottom:1px solid var(--line);grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:15px 16px;display:grid}.account-detail-identity{gap:2px;min-width:0;display:grid}.account-detail-identity h3{letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;overflow:hidden}.account-detail-identity h3:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.account-detail-identity small{color:var(--muted);font-size:11px}.account-detail-body{gap:14px;padding:16px;display:grid}.account-detail-balance{gap:3px;margin:0;display:grid}.account-detail-balance small{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:780}.account-detail-balance strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:26px}.account-detail-balance span{color:var(--muted);font-size:12px}.account-detail-facts{background:var(--surface-soft);border-radius:10px;gap:12px;margin:0;padding:13px 14px;display:grid}.account-detail-facts>div{gap:3px;display:grid}.account-detail-facts dt{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:10px;font-weight:780}.account-detail-facts dd{gap:2px;margin:0;font-size:13px;font-weight:700;display:grid}.account-detail-facts dd small{color:var(--muted);font-size:11px;font-weight:500}.account-detail-sync{color:var(--amber)}.account-detail.healthy .account-detail-sync{color:var(--green)}.account-detail.syncing .account-detail-sync{color:var(--blue-dark)}.account-home{border:1px solid var(--line);background:var(--panel-raised);border-radius:10px;gap:9px;padding:13px 14px;display:grid}.account-home h4{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;margin:0;font-size:10px;font-weight:780}.account-home>small{color:var(--muted);font-size:11px}.account-home-empty{color:var(--muted);margin:0;font-size:13px}.account-home-figures{gap:5px;margin:0;display:grid}.account-home-figures>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.account-home-figures dt{color:var(--muted);font-size:12px}.account-home-figures dd{font-variant-numeric:tabular-nums;margin:0;font-size:13px;font-weight:700}.account-home-figures>div:last-child{border-top:1px solid var(--line-soft);padding-top:5px}.account-home-figures>div:last-child dt{color:var(--ink);font-weight:700}.account-home-actions{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.zillow-link{color:var(--blue-dark);font-size:12px;font-weight:600;text-decoration:none}.zillow-link:hover{text-decoration:underline}.account-streaming{border:1px solid var(--line);background:var(--panel-raised);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.account-streaming-copy{gap:2px;display:grid}.account-streaming-copy strong{font-size:11px}.account-streaming-copy small{color:var(--muted);font-size:10px}.accounts-empty{justify-items:start;gap:9px;padding:26px;display:grid}.accounts-empty h3{margin:0;font-size:17px}.accounts-empty p{max-width:560px;color:var(--muted);margin:0;font-size:13px;line-height:1.5}.search-control{border:1px solid var(--line);min-width:220px;height:40px;color:var(--muted);background:var(--field);border-radius:9px;flex:1;align-items:center;gap:8px;padding:0 12px;display:flex}.search-control input{background:0 0;border:0;outline:0;flex:1;min-width:0}.ledger-rows{display:grid}.ledger-row{border-bottom:1px solid var(--line-soft);grid-template-columns:42px minmax(0,1fr) auto 20px;grid-template-areas:"date merchant amount trash""date account pills trash";align-items:center;gap:2px 10px;padding:9px 16px;display:grid}.ledger-row:hover{background:var(--surface-hover)}.ledger-row:last-child{border-bottom:0}.ledger-date{border:1.5px solid var(--blue-line);background:var(--panel-raised);border-radius:50%;grid-area:date;align-content:center;align-self:start;justify-items:center;width:42px;height:42px;line-height:1.12;display:grid}.ledger-date small{color:var(--blue-dark);letter-spacing:.03em;text-transform:uppercase;font-size:9px;font-weight:780}.ledger-date strong{color:var(--blue-dark);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:13.5px}.ledger-date.income{border-color:var(--green-line)}.ledger-date.income small,.ledger-date.income strong{color:var(--green)}.ledger-merchant{text-overflow:ellipsis;white-space:nowrap;grid-area:merchant;min-width:0;font-size:14px;overflow:hidden}.ledger-account{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-area:account;font-size:12px;overflow:hidden}.ledger-amount{font-variant-numeric:tabular-nums;grid-area:amount;justify-self:end;font-size:14px;font-weight:740}.ledger-amount.income{color:var(--green)}.ledger-pills{flex-wrap:wrap;grid-area:pills;justify-content:flex-end;justify-self:end;gap:6px;min-width:0;max-width:172px;display:flex}.ledger-trash{z-index:1;width:20px;height:20px;color:var(--muted);opacity:0;pointer-events:none;cursor:pointer;background:0 0;border:0;border-radius:6px;grid-area:trash;align-self:start;place-items:center;padding:0;transition:opacity .12s,color .12s,background .12s;display:grid;position:relative}.ledger-trash svg{display:block}.ledger-restore{z-index:1;width:20px;height:20px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;grid-area:trash;align-self:start;place-items:center;padding:0;transition:color .12s,background .12s;display:grid;position:relative}.ledger-restore svg{display:block}.ledger-restore:hover:not(:disabled){color:var(--green);background:var(--green-soft)}.ledger-restore:focus-visible{color:var(--green);background:var(--green-soft)}.ledger-restore:disabled{cursor:default;opacity:.5}.ledger-row:hover .ledger-trash,.ledger-row:focus-within .ledger-trash{opacity:1;pointer-events:auto}.ledger-trash:hover{color:var(--red);background:var(--red-soft-strong)}.ledger-trash:focus-visible{opacity:1;pointer-events:auto;outline:2px solid var(--blue);outline-offset:1px}.ledger-trash:disabled{cursor:default}@media (hover:none){.ledger-trash{opacity:1;pointer-events:auto}}.ledger-select{z-index:1;border:1px solid var(--line,currentColor);background:var(--panel-raised);cursor:pointer;border-radius:50%;width:18px;height:18px;padding:0;position:relative}.ledger-select:after{content:"";position:absolute;inset:-11px}.ledger-select:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.ledger-select:disabled{cursor:default;opacity:.5}.ledger-select.selected{border-color:var(--blue);background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center / 60% no-repeat}.ledger-month-selected-count{color:var(--muted);font-size:11.5px;font-weight:600}.ledger-month-delete{width:22px;height:22px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;margin-left:auto;padding:0;transition:color .12s,background .12s;display:grid;position:relative}.ledger-month-delete:after{content:"";position:absolute;inset:-11px}.ledger-month-delete:hover{color:var(--red);background:var(--red-soft-strong)}.ledger-month-delete:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.pill{border-radius:999px;align-items:center;gap:6px;max-width:100%;min-height:26px;padding:0 10px;font-size:11px;font-weight:720;display:inline-flex}button.pill{cursor:pointer}.category-chip.pill{border:1px solid var(--line);color:var(--ink);background:var(--panel-raised);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}button.category-chip.pill:hover{border-color:var(--line-strong);background:var(--surface-hover)}.category-chip.pill i{border-radius:50%;flex:none;width:8px;height:8px}.pill-suggest{border:1px dashed var(--bucket,var(--blue));color:var(--bucket-label,var(--bucket,var(--blue)));background:var(--panel-raised);text-overflow:ellipsis;white-space:nowrap;transition:background .12s,color .12s;position:relative;overflow:hidden}:is(.pill-suggest:hover,.pill-suggest:focus-visible){color:#fff;background:var(--bucket-hover,var(--bucket,var(--blue)))}:root[data-theme=dark] .pill-suggest{color:var(--ink)}.pill-suggest[data-source=model],.suggestion-accept[data-source=model]{border-color:#0000}.pill-suggest[data-source=model]:before,.suggestion-accept[data-source=model]:before{content:"";border-radius:inherit;pointer-events:none;-webkit-mask-composite:source-in, xor;-webkit-mask-composite:source-in,xor;-webkit-mask-source-type:auto,auto,auto;-webkit-mask-composite:source-in,xor;-webkit-mask-source-type:auto,auto,auto;background:conic-gradient(from 210deg,#e8598b,#e9913f,#45b97c,#3d8bfd,#8b5cf6,#e8598b);padding:1px;position:absolute;inset:0;-webkit-mask-image:repeating-linear-gradient(90deg,#000 0 3px,#0000 3px 6px),linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:repeating-linear-gradient(90deg,#000 0 3px,#0000 3px 6px),linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0,0 0;mask-position:0 0,0 0,0 0;-webkit-mask-size:auto,auto,auto;mask-size:auto,auto,auto;-webkit-mask-repeat:repeat,repeat,repeat;mask-repeat:repeat,repeat,repeat;-webkit-mask-clip:border-box,content-box,border-box;mask-clip:border-box,content-box,border-box;-webkit-mask-origin:border-box,content-box,border-box;mask-origin:border-box,content-box,border-box;-webkit-mask-composite:source-in,xor;mask-composite:intersect,exclude;-webkit-mask-source-type:auto,auto,auto;mask-mode:match-source,match-source,match-source}@supports not (mask-composite:intersect){.pill-suggest[data-source=model]:before,.suggestion-accept[data-source=model]:before{-webkit-mask-composite:xor;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}}.pill-suggest[data-source=model],.suggestion-accept[data-source=model]{color:var(--ink)}:is(.pill-suggest[data-source=model]:hover,.pill-suggest[data-source=model]:focus-visible,.suggestion-accept[data-source=model]:focus-visible){color:#fff;background:linear-gradient(100deg,#c74777,#aa6523,#268557,#2b73e0,#7c4ddb)}@media (hover:hover){.suggestion-accept[data-source=model]:hover:not(:disabled){color:#fff;background:linear-gradient(100deg,#c74777,#aa6523,#268557,#2b73e0,#7c4ddb)}}.tray-chip-bolt.pill-suggest{border-radius:999px;place-items:center;width:20px;height:20px;padding:0;font-size:11px;display:grid;position:absolute;top:5px;left:auto;right:9px;transform:none}.pill-split i+i{margin-left:-4px}.pill-income i{background:var(--joo-green)}.pill-note{border:1px dashed var(--line);color:var(--muted);background:0 0;font-weight:640}.ledger-row{position:relative}.ledger-open{z-index:0;cursor:pointer;touch-action:pan-y;background:0 0;border:0;position:absolute;inset:0}.ledger-open:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.ledger-open:disabled{cursor:default}.ledger-pills{z-index:1;position:relative}.ledger-row.dragging{opacity:.45}.drag-card-ghost{z-index:120;border:1px solid var(--line-soft);background:var(--panel-raised);opacity:.92;width:min(320px,70vw);transform:translate3d(var(--drag-x,-200px), var(--drag-y,-200px), 0) translate(calc(-1 * var(--grab-x,50%)), -115%);will-change:transform;pointer-events:none;border-radius:14px;padding:9px 14px;position:fixed;top:0;left:0;box-shadow:0 18px 40px #1f28414d}@keyframes drag-ghost-pop{0%{opacity:.4;scale:.85}60%{scale:1.07}to{scale:1}}@media (prefers-reduced-motion:no-preference){.tray-drag-ghost,.drag-card-ghost{animation:.16s ease-out drag-ghost-pop}}body.transaction-drag,body.transaction-drag *{cursor:grabbing!important}body.transaction-drag-over-drop,body.transaction-drag-over-drop *{cursor:copy!important}.txn-edit-context{color:var(--muted);margin:-6px 0 0;font-size:12px}.assignment-facts{gap:9px;margin:0 0 11px;display:flex}.assignment-fact-field{border:1px solid var(--line);min-width:0;height:38px;color:var(--ink);background:var(--field);font:inherit;border-radius:9px;flex:1 1 0;padding:0 11px;font-size:16px;font-weight:600}.assignment-fact-field:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.assignment-fact-field:disabled{cursor:default;opacity:.6}.split-picker{border:0;border-top:1px solid var(--line-soft);gap:6px;margin:0;padding:12px 0 0;display:grid}.split-picker legend{color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;padding:0;font-size:11px;font-weight:700}.split-picker .search-field{margin-top:2px}.split-options{border:1px solid var(--line);border-radius:10px;max-height:296px;display:grid;overflow-y:auto}.split-group-head{border-bottom:1px solid var(--line-soft);background:var(--surface-soft);justify-content:space-between;align-items:center;gap:10px;padding:7px 12px;display:flex}.split-group+.split-group .split-group-head{border-top:1px solid var(--line-soft)}.split-group-name{align-items:center;gap:7px;min-width:0;font-size:12px;display:inline-flex}.split-group-name strong{text-overflow:ellipsis;white-space:nowrap;font-weight:780;overflow:hidden}.split-group-col{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;flex:none;font-size:9.5px;font-weight:780}.split-option{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:10px;padding:0 12px 0 4px;display:flex}.split-group:last-child .split-option:last-child{border-bottom:0}.split-option:hover{background:var(--surface-hover)}.split-option.selected{background:var(--blue-soft)}.split-option-label{cursor:pointer;flex:1;align-items:center;gap:10px;min-width:0;min-height:44px;padding:0 8px;display:flex}.split-option-label input[type=checkbox]{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.split-check{border:1.5px solid var(--line-strong);background:var(--field);width:18px;height:18px;color:var(--on-accent);border-radius:5px;flex:none;place-items:center;font-size:11px;line-height:1;display:grid}.split-option.selected .split-check{border-color:var(--blue);background:var(--blue)}.split-option.selected .split-check:after{content:"✓"}.split-option-label input:focus-visible+.split-check{outline:2px solid var(--blue);outline-offset:2px}.split-option-label i{border-radius:4px;flex:none;width:7px;height:18px}.split-option-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.split-remaining,.dialog-form input.split-amount{box-sizing:border-box;font-variant-numeric:tabular-nums;text-align:right;border-radius:10px;flex:none;width:96px;height:34px;padding:0 10px;font-size:13px;font-weight:700}.split-remaining{color:var(--ink-soft);background:var(--field);border:1px solid #0000;justify-content:flex-end;align-items:center;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.split-remaining{background:color-mix(in srgb, var(--field) 55%, transparent)}}.split-remaining.negative{color:var(--red)}.split-total{color:var(--green);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:12px;font-weight:720;overflow:hidden}.split-total .split-remaining{width:auto;height:auto;color:var(--amber);background:var(--amber);border:0;border-radius:6px;padding:1px 6px;display:inline}@supports (color:color-mix(in lab, red, red)){.split-total .split-remaining{background:color-mix(in srgb, var(--amber) 14%, transparent)}}.split-total .split-remaining{font-size:1em;font-weight:800}.split-total-of{color:var(--ink-soft);font-weight:650}.split-total.off{color:var(--amber)}.bucket-select-field{color:var(--ink-soft);gap:6px;font-size:11px;font-weight:700;display:grid}.bucket-select{position:relative}.bucket-select-trigger{border:1px solid var(--line);width:100%;height:40px;color:var(--ink);background:var(--field);cursor:pointer;text-align:left;border-radius:8px;align-items:center;gap:10px;padding:0 11px;font-size:13px;display:flex}.bucket-select-trigger:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.bucket-select i{border-radius:4px;flex:none;width:7px;height:18px}.bucket-select-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.bucket-select-chevron{color:var(--muted);flex:none;font-size:11px}.bucket-select-pop{z-index:6;border:1px solid var(--line);background:var(--panel-raised);border-radius:10px;max-height:264px;display:grid;position:absolute;bottom:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 14px 34px #1f284138}.bucket-select-option{border:0;border-bottom:1px solid var(--line-soft);width:100%;min-height:40px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:10px;padding:0 12px;font-size:13px;display:flex}.bucket-select-option:last-child{border-bottom:0}.bucket-select-option:hover{background:var(--surface-hover)}.bucket-select-option:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.bucket-select-option.selected{background:var(--blue-soft)}.split-hint{color:var(--muted);margin:0;font-size:12px}.danger-button{border:1px solid var(--red-line);min-height:38px;color:var(--red-ink);background:var(--panel-raised);cursor:pointer;border-radius:9px;padding:0 14px;font-weight:750}.danger-button:hover{background:var(--red-soft)}.txn-edit-actions .danger-button{margin-right:auto}.inline-status,.inline-error{border-radius:9px;margin:0;padding:11px 14px;font-size:12px}.inline-status{color:var(--blue-ink);background:var(--blue-soft)}.inline-error{color:var(--red-ink);background:var(--red-soft);justify-content:space-between;align-items:center;gap:12px;display:flex}.inline-error button{color:inherit;cursor:pointer;background:0 0;border:0;font-weight:750}.quiet-alerts h3{margin:0 0 5px;font-size:15px}.quiet-alerts p{color:var(--muted);margin:0;font-size:11px;line-height:1.45}.settings-actions-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.settings-action{min-height:52px;font-size:13px}.settings-action-signout{border-color:var(--red-line);color:var(--red-ink);background:var(--red-soft)}.settings-action-signout:hover{border-color:var(--red);color:var(--on-accent);background:var(--red)}.settings-icon{width:42px;height:42px;color:var(--blue);background:var(--blue-soft);border-radius:11px;place-items:center;font-size:18px;font-weight:800;display:grid}.settings-icon.healthy{color:var(--green);background:var(--green-soft)}.pay-settings{scroll-margin-top:95px}.settings-form{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:13px;padding:18px 21px 21px;display:grid}.settings-form label,.dialog-form>label,.dialog-form .field-row>label{color:var(--ink-soft);gap:6px;font-size:11px;font-weight:700;display:grid}.settings-form input,.dialog-form input,.dialog-form select,.search-field input{border:1px solid var(--line);width:100%;min-width:0;height:40px;color:var(--ink);background:var(--field);border-radius:10px;padding:0 11px}:is(.settings-form input:focus-visible,.dialog-form input:focus-visible,.dialog-form select:focus-visible,.search-field input:focus-visible){outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue)}.settings-form input[readonly]{color:var(--muted);background:var(--surface-soft)}.settings-form .form-error{grid-column:1/-1}.quiet-alerts{grid-template-columns:1fr auto;align-items:center;gap:16px;padding:19px 21px;display:grid}.quiet-alerts .eyebrow{margin-bottom:5px}.quiet-alerts .form-error{grid-column:1/-1}.switch{position:relative}.switch input{opacity:0;position:absolute}.switch>span:last-child{background:var(--line-strong);cursor:pointer;border-radius:25px;width:44px;height:25px;transition:background .2s;display:block;position:relative}.switch>span:last-child:after{content:"";background:#fff;border-radius:50%;width:19px;height:19px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0003}.switch input:checked+span{background:var(--green)}.switch input:checked+span:after{transform:translate(19px)}.loading-skeleton,.empty-workspace-panel{border:1px solid var(--line);background:var(--panel);max-width:720px;box-shadow:var(--shadow);text-align:center;border-radius:14px;margin:60px auto;padding:28px}.loading-skeleton{gap:10px;display:grid}.loading-skeleton span{background:linear-gradient(90deg, var(--skeleton-from), var(--skeleton-to), var(--skeleton-from));background-size:200% 100%;border-radius:7px;height:18px;animation:1.2s infinite shimmer}.loading-skeleton span:nth-child(2){width:72%}.loading-skeleton span:nth-child(3){width:46%}.loading-skeleton p,.empty-workspace-panel p{color:var(--muted);font-size:13px;line-height:1.55}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#14192694;place-items:center;padding:20px;animation:.16s fade-in;display:grid;position:fixed;inset:0}.budget-dialog{overscroll-behavior-x:none;background:var(--panel-raised);border-radius:16px;width:min(520px,100%);max-height:min(760px,100dvh - 40px);animation:.2s ease-out rise;overflow:hidden auto;box-shadow:0 30px 80px #0f142447}.dialog-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:21px 21px 15px;display:flex}.dialog-header h2{letter-spacing:-.03em;margin:2px 0 0;font-size:20px}.modal-close{width:34px;height:34px;color:var(--muted);background:var(--surface-sunken);cursor:pointer;border:0;border-radius:8px;flex:none;place-items:center;padding:0;font-size:21px;display:grid}.modal-close:hover{color:var(--ink);background:var(--surface-hover-strong)}.dialog-body{padding:17px 19px 20px}.action-item-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.action-item-list li{border:1px solid var(--line);background:var(--panel);border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.action-item-list li>div{gap:3px;min-width:0;display:grid}.action-item-list strong{letter-spacing:-.01em;font-size:13px}.action-item-list small{color:var(--muted);font-size:11.5px;line-height:1.4}.action-item-list .secondary-button{white-space:nowrap;flex:none;min-height:34px;padding:0 12px}.assignment-choices{gap:9px;margin:0 0 11px;display:flex}.suggestion-callout{border-radius:10px;justify-content:center;align-items:center;gap:8px;margin:0;padding:11px;font-size:11px;display:flex;position:relative;overflow:hidden}.suggestion-accept{border:1px dashed var(--bucket,var(--blue));min-width:0;min-height:40px;color:var(--bucket-label,var(--bucket,var(--blue)));background:var(--panel-raised);cursor:pointer;font:inherit;text-align:center;flex:1 1 0;font-size:12px;font-weight:700;transition:background .12s,color .12s}.suggestion-accept strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (hover:hover){.suggestion-accept:hover:not(:disabled){color:#fff;background:var(--bucket-hover,var(--bucket,var(--blue)))}}.suggestion-accept:focus-visible{color:#fff;background:var(--bucket-hover,var(--bucket,var(--blue)));outline:2px solid var(--blue);outline-offset:1px}.suggestion-accept:disabled{cursor:default;opacity:.6}:root[data-theme=dark] .suggestion-accept{color:var(--ink)}.split-toggle{border:1px solid var(--line);min-width:0;min-height:40px;color:var(--ink);background:var(--surface-sunken);cursor:pointer;border-radius:10px;flex:1 1 0;margin:0;padding:0 12px;font-size:12px;font-weight:700}@media (hover:hover){.split-toggle:hover:not(:disabled){border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}}.split-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.split-toggle:active:not(:disabled){background:var(--surface-hover-strong)}.split-toggle:disabled{cursor:default;opacity:.6}.dialog-header-actions{flex:none;align-items:center;gap:8px;display:flex}.dialog-header-quiet{align-items:center}.dialog-header-quiet .dialog-header-actions{flex:auto;min-width:0}.dialog-header-field{border:1px solid var(--line);min-width:0;height:40px;color:var(--ink);background:var(--field);font:inherit;letter-spacing:-.01em;border-radius:8px;flex:auto;padding:0 11px;font-size:16px;font-weight:650}.dialog-header-field:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.dialog-header-trash{width:34px;height:34px;color:var(--muted);background:var(--surface-sunken);cursor:pointer;border:0;border-radius:8px;place-items:center;padding:0;display:grid}.dialog-header-trash:hover:not(:disabled){color:var(--red);background:var(--red-soft)}.dialog-header-trash:focus-visible{color:var(--red);background:var(--red-soft)}.dialog-header-trash:disabled{cursor:default;opacity:.5}.search-field{margin-top:13px;display:block}.category-options{margin-top:8px;display:grid}.category-options button{border:0;border-bottom:1px solid var(--line-soft);cursor:pointer;text-align:left;background:0 0;grid-template-columns:8px 1fr auto 12px;align-items:center;gap:10px;min-height:55px;padding:0 8px;display:grid}.category-options button:hover{background:var(--surface-hover)}.category-options button>span:first-child{border-radius:4px;width:7px;height:30px}.category-options button>span:nth-child(2){gap:3px;display:grid}.category-options strong{font-size:12px}.category-options small{color:var(--muted);font-size:10px}.category-options em{color:var(--green);background:var(--green-soft);border-radius:999px;padding:4px 7px;font-size:9px;font-style:normal;font-weight:750}.dialog-form{gap:14px;padding:18px 21px 21px;display:grid}.kind-switch{border:1px solid var(--line);background:var(--surface-sunken);border-radius:999px;grid-template-columns:1fr 1fr;margin:0;padding:3px;display:grid;position:relative}.kind-switch:before{content:"";background:var(--panel-raised);border-radius:999px;position:absolute;inset:3px 50% 3px 3px;box-shadow:0 2px 8px #0f142440}.kind-switch[data-kind=income]:before{background:var(--green);inset:3px 3px 3px 50%}.kind-switch label{z-index:1;height:34px;color:var(--muted);cursor:pointer;border-radius:999px;place-items:center;font-size:12px;font-weight:740;display:grid;position:relative}.kind-switch[data-kind=expense] label:first-of-type{color:var(--ink)}.kind-switch[data-kind=income] label:last-of-type{color:var(--on-accent)}.kind-switch label:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:2px}@media (prefers-reduced-motion:no-preference){.kind-switch:before{transition:inset .15s ease-out,background .15s ease-out}.kind-switch label{transition:color .15s ease-out}}.field-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.month-filing-dialog .dialog-body p,.reset-month-dialog .dialog-body p{margin:0 0 14px;font-size:13px;line-height:1.5}.budget-dialog.reset-month-dialog{width:min(420px,100%)}.month-filing-optout{color:var(--ink-soft);align-items:center;gap:8px;margin:0 0 15px;font-size:12px;display:flex}.month-filing-optout input{width:16px;height:16px;accent-color:var(--blue)}.dialog-actions{justify-content:flex-end;margin-top:3px}.form-error{color:var(--red-ink);background:var(--red-soft);border-radius:7px;margin:0;padding:9px 10px;font-size:11px;line-height:1.45}.budget-dialog.import-dialog{width:min(680px,100%)}.export-dialog-body{gap:16px}.export-presets{flex-wrap:wrap;gap:6px;display:flex}.export-years{gap:14px;max-height:min(46vh,360px);padding-right:4px;display:grid;overflow-y:auto}.export-year-label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 7px;font-size:10.5px;font-weight:780}.export-year-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.export-month{border:1px solid var(--line);min-height:38px;color:var(--ink-soft);background:var(--panel-raised);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;font-size:12px;font-weight:680;display:flex;position:relative}.export-month:hover{border-color:var(--line-strong);background:var(--surface-hover)}.export-month.selected{border-color:var(--green);color:var(--green-ink);background:var(--green-soft);font-weight:750}.export-month input{-webkit-appearance:none;appearance:none;cursor:pointer;background:0 0;border:0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.export-month input:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:9px}.export-dialog-actions{justify-content:flex-end}.export-selection-count{color:var(--muted);font-variant-numeric:tabular-nums;margin-right:auto;font-size:12px}.export-dialog-actions [aria-disabled=true]{cursor:default;opacity:.5}.import-dialog-body{gap:16px;min-width:0;display:grid}.import-files{gap:8px;display:grid}.import-files-label{color:var(--ink-soft);font-size:11px;font-weight:700}.import-dropzone{text-align:left;border:2px dashed var(--line);background:var(--surface-soft);width:100%;color:inherit;font:inherit;cursor:pointer;border-radius:12px;grid-template-columns:1fr 1fr;gap:0;padding:0;transition:border-color .15s,background-color .15s;display:grid}.import-dropzone:hover{border-color:var(--joo-green)}.import-dropzone.is-dragging{border-color:var(--joo-green);background:var(--field)}.import-dropzone-half{align-content:start;gap:3px;min-width:0;min-height:88px;padding:16px 14px;display:grid}.import-dropzone-half+.import-dropzone-half{border-left:2px dashed var(--line)}.import-slot-title{color:var(--ink);font-size:12.5px;font-weight:700}.import-slot-hint{color:var(--muted);font-size:11px;line-height:1.4}.import-slot-check{color:var(--joo-green);font-size:15px;font-weight:800;line-height:1}.import-slot-name{color:var(--ink);overflow-wrap:anywhere;font-size:12px;font-weight:640}.import-dropzone-cta{border-top:2px dashed var(--line);color:var(--muted);text-align:center;grid-column:1/-1;padding:9px 14px;font-size:11px}.import-not-ready{color:var(--ink-soft);background:var(--surface-soft);border-radius:7px;margin:0;padding:9px 10px;font-size:12px;line-height:1.45}.import-preview{gap:14px;min-width:0;display:grid}.import-summary{color:var(--ink-soft);margin:0;font-size:12.5px;font-weight:700}.import-error-list{color:var(--red-ink);gap:3px;margin:0;padding:0;font-size:12px;list-style:none;display:grid}.import-mapping-section h3,.import-duplicates h3{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:11px;font-weight:780}.import-mapping-section ul,.import-duplicates ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.import-mapping-section .import-linked-list,.import-mapping-section .import-unlinked-list{margin-top:8px}.import-review-status{color:var(--muted);margin:0;font-size:12px}.import-sync-toggle{border:1px solid var(--line);background:var(--field);width:100%;min-height:44px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:13px;font-weight:700;display:flex}.import-sync-toggle:focus-visible{outline:2px solid var(--blue-ink);outline-offset:2px}.import-bucket-row select:focus-visible{outline:2px solid var(--blue-ink);outline-offset:2px}.import-bucket-row{border:1px solid var(--line);border-radius:9px;grid-template-columns:minmax(0,1fr) minmax(0,170px);align-items:center;gap:10px;padding:8px 10px;display:grid}.import-bucket-info{gap:2px;min-width:0;display:grid}.import-bucket-meta{color:var(--muted);font-size:11px}.import-bucket-hint{color:var(--blue-ink);font-size:11px}.import-bucket-note{color:var(--ink-soft);font-size:11px;font-weight:640;display:block}.import-bucket-row select{border:1px solid var(--line);width:100%;min-width:0;min-height:44px;color:var(--ink);background:var(--field);border-radius:7px;padding:0 8px}.import-bucket-picker .bucket-select-trigger{height:44px;min-height:44px}.import-bucket-picker .bucket-select-pop{min-width:min(320px,100vw - 48px)}.import-bucket-info strong{overflow-wrap:anywhere}.import-row-needs-input{border-color:var(--amber-line);background:var(--amber-soft)}.import-input-status{color:var(--amber);font-size:11px;font-weight:750}.import-duplicate-row{border:1px solid var(--amber-line,var(--line));background:var(--amber-soft,transparent);border-radius:9px;padding:8px 10px;font-size:12px}.import-duplicate-row label{align-items:flex-start;gap:8px;display:flex}.import-duplicate-row input{width:16px;height:16px;accent-color:var(--blue);flex:none;margin-top:2px}.import-out-of-month{color:var(--ink-soft);margin:0;font-size:12px}.name-color-row{align-items:end;gap:12px;display:flex}.name-color-row>label{flex:1;min-width:0}.name-color-row>.field-label{color:var(--ink-soft);flex:1;font-size:11px;font-weight:700}.color-well{cursor:pointer;background:conic-gradient(#ff2d2d,#ffd23f,#46d17e,#24d0d8,#3b6ef5,#a63cf5,#ff2fb0,#ff2d2d);border:0;border-radius:50%;flex:none;width:40px;height:40px;padding:0}.color-well:after{background:var(--well-color);width:22px;height:22px;box-shadow:0 0 0 2px var(--panel-raised);content:"";border-radius:50%;margin:9px;display:block}.color-well:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.modal-backdrop:has(.color-picker-dialog){z-index:110}.color-picker-dialog{width:min(340px,100%)}.color-picker{gap:14px;display:grid}.sv-square{background:linear-gradient(to top, #000, #0000), linear-gradient(to right, #fff, #fff0), hsl(var(--picker-hue) 100% 50%);cursor:crosshair;touch-action:none;border:0;border-radius:10px;width:100%;height:168px;padding:0;display:block;position:relative}.sv-square:focus-visible{outline-offset:-4px;box-shadow:0 0 0 2px var(--blue);outline:2px solid #fff}.sv-handle{border:2px solid #fff;border-radius:50%;width:16px;height:16px;position:absolute;translate:-50% -50%;box-shadow:0 0 0 1px #14192673}.hue-field{display:block}.hue-slider{-webkit-appearance:none;appearance:none;cursor:pointer;background:linear-gradient(90deg,red 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);border:0;border-radius:999px;width:100%;height:14px;padding:0}.hue-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;cursor:pointer;background:0 0;border:2px solid #fff;border-radius:50%;width:18px;height:18px;box-shadow:0 0 0 1px #14192673}.hue-slider::-moz-range-thumb{cursor:pointer;background:0 0;border:2px solid #fff;border-radius:50%;width:18px;height:18px;box-shadow:0 0 0 1px #14192673}.hue-slider:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.picker-readout{align-items:center;gap:10px;display:flex}.picker-readout label{flex:1;min-width:0}.picker-readout input{border:1px solid var(--line);width:100%;height:38px;color:var(--ink);background:var(--field);font-variant-numeric:tabular-nums;border-radius:8px;padding:0 11px}.picker-preview{border:1px solid var(--line);border-radius:8px;flex:none;width:38px;height:38px}.color-picker .dialog-actions{justify-content:flex-end;gap:8px;margin-top:3px;display:flex}.detail-sheet .detail-body{gap:16px;display:grid}.budget-detail{align-self:start;overflow:hidden}.budget-detail-veil{display:none}.sheet-summary{gap:6px;display:grid}.sheet-headline{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.sheet-headline small{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:780}.sheet-headline strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:26px}.sheet-subline{color:var(--muted);font-size:12px}.sheet-planned,.sheet-income-form{gap:10px;display:grid}.panel-money-field{gap:6px;min-width:0;display:grid}.panel-money-field .money-edit{width:auto}.panel-field-error{color:var(--red-ink);font-size:11px;font-weight:640;line-height:1.4}.sheet-fund-form{gap:12px;display:grid}.sheet-notice{border:1px solid var(--fund-line);color:var(--ink);background:var(--fund-wash);border-radius:8px;gap:8px;margin:0;padding:10px 12px;font-size:12px;line-height:1.45;display:grid}.sheet-notice-actions{flex-wrap:wrap;gap:8px;display:flex}.sheet-field>select,.sheet-field>textarea{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:var(--field);font:inherit;border-radius:8px;padding:0 11px}.sheet-field>select{height:38px}.sheet-field>textarea{resize:vertical;padding:9px 11px}:is(.sheet-field>select:focus-visible,.sheet-field>textarea:focus-visible){border-color:var(--blue);outline:0;box-shadow:0 0 0 3px #5268d91f}.sheet-activity-total{border-top:1px solid var(--line-soft)}.sheet-field-grid{grid-template-columns:repeat(auto-fit,minmax(136px,1fr));gap:11px 12px;display:grid}.sheet-field{gap:6px;min-width:0;display:grid}.sheet-field>span:first-child{color:var(--ink-soft);font-size:11px;font-weight:700}.sheet-field .money-edit{width:auto}.sheet-field>input{border:1px solid var(--line);width:100%;min-width:0;height:38px;color:var(--ink);background:var(--field);border-radius:8px;padding:0 11px}.sheet-field>input:focus-visible{border-color:var(--blue);outline:0;box-shadow:0 0 0 3px #5268d91f}.sheet-field-wide{grid-column:1/-1}.detail-identity{flex:auto;min-width:0}.detail-identity .eyebrow{margin-bottom:3px}.detail-identity-name{align-items:center;gap:10px;min-width:0;display:flex}.detail-identity-name h2{flex:auto;min-width:0;margin:0}.panel-color-well{width:30px;height:30px}.panel-color-well:after{width:16px;height:16px;margin:7px}.panel-color-well:disabled{cursor:default;opacity:.55}.panel-color-dot{background:var(--green-soft);border-radius:50%;flex:none;width:30px;height:30px}.panel-color-dot:after{background:var(--green);content:"";border-radius:50%;width:16px;height:16px;margin:7px;display:block}.panel-name-button{max-width:100%;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:7px;margin:0 0 0 -4px;padding:1px 4px}:is(.panel-name-button:hover,.panel-name-button:focus-visible){background:var(--surface-sunken)}.panel-name-editing{border:1px solid var(--blue);background:var(--field);border-radius:8px;align-items:center;min-width:0;height:32px;margin-left:-8px;padding:0 7px;display:flex;position:relative;box-shadow:0 0 0 3px #5268d91f}.panel-name-editing.invalid{border-color:var(--red);box-shadow:0 0 0 3px #c83c4624}.panel-name-editing input{width:100%;min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0}.panel-name-editing input:disabled{color:var(--muted)}.panel-name-editing .panel-field-error{z-index:3;width:max-content;max-width:240px;color:var(--on-accent);background:var(--red);border-radius:7px;padding:5px 8px;font-size:10.5px;line-height:1.35;position:absolute;top:calc(100% + 4px);left:0}.panel-group-select{max-width:100%;color:var(--muted);cursor:pointer;font:inherit;letter-spacing:.1em;text-transform:uppercase;background:0 0;border:0;border-radius:6px;margin:0 0 0 -5px;padding:1px 3px 1px 5px;font-size:11px;font-weight:780}.panel-group-select:hover:not(:disabled){color:var(--ink-soft);background:var(--surface-sunken)}.panel-group-select:disabled{cursor:default;opacity:.6}.due-date-wrap{gap:8px;min-width:0;display:grid}.due-date-trigger{border:1px solid var(--line);min-width:0;height:38px;color:var(--ink);background:var(--field);cursor:pointer;text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:0 11px;display:flex}.due-date-trigger:hover:not(:disabled){border-color:var(--line-strong)}.due-date-trigger[aria-expanded=true]{border-color:var(--blue);box-shadow:0 0 0 3px #5268d91f}.due-date-trigger:disabled{cursor:default;opacity:.58}.due-date-trigger .month-picker-caret{font-size:11px}.due-date-trigger[aria-expanded=true] .month-picker-caret{transform:rotate(180deg)}.due-date-empty{color:var(--muted)}.due-date-panel{border:1px solid var(--line);background:var(--panel-raised);border-radius:14px;padding:14px}.due-date-nav{justify-content:space-between;align-items:center;gap:8px;display:flex}.due-date-nav+.due-date-nav{border-bottom:1px solid var(--line);padding-bottom:11px}.due-date-nav .month-nav-button{border-radius:9px;width:30px;height:30px;font-size:16px}.due-date-nav-label{letter-spacing:-.03em;font-size:15px;font-weight:800}.due-date-grid{grid-template-columns:repeat(7,1fr);gap:3px;padding:11px 0;display:grid}.due-date-weekday{color:var(--muted);letter-spacing:.04em;place-items:center;font-size:10px;font-weight:780;display:grid}.due-date-day{min-height:32px;color:var(--ink);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;border-radius:8px;padding:0;font-size:12px;font-weight:640}.due-date-day:hover{border-color:var(--blue);background:var(--blue-soft)}.due-date-day.selected{border-color:var(--blue);color:var(--on-accent);background:var(--blue)}.due-date-clear{text-align:center;width:100%;font-size:12px;display:block}.due-date-clear:disabled{cursor:default;opacity:.5}.sheet-actions{flex-wrap:wrap;gap:8px;display:flex}.sheet-action{position:relative}.sheet-action svg{display:block}.sheet-action-tip{z-index:6;color:var(--panel);background:var(--ink);white-space:nowrap;opacity:0;pointer-events:none;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:650;transition:opacity .12s;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%);box-shadow:0 10px 26px #0f142440}:is(.sheet-action:hover .sheet-action-tip,.sheet-action:focus-visible .sheet-action-tip){opacity:1}.sheet-actions .sheet-action:first-child .sheet-action-tip{left:0;transform:none}.sheet-action.armed .sheet-action-tip{opacity:1}.sheet-action.armed{border-color:var(--red-line);color:var(--red);background:var(--red-soft)}@media (prefers-reduced-motion:reduce){.sheet-action-tip{transition:none}}:is(.sheet-remove:hover,.sheet-remove:focus-visible){border-color:var(--red-line);color:var(--red);background:var(--red-soft)}.sheet-activity{display:grid}.sheet-activity h3{letter-spacing:-.01em;margin:0 0 4px;font-size:13px}.sheet-activity .empty-state{padding:14px}.sheet-activity-row{border:0;border-bottom:1px solid var(--line-soft);text-align:left;background:0 0;border-radius:0;align-items:center;gap:10px;width:100%;min-height:48px;padding:6px 8px;font-size:12px;display:flex}button.sheet-activity-row{cursor:pointer;touch-action:pan-y}button.sheet-activity-row:hover{background:var(--surface-hover)}.sheet-activity-row time{color:var(--muted);flex:0 0 46px;font-size:11px}.sheet-activity-merchant{flex:1;gap:2px;min-width:0;display:grid}.sheet-activity-merchant strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.sheet-activity-merchant small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.sheet-activity-row>strong:last-child{font-variant-numeric:tabular-nums;flex:none}.detail-body.sheet-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 0}.sheet-col{align-content:start;gap:14px;min-width:0;padding-right:14px;display:grid}.sheet-col+.sheet-col{border-left:1px solid var(--line-soft);padding-left:14px;padding-right:0}.sheet-split .sheet-span,.sheet-split .form-error{grid-column:1/-1}.sheet-split .sheet-headline{flex-direction:column;align-items:flex-start;gap:2px}.sheet-split .sheet-headline strong{font-size:22px}.sheet-split .sheet-headline>small{align-self:center}.sheet-split .sheet-figure{align-items:baseline;gap:6px;display:flex}.sheet-split .sheet-activity-row{gap:8px;min-height:44px;padding:6px 2px}.sheet-split .sheet-activity-row time{flex-basis:40px;font-size:10px}.sheet-split .sheet-activity-merchant{text-align:right;justify-items:end}.sheet-split .sheet-activity-amount{font-variant-numeric:tabular-nums;font-size:11px;overflow:visible}.connect-dialog{max-width:460px}.connect-body>p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.connect-body ul{color:var(--ink-soft);background:var(--surface-soft);border-radius:9px;gap:8px;margin:15px 0;padding:14px 14px 14px 30px;font-size:11px;line-height:1.45;display:grid}.connect-actions .primary-button{width:100%}.add-account-choices{gap:8px;display:grid}.add-account-choice{border:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;border-radius:10px;gap:2px;width:100%;padding:12px 14px;display:grid}.add-account-choice:hover:not(:disabled){background:var(--surface-hover-strong)}.add-account-choice:disabled{opacity:.55;cursor:default}.add-account-choice strong{font-size:14px}.add-account-choice small{color:var(--muted);font-size:12px;line-height:1.4}.connection-dot{background:var(--amber);border-radius:50%;flex:none;width:9px;height:9px}.connection-dot.healthy{background:var(--joo-green)}.sync-spinner{border:2px solid var(--blue-line);border-top-color:var(--blue);border-radius:50%;flex:none;width:12px;height:12px;animation:.9s linear infinite sync-spin}@keyframes sync-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.sync-spinner{animation-duration:2.5s}}.sheet-handle,.month-swipe-edge,.mobile-nav{display:none}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}@keyframes shimmer{to{background-position:-200% 0}}@media (max-width:1180px){.metric-grid,.settings-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1280px){.tray-toggle,.transaction-tray,.fast-track-suggestion{display:none}.budget-columns,.accounts-columns{grid-template-columns:minmax(0,1fr) 400px;align-items:start;gap:20px;display:grid}.budget-main,.accounts-main{gap:20px;min-width:0;display:grid}.budget-side,.budget-detail,.accounts-side{overscroll-behavior:contain;scrollbar-color:var(--line-strong) transparent;border-radius:14px;min-width:0;position:sticky;overflow-y:auto}.budget-columns:before{content:"";z-index:19;top:var(--topbar-height,79px);right:0;left:var(--sidebar-width);background:var(--canvas);pointer-events:none;height:57px;position:fixed}.budget-sticky{background:0 0;margin:0;padding:0}.budget-sticky .ltb-bar{box-shadow:var(--ltb-shadow)}.budget-sticky,.budget-side,.budget-detail{z-index:20;top:calc(var(--topbar-height,79px) + 28px)}.budget-side,.budget-detail{max-height:calc(100vh - calc(var(--topbar-height,79px) + 28px) - 20px)}.budget-view.detail-open .budget-side{display:none}.accounts-side{z-index:20;max-height:calc(100vh - 40px);top:20px}.budget-side .search-control{min-width:0}.ledger-add-fab{z-index:30;grid-area:1/2;place-self:end;margin:0 16px 0 0;display:grid;position:sticky;bottom:36px}.budget-view .budget-side,.budget-view .budget-detail{grid-area:1/2}}@media (max-width:1279px){.account-detail,.budget-detail{z-index:40;overscroll-behavior:contain;max-height:78dvh;padding-bottom:env(safe-area-inset-bottom);border-radius:18px 18px 0 0;animation:.2s ease-out rise;position:fixed;inset:auto 0 0;overflow:hidden auto;box-shadow:0 -18px 50px #0f142438}.accounts-side{order:-1}.budget-detail{inset:auto 0 0 var(--sidebar-width)}.account-detail-header,.budget-detail .dialog-header{z-index:1;background:var(--panel-veil-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:sticky;top:0}.budget-view.detail-open .tray-toggle,.budget-view.detail-open .transaction-tray{display:none}.accounts-view{padding-bottom:92px}}@media (min-width:761px){.top-actions .add-transaction-button{display:none}.month-title-nav{flex:1;min-width:0}.topbar .month-title-nav .month-picker-wrap{order:-1;min-width:0}.topbar .month-title-nav .month-title-duo,.topbar .month-title-nav>.month-link-button,.topbar .month-title-nav>.month-picker-wrap{transition:transform .45s cubic-bezier(.3,.7,.25,1)}.topbar .month-title-nav.title-anchor-instant .month-title-duo,.topbar .month-title-nav.title-anchor-instant>.month-link-button,.topbar .month-title-nav.title-anchor-instant>.month-picker-wrap{transition:none}.topbar .month-title-nav .month-title-duo{transform:translate(calc(var(--duo-shift-companion,50%) - 50%), -50%);position:absolute;top:50%;left:0}.topbar .month-title-nav>.month-link-button{transform:translate(calc(var(--duo-shift-link,50%) - 50%), -50%);position:absolute;top:50%;left:0}.topbar .month-title-nav>.month-picker-wrap{transform:translateX(calc(var(--duo-shift-primary,50%) - 50%))}.topbar .month-title-nav .month-title{transition:font-size .45s cubic-bezier(.3,.7,.25,1)}.topbar .month-title-nav.two-up>.month-picker-wrap .month-title,.topbar .month-title-nav .month-title-duo .month-title{font-size:clamp(23px,2.4vw,29px)}.topbar .month-title-nav .month-context-inline{animation:.3s fade-in;position:absolute;top:50%;left:0;transform:translateY(-50%)}.topbar .month-title-nav .month-title{text-align:left}.topbar .month-title-nav .month-nav-button{order:1}.topbar .month-title-nav .month-nav-button[aria-label=Previous\ month]{margin-left:auto}}@media (max-width:760px){.sidebar,.insights-summary-strip{display:none}.report-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-side{display:none}.budget-detail-veil{z-index:55;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1419269e;animation:.16s fade-in;display:block;position:fixed;inset:0}.budget-detail{z-index:56;inset:auto 0 calc(76px + env(safe-area-inset-bottom)) 0}.month-swipe-edge{z-index:30;top:0;bottom:calc(76px + env(safe-area-inset-bottom));touch-action:pan-y;width:20px;display:block;position:fixed}.month-swipe-edge[data-side=left]{left:0}.month-swipe-edge[data-side=right]{right:0}.month-swipe-peek{border:1px solid var(--line);min-height:38px;color:var(--ink);background:var(--panel-veil-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);white-space:nowrap;pointer-events:none;opacity:var(--peek-progress,0);border-radius:999px;align-items:center;padding:0 14px;font-size:13px;font-weight:760;display:flex;position:absolute;top:50%;box-shadow:0 10px 30px #0f142442}.month-swipe-edge[data-side=left] .month-swipe-peek{translate:calc(-100% + (100% + 14px) * var(--peek-progress,0)) -50%;left:0}.month-swipe-edge[data-side=right] .month-swipe-peek{translate:calc(100% - (100% + 14px) * var(--peek-progress,0)) -50%;right:0}.month-swipe-peek[data-armed]{color:var(--on-accent);background:var(--joo-green);border-color:#0000}.account-detail{bottom:calc(76px + env(safe-area-inset-bottom));padding-bottom:0}.main-content{padding-bottom:calc(82px + env(safe-area-inset-bottom));margin-left:0}.topbar{min-height:56px;padding:8px 10px}.topbar .eyebrow{display:none}.topbar h1{font-size:22px}.month-nav-button{border-radius:10px;width:38px;height:38px;font-size:16px}.month-title-nav{flex-wrap:wrap;gap:4px;width:100%}.month-title-nav .month-nav-button{border-radius:10px;width:38px;height:38px;font-size:16px}.month-context-inline{flex-basis:100%;order:1;gap:10px;padding-bottom:2px}.month-context-inline .month-today-button{min-height:36px;font-size:13px}.topbar .month-title{min-width:0;font-size:20px}.month-picker-trigger{gap:5px;padding:2px 6px}.month-picker-wrap{position:static}.month-picker-panel{top:calc(var(--topbar-height,56px) + 8px);width:auto;max-width:none;max-height:calc(100dvh - var(--topbar-height,56px) - 104px);margin:0;position:fixed;left:10px;right:10px;overflow:hidden auto}.activity-panel{top:calc(var(--topbar-height,56px) + 8px);max-width:none;max-height:calc(100dvh - var(--topbar-height,56px) - 104px);padding:12px 4px 6px;position:fixed;left:8px;right:8px;overflow-x:hidden;width:auto!important;height:auto!important}.sync-status-panel{top:calc(var(--topbar-height,56px) + 8px);width:auto;max-height:calc(100dvh - var(--topbar-height,56px) - 104px);position:fixed;left:10px;right:10px;overflow:hidden auto}.activity-resize{display:none}.activity-row{gap:6px;min-height:40px;padding:4px}.activity-panel .activity-label{font-size:13px}.activity-panel .activity-age{font-size:11px}.activity-panel-foot{padding:8px 6px 2px}.top-actions{gap:6px}.top-actions .icon-button,.top-actions .add-transaction-button{border-radius:12px;width:40px;height:40px;min-height:40px;font-size:19px}.top-actions .sync-status-trigger{border-radius:12px;width:40px;height:40px}.top-actions .secondary-button{padding:0 10px}.top-actions .add-transaction-button{color:#0000;white-space:nowrap;min-width:40px;padding:0;font-size:0;overflow:hidden}.top-actions .add-transaction-button:after{content:"+";color:var(--blue);font-size:22px}.main-content.view-transactions>.topbar{display:none}.intro-actions .ledger-add-button{width:40px;min-width:40px;height:40px;min-height:40px;color:var(--blue);border-radius:12px;justify-content:center;align-items:center;padding:0;font-size:22px;line-height:1;display:inline-flex}.workspace-message{border-radius:14px;align-items:center;margin:12px 12px 0;padding:12px 10px 12px 15px;font-size:14px;line-height:1.45}.notice-slot{margin:12px 12px 0}.notice-slot.overlay{top:calc(var(--topbar-height,56px) + 8px);width:calc(100vw - 16px);right:8px}.view-stack{gap:16px;padding:22px 12px 32px}.welcome-row,.view-intro{align-items:flex-start}.welcome-row h2,.view-intro h2{font-size:26px}.welcome-row p:not(.eyebrow),.view-intro p:not(.eyebrow){font-size:16px;line-height:1.55}.panel,.metric-card{border-radius:18px;box-shadow:0 9px 30px #1f284114}.bucket-board{--board-radius:18px}.bucket-group,.bucket-board>.bucket-total{box-shadow:0 9px 30px #1f284114}.add-bucket-button{min-height:52px;font-size:14px}.paid-off-toggle{min-height:52px}.metric-card{min-height:180px;padding:21px}.metric-card p{font-size:15px}.metric-card h3{font-size:clamp(32px,9vw,38px)}.metric-card>small{min-height:0;font-size:14px;line-height:1.5}.metric-foot{font-size:13px;line-height:1.4}.pace-compare{font-size:13px}.panel-header{padding:18px}.panel-header h2{font-size:20px}.primary-button,.secondary-button,.text-button,.button-link,.workspace-message button{min-height:48px;font-size:14px}.workspace-message .dismiss-notice{min-width:48px;font-size:20px}.workspace-message .undo-notice{width:48px;min-height:48px;font-size:22px}.panel-header>button{min-height:48px;font-size:14px}.mobile-nav{z-index:50;height:calc(76px + env(safe-area-inset-bottom));padding:5px 2px env(safe-area-inset-bottom);border-top:1px solid var(--line);background:var(--panel-veil-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);grid-template-columns:repeat(5,1fr);transition:transform .22s ease-out;display:grid;position:fixed;inset:auto 0 0;box-shadow:0 -8px 30px #1e243414}.mobile-nav.tray-open{pointer-events:none;transform:translateY(100%)}.mobile-nav button{min-width:44px;min-height:64px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:14px;align-content:center;place-items:center;gap:3px;display:grid;position:relative}.mobile-nav button>span{font-size:22px;line-height:1}.mobile-nav small{font-size:11px;font-weight:760}.mobile-nav button.active{color:var(--joo-green);background:#0caa851f}.mobile-nav i{min-width:20px;height:20px;color:var(--on-accent);background:var(--red);border-radius:10px;place-items:center;padding:0 5px;font-size:10px;font-style:normal;display:grid;position:absolute;top:4px;right:calc(50% - 24px)}.transaction-tray{inset:auto 0 0}.transaction-tray:before,.transaction-tray:after{content:"";z-index:-1;pointer-events:none;position:absolute;inset:0}.transaction-tray:before{background:linear-gradient(to top, var(--tray-glass), transparent 92%);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);-webkit-mask-image:linear-gradient(#0000 4%,#000 58%);mask-image:linear-gradient(#0000 4%,#000 58%)}.transaction-tray:after{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);-webkit-mask-image:linear-gradient(#0000 45%,#000);mask-image:linear-gradient(#0000 45%,#000)}.tray-toggle{bottom:calc(94px + env(safe-area-inset-bottom));left:50%}.tray-handle{padding:4px 0 calc(8px + env(safe-area-inset-bottom))}.tray-strip{gap:10px;padding:6px 0 4px}.tray-chip{width:96px;height:96px}.tray-chip strong{font-size:14px}.tray-chip small{max-width:80px;font-size:10px}.budget-view.tray-open:not(.detail-open){padding-bottom:200px}.account-row{padding:15px 16px}.account-name,.account-balance{font-size:15px}.account-kind{font-size:12px}.account-attention{grid-column:1/-1;font-size:13px}.connection-row{grid-template-columns:32px minmax(0,1fr)}.institution-status{grid-column:2}.institution-identity strong{font-size:16px}.institution-identity small,.institution-status small{font-size:12px}.institution-status strong{font-size:13px}.account-streaming{grid-column:1/-1}.account-streaming-copy strong{font-size:13px}.account-streaming-copy small{font-size:12px}.bucket-group-row{min-height:54px;padding:8px 16px;font-size:14px}.bucket-group-icon{font-size:19px}.mobile-budget-metric{background:var(--surface-sunken);border-radius:11px;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin-top:8px;padding:3px;display:grid}.mobile-budget-metric button{min-height:38px;color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:8px;padding:0 6px;font-size:13px;font-weight:740}.mobile-budget-metric button[aria-pressed=true]{color:var(--ink);background:var(--panel-raised);box-shadow:0 2px 8px #1f28411f}.mobile-budget-metric button:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.budget-view .budget-cols{grid-template-columns:minmax(0,1fr) auto;gap:12px}.bucket-group-row .col-head,.budget-view[data-mobile-metric=planned] .metric-cell,.budget-view:not([data-mobile-metric=planned]) .planned-cell{display:none}.planned-cell,.metric-cell{font-size:16px;font-weight:500}.bucket-cell.zero,button.planned-edit.zero{color:var(--faint)}.budget-view[data-mobile-metric=planned] .planned-cell{color:var(--blue-dark)}.budget-view[data-mobile-metric=planned] .planned-cell.zero{color:var(--faint)}.bucket-line-name,.companion-only-name{white-space:normal;overflow:visible}button.planned-edit,button.metric-toggle{min-height:44px;margin:-12px -8px;padding:0 8px}.planned-editing{height:36px;margin-block:-8px}.planned-editing input{font-size:16px}button.group-swatch{width:26px;height:26px;position:relative}button.group-swatch:after{content:"";position:absolute;inset:-9px}button.bucket-group-name{min-height:44px;margin-block:-12px}.bucket-handle,.bucket-line-mark{display:none}.account-row-shell .bucket-handle,.account-group-shell .bucket-handle{display:grid}.account-row-shell,.account-group-header{padding-left:24px}.bucket-line{border-bottom-color:#0000}.bucket-line-badge{margin-inline-end:0}.bucket-line-button,.bucket-line.editable,.bucket-line.companion-only{gap:8px;padding:11px 16px 13px}.bucket-line.editable.selected{padding-left:44px}.bucket-line-name,.companion-only-name,button.bucket-name-button{font-size:16px}button.bucket-name-button,.name-editing input{font-weight:400}.name-editing{height:28px;margin-block:-2px}.name-editing input{font-size:16px}.bucket-line-progress{height:4px}.money-edit{height:48px;font-size:16px}.bucket-total{min-height:56px;padding-inline:16px;font-size:14px}.bucket-total .planned-cell,.bucket-total .metric-cell{font-size:16px;font-weight:720}.sheet-headline strong{font-size:30px}.sheet-subline{font-size:14px}.budget-detail .panel-color-well,.budget-detail .panel-color-dot{width:36px;height:36px}.budget-detail .panel-color-well:after,.budget-detail .panel-color-dot:after{width:18px;height:18px;margin:9px}.panel-name-editing{height:38px}.panel-name-editing input{font-size:16px}.panel-group-select,.sheet-field>span:first-child{font-size:13px}.sheet-field>input,.due-date-trigger{border-radius:10px;height:48px;padding-inline:12px;font-size:16px}.due-date-day{min-height:44px;font-size:14px}.due-date-weekday{font-size:11px}.sheet-activity h3{font-size:15px}.sheet-activity-row{min-height:56px;font-size:14px}.sheet-activity-row time{flex-basis:52px;font-size:12px}.sheet-activity-merchant strong{font-size:14px}.sheet-activity-merchant small{font-size:12px}.search-control{min-width:0;height:50px;font-size:16px}.ledger-head{padding:18px 14px 4px}.ledger-sort select{height:50px;font-size:14px}.insight-tool-panel{padding:16px 14px 18px}.insight-toolbar-controls{width:100%;margin-left:0}.range-toggle{scrollbar-width:none;overflow-x:auto}.growth-value{font-size:28px}.growth-axis{font-size:11px}.empty-state{font-size:14.5px}.ledger-row{grid-template-columns:48px minmax(0,1fr) auto 24px;gap:3px 12px;padding:11px 16px}.ledger-date{width:48px;padding:6px 0 7px}.ledger-date small{font-size:10px}.ledger-date strong{font-size:16px}.ledger-merchant{font-size:15px}.ledger-account{font-size:12px}.ledger-amount{font-size:15px}.ledger-pills{max-width:124px}.ledger-trash{width:24px;height:24px}.pill{min-height:38px;padding:0 13px;font-size:13px}.settings-icon{border-radius:15px;width:52px;height:52px;font-size:23px}.quiet-alerts h3{font-size:18px}.quiet-alerts p{font-size:14px}.settings-action{min-height:56px;font-size:15px}.export-year-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.export-month{min-height:46px;font-size:14px}.export-years{max-height:none}.activity-section-head{font-size:18px}.activity-section-toggle{grid-template-columns:52px minmax(0,1fr) auto;padding:19px}.activity-section-body{padding:2px 19px 19px}.settings-form{grid-template-columns:minmax(0,1fr);gap:16px;padding:18px}.settings-form label,.dialog-form>label,.dialog-form .field-row>label{font-size:14px}.settings-form input,.dialog-form input,.dialog-form select,.search-field input{border-radius:12px;height:52px;padding-inline:14px;font-size:16px}.settings-form .primary-button{min-height:52px;font-size:15px}.settings-form .form-error{grid-column:auto}.inline-error button{min-width:48px;min-height:48px;font-size:14px}.quiet-alerts{padding:19px}.switch{place-items:center;min-width:52px;min-height:48px;display:grid}.switch>span:last-child{width:52px;height:30px}.switch>span:last-child:after{width:24px;height:24px}.switch input:checked+span:after{transform:translate(22px)}.modal-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#141926a8;place-items:end center;padding:0}.budget-dialog{width:100%;max-height:92dvh;padding-bottom:env(safe-area-inset-bottom);overscroll-behavior:contain;border-radius:24px 24px 0 0}.assignment-sheet{flex-direction:column;height:92dvh;display:flex;overflow:hidden}.assignment-sheet .dialog-body{flex-direction:column;flex:1;min-height:0;display:flex}.assignment-sheet .category-options,.assignment-sheet .split-options{overscroll-behavior:contain;flex:1;min-height:0;max-height:none;overflow-y:auto}.sheet-handle{z-index:3;background:var(--line-strong);touch-action:none;cursor:grab;border-radius:5px;width:48px;height:5px;margin:10px auto 0;display:block;position:relative}.sheet-handle:before{content:"";position:absolute;inset:-10px -46px -15px}.sheet-handle:active{cursor:grabbing}.dialog-header{z-index:2;background:var(--dialog-veil);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);align-items:center;padding:15px 18px;position:sticky;top:0}.dialog-header h2{font-size:23px}.modal-close{border-radius:14px;width:48px;height:48px;font-size:27px}.dialog-header-trash{border-radius:14px;width:48px;height:48px}.dialog-header-field{border-radius:14px;height:48px;padding-inline:14px;font-size:17px}.dialog-body,.dialog-form{padding:18px}.color-well{width:52px;height:52px}.color-well:after{width:28px;height:28px;margin:12px}.sv-square{height:180px}.sv-handle{width:22px;height:22px}.hue-slider{height:20px}.hue-slider::-webkit-slider-thumb{width:26px;height:26px}.hue-slider::-moz-range-thumb{width:26px;height:26px}.picker-readout input,.picker-preview{height:46px}.picker-readout input{font-size:16px}.picker-preview{width:46px}.suggestion-callout{border-radius:12px;padding:14px 10px;font-size:13px}.assignment-fact-field{border-radius:12px;height:44px}.suggestion-accept,.split-toggle{min-height:46px}.split-option-label{min-height:54px}.split-option-label input{width:20px;height:20px}.split-option-label strong{font-size:15px}.split-option-label small{font-size:13px}.split-option .split-remaining,.dialog-form input.split-amount{border-radius:12px;width:110px;height:46px;padding-inline:14px;font-size:16px}.split-total,.split-hint,.txn-edit-context{font-size:14px}.danger-button{min-height:52px;font-size:15px}.reset-month-button{width:48px;height:48px;min-height:48px;font-size:19px}.category-options button{min-height:68px;padding-inline:10px}.category-options strong{font-size:15px}.category-options small{font-size:13px}.category-options em{font-size:11px}.kind-switch label{height:46px;font-size:14px}.field-row{gap:12px}.month-filing-dialog .dialog-body p,.reset-month-dialog .dialog-body p{font-size:15px}.month-filing-optout{gap:10px;font-size:14px}.month-filing-optout input{width:20px;height:20px}.dialog-actions{z-index:1;padding:14px 18px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--dialog-veil-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);margin:4px -18px -18px;position:sticky;bottom:0}.dialog-actions>button{flex:1;min-height:52px;font-size:15px}.form-error{border-radius:10px;padding:12px;font-size:14px}.connect-body>p,.connect-body ul{font-size:14px}.connect-actions .primary-button{min-height:52px;font-size:15px}.budget-sticky{top:var(--topbar-height,56px);border-bottom:1px solid var(--line);margin:-22px -12px 0;padding:10px 12px}.ltb-bar{min-height:52px;padding:6px 8px 6px 12px}.ltb-copy{font-size:12.5px}.ltb-copy strong{font-size:21px}}@media (max-width:480px){.metric-grid,.import-dropzone{grid-template-columns:minmax(0,1fr)}.import-dropzone-half{min-height:0}.import-dropzone-half+.import-dropzone-half{border-left:0;border-top:2px dashed var(--line)}.import-bucket-row{grid-template-columns:minmax(0,1fr)}.metric-card{min-height:170px}.accounts-intro,.history-intro{display:grid}.intro-actions{flex-wrap:wrap;width:100%}.transactions-intro .intro-actions{width:auto}.board-actions{gap:8px}.board-actions .secondary-button{padding:0 10px}.quiet-alerts{grid-template-columns:minmax(0,1fr) auto}.assignment-choices{gap:7px}.suggestion-callout{padding:11px 8px}}@media (hover:none),(pointer:coarse){.tray-chip{cursor:default;-webkit-user-drag:none}body{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.auth-page{background:var(--canvas);place-items:center;min-height:100dvh;padding:1.5rem;display:grid}.auth-card{background:var(--panel);border:1px solid var(--line);width:min(24rem,100%);box-shadow:var(--shadow);border-radius:16px;gap:.75rem;padding:2rem 1.5rem;display:grid}.auth-card h1{color:var(--ink);font-size:20px}.auth-tagline{color:var(--muted);margin:0;font-size:13px}.auth-card form{gap:.5rem;display:grid}.auth-card label{color:var(--muted);font-size:12px;font-weight:740}.auth-card input{border:1px solid var(--line);min-height:44px;color:var(--ink);background:var(--panel);border-radius:9px;padding:0 .75rem;font-size:14px}.auth-card input:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.auth-card button[type=submit],.auth-card button[type=button]:not(.auth-mode-toggle),.auth-google-button{cursor:pointer;border-radius:9px;justify-content:center;align-items:center;min-height:44px;font-size:13px;font-weight:740;text-decoration:none;display:inline-flex}.auth-card button[type=submit],.auth-card button[type=button]:not(.auth-mode-toggle){background:var(--blue);color:var(--on-accent);border:none}.auth-card button[type=submit]:hover,.auth-card button[type=button]:not(.auth-mode-toggle):hover{background:var(--blue-dark)}.auth-card button[type=submit]:disabled,.auth-card button[type=button]:not(.auth-mode-toggle):disabled{opacity:.6;cursor:default}.auth-google-button{border:1px solid var(--line);background:var(--panel);color:var(--ink);gap:10px}.google-mark{flex:none}.auth-google-button:hover{border-color:var(--line-strong);background:var(--surface-hover)}.auth-divider{text-align:center;color:var(--muted);font-size:12px}.auth-error{color:var(--red);margin:0;font-size:13px}.auth-mode-toggle{color:var(--blue);cursor:pointer;background:0 0;border:none;min-height:44px;font-size:13px;text-decoration:underline}.auth-forgot{color:var(--blue);justify-self:start;font-size:12px;text-decoration:underline}.auth-legal{color:var(--muted);text-align:center;margin:0;font-size:11px}.auth-legal a{color:var(--muted);text-decoration:underline}.legal-page{max-width:42rem;color:var(--ink);margin:0 auto;padding:2rem 1.25rem 4rem}.legal-page article{gap:1.25rem;display:grid}.legal-page h1{font-size:22px}.legal-page h2{margin-top:.5rem;font-size:16px}.legal-page p,.legal-page li{color:var(--ink);font-size:14px;line-height:1.6}.legal-page .legal-updated{color:var(--muted);font-size:12px}.accounts-danger{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:0 4px;display:flex}.accounts-danger p{color:var(--muted);flex:260px;margin:0;font-size:11.5px;line-height:1.45}.accounts-disconnect-status{color:var(--muted);flex-basis:100%;margin:0;font-size:12px}.admin-shell{max-width:1100px;margin:0 auto;padding:24px 16px 64px}.admin-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.admin-header h1{margin:0;font-size:1.4rem}.admin-tabs{gap:8px;display:flex}.admin-tabs button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;padding:8px 16px}.admin-tabs button.active{background:var(--joo-green);border-color:var(--joo-green);color:#fff}.admin-notice{color:var(--joo-green);margin:8px 0}.admin-count{opacity:.7;margin:0 0 8px}.admin-table-scroll{overflow-x:auto}@media (min-width:1000px){.admin-table-scroll{overflow:visible}}.admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 10px}.admin-row-disabled{opacity:.55}.admin-email{font-weight:600;display:block}.admin-subtle{opacity:.65;font-size:.85em;display:block}.admin-flag{background:var(--red);color:#fff;border-radius:999px;margin-top:2px;padding:1px 8px;font-size:.75em;display:inline-block}.admin-actions{flex-wrap:wrap;gap:6px;display:flex}.admin-actions button,.admin-actions a{border:1px solid var(--line);cursor:pointer;color:inherit;background:0 0;border-radius:8px;padding:4px 10px;font-size:.85em;text-decoration:none}.admin-actions button:disabled{opacity:.5;cursor:default}.admin-load-more{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:8px;margin-top:12px;padding:8px 16px}.admin-metric-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px;display:grid}@media (min-width:900px){.admin-metric-grid{grid-template-columns:repeat(3,1fr)}}.admin-metric{border:1px solid var(--line);border-radius:12px;padding:12px 14px;position:relative}.admin-metric-value{margin:4px 0 0;font-size:1.6rem;font-weight:700}.admin-signups{flex-direction:column;gap:4px;margin:8px 0 0;padding:0;list-style:none;display:flex}.admin-signups li{align-items:center;gap:8px;display:flex}.admin-signup-bar{background:var(--joo-green);border-radius:5px;height:10px;display:inline-block}.admin-audit{flex-direction:column;margin:8px 0 0;padding:0;list-style:none;display:flex}.admin-audit li{border-bottom:1px solid var(--line);align-items:baseline;gap:12px;padding:6px 0;display:flex}.admin-audit li:last-child{border-bottom:none}.admin-audit-action{font-weight:600}.info-tip{vertical-align:middle;margin-left:6px;display:inline-flex;position:relative}.info-tip-trigger{border:1px solid var(--line-strong);width:16px;height:16px;color:var(--muted);cursor:help;background:0 0;border-radius:50%;place-items:center;padding:0;font-size:10px;font-weight:700;line-height:1;display:grid}:is(.info-tip-trigger:hover,.info-tip-trigger:focus-visible){color:var(--ink);border-color:var(--ink-soft)}.info-tip-bubble{z-index:30;border:1px solid var(--line);background:var(--panel-raised);width:max-content;max-width:280px;color:var(--ink);letter-spacing:0;text-align:left;text-transform:none;white-space:normal;opacity:0;pointer-events:none;border-radius:8px;padding:8px 10px;font-size:.78rem;font-weight:400;line-height:1.45;transition:opacity .12s;position:absolute;top:calc(100% + 8px);left:-8px}.info-tip:hover .info-tip-bubble,.info-tip:focus-within .info-tip-bubble{opacity:1}.admin-table th:nth-last-child(-n+3) .info-tip-bubble{left:auto;right:-8px}.admin-metric .info-tip{position:static}.admin-metric .info-tip-bubble{width:auto;max-width:none;top:calc(100% + 6px);left:10px;right:10px}.metric-card .info-tip{position:static}.metric-card .info-tip-bubble{width:auto;max-width:none;font-size:12px;top:calc(100% + 6px);left:0;right:0}.metric-card:hover,.metric-card:focus-within{overflow:visible}.metric-card:hover .info-tip-bubble{opacity:1}.metric-card.actions-card{cursor:pointer}.metric-card.hero-metric .info-tip-trigger{color:#dce1ff;border-color:#ffffff73}:is(.metric-card.hero-metric .info-tip-trigger:hover,.metric-card.hero-metric .info-tip-trigger:focus-visible){color:#fff;border-color:#fff}@media (prefers-reduced-motion:reduce){.info-tip-bubble{transition:none}}.landing{background:var(--canvas);min-height:100vh;color:var(--ink);flex-direction:column;display:flex}.landing-header{justify-content:space-between;align-items:center;width:100%;max-width:1040px;margin:0 auto;padding:18px 20px;display:flex}.landing-logo img{height:30px;display:block}.landing-logo .brand-dark,:root[data-theme=dark] .landing-logo .brand-light{display:none}:root[data-theme=dark] .landing-logo .brand-dark{display:block}.landing-signin{border:1px solid var(--line-strong);color:var(--ink);border-radius:999px;padding:8px 16px;font-size:14px;font-weight:640;text-decoration:none}.landing-signin:hover{background:var(--surface-hover-strong)}:is(.landing a:focus-visible,.landing summary:focus-visible){outline:2px solid var(--blue);outline-offset:2px}.landing-main{flex:1;width:100%;max-width:1040px;margin:0 auto;padding:24px 20px 56px}.landing-hero{align-items:center;gap:36px;padding:24px 0 40px;display:grid}@media (min-width:860px){.landing-hero{grid-template-columns:1.15fr 1fr;padding:48px 0 64px}}.landing-eyebrow{font-family:var(--font-geist-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin:0 0 14px;font-size:12px;font-weight:600}.landing-hero-copy h1{letter-spacing:-.02em;color:var(--ink);margin:0 0 16px;font-size:clamp(2rem,5.5vw,3.1rem);font-weight:740;line-height:1.08}.landing-sub{color:var(--muted);max-width:34rem;margin:0 0 26px;font-size:1.05rem;line-height:1.6}.landing-cta-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.landing-cta{background:var(--joo-green);color:var(--on-joo-green);border-radius:999px;padding:12px 22px;font-size:15px;font-weight:740;text-decoration:none;display:inline-block}.landing-cta:hover{filter:brightness(1.05)}.landing-cta-quiet{border:1px solid var(--line-strong);color:var(--ink);border-radius:999px;padding:12px 22px;font-size:15px;font-weight:640;text-decoration:none;display:inline-block}.landing-cta-quiet:hover{background:var(--surface-hover-strong)}.landing-ledger{border:1px solid var(--line);background:var(--panel);border-radius:16px;margin:0;padding:18px 20px;box-shadow:0 12px 32px #20253812}.landing-ledger-head{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.landing-ledger-month{font-size:15px;font-weight:740}.landing-ledger-tag{font-family:var(--font-geist-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);font-size:11px}.landing-ledger-row{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:16px;padding:10px 0;font-size:14px;display:flex}.landing-money{font-family:var(--font-geist-mono);font-variant-numeric:tabular-nums}.landing-ledger-income{color:var(--green);font-weight:640}.landing-ledger-name{flex:1;gap:5px;display:grid}.landing-ledger-bar{background:var(--surface-sunken);border-radius:3px;height:5px;display:block;overflow:hidden}.landing-ledger-bar span{background:var(--joo-green);border-radius:3px;height:100%;display:block}.landing-ledger-zero{background:var(--green-soft);color:var(--green-ink);border-bottom:none;border-radius:10px;margin-top:8px;padding:10px 12px;font-weight:740}.landing-features{gap:16px;padding:8px 0 40px;display:grid}@media (min-width:760px){.landing-features{grid-template-columns:repeat(3,1fr)}}.landing-features article{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:18px}.landing-features h2{margin:0 0 8px;font-size:16px;font-weight:740}.landing-features p{color:var(--muted);margin:0;font-size:14px;line-height:1.55}.landing-pricing{padding:8px 0 40px}.landing-pricing>h2,.landing-faq>h2{margin:0 0 16px;font-size:22px;font-weight:740}.landing-plans{gap:16px;display:grid}@media (min-width:700px){.landing-plans{grid-template-columns:1fr 1fr}}.landing-plan{border:1px solid var(--line);background:var(--panel);border-radius:16px;flex-direction:column;padding:22px;display:flex}.landing-plan-sync{border:2px solid var(--joo-green)}.landing-plan h3{color:var(--muted);margin:0;font-size:15px;font-weight:740}.landing-price{align-items:baseline;gap:8px;margin:8px 0 12px;display:flex}.landing-price .landing-money{color:var(--ink);font-size:2.2rem;font-weight:700}.landing-price-note{color:var(--faint);font-size:13px}.landing-plan ul{flex:1;gap:8px;margin:0 0 20px;padding:0;list-style:none;display:grid}.landing-plan li{color:var(--ink-soft);padding-left:20px;font-size:14px;position:relative}.landing-plan li:before{content:"✓";color:var(--green);font-weight:700;position:absolute;left:0}.landing-plan .landing-cta,.landing-plan .landing-cta-quiet{text-align:center}.landing-faq{max-width:44rem;padding:8px 0 24px}.landing-faq details{border-bottom:1px solid var(--line);padding:4px 0}.landing-faq summary{cursor:pointer;padding:10px 0;font-size:15px;font-weight:640}.landing-faq summary:hover{color:var(--green-ink)}.landing-faq details p{color:var(--muted);margin:0 0 14px;font-size:14px;line-height:1.6}.landing-footer{border-top:1px solid var(--line);width:100%;max-width:1040px;color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;padding:20px;font-size:13px;display:flex}.landing-footer nav{gap:16px;display:flex}.landing-footer a{color:var(--muted);text-decoration:none}.landing-footer a:hover{color:var(--ink);text-decoration:underline}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
