:root{color:#111827;-webkit-font-smoothing:antialiased;background:#eef0ee;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(#f4f5f2,#e9ece8);margin:0}button,input,select{font:inherit}button{cursor:pointer}.app{justify-content:center;min-height:100vh;display:flex}.phone{background:#fafafa;width:100%;max-width:430px;min-height:100vh;position:relative;box-shadow:0 0 50px #00000014}.screen{padding:22px 16px 112px}.header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.header h1{letter-spacing:-.04em;margin:0;font-size:31px;font-weight:760;line-height:1.05}.header p{color:#6b7280;margin:5px 0 0;font-size:14px}.iconBtn,.roundAdd{background:#fff;border:0;border-radius:18px;min-width:48px;height:48px;box-shadow:0 4px 18px #0000000f}.roundAdd{color:#fff;background:#2f8b35;border-radius:999px;font-size:28px;line-height:1}.outlineBtn{color:#237229;background:#fff;border:1px solid #2f8b35;border-radius:15px;padding:10px 13px;font-weight:650}.card{background:#fff;border:1px solid #ececec;border-radius:26px;margin-bottom:14px;padding:16px;box-shadow:0 6px 22px #0000000b}.hero{background:#f0f7ed;align-items:center;gap:16px;display:flex}.hero>span,.roundIcon{background:#e7f2e3;border-radius:20px;flex:none;place-items:center;width:54px;height:54px;font-size:25px;display:grid}.hero p{color:#67706a;margin:0;font-size:14px}.hero strong{letter-spacing:-.04em;font-size:40px;line-height:1.05;display:block}.accountGrid{grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:24px;display:grid}.miniCard{text-align:left;background:#fff;border:1px solid #ececec;border-radius:19px;min-height:94px;padding:10px;box-shadow:0 5px 18px #0000000a}.miniCard span{font-size:22px;display:block}.miniCard p{color:#555;margin:7px 0 3px;font-size:12px;line-height:1.1}.miniCard b{font-size:15px}.moreCard{text-align:center;color:#777}.section{justify-content:space-between;align-items:center;margin:20px 0 10px;display:flex}.section h2{letter-spacing:-.02em;margin:0;font-size:21px}.section button{color:#2f8b35;background:0 0;border:0;font-weight:650}.budgetGrid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.budgetCard{text-align:left;background:#fff;border:1px solid #ececec;border-radius:22px;padding:13px;box-shadow:0 6px 20px #0000000a}.budgetCard span{margin-bottom:5px;font-size:29px;display:block}.budgetCard b{margin-bottom:2px;font-size:15px;display:block}.budgetCard strong{color:#2f8b35;letter-spacing:-.04em;font-size:29px;display:block}.budgetCard small{color:#7b7f85;margin-top:3px;font-size:11px;display:block}.progress{background:#e5e7eb;border-radius:999px;flex:1;height:8px;overflow:hidden}.progress>div{background:#2f8b35;border-radius:999px;height:100%}.progressLine{align-items:center;gap:8px;margin-top:10px;display:flex}.progressLine em{color:#70757a;font-size:12px;font-style:normal}.softWide{color:#2f8b35;background:#fff;border:1px solid #ececec;border-radius:20px;width:100%;margin:10px 0 16px;padding:13px;font-weight:700;box-shadow:0 5px 18px #0000000a}.rowCard,.listBig{align-items:center;gap:14px;display:flex}.grow{flex:1}.twoCols{grid-template-columns:1fr 1fr;gap:10px;display:grid}.twoCols p{margin:6px 0 0}.twoCols small,.goalHead small{color:#8b9299;font-size:12px;display:block}.twoCols strong{color:#2f8b35;font-size:22px;display:block}.goalHead{align-items:center;gap:14px;display:flex}.goalHead b{font-size:18px}.bigGreen{color:#2f8b35;letter-spacing:-.04em;font-size:34px;line-height:1;display:block}.summary{background:#f0f7ed;gap:12px;display:grid}.summary.compact{box-shadow:none;background:0 0;border:0;grid-template-columns:repeat(4,1fr);margin:14px 0;padding:0}.metric{justify-content:space-between;align-items:center;gap:8px;display:flex}.summary.compact .metric{display:block}.metric span{color:#647067;font-size:14px}.metric b{font-size:20px}.metric .green,.green{color:#2f8b35!important}.list{background:#fff;border:1px solid #ececec;border-radius:24px;margin-bottom:14px;overflow:hidden;box-shadow:0 6px 20px #0000000a}.listRow{text-align:left;background:#fff;border:0;border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px 15px;display:flex}.listRow:last-child{border-bottom:0}.listRow b{font-weight:650}.listRow small{color:#8a9098;margin-top:2px;display:block}.listRow span{color:#333;font-weight:650}.tabs{background:#fff;border:1px solid #e5e7eb;border-radius:18px;grid-template-columns:1fr 1fr;margin-bottom:18px;padding:4px;display:grid}.tabs button{color:#757b82;background:0 0;border:0;border-radius:14px;padding:12px;font-weight:650}.tabs button.active{color:#2f8b35;background:#f0f7ed;box-shadow:inset 0 0 0 1px #2f8b35}.stack{gap:12px;display:grid}.listBig{width:100%}.listBig>div{flex:1}.listBig b{font-size:17px;display:block}.listBig strong{color:#2f8b35;letter-spacing:-.04em;font-size:30px;line-height:1.05;display:block}.listBig small{color:#8a9098;margin-top:5px;display:block}.actions{gap:10px;margin-top:10px;display:flex}.actions button,.pill{color:#2f8b35;background:#edf7ea;border:0;border-radius:999px;padding:8px 12px;font-weight:700}.menuRow{text-align:left;background:#fff;border:1px solid #ececec;border-radius:24px;align-items:center;gap:14px;width:100%;margin-bottom:12px;padding:16px;display:flex;box-shadow:0 6px 20px #0000000a}.menuRow span{background:#eaf4e6;border-radius:18px;place-items:center;width:50px;height:50px;font-size:24px;display:grid}.menuRow b{flex:1;font-size:17px}.menuRow em{color:#999;font-style:normal}.menuRow.danger b{color:#b42318}.categoryGrid,.travelGrid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px;display:grid}.categoryGrid button,.travelGrid button{text-align:left;background:#fff;border:1px solid #ececec;border-radius:22px;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;min-height:100px;padding:12px;display:flex;box-shadow:0 6px 20px #0000000a}.categoryGrid button{text-align:center;align-items:center}.categoryGrid span,.travelGrid span{font-size:26px}.categoryGrid b,.travelGrid b{font-size:14px}.categoryGrid small,.travelGrid small{color:#777;font-size:11px}.tripTabs{gap:8px;margin:0 0 12px;display:flex;overflow:auto}.tripTabs button{color:#666;background:#fff;border:1px solid #e5e7eb;border-radius:999px;padding:8px 12px}.tripTabs button.active{color:#2f8b35;background:#f0f7ed;border-color:#2f8b35}.tripTitle{justify-content:space-between;align-items:flex-start;display:flex}.tripTitle b{font-size:25px}.tripTitle small{color:#777;display:block}.tripTitle button{color:#2f8b35;background:#f0f7ed;border:0;border-radius:12px;padding:8px 11px;font-weight:650}.empty{text-align:center;color:#777;padding:24px}.primaryBtn{color:#fff;background:#2f8b35;border:0;border-radius:24px;width:100%;padding:16px;font-size:17px;font-weight:750;box-shadow:0 8px 20px #2f8b3538}.primaryBtn:disabled{opacity:.5}.nav{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:20;background:#fffffff5;border-top:1px solid #e5e7eb;grid-template-columns:repeat(5,1fr);align-items:end;width:100%;max-width:430px;height:84px;padding:8px 8px 10px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav button{color:#7b8189;background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;padding:4px 2px;font-size:19px;display:flex}.nav button.active{color:#2f8b35}.nav small{font-size:10px}.fab{width:64px;height:64px;top:-26px;left:50%;transform:translate(-50%);box-shadow:0 12px 25px #2f8b354d;color:#fff!important;background:#2f8b35!important;border-radius:50%!important;font-size:36px!important;position:absolute!important}.overlay{z-index:50;background:#00000073;justify-content:center;align-items:flex-end;padding:10px;display:flex;position:fixed;inset:0}.sheet{background:#fff;border-radius:30px 30px 24px 24px;width:100%;max-width:430px;max-height:92vh;padding:10px 16px 18px;overflow:auto;box-shadow:0 -18px 50px #0003}.handle{background:#ddd;border-radius:999px;width:42px;height:4px;margin:0 auto 12px}.sheetHead{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.sheetHead h2{letter-spacing:-.03em;margin:0;font-size:24px}.sheetHead button{color:#555;background:#f3f4f6;border:0;border-radius:14px;width:36px;height:36px;font-size:24px}.amountInput{justify-content:center;align-items:center;gap:8px;margin:10px 0 14px;display:flex}.amountInput input{text-align:center;letter-spacing:-.05em;background:0 0;border:0;outline:0;width:150px;font-size:58px;font-weight:750}.amountInput span{font-size:44px;font-weight:700}.quick{grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:16px;display:grid}.quick button{background:#fff;border:1px solid #e5e7eb;border-radius:15px;padding:10px}.quick button.active{color:#2f8b35;background:#f0f7ed;border-color:#2f8b35;font-weight:700}.label{margin:14px 0 8px;font-weight:750}.chipGrid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.chipGrid.accounts{grid-template-columns:repeat(4,1fr)}.chipGrid button{background:#fff;border:1px solid #e5e7eb;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:72px;padding:6px;display:flex}.chipGrid button.active{color:#2f8b35;background:#f0f7ed;border-color:#2f8b35}.chipGrid span{font-size:23px}.chipGrid small{font-size:11px;line-height:1.05}.field{margin:12px 0;display:block}.field span{color:#6b7280;margin-bottom:6px;font-size:13px;display:block}.field input,.field select{background:#fff;border:1px solid #e5e7eb;border-radius:16px;outline:0;width:100%;height:48px;padding:0 14px}.field input:focus,.field select:focus{border-color:#2f8b35}.toggle{background:#f8faf8;border-radius:16px;justify-content:space-between;align-items:center;margin:12px 0;padding:14px;display:flex}.toggle input{width:22px;height:22px}.sheetActions{gap:10px;margin-top:16px;display:flex}.deleteBtn{color:#991b1b;background:#fee2e2;border:0;border-radius:22px;padding:0 16px;font-weight:750}.note{color:#666;line-height:1.45}.muted{opacity:.55}@media (width<=380px){.budgetGrid,.categoryGrid,.travelGrid{grid-template-columns:1fr 1fr}.accountGrid{grid-template-columns:repeat(2,1fr)}.chipGrid,.chipGrid.accounts{grid-template-columns:repeat(3,1fr)}.summary.compact{grid-template-columns:1fr 1fr}}.header{min-height:76px}.header>div:first-child{min-width:0}.header h1{max-width:100%}.monthPicker{color:#6b7280;align-items:center;margin-top:4px;font-size:15px;display:inline-flex;position:relative}.monthPicker input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.monthPicker span{padding:2px 0;display:inline-block}.tripSummary{grid-template-columns:1fr 1fr;gap:12px;margin:14px 0;padding:0;display:grid}.tripSummary .metric{min-width:0;display:block}.tripSummary .metric span{font-size:12px;line-height:1.2;display:block}.tripSummary .metric b{letter-spacing:-.04em;white-space:nowrap;font-size:24px;line-height:1.05;display:block}.travelGrid{grid-template-columns:repeat(2,1fr)}.travelGrid button{min-height:116px}.tripTitle{gap:12px}.tripTitle>div{min-width:0}.tripTitle b{overflow-wrap:anywhere}.nav{padding-bottom:max(10px, env(safe-area-inset-bottom))}@media (width<=390px){.header h1{font-size:28px}.tripSummary .metric b{font-size:21px}.outlineBtn{padding:9px 11px;font-size:13px}}.budgetToolbar{grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 14px;display:grid}.budgetToolbar button{color:#6b7280;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:11px;font-weight:700}.budgetToolbar button.active{color:#2f8b35;background:#f0f7ed;border-color:#2f8b35}.budgetRow{text-align:left;background:#fff;border:1px solid #ececec;border-radius:24px;align-items:center;gap:12px;width:100%;padding:14px;display:flex;box-shadow:0 6px 20px #0000000a}.budgetRowMain{flex:1;min-width:0}.budgetRowTop{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.budgetRowTop b{font-size:17px}.budgetRowTop strong{color:#2f8b35;white-space:nowrap;font-size:24px}.budgetRow small{color:#7b8189;margin-top:3px;display:block}.budgetRow em{color:#9ca3af;font-style:normal}.overBudget{background:#fff7f7;border-color:#fecaca}.overBudget .roundIcon{background:#fee2e2}.overBudget .budgetRowTop strong,.overBudget small{color:#b42318}.overBudget .progress>div{background:#dc2626}.dangerSummary{background:#fff7f7;border-color:#fecaca}.dangerSummary .metric:last-child b,.negative{color:#b42318!important}
