:root{--bg:#f5f2ea;--ink:#1c2925;--muted:#74807b;--green:#173f36;--green2:#2f6b5b;--card:#fffefa;--line:rgba(23,63,54,.1);--red:#bd554c;--orange:#d49338;--shadow:0 14px 32px rgba(34,53,46,.09)}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.custom-category{margin:9px 0 0;padding:11px;border-radius:14px;background:#eef4f1}.custom-category input{background:#fff}
.tx-edit{border:0;padding:5px 8px;border-radius:9px;color:var(--green);background:#eaf1ee;font-size:11px;font-weight:700}.transaction .tx-amount{margin-left:auto}.delete-record{width:100%;margin-top:14px;padding:12px;border:0;border-radius:12px;color:#b64343;background:#fff0ee;font-weight:700}
@media(max-width:430px){
  .app{padding:max(14px,env(safe-area-inset-top)) 12px 96px}
  .app-header{margin:2px 1px 13px}.app-header h1{font-size:27px}.eyebrow{font-size:10px}.top-add{padding:9px 11px;border-radius:12px;font-size:12px}
  .balance-card{padding:17px;border-radius:21px}.balance-card>strong{margin:7px 0 14px;font-size:29px}.balance-head{font-size:11px}.metric-grid{gap:9px}.metric-grid div{padding-top:9px}.metric-grid b{font-size:14px}
  .alert-strip{margin:10px 0;padding:10px 12px;border-radius:14px}.alert-icon{width:25px;height:25px;border-radius:8px}.alert-strip strong{font-size:12px}
  .section-block{margin-top:10px;padding:14px;border-radius:18px}.section-title h2{font-size:15px}.budget-amount{margin:12px 0 7px}.budget-amount strong{font-size:20px}
  .transaction{gap:8px;padding:10px 0}.tx-icon{width:32px;height:32px;border-radius:10px}.tx-main strong{font-size:12px}.tx-main span{font-size:9px}.tx-amount{font-size:13px}.tx-edit{padding:5px 7px;font-size:10px}
  .page-heading{margin:4px 1px 13px}.page-heading h2{font-size:25px}.account-card{padding:13px;border-radius:16px}.account-symbol{width:36px;height:36px}.account-copy strong{font-size:17px}
  .report-summary{gap:6px}.report-summary div{padding:11px 8px;border-radius:14px}.report-summary strong{font-size:13px}.chart-wrap{gap:13px}.pie-chart{width:108px;height:108px;box-shadow:inset 0 0 0 20px #fff}
  .bottom-nav{padding:6px 7px max(7px,env(safe-area-inset-bottom))}.bottom-nav span{font-size:18px}.floating-add{right:16px;bottom:73px;width:49px;height:49px;border-radius:16px;font-size:24px}
  .sheet{width:100%;max-height:94dvh;padding:6px 15px max(20px,env(safe-area-inset-bottom));border-radius:21px 21px 0 0}.sheet-head h2{font-size:15px}.amount-field{margin:13px 0}.amount-field input{font-size:31px}.form-grid{gap:7px}input,select{padding:11px;border-radius:11px}.smart-entry{gap:5px;margin-top:13px}.smart-entry button{padding:9px 3px;font-size:10px}
}
@media(max-width:375px){.app{padding-left:10px;padding-right:10px}.section-block{padding:12px}.balance-card{padding:15px}.report-summary strong{font-size:12px}.chart-wrap{align-items:flex-start}.pie-chart{width:96px;height:96px}.tx-main span{max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;background:radial-gradient(circle at 90% 2%,#d9e8df 0,transparent 24%),var(--bg)}button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.eyebrow{margin:0 0 4px;color:var(--muted);font-size:12px;letter-spacing:.06em}.auth-view{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:30px 20px}.brand-mark{display:grid;place-items:center;width:70px;height:70px;border-radius:24px;color:#fff;background:var(--green);font:700 34px Georgia,serif;box-shadow:0 18px 35px rgba(23,63,54,.25)}.auth-view h1{margin:3px 0 24px;font:700 40px Georgia,"Songti SC",serif}.auth-card{width:min(100%,420px);padding:24px;border-radius:25px;background:rgba(255,255,255,.88);box-shadow:var(--shadow)}.auth-card h2{margin:0 0 6px;font-size:20px}.auth-card p{margin:0 0 20px;color:var(--muted);font-size:13px;line-height:1.5}label{display:block;margin:13px 0;color:#68736e;font-size:12px;font-weight:650}input,select{width:100%;margin-top:7px;padding:13px;border:1px solid var(--line);border-radius:13px;color:var(--ink);background:#f8f7f2;outline:0}.primary-button,.secondary-button{width:100%;padding:14px;border:0;border-radius:14px;font-weight:750}.primary-button{margin-top:8px;color:#fff;background:var(--green)}.secondary-button{color:var(--green);background:#e5efeb}.app{width:min(100%,620px);min-height:100vh;margin:auto;padding:max(22px,env(safe-area-inset-top)) 17px 110px}.app-header{display:flex;align-items:center;justify-content:space-between;margin:4px 2px 19px}.app-header h1{margin:0;font:700 31px Georgia,"Songti SC",serif}.top-add{padding:11px 14px;border:0;border-radius:14px;color:#fff;background:var(--green);font-weight:750;box-shadow:0 9px 20px rgba(23,63,54,.2)}.page{display:none}.page.active{display:block}.balance-card{padding:21px;border-radius:25px;color:#fff;background:linear-gradient(135deg,#173f36,#397868);box-shadow:0 18px 38px rgba(23,63,54,.2)}.balance-head{display:flex;justify-content:space-between;color:rgba(255,255,255,.7);font-size:13px}.balance-head button{border:0;color:#fff;background:transparent}.balance-card>strong{display:block;margin:10px 0 18px;font-size:34px}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.metric-grid div{padding-top:12px;border-top:1px solid rgba(255,255,255,.16)}.metric-grid span,.metric-grid b{display:block}.metric-grid span{font-size:11px;opacity:.65}.metric-grid b{margin-top:4px;font-size:16px}.alert-strip{display:flex;gap:11px;align-items:center;margin:14px 0;padding:13px 15px;border-radius:17px;background:#fff6df}.alert-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:10px;color:#956720;background:#f9e1aa;font-weight:800}.alert-strip strong{font-size:13px}.alert-strip p{margin:2px 0 0;color:#8a7040;font-size:11px}.section-block{margin-top:14px;padding:17px;border:1px solid var(--line);border-radius:21px;background:rgba(255,255,255,.82);box-shadow:0 7px 20px rgba(34,53,46,.05)}.section-title{display:flex;align-items:center;justify-content:space-between}.section-title span{color:var(--muted);font-size:11px}.section-title h2{margin:3px 0 0;font-size:17px}.section-title button{border:0;color:var(--green2);background:transparent;font-size:12px;font-weight:700}.budget-amount{margin:16px 0 8px}.budget-amount strong{font-size:23px}.budget-amount span{color:var(--muted);font-size:12px}.progress{height:8px;overflow:hidden;border-radius:10px;background:#e7e9e4}.progress div{height:100%;width:0;border-radius:inherit;background:var(--green2);transition:.25s}.helper{margin:8px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.transaction-list{margin-top:10px}.transaction{display:flex;align-items:center;gap:11px;padding:12px 0;border-top:1px solid var(--line)}.tx-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:13px;background:#edf3ef;font-size:16px}.tx-main{flex:1;min-width:0}.tx-main strong,.tx-main span{display:block}.tx-main strong{font-size:14px}.tx-main span{margin-top:3px;color:var(--muted);font-size:10px}.tx-amount{font-weight:750}.tx-amount.income{color:var(--green2)}.empty{padding:17px 0;margin:0;color:#9aa39f;text-align:center;font-size:12px}.page-heading{margin:8px 2px 17px}.page-heading h2{margin:0;font:700 29px Georgia,"Songti SC",serif}.account-list{display:grid;gap:11px}.account-card{display:flex;align-items:center;gap:12px;padding:16px;border-radius:19px;color:#fff;background:var(--green);box-shadow:var(--shadow)}.account-card.credit{background:linear-gradient(135deg,#6c2930,#a54c52)}.account-card.cash{color:var(--ink);background:#f2dfad}.account-symbol{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:rgba(255,255,255,.16)}.account-copy{flex:1}.account-copy span,.account-copy strong{display:block}.account-copy span{font-size:11px;opacity:.7}.account-copy strong{margin-top:4px;font-size:19px}.debt-summary{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.debt-summary div{padding:13px;border-radius:15px;background:#f3f4ef}.debt-summary span,.debt-summary strong{display:block}.debt-summary span{color:var(--muted);font-size:11px}.debt-summary strong{margin-top:5px}.debt-item{display:flex;justify-content:space-between;padding:11px 0;border-top:1px solid var(--line);font-size:12px}.debt-item small{color:var(--muted)}.report-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.report-summary div{padding:14px 10px;border-radius:17px;background:#fff}.report-summary span,.report-summary strong{display:block}.report-summary span{color:var(--muted);font-size:10px}.report-summary strong{margin-top:6px;font-size:15px}.chart-wrap{display:flex;align-items:center;gap:20px;margin-top:17px}.pie-chart{flex:0 0 auto;width:128px;height:128px;border-radius:50%;background:#e7ebe8;box-shadow:inset 0 0 0 24px #fff}.legend{display:grid;gap:7px;font-size:11px}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:8px;height:8px;border-radius:3px}.summary-text{margin:14px 0 0;color:#4f5e58;font-size:13px;line-height:1.75}.settings-list{overflow:hidden;border-radius:20px;background:#fff}.settings-list button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:15px 17px;border:0;border-top:1px solid var(--line);color:var(--ink);background:#fff;text-align:left}.settings-list button:first-child{border-top:0}.settings-list span,.settings-list small{display:block}.settings-list small{margin-top:4px;color:var(--muted)}.privacy-note{padding:14px;color:var(--muted);font-size:11px;line-height:1.7}.bottom-nav{position:fixed;z-index:10;left:50%;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);width:min(100%,620px);padding:8px 10px max(9px,env(safe-area-inset-bottom));transform:translateX(-50%);border-top:1px solid var(--line);background:rgba(255,254,250,.93);backdrop-filter:blur(15px)}.bottom-nav button{border:0;color:#8a9490;background:transparent;font-size:10px}.bottom-nav span{display:block;margin-bottom:3px;font-size:20px}.bottom-nav button.active{color:var(--green);font-weight:750}.floating-add{position:fixed;z-index:11;right:max(20px,calc((100vw - 620px)/2 + 20px));bottom:83px;width:54px;height:54px;border:0;border-radius:18px;color:#fff;background:var(--green);box-shadow:0 15px 28px rgba(23,63,54,.3);font-size:27px}.sheet{width:min(calc(100% - 18px),600px);max-height:91vh;overflow:auto;margin:auto auto 0;padding:7px 19px max(25px,env(safe-area-inset-bottom));border:0;border-radius:25px 25px 0 0;background:#fffefa}.sheet::backdrop{background:rgba(19,31,26,.38);backdrop-filter:blur(4px)}.handle{width:40px;height:5px;margin:2px auto 7px;border-radius:10px;background:#d8d9d4}.sheet-head{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center}.sheet-head h2{font-size:17px;text-align:center}.sheet-head button{border:0;color:var(--muted);background:transparent;text-align:left}.sheet-head .save{text-align:right;color:var(--green);font-weight:750}.type-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:14px;background:#eceee9}.type-switch button{padding:9px;border:0;border-radius:11px;color:var(--muted);background:transparent}.type-switch button.active{color:#fff;background:var(--green)}.amount-field{margin:18px 0}.amount-field>span{display:block}.amount-field div{display:flex;align-items:center;border-bottom:1px solid var(--line)}.amount-field b{font-size:25px}.amount-field input{margin:0;border:0;background:transparent;font-size:36px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.smart-entry{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:18px}.smart-entry button{padding:11px 5px;border:0;border-radius:12px;color:var(--green);background:#eaf1ee;font-size:11px}.toast{position:fixed;z-index:30;left:50%;bottom:105px;padding:10px 15px;transform:translate(-50%,20px);border-radius:12px;color:#fff;background:#243a32;opacity:0;pointer-events:none;transition:.2s;font-size:12px}.toast.show{opacity:1;transform:translate(-50%,0)}@media(min-width:700px){.app{padding-top:32px}.account-list{grid-template-columns:1fr 1fr}}
