@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap";:root{color:#39352f;font-synthesis:none;text-rendering:optimizelegibility;font-smooth:always;--paper:#fffefa;--ink:#39352f;--muted:#a29a8d;--line:#eee9df;--brown:#a77c53;--green:#668a70;--red:#c97b72;background:#f8f6f1;font-family:DM Sans,Noto Sans SC,sans-serif}*{box-sizing:border-box}body{background:#f8f6f1;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer;color:inherit}.app-shell{background:#f8f6f1;max-width:1120px;min-height:100vh;margin:auto;padding-bottom:92px}.topbar{border-bottom:1px solid #4637280f;justify-content:space-between;align-items:center;height:74px;padding:0 6.5%;display:flex}.brand{align-items:center;gap:11px;display:flex}.brand-icon{color:#9b7957;background:#eee5d8;border-radius:13px;place-items:center;width:37px;height:37px;display:grid}.brand b{letter-spacing:1px;font-size:17px}.brand small{color:#a69c8e;margin-top:2px;font-size:10px;display:block}.top-date{color:#968b7d;font-size:12px}.main{width:min(100% - 40px,560px);margin:0 auto;padding:24px 0}.welcome{justify-content:space-between;align-items:center;padding:20px 3px 25px;display:flex}.eyebrow{letter-spacing:1px;color:#a88866;font-size:11px}.welcome h1,.page-heading h1{letter-spacing:.2px;margin:9px 0 6px;font-size:25px;font-weight:600;line-height:1.42}.welcome p,.page-heading p{color:#a39b8f;margin:0;font-size:12px}.sun{background:#f1eadc;border-radius:28px;place-items:center;width:82px;height:82px;font-size:43px;display:grid;transform:rotate(6deg)}.summary{color:#fff;background:#625448;border-radius:21px;padding:20px 22px 18px;box-shadow:0 12px 28px #584a3b20}.summary-head{color:#e3d9ca;justify-content:space-between;align-items:center;font-size:12px;display:flex}.month-chip{color:#f7eee2;background:#ffffff18;border:0;border-radius:20px;align-items:center;padding:6px 9px;font-size:11px;display:flex}.balance{margin:18px 0 20px}.balance small{color:#d8cabb;font-size:11px;display:block}.balance strong{letter-spacing:.5px;margin-top:3px;font-size:30px;font-weight:600;display:block}.sum-split{border-top:1px solid #ffffff20;gap:40px;padding-top:15px;display:flex}.sum-split>div{color:#e3d9ca;grid-template-columns:8px auto;align-items:center;column-gap:6px;font-size:11px;display:grid}.sum-split strong{grid-column:2;margin-top:4px;font-size:13px}.dot{border-radius:50%;width:7px;height:7px}.dot.green{background:#a4c3a7}.dot.red{background:#e6a69e}.income-text{color:var(--green)}.expense-text{color:var(--red)}.summary .income-text{color:#c0d8bc}.summary .expense-text{color:#efbbb1}.section-title{justify-content:space-between;align-items:center;margin:29px 2px 13px;display:flex}.section-title h2,.chart-card h2{margin:0;font-size:15px;font-weight:600}.text-btn{color:#aa927a;background:0 0;border:0;align-items:center;font-size:11px;display:flex}.ledger{background:var(--paper);border:1px solid #f0ece4;border-radius:17px;padding:2px 15px}.ledger-row{border-bottom:1px solid #f2eee8;align-items:center;gap:12px;min-height:69px;display:flex}.ledger-row:last-child{border-bottom:0}.category-icon{background:#f4efe7;border-radius:13px;flex:none;place-items:center;width:37px;height:37px;font-size:17px;display:grid}.category-icon.income{background:#edf3eb}.row-info{flex:1;min-width:0}.row-info b{font-size:13px;font-weight:500;display:block}.row-info span{color:#aaa196;white-space:nowrap;text-overflow:ellipsis;margin-top:5px;font-size:10px;display:block;overflow:hidden}.ledger-row>strong{white-space:nowrap;font-size:13px;font-weight:600}.row-actions{opacity:0;gap:1px;transition:opacity .2s;display:flex}.ledger-row:hover .row-actions,.ledger-row:focus-within .row-actions{opacity:1}.row-actions button{color:#a89e91;background:0 0;border:0;padding:5px}.row-actions button:hover{color:var(--red)}.home-add{margin-top:19px}.primary{color:#fff;background:#9b7957;border:0;border-radius:14px;justify-content:center;align-items:center;gap:9px;min-height:49px;font-weight:500;display:flex;box-shadow:0 6px 14px #9b795726}.primary:hover{background:#89694a}.wide{width:100%}.hint-card{text-align:center;color:#aaa092;background:#f1ede5;border-radius:12px;margin-top:15px;padding:14px;font-size:12px}.bottom-nav{z-index:5;width:min(100%,1120px);height:76px;padding:7px max(calc((100% - 500px)/2),25px) max(env(safe-area-inset-bottom),7px);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffefaed;border-top:1px solid #eeeae2;justify-content:space-between;align-items:center;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav button{color:#afa79c;background:0 0;border:0;flex-direction:column;align-items:center;gap:3px;min-width:50px;display:flex}.bottom-nav button span{place-items:center;height:27px;display:grid}.bottom-nav button small{font-size:9px}.bottom-nav button.selected{color:#9b7957}.bottom-nav button.nav-add span{color:#fff;background:#9b7957;border-radius:15px;width:42px;height:42px;margin-top:-17px;box-shadow:0 4px 12px #9b795744}.page-heading{justify-content:space-between;align-items:center;margin:7px 0 23px;display:flex}.page-heading h1{margin:5px 0 3px}.back{background:#eee8de;border:0;border-radius:13px;place-items:center;width:38px;height:38px;margin-right:12px;display:grid}.page-heading:has(.back){justify-content:flex-start}.round-add{color:#987652;background:#eee5d8;border:0;border-radius:14px;place-items:center;width:42px;height:42px;display:grid}.form-card{background:var(--paper);border:1px solid #f0ece4;border-radius:19px;padding:20px}.type-toggle{background:#f4f1eb;border-radius:13px;grid-template-columns:1fr 1fr;margin-bottom:22px;padding:4px;display:grid}.type-toggle button{color:#989084;background:0 0;border:0;border-radius:10px;height:39px;font-size:13px}.type-toggle button.active{color:var(--ink);background:#fff;font-weight:600;box-shadow:0 2px 8px #30201012}.type-toggle .expense-active{color:var(--red)}.type-toggle .income-active{color:var(--green)}.field{margin:0 0 20px;display:block}.field>span{color:#958c80;margin-bottom:9px;font-size:11px;display:block}.field em{color:#bcb4a9;margin-left:5px;font-size:10px;font-style:normal}.field input,.field select{width:100%;height:45px;color:var(--ink);background:#fffefa;border:1px solid #eee9df;border-radius:11px;outline:none;padding:0 12px;font-size:13px}.field input:focus,.field select:focus{border-color:#c7ae92}.amount-field>div{border-bottom:1px solid #eee9df;align-items:center;height:66px;display:flex}.amount-field i{color:#aa9b88;margin-right:8px;font-size:23px;font-style:normal}.amount-field input{background:0 0;border:0;outline:none;height:58px;padding:0;font-size:31px;font-weight:600}.save-btn{margin-top:8px}.empty{background:var(--paper);text-align:center;color:#aaa194;border:1px dashed #e9e2d8;border-radius:17px;padding:42px 15px;font-size:12px}.empty>div{font-size:30px}.month-switch{background:var(--paper);border:1px solid #f0ece4;border-radius:14px;justify-content:space-between;align-items:center;height:49px;margin-bottom:13px;padding:0 8px;display:flex}.month-switch button{color:#a8947b;background:0 0;border:0;padding:7px}.month-switch strong{font-size:13px;font-weight:600}.stats-total{color:#fff;background:#625448;border-radius:17px;grid-template-columns:1fr 1fr;gap:17px 12px;padding:17px 19px;display:grid}.stats-total>div span{color:#e3d9ca;margin-bottom:5px;font-size:10px;display:block}.stats-total strong{font-size:16px}.stats-total .stats-balance{border-top:1px solid #ffffff24;grid-column:1/-1;padding-top:13px}.stats-total .stats-balance strong{color:#fff;font-size:21px}.chart-card{background:var(--paper);border:1px solid #f0ece4;border-radius:17px;margin-top:14px;padding:17px}.chart-card h2{justify-content:space-between;display:flex}.chart-card h2 span{color:#988d80;font-size:11px;font-weight:500}.chart-rows{margin-top:18px}.chart-row+.chart-row{margin-top:14px}.chart-label{justify-content:space-between;margin-bottom:7px;font-size:11px;display:flex}.chart-label b{color:#756d62;font-weight:500}.bar-track{background:#f1eee8;border-radius:10px;height:7px;overflow:hidden}.bar{border-radius:10px;min-width:3px;height:100%}.bar.income{background:#83a489}.bar.expense{background:#d78d83}.chart-empty{text-align:center;color:#b0a79a;padding:24px 0 8px;font-size:11px}.backup{background:#f0ece4;border-radius:15px;align-items:center;gap:8px;margin-top:14px;padding:14px 13px;display:flex}.backup-copy{flex:1}.backup-copy b{font-size:12px;display:block}.backup-copy span{color:#a29a8e;margin-top:4px;font-size:10px;display:block}.backup-btn{color:#8e765b;white-space:nowrap;background:#fffefa;border:1px solid #e5ddcf;border-radius:10px;align-items:center;gap:5px;padding:8px 10px;font-size:10px;display:flex}.import-btn{position:relative;overflow:hidden}.import-btn input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.toast{z-index:10;color:#fff;white-space:nowrap;background:#403a32;border-radius:30px;align-items:center;gap:7px;padding:11px 17px;font-size:12px;display:flex;position:fixed;bottom:90px;left:50%;transform:translate(-50%);box-shadow:0 5px 15px #0002}@media (width>=700px){.app-shell{padding-bottom:40px}.main{padding-top:38px}.welcome{padding-top:27px}.welcome h1{font-size:30px}.bottom-nav{background:0 0;border:0;width:500px;margin:16px auto;position:static;transform:none}.bottom-nav button.nav-add span{margin-top:0}.row-actions{opacity:1}}@media (width<=390px){.main{width:calc(100% - 30px)}.form-card{padding:16px}.summary{padding:18px}.sun{width:68px;height:68px;font-size:36px}.ledger{padding:2px 11px}.ledger-row{gap:9px}.backup{gap:5px}.backup-btn{padding:8px}}
