:root{color-scheme:light;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f4f6fb;color:#0f172a;--payment-column-width: 8.5rem;--next-balance-column-width: 8.5rem;--trailing-column-width: 4.5rem;--bank-subsection-width: 14.1rem;--bank-subsection-column-gap: .2rem}*{box-sizing:border-box}body{margin:0;padding:0;background:#f4f6fb;color:#0f172a}html,body,#root{min-height:100%}.app{max-width:1465px;margin:0 auto;padding:.625rem .625rem 1rem}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:1rem}.auth-card{width:min(30rem,100%);padding:1.4rem 1.3rem;border:1px solid #dbe4f0;border-radius:1rem;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 14px 36px #0f172a14}.auth-copy{margin:0 0 .9rem;color:#475569;font-size:.88rem;line-height:1.5}.auth-button{min-width:11rem}.auth-message{margin:.85rem 0 0;font-size:.78rem}.auth-checking{color:#1d4ed8}.auth-unauthenticated{color:#475569}.auth-error{color:#b91c1c}.hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.5rem;margin-bottom:2px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;justify-self:end;gap:.5rem}.sample-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0 0 .55rem;padding:.6rem .8rem;border:1px solid #bfdbfe;border-radius:.7rem;background:linear-gradient(180deg,#eff6ff,#dbeafe)}.sample-banner div{display:grid;gap:.18rem}.sample-banner strong{font-size:.78rem;color:#1d4ed8}.sample-banner span{font-size:.74rem;color:#334155}.user-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.25rem .5rem;border:1px solid #dbe4f0;border-radius:999px;background:#fff;min-width:0}.user-chip-button{cursor:pointer;text-align:left}.user-chip-button:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.user-chip-highlight{border-color:#2563eb;background:linear-gradient(180deg,#fff,#eff6ff);animation:samplePromptPulse 1.15s ease-in-out infinite}@keyframes samplePromptPulse{0%,to{box-shadow:0 0 #2563eb1f;transform:translateY(0)}50%{box-shadow:0 0 0 .28rem #2563eb38;transform:translateY(-1px)}}.user-chip div{display:grid;min-width:0}.user-chip strong,.user-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip strong{font-size:.72rem;color:#0f172a}.user-chip span{font-size:.64rem;color:#64748b}.user-avatar{width:1.8rem;height:1.8rem;border-radius:999px;object-fit:cover;border:1px solid #dbe4f0}.user-menu{position:relative}.user-menu-dropdown{position:absolute;top:calc(100% + .35rem);right:0;min-width:10.5rem;padding:.12rem;border:1px solid #dbe4f0;border-radius:.55rem;background:#fff;box-shadow:0 18px 40px #0f172a1f;z-index:20}.user-menu-item{width:100%;border:0;border-radius:.35rem;background:transparent;padding:.22rem .35rem;text-align:left;font-size:.72rem;line-height:1.2;font-weight:600;color:#0f172a;cursor:pointer}.user-menu-item:hover{background:#f8fafc}.user-menu-item-highlight{background:linear-gradient(180deg,#fff,#eff6ff);box-shadow:inset 0 0 0 1px #2563eb47;animation:samplePromptPulse 1.15s ease-in-out infinite}.user-menu-item-highlight:hover{background:linear-gradient(180deg,#f8fbff,#dbeafe)}.user-menu-item-danger{color:#b91c1c}.user-menu-item-danger:hover{background:#fef2f2}.toolbar-button{min-height:30px;padding:.3rem .7rem;border:1px solid #cbd5e1;border-radius:.45rem;background:#fff;color:#0f172a;font-size:.78rem;font-weight:600;cursor:pointer}.toolbar-button:disabled{cursor:default;opacity:.65}.budget-cycle-button:disabled{border-color:#cbd5e1;background:#e5e7eb;color:#64748b;box-shadow:none;opacity:1}.toolbar-button-wrap{display:inline-flex}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1rem;background:#0f172a73;z-index:40}.modal-card{width:min(30rem,100%);padding:1.3rem;border-radius:1rem;background:#fff;box-shadow:0 22px 60px #0f172a33}.help-modal{width:min(52rem,100%);max-height:min(84vh,48rem);overflow-y:auto;border:1px solid #dbe4f0;background:linear-gradient(180deg,#fff,#f8fbff)}.help-eyebrow{color:#2563eb}.help-intro{margin:.6rem 0 0;color:#334155;font-size:.9rem;line-height:1.6}.help-section{margin-top:1rem}.help-section h3{margin:0;font-size:.88rem;color:#0f172a}.help-list{margin:.45rem 0 0;padding-left:1.1rem;color:#334155}.help-list li{margin:.22rem 0;font-size:.82rem;line-height:1.55}.danger-modal{border:1px solid #fecaca;background:linear-gradient(180deg,snow,#fff)}.danger-eyebrow{color:#b91c1c}.danger-copy{margin:.55rem 0 0;color:#b91c1c;font-size:.9rem;font-weight:700;line-height:1.5}.danger-copy-subtle{margin:.55rem 0 0;color:#7f1d1d;font-size:.82rem;line-height:1.5}.modal-actions{display:flex;justify-content:flex-end;gap:.55rem;margin-top:1rem}.destructive-button{border-color:#b91c1c;background:#b91c1c;color:#fff}.destructive-button:disabled{border-color:#fca5a5;background:#fca5a5;color:#fff;opacity:1}.status-text{font-size:.72rem}.status-idle,.status-saved{color:#166534}.status-loading{color:#1d4ed8}.status-error{color:#b91c1c}.eyebrow{margin:0;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:#4b5563}h1{margin:.2rem 0 .35rem;font-size:clamp(1.3rem,2.1vw,2rem)}.intro{margin:0;max-width:720px;line-height:1.3;color:#334155;font-size:.8rem}.hero+section{margin-top:2px}.analytics-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.3rem;margin-top:.45rem}.analytics-kpi-card{min-width:0;padding:.4rem .48rem;border:1px solid #e2e8f0;border-radius:.6rem;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 6px 18px #0f172a0d}.analytics-kpi-header{display:grid;gap:.08rem}.analytics-kpi-header p,.analytics-kpi-card span{margin:0}.analytics-kpi-header p{font-size:.58rem;font-weight:700;letter-spacing:.02em;color:#475569;white-space:nowrap}.analytics-kpi-header strong{font-size:.88rem;color:#0f172a;white-space:nowrap}.analytics-kpi-card span{display:block;margin-top:.18rem;font-size:.63rem;line-height:1.2;color:#64748b}.analytics-kpi-bar{height:.36rem;margin-top:.28rem;border-radius:999px;background:#e2e8f0;overflow:hidden}.analytics-kpi-bar div{height:100%;border-radius:inherit;background:linear-gradient(90deg,#ef4444,#f59e0b 46%,#0f766e)}.summary-grid{display:grid;gap:.25rem;grid-template-columns:repeat(6,minmax(0,1fr))}.summary-card{padding:.32rem .45rem;border-radius:.3rem;background:#fff;box-shadow:0 2px 6px #0f172a0a;display:flex;align-items:center;justify-content:space-between;gap:.4rem;min-width:0}.summary-card p{margin:0;color:#64748b;font-size:.62rem;line-height:1.15}.summary-card strong{display:block;font-size:.78rem;color:#0f172a;text-align:right;white-space:nowrap}.summary-card-emphasis{align-items:center}.summary-card-emphasis p,.summary-card-emphasis strong{text-align:center}section{margin-top:.75rem}.credit-accounts-section{width:fit-content;max-width:100%}.bank-accounts-section{width:fit-content;max-width:100%;justify-self:start}.section-content-fit{display:inline-grid;width:fit-content;max-width:100%}.section-content-fit .section-header{width:100%}.chart-grid{display:grid;gap:.4rem;margin-top:.45rem}.section-cluster{padding:.45rem;border:1px solid #e2e8f0;border-radius:.9rem;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 10px 26px #0f172a0d}.chart-grid.section-cluster{margin-top:.45rem}.credit-chart-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.credit-chart-grid .chart-card-wide{grid-column:1 / -1}.expense-chart-grid{grid-template-columns:minmax(0,1fr);width:100%}.bank-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cross-section-chart-grid{grid-template-columns:minmax(0,1fr);margin-top:.5rem}.chart-card{min-width:0;padding:.45rem .5rem .35rem;border:1px solid #e2e8f0;border-radius:.65rem;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 7px 22px #0f172a0d}.chart-empty-state{display:grid;place-items:center;height:100%;color:#64748b;font-size:.82rem;text-align:center}.chart-card-header{display:flex;align-items:start;justify-content:space-between;gap:.4rem;margin-bottom:.35rem}.chart-card-header h3{margin:0;font-size:.79rem}.chart-card-header span{max-width:10rem;text-align:right;font-size:.64rem;color:#64748b}.chart-shell{width:100%;height:240px}.chart-shell-tall{height:300px}.chart-shell-bank{height:230px}h2{margin:0 0 .45rem;font-size:1rem}h3{margin:0 0 .35rem;font-size:.88rem}input.subsection-title-input{font-size:.88rem;font-weight:700;color:#0f172a;padding:.02rem .08rem}.table-wrapper{background:#fff;border-radius:1rem;border:1px solid #e5e7eb;box-shadow:0 8px 24px #0f172a0f}table{width:100%;border-collapse:collapse;table-layout:fixed}.compact-credit-table{display:inline-block;width:fit-content;max-width:100%}.credit-accounts-table{width:auto;table-layout:auto}.credit-accounts-table th:nth-child(1),.credit-accounts-table td:nth-child(1){width:1.25rem!important}.credit-accounts-table th:nth-child(2),.credit-accounts-table td:nth-child(2){width:12.1rem!important}.credit-accounts-table th:nth-child(3),.credit-accounts-table td:nth-child(3){width:6.5rem!important}.credit-accounts-table th:nth-child(4),.credit-accounts-table td:nth-child(4){width:7rem!important}.credit-accounts-table th:nth-child(5),.credit-accounts-table td:nth-child(5){width:3rem!important}.credit-accounts-table th:nth-child(6),.credit-accounts-table td:nth-child(6){width:4rem!important}.credit-accounts-table th:nth-child(7),.credit-accounts-table td:nth-child(7){width:7rem!important}.credit-accounts-table th:nth-child(8),.credit-accounts-table td:nth-child(8){width:7rem!important}.credit-accounts-table th:nth-child(9),.credit-accounts-table td:nth-child(9){width:7rem!important}.credit-accounts-table th:nth-child(10),.credit-accounts-table td:nth-child(10){width:5.75rem!important}.credit-accounts-table th:nth-child(11),.credit-accounts-table td:nth-child(11){width:7rem!important}.credit-accounts-table th:nth-child(12),.credit-accounts-table td:nth-child(12){width:7rem!important}.credit-accounts-table th:nth-child(13),.credit-accounts-table td:nth-child(13){width:4.5rem!important}th,td{padding:.3rem .35rem;text-align:left;border-bottom:1px solid #e2e8f0;font-size:.78rem;line-height:1.1}.credit-accounts-table th:not(:last-child),.credit-accounts-table td:not(:last-child),.debit-expenses-table th:not(:last-child),.debit-expenses-table td:not(:last-child){border-right:1px solid #e5e7eb}th{background:#f8fafc;font-weight:700;color:#334155;text-align:left;vertical-align:top}.sortable-header{display:flex;align-items:center;justify-content:space-between;gap:.12rem;width:100%}.sortable-header .table-header-input{flex:1 1 auto;min-width:0}.sort-button{flex:0 0 auto;min-width:1rem;min-height:1rem;padding:0;margin-left:auto;border:none;background:transparent;color:#64748b;font-size:.72rem;line-height:1;cursor:pointer}.sort-button:hover{color:#0f172a}.overdue-checkbox-cell{background:#fff1f2}.overdue-checkbox{accent-color:#dc2626;outline:1px solid #dc2626;outline-offset:1px;border-radius:.12rem}.overdue-amount-input{border-color:#dc2626!important;background:#fff1f2;color:#991b1b;box-shadow:inset 0 0 0 1px #dc26262e}.overdue-amount-input:focus{outline:none;border-color:#b91c1c!important;box-shadow:0 0 0 1px #dc262633}tbody tr:hover{background:#f8fafc}.credit-accounts-table th:nth-child(11),.credit-accounts-table td:nth-child(11),.credit-accounts-table th:nth-child(12),.credit-accounts-table td:nth-child(12),.credit-accounts-table th:nth-child(13),.credit-accounts-table td:nth-child(13){text-align:center;vertical-align:middle}.credit-accounts-table th:nth-child(5),.credit-accounts-table td:nth-child(5),.credit-accounts-table th:nth-child(6),.credit-accounts-table td:nth-child(6){text-align:center;vertical-align:middle}.credit-accounts-table th:nth-child(8),.credit-accounts-table td:nth-child(8),.credit-accounts-table th:nth-child(9),.credit-accounts-table td:nth-child(9),.credit-accounts-table th:nth-child(10),.credit-accounts-table td:nth-child(10),.credit-accounts-table th:nth-child(11),.credit-accounts-table td:nth-child(11),.credit-accounts-table th:nth-child(12),.credit-accounts-table td:nth-child(12){text-align:right}.credit-accounts-table th:nth-child(11),.credit-accounts-table td:nth-child(11){width:var(--payment-column-width)!important}.credit-accounts-table th:nth-child(12),.credit-accounts-table td:nth-child(12){width:var(--next-balance-column-width)!important}.credit-accounts-table th:nth-child(13),.credit-accounts-table td:nth-child(13){width:var(--trailing-column-width)!important}.table-summary-row{background:#f8fafc;font-weight:700}.table-summary-row td{color:#0f172a}.add-row-tr td{padding:.2rem .4rem;border-bottom:none}.add-row-button{padding:.12rem .5rem;border:1px dashed #cbd5e1;border-radius:.35rem;background:transparent;color:#64748b;font-size:.68rem;cursor:pointer;line-height:1.4}.add-row-button:hover{border-color:#94a3b8;color:#334155;background:#f8fafc}.delete-row-button{padding:.12rem .5rem;border:1px solid #fca5a5;border-radius:.35rem;background:transparent;color:#dc2626;font-size:.68rem;cursor:pointer;line-height:1.4}.delete-row-button:hover{border-color:#ef4444;background:#fff1f2}.select-col{width:8px!important;min-width:8px!important;max-width:8px!important;text-align:center;padding:0!important;overflow:hidden}.select-col input[type=checkbox]{width:12px;height:12px;min-height:0;padding:0;margin:0 auto;display:block}.row-selected{background:#fef9c3!important}.section-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.4rem}.section-header h2{margin:0}.section-header-actions{display:flex;gap:.4rem;flex-shrink:0}.subsection-header{display:flex;align-items:center;justify-content:space-between;gap:.4rem;margin-bottom:.35rem}.subsection-select-toggle{flex:0 0 auto;display:inline-flex;align-items:center;margin-right:.1rem}.subsection-select-toggle input[type=checkbox]{width:12px;height:12px;min-height:0;margin:0}.subsection-header h3{margin:0;flex:1}.currency-input-wrap{display:flex;align-items:center;justify-content:flex-end;gap:.12rem;width:100%;min-width:0}.currency-prefix{flex:0 0 auto;color:#475569;font-size:.68rem;line-height:1;pointer-events:none}.currency-amount-input{flex:1 1 auto;min-width:0;width:auto;padding-left:0!important;text-align:right}.subsection-block+.subsection-block{margin-top:.6rem}.bank-accounts-section .subsection-block{border:1px solid #e5e7eb;border-radius:.5rem;background:#fff;padding:.3rem}.bank-section-header{width:100%}.bank-section-header h2{flex:0 1 auto}.income-subsection-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.3rem var(--bank-subsection-column-gap);align-items:start}.income-subsection-grid .subsection-block{width:auto;min-width:0}.income-subsection-grid .subsection-block+.subsection-block{margin-top:0}input{max-width:100%;box-sizing:border-box;min-height:24px;padding:.12rem .25rem;font-size:.74rem}input.amount-input{width:100%;padding:.14rem .25rem;border:1px solid #cbd5e1;border-radius:.25rem;background:#f8fafc}input.label-input{width:100%;min-height:auto;height:auto;margin:0;padding:.02rem .1rem;border:1px solid transparent;border-radius:.2rem;background:transparent;color:inherit;font:inherit;line-height:inherit}input.label-input:hover,input.label-input:focus{border-color:#cbd5e1;background:#fff;outline:none}input.table-header-input{padding:.04rem .08rem;text-align:inherit;font-weight:700;color:#334155}input.section-title-input{padding:.02rem .08rem;font-size:1rem;font-weight:700;color:#0f172a}.editable-label-row{display:flex;align-items:center}.split-section{display:grid;gap:.5rem;grid-template-columns:1fr 1fr;margin-top:.625rem}.finance-overview-row{display:grid;gap:.5rem;grid-template-columns:minmax(0,67%) minmax(0,33%);align-items:start;margin-top:.625rem}.finance-overview-row.section-cluster{padding:.5rem}.finance-overview-row>.compact-section{margin-top:0}.finance-overview-row>.expense-section{width:100%;max-width:100%;justify-self:stretch}.finance-overview-row>.compact-side-panel{grid-column:auto;width:100%}.finance-overview-row>.chart-card{margin-top:0;min-width:0}.finance-overview-row>.cashflow-side-panel{align-self:start}.card-list{display:grid;gap:.2rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.info-card{padding:.35rem .5rem;border-radius:.25rem;background:#fff;box-shadow:0 2px 8px #0f172a08}.card-title{margin:0 0 .125rem;font-size:.72rem;font-weight:600;color:#0f172a}.card-value{margin:0;font-size:.88rem;color:#1d4ed8}.card-meta,.card-note{margin:.125rem 0 0;font-size:.65rem;color:#64748b}.compact-section{margin-top:.625rem}.compact-section .table-wrapper{border-radius:.6rem;box-shadow:0 4px 14px #0f172a0d}.expense-section th,.expense-section td{padding:.22rem .3rem;font-size:.72rem}.expense-section input{padding:.1rem .2rem;font-size:.72rem;min-height:22px}.expense-section input.section-title-input{padding:.02rem .08rem;font-size:1rem;font-weight:700;color:#0f172a;min-height:unset}.compact-expense-table{display:block;width:100%;max-width:100%}.debit-expenses-table{width:100%;table-layout:auto}.debit-expenses-table th,.debit-expenses-table td{vertical-align:middle}.debit-expenses-table th:nth-child(1),.debit-expenses-table td:nth-child(1){width:1.25rem!important}.debit-expenses-table th:nth-child(2),.debit-expenses-table td:nth-child(2){width:auto!important}.debit-expenses-table td:nth-child(2) .editable-label-row,.debit-expenses-table td:nth-child(2) .label-input{width:100%}.debit-expenses-table th:nth-child(3),.debit-expenses-table td:nth-child(3){width:6.5rem!important;text-align:center}.debit-expenses-table th:nth-child(4),.debit-expenses-table td:nth-child(4),.debit-expenses-table th:nth-child(5),.debit-expenses-table td:nth-child(5){width:6.4rem!important;text-align:right}.debit-expenses-table td:nth-child(4) input,.debit-expenses-table td:nth-child(5) input{width:calc(100% - .1rem);min-width:0;padding:0 .1rem;text-align:right}.credit-accounts-table th,.credit-accounts-table td,.debit-expenses-table th,.debit-expenses-table td{padding:0;line-height:1}.credit-accounts-table input,.debit-expenses-table input{min-height:18px;height:18px;padding:0;font-size:.7rem;line-height:1}.credit-accounts-table th,.debit-expenses-table th{padding-top:.1rem;padding-bottom:.1rem}.credit-accounts-table .table-summary-row td,.debit-expenses-table .table-summary-row td{padding-top:.12rem;padding-bottom:.12rem}.debit-expenses-table td:first-child{font-size:.72rem}.expense-summary-grid{margin-top:.3rem;width:100%;max-width:100%;gap:.2rem;grid-template-columns:repeat(3,minmax(0,1fr))}.expense-summary-section{margin-top:.35rem;display:block;width:100%;max-width:100%;padding:.25rem .3rem;border:1px solid #e5e7eb;border-radius:.6rem;background:#fff;box-sizing:border-box}.expense-summary-section h3{margin:0 0 .2rem;font-size:.8rem}.expense-summary-grid .summary-card{min-width:0;padding:.24rem .34rem}.expense-summary-grid .summary-card p{font-size:.58rem}.expense-summary-grid .summary-card strong{font-size:.72rem}.compact-side-panel .card-list{grid-template-columns:1fr;gap:.08rem;min-width:0}.compact-side-panel .info-card{display:grid;grid-template-columns:8.26rem minmax(0,1fr);align-items:center;column-gap:.06rem;row-gap:0;padding:0;min-width:0;overflow:hidden}.bank-accounts-section .info-card{border:1px solid #eef2f7;border-radius:.2rem}.bank-accounts-section .info-card>:first-child{border-right:1px solid #e5e7eb;padding-right:.2rem}.bank-accounts-section .info-card>:nth-child(2){padding-left:.2rem}.compact-side-panel .card-title{margin:0;font-size:.66rem;line-height:1;min-width:0;width:100%;overflow:hidden}.compact-side-panel input.label-input.card-title{padding-right:0;text-overflow:ellipsis}.compact-side-panel .card-value{text-align:right;font-size:.68rem;line-height:1;min-width:0;white-space:nowrap;overflow:hidden}.compact-side-panel .amount-input{width:100%;max-width:100%;justify-self:end;min-height:0;padding:0}.compact-side-panel .currency-input-wrap{justify-self:stretch;gap:.08rem}.compact-side-panel .currency-amount-input{text-align:right}.expense-currency-input-wrap{gap:.08rem}.compact-side-panel .salary-toggle-checkbox{justify-self:end;width:14px;height:14px;min-height:0;margin:0;padding:0}.compact-side-panel .card-meta,.compact-side-panel .card-note{grid-column:1 / -1;margin-top:0;font-size:.62rem}.expense-subtotal-row{background:#f8fafc;font-weight:700}.expense-subtotal-row td{color:#0f172a}.compact-panels .info-card input,.expense-section input{min-height:22px}@media (max-width: 900px){.hero{grid-template-columns:1fr}.hero-actions{justify-self:start}.summary-grid,.analytics-strip,.expense-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.credit-chart-grid,.expense-chart-grid,.bank-chart-grid,.cross-section-chart-grid{grid-template-columns:1fr}.chart-card-header{flex-direction:column}.chart-card-header span{max-width:none;text-align:left}.finance-overview-row{grid-template-columns:1fr}.finance-overview-row>.compact-side-panel{grid-column:auto}.credit-accounts-section,.bank-accounts-section{width:100%}.section-content-fit{display:block;width:100%}.finance-overview-row>.expense-section{width:100%}.income-subsection-grid{display:flex;flex-direction:column}.bank-section-header{width:100%}.income-subsection-grid .subsection-block{flex-basis:auto;width:100%}.income-subsection-grid .subsection-block{width:100%}.split-section{grid-template-columns:1fr}.chart-shell,.chart-shell-tall,.chart-shell-bank{height:240px}}
