:root{--desk: #c9cfd4;--desk-2: #bcc3c9;--manila: #e6d5ae;--manila-2: #d8c391;--kraft: #a97c50;--navy: #1f2b3d;--navy-2: #2c3b52;--paper: #fbf8f1;--ink: #1f2b3d;--ink-2: #4d586a;--muted: #6f7884;--rule: #dcd6c8;--rule-strong: #b8b09c;--stamp: #b3392c;--postal: #2e6a4e;--accent: #1f2b3d;--accent-ink: #fbf8f1;--sans: "Archivo", system-ui, sans-serif;--radius: 4px;--lift: 0 1px 0 rgba(31, 43, 61, .08), 0 10px 24px -14px rgba(31, 43, 61, .55);--lift-hi: 0 2px 0 rgba(31, 43, 61, .08), 0 22px 34px -16px rgba(31, 43, 61, .6);--in: var(--postal);--out: var(--stamp);--card: var(--paper);--paper-2: #f1ece1;--margin: var(--stamp);--serif: var(--sans);--mono: var(--sans)}*{box-sizing:border-box}html,body,#root{height:100%}html,body{overflow-x:clip;overscroll-behavior-x:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}@media(display-mode:standalone){html,body{overscroll-behavior-y:none}html{min-height:min(100lvh,calc(100% + env(safe-area-inset-top)))}}.ptr{position:fixed;left:50%;top:calc(env(safe-area-inset-top) + 64px);z-index:20;translate:-50% 0;display:flex;align-items:center;gap:8px;padding:7px 14px;border-radius:99px;background:var(--navy);color:#fff;font-size:13px;font-weight:600;box-shadow:var(--lift);pointer-events:none;transition:opacity .15s}.ptr .spin{width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%}.ptr.busy .spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}body{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button,.tabbar,.mobile-top,.group-row,.env-row{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}body{margin:0;background:var(--desk);color:var(--ink);font:15px/1.5 var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;font-family:var(--sans);letter-spacing:-.01em}h1{font-size:34px;line-height:1.1;font-weight:700;font-stretch:112%}h2{font-size:22px;font-weight:650}h3{font-size:16px;font-weight:650}em{font-style:normal}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.muted{color:var(--muted)}.small{font-size:13px}.eyebrow{margin:0 0 2px;font-size:13px;font-weight:500;color:var(--muted)}.error{color:var(--stamp);font-size:14px;margin:6px 0}.ok{color:var(--postal);font-size:14px}.neg{color:var(--stamp)}button{font:inherit;color:inherit;cursor:pointer;background:none;border:0}button:disabled{cursor:not-allowed;opacity:.45}:focus-visible{outline:2px solid var(--kraft);outline-offset:2px}.primary{background:var(--navy);color:var(--accent-ink);padding:9px 16px;border-radius:var(--radius);font-weight:600;transition:background .15s ease,transform .08s ease}.primary:hover:not(:disabled){background:var(--navy-2)}.primary:active:not(:disabled){transform:translateY(1px)}.ghost{padding:8px 12px;border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--paper);font-weight:500}.ghost:hover:not(:disabled){border-color:var(--ink-2)}.danger{background:var(--stamp);color:#fff;padding:9px 14px;border-radius:var(--radius);font-weight:600}.danger-text{color:var(--stamp)}.link{color:var(--ink);text-decoration:underline;text-decoration-color:var(--kraft);text-underline-offset:3px;padding:0;font-weight:500}.link.faint{color:var(--muted);text-decoration-color:currentColor}.icon{width:30px;height:30px;border-radius:var(--radius);color:var(--muted);font-size:18px;line-height:1}.icon:hover{background:#1f2b3d14;color:var(--ink)}input,select{font:inherit;color:var(--ink);background:#fff;border:1px solid var(--rule-strong);border-radius:var(--radius);padding:8px 10px;min-width:0}input:focus,select:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px #1f2b3d24}input[type=color]{padding:2px;width:38px;height:38px}input.big{font-size:24px;font-weight:600;padding:6px 10px;font-variant-numeric:tabular-nums}.login{--l-paper: #f3eee4;--l-card: #fbf8f2;--l-ink: #1d1b17;--l-ink-2: #4a453c;--l-muted: #8a8273;--l-rule: #d9d0bf;--l-rule-strong: #b9ad97;--l-margin: #c9564a;--l-accent: #1f3b5a;--l-serif: "Instrument Serif", Georgia, serif;--l-sans: "IBM Plex Sans", system-ui, sans-serif;--l-mono: "IBM Plex Mono", ui-monospace, monospace;min-height:100%;display:grid;place-items:center;padding:16px;color:var(--l-ink);font:14px/1.45 var(--l-sans);background-color:var(--l-paper);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.1 0 0 0 0 0.09 0 0 0 0 0.07 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.login-card{width:min(420px,100%);background:var(--l-card);border:1px solid var(--l-rule);border-left:3px double var(--l-margin);padding:40px 36px 32px;box-shadow:0 1px #1d1b170a,0 12px 32px -12px #1d1b1747;display:grid;gap:14px;animation:rise .5s cubic-bezier(.2,.7,.2,1) both}.login-card h1{font:400 56px/1.05 var(--l-serif);font-stretch:normal;letter-spacing:-.01em;color:var(--l-ink)}.login-card h1 em{font-style:italic}.login-card .eyebrow{margin:0 0 4px;font:500 11px/1 var(--l-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--l-muted)}.login-card .muted{color:var(--l-muted)}.login-card .small{font-size:12.5px}.login-card label{display:grid;gap:6px;font-weight:500}.login-card input{font:inherit;color:var(--l-ink);background:var(--l-card);border:1px solid var(--l-rule-strong);border-radius:3px;padding:8px 10px}.login-card input:focus{outline:none;border-color:var(--l-accent);box-shadow:0 0 0 3px #1f3b5a26}.login-card .ghost{padding:8px 12px;border:1px solid var(--l-rule-strong);border-radius:3px;background:var(--l-card);font-weight:400}.login-card .ghost:hover:not(:disabled){border-color:var(--l-ink-2)}.login-card .error{color:#a3322b;font-size:13px}.google-button{min-height:44px}.google-button[aria-busy=true]{opacity:.5;pointer-events:none}.dev-login{display:grid;gap:8px;margin-top:6px;padding-top:16px;border-top:1px dashed var(--l-rule-strong)}.dev-login .eyebrow,.dev-login p{margin:0}.shell{display:grid;grid-template-columns:268px minmax(0,1fr);min-height:100%}.sidebar{background:var(--navy);color:#dfe5ee;padding:22px 16px 18px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100vh;overflow-y:auto}.wordmark{font-size:22px;font-weight:800;font-stretch:125%;letter-spacing:-.01em;color:#fff;padding:0 6px}.drawer{background:var(--navy-2);border-radius:8px;padding:14px 14px 12px;display:grid;gap:4px;box-shadow:inset 0 1px #ffffff0f,inset 0 -2px #00000040}.drawer .label{font-size:13px;color:#aab6c6}.drawer .figure{font-size:32px;font-weight:700;font-stretch:110%;line-height:1.1;color:#fff}.drawer.negative .figure{color:#ffb1a6}.drawer .state{font-size:13px;color:#aab6c6}.drawer .primary{margin-top:8px;background:var(--manila);color:var(--navy)}.drawer .primary:hover:not(:disabled){background:#efe1bf}.nav{display:grid;gap:2px}.nav button{text-align:left;padding:8px 10px;border-radius:var(--radius);font-weight:500;color:#c3ccd8}.nav button:hover{background:#ffffff0f;color:#fff}.nav button.active{background:#ffffff1a;color:#fff;box-shadow:inset 3px 0 0 var(--manila)}.acct-group h3{display:flex;justify-content:space-between;margin:4px 10px 6px;font-size:13px;font-weight:500;color:#8f9db0}.acct-group ul{list-style:none;margin:0;padding:0}.acct{display:grid;grid-template-columns:1fr auto 26px;align-items:center;gap:6px;padding:1px 2px 1px 10px;border-radius:var(--radius)}.acct:hover{background:#ffffff0d}.acct.selected{background:#ffffff1a}.acct .icon{opacity:0;color:#8f9db0;width:26px;height:26px;font-size:14px}.acct:hover .icon,.acct .icon:focus-visible{opacity:1}.acct .icon:hover{background:#ffffff1a;color:#fff}.acct-name .nm{overflow:hidden;text-overflow:ellipsis}.acct-name{min-width:0;text-align:left;padding:5px 0;display:flex;align-items:center;gap:8px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#dfe5ee}.acct .num{font-size:13.5px;color:#c3ccd8}.acct .num.neg{color:#ffb1a6}.dot{width:7px;height:7px;border-radius:50%;flex:none;background:#8fb3d9}.dot.cash{background:#8fd1ad}.dot.investment{background:var(--manila)}.closed-group{opacity:.7}.group-toggle{font:inherit;color:inherit;padding:0}.sidebar .add{color:#c3ccd8;border:1px dashed rgba(255,255,255,.25);background:none}.sidebar .add:hover:not(:disabled){border-color:#ffffff80;color:#fff}.sidebar-foot{margin-top:auto;display:grid;gap:8px}.who{display:flex;justify-content:space-between;gap:8px;font-size:13px;color:#8f9db0;padding:10px 6px 0;border-top:1px solid rgba(255,255,255,.08)}.who span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.who .link{color:#c3ccd8;text-decoration-color:#ffffff4d}.close-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px dashed var(--rule-strong)}.main{min-width:0;padding:26px 32px 40px}.budget{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}.budget.with-panel{grid-template-columns:minmax(0,1fr) 340px}.budget>*{min-width:0}.budget-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.month-nav{display:flex;align-items:center;gap:6px}.month-nav h1{min-width:9ch}.month-title{position:relative;cursor:pointer}.month-title input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.month-nav .icon{font-size:24px}.budget-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sheet{background:var(--paper);border-radius:8px;box-shadow:var(--lift);overflow-x:auto}.budget-table{width:100%;border-collapse:collapse;font-size:14.5px}.budget-table th{text-align:left;font-size:13px;font-weight:600;color:var(--ink-2);padding:11px 14px;border-bottom:2px solid var(--rule-strong);white-space:nowrap}.budget-table td{padding:5px 14px;border-bottom:1px solid var(--rule);vertical-align:middle}.budget-table .amt{text-align:right;white-space:nowrap;width:1%}.budget-table .num{font-variant-numeric:tabular-nums}.goal-col{width:190px}.group-row td{background:#f1ece1;font-weight:650;padding-top:8px;padding-bottom:8px}.group-cell{display:flex;align-items:center;gap:4px;min-width:0}.group-toggle{display:flex;align-items:center;gap:8px;flex:1;min-width:0;padding:2px 0;text-align:left;font:inherit;color:inherit}.caret{flex:none;width:18px;color:var(--muted);font-size:12px}.group-name{min-width:0;font-weight:700;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.group-actions{display:flex;flex:none;opacity:0;transition:opacity .15s}.group-row:hover .group-actions,.group-actions:focus-within{opacity:1}.group-row.narrow{display:none}.group-available{flex:none;margin-left:auto;padding-left:12px;text-align:right}.group-act{width:30px;height:30px;font-size:18px;font-weight:500;color:var(--ink-2)}.env-row{cursor:pointer}.env-row:hover td{background:#f6f2e8}.env-row.selected td{background:#e9eef5}.env-row.selected td:first-child{box-shadow:inset 3px 0 0 var(--navy)}.env-row.hidden-row{opacity:.55}.env-name{padding-left:42px!important}input.assign{width:116px;text-align:right;padding:5px 8px;border-color:transparent;background:transparent;font-variant-numeric:tabular-nums}.env-row:hover input.assign,input.assign:focus{border-color:var(--rule-strong);background:#fff}.spent{padding:0;color:var(--ink-2);font-variant-numeric:tabular-nums}.spent:hover{text-decoration:underline;text-underline-offset:3px}.pill{display:inline-block;min-width:84px;padding:2px 10px;border-radius:99px;text-align:right;font-weight:650}.pill.pos{background:#dcebe2;color:var(--postal)}.pill.zero{background:#ebe7dd;color:var(--muted)}.pill.over{background:#f6dcd8;color:var(--stamp)}.pill.short{background:#f8ebc4;color:#8a6100}.env-sub{display:block;font-size:12.5px;color:var(--muted)}.hidden-section .group-row{cursor:pointer}.hidden-section .group-row td{color:var(--ink-2)}.goal{display:grid;grid-template-columns:70px auto;align-items:center;gap:8px;color:var(--ink-2)}.goal{--goal: #c99a1e}.goal.done{--goal: var(--postal);color:var(--postal)}.goal .small{white-space:nowrap}.add-plus{display:none}.goal .bar{height:6px;border-radius:3px;background:var(--rule);overflow:hidden}.goal .bar span{display:block;height:100%;background:var(--goal)}.budget-table tfoot td{font-weight:700;border-bottom:0;border-top:2px solid var(--rule-strong);padding-top:10px;padding-bottom:10px}.panel-env{position:sticky;top:20px;background:var(--paper);border-radius:8px;box-shadow:var(--lift);padding:20px;display:grid;gap:18px;max-height:calc(100vh - 40px);overflow-y:auto;animation:slide-in .22s cubic-bezier(.2,.7,.2,1) both}.panel-env>*,.panel-env .grid2>*,.figures>*{min-width:0}.panel-env input,.panel-env select{width:100%}.panel-env .check input{width:auto}.panel-env header{display:flex;justify-content:space-between;align-items:start;gap:8px}.panel-env .title{font-size:22px;font-weight:700;line-height:1.2}.panel-env .group{font-size:13px;color:var(--muted)}.figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.figures div{display:grid;gap:2px}.figures span:first-child{font-size:12.5px;color:var(--muted)}.figures .num{font-size:18px;font-weight:650}.figures .avail{color:var(--postal)}.figures .avail.over{color:var(--stamp)}.assign-row{display:grid;gap:6px;font-size:13.5px;font-weight:500;color:var(--ink-2)}.assign-row .row{display:flex;gap:8px}.assign-row input{flex:1;min-width:0}.assign-row .primary{flex:none}.panel-section{display:grid;gap:10px;padding-top:16px;border-top:1px solid var(--rule)}.panel-section h3{display:flex;justify-content:space-between;align-items:baseline}.goal-meter{height:8px;border-radius:4px;background:var(--rule);overflow:hidden}.goal-meter span{display:block;height:100%;background:var(--postal)}.choice{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--rule-strong);border-radius:var(--radius);overflow:hidden}.choice.two{grid-template-columns:repeat(2,1fr)}.choice button{padding:7px 6px;font-size:13.5px;font-weight:500;color:var(--ink-2)}.choice button+button{border-left:1px solid var(--rule-strong)}.choice button.on{background:var(--navy);color:#fff}.recent{list-style:none;margin:0;padding:0}.recent li{display:grid;grid-template-columns:auto 1fr auto;gap:10px;padding:7px 0;border-bottom:1px solid var(--rule);font-size:14px}.recent .date{color:var(--muted);font-size:13px}.recent .who-paid{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budget-empty{max-width:560px;padding:28px;background:var(--paper);border-radius:8px;box-shadow:var(--lift);display:grid;gap:12px;justify-items:start}.budget-empty p{margin:0}.inline-add{display:flex;gap:6px;align-items:center}.inline-add input{flex:1}.register-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px}.balance{font-size:22px;font-weight:650;margin:4px 0 0;color:var(--postal)}.balance.neg{color:var(--stamp)}.filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px}.filters .search{flex:1 1 200px}.chip{padding:6px 11px;border-radius:99px;background:var(--navy);color:#fff;font-size:13px}.table-wrap{background:var(--paper);border-radius:8px;box-shadow:var(--lift);overflow-x:auto;transition:opacity .15s}.table-wrap.loading{opacity:.55}table.ledger{width:100%;border-collapse:collapse}.ledger th{text-align:left;font-size:13px;font-weight:600;color:var(--ink-2);padding:12px 14px;border-bottom:2px solid var(--rule-strong)}.ledger td{padding:9px 14px;border-bottom:1px solid var(--rule);vertical-align:middle}.ledger tbody tr{cursor:pointer}.ledger tbody tr:hover{background:#f3eee2}.ledger .date{width:112px;white-space:nowrap;color:var(--ink-2);font-size:14px;font-variant-numeric:tabular-nums}.ledger .amt{text-align:right;white-space:nowrap;font-weight:600;font-variant-numeric:tabular-nums}.ledger .amt.in{color:var(--postal)}.ledger .amt.out{color:var(--stamp)}.acct-cell{color:var(--ink-2);white-space:nowrap}.payee{text-align:left;padding:0}.payee:hover{text-decoration:underline;text-underline-offset:3px}.env-cell .payee{font-weight:500}.to-fill-tag{font-size:13px;font-weight:600;color:var(--postal)}.no-env{font-size:12.5px;font-weight:600;color:var(--stamp)}.ledger .transfer{color:var(--ink-2);font-style:italic}.notes{color:var(--ink-2);max-width:420px}.notes span:last-child{overflow-wrap:anywhere}.empty td{text-align:center;color:var(--muted);padding:40px;cursor:default}.tag{--c: #546e7a;display:inline-flex;align-items:center;gap:5px;margin-right:6px;padding:2px 8px 2px 7px;border-radius:99px;font-size:12px;font-weight:600;color:var(--c);background:color-mix(in srgb,var(--c) 12%,transparent);border:1px solid color-mix(in srgb,var(--c) 35%,transparent);white-space:nowrap}.tag:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--c)}.pager{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:14px}.pager .muted{margin-right:auto;font-size:13.5px}.summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--paper);border-radius:8px;box-shadow:var(--lift);margin:0 0 18px}.summary .figure{padding:14px 16px 12px;display:grid;gap:4px}.summary .figure+.figure{border-left:1px solid var(--rule)}.summary .figure .eyebrow{margin:0}.summary .figure .num{font-size:21px;font-weight:650}.summary .figure small{font-size:12.5px}.backdrop{position:fixed;inset:0;background:#1f2b3d73;display:grid;place-items:center;padding:16px;z-index:10;animation:fade .15s ease both}.modal{width:min(560px,100%);max-height:calc(100vh - 32px);overflow-y:auto;background:var(--paper);border-radius:8px;box-shadow:var(--lift-hi);padding:22px 26px 24px;animation:rise .22s cubic-bezier(.2,.7,.2,1) both}.modal header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.form{display:grid;gap:14px}.form>button{justify-self:start}.form.narrow{max-width:420px;margin-top:14px}.form label,.field-title{display:grid;gap:6px;font-size:13.5px;font-weight:500;color:var(--ink-2)}.form label.check{display:flex;align-items:center;gap:8px;font-size:15px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.row{display:flex;gap:6px}.row input{flex:1}.toggle{width:40px;border:1px solid var(--rule-strong);border-radius:var(--radius);font-size:18px;font-weight:700;color:var(--postal)}.toggle.neg{color:var(--stamp)}.actions{display:flex;gap:8px;align-items:center;margin-top:4px}.actions .spacer,.spacer{flex:1}.actions:not(:has(.spacer)){justify-content:flex-end}.segmented{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--rule-strong);border-radius:var(--radius);overflow:hidden}.seg{padding:9px;font-size:14px;font-weight:600;color:var(--ink-2)}.seg+.seg{border-left:1px solid var(--rule-strong)}.seg.on.outflow{background:var(--stamp);color:#fff}.seg.on.inflow{background:var(--postal);color:#fff}.seg.on.transfer{background:var(--navy);color:#fff}.payee-field{position:relative}.suggest{position:absolute;top:100%;left:0;right:0;z-index:2;list-style:none;margin:4px 0 0;padding:4px;background:#fff;border:1px solid var(--rule-strong);border-radius:var(--radius);box-shadow:var(--lift)}.suggest button{width:100%;text-align:left;padding:7px 8px;border-radius:var(--radius);color:var(--ink)}.suggest button:hover{background:var(--paper-2)}.label-pick>div{display:flex;flex-wrap:wrap;gap:6px}.tag.pick{cursor:pointer;opacity:.55;padding:4px 10px 4px 8px}.tag.pick.on{opacity:1;background:color-mix(in srgb,var(--c) 22%,transparent);box-shadow:inset 0 0 0 1px var(--c)}.panel{max-width:760px;background:var(--paper);border-radius:8px;box-shadow:var(--lift);padding:26px 30px 30px}.panel>.muted{margin:8px 0 0}.settings-section{margin-top:30px;padding-top:22px;border-top:1px solid var(--rule-strong);scroll-margin-top:24px}.settings-section h2{margin-bottom:4px}.label-new{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 8px}.label-new .swatches{flex-basis:100%}.swatches{display:flex;flex-wrap:wrap;gap:8px}.swatch{width:28px;height:28px;border-radius:50%;box-shadow:inset 0 0 0 1px #0000001f}.swatch.on{box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--ink)}.label-new input:not([type=color]){flex:1}.label-list{list-style:none;margin:18px 0 0;padding:0;border-top:1px solid var(--rule-strong)}.label-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--rule)}.label-row .swatches{grid-column:1 / -1}.label-row .error{grid-column:2 / -1;margin:0}.lede{font-size:16px;color:var(--ink-2);max-width:560px;margin:8px 0 0}.welcome{max-width:640px;padding:24px 0 0}.welcome h1{font-size:48px;font-stretch:120%}.welcome-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.welcome-rules{display:none}.confirm{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px 14px;border:1px solid color-mix(in srgb,var(--stamp) 40%,transparent);background:color-mix(in srgb,var(--stamp) 7%,transparent);border-radius:var(--radius)}.confirm p{margin:0;flex-basis:100%}.ynab-step{display:grid;grid-template-columns:44px 1fr;gap:16px;margin-top:22px;padding-top:20px;border-top:1px solid var(--rule)}.ynab-step h3{margin:5px 0 6px;font-size:19px}.ynab-step .grow{min-width:0}.step-no{width:36px;height:36px;display:grid;place-items:center;border:2px solid var(--navy);border-radius:50%;font-weight:700}.plan-list{list-style:none;margin:12px 0 10px;padding:0;border-top:1px solid var(--rule-strong)}.plan-list li{border-bottom:1px solid var(--rule)}.plan{width:100%;display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;padding:12px 8px;text-align:left}.plan:hover:not(:disabled),.plan.current{background:#f3eee2}.plan-name{font-size:17px;font-weight:600}.plan-go{font-size:13.5px;font-weight:600;opacity:0;transition:opacity .15s}.plan:hover .plan-go{opacity:1}.inking{margin-top:16px;display:grid;gap:12px;max-width:520px}.inking span{height:9px;border-radius:2px;background:linear-gradient(90deg,var(--navy) 0 30%,transparent 30% 36%,var(--ink-2) 36% 78%,transparent 78% 84%,var(--kraft) 84%);opacity:.2;transform-origin:left;animation:ink 1.4s ease-in-out infinite both}.sync-result{margin-top:16px;display:grid;gap:14px;justify-items:start}.sync-result .figures{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:560px;border-top:2px solid var(--navy);padding-top:10px}.sync-result .figure .num{font-size:28px;font-weight:700}.sync-result .figure .eyebrow{overflow-wrap:anywhere}.ynab .actions{flex-wrap:wrap}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}@keyframes fade{0%{opacity:0}}@keyframes slide-in{0%{opacity:0;transform:translate(12px)}}@keyframes ink{0%{transform:scaleX(0);opacity:.08}55%{transform:scaleX(1);opacity:.3}to{transform:scaleX(1);opacity:.06}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.balance-card{display:grid;gap:2px;padding:14px 16px;border-radius:8px;background:#ebe7dd}.balance-card.pos{background:#dcebe2}.balance-card.short{background:#f8ebc4}.balance-card.over{background:#f6dcd8}.balance-card .big-figure{font-size:30px;font-weight:700;font-stretch:108%;line-height:1.15}.balance-card.pos .big-figure,.balance-card.pos .status{color:var(--postal)}.balance-card.short .big-figure,.balance-card.short .status{color:#8a6100}.balance-card.over .big-figure,.balance-card.over .status{color:var(--stamp)}.balance-card .status{font-weight:600}.balance-card dl{display:grid;grid-template-columns:1fr auto;gap:4px 12px;margin:10px 0 0;padding-top:10px;border-top:1px solid rgba(31,43,61,.12);font-size:14px}.balance-card dt{color:var(--ink-2)}.balance-card dd{margin:0;font-weight:600;text-align:right}.panel-section>h3,.assign-row h3{margin:0}.assign-row label{display:block}.quick{display:flex;flex-wrap:wrap;gap:6px}.quick:empty{display:none}.chip-btn{padding:5px 10px;border-radius:99px;background:#e9eef5;color:var(--navy);font-size:13px;font-weight:600}.chip-btn:hover{background:#dae3ef}.goal-line{margin:0;font-weight:600}.goal-meter span.short{background:#c99a1e}.panel-section .small.muted,.panel-section p.small{margin:0}.panel-section>.ghost{justify-self:start}.button-row{display:flex;flex-wrap:wrap;gap:8px}.button-row .ghost{flex:1}.repeat{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.form label.repeat-every{display:flex;align-items:center;gap:8px;font-size:15px;color:var(--ink)}.repeat-every input{width:64px;text-align:right}.field-title .hint{font-weight:400}.mobile-top,.tabbar,.mobile-search,.tx-list,.mobile-only,.budget-table .assign-text{display:none}.month-plan{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;margin-bottom:14px;padding:12px 16px;border-radius:8px;background:#f8ebc4;border-left:4px solid #c9a227}.month-plan.has-over{background:#f6dcd8;border-left-color:var(--stamp)}.month-plan .plan-text{display:grid;gap:2px;min-width:0}.month-plan ul{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:1px}.month-plan li.over{color:var(--stamp);font-weight:600}.month-plan .primary{flex:none}.fill-figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.fill-figures>div{display:grid;gap:2px;padding:10px 12px;border-radius:8px;background:var(--paper-2)}.fill-figures .num{font-size:18px;font-weight:700;overflow-wrap:anywhere}.fill-figures .short{background:#f8ebc4}.fill-figures .short .num{color:#8a6100}.fill-sheet label.check{align-items:flex-start}.fill-sheet label.check input{margin-top:4px}.check-text{display:grid;gap:2px}.fill-sheet h3{margin:4px 0 6px;font-size:14px;color:var(--ink-2)}.fill-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}.fill-list li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--rule)}.fill-list .name{min-width:0;overflow-wrap:anywhere}.fill-list .num{flex:none;font-weight:600;text-align:right}.fill-list .partial .num,.fill-list .of{color:#8a6100}.fill-list .of{font-weight:400}.fill-list.unreached li{color:var(--muted)}.fill-list.unreached .num{font-weight:400}.toast{position:fixed;left:50%;bottom:24px;z-index:60;transform:translate(-50%);max-width:calc(100vw - 32px);padding:10px 16px;border-radius:8px;background:var(--navy);color:var(--accent-ink);box-shadow:var(--lift-hi);animation:toast-in .2s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}@media(max-width:1100px){.budget,.budget.with-panel{grid-template-columns:1fr}.panel-env{position:static;max-height:none}}@media(max-width:860px){.month-plan{flex-direction:column;align-items:stretch}.toast{bottom:calc(84px + env(safe-area-inset-bottom))}.fill-figures .num{font-size:16px}.shell{grid-template-columns:1fr;align-content:start;padding-bottom:calc(60px + max(6px,env(safe-area-inset-bottom) - 22px))}.sidebar,.desktop-only{display:none!important}.mobile-only{display:block}.mobile-top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top));background:var(--navy);color:#fff}.mobile-top .wordmark{font-size:17px;padding:0}.drawer.compact{display:flex;align-items:center;gap:10px;padding:6px 8px 6px 12px;border-radius:8px}.drawer.compact .drawer-figures{display:grid;line-height:1.1}.drawer.compact .label{font-size:11.5px}.drawer.compact .figure{font-size:18px}.drawer.compact .primary{margin:0;padding:7px 10px;font-size:13px}.tabbar{position:fixed;inset:auto 0 0;z-index:15;display:grid;grid-template-columns:1fr 1fr 64px 1fr 1fr;align-items:center;--tab-bottom: max(6px, calc(env(safe-area-inset-bottom) - 22px) );padding:4px 6px var(--tab-bottom);background:var(--paper);border-top:1px solid var(--rule);box-shadow:0 -8px 24px -18px #1f2b3d80}.tabbar button{display:grid;justify-items:center;gap:2px;padding:4px 0;font-size:11.5px;font-weight:600;color:var(--muted)}.tabbar button.active{color:var(--navy)}.tabbar .tab-add{width:52px;height:52px;margin:-22px auto 0;border-radius:50%;background:var(--navy);color:#fff;font-size:30px;font-weight:400;line-height:1;place-items:center;box-shadow:0 8px 18px -8px #1f2b3db3}.main{padding:16px 12px 24px}.grid2{grid-template-columns:1fr}.grid2.amount-row{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}h1{font-size:26px}.sync-result .figure .num{font-size:22px}.ynab .actions .primary{flex-basis:100%}.panel{padding:18px 16px}.summary,.budget-table .spent-col,.budget-table .goal-col,.budget-table .assign-cell{display:none}.budget-table .assign-text{display:table-cell}.budget-table{font-size:15px;table-layout:fixed}.budget-table th:nth-child(2){width:27%}.budget-table th:nth-child(4){width:30%}.env-name{overflow:hidden;text-overflow:ellipsis}.group-row.wide{display:none}.group-row.narrow{display:table-row}.group-row.narrow .group-toggle{flex:0 1 auto}.group-actions{opacity:1}.group-act{width:36px;height:40px;margin:-6px 0}input.assign{width:100%}.budget-table td,.budget-table th{padding-left:10px;padding-right:10px}.budget-table td{padding-top:9px;padding-bottom:9px}.env-name{padding-left:22px!important;white-space:normal;overflow-wrap:anywhere;line-height:1.25}.pill{min-width:0}.add-text{display:none}.add-plus{display:inline}.budget-head{margin-bottom:12px;flex-wrap:nowrap}.budget-head .month-nav h1{min-width:0;font-size:22px;white-space:nowrap}.budget-head .new-group{padding:6px 10px;font-size:14px;white-space:nowrap}.budget-head .inline-add{position:fixed;inset:auto 12px calc(80px + env(safe-area-inset-bottom)) 12px;z-index:16;padding:10px;background:var(--paper);border-radius:10px;box-shadow:var(--lift-hi)}.budget.with-panel>aside{overscroll-behavior:contain;position:fixed;inset:0 0 calc(60px + max(6px,env(safe-area-inset-bottom) - 22px)) 0;z-index:12;overflow-y:auto;background:var(--desk);padding:calc(12px + env(safe-area-inset-top)) 12px 12px;animation:rise .2s ease both}.budget.with-panel>aside .panel-env{position:static;max-height:none}.table-wrap{display:none}.mobile-search{display:flex;gap:8px;margin-bottom:10px}.mobile-search .search{flex:1}.mobile-search .ghost.on{background:var(--navy);color:#fff}.filters{display:none}.filters.open{display:grid;grid-template-columns:1fr 1fr}.filters.open .muted{display:none}.filters .chip,.filters .link{justify-self:start}.tx-list{display:block;list-style:none;margin:0;padding:0;background:var(--paper);border-radius:8px;box-shadow:var(--lift);transition:opacity .15s}.tx-list.loading{opacity:.55}.tx-list li+li{border-top:1px solid var(--rule)}.tx-list button{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;text-align:left}.tx-main{flex:1;min-width:0;display:grid}.tx-what{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-meta{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-amt{font-weight:650;white-space:nowrap}.tx-amt.out{color:var(--stamp)}.tx-amt.in{color:var(--postal)}.empty-li{padding:28px;text-align:center}.pager{justify-content:space-between}.accounts-view .account-list{display:grid;gap:14px;margin-top:14px}.accounts-view .acct-group h3{color:var(--muted)}.accounts-view .acct-name,.accounts-view .acct .num{color:var(--ink);font-size:15px}.accounts-view .acct{padding:4px 2px 4px 10px}.accounts-view .acct{grid-template-columns:1fr auto 44px}.accounts-view .acct .icon{opacity:1;width:44px;height:44px;font-size:18px;color:var(--ink-2)}.accounts-view .add{color:var(--ink-2);border:1px dashed var(--rule-strong)}.backdrop{padding:0;place-items:end stretch;z-index:30}.modal .actions{position:sticky;bottom:calc(-18px - env(safe-area-inset-bottom));z-index:1;margin:0 -16px calc(-18px - env(safe-area-inset-bottom));padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--rule)}.modal{overscroll-behavior:contain;width:100%;max-height:92vh;border-radius:14px 14px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom))}input,select{font-size:16px}}.sidebar .account-list{display:grid;gap:14px}.drawer-figures{display:grid;gap:4px}@media(max-width:360px){.mobile-top .wordmark{display:none}.mobile-top .drawer.compact{flex:1;justify-content:space-between}.budget-table td,.budget-table th{padding-left:6px;padding-right:6px}.env-name{padding-left:14px!important}.budget-table .num,input.assign{font-size:14px}input.assign{padding:5px 2px}.pill{padding:2px 6px}.group-cell{gap:4px}}
