:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.balance-shell{color:#30312f;background:#f5f6f4;flex-direction:column;min-height:100vh;display:flex}.balance-brand{align-items:center;gap:11px;padding:2px 8px 28px;display:flex}.balance-brand small{color:#a0a39b;letter-spacing:.04em;margin-top:2px;font-size:10px;display:block}.balance-nav{flex-direction:column;gap:5px;display:flex}.balance-nav-item{color:#777b74;text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:12px 14px}.balance-sidebar-bottom{border-top:1px solid #eceee9;margin-top:auto;padding:16px 8px 0}.balance-sidebar-bottom span{color:#9a9e96;text-overflow:ellipsis;margin-bottom:10px;font-size:11px;display:block;overflow:hidden}.balance-logout{color:#6d716a;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.balance-main{box-sizing:border-box;width:100%;margin-left:0;padding:26px 28px 60px}.cashflow-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px;display:flex}.cashflow-kicker{color:#979b93;letter-spacing:.14em;margin:0 0 4px;font-size:10px;font-weight:700}.cashflow-header h1{margin:0;font-size:29px}.cashflow-description{color:#898d85;margin:7px 0 0;font-size:13px}.cashflow-actions{align-items:center;gap:7px;width:100%;display:flex}.cashflow-actions>.add-button{margin-left:0}.cashflow-save-status{color:#8b9189;white-space:nowrap;margin-left:auto;font-size:9px}.cashflow-save-status.saving{color:#8f876f}.cashflow-save-status.error{color:#a55550;font-weight:700}.cashflow-loading{color:#81877f;justify-content:center;align-items:center;gap:10px;min-height:300px;font-size:12px;display:flex}.cashflow-loading button{font:inherit;cursor:pointer;background:#fff;border:1px solid #dfe3dc;border-radius:7px;padding:6px 10px}.outline-button,.add-button,.cancel-button,.save-button{height:40px;font:inherit;cursor:pointer;border-radius:9px;padding:0 14px;font-size:12px}.outline-button{color:#666a63;background:#fff;border:1px solid #dfe2dc}.start-month-input{appearance:none;box-sizing:border-box;color:#373a36;width:105px;height:40px;font:inherit;text-align:center;background:#fff;border:1px solid #dfe2dc;border-radius:9px;padding:0 10px;font-size:12px}.month-arrow{width:38px;padding:0;font-size:18px}.add-button{color:#fff;background:#3d473f;border:0;font-weight:700}.add-item-panel{background:#fff;border:1px solid #e0e4dd;border-radius:13px;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:15px;padding:16px;display:flex}.add-item-field{flex-direction:column;gap:6px;min-width:120px;display:flex}.add-item-field.small{width:65px;min-width:65px}.add-item-field.name{min-width:190px}.add-item-field.amount{min-width:130px}.add-item-field.note{flex:1;min-width:220px}.add-item-field label{color:#858a81;font-size:10px;font-weight:700}.add-item-field input,.add-item-field select{box-sizing:border-box;color:#373a36;width:100%;height:38px;font:inherit;background:#fff;border:1px solid #dfe2dc;border-radius:8px;padding:0 10px;font-size:12px}.add-item-buttons{gap:6px;display:flex}.cancel-button{background:#fff;border:1px solid #dfe2dc}.save-button{color:#fff;background:#3d473f;border:0;font-weight:700}.sheet-card{background:#fff;border:1px solid #e0e3dd;border-radius:13px;overflow:hidden}.sheet-scroll{width:100%;max-height:calc(100vh - 180px);overflow:auto}.living-sheet{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;min-width:100%;font-size:11px}.living-sheet th,.living-sheet td{box-sizing:border-box;white-space:nowrap;background:#fff;border-bottom:1px solid #edf0eb;border-right:1px solid #edf0eb;height:34px;padding:5px 4px}.living-sheet thead tr:first-child th{z-index:10;color:#656a62;text-align:center;background:#f4f6f2;height:40px;padding:0 8px;font-weight:700;position:sticky;top:0}.living-sheet thead .second-header th{z-index:9;color:#9a9e97;background:#fafbf9;height:32px;padding:0 8px;font-size:10px;position:sticky;top:40px}.month-group{background:#edf2eb!important}.sticky-col{z-index:5;position:sticky;background:#fff!important}thead .sticky-col{z-index:12!important;background:#f4f6f2!important}.second-header .sticky-col{background:#fafbf9!important}.col-day{left:0}.col-name{left:var(--day-width)}.col-note{left:calc(var(--day-width) + var(--name-width));box-shadow:5px 0 9px #00000009}.living-sheet tbody .col-note{min-width:0;max-width:var(--note-width);text-overflow:clip;overflow:hidden}.day-cell{text-align:center;color:#71766e;font-weight:700}.item-name{font-weight:600}.note-cell,.month-note-cell{color:#8a8f86}.money-cell{text-align:right;font-variant-numeric:tabular-nums}.money-cell.income{color:#305c49}.money-cell.expense{color:#5f514d}.money-cell.muted{color:#b1b4ae;text-align:center}.column-resizer{cursor:col-resize;z-index:30;width:6px;height:100%;position:absolute;top:0;right:-3px}.column-resizer:hover{background:#505a5226}.sheet-text-input,.sheet-money-input,.sheet-cell-select{box-sizing:border-box;width:100%;height:28px;color:inherit;font:inherit;background:0 0;border:1px solid #0000;border-radius:5px;outline:none}.sheet-text-input{min-width:0;padding:0 4px}.sheet-money-input{text-align:right;text-overflow:clip;font-variant-numeric:tabular-nums;width:100%;min-width:0;padding:0 4px;overflow:hidden}.sheet-cell-select{appearance:none;text-align:center;cursor:pointer;padding:0 2px}.sheet-text-input:hover,.sheet-money-input:hover,.sheet-cell-select:hover{background:#fafbf9;border-color:#e2e5df}.sheet-text-input:focus,.sheet-money-input:focus,.sheet-cell-select:focus{background:#fff;border-color:#aeb8ae;box-shadow:0 0 0 2px #67776b14}.item-name-input{min-width:0;font-weight:600}.group-title td{border-top:5px solid #fff;height:39px}.group-title.loan td{background:#edf3ee}.group-title.project td{background:#f7eeee}.group-title button{color:#343934;font:inherit;cursor:pointer;background:0 0;border:0;margin-right:13px;font-weight:800}.group-title span{color:#858a82;font-size:10px}.linked-placeholder td{color:#9b9f98;background:#fcfcfb}.summary-spacer td{background:#f5f6f4;border:0;height:10px}.summary-row td{background:#fafbf9}.summary-row .summary-label{font-weight:700}.summary-row.strong td{background:#eef1ec;font-weight:800}@media (width<=900px){.balance-sidebar{width:170px}.cashflow-header{flex-direction:column;align-items:flex-start}}.item-name-line{align-items:center;gap:6px;min-width:0;display:flex}.repeat-badge{color:#848a81;background:#f0f2ee;border-radius:999px;flex-shrink:0;padding:2px 6px;font-size:9px;font-weight:600}.repeat-field{min-width:110px}.repeat-toggle{color:#888d85;height:38px;font:inherit;cursor:pointer;background:#fff;border:1px solid #dfe2dc;border-radius:8px;align-items:center;gap:7px;padding:0 10px;font-size:11px;display:flex}.repeat-toggle-knob{background:#d5d8d2;border-radius:999px;width:24px;height:14px;display:inline-block;position:relative}.repeat-toggle-knob:after{content:"";background:#fff;border-radius:50%;width:10px;height:10px;transition:transform .15s;position:absolute;top:2px;left:2px}.repeat-toggle.on{color:#455049;background:#f3f6f2;border-color:#cfd7cf}.repeat-toggle.on .repeat-toggle-knob{background:#68776c}.repeat-toggle.on .repeat-toggle-knob:after{transform:translate(10px)}.balance-topbar{z-index:50;box-sizing:border-box;background:#fffffff5;border-bottom:1px solid #e7e9e4;align-items:center;gap:34px;height:68px;padding:0 28px;display:flex;position:sticky;top:0}.balance-brand{flex-shrink:0;align-items:center;gap:10px;padding:0;display:flex}.balance-brand-mark{color:#fff;background:#353735;border-radius:10px;place-items:center;width:34px;height:34px;font-size:15px;font-weight:800;display:grid}.balance-brand strong{font-size:15px;display:block}.balance-brand small{color:#a0a39b;margin-top:1px;font-size:9px;display:block}.balance-nav{flex-direction:row;align-items:center;gap:4px;display:flex}.balance-nav-item{color:#777b74;text-align:center;width:auto;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:9px 14px;font-size:12px}.balance-nav-item.active{color:#333632;background:#eef1ec;font-weight:700}.topbar-account{align-items:center;gap:14px;margin-left:auto;display:flex}.topbar-account span{color:#949890;text-overflow:ellipsis;white-space:nowrap;max-width:190px;font-size:10px;overflow:hidden}.balance-logout{color:#6d716a;font:inherit;cursor:pointer;background:#fff;border:1px solid #e0e3dd;border-radius:8px;padding:7px 10px;font-size:11px}.item-name-line{align-items:center;gap:6px;min-width:0;display:flex;position:relative}.item-name-text{align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.row-menu-wrap{flex-shrink:0;margin-left:auto;position:relative}.row-menu-button{color:#92978e;cursor:pointer;background:0 0;border:0;border-radius:6px;width:25px;height:25px;padding:0;font-size:16px;line-height:1}.row-menu-button:hover{background:#f0f2ee}.floating-row-menu{z-index:9999;background:#fff;border:1px solid #e0e3dd;border-radius:8px;min-width:110px;padding:5px;position:fixed;box-shadow:0 8px 24px #00000021}.floating-row-menu button{text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 10px;font-size:11px}.floating-row-menu .row-menu-danger{color:#b04b4b}.floating-row-menu .row-menu-danger:hover{background:#fbefef}.linked-summary-row td{background:#fbfcfa}.linked-expand-button,.linked-name-button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.linked-expand-button{color:#777d75;width:22px;font-size:11px}.linked-name-button{text-align:left;font-weight:650}.linked-detail-row td{background:#fff}.linked-detail-row.calculated td{color:#888d85;background:#fafaf8}.linked-detail-row .col-name{padding-left:18px}.linked-inline-input,.linked-inline-date,.linked-inline-select{box-sizing:border-box;width:100%;min-width:0;color:inherit;font:inherit;background:0 0;border:1px solid #0000;border-radius:5px;font-size:10px}.linked-inline-input,.linked-inline-date{height:27px;padding:0 5px}.linked-inline-input:hover,.linked-inline-input:focus,.linked-inline-date:hover,.linked-inline-date:focus,.linked-inline-select:hover,.linked-inline-select:focus{background:#fff;border-color:#dfe3dc;outline:none}.linked-inline-date:disabled{color:#999e97;cursor:default;border-color:#0000}.linked-inline-select{height:25px;padding:0 3px}.linked-detail-label{color:#686d66;font-size:10px}.linked-source-note{color:#9a9f97;font-size:8px}.linked-detail-empty td{color:#a0a59d;text-align:center;background:#fafbf9;padding:12px;font-size:10px}.auto-loan-interest-row{background:#fffdfb}.auto-item-name{font-weight:650}.loan-auto-badge{color:#8b7468;white-space:nowrap;background:#f2ece8;border-radius:999px;align-items:center;height:17px;margin-left:6px;padding:0 6px;font-size:8px;font-weight:700;display:inline-flex}.auto-item-note{color:#8d918b;font-size:10px}.auto-month-note{color:#aaa59e;font-size:9px}.muted-cell{color:#999d96;font-size:9px}.cashflow-summary-cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:14px;display:grid}.cashflow-summary-card{box-sizing:border-box;text-align:center;background:#fff;border:1px solid #e0e3dd;border-radius:9px;min-width:0;height:46px;padding:5px 12px 4px}.cashflow-summary-card>span{color:#92978f;margin-bottom:2px;font-size:9px;font-weight:700;line-height:1.2;display:block}.cashflow-summary-card strong{color:#373c37;font-variant-numeric:tabular-nums;font-size:15px;font-weight:750;line-height:18px;display:inline-block}.cashflow-summary-card strong.positive{color:#34644e}.cashflow-summary-card strong.negative{color:#9b554f}.lowest-date{color:#999e96;margin-left:6px;font-size:10px}.summary-edit-money{justify-content:center;align-items:center;gap:4px;height:18px;line-height:18px;display:flex}.summary-edit-money input{color:#373c37;width:12ch;min-width:0;max-width:calc(100% - 20px);height:18px;font:inherit;text-align:right;font-variant-numeric:tabular-nums;background:0 0;border:0;outline:none;flex:0 12ch;padding:0;font-size:15px;font-weight:750;line-height:1.2}.summary-edit-money small{color:#777c75;flex-shrink:0;font-size:11px}@media (width<=850px){.cashflow-summary-cards{grid-template-columns:repeat(2,1fr)}}.loans-main{box-sizing:border-box;width:100%;padding:28px}.loans-header{justify-content:flex-end;align-items:center;margin-bottom:24px;display:flex}.loan-add-button{color:#fff;height:40px;font:inherit;cursor:pointer;background:#3d473f;border:0;border-radius:9px;padding:0 16px;font-size:12px;font-weight:700}.loans-empty{text-align:center;background:#fff;border:1px solid #e0e3dd;border-radius:13px;padding:60px 24px}.loans-empty strong{color:#4b5049;font-size:15px}.loans-empty p{color:#969b93;margin:8px 0 0;font-size:12px}.loan-form{background:#fff;border:1px solid #e0e3dd;border-radius:13px;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;margin-bottom:18px;padding:18px;display:grid}.loan-field{flex-direction:column;gap:6px;display:flex}.loan-field label{color:#858a82;font-size:10px;font-weight:700}.loan-field input,.loan-field select{box-sizing:border-box;color:#373a36;width:100%;height:38px;font:inherit;background:#fff;border:1px solid #dfe2dc;border-radius:8px;padding:0 10px;font-size:12px}.loan-date-fields{grid-template-columns:1.35fr 1fr 1fr;gap:5px;display:grid}.loan-date-fields select{min-width:0;padding:0 6px}.loan-form-actions{grid-column:1/-1;justify-content:flex-end;align-items:flex-end;gap:7px;display:flex}.loan-cancel-button,.loan-save-button{height:38px;font:inherit;cursor:pointer;border-radius:8px;padding:0 15px;font-size:12px}.loan-cancel-button{color:#666a63;background:#fff;border:1px solid #dfe2dc}.loan-save-button{color:#fff;background:#3d473f;border:0;font-weight:700}.loan-list{flex-direction:column;gap:10px;display:flex}.loan-card{cursor:pointer;background:#fff;border:1px solid #e0e3dd;border-radius:13px;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;transition:border-color .15s,box-shadow .15s;display:flex}.loan-card:hover,.loan-card:focus-visible{border-color:#cbd3ca;outline:none;box-shadow:0 3px 12px #30373112}.loan-card h3{margin:5px 0 3px;font-size:16px}.loan-card p{color:#969b93;margin:0;font-size:11px}.loan-type{color:#727870;background:#eef1ec;border-radius:999px;padding:3px 7px;font-size:9px;font-weight:700;display:inline-block}.loan-card-numbers{gap:34px;display:flex}.loan-card-numbers div{min-width:95px}.loan-card-numbers span{color:#969b93;margin-bottom:5px;font-size:9px;display:block}.loan-card-numbers strong{font-variant-numeric:tabular-nums;font-size:13px}.loan-payment-overrides{background:#fafbf9;border:1px solid #e4e6e1;border-top:0;border-radius:0 0 12px 12px;margin:-4px 0 10px;padding:12px 16px}.loan-payment-overrides-title{color:#81867e;margin-bottom:8px;font-size:9px;font-weight:700}.loan-payment-override-row{grid-template-columns:75px 130px minmax(150px,220px);align-items:end;gap:10px;margin-top:7px;display:grid}.loan-payment-override-row>strong{color:#555a54;padding-bottom:9px;font-size:11px}.loan-payment-override-row label{color:#91968e;flex-direction:column;gap:4px;font-size:8px;display:flex}.loan-payment-override-row input,.loan-payment-override-row select{box-sizing:border-box;height:32px;font:inherit;background:#fff;border:1px solid #dde1da;border-radius:7px;padding:0 8px;font-size:10px}.loan-delete-button{color:#a35d58;font:inherit;cursor:pointer;background:#fff;border:1px solid #eadbd8;border-radius:7px;flex-shrink:0;padding:6px 9px;font-size:9px}.loan-transactions{background:#fafbf9;border:1px solid #e3e6df;border-radius:10px;margin:-3px 0 10px;padding:12px 16px}.loan-transactions-header{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.loan-transactions-header strong{color:#666b64;font-size:10px}.loan-transaction-add-button{color:#5d635c;font:inherit;cursor:pointer;background:#fff;border:1px solid #dce0d9;border-radius:7px;padding:5px 9px;font-size:9px}.loan-transaction-form{background:#fff;border:1px solid #e1e4de;border-radius:9px;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin:9px 0;padding:12px;display:grid}.loan-transaction-form .loan-form-actions{grid-column:1/-1}.loan-transaction-list{flex-direction:column;display:flex}.loan-transaction-row{color:#737871;border-top:1px solid #eceeea;grid-template-columns:95px 90px minmax(180px,1fr) auto;align-items:center;gap:10px;min-height:37px;font-size:10px;display:grid}.loan-transaction-row strong{color:#565b54;font-size:10px}.loan-transaction-value{font-variant-numeric:tabular-nums}.loan-transaction-actions{align-items:center;gap:5px;display:flex}.loan-transaction-actions button{color:#777d75;font:inherit;cursor:pointer;background:0 0;border:0;font-size:9px}.loan-transaction-actions button.danger{color:#a55e59}.loan-transaction-actions small{color:#a0a59d;font-size:8px}.loan-transactions-empty{color:#a1a69e;margin:8px 0 1px;font-size:9px}@media (width<=900px){.loan-form{grid-template-columns:repeat(2,minmax(140px,1fr))}.loan-card{flex-direction:column;align-items:flex-start}}.projects-main{box-sizing:border-box;width:100%;padding:28px}.projects-header{justify-content:flex-end;align-items:center;margin-bottom:20px;display:flex}.project-add-button,.transaction-add-button{color:#fff;height:40px;font:inherit;cursor:pointer;background:#3d473f;border:0;border-radius:9px;padding:0 15px;font-size:12px;font-weight:700}.project-form,.transaction-form{background:#fff;border:1px solid #e0e3dd;border-radius:13px;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;margin-bottom:16px;padding:17px;display:grid}.project-field{flex-direction:column;gap:6px;display:flex}.project-field.wide{grid-column:span 2}.project-field label{color:#858a82;font-size:10px;font-weight:700}.project-field input,.project-field select{box-sizing:border-box;color:#373a36;width:100%;height:38px;font:inherit;background:#fff;border:1px solid #dfe2dc;border-radius:8px;padding:0 10px;font-size:12px}.project-date-fields{grid-template-columns:1.35fr 1fr 1fr;gap:5px;display:grid}.project-date-fields select{min-width:0;padding:0 6px}.project-form-actions{grid-column:1/-1;justify-content:flex-end;gap:7px;display:flex}.project-cancel-button,.project-save-button{height:38px;font:inherit;cursor:pointer;border-radius:8px;padding:0 15px;font-size:12px}.project-cancel-button{color:#666a63;background:#fff;border:1px solid #dfe2dc}.project-save-button{color:#fff;background:#3d473f;border:0;font-weight:700}.projects-empty{text-align:center;background:#fff;border:1px solid #e0e3dd;border-radius:13px;padding:60px 24px}.projects-empty strong{font-size:15px}.projects-empty p{color:#969b93;margin:8px 0 0;font-size:12px}.project-tabs{gap:6px;margin-bottom:12px;display:flex;overflow-x:auto}.project-tabs button{color:#747970;font:inherit;cursor:pointer;background:#fff;border:1px solid #dfe2dc;border-radius:9px;flex-shrink:0;padding:9px 13px;font-size:11px}.project-tabs button.active{color:#343934;background:#eef1ec;border-color:#d6ddd5;font-weight:700}.project-summary{cursor:pointer;background:#fff;border:1px solid #e0e3dd;border-radius:13px;margin-bottom:12px;padding:18px;transition:border-color .15s,box-shadow .15s}.project-summary:hover,.project-summary:focus-visible{border-color:#cbd3ca;outline:none;box-shadow:0 3px 12px #30373112}.project-summary-title{justify-content:space-between;gap:20px;display:flex}.project-summary h2{margin:0;font-size:19px}.project-summary p{color:#8d928a;margin:6px 0 0;font-size:11px}.project-summary-actions{align-items:flex-start;gap:7px;display:flex}.project-delete-button{color:#a15b57;height:40px;font:inherit;cursor:pointer;background:#fff;border:1px solid #eadada;border-radius:9px;padding:0 12px;font-size:11px}.project-total-grid{grid-template-columns:repeat(3,1fr);gap:9px;margin-top:17px;display:grid}.project-total-grid>div{background:#f7f8f5;border-radius:9px;padding:12px}.project-total-grid span{color:#91968e;margin-bottom:5px;font-size:9px;display:block}.project-total-grid strong{font-variant-numeric:tabular-nums;font-size:14px}.project-total-grid .positive{color:#34644e}.project-total-grid .negative{color:#9b554f}.transaction-table-card{background:#fff;border:1px solid #e0e3dd;border-radius:13px;overflow-x:auto}.transaction-table{border-collapse:collapse;width:100%;min-width:920px;font-size:11px}.transaction-table th,.transaction-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #edf0eb;padding:10px 11px}.transaction-table th{color:#7f847c;background:#f6f7f4;font-size:9px}.transaction-table tbody tr:last-child td{border-bottom:0}.transaction-row{cursor:pointer}.transaction-row:hover,.transaction-row:focus-visible{background:#fafbf9;outline:none}.transaction-name{font-weight:650}.transaction-income{color:#34644e;text-align:right!important}.transaction-expense{color:#8d5752;text-align:right!important}.transaction-delete{color:#ad615b;font:inherit;cursor:pointer;background:0 0;border:0;font-size:10px}.transaction-empty{color:#9b9f98;text-align:center!important;padding:38px!important}@media (width<=900px){.project-form,.transaction-form{grid-template-columns:repeat(2,minmax(130px,1fr))}.project-summary-title{flex-direction:column}}#root{min-height:100vh}.global-save-status{z-index:1000;color:#858b83;background:#ffffffeb;border-radius:999px;padding:5px 8px;font-size:9px;position:fixed;bottom:16px;right:22px;box-shadow:0 1px 6px #0000000f}.global-save-status.saving{color:#8f876f}.global-save-status.error{color:#a55550;font-weight:700}.page{background:#f7f7f5;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card,.welcome-card{background:#fff;border:1px solid #e9e9e5;border-radius:24px;width:100%;max-width:420px;padding:44px 40px;box-shadow:0 14px 40px #0000000d}.brand{margin-bottom:34px}.eyebrow{letter-spacing:.14em;color:#8a8a82;margin:0 0 8px;font-size:12px;font-weight:700}h1{color:#272724;margin:0;font-size:36px;line-height:1.15}.subtitle{color:#777770;margin:12px 0 0;line-height:1.6}form{flex-direction:column;gap:20px;display:flex}label{color:#44443f;flex-direction:column;gap:8px;font-size:14px;font-weight:600;display:flex}input{box-sizing:border-box;width:100%;height:48px;font:inherit;color:#292926;background:#fff;border:1px solid #ddddd7;border-radius:12px;outline:none;padding:0 14px}input:focus{border-color:#85857d}.primary-button,.secondary-button{height:50px;font:inherit;cursor:pointer;border:0;border-radius:12px;font-weight:700}.primary-button{color:#fff;background:#292926;margin-top:4px}.primary-button:disabled{opacity:.55;cursor:default}.secondary-button{color:#333330;background:#eeeeea;margin-top:24px;padding:0 22px}.error{color:#c34646;margin:-4px 0 0;font-size:13px}.loading{color:#777770}.welcome-text{color:#777770;margin-top:16px}.app-shell{color:#292926;background:#f6f6f3;min-height:100vh;display:flex}.sidebar{box-sizing:border-box;background:#fff;border-right:1px solid #e9e9e4;flex-direction:column;width:230px;padding:28px 20px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-brand{align-items:center;gap:12px;padding:0 8px 30px;display:flex}.sidebar-logo{color:#fff;background:#343431;border-radius:12px;place-items:center;width:38px;height:38px;font-size:18px;font-weight:700;display:grid}.sidebar-brand strong{font-size:17px;display:block}.sidebar-brand small{color:#999990;margin-top:3px;font-size:11px;display:block}.sidebar-menu{flex-direction:column;gap:6px;display:flex}.menu-item{text-align:left;width:100%;font:inherit;color:#777770;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:12px 14px}.menu-item.active{color:#292926;background:#efefeb;font-weight:700}.sidebar-bottom{border-top:1px solid #eeeeea;margin-top:auto;padding:16px 8px 0}.sidebar-bottom span{color:#999990;text-overflow:ellipsis;margin-bottom:10px;font-size:11px;display:block;overflow:hidden}.logout-button{color:#777770;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px}.main-content{box-sizing:border-box;width:calc(100% - 230px);margin-left:230px;padding:38px 42px 60px}.content-header{justify-content:space-between;align-items:flex-end;margin-bottom:26px;display:flex}.section-label{color:#999990;letter-spacing:.12em;margin:0 0 6px;font-size:11px;font-weight:700}.content-header h1{font-size:30px}.month-picker{border-radius:10px;width:auto;height:42px;padding:0 12px}.summary-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}.summary-card{background:#fff;border:1px solid #e7e7e2;border-radius:16px;padding:20px}.summary-card span{color:#888880;margin-bottom:12px;font-size:12px;display:block}.summary-card strong{font-size:22px}.cashflow-panel{background:#fff;border:1px solid #e7e7e2;border-radius:16px;overflow:hidden}.table-wrap{overflow-x:auto}.cashflow-table{border-collapse:collapse;width:100%;min-width:950px;font-size:13px}.cashflow-table th{color:#777770;text-align:right;background:#fafaf8;border-bottom:1px solid #e9e9e4;padding:14px 16px;font-size:11px;font-weight:600}.cashflow-table th:first-child{text-align:left}.cashflow-table td{color:#44443f;text-align:right;white-space:nowrap;border-bottom:1px solid #f0f0ed;height:42px;padding:0 16px}.cashflow-table tr:last-child td{border-bottom:0}.cashflow-table .date-cell{text-align:left;color:#66665f;font-weight:600}@media (width<=900px){.sidebar{width:180px}.main-content{width:calc(100% - 180px);margin-left:180px;padding:28px 22px}.summary-grid{grid-template-columns:repeat(2,1fr)}}
