*{box-sizing:border-box}:root{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,system-ui,sans-serif;color:#111;background:#eef0f3}body{margin:0;min-height:100vh}button,input,select{font:inherit}.phone{min-height:100vh;max-width:480px;margin:0 auto;background:#fbfbfd;position:relative;overflow-x:hidden}.topBar{position:sticky;top:0;z-index:20;padding:calc(14px + env(safe-area-inset-top)) 18px 12px;background:#fbfbfde6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.scenarioPicker{width:100%;border:0;background:#f0f1f3;border-radius:12px;padding:13px 14px;font-size:14px;font-weight:700;color:#111}.main{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.overviewPage,.contentPage{padding:24px 30px 32px}.contentPage.tight{padding-bottom:0}.metric{margin:44px 0}.label{font-size:17px;font-weight:850;text-transform:uppercase;margin-bottom:10px;letter-spacing:-.01em}.green{color:#188a2e}.red{color:#d92d20}.blue{color:#0b63e5}.value{font-size:43px;line-height:1;font-weight:850;letter-spacing:-.045em;font-variant-numeric:tabular-nums}.sub{margin-top:8px;color:#6e6e73;font-size:17px}.divider{height:1px;background:#d7d7dc;margin:28px 0}.negative{color:#b42318}.summaryGrid{border-top:1px solid #d7d7dc;border-bottom:1px solid #d7d7dc;margin-top:32px}.summaryGrid div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid #e5e5ea}.summaryGrid div:last-child{border-bottom:0}.summaryGrid span{color:#6e6e73}.sectionHero{margin:30px 0 28px}.categoryList{border-top:1px solid #dddfe4}.category{border-bottom:1px solid #dddfe4;padding:18px 0 0}.category.mutedBlock{opacity:.65}.categoryHeader{width:100%;border:0;background:transparent;padding:0 0 14px;display:flex;justify-content:space-between;color:inherit;cursor:pointer;font-size:17px;font-weight:850;text-align:left}.categoryHeader strong,.categoryHeader b{font-variant-numeric:tabular-nums}.entryRow{width:100%;border:0;background:transparent;border-top:1px solid #eeeeef;padding:15px 0;color:inherit;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;text-align:left;font-size:16px;font-weight:650;cursor:pointer}.entryRow.inactive{opacity:.38}.entryAmount{display:flex;flex-direction:column;align-items:flex-end;gap:5px;font-variant-numeric:tabular-nums;white-space:nowrap}.entryAmount>span{display:inline-flex;align-items:center;gap:7px}.entryAmount small{color:#6e6e73;font-size:13px;font-weight:650}.periodBadge{width:22px;height:20px;border-radius:6px;background:#eceef1;color:#555;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:900}.fab{position:fixed;right:max(22px,calc((100vw - 480px)/2 + 22px));bottom:calc(92px + env(safe-area-inset-bottom));width:56px;height:56px;border:0;border-radius:999px;background:#188a2e;color:#fff;font-size:34px;line-height:1;box-shadow:0 10px 28px #00000038;cursor:pointer;z-index:10}.redFab{background:#d92d20}.emptyState{min-height:300px;color:#6e6e73;display:grid;place-content:center;gap:16px;text-align:center}.emptyState button,.primaryButton,.secondaryButton{min-height:52px;border-radius:10px;font-weight:850;padding:0 16px;cursor:pointer}.primaryButton,.emptyState button{width:100%;border:0;background:#0b63e5;color:#fff}.secondaryButton{width:100%;border:1.5px solid #0b63e5;background:transparent;color:#0b63e5;margin:10px 0 26px}.pageTitle{font-size:24px;font-weight:900;letter-spacing:-.02em;margin:36px 0 28px;text-transform:uppercase}.subhead{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:#6e6e73;margin:34px 0 10px}.plainList{border-top:1px solid #e3e3e6}.plainRow{min-height:64px;border:0;border-bottom:1px solid #e3e3e6;background:transparent;color:inherit;width:100%;padding:12px 0;display:flex;align-items:center;justify-content:space-between;text-align:left;font-size:17px;font-weight:650}.plainRow.compact{min-height:48px}.plainRow small{display:block;color:#6e6e73;font-size:13px;margin-top:3px;font-weight:500}.buttonRow{cursor:pointer}.miniDelete{margin-left:12px;border:0;background:transparent;color:#d92d20;font-size:13px;cursor:pointer}.tabbar{position:fixed;left:50%;transform:translate(-50%);bottom:0;width:min(480px,100%);height:calc(76px + env(safe-area-inset-bottom));background:#ffffffeb;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid #ddd;display:grid;grid-template-columns:repeat(6,1fr);z-index:40;padding-bottom:env(safe-area-inset-bottom)}.tab{border:0;background:transparent;color:#6e6e73;font-size:10px;font-weight:750;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer}.tab span{font-size:20px;line-height:1}.tab.active{color:#0b63e5}.tab.active.income{color:#188a2e}.tab.active.expenses{color:#d92d20}.tab.active.calculators{color:#8e24aa}.sheetBackdrop{position:fixed;inset:0;background:#0000002e;z-index:80}.sheet{position:absolute;left:50%;bottom:0;transform:translate(-50%);width:min(480px,100%);background:#fff;border-radius:26px 26px 0 0;padding:10px 22px calc(30px + env(safe-area-inset-bottom));min-height:64vh;box-shadow:0 -10px 40px #0000002e}.sheet.small{min-height:46vh}.handle{width:42px;height:5px;background:#d1d1d6;border-radius:999px;margin:0 auto 18px}.sheet h2{margin:0 0 24px;font-size:20px;text-align:center}.hint{color:#6e6e73;text-align:left;margin:6px 0 18px;line-height:1.35}.field{margin:18px 0;display:grid;grid-template-columns:92px 1fr;align-items:center;gap:14px;font-size:15px;font-weight:750}.field.standalone{grid-template-columns:110px 1fr}.field input,.field select{width:100%;border:1px solid #d9d9de;background:#fff;border-radius:9px;padding:13px 12px;font-size:16px;font-weight:500;color:inherit}.segmented,.modeSwitch{display:grid;grid-template-columns:repeat(2,1fr);background:#f0f1f3;border-radius:9px;overflow:hidden}.segmented{grid-template-columns:repeat(3,1fr)}.segmented button,.modeSwitch button{border:0;background:transparent;padding:13px;font-weight:850;cursor:pointer}.segmented button.active,.modeSwitch button.active{background:#fff;box-shadow:0 1px 5px #00000014}.switch{width:50px;height:30px;border:0;border-radius:999px;background:#c7c7cc;position:relative;justify-self:end}.switch:after{content:"";position:absolute;left:2px;top:2px;width:26px;height:26px;border-radius:999px;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .18s ease}.switch.on{background:#34c759}.switch.on:after{transform:translate(20px)}.saveButton,.deleteButton{width:100%;border:0;border-radius:10px;min-height:54px;font-size:17px;font-weight:850;margin-top:18px;cursor:pointer}.saveButton{background:#188a2e;color:#fff}.saveButton:disabled,.deleteButton:disabled{opacity:.35;cursor:not-allowed}.deleteButton{background:transparent;color:#d92d20}.subTop{display:flex;align-items:center;gap:20px;padding:calc(14px + env(safe-area-inset-top)) 18px 10px;background:#fbfbfde6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:sticky;top:0;z-index:50}.subTop button,.backButton{border:0;background:transparent;color:#0b63e5;font-weight:700;padding:0}.smallInput{width:72px!important;text-align:right}.modeSwitch{margin:18px 0}.sysBadge{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;width:16px;height:16px;border-radius:999px;background:#78787826;color:#8a8a8a;font-size:10px;font-weight:700;line-height:1;flex-shrink:0;vertical-align:middle}@media(prefers-color-scheme:dark){:root{background:#000;color:#f5f5f7}.phone{background:#000}.topBar,.subTop{background:#000000d9}.scenarioPicker,.periodBadge,.segmented,.modeSwitch{background:#1c1c1e;color:#f5f5f7}.divider,.categoryList,.category,.entryRow,.plainList,.plainRow,.summaryGrid,.summaryGrid div{border-color:#2c2c2e}.tabbar{background:#1c1c1eeb;border-color:#2c2c2e}.sheet{background:#1c1c1e;color:#f5f5f7}.field input,.field select{background:#111;border-color:#3a3a3c}.sysBadge{background:#ffffff1f;color:#b8b8be}.segmented button.active,.modeSwitch button.active{background:#2c2c2e}}.miniAction{margin-left:12px;border:0;background:transparent;color:#0b63e5;font-size:13px;cursor:pointer}.plainRow input{max-width:210px;border:1px solid #d9d9de;border-radius:8px;padding:9px;background:transparent;color:inherit}.salaryInput{width:140px!important;min-width:140px;text-align:right}.sysCategoryHint{display:block;color:#8a8a8a;font-size:12px;margin-top:3px;font-weight:600}.miniAction:disabled,.miniDelete:disabled{opacity:.35;cursor:not-allowed}
