/* 手机 H5 样式 */
* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
body { margin: 0; font-family: -apple-system, "Microsoft YaHei", sans-serif; background: #f2f3f5; color: #1f2329; font-size: 15px; overflow-x: hidden; }
input, select, textarea { font-family: inherit; font-size: 15px; padding: 10px; border: 1px solid #d0d3d9; border-radius: 8px; width: 100%; max-width: 100%; box-sizing: border-box; }
button { font-family: inherit; cursor: pointer; }
.btn { background: #fff; border: 1px solid #d0d3d9; border-radius: 8px; padding: 9px 14px; max-width: 100%; }
.btn-primary { background: #2f6fed; color: #fff; border-color: #2f6fed; width: 100%; padding: 12px; font-size: 16px; }
.btn-danger { color: #d4380d; border-color: #ffccc7; background: #fff; }
.topbar { background: #1f2329; color: #fff; padding: 12px 16px; display: flex; justify-content: space-between; align-items: center; position: sticky; top: 0; z-index: 10; }
.card { background: #fff; border-radius: 12px; padding: 12px 10px; margin: 8px; min-width: 0; }
.card .k { color: #8a9099; font-size: 12px; }
.card .v { font-size: 18px; font-weight: 700; margin-top: 4px; overflow-wrap: anywhere; word-break: break-word; }
.card .muted { overflow-wrap: anywhere; word-break: break-word; }
.muted { color: #8a9099; font-size: 13px; }
.proj { background: #fff; border-radius: 12px; padding: 14px; margin: 10px; display: flex; justify-content: space-between; align-items: center; }
.proj .nm { font-weight: 600; font-size: 17px; }
.tag { display: inline-block; padding: 1px 8px; border-radius: 10px; font-size: 12px; }
.tag-inc { background: #e6f7e6; color: #237804; }
.tag-exp { background: #fff3e0; color: #ad6800; }
.tag-st { background: #eaf1ff; color: #2f6fed; }
.entry { background: #fff; border-radius: 10px; padding: 12px; margin: 8px 10px; }
.entry .row1 { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 6px; }
.grid3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 6px; }
.modal-mask { position: fixed; inset: 0; background: rgba(0,0,0,.4); display: flex; align-items: flex-end; z-index: 50; }
.modal { background: #fff; width: 100%; max-width: 100%; border-radius: 16px 16px 0 0; padding: 18px; box-sizing: border-box; }
.modal h3 { margin: 0 0 12px; }
.modal label { display: block; font-size: 13px; color: #5a6169; margin: 10px 0 4px; }
.toast { position: fixed; bottom: 30px; left: 50%; transform: translateX(-50%); background: #1f2329; color: #fff; padding: 10px 18px; border-radius: 8px; z-index: 99; }
/* 收入/支出 筛选标签 */
.filter-tabs { display: flex; gap: 8px; padding: 0 10px; margin: 12px 0 4px; }
.filter-tabs .btn { flex: 1; padding: 9px 0; }
.filter-tabs .btn.active { background: #2f6fed; color: #fff; border-color: #2f6fed; }
/* 录入时间（条目右上角） */
.entry-time { color: #8a9099; font-size: 12px; margin-left: 8px; }
