*{box-sizing:border-box}body{margin:0;background:#f5f6f8;color:#161a22;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}main{max-width:520px;margin:auto;padding:24px 18px 35px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.brand{font-size:27px;font-weight:800}.month{color:#8a909b;font-size:13px;margin-top:3px}.iconbtn{width:42px;height:42px;border:1px solid #e4e6ea;background:#fff;border-radius:13px;font-size:18px}.balance{background:#171a21;color:#fff;border-radius:24px;padding:23px;margin-bottom:28px}.balance>span{color:#b8bdc7;font-size:13px}.balance>strong{display:block;font-size:39px;margin:8px 0 22px}.balance small{font-size:15px;color:#c9cdd4}.stats{display:flex;gap:45px}.stats div{display:flex;flex-direction:column;gap:5px}.stats span{font-size:11px;color:#9da3ad}.stats b{font-size:14px}.progress{height:6px;background:#363a43;border-radius:10px;margin-top:21px;overflow:hidden}.progress i{display:block;height:100%;background:#fff}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-head h2{font-size:18px;margin:0}.link{border:0;background:none;color:#555d69;font-weight:700}.category{background:#fff;border:1px solid #e5e7eb;border-radius:17px;padding:15px;margin-bottom:10px}.category>div{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px}.category span{font-size:12px;color:#858c97}.track{height:6px;background:#eceef1;border-radius:10px;overflow:hidden}.track em{display:block;height:100%;background:#20242c}.add{width:100%;margin-top:8px;height:55px;border:0;border-radius:17px;background:#171a21;color:#fff;font-size:15px;font-weight:800}.sheet{position:fixed;inset:0;background:#f5f6f8;z-index:5;overflow:auto}.sheet-inner{max-width:520px;margin:auto;padding:20px 18px 35px}.sheet-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.sheet-top h1{font-size:22px;margin:0}.close{border:0;background:#fff;border:1px solid #e4e6ea;border-radius:12px;width:42px;height:42px;font-size:22px}.amount{background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:18px;margin-bottom:18px}.amount label,.note label{display:block;color:#777f8b;font-size:13px;margin-bottom:8px}.amount input{width:100%;border:0;outline:0;font-size:36px;font-weight:800;background:transparent}.cats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.cat{border:1px solid #e1e4e8;background:#fff;border-radius:16px;padding:16px;text-align:right;font-weight:700}.cat.selected{background:#171a21;color:#fff;border-color:#171a21}.note{background:#fff;border:1px solid #e5e7eb;border-radius:17px;padding:14px;margin-bottom:18px}.note input{width:100%;border:0;outline:0;font-size:15px}.save{width:100%;height:55px;border:0;border-radius:17px;background:#171a21;color:#fff;font-size:15px;font-weight:800}.msg{color:#b52b2b;font-size:13px;margin:8px 0;display:none}
.nav{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:6px;margin-top:22px}
.nav button{border:0;background:transparent;border-radius:13px;padding:12px 6px;font-size:12px;color:#777f8b;font-weight:700}
.nav .nav-active{background:#171a21;color:#fff}

.expense-note{margin-top:6px;color:#858c97;font-size:12px;line-height:1.5}

.budget-row{margin-bottom:10px}.budget-row label{display:block}.budget-row input{width:100%;border:0;outline:0;background:transparent;font-size:15px}

.cats{position:relative;z-index:2}.cats .cat{cursor:pointer;touch-action:manipulation;user-select:none}.cats .cat.selected{background:#171a21;color:#fff;border-color:#171a21}

#expenseCats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#expenseCats .expense-cat{display:block!important;position:relative;z-index:10;pointer-events:auto!important;cursor:pointer}
#expenseCats .expense-cat.selected{background:#171a21!important;color:#fff!important;border-color:#171a21!important}

.subtle{color:#858c97;font-size:13px;line-height:1.7;margin:0 0 18px}
.empty{padding:24px 16px;text-align:center;color:#858c97;background:#f8f8f7;border-radius:16px;line-height:1.8}
.cat-manage{display:block}
.cat-actions{display:flex;gap:14px;margin-top:12px}
.danger{color:#b52b2b!important}
.expense-meta{font-size:11px;color:#9aa0aa;margin-top:6px}
.expense-actions{display:flex;gap:14px;margin-top:12px}
