:root{--bg:#eef5f1;--card:#fffefa;--ink:#18332b;--muted:#74807a;--accent:#176b55;--soft:#dcece5;--danger:#d76754;--line:#dce4df;--shadow:0 14px 34px #19392f14;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC",sans-serif;color:var(--ink);background:var(--bg)}:root[data-theme=ocean]{--bg:#edf5f9;--ink:#183645;--accent:#256b9b;--soft:#dcebf5}:root[data-theme=violet]{--bg:#f3eff8;--ink:#352b42;--accent:#7656a7;--soft:#e8dff2}:root[data-theme=sunset]{--bg:#f9f0ec;--ink:#432e29;--accent:#b85d4a;--soft:#f1ddd6}:root[data-theme=midnight]{--bg:#e9ebf0;--ink:#252b38;--accent:#424b68;--soft:#dce0ea}*{box-sizing:border-box}body{margin:0;background:var(--bg);-webkit-tap-highlight-color:transparent}.app{width:min(100%,720px);margin:auto;padding:calc(env(safe-area-inset-top) + 18px) 17px calc(env(safe-area-inset-bottom) + 105px)}button,input,select{font:inherit;color:inherit}button{cursor:pointer}.topbar,.month-nav,.balance-head,.quick-add,.section-title,.sheet-title,.settings-head{display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:10px;letter-spacing:.2em;color:var(--accent);font-weight:850;margin:0 0 3px}.topbar h1{font:27px Georgia,"Songti SC",serif;margin:0}.avatar{border:0;background:var(--accent);color:white;border-radius:15px;width:43px;height:43px;font-weight:800;box-shadow:var(--shadow)}.page{display:none}.page.active{display:block;animation:fade .25s ease}@keyframes fade{from{opacity:.3;transform:translateY(4px)}}.month-nav{margin:22px 0 14px;position:relative}.month-nav>button{border:0;background:transparent}.month-nav>button:first-child,.month-nav>button:nth-child(3){font-size:32px;padding:5px 18px}.month-nav #monthPicker{display:flex;flex-direction:column;align-items:center;font-size:17px}.month-nav small{font-weight:400;color:var(--muted);font-size:10px;margin-top:2px}.month-nav input{position:absolute;opacity:0;pointer-events:none}.balance-card{background:var(--ink);color:white;border-radius:27px;padding:22px;box-shadow:var(--shadow);background-image:radial-gradient(circle at 92% -10%,color-mix(in srgb,var(--accent) 80%,white),transparent 45%)}.balance-head{color:#d5dfda;font-size:13px}.pill{font-size:10px;background:#ffffff18;padding:5px 9px;border-radius:20px}.balance-card>strong{display:block;font:38px Georgia,serif;margin:16px 0 20px}.money-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ffffff22;padding-top:15px;gap:12px}.money-grid div{display:flex;flex-direction:column}.money-grid div+div{border-left:1px solid #ffffff22;padding-left:12px}.money-grid small{color:#bdcbc5;font-size:10px}.money-grid b{font-size:13px;margin-top:3px}.budget-line,.big-progress{height:6px;background:#ffffff25;border-radius:10px;margin-top:15px;overflow:hidden}.budget-line i,.big-progress i{display:block;width:0;height:100%;background:#84d1ad;border-radius:10px;transition:.35s}.quick-add{gap:10px;margin:13px 0}.quick-add button{flex:1;border:0;border-radius:16px;padding:14px 5px;font-weight:750}.quick-add button:first-child{background:#f4ddd7;color:#984d40}.quick-add button:last-child{background:var(--soft);color:var(--accent)}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 18px}.mini-stats div{background:#ffffffaa;border:1px solid var(--line);border-radius:16px;padding:12px 8px;display:grid;grid-template-columns:auto 1fr;gap:1px 6px}.mini-stats span{grid-row:1/3}.mini-stats small{font-size:9px;color:var(--muted)}.mini-stats b{font-size:12px}.panel,.settings-card{background:#fffefae6;border:1px solid var(--line);border-radius:22px;padding:18px;margin:13px 0;box-shadow:0 8px 22px #24352e09}.section-title p{font-weight:800;margin:0}.section-title small{color:var(--muted)}.link-btn{border:0;background:transparent;color:var(--accent);font-size:12px;font-weight:700}.chart-wrap{display:grid;grid-template-columns:minmax(145px,190px) 1fr;align-items:center;margin-top:15px}.chart-wrap canvas{width:100%;height:auto}.legend{display:grid;gap:9px}.legend div{display:grid;grid-template-columns:10px 1fr auto;gap:7px;font-size:12px}.legend i{width:8px;height:8px;border-radius:50%;margin-top:3px}.legend em{font-style:normal;color:var(--muted)}.records{margin-top:8px}.record{display:grid;grid-template-columns:42px 1fr auto 20px;gap:9px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.record:last-child{border:0}.record-icon{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:var(--bg);font-size:19px}.record p{margin:0;font-weight:700;font-size:13px}.record small{color:var(--muted);font-size:10px}.record b{font-size:13px}.record b.income{color:var(--accent)}.record-menu{border:0;background:transparent;color:#b8beba;font-size:18px}.empty{text-align:center;color:var(--muted);padding:28px 0}.empty span{font-size:27px;color:var(--accent)}.empty p{margin:7px 0 2px;font-weight:700;color:var(--ink)}.search-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin:22px 0 10px}.search-row input,.search-row button{border:1px solid var(--line);background:#ffffffaa;border-radius:14px;padding:12px}.filter-chips{display:flex;gap:7px;overflow:auto}.filter-chips button{border:0;background:#ffffff99;border-radius:20px;padding:8px 14px;font-size:12px}.filter-chips button.active{background:var(--accent);color:white}.analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.metric-card{background:var(--accent);color:white;border-radius:20px;padding:17px;display:flex;flex-direction:column}.metric-card.dark{background:var(--ink)}.metric-card small,.metric-card span{opacity:.72;font-size:10px}.metric-card b{font:27px Georgia,serif;margin:7px 0}#trend{width:100%;height:auto;margin-top:10px}.ranking>div{display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:9px;margin:15px 0}.ranking>div>span{font-size:21px}.ranking p{margin:0;display:grid;gap:5px}.ranking p b{font-size:12px}.ranking p i{height:6px;background:var(--bg);border-radius:9px;overflow:hidden}.ranking p em{display:block;height:100%;background:var(--accent);border-radius:9px}.ranking strong{font-size:12px}.big-progress{background:var(--bg);height:10px}.big-progress i{background:var(--accent)}.custom-hero{background:linear-gradient(130deg,var(--ink),var(--accent));color:white;border-radius:25px;padding:22px;margin-top:22px;display:flex;justify-content:space-between}.custom-hero h2{margin:3px 0;font:27px Georgia,"Songti SC",serif}.custom-hero p,.custom-hero small{opacity:.75;margin:0;font-size:11px}.custom-hero>span{font-size:43px;opacity:.5}.settings-card h3{margin:0 0 12px;font-size:14px}.settings-card>label{display:grid;grid-template-columns:1fr minmax(110px,45%);align-items:center;border-top:1px solid var(--line);padding:13px 0}.settings-card label span{font-size:13px;font-weight:700}.settings-card label small{display:block;color:var(--muted);font-size:9px;font-weight:400}.settings-card input,.settings-card select{border:0;background:var(--bg);border-radius:10px;padding:9px;text-align:right;min-width:0}.settings-head small{color:var(--muted);font-size:10px}.theme-picker{display:flex;gap:14px}.theme-picker button{width:39px;height:39px;border:5px solid var(--card);outline:1px solid var(--line);border-radius:50%;background:var(--c)}.theme-picker button.active{outline:3px solid var(--c)}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.category-grid button{position:relative;border:0;background:var(--bg);border-radius:14px;padding:11px 3px;display:flex;flex-direction:column;align-items:center;gap:4px}.category-grid span{font-size:21px}.category-grid small{font-size:10px}.category-grid i{position:absolute;right:4px;top:1px;color:var(--danger);font-style:normal}.account-list div{display:grid;grid-template-columns:30px 1fr 30px;padding:10px 0;border-top:1px solid var(--line)}.account-list button{border:0;background:transparent;color:var(--muted)}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.action-grid button,.action-grid label{border:0;background:var(--bg);border-radius:13px;padding:14px 8px;text-align:center;font-size:20px}.action-grid span{display:block;font-size:10px;margin-top:5px}.action-grid input{display:none}.privacy-note{text-align:center;color:var(--muted);font-size:9px}.tabbar{position:fixed;z-index:5;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,720px);height:calc(72px + env(safe-area-inset-bottom));padding:7px 10px env(safe-area-inset-bottom);background:#fffefbea;backdrop-filter:blur(18px);border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 64px 1fr 1fr;align-items:center}.tabbar button{border:0;background:transparent;color:var(--muted);font-size:9px;display:flex;flex-direction:column;align-items:center;gap:3px}.tabbar button span{font-size:21px}.tabbar button.active{color:var(--accent);font-weight:750}.tabbar .add-fab{width:52px;height:52px;border-radius:18px;background:var(--accent);color:white;justify-self:center;transform:translateY(-15px);box-shadow:0 8px 20px #176b5559}.tabbar .add-fab span{font-size:30px}.sheet{border:0;padding:0;margin:auto 0 0;width:100%;max-width:none;border-radius:27px 27px 0 0;background:var(--card);color:var(--ink)}.sheet::backdrop,.mini-dialog::backdrop{background:#17241f77;backdrop-filter:blur(3px)}.sheet form{width:min(100%,720px);margin:auto;padding:9px 22px calc(env(safe-area-inset-bottom) + 24px)}.sheet-handle{width:38px;height:5px;border-radius:9px;background:#d4d1c9;margin:0 auto 14px}.sheet-title h2{margin:0;font:22px Georgia,"Songti SC",serif}.sheet-title>*{width:33%;text-align:center}.sheet-title>*:first-child{text-align:left}.sheet-title>*:last-child{text-align:right}.text-btn{border:0;background:transparent;color:var(--muted);font-size:13px}.text-btn.primary{color:var(--accent);font-weight:800}.amount-input{display:flex!important;justify-content:center;align-items:center;margin:26px 0!important;border:0!important}.amount-input span{font:24px Georgia,serif}.amount-input input{width:220px;border:0!important;background:transparent!important;font:46px Georgia,serif;text-align:center;padding:0!important}.amount-input input:focus{outline:0}.type-switch{display:grid;grid-template-columns:1fr 1fr;background:var(--bg);border-radius:13px;padding:4px;margin-bottom:15px}.type-switch button{border:0;background:transparent;padding:10px;border-radius:10px}.type-switch button.active{background:var(--card);box-shadow:0 2px 8px #0000000d;font-weight:800}.sheet label:not(.amount-input){display:grid;grid-template-columns:70px 1fr;align-items:center;border-bottom:1px solid var(--line);padding:11px 0;font-size:13px}.sheet label input,.sheet label select{border:0;background:transparent;text-align:right;padding:7px}.mini-dialog{border:0;border-radius:20px;background:var(--card);padding:22px;width:min(88%,360px)}.mini-dialog h3{margin-top:0}.mini-dialog label{display:grid;grid-template-columns:60px 1fr;align-items:center;margin:12px 0}.mini-dialog input{border:1px solid var(--line);border-radius:10px;padding:9px}.mini-dialog form>div{display:flex;justify-content:flex-end;gap:8px}.mini-dialog button{border:0;border-radius:10px;padding:9px 16px}.primary-btn{background:var(--accent);color:white}@media(min-width:721px){body{padding:20px}.sheet{max-width:720px;left:50%;transform:translateX(-50%)}.tabbar{border-radius:22px 22px 0 0}}
