:root{color:#18302b;font-synthesis:none;background:#e8ede9;font-family:Inter,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 20% 0,#fafcf8,#e8ede9 55%);min-width:320px;margin:0}button,input,select,textarea{font:inherit}.app{max-width:920px;min-height:100dvh;padding:calc(22px + env(safe-area-inset-top)) 18px calc(98px + env(safe-area-inset-bottom));background:#f6f8f5;margin:auto;box-shadow:0 0 60px #12302616}main{gap:16px;display:grid}.top,.page-head{justify-content:space-between;align-items:center;padding:3px 3px 9px;display:flex}.top h1,.page-head h1{letter-spacing:-1px;margin:4px 0;font-size:27px}.page-head{display:block}.page-head p{color:#70817b;margin:4px 0;font-size:13px}.page-head input{margin-top:10px}.eyebrow{letter-spacing:1.7px;margin:0;font-weight:800;color:#6e847d!important;font-size:10px!important}.avatar,.brand{color:#173d35;background:#e8c36f;border-radius:16px;place-items:center;width:52px;height:52px;font-size:24px;font-weight:900;display:grid}.balance{color:#fff;background:#163a33;border-radius:25px;padding:24px;box-shadow:0 15px 35px #173b3125}.balance p{color:#a9c0b8;margin:0;font-size:12px}.balance h2{letter-spacing:-1px;margin:10px 0 25px;font-size:38px}.balance>div{border-top:1px solid #ffffff20;grid-template-columns:repeat(3,1fr);gap:10px;padding-top:17px;display:grid}.balance span{color:#9bb3aa;font-size:10px}.balance b{color:#fff;margin-top:5px;font-size:12px;display:block}.green{color:#258b61!important}.red{color:#d95d55!important}.quick{grid-template-columns:1fr 1fr;gap:12px;display:grid}.quick button{color:#fff;cursor:pointer;border:0;border-radius:18px;min-height:62px;font-size:25px;font-weight:500}.quick button span{font-size:15px}.quick .income{background:#23845d}.quick .expense{background:#c9564d}.panel{background:#fff;border:1px solid #e2e8e3;border-radius:21px;padding:18px;box-shadow:0 8px 24px #2547370a}.panel h2{margin:0 0 14px;font-size:16px}.section-title{justify-content:space-between;align-items:center;display:flex}.section-title small{color:#83918d}.section-title button{color:#267355;background:#eaf4ef;border:0;border-radius:10px;padding:7px}.bar-row{margin:13px 0}.bar-row>div{justify-content:space-between;font-size:12px;display:flex}.bar-row i{background:#eef1ef;border-radius:6px;height:6px;margin-top:7px;display:block;overflow:hidden}.bar-row em{background:#d7aa51;border-radius:6px;height:100%;display:block}.empty{text-align:center;color:#8c9995;padding:25px;font-size:12px}.tx-row{text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #edf0ee;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;width:100%;padding:12px 0;display:grid}.tx-row>span{border-radius:12px;place-items:center;width:36px;height:36px;display:grid}.tx-row>span.income{color:#25835f;background:#e3f3eb}.tx-row>span.expense{color:#c4574e;background:#f9e7e4}.tx-row div{min-width:0}.tx-row b{font-size:13px}.tx-row b small{color:#9aa4a1;margin-left:5px;font-weight:400}.tx-row div>small{color:#82908b;white-space:nowrap;text-overflow:ellipsis;margin-top:4px;display:block;overflow:hidden}.tx-row strong{font-size:13px}.tx-row strong.income{color:#25835f}.tx-row strong.expense{color:#c4574e}nav{z-index:20;width:min(920px,100%);height:calc(74px + env(safe-area-inset-bottom));padding:7px 15% env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;border-top:1px solid #e0e6e2;justify-content:space-between;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}nav button{color:#899591;cursor:pointer;background:0 0;border:0;place-items:center;gap:2px;min-width:55px;display:grid}nav b{font-size:20px}nav span{font-size:10px}nav .active{color:#247152}.overlay{z-index:30;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#112c2466;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal{width:min(620px,100%);max-height:94dvh;padding:20px 20px calc(22px + env(safe-area-inset-bottom));background:#fff;border-radius:25px 25px 0 0;overflow:auto}.modal>header{justify-content:space-between;align-items:center;display:flex}.modal h2{margin:0 0 18px;font-size:20px}.modal header button{background:#eff2f0;border:0;border-radius:50%;width:34px;height:34px;font-size:21px}.tx-form{gap:14px;display:grid}.tx-form label,.settings>label{color:#667771;gap:6px;font-size:12px;display:grid}.tx-form input,.tx-form select,.tx-form textarea,.settings input,.settings select,.danger input,.filters input,.filters select,.page-head input{color:#18302b;background:#fbfcfb;border:1px solid #dce4df;border-radius:11px;width:100%;padding:11px}.money-input{border:1px solid #dce4df;border-radius:13px;align-items:center;padding-left:14px;font-size:20px;font-weight:700;display:flex}.money-input input{font-size:22px;background:0 0!important;border:0!important}.form-grid,.filter-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form-actions{grid-template-columns:1fr 2fr;gap:10px;margin-top:5px;display:grid}.form-actions button,.primary{color:#fff;background:#267557;border:0;border-radius:12px;min-height:46px;font-weight:700}.form-actions .income{background:#25845e}.form-actions .expense,.danger-btn{background:#c85951}.ghost{color:#455c54!important;background:#edf1ef!important}.detail-amount{text-align:center;padding:12px;font-size:30px;font-weight:800}.detail-amount.income{color:#25845e}.detail-amount.expense{color:#c85951}.detail p,.summary p{border-bottom:1px solid #edf0ee;justify-content:space-between;margin:0;padding:10px 0;font-size:12px;display:flex}.detail p span,.summary p span{color:#84918d}.detail p b{text-align:right;max-width:65%}.filters{gap:10px;display:grid}.search{font-size:14px!important}.ledger-list{padding-top:5px}.stats-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stats-grid div{background:#fff;border:1px solid #e2e8e3;border-radius:16px;padding:15px}.stats-grid span{color:#7f8e89;font-size:11px;display:block}.stats-grid b{margin-top:8px;font-size:17px;display:block}.settings{gap:13px;display:grid}.setting-row{text-align:left;background:0 0;border:0;border-top:1px solid #edf0ee;justify-content:space-between;padding:13px 0;display:flex}.backup-status{color:#56756a;background:#eef6f2;border-radius:11px;padding:12px;font-size:12px}.manage{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.manage label{font-size:11px}.danger{border-color:#f0d5d2}.danger h2,.danger button{color:#b84740}.danger p{color:#8b7472;font-size:12px}.danger button{background:#fff;border:1px solid #e5aaa5;border-radius:11px;width:100%;margin-top:10px;padding:11px}.danger button:disabled{opacity:.4}.init{text-align:center;max-width:480px;margin:8vh auto}.init .brand{margin:auto}.init h1{margin-bottom:8px;font-size:28px}.init>p{color:#71807b}.init .panel{text-align:left;gap:18px;margin-top:25px;display:grid}.init small{color:#83918d;margin-top:20px;display:block}.toast{z-index:50;bottom:calc(88px + env(safe-area-inset-bottom));color:#fff;white-space:nowrap;background:#173b32;border-radius:20px;padding:11px 18px;font-size:13px;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 25px #102a2255}.loading{color:#587268;place-items:center;min-height:100dvh;display:grid}@media (width>=700px){body{padding:24px}.app{border-radius:27px;min-height:calc(100dvh - 48px);padding-left:35px;padding-right:35px}.modal{border-radius:25px;align-self:center;margin:auto}.top,.page-head{padding-top:10px}nav{border-radius:0 0 27px 27px;bottom:24px}.balance h2{font-size:45px}.quick button{min-height:70px}}
