*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}:root{color:#1a1b2e;--bg-1:#a8d4ff;--bg-2:#bce8e0;--bg-3:#9ee8c8;--label:#1a1b2e;--secondary-label:#1a1b2e99;--tertiary-label:#1a1b2e59;--glass-bg:#ffffffd1;--glass-bg-strong:#ffffffe6;--glass-border:#ffffff8c;--glass-shadow:0 8px 32px #28647824;--separator:#fff6;--grouped-separator:#1a1b2e14;--system-blue:#5b8def;--system-green:#2bd9a3;--system-red:#ff6b81;--system-purple:#3aa0c8;--system-gray:#8e8ea0;--fill-tertiary:#ffffff4d;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,system-ui,sans-serif}html{overscroll-behavior:none;height:100%}html,body{min-height:100%;margin:0}#root{min-height:100dvh}html,body{background:radial-gradient(circle at 15% 8%, var(--bg-1) 0%, transparent 45%), radial-gradient(circle at 90% 15%, var(--bg-2) 0%, transparent 50%), radial-gradient(circle at 30% 95%, var(--bg-3) 0%, transparent 45%), radial-gradient(circle at 85% 85%, var(--bg-1) 0%, transparent 50%), linear-gradient(160deg,#eef6ff 0%,#eefcf6 50%,#e8fbf2 100%);overscroll-behavior:none;background-size:100% 100%;background-attachment:fixed;min-height:100dvh}.phone{max-width:480px;min-height:100vh;margin:0 auto;position:relative;overflow-x:hidden}button,input,select{font:inherit;appearance:none}.topBar{z-index:20;padding:calc(8px + env(safe-area-inset-top)) 16px 8px;position:sticky;top:0}.scenarioPicker{border:1px solid var(--glass-border);background:var(--glass-bg);width:100%;color:var(--label);box-shadow:var(--glass-shadow);border-radius:16px;padding:11px 14px;font-size:15px;font-weight:600}.main{padding-bottom:calc(90px + env(safe-area-inset-bottom))}.overviewPage,.contentPage{padding:0 16px 32px}.overviewFooter{border-top:1px solid var(--grouped-separator);text-align:center;letter-spacing:.02em;color:var(--tertiary-label);margin-top:24px;padding-top:16px;font-size:11px;font-weight:500}.contentPage.tight{padding-bottom:0}.pageTitle{letter-spacing:.01em;text-transform:none;color:var(--label);margin:6px 0 16px;padding:0 4px;font-size:34px;font-weight:800}.metric{margin:20px 0;padding:0 4px}.label{text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:13px;font-weight:700}.green,.label.green{color:#1fae84}.red,.label.red{color:#e0506b}.blue,.label.blue{color:var(--system-blue)}.value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--label);font-size:40px;font-weight:800;line-height:1.1}.sub{color:var(--secondary-label);margin-top:2px;font-size:15px}.subExtra{color:var(--secondary-label);margin-top:4px;font-size:13px;font-weight:500}.negative{color:#e0506b}.divider{background:var(--grouped-separator);height:1px;margin:20px 4px}.sectionHero{margin:14px 0 22px;padding:0 4px}.plainList,.categoryList{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:18px;margin:18px 0;overflow:hidden}.summaryGrid{background:var(--glass-bg-strong);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:18px;margin:18px 0;overflow:hidden}.summaryGrid div{border-bottom:1px solid var(--grouped-separator);justify-content:space-between;align-items:center;gap:20px;min-height:24px;padding:11px 14px;display:flex}.summaryGrid div:last-child{border-bottom:0}.summaryGrid span{color:var(--label);font-size:15px}.summaryGrid b{font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.subhead{text-transform:uppercase;letter-spacing:.03em;color:var(--secondary-label);margin:24px 8px 6px;font-size:13px;font-weight:600}.category{border-bottom:1px solid var(--grouped-separator)}.category:last-child{border-bottom:0}.category.mutedBlock{opacity:.5}.categoryHeader{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;padding:11px 14px;font-size:15px;font-weight:600;display:flex}.categoryHeaderLabel,.entryLabel{align-items:center;gap:6px;display:inline-flex}.categoryHeaderLabel svg{color:var(--tertiary-label);flex-shrink:0}.entryRow{border:0;border-top:1px solid var(--grouped-separator);width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:11px 14px;font-size:15px;font-weight:400;display:flex}.entryRow.inactive{opacity:.4}.entryAmount{font-variant-numeric:tabular-nums;white-space:nowrap;flex-direction:column;align-items:flex-end;gap:3px;display:flex}.entryAmount>span{align-items:center;gap:6px;display:inline-flex}.entryAmount small{color:var(--secondary-label);font-size:12px;font-weight:400}.periodBadge{width:22px;height:18px;color:var(--secondary-label);border:1px solid var(--glass-border);background:#ffffffb3;border-radius:999px;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex;box-shadow:0 1px 3px #3c64781a}.fab{right:max(20px,50vw - 220px);bottom:calc(94px + env(safe-area-inset-bottom));border:1px solid var(--glass-border);color:#0d3b30;width:46px;height:46px;box-shadow:var(--glass-shadow);cursor:pointer;z-index:10;background:#2bd9a3d9;border-radius:16px;justify-content:center;align-items:center;font-size:24px;font-weight:300;line-height:1;display:flex;position:fixed}.redFab{color:#5b1320;background:#ff6b81d9}.emptyState{min-height:280px;color:var(--secondary-label);text-align:center;place-content:center;gap:14px;padding:0 8px;display:grid}.emptyState button,.primaryButton,.secondaryButton,.saveButton,.deleteButton{cursor:pointer;border:1px solid var(--glass-border);border-radius:12px;justify-content:center;align-items:center;min-height:40px;padding:0 18px;font-size:15px;font-weight:600;display:inline-flex}.primaryButton,.saveButton{color:#15294f;background:#5b8defcc}.emptyState button{color:#15294f;background:#5b8defcc;width:auto}.secondaryButton{background:var(--fill-tertiary);color:var(--label);width:auto;margin:8px 0 22px;font-weight:600}.saveButton{width:auto;margin-top:18px}.saveButton:disabled,.deleteButton:disabled{opacity:.35;cursor:not-allowed}.deleteButton{color:#c23c54;background:0 0;border-color:#ff6b8166;width:auto;margin-top:6px}.plainRow{border:0;border-bottom:1px solid var(--grouped-separator);min-height:44px;color:inherit;text-align:left;background:0 0;justify-content:space-between;align-items:center;width:100%;padding:11px 14px;font-size:15px;font-weight:400;display:flex}.plainList .plainRow:last-child{border-bottom:0}.plainRow.compact{min-height:38px;padding:9px 14px}.plainRow b{font-weight:600}.plainRow small{color:var(--secondary-label);margin-top:2px;font-size:12px;font-weight:400;display:block}.buttonRow{cursor:pointer}.buttonRow span:last-child{color:var(--tertiary-label);font-size:18px;font-weight:600}.miniDelete{color:#c23c54;cursor:pointer;background:0 0;border:0;margin-left:10px;font-size:14px;font-weight:600}.miniAction{color:#3a5fc0;cursor:pointer;background:0 0;border:0;margin-left:10px;font-size:14px;font-weight:600}.miniAction:disabled,.miniDelete:disabled{opacity:.35;cursor:not-allowed}.plainRow input{border:1px solid var(--glass-border);background:var(--fill-tertiary);max-width:160px;color:inherit;text-align:right;border-radius:10px;padding:7px 10px;font-weight:500}.tabbar{width:min(480px,100%);height:calc(58px + env(safe-area-inset-bottom));border-top:1px solid var(--glass-border);z-index:40;padding-bottom:env(safe-area-inset-bottom);background:#ffffffeb;grid-template-columns:repeat(6,1fr);padding-top:6px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tab{color:var(--system-gray);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:flex-start;align-items:center;gap:3px;padding-top:4px;font-size:10px;font-weight:500;transition:color .2s;display:flex;position:relative}.tab svg{transition:transform .25s cubic-bezier(.34,1.56,.64,1);display:block}.tab .tabIconWrap{border-radius:13px;justify-content:center;align-items:center;width:40px;height:26px;transition:background .25s,transform .25s cubic-bezier(.34,1.56,.64,1);display:flex}.tab.active .tabIconWrap{background:#ffffff80;transform:scale(1.06);box-shadow:0 2px 8px #3c64781f}.tab.active svg{transform:scale(1.08)}.tab.active{color:var(--system-blue)}.tab.active.income{color:#1fae84}.tab.active.expenses{color:#e0506b}.tab.active.calculators{color:var(--system-purple)}@keyframes sheetBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes sheetSlideIn{0%{transform:translate(-50%,100%)}to{transform:translate(-50%)}}.sheetBackdrop{z-index:80;background:#3c325a59;animation:.28s cubic-bezier(.32,.72,0,1) sheetBackdropIn;position:fixed;inset:0}.sheet{border:1px solid var(--glass-border);width:min(480px,100%);padding:8px 16px calc(28px + env(safe-area-inset-bottom));background:#fffffff7;border-radius:22px 22px 0 0;min-height:64vh;animation:.32s cubic-bezier(.32,.72,0,1) sheetSlideIn;position:absolute;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -8px 40px #3c28782e}.sheet.small{min-height:38vh}.handle{background:#1a1b2e2e;border-radius:999px;width:36px;height:5px;margin:0 auto 16px}.sheet h2{text-align:center;color:var(--label);margin:0 0 18px;font-size:17px;font-weight:600}.hint{color:var(--secondary-label);text-align:left;margin:4px 8px 16px;font-size:13px;line-height:1.4}.field{background:var(--glass-bg-strong);border-bottom:1px solid var(--grouped-separator);grid-template-columns:1fr auto;align-items:center;gap:14px;margin:0;padding:11px 14px;font-size:15px;font-weight:400;display:grid}.field:not(.standalone){border-bottom:1px solid var(--grouped-separator);border-radius:0}h2+.field:not(.standalone),.handle+.field:not(.standalone){border-top-left-radius:14px;border-top-right-radius:14px}:is(.field:not(.standalone):has(+.saveButton),.field:not(.standalone):has(+.deleteButton)){border-bottom:0;border-bottom-right-radius:14px;border-bottom-left-radius:14px}.field.standalone{border:1px solid var(--glass-border);background:var(--glass-bg);border-radius:14px;margin:10px 0}.field input,.field select{border:1.5px solid var(--system-blue);width:168px;color:var(--label);text-align:right;text-align-last:right;background:#ffffffd9;border-radius:10px;flex-shrink:0;padding:7px 11px;font-size:15px;font-weight:600;box-shadow:0 1px 4px #5b8def2e}.field input::placeholder{color:var(--tertiary-label)}.field input:read-only,.field input:disabled,.field select:disabled{width:auto;max-width:none;box-shadow:none;color:var(--secondary-label);cursor:default;background:0 0;border:0;border-radius:0;flex-shrink:1;padding:0;font-weight:500}:is(.field:has(input:read-only),.field:has(input:disabled),.field:has(select:disabled)){background:#ffffff1f}.segmented,.modeSwitch{background:var(--fill-tertiary);border:1px solid var(--glass-border);border-radius:13px;grid-template-columns:repeat(2,1fr);gap:3px;padding:3px;display:grid;overflow:hidden}.segmented{grid-template-columns:repeat(3,1fr)}.field .segmented{flex-shrink:0;width:168px}.segmented button,.modeSwitch button{cursor:pointer;color:var(--label);background:0 0;border:0;border-radius:10px;padding:7px 6px;font-size:14px;font-weight:500}.segmented button.active,.modeSwitch button.active{background:#ffffffbf;font-weight:600;box-shadow:0 2px 8px #3c28781f}.switch{border:1px solid var(--glass-border);cursor:pointer;background:#ffffff59;border-radius:999px;flex-shrink:0;justify-self:end;width:48px;height:28px;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:999px;width:22px;height:22px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #3c28782e}.switch.on{background:#2bd9a38c}.switch.on:after{transform:translate(20px)}.subTop{padding:calc(8px + env(safe-area-inset-top)) 16px 8px;z-index:50;border-bottom:1px solid var(--glass-border);background:#ffffffeb;align-items:center;gap:16px;display:flex;position:sticky;top:0}.subTop b{color:var(--label);font-size:17px;font-weight:600}.subTop button,.backButton{color:#3a5fc0;cursor:pointer;background:0 0;border:0;padding:0;font-size:17px;font-weight:500}.smallInput{text-align:right!important;width:60px!important}.modeSwitch{margin:16px 0}.sysBadge{background:var(--fill-tertiary);width:18px;height:18px;color:var(--system-gray);vertical-align:middle;border:1px solid var(--glass-border);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;margin-left:6px;display:inline-flex}.sysBadge svg{display:block}.salaryInput{min-width:120px;text-align:right!important;width:120px!important}.percentInput{min-width:48px;text-align:right!important;width:48px!important}.sysCategoryHint{color:var(--system-gray);margin-top:2px;font-size:11px;font-weight:500;display:block}.subEff{color:var(--secondary-label);margin-top:2px;font-size:12px;font-weight:400;display:block}@media (prefers-color-scheme:dark){:root{color:#f0f0f5;--bg-1:#1f3a5f;--bg-2:#1f5f4f;--bg-3:#2a4a6f;--label:#f0f0f5;--secondary-label:#f0f0f59e;--tertiary-label:#f0f0f559;--glass-bg:#1e263ad1;--glass-bg-strong:#1e263ae6;--glass-border:#ffffff24;--glass-shadow:0 8px 32px #00000059;--grouped-separator:#ffffff14;--fill-tertiary:#ffffff12;--system-green:#34e8b5;--system-red:#ff7a8e;--system-blue:#7aa6ff}html,body{background:radial-gradient(circle at 15% 8%, var(--bg-1) 0%, transparent 45%), radial-gradient(circle at 90% 15%, var(--bg-2) 0%, transparent 50%), radial-gradient(circle at 30% 95%, var(--bg-3) 0%, transparent 45%), linear-gradient(160deg,#0b0c18 0%,#13101f 50%,#0b1714 100%);background-size:100% 100%;background-attachment:fixed}.green,.label.green{color:#34e8b5}.red,.label.red,.negative{color:#ff7a8e}.tabbar{background:#14141eeb}.sheetBackdrop{background:#0000008c}.sheet{background:#1c1a2af7}.subTop{background:#14141eeb}.handle{background:#fff3}.switch{background:#ffffff1a}.switch:after{background:#e8e8ee}.field input,.field select{color:var(--label);background:#ffffff24;box-shadow:0 1px 4px #0000004d}.field input:read-only,.field input:disabled,.field select:disabled{box-shadow:none;background:0 0}:is(.field:has(input:read-only),.field:has(input:disabled),.field:has(select:disabled)){background:#ffffff08}.segmented button.active,.modeSwitch button.active{background:#ffffff29}.tab.active .tabIconWrap{background:#ffffff1f;box-shadow:0 2px 8px #0000004d}.tab.active.income{color:#34e8b5}.tab.active.expenses{color:#ff7a8e}.fab{color:#0a3a2c;background:#34e8b5d9}.redFab{color:#5b1320;background:#ff7a8ed9}.primaryButton,.saveButton,.emptyState button{color:#0c1830;background:#7aa6ffd9}.deleteButton{color:#ff9fae;border-color:#ff7a8e59}.miniAction{color:#9db8ff}.miniDelete{color:#ff9fae}.periodBadge{background:#ffffff14;box-shadow:0 1px 3px #00000040}}.infoCard,.releaseCard{background:var(--glass-bg-strong);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);color:var(--label);border-radius:18px;margin:14px 0 18px;padding:14px}.infoCard b,.releaseCard b{margin-bottom:4px;font-size:15px;font-weight:700;display:block}.infoCard p{color:var(--secondary-label);margin:0;font-size:13px;line-height:1.35}.releaseCard{gap:10px;display:grid}.releaseCard small{color:var(--secondary-label);margin-top:3px;font-size:12px;display:block}.releaseCard ul{color:var(--secondary-label);margin:0;padding-left:18px;font-size:13px;line-height:1.35}.releaseCard li{margin:3px 0}.releaseEyebrow{color:var(--secondary-label);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:12px;font-weight:700;display:block}.warningRow b,.warningRow span:last-child{color:#b97900}.dangerSubhead{color:#c23c54}.dangerList{border-color:#ff6b8159}.dangerRow b,.dangerRow span:last-child{color:#c23c54}.emptyState b{color:var(--label);margin-bottom:4px;font-size:16px;display:block}.emptyState p{max-width:280px;color:var(--secondary-label);margin:0 auto;line-height:1.35}
