:root{--bg:#1a1a1a;--card:#2a2a2a;--card2:#232323;--ink:#fff;--ink-soft:#9b9b9b;--sage:#6fa37d;--coral:#e8825c;--red:#d06060;--amber:#e0a94a;--pending:#474747;--radius:20px}*{box-sizing:border-box}html,body{margin:0;padding:0}#app{background:var(--bg);color:var(--ink);min-height:100vh;padding-bottom:84px;font-family:-apple-system,Segoe UI,Helvetica,Arial,sans-serif;position:relative}.topbar{text-align:center;padding:22px 16px 14px}.topbar h1{letter-spacing:-.01em;margin:0;font-size:20px;font-weight:800}.topbar p{color:var(--ink-soft);margin:4px 0 0;font-size:12.5px}.page{padding:6px 16px 20px;animation:.28s fadeSlideIn}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tile-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:6px;display:grid}.tile{background:linear-gradient(135deg, var(--card2), var(--card));border-radius:var(--radius);cursor:pointer;border:1px solid #ffffff0d;padding:18px 14px}.tile .tile-icon{margin-bottom:10px;font-size:26px}.tile .tile-name{margin-bottom:4px;font-size:14.5px;font-weight:700}.tile .tile-sub{color:var(--ink-soft);font-size:11.5px;line-height:1.4}.card{background:var(--card);border-radius:var(--radius);margin-bottom:12px;padding:16px 14px;box-shadow:0 1px 4px #0003}.card-title{align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:700;display:flex}.row{align-items:center;gap:8px;display:flex}.row+.row{margin-top:8px}input,select{background:var(--bg);color:var(--ink);border:1px solid #3a3a3a;border-radius:10px;flex:1;padding:9px 10px;font-size:13.5px}button.primary{background:var(--sage);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:10px;padding:9px 16px;font-size:13px;font-weight:700}.toggle-group{gap:6px;margin-bottom:8px;display:flex}.toggle-btn{background:var(--bg);color:var(--ink-soft);cursor:pointer;border:1px solid #3a3a3a;border-radius:10px;flex:1;padding:8px;font-size:12.5px;font-weight:700}.toggle-btn.active.income{background:var(--sage);color:#fff;border-color:var(--sage)}.toggle-btn.active.expense{background:var(--red);color:#fff;border-color:var(--red)}.big-number{font-size:26px;font-weight:800}.big-number.pos{color:var(--sage)}.big-number.neg{color:var(--red)}.entry-list{margin-top:10px}.entry-row{border-bottom:1px solid #333;justify-content:space-between;align-items:center;padding:8px 0;font-size:12.5px;display:flex}.entry-row:last-child{border-bottom:none}.entry-amt.income{color:var(--sage);font-weight:700}.entry-amt.expense{color:var(--red);font-weight:700}.del-btn{color:#666;cursor:pointer;background:0 0;border:none;padding:0 6px;font-size:14px}.dot-row{gap:6px;margin-top:8px;display:flex}.dot{background:var(--pending);cursor:pointer;border:none;border-radius:50%;width:26px;height:26px}.dot.on{background:var(--sage)}.platform-row{align-items:center;gap:10px;margin-bottom:14px;display:flex}.platform-row:last-child{margin-bottom:0}.platform-icon{width:26px;font-size:20px}.platform-name{flex:1;font-size:13.5px;font-weight:600}.bar-chart{align-items:flex-end;gap:20px;height:100px;margin:10px 0;display:flex}.bar-col{flex-direction:column;flex:1;align-items:center;display:flex}.bar{border-radius:8px 8px 0 0;width:44px;transition:height .3s}.bar-label{color:var(--ink-soft);margin-top:6px;font-size:11px}.bar-val{margin-bottom:4px;font-size:12px;font-weight:700}.health-check-row{align-items:center;gap:10px;padding:9px 0;display:flex}.health-check-row:not(:last-child){border-bottom:1px solid #333}.health-icon{width:24px;font-size:18px}.health-name{flex:1;font-size:13.5px}.check-btn{cursor:pointer;background:var(--pending);border:none;border-radius:50%;width:30px;height:30px}.check-btn.on{background:var(--sage)}.note-box{resize:vertical;width:100%;min-height:60px;font-family:inherit}.navbar{padding:8px 4px calc(8px + env(safe-area-inset-bottom));z-index:10;background:#141414;border-top:1px solid #2a2a2a;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-btn{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:3px;padding:6px 2px;font-size:10px;display:flex}.nav-btn .nav-icon{font-size:18px}.nav-btn.active{color:var(--sage)}.empty-hint{color:var(--ink-soft);text-align:center;padding:10px 0;font-size:12px}
