﻿:root{--bg:#f4f5f0;--panel:#fff;--ink:#1f2933;--muted:#667085;--line:#dde3dc;--blue:#1f6feb;--green:#0f8b6f;--red:#d04f3f;--yellow:#f4c95d;--dark:#17202c;--shadow:0 14px 38px rgba(31,41,51,.08);--radius:8px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}.app-shell{min-height:100vh;display:grid;grid-template-columns:310px 1fr}.sidebar{position:sticky;top:0;height:100vh;overflow:auto;background:var(--dark);color:#fff;padding:24px;display:flex;flex-direction:column;gap:20px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:44px;height:44px;border-radius:8px;background:var(--yellow);color:var(--dark);display:grid;place-items:center;font-size:23px;font-weight:800}.brand h1{margin:0;font-size:22px}.brand p{margin:4px 0 0;color:#b8c1cc;font-size:13px}.field,.quick-form,.side-actions{display:grid;gap:9px}label,.side-title{font-size:13px;color:#cbd5e1;margin:0}input,select,textarea{width:100%;min-height:42px;border:1px solid var(--line);border-radius:var(--radius);padding:10px 11px;background:#fff;color:var(--ink);outline:none}textarea{min-height:68px;resize:vertical}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:rgba(255,255,255,.09);border-radius:8px;padding:4px}.segmented button{min-height:38px;border-radius:6px;background:transparent;color:#dbe4ef}.segmented button.active{background:#fff;color:var(--dark);font-weight:800}.primary,.secondary,.danger,.ghost,.mini{min-height:42px;border-radius:var(--radius);padding:0 14px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.primary{background:var(--blue);color:#fff}.secondary{background:#edf2f7;color:#253243}.danger{background:#ffe7e3;color:#a5362a}.ghost{background:rgba(255,255,255,.1);color:#fff}.sidebar .primary{background:var(--yellow);color:var(--dark)}.mini{min-height:32px;padding:0 10px;font-size:13px;background:#f3f5f7;color:#253243}.main{padding:24px;display:grid;gap:18px;align-content:start}.hero{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}.hero h2{margin:0;font-size:28px}.hero p{margin:6px 0 0;color:var(--muted)}.toolbar{display:flex;gap:10px;flex-wrap:wrap}.dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric,.panel,.record-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.metric{padding:16px;display:grid;gap:8px}.metric span{font-size:13px;color:var(--muted)}.metric strong{font-size:22px;line-height:1.1}.green{color:var(--green)}.red{color:var(--red)}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.wide-left{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr)}.manage-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}.panel{padding:16px;min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.panel-head h3{margin:0;font-size:18px}.pill{border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700;background:#eef2f7;color:#344054}.filters{display:grid;grid-template-columns:1.2fr .7fr .8fr;gap:10px;margin-bottom:12px}.records-list,.compact-list,.bars,.manage-list{display:grid;gap:10px}.records-list{max-height:560px;overflow:auto;padding-right:4px}.record-card{box-shadow:none;padding:12px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.record-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-weight:800}.record-meta{margin-top:6px;color:var(--muted);font-size:13px;display:flex;gap:8px;flex-wrap:wrap}.record-amount{font-weight:900;font-size:18px;text-align:right}.record-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:6px}.bar-row{display:grid;gap:6px}.bar-label{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:#344054}.track{height:9px;border-radius:999px;background:#edf2f7;overflow:hidden}.fill{height:100%;border-radius:999px;background:var(--blue)}.inline-form{display:grid;grid-template-columns:1fr 130px auto;gap:8px;margin-bottom:12px}.inline-form.stacked{grid-template-columns:.7fr 1fr 1fr auto}.manage-item{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.empty{border:1px dashed var(--line);border-radius:8px;padding:20px;text-align:center;color:var(--muted);background:#fbfcfd}.modal{position:fixed;inset:0;background:rgba(15,23,42,.42);display:none;align-items:center;justify-content:center;padding:18px;z-index:10}.modal.open{display:flex}.modal-box{width:min(580px,100%);background:#fff;border-radius:8px;padding:18px;box-shadow:0 24px 80px rgba(15,23,42,.26);display:grid;gap:12px}.modal-box h3{margin:0}.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.full{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.modal label{color:var(--muted)}.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%) translateY(20px);background:var(--dark);color:#fff;padding:10px 14px;border-radius:8px;opacity:0;transition:.2s;z-index:20}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}@media(max-width:1100px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.dashboard-grid{grid-template-columns:repeat(2,1fr)}.content-grid,.wide-left,.manage-grid{grid-template-columns:1fr}}@media(max-width:640px){.sidebar,.main{padding:16px}.hero h2{font-size:23px}.dashboard-grid,.filters,.inline-form,.inline-form.stacked,.modal-grid,.budget-table-head,.budget-row{grid-template-columns:1fr}.record-card{grid-template-columns:1fr}.record-amount{text-align:left}.toolbar,.modal-actions{width:100%}.toolbar button,.modal-actions button{flex:1}}
.budget-table-form{display:grid;gap:12px}.budget-table-head,.budget-row{display:grid;grid-template-columns:1fr 150px;gap:10px;align-items:center}.budget-table-head{font-size:13px;color:var(--muted);font-weight:800;padding:0 2px}.budget-table{display:grid;gap:8px}.budget-row{padding:10px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd;font-weight:700}.budget-row input{text-align:right}.budget-manage-panel{align-self:start}
.currency-note{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);border-radius:8px;padding:10px 11px;color:#dbe4ef;font-size:13px}.currency-note strong{color:#fff}.alert{border:1px solid #ffd4a8;background:#fff7ed;color:#9a3412;border-radius:8px;padding:12px 14px;font-weight:700}.summary-line{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.summary-line span{text-align:right;color:#344054}.record-amount small{display:block;margin-top:4px;font-size:12px;color:var(--muted);font-weight:700}.rate-grid,.rate-rows,.account-form{display:grid;gap:10px}.rate-row{display:grid;grid-template-columns:1fr 150px;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd;font-weight:800}.rate-row input{text-align:right}.rate-row.fixed{background:#eef7f2}.account-form{grid-template-columns:1fr 100px 110px 110px auto}.manage-item small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.version-footer{color:var(--muted);font-size:13px;text-align:center;padding:8px 0 18px}@media(max-width:1100px){.account-form{grid-template-columns:1fr 1fr}}@media(max-width:640px){.summary-line,.rate-row,.account-form{grid-template-columns:1fr}.summary-line span{text-align:left}}
.v5-shell .sidebar{gap:18px}.side-nav{display:grid;gap:6px}.nav-item{width:100%;min-height:40px;border-radius:8px;background:transparent;color:#dbe4ef;text-align:left;padding:0 12px;font-weight:800}.nav-item.active,.nav-item:hover{background:#fff;color:var(--dark)}.page-section{display:none;gap:18px}.page-section.active{display:grid}.narrow-panel{max-width:760px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .full{grid-column:1/-1}.segmented.light{background:#eef2f7}.segmented.light button{color:#344054}.segmented.light button.active{background:var(--blue);color:#fff}.light-note{background:#fbfcfd;border-color:var(--line);color:#344054}.light-note strong{color:var(--ink)}.record-filters{grid-template-columns:1.2fr .7fr .9fr .9fr}.data-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.backup-note{border:1px solid var(--line);border-radius:8px;background:#fbfcfd;color:var(--muted);padding:12px;line-height:1.6}.budget-row.rich span{display:grid;gap:4px}.budget-row.rich small{font-size:12px;color:var(--muted)}@media(max-width:1100px){.v5-shell .sidebar{position:static;height:auto}.side-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.nav-item{text-align:center}}@media(max-width:640px){.side-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid,.record-filters,.data-actions{grid-template-columns:1fr}.narrow-panel{max-width:none}}
:root{--v6-green:#16a34a;--v6-green-dark:#0f7a38;--v6-bg:#f3f5f1;--v6-text:#17202c}.mobile-shell{min-height:100vh;background:var(--v6-bg);max-width:520px;margin:0 auto;position:relative;box-shadow:0 0 0 1px rgba(23,32,44,.04)}.app-main{padding:18px 16px 104px;display:grid;gap:16px}.app-topbar{display:flex;justify-content:space-between;gap:12px;align-items:center}.app-topbar h1{margin:2px 0 0;font-size:28px;letter-spacing:0}.eyebrow{margin:0;color:var(--v6-green);font-size:13px;font-weight:900}.top-actions{display:flex;align-items:center;gap:8px}.top-actions input{width:132px;min-height:38px;border-radius:999px;text-align:center;font-size:13px}.icon-button{width:38px;height:38px;border-radius:999px;background:#fff;color:var(--v6-text);box-shadow:0 10px 24px rgba(23,32,44,.08)}.app-page{display:none;gap:14px}.app-page.active{display:grid}.hero-card{border-radius:24px;background:linear-gradient(145deg,var(--v6-green),var(--v6-green-dark));color:#fff;padding:22px;display:grid;gap:14px;box-shadow:0 18px 44px rgba(22,163,74,.24)}.hero-card span{opacity:.86;font-weight:800}.hero-card strong{font-size:42px;line-height:1;letter-spacing:0}.hero-card-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hero-card-row div{background:rgba(255,255,255,.13);border-radius:16px;padding:12px}.hero-card-row small{display:block;opacity:.78;margin-bottom:5px}.hero-card-row b{font-size:18px}.metric-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.mini-metric,.app-card{background:#fff;border:1px solid rgba(23,32,44,.06);border-radius:20px;box-shadow:0 12px 32px rgba(23,32,44,.06)}.mini-metric{padding:12px;display:grid;gap:5px;min-width:0}.mini-metric span{font-size:12px;color:var(--muted);font-weight:800}.mini-metric strong{font-size:14px;word-break:break-word}.app-card{padding:16px;display:grid;gap:12px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-head h2{font-size:18px;margin:0}.section-head span{font-size:12px;color:var(--muted);font-weight:800}.soft-list{display:grid;gap:9px}.app-list-row{border:0;background:#f7f9f6;border-radius:14px}.app-record{border:0;background:#f7f9f6;border-radius:16px}.app-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-form{display:grid;gap:12px}.mobile-form label,.app-card label{color:var(--muted)}.full-button{width:100%}.bottom-nav{position:fixed;left:50%;bottom:12px;transform:translateX(-50%);width:min(492px,calc(100% - 24px));height:68px;background:#fff;border:1px solid rgba(23,32,44,.08);border-radius:24px;box-shadow:0 18px 48px rgba(23,32,44,.14);display:grid;grid-template-columns:1fr 1fr 72px 1fr 1fr;align-items:center;z-index:9}.bottom-item{height:52px;background:transparent;color:#8a94a3;font-size:12px;font-weight:900;display:grid;place-items:center;gap:2px}.bottom-item span{font-size:18px}.bottom-item.active{color:var(--v6-green)}.quick-add{width:62px;height:62px;border-radius:999px;background:var(--v6-green);color:#fff;font-size:34px;line-height:1;box-shadow:0 16px 34px rgba(22,163,74,.36);transform:translateY(-18px)}.sheet{position:fixed;inset:0;background:rgba(15,23,42,.32);display:none;align-items:flex-end;justify-content:center;padding:16px;z-index:20}.sheet.open{display:flex}.sheet-panel{width:min(480px,100%);display:grid;gap:10px;background:#fff;border-radius:24px;padding:14px;box-shadow:0 24px 80px rgba(15,23,42,.26)}.sheet-panel button{min-height:50px;border-radius:16px;background:#f3f5f1;font-weight:900;color:var(--v6-text)}.sheet-panel button:first-child{background:#fee2e2;color:#b42318}.sheet-panel button:nth-child(2){background:#dcfce7;color:#166534}.profile-hero{border-radius:22px;background:#fff;padding:18px;display:grid;gap:4px;box-shadow:0 12px 32px rgba(23,32,44,.06)}.profile-hero strong{font-size:24px}.profile-hero span{color:var(--muted)}.subtle{color:var(--muted);font-size:12px}@media(min-width:780px){.mobile-shell{margin:24px auto;border-radius:28px;overflow:hidden}.bottom-nav{bottom:24px}.app-main{padding-top:24px}}@media(max-width:420px){.metric-strip{grid-template-columns:repeat(2,1fr)}.hero-card strong{font-size:34px}.app-filters{grid-template-columns:1fr}.bottom-nav{grid-template-columns:1fr 1fr 64px 1fr 1fr}.quick-add{width:58px;height:58px}.account-form,.inline-form.stacked{grid-template-columns:1fr}.data-actions{grid-template-columns:1fr}}
.dashboard-home{gap:18px}.dashboard-home .app-card{border-radius:24px;padding:18px;box-shadow:0 14px 36px rgba(23,32,44,.07)}.dashboard-hero{border-radius:28px;padding:24px;gap:18px;box-shadow:0 20px 48px rgba(22,163,74,.28)}.dashboard-hero strong{font-size:46px}.hero-label-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.hero-label-row small{font-size:12px;opacity:.72;font-weight:800}.dashboard-home .section-head h2{font-size:17px}.dashboard-home .summary-line{padding:13px 14px;border-radius:18px;background:#f8faf7}.dashboard-home .bar-row{padding:12px;border-radius:18px;background:#f8faf7}.dashboard-home .app-record{padding:14px;border-radius:18px}.dashboard-home .record-actions{display:none}.dashboard-home .record-title span:first-child{font-size:15px}.dashboard-home .record-meta{font-size:12px}.dashboard-home .record-amount{font-size:16px}.dashboard-home .track{height:10px}.dashboard-home .metric-strip{gap:10px}.dashboard-home .mini-metric{border-radius:18px;padding:14px}@media(max-width:420px){.dashboard-hero{padding:22px}.dashboard-hero strong{font-size:38px}.dashboard-home{gap:15px}}
button,[data-page-target],#quickAddBtn,[data-quick-type],.bottom-nav,.sheet,.sheet-panel{touch-action:manipulation}.bottom-nav{pointer-events:auto;z-index:100}.bottom-nav button,.quick-add{pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent}.sheet{pointer-events:auto;z-index:200}.sheet:not(.open){pointer-events:none}.sheet-panel,.sheet-panel button{pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent}.app-main{position:relative;z-index:1}
@keyframes pageFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.app-page.active{animation:pageFadeIn 240ms ease both}.bottom-nav{height:calc(68px + env(safe-area-inset-bottom));padding:0 10px env(safe-area-inset-bottom);border-radius:26px 26px max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-bottom));align-items:center}.bottom-item{border-radius:18px;min-width:54px;min-height:52px;transition:background-color 220ms ease,color 220ms ease,transform 220ms ease}.bottom-item.active{background:#ecfdf3;color:var(--v6-green);transform:translateY(-1px)}.bottom-item.active span{font-weight:900}.quick-add{transition:transform 220ms ease,box-shadow 220ms ease,background-color 220ms ease}.quick-add:active{transform:translateY(-16px) scale(.96);box-shadow:0 10px 24px rgba(22,163,74,.32)}@media(max-width:420px){.bottom-nav{width:calc(100% - 18px);bottom:8px}.bottom-item{font-size:11px}.bottom-item span{font-size:17px}}
.ledger-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;border-radius:14px;background:#f7f9f6}.ledger-icon{width:34px;height:34px;border-radius:12px;background:#ecfdf3;color:var(--v6-green);display:grid;place-items:center;font-size:17px;font-weight:900}.ledger-main{min-width:0;display:grid;gap:3px}.ledger-title{display:flex;gap:7px;align-items:baseline;min-width:0}.ledger-title strong{font-size:14px;line-height:1.2}.ledger-title small{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ledger-meta{display:flex;gap:6px;flex-wrap:wrap;color:var(--muted);font-size:11px;line-height:1.2}.ledger-side{text-align:right;display:grid;gap:2px;min-width:92px}.ledger-side strong{font-size:16px;line-height:1.1}.ledger-side small{font-size:10px;color:var(--muted);font-weight:800}.ledger-actions{display:flex;justify-content:flex-end;gap:4px}.ledger-actions .mini{min-height:22px;font-size:11px;padding:0 7px;border-radius:10px}.app-page[data-page="records"] .records-list{gap:6px;max-height:none;overflow:visible;padding-right:0}@media(max-width:420px){.ledger-row{grid-template-columns:34px minmax(0,1fr) auto;padding:8px 9px;gap:8px}.ledger-icon{width:31px;height:31px;border-radius:11px;font-size:16px}.ledger-title strong{font-size:13px}.ledger-side{min-width:82px}.ledger-side strong{font-size:15px}.ledger-actions .mini{min-height:21px;font-size:10px;padding:0 6px}}
.dashboard-home #accountStats{cursor:pointer}.account-center-row{grid-template-columns:1fr auto auto}.account-balance{font-weight:900;color:var(--v6-green);text-align:right;white-space:nowrap}@media(max-width:420px){.account-center-row{grid-template-columns:1fr}.account-balance{text-align:left}}
