:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:var(--lightningcss-light,#fbf8f1)var(--lightningcss-dark,#14110c);--header-bg:var(--lightningcss-light,#f4eee0)var(--lightningcss-dark,#1a160f);--surface:var(--lightningcss-light,#fdfbf6)var(--lightningcss-dark,#1e1913);--surface-alt:var(--lightningcss-light,#f1ebdd)var(--lightningcss-dark,#262017);--border:var(--lightningcss-light,#e6dfcd)var(--lightningcss-dark,#2c261c);--border-soft:var(--lightningcss-light,#eae3d2)var(--lightningcss-dark,#28221a);--border-strong:var(--lightningcss-light,#d8d0bd)var(--lightningcss-dark,#3a3327);--input-border:var(--lightningcss-light,#e0d8c4)var(--lightningcss-dark,#2b251b);--text:var(--lightningcss-light,#2b2620)var(--lightningcss-dark,#ece5d6);--muted:var(--lightningcss-light,#8d8471)var(--lightningcss-dark,#968d79);--faint:var(--lightningcss-light,#a29a86)var(--lightningcss-dark,#7c7460);--primary:var(--lightningcss-light,#8f6b1e)var(--lightningcss-dark,#a37b26);--primary-light:var(--lightningcss-light,#b98a2c)var(--lightningcss-dark,#a37b26);--primary-contrast:#fff;--amount:var(--lightningcss-light,#8f6b1e)var(--lightningcss-dark,#d9b45a);--ok:var(--lightningcss-light,#2f6d34)var(--lightningcss-dark,#82c889);--cash-bg:var(--lightningcss-light,#e4f1e2)var(--lightningcss-dark,#1d2b1b);--cash-fg:var(--lightningcss-light,#2f6d34)var(--lightningcss-dark,#82c889);--cheque-bg:var(--lightningcss-light,#fbeeda)var(--lightningcss-dark,#2d2213);--cheque-fg:var(--lightningcss-light,#93591b)var(--lightningcss-dark,#dda55f);--transfer-bg:var(--lightningcss-light,#e2edf9)var(--lightningcss-dark,#152230);--transfer-fg:var(--lightningcss-light,#2a588c)var(--lightningcss-dark,#7fa8d6);--wait-bg:var(--lightningcss-light,#faeacb)var(--lightningcss-dark,#2e2712);--wait-fg:var(--lightningcss-light,#8a6a15)var(--lightningcss-dark,#d0ad4e);--stale-bg:var(--lightningcss-light,#faeacb)var(--lightningcss-dark,#2e2712);--stale-fg:var(--lightningcss-light,#6d5510)var(--lightningcss-dark,#d0ad4e);--shadow-up:0 -12px 40px #00000040}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}body{color:var(--text);background:var(--lightningcss-light,#eee8da)var(--lightningcss-dark,#0c0a07);margin:0;font-family:ui-sans-serif,-apple-system,Sukhumvit Set,Noto Sans Thai,Leelawadee UI,sans-serif}.app{background:var(--bg);flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;display:flex}.header{background:var(--header-bg);padding:20px 16px 14px}.approw{align-items:center;gap:11px;margin-bottom:15px;display:flex}.appicon{background:linear-gradient(135deg, var(--primary-light), var(--primary));width:42px;height:42px;color:var(--primary-contrast);border-radius:13px;flex:none;justify-content:center;align-items:center;display:flex}.apptitles{flex:1;min-width:0}.apptitle{font-size:17px;font-weight:500}.appsub{color:var(--muted);align-items:center;gap:5px;margin-top:2px;font-size:12.5px;display:flex}.dot{background:var(--ok);border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.stats{gap:8px;display:flex}.stat{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex:1;padding:10px 11px}.statlabel{color:var(--muted);font-size:12.5px}.statvalue{font-variant-numeric:tabular-nums;margin-top:2px;font-size:20px;font-weight:500}.statvalue span{color:var(--muted);font-size:13px;font-weight:400}.iconbtn{border:1px solid var(--border);background:var(--surface-alt);width:36px;height:36px;color:inherit;cursor:pointer;border-radius:11px;flex:none;justify-content:center;align-items:center;display:flex}.stale{background:var(--stale-bg);color:var(--stale-fg);justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-size:14px;display:flex}.stale button,.error-screen button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:none;font-weight:500;text-decoration:underline}.error-screen{color:var(--muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:40px 20px;font-size:16px;display:flex}.body{flex-direction:column;gap:11px;padding:12px 12px 24px;display:flex}.searchbar-wrap{z-index:5;background:var(--bg);flex-direction:column;gap:9px;margin:-12px -12px 0;padding:12px 12px 2px;display:flex;position:sticky;top:0}.search{background:var(--surface-alt);border:1px solid var(--input-border);height:48px;color:var(--faint);border-radius:14px;align-items:center;gap:9px;padding:0 13px;display:flex}.search:focus-within{border-color:var(--primary-light)}.search input{color:var(--text);font:inherit;background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:16px}.search input::placeholder{color:var(--faint)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--input-border);font:inherit;background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;padding:7px 14px;font-size:14px}.chip-active{background:var(--primary);color:var(--primary-contrast);border-color:#0000}.list{flex-direction:column;gap:8px;display:flex}.card{text-align:left;width:100%;font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border-soft);cursor:pointer;border-radius:16px;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.card-left{min-width:0}.card-num{color:var(--faint);font-variant-numeric:tabular-nums;font-size:12.5px}.card-name{text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:17px;font-weight:500;overflow:hidden}.card-nick{color:var(--muted);margin-top:2px;font-size:14px}.card-tags{flex-wrap:wrap;gap:4px;margin-top:7px;display:flex}.tag{background:var(--surface-alt);color:var(--muted);border-radius:999px;padding:2px 9px;font-size:12.5px}.card-right{text-align:right;flex:none}.card-amount{font-variant-numeric:tabular-nums;color:var(--amount);font-size:19px;font-weight:500}.card-badges{flex-wrap:wrap;justify-content:flex-end;gap:4px;margin-top:7px;display:flex}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:3px;padding:3px 9px;font-size:12.5px;display:inline-flex}.badge-cash{background:var(--cash-bg);color:var(--cash-fg)}.badge-cheque{background:var(--cheque-bg);color:var(--cheque-fg)}.badge-transfer{background:var(--transfer-bg);color:var(--transfer-fg)}.badge-other{background:var(--surface-alt);color:var(--muted)}.badge-checked{background:var(--cash-bg);color:var(--cash-fg)}.badge-wait{background:var(--wait-bg);color:var(--wait-fg)}.empty{text-align:center;color:var(--muted);padding:26px 0 10px;font-size:15px}.skeleton{background:var(--surface);border:1px solid var(--border-soft);border-radius:16px;height:78px}@media (prefers-reduced-motion:no-preference){.skeleton{animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.55}}}.toast{color:var(--lightningcss-light,#f4eee0)var(--lightningcss-dark,#221d15);white-space:nowrap;z-index:30;background:var(--lightningcss-light,#2b2620)var(--lightningcss-dark,#ece5d6);border-radius:999px;width:fit-content;max-width:calc(100% - 32px);margin:0 auto;padding:10px 18px;font-size:14px;position:fixed;bottom:20px;left:0;right:0}.backdrop{z-index:20;background:#0a08046b;position:fixed;inset:0}.sheet{z-index:21;background:var(--surface);max-width:480px;box-shadow:var(--shadow-up);border-radius:24px 24px 0 0;max-height:92dvh;margin:0 auto;padding:10px 16px 18px;position:fixed;bottom:0;left:0;right:0;overflow:auto}.sheetgrab{background:var(--border-strong,var(--border));border-radius:999px;width:38px;height:4px;margin:2px auto 12px}.sheethead{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.sheetnum{color:var(--faint);font-variant-numeric:tabular-nums;font-size:12.5px}.sheetname{margin-top:2px;font-size:18px;font-weight:500}.rows{flex-direction:column;display:flex}.row{border-bottom:1px solid var(--border-soft);align-items:center;gap:8px;padding:10px 0;display:flex}.rows .row:last-child{border-bottom:none}.rowlabel{color:var(--muted);flex:none;width:84px;font-size:13.5px}.rowval{overflow-wrap:anywhere;flex:1;min-width:0;font-size:16px}.v-amount{color:var(--amount);font-variant-numeric:tabular-nums;font-weight:500}.v-ok{color:var(--ok)}.v-wait{color:var(--wait-fg)}.lockicon{color:var(--faint);flex:none}.locknote{color:var(--faint);align-items:center;gap:5px;margin:8px 0 12px;font-size:12.5px;display:flex}.btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:13px;justify-content:center;align-items:center;gap:7px;padding:12px 18px;font-size:16px;display:inline-flex}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:var(--primary);color:var(--primary-contrast)}.btn-secondary{background:var(--surface-alt);color:var(--text);border-color:var(--input-border)}.btn-ghost{color:var(--muted);background:0 0}.editbtn{width:100%}.field{flex-direction:column;gap:5px;margin-bottom:12px;display:flex}.fieldlabel{color:var(--muted);font-size:13.5px}.input{border:1px solid var(--input-border);background:var(--surface-alt);width:100%;color:var(--text);font:inherit;border-radius:12px;padding:11px 13px;font-size:16px}.input:focus{border-color:var(--primary-light);outline:none}textarea.input{resize:vertical;min-height:58px}.actions{gap:8px;margin-top:4px;display:flex}.actions .btn{flex:1}.saveerror{color:var(--lightningcss-light,#8f2323)var(--lightningcss-dark,#e08a8a);background:var(--lightningcss-light,#fbe4e4)var(--lightningcss-dark,#2e1a1a);border-radius:12px;margin-bottom:12px;padding:10px 13px;font-size:14px}@media (prefers-reduced-motion:no-preference){.sheet{animation:.22s sheet-in}.backdrop{animation:.2s fade-in}@keyframes sheet-in{0%{opacity:.5;transform:translateY(40px)}}@keyframes fade-in{0%{opacity:0}}}
