.ledger-app{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f1f4f8;--surface:#fff;--raised:#f8fafc;--border:#e1e6ee;--text-1:#18202f;--text-2:#586477;--text-3:#657186;--neutral-bg:#edf1f6;--income:#42d48a;--income-bg:#e5f8ed;--income-text:#126c3c;--expense:#ff8275;--expense-bg:#fff0ed;--expense-text:#a62b23;--planning:#ffcf59;--planning-text:#57410a;--c2:#245bcb;--c2-bg:#e8efff;--p2:#7541bf;--p2-bg:#f1eaff;--shadow:0 3px 16px #172b4d04}.ledger-app[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#08090b;--surface:#111318;--raised:#191c22;--border:#2b3039;--text-1:#f0f3f9;--text-2:#b5bfd0;--text-3:#a3afc0;--neutral-bg:#2a3240;--income-bg:#173f30;--income-text:#76e5a9;--expense-bg:#462b2d;--expense-text:#ffa397;--c2:#9cbbff;--c2-bg:#233a60;--p2:#d0afff;--p2-bg:#3b2a55;--shadow:none}.ledger-app *{box-sizing:border-box}.ledger-app,.ledger-app,.ledger-app{min-height:100%;margin:0}.ledger-app{color:var(--text-1);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Geist,system-ui,sans-serif;line-height:1.45}.ledger-app h1,.ledger-app h2,.ledger-app p{margin:0}.ledger-app button,.ledger-app input,.ledger-app textarea,.ledger-app select{font:inherit}.ledger-app button{cursor:pointer;color:inherit;transition:background .15s,border-color .15s,transform .15s}.ledger-app button:active:not(:disabled){transform:scale(.97)}.ledger-app button:disabled{cursor:default;opacity:.45}.ledger-app button:focus-visible,.ledger-app input:focus-visible,.ledger-app textarea:focus-visible,.ledger-app summary:focus-visible{outline:3px solid var(--c2);outline-offset:3px}.ledger-app ul{margin:0;padding:0;list-style:none}.ledger-app fieldset{border:0;min-width:0;margin:0;padding:0}.ledger-app legend{margin-bottom:10px;font-size:14px;font-weight:550}.ledger-app .app-shell{min-height:100dvh}.ledger-app .app-header{border-bottom:1px solid var(--border);background:var(--surface)}.ledger-app .header-inner{align-items:center;gap:16px;max-width:1080px;margin:auto;padding:16px 28px;display:flex}.ledger-app .wordmark{flex:1;align-items:center;gap:10px;display:flex}.ledger-app .brand-mark{background:var(--text-1);width:36px;height:36px;color:var(--surface);letter-spacing:-.07em;border-radius:11px;place-items:center;font-size:24px;font-weight:700;display:grid}.ledger-app .wordmark strong{letter-spacing:-.03em;font-size:16px;line-height:1.2;display:block}.ledger-app .wordmark small{color:var(--text-2);margin-top:3px;font-size:11px;display:block}.ledger-app nav{background:var(--neutral-bg);border-radius:13px;gap:3px;padding:4px;display:flex}.ledger-app nav button{min-height:40px;color:var(--text-2);background:0 0;border:0;border-radius:10px;padding:10px 18px;font-size:14px;font-weight:550}.ledger-app nav button.active{color:var(--text-1);background:var(--surface);box-shadow:0 1px 4px #0000000c}.ledger-app .icon-button{width:44px;min-width:44px;height:44px;color:var(--text-2);background:0 0;border:0;border-radius:12px;place-items:center;font-size:22px;display:inline-grid}.ledger-app .icon-button:hover{background:var(--neutral-bg)}.ledger-app .theme-button{border:1px solid var(--border);font-size:21px}.ledger-app .page{max-width:816px;margin:auto;padding:36px 24px 72px}.ledger-app .access-page{place-items:center;min-height:100dvh;padding:24px;display:grid}.ledger-app .access-card{background:var(--surface);border:1px solid var(--border);width:min(100%,420px);box-shadow:var(--shadow);border-radius:22px;padding:30px}.ledger-app .access-wordmark{width:132px;height:auto;margin-bottom:32px;display:block}.ledger-app .access-eyebrow{color:var(--text-2);letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:600}.ledger-app .access-card h1{letter-spacing:-.045em;margin-top:5px;font-size:34px;font-weight:650}.ledger-app .access-copy{color:var(--text-2);margin-top:10px;font-size:15px}.ledger-app .access-form{gap:16px;margin-top:26px;display:grid}.ledger-app .access-submit{width:100%}.ledger-app .page-title{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.ledger-app .page-title h1{letter-spacing:-.04em;font-size:27px;font-weight:650}.ledger-app .card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:20px;overflow:hidden}.ledger-app .balance-block{padding:24px 8px 32px}.ledger-app .balance-label{color:var(--text-2);justify-content:space-between;align-items:center;font-size:14px;font-weight:500;display:flex}.ledger-app .text-button{min-height:44px;color:var(--text-2);background:0 0;border:0;padding:0 8px;font-size:13px}.ledger-app .text-button:hover{color:var(--text-1)}.ledger-app .cash-value{letter-spacing:-.055em;font-variant-numeric:tabular-nums;margin:6px 0 28px;font-size:clamp(42px,7vw,62px);font-weight:550;line-height:1.15}.ledger-app .quick-actions{gap:10px;display:flex}.ledger-app .btn{white-space:nowrap;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:11px 20px;font-size:14px;font-weight:600;display:inline-flex}.ledger-app .btn-income{background:var(--income);color:#103623}.ledger-app .btn-expense{background:var(--expense);color:#481d19}.ledger-app .btn-planning{background:var(--planning);color:var(--planning-text)}.ledger-app .btn-neutral{background:var(--neutral-bg);color:var(--text-1)}.ledger-app .btn-primary{background:var(--text-1);color:var(--surface)}.ledger-app .btn-c2{background:var(--c2);color:var(--surface)}.ledger-app .btn-p2{background:var(--p2);color:var(--surface)}.ledger-app[data-theme=dark] .btn-c2,.ledger-app[data-theme=dark] .btn-p2{color:#18202f}.ledger-app .section-heading{justify-content:space-between;align-items:center;gap:12px;padding:20px 22px;display:flex}.ledger-app .section-heading h2{letter-spacing:-.025em;align-items:center;gap:10px;font-size:16px;font-weight:600;display:flex}.ledger-app .section-heading p{color:var(--text-2);margin-top:3px;font-size:13px}.ledger-app .week-arrows{gap:2px;display:flex}.ledger-app .week-arrows .icon-button{font-size:27px}.ledger-app .empty-state{color:var(--text-2);align-items:center;gap:12px;padding:16px 22px 24px;font-size:14px;display:flex}.ledger-app .empty-state>span{color:var(--p2);font-size:24px}.ledger-app .ledger-row,.ledger-app .plan-row{border-top:1px solid var(--border);align-items:center;gap:14px;padding:17px 22px;display:flex}.ledger-app .row-copy{flex:1;min-width:0}.ledger-app .row-copy strong{overflow-wrap:anywhere;font-size:14px;font-weight:550;display:block}.ledger-app .row-copy small{color:var(--text-2);margin-top:3px;font-size:12px;display:block}.ledger-app .row-copy .paid-note{color:var(--income-text)}.ledger-app .row-amount{font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.02em;font-size:14px;font-weight:550}.ledger-app .income-text{color:var(--income-text)}.ledger-app .expense-text{color:var(--expense-text)}.ledger-app .muted{color:var(--text-2)}.ledger-app .source-icon{border-radius:13px;flex:0 0 42px;place-items:center;width:42px;height:42px;font-size:22px;font-weight:600;display:inline-grid}.ledger-app .source-icon img{-o-object-fit:contain;object-fit:contain;border-radius:5px}.ledger-app .brand-icon{background:#fff;border:1px solid #e8ebf0}.ledger-app .plan-cash{color:var(--text-2);align-items:center;gap:12px;font-size:13px;display:flex}.ledger-app .plan-cash strong{color:var(--text-1);font-variant-numeric:tabular-nums;font-size:19px;font-weight:550}.ledger-app .filter-tabs{flex-wrap:wrap;gap:6px;margin-bottom:24px;display:flex}.ledger-app .filter-tabs button{min-height:44px;color:var(--text-2);background:0 0;border:1px solid #0000;border-radius:12px;padding:9px 15px;font-size:14px;font-weight:500}.ledger-app .filter-tabs button.active{background:var(--text-1);color:var(--surface)}.ledger-app .plan-groups{gap:20px;display:grid}.ledger-app .plan-group .section-heading{padding-top:12px;padding-bottom:12px}.ledger-app .group-icon{background:var(--neutral-bg);width:27px;height:27px;color:var(--text-2);border-radius:8px;place-items:center;font-size:18px;display:inline-grid}.ledger-app .add-button{min-height:44px;color:var(--text-2);background:0 0;border:0;border-radius:10px;padding:8px 10px;font-size:13px;font-weight:550}.ledger-app .add-button:hover{background:var(--neutral-bg)}.ledger-app .plan-row{padding-top:14px;padding-bottom:14px}.ledger-app .plan-row:hover{background:var(--raised)}.ledger-app .plan-row.inactive .row-copy{opacity:.65}.ledger-app .row-actions{align-items:center;gap:5px;margin-left:8px;display:flex}.ledger-app .action-pill{letter-spacing:-.025em;border:1px solid #0000;border-radius:12px;place-items:center;min-width:48px;height:44px;font-size:16px;font-weight:650;display:inline-grid}.ledger-app .action-pill.c2{color:var(--c2);background:var(--c2-bg)}.ledger-app .action-pill.p2{color:var(--p2);background:var(--p2-bg)}.ledger-app button.action-pill:hover{border-color:currentColor}.ledger-app .edit-button{font-size:21px}.ledger-app .entry-page{max-width:580px}.ledger-app .entry-card{padding:26px}.ledger-app .entry-toggle{grid-template-columns:1fr 1fr;gap:10px;display:grid}.ledger-app .type-choice{border:1px solid var(--border);background:var(--raised);border-radius:13px;justify-content:center;align-items:center;gap:10px;min-height:54px;font-size:15px;font-weight:550;display:flex}.ledger-app .type-choice span{font-size:23px;font-weight:400}.ledger-app .type-choice.income{color:var(--income-text)}.ledger-app .type-choice.expense{color:var(--expense-text)}.ledger-app .type-choice.income.selected{background:var(--income-bg);border-color:var(--income-text)}.ledger-app .type-choice.expense.selected{background:var(--expense-bg);border-color:var(--expense-text)}.ledger-app .amount-field{margin:30px 0 24px;display:block}.ledger-app .amount-field>span{color:var(--text-2);font-size:13px}.ledger-app .amount-field>div{border-bottom:1px solid var(--border);align-items:baseline;gap:7px;padding:8px 0 12px;font-size:42px;display:flex}.ledger-app .amount-field input{letter-spacing:-.045em;width:100%;min-width:0;color:inherit;background:0 0;border:0;padding:0;font-size:54px;font-weight:550}.ledger-app .amount-field.income{color:var(--income-text)}.ledger-app .amount-field.expense{color:var(--expense-text)}.ledger-app .amount-field input::placeholder{color:var(--text-3);opacity:.65}.ledger-app .stack{gap:20px;display:grid}.ledger-app .field{flex-direction:column;gap:8px;min-width:0;font-size:14px;display:flex}.ledger-app .field>span,.ledger-app legend{font-weight:550}.ledger-app .field input,.ledger-app .field textarea{background:var(--raised);border:1px solid var(--border);width:100%;min-width:0;min-height:46px;color:var(--text-1);border-radius:11px;padding:12px 13px;font-size:16px}.ledger-app .field input::-moz-placeholder{color:var(--text-3)}.ledger-app .field textarea::-moz-placeholder{color:var(--text-3)}.ledger-app .field input::placeholder,.ledger-app .field textarea::placeholder{color:var(--text-3)}.ledger-app .field textarea{resize:vertical}.ledger-app .date-input{position:relative}.ledger-app .date-input input{padding-right:52px}.ledger-app .date-input .icon-button{font-size:21px;position:absolute;top:2px;right:2px}.ledger-app .date-input input::-webkit-calendar-picker-indicator{display:none}.ledger-app .category-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.ledger-app .category-chip{border:2px solid #0000;border-radius:12px;align-items:center;gap:9px;min-height:45px;padding:9px 11px;font-size:13px;font-weight:500;display:flex}.ledger-app .category-chip>span{font-size:19px}.ledger-app .category-chip.selected{box-shadow:inset 0 0 0 1px var(--surface);border-color:currentColor}.ledger-app .tone-pink{color:#933b60;background:#fce8f0}.ledger-app .tone-orange{color:#93501b;background:#fff0e0}.ledger-app .tone-mint{color:#236648;background:#e0f5ea}.ledger-app .tone-blue{color:#355c9c;background:#e6eeff}.ledger-app .tone-slate{color:#535e70;background:#edf0f5}.ledger-app .tone-purple{color:#7444a7;background:#efe7fb}.ledger-app .tone-yellow{color:#795d0a;background:#fff4cd}.ledger-app .tone-cyan{color:#266a7e;background:#e0f2f7}.ledger-app[data-theme=dark] .tone-pink{color:#f1b5d0;background:#432b3b}.ledger-app[data-theme=dark] .tone-orange{color:#f0c193;background:#443528}.ledger-app[data-theme=dark] .tone-mint{color:#a1dbb9;background:#213e32}.ledger-app[data-theme=dark] .tone-blue{color:#b2ceff;background:#293a57}.ledger-app[data-theme=dark] .tone-slate{color:#d2dae7;background:#313a49}.ledger-app[data-theme=dark] .tone-purple{color:#d3b5f7;background:#3c2e53}.ledger-app[data-theme=dark] .tone-yellow{color:#efda94;background:#443d26}.ledger-app[data-theme=dark] .tone-cyan{color:#a3d8e5;background:#243e46}.ledger-app .submit-button{width:100%;margin-top:5px}.ledger-app .modal{border:1px solid var(--border);background:var(--surface);color:var(--text-1);border-radius:22px;width:min(480px,100vw - 32px);max-height:90dvh;margin:auto;padding:0;overflow:auto;box-shadow:0 24px 90px #0003}.ledger-app .modal-panel{padding:24px}.ledger-app .modal-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.ledger-app .modal-heading h2{letter-spacing:-.025em;font-size:21px;font-weight:600}.ledger-app .modal-heading .icon-button{margin-right:-8px}.ledger-app .modal-actions{justify-content:flex-end;gap:10px;display:flex}.ledger-app .payment-source{align-items:center;gap:12px;display:flex}.ledger-app .payment-source>div{flex:1}.ledger-app .payment-source strong{font-size:16px;display:block}.ledger-app .payment-source small{color:var(--text-2);margin-top:2px;font-size:13px;display:block}.ledger-app .payment-preview{background:var(--raised);border:1px solid var(--border);border-radius:14px;gap:12px;padding:16px;display:grid}.ledger-app .payment-preview>div{justify-content:space-between;align-items:center;gap:14px;font-size:13px;display:flex}.ledger-app .payment-preview span{color:var(--text-2)}.ledger-app .payment-preview strong{text-align:right;font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.ledger-app .hint{color:var(--text-2);font-size:13px;line-height:1.5}.ledger-app .error{color:var(--expense-text);background:var(--expense-bg);border-radius:10px;padding:12px;font-size:14px}.ledger-app .due-button{background:var(--raised);border:1px solid var(--border);text-align:left;border-radius:11px;justify-content:space-between;align-items:center;gap:10px;min-height:46px;padding:12px 13px;font-size:15px;display:flex}.ledger-app .repeat-options{grid-template-columns:1fr 1fr;gap:8px;display:grid}.ledger-app .choice{border:1px solid var(--border);background:var(--raised);border-radius:10px;min-height:44px;padding:9px;font-size:13px}.ledger-app .choice.selected{color:var(--c2);background:var(--c2-bg);border-color:var(--c2)}.ledger-app .two-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.ledger-app .check-label{align-items:center;gap:9px;min-height:44px;font-size:14px;display:flex}.ledger-app .check-label input{width:18px;height:18px;accent-color:var(--c2)}.ledger-app .payment-history{border-top:1px solid var(--border);color:var(--text-2);padding-top:15px;font-size:13px}.ledger-app .payment-history summary{cursor:pointer;min-height:44px}.ledger-app .payment-history>div{justify-content:space-between;gap:12px;padding:8px 0;display:flex}.ledger-app .toast{pointer-events:none;opacity:0;background:var(--text-1);color:var(--surface);z-index:10;border-radius:14px;padding:12px 20px;font-size:14px;transition:opacity .2s,transform .2s;position:fixed;bottom:24px;left:50%;transform:translate(-50%,12px);box-shadow:0 4px 20px #0002}.ledger-app .toast.visible{opacity:1;transform:translate(-50%)}@media (max-width:600px){.ledger-app .header-inner{gap:7px;padding:12px}.ledger-app .wordmark{gap:7px}.ledger-app .wordmark small{display:none}.ledger-app .brand-mark{border-radius:8px;width:28px;height:30px;font-size:21px}.ledger-app .wordmark strong{font-size:14px}.ledger-app nav{gap:0;padding:3px}.ledger-app nav button{min-height:40px;padding:9px 11px;font-size:13px}.ledger-app .theme-button{border:0;width:36px;min-width:36px}.ledger-app .page{padding:22px 14px 40px}.ledger-app .balance-block{padding:6px 6px 26px}.ledger-app .cash-value{margin-bottom:24px;font-size:47px}.ledger-app .quick-actions{gap:8px}.ledger-app .quick-actions .btn{flex:1;padding:10px 8px;font-size:13px}.ledger-app .section-heading{padding:16px}.ledger-app .plan-cash{text-align:right;display:block}.ledger-app .plan-cash span{font-size:11px;display:block}.ledger-app .plan-cash strong{font-size:17px}.ledger-app .page-title{margin-bottom:18px}.ledger-app .filter-tabs{gap:2px;margin-bottom:18px}.ledger-app .filter-tabs button{padding:8px 10px;font-size:12px}.ledger-app .ledger-row{gap:10px;padding:14px}.ledger-app .plan-row{grid-template-columns:36px minmax(0,1fr) auto;gap:3px 10px;padding:14px;display:grid}.ledger-app .plan-row .source-icon{border-radius:11px;grid-row:1/3;width:36px;min-width:36px;height:36px}.ledger-app .plan-row .row-copy{grid-area:1/2}.ledger-app .plan-row .row-amount{grid-area:2/2;margin-top:2px}.ledger-app .plan-row .row-actions{grid-area:1/3/3;gap:0;margin:0}.ledger-app .row-copy strong{font-size:14px}.ledger-app .row-copy small{font-size:11px}.ledger-app .row-amount{white-space:normal;font-size:13px}.ledger-app .action-pill{min-width:44px}.ledger-app .plan-row .icon-button{width:40px;min-width:40px}.ledger-app .entry-card{padding:20px}.ledger-app .amount-field input{font-size:48px}.ledger-app .modal{border-bottom:0;border-radius:22px 22px 0 0;width:100%;max-width:100%;max-height:92dvh;margin:auto 0 0}.ledger-app .modal-panel{padding:22px 20px max(24px,env(safe-area-inset-bottom))}.ledger-app .modal-actions .btn{flex:1;padding:10px}}@media (prefers-reduced-motion:reduce){.ledger-app *,.ledger-app :before,.ledger-app :after{transition:none!important;animation:none!important}}.ledger-app{font-family:var(--font-geist-sans), system-ui, sans-serif;background:var(--bg);min-height:100dvh;color:var(--text-1)}.ledger-app .storage-note{text-align:center;color:var(--text-2);padding:10px;font-size:12px}.ledger-app{--visual-height:100dvh;--visual-top:0px;--keyboard-inset:0px;font-size:16px}.ledger-app .singleton-wordmark{width:112px;height:auto}.ledger-app[data-theme=dark] .singleton-wordmark{filter:invert()}.ledger-app .wordmark{gap:16px}.ledger-app .wordmark strong{font-size:18px}.ledger-app nav button,.ledger-app .btn,.ledger-app .type-choice,.ledger-app .field,.ledger-app legend,.ledger-app .amount-field>span,.ledger-app .balance-label,.ledger-app .filter-tabs button,.ledger-app .add-button,.ledger-app .check-label,.ledger-app .choice,.ledger-app .payment-preview>div,.ledger-app .payment-preview strong{font-size:16px}.ledger-app .row-copy strong,.ledger-app .row-amount,.ledger-app .payment-source strong{font-size:18px}.ledger-app .row-copy small,.ledger-app .section-heading p,.ledger-app .payment-source small,.ledger-app .hint,.ledger-app .payment-history,.ledger-app .plan-cash,.ledger-app .plan-cash span{font-size:14px}.ledger-app .section-heading h2{font-size:18px}.ledger-app .empty-state,.ledger-app .error{font-size:16px}.ledger-app .add-button{align-items:center;gap:4px;display:inline-flex}.ledger-app .quick-actions .btn{flex:1;font-size:16px}.ledger-app .entry-page{max-width:620px;padding-top:24px}.ledger-app .entry-page .page-title{margin-bottom:12px}.ledger-app .entry-card{padding:20px;overflow:visible}.ledger-app .entry-card .stack{gap:12px}.ledger-app .type-choice{min-height:46px;transition:color .22s,background .22s,border-color .22s}.ledger-app .amount-field{margin:16px 0}.ledger-app .amount-field>div{padding:0 0 6px;font-size:32px}.ledger-app .amount-field input{font-size:40px}.ledger-app .field{gap:6px}.ledger-app .field input,.ledger-app .field textarea,.ledger-app .field select{min-height:44px;padding:10px 12px;scroll-margin-block:90px}.ledger-app .field select,.ledger-app .calendar select{width:100%;min-width:0;font:inherit;color:var(--text-1);background:var(--raised);border:1px solid var(--border);border-radius:11px;font-size:16px}.ledger-app .date-input{text-align:left;width:100%;min-width:0;min-height:44px;color:var(--text-1);border:1px solid var(--border);background:var(--raised);border-radius:11px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:16px;display:flex}.ledger-app .date-input span{overflow-wrap:anywhere;min-width:0}.ledger-app .date-input svg{color:var(--text-2);flex:0 0 21px}.ledger-app .category-reveal{overflow:hidden}.ledger-app .category-reveal .field{padding:2px 0}.ledger-app .form-actions{bottom:var(--keyboard-inset);z-index:2;background:var(--surface);padding:8px 0 max(4px,env(safe-area-inset-bottom));position:sticky}.ledger-app .submit-button{margin:0}.ledger-app .stack{gap:14px}.ledger-app .schedule-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.ledger-app .schedule-days{grid-column:1/-1}.ledger-app .edit-form .modal-scroll{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ledger-app .edit-form .modal-scroll>*{grid-column:1/-1}.ledger-app .edit-form.payoff .modal-scroll>.field:nth-child(2){grid-column:1;align-self:end}.ledger-app .edit-form.payoff .modal-scroll>.field:nth-child(3){grid-column:2;align-self:end}.ledger-app .modal{inset:var(--visual-top) 0 auto;width:100%;max-width:none;height:var(--visual-height);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);max-height:none;box-shadow:none;background:#05070b80;border:0;border-radius:0;margin:0;padding:12px;overflow:hidden}.ledger-app .modal[open]{place-items:center;display:grid}.ledger-app .modal::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.ledger-app .modal-panel{width:min(520px,100%);min-width:0;max-height:calc(var(--visual-height) - 24px);border:1px solid var(--border);background:var(--surface);overscroll-behavior:contain;border-radius:20px;flex-direction:column;padding:20px 20px 0;display:flex;overflow:hidden;box-shadow:0 24px 90px #0003}.ledger-app .modal-panel>form{flex-direction:column;gap:0;min-height:0;display:flex;overflow:hidden}.ledger-app .modal-scroll{overscroll-behavior:contain;gap:14px;min-height:0;padding:3px 3px 12px;display:grid;overflow:auto}.ledger-app .modal-panel>.calendar{min-height:0;overflow:auto}.ledger-app .modal-heading{flex-shrink:0;margin-bottom:12px}.ledger-app .modal-heading h2{outline:none}.ledger-app .modal-actions{z-index:2;padding:12px 0 max(12px,env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);flex-shrink:0;position:relative}.ledger-app .payment-preview{gap:8px;padding:12px}.ledger-app .payment-history,.ledger-app .calendar{padding-bottom:16px}.ledger-app .calendar-heading{grid-template-columns:44px minmax(0,1fr) 86px 44px;gap:4px;margin-bottom:12px;display:grid}.ledger-app .calendar select{height:44px;padding:4px}.ledger-app .calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.ledger-app .calendar-grid button{background:0 0;border:1px solid #0000;border-radius:10px;min-height:44px;font-size:16px}.ledger-app .calendar-grid button:hover{background:var(--neutral-bg)}.ledger-app .calendar-grid button[aria-current=date]{border-color:var(--border)}.ledger-app .calendar-grid button.selected{background:var(--c2);color:var(--surface)}.ledger-app .calendar-weekday{text-align:center;color:var(--text-2);padding:8px 0;font-size:14px}.ledger-app .calendar-actions{gap:8px;margin-top:12px;display:flex}.ledger-app .plan-groups{animation:.22s ease-out ledger-fade}.ledger-app .toast{bottom:calc(var(--keyboard-inset) + 20px);align-items:center;gap:8px;font-size:16px;display:flex}.ledger-app[data-keyboard=open] .form-actions{width:min(532px,100% - 54px);left:50%;bottom:calc(var(--keyboard-inset) + 8px);border:1px solid var(--border);border-radius:14px;padding:8px;position:fixed;transform:translate(-50%);box-shadow:0 4px 24px #0003}.ledger-app[data-keyboard=open] .entry-page{padding-bottom:100px}@media (max-width:600px) and (max-height:700px){.ledger-app .form-actions{width:calc(100% - 54px);left:50%;bottom:calc(var(--keyboard-inset) + 8px);border:1px solid var(--border);border-radius:14px;padding:8px;position:fixed;transform:translate(-50%);box-shadow:0 4px 24px #0003}.ledger-app .entry-page{padding-bottom:100px}}@keyframes ledger-fade{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (max-width:600px){.ledger-app .header-inner{flex-wrap:wrap;gap:8px;padding:10px 14px}.ledger-app .wordmark{flex:1;gap:12px}.ledger-app .singleton-wordmark{width:94px}.ledger-app nav{order:3;width:100%}.ledger-app nav button{flex:1;min-height:44px;padding:8px}.ledger-app .theme-button{width:44px;min-width:44px}.ledger-app .page{padding:20px 12px 32px}.ledger-app .access-page{padding:16px}.ledger-app .access-card{padding:24px 20px}.ledger-app .entry-page{padding-top:12px}.ledger-app .entry-page .page-title h1{font-size:24px}.ledger-app .entry-card{padding:14px}.ledger-app .entry-card .stack{gap:10px}.ledger-app .amount-field{margin:10px 0 12px}.ledger-app .amount-field input{font-size:36px}.ledger-app .filter-tabs{flex-wrap:nowrap;gap:2px;overflow-x:auto}.ledger-app .filter-tabs button{flex:none;padding:8px 10px}.ledger-app .plan-row{grid-template-columns:44px minmax(0,1fr) auto;gap:4px 10px;padding:16px 12px}.ledger-app .plan-row .source-icon{width:44px;height:44px}.ledger-app .plan-row .icon-button{width:44px;min-width:44px}.ledger-app .plan-row .row-actions{flex-direction:column;gap:4px}.ledger-app .ledger-row{flex-wrap:wrap}.ledger-app .ledger-row .row-amount{margin-left:auto}.ledger-app .modal{padding:8px}.ledger-app .modal-panel{max-height:calc(var(--visual-height) - 16px);padding:14px 14px 0}.ledger-app .schedule-fields{gap:10px}}
