:root{color-scheme:light;--ink:#513c43;--muted:#947e83;--rose:#ac5f78;--pink:#f4dce2;--line:#eddfdc;--paper:#fffdfb;--green:#607e6a;--bg:#fcf5f2;font-family:ui-rounded,'Avenir Next','Noto Sans Thai',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.5}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.65}button:focus-visible,a:focus-visible{outline:3px solid #b46b85;outline-offset:3px}a{color:inherit}button{border:0;background:none}button,input{min-height:44px}input{width:100%;border:1px solid #dfcece;border-radius:12px;padding:10px 13px;background:#fff;color:var(--ink);font-size:16px}input:focus{outline:2px solid var(--rose);outline-offset:2px}.shell{max-width:560px;margin:auto;padding:0 22px;padding-top:env(safe-area-inset-top)}.topbar{height:66px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.wordmark{font-size:11px;letter-spacing:2.7px;font-weight:750}.wordmark span{color:var(--rose);font-size:18px;vertical-align:middle;padding:0 3px}.topactions{display:flex;gap:9px;align-items:center}.quiet{padding:6px 10px}.quiet span{color:#ab969a}.avatar{width:36px;min-height:36px;border:1px solid #e5cace;border-radius:50%;background:#f4e5e7;color:var(--rose);font-size:19px}.hero{text-align:center;position:relative;padding:29px 0 8px;overflow:visible}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:700;color:var(--muted);margin:0 0 5px}h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:45px;line-height:1.15;letter-spacing:-1.7px;margin:6px 0 9px;color:#754c5b}.subtitle{font-size:12px;color:var(--muted);margin:0}.hero-line{color:#b97d8d;display:flex;align-items:center;justify-content:center;gap:12px;font-size:15px;margin:10px 0 3px}.hero-line span{width:39px;height:1px;background:#e3cbd0}.petal{position:absolute;color:#e7b9c6;opacity:.7;font-size:64px;font-family:Georgia;line-height:1;transform:rotate(-15deg)}.petal-a{left:2px;top:24px}.petal-b{right:2px;top:65px;font-size:43px;color:#c4cdb6;transform:rotate(20deg)}.spark{position:absolute;right:36px;top:13px;font-size:25px;color:#d4b58b}.balances{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:9px 0 21px}.balance{display:flex;flex-direction:column;padding:16px 14px;border-radius:18px;background:#f0eee5;border:1px solid #e7e4d8}.balance.primary{background:#f4e3e7;border-color:#ecd4dc}.balance>span{font-size:12px;color:#7d636d}.balance strong{font-weight:600;font-size:27px;letter-spacing:-.7px;margin:4px 0 0;font-variant-numeric:tabular-nums}.balance small{font-size:9px;color:var(--muted);margin-top:1px}.tabs{display:flex;border-bottom:1px solid var(--line);gap:22px;margin-bottom:18px}.tabs button{min-height:42px;padding:5px 3px 10px;font-size:13px;color:var(--muted);position:relative}.tabs button.active{color:var(--rose);font-weight:650}.tabs button.active:after{position:absolute;content:'';height:2px;background:var(--rose);bottom:-1px;left:0;right:0;border-radius:2px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}h2{font-size:14px;font-weight:600;margin:0}.count{border-radius:20px;background:#f0e3e5;color:#a17483;font-size:11px;padding:1px 8px}.entry{background:var(--paper);border:1px solid var(--line);padding:13px 14px;border-radius:16px;margin-bottom:10px;box-shadow:0 2px 4px #77565e03}.entry-top{display:flex;gap:10px;justify-content:space-between;align-items:start}.entry-title{font-weight:600;font-size:14px;overflow-wrap:anywhere}.entry-id{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.entry-amount{font-size:18px;font-weight:650;white-space:nowrap;letter-spacing:-.4px}.entry-date{color:var(--muted);font-size:10px;margin:2px 0 9px}.entry-bottom{display:flex;align-items:center;justify-content:space-between;gap:4px;border-top:1px dashed #eee0df;padding-top:8px}.approvals{display:flex;gap:5px}.pill{font-size:10px;padding:3px 7px;border-radius:20px;background:#f5f1ee;color:#9d8b88;white-space:nowrap}.pill.yes{color:var(--green);background:#eef2ea}.confirm{font-size:11px;color:var(--rose);font-weight:650;padding:2px 7px;min-height:36px;background:#faeff2;border-radius:9px}.locked{font-size:10px;color:var(--green)}.correction{font-size:11px;color:var(--muted);text-align:left;padding:6px 0 0;min-height:32px}.reason{font-size:11px;color:var(--muted);overflow-wrap:anywhere;margin:4px 0}.footnote{text-align:center;font-size:10px;color:var(--muted);margin:15px 0 13px}.button{background:var(--rose);color:white;min-height:49px;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px 16px;text-decoration:none;font-size:14px;font-weight:600;box-shadow:0 5px 12px #ac5f7818}.button:hover{background:#994f68}.button.secondary{background:#eee3e3;color:var(--ink);box-shadow:none}.button.add>span:first-child{font-size:23px;line-height:1;font-weight:300}.bottom{padding-bottom:3px}footer{text-align:center;font-size:9px;color:#af979b;padding:16px 0 max(18px,env(safe-area-inset-bottom))}footer>span:nth-child(2){padding:0 5px}.textbutton{min-height:28px;font-size:inherit;padding:0;text-decoration:underline;text-underline-offset:3px;color:inherit}.empty{text-align:center;border:1px dashed #e3cdd1;border-radius:16px;padding:25px 16px;color:var(--muted)}.empty b{display:block;color:var(--ink);font-size:14px;margin:6px 0}.empty .flower{font-size:26px;color:#c994a3}.demo{padding:6px 10px;border-radius:8px;background:#f7e6c9;text-align:center;font-size:10px;margin-top:10px;color:#8b6b40}.welcome{text-align:center;padding:25px 10px 15px}.welcome-flower{font-size:60px;line-height:1.4;color:#c48e9e}.welcome h2{font-family:Georgia,serif;font-size:24px;font-weight:400}.welcome p{color:var(--muted);margin:13px auto 23px;max-width:300px;font-size:13px}.google{background:white;border:1px solid var(--line);color:var(--ink);margin-top:25px}.google:hover{background:#f9edf0}.google>span:first-child{font-size:22px;color:#4285f4}.welcome .private{font-size:11px;margin-top:15px}dialog{border:1px solid var(--line);border-radius:24px;padding:18px 22px 24px;max-width:440px;width:calc(100% - 26px);color:var(--ink);background:var(--paper);box-shadow:0 20px 80px #513c4330;max-height:90dvh;overflow:auto}dialog::backdrop{background:#4b303b66;backdrop-filter:blur(3px)}.dialog-top{display:flex;justify-content:space-between;align-items:center}.dialog-top .eyebrow{margin:0}dialog h2{font-family:Georgia,serif;font-size:27px;font-weight:400;margin:10px 0 8px}dialog p{font-size:13px;color:var(--muted)}dialog label{display:block;font-size:12px;margin:14px 0 5px}dialog .button{margin-top:17px}dialog .amount-review{font-size:34px;color:var(--rose);font-weight:600}dialog .warning{padding:13px;background:#faf0e6;border-radius:12px;color:#8a6851}.user-label{padding:10px 0;color:var(--muted);font-size:12px}.menu-row{display:block;width:100%;text-align:left;border-bottom:1px solid var(--line);padding:13px 0}.audit-row{border-bottom:1px solid var(--line);padding:10px 0;font-size:12px;overflow-wrap:anywhere}.audit-row small{color:var(--muted)}#toast{position:fixed;bottom:max(22px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:90vw;background:#513c43;color:white;border-radius:14px;padding:12px 20px;z-index:10;font-size:13px;box-shadow:0 8px 30px #513c4330}noscript{display:block;text-align:center;padding:20px}body.offline .button{opacity:.7}
@media(min-width:700px){body{padding-top:30px;background:radial-gradient(ellipse at 10% 10%,#f7e7e9,transparent 50%),var(--bg)}.shell{background:var(--bg);border:1px solid #ead9d9;border-radius:28px;padding:0 28px;box-shadow:0 20px 90px #77565e0c}.hero{padding-top:32px}footer{padding-bottom:20px}}
@media(max-width:360px){.shell{padding-left:15px;padding-right:15px}.balance{padding:12px}.balance strong{font-size:24px}.hero h1{font-size:38px}.eyebrow{letter-spacing:1.3px}.petal-a{font-size:48px}.pill{padding:3px 5px}}
@media(prefers-reduced-motion:no-preference){.entry{animation:appear .18s ease-out}@keyframes appear{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:none}}}

/* Keep the landing page compact; the document grows with the pending list. */
.topbar{height:58px}.hero{padding-top:20px}.balances{margin-bottom:16px}.balance{padding-top:13px;padding-bottom:13px}.correction{min-height:36px;min-width:30px;padding:0;text-align:center;font-size:19px}.entry-bottom .confirm,.entry-bottom .locked{margin-left:auto}.entry-bottom .correction{margin-left:2px}
.bottom{position:sticky;bottom:0;background:linear-gradient(transparent,var(--bg) 20%);padding-top:1px;padding-bottom:max(8px,env(safe-area-inset-bottom));z-index:2}
@media(max-height:900px){.hero{padding-top:14px}h1{font-size:40px}.hero-line{margin-top:4px}.balance{padding-top:10px;padding-bottom:10px}.balance strong{font-size:25px}.tabs{margin-bottom:12px}.footnote{display:none}.bottom{padding-top:10px}footer{padding-top:3px;padding-bottom:max(6px,env(safe-area-inset-bottom))}footer .textbutton{min-height:24px}}

.petal,.spark{pointer-events:none}.hero h1,.hero .subtitle,.hero .eyebrow{position:relative;z-index:1}.hero .subtitle{padding:0 25px}.service-choices{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.service-choice{padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:#faeff2;min-height:44px}
