*{box-sizing:border-box}body{color:#222;background:#f4f5f7;margin:0;font:15px/1.5 system-ui,sans-serif}main{max-width:720px;margin:0 auto;padding:16px}h1{font-size:22px}h2{margin:0 0 12px;font-size:16px}.card{background:#fff;border-radius:10px;margin-bottom:16px;padding:16px;box-shadow:0 1px 3px #0001}.row{align-items:center;gap:8px;display:flex}.between{justify-content:space-between}.summary{text-align:center;grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.summary span{color:#777;font-size:13px;display:block}.summary b{font-size:18px}.income{color:#16a34a}.expense{color:#dc2626}.form{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}input,select,button{font:inherit;background:#fff;border:1px solid #ccd;border-radius:6px;padding:8px}button{color:#fff;cursor:pointer;background:#2563eb;border:0}button:disabled{opacity:.6}button.ghost{color:#2563eb;background:0 0;padding:4px 8px}button.danger{color:#dc2626}.list,.bars{margin:0;padding:0;list-style:none}.list li{border-top:1px solid #eee;justify-content:space-between;align-items:center;padding:10px 0;display:flex}.bars{margin-top:12px}.bars li{grid-template-columns:90px 1fr 80px;align-items:center;gap:8px;margin:4px 0;display:grid}.bar{background:#eee;border-radius:4px;height:8px}.bar i{background:#dc2626;border-radius:4px;height:100%;display:block}.bars em{text-align:right;font-style:normal}.muted{color:#888;font-size:13px}.error{color:#991b1b;background:#fee2e2;border-radius:6px;padding:8px 12px}
