@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/bfd813093b8ca1bb-s.p.3ok2djvs6w93k.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/acc5f86302586f33-s.1ttn5ge0anb6a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/f304c3cf3765fb5f-s.p.0h0-3wqrkgcb1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/bfd813093b8ca1bb-s.p.3ok2djvs6w93k.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/acc5f86302586f33-s.1ttn5ge0anb6a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/f304c3cf3765fb5f-s.p.0h0-3wqrkgcb1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/bfd813093b8ca1bb-s.p.3ok2djvs6w93k.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/acc5f86302586f33-s.1ttn5ge0anb6a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/f304c3cf3765fb5f-s.p.0h0-3wqrkgcb1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/bfd813093b8ca1bb-s.p.3ok2djvs6w93k.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/acc5f86302586f33-s.1ttn5ge0anb6a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/f304c3cf3765fb5f-s.p.0h0-3wqrkgcb1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Thai Fallback;src:local(Arial);ascent-override:99.79%;descent-override:42.32%;line-gap-override:0.0%;size-adjust:106.33%}.noto_sans_thai_688ac39e-module__rwVjIW__className{font-family:Noto Sans Thai,Noto Sans Thai Fallback;font-style:normal}.noto_sans_thai_688ac39e-module__rwVjIW__variable{--font-thai:"Noto Sans Thai", "Noto Sans Thai Fallback"}
:root{--bg:#eef2f7;--surface:#fff;--surface-soft:#f2f6fb;--ink:#16233a;--muted:#5d6b80;--line:#dfe7f0;--brand:#1c4d8d;--brand-deep:#0f2854;--brand-soft:#bde8f5;--on-brand:#fff;--on-brand-dim:#ffffffb8;--ok:#178f57;--ok-soft:#e2f4ea;--warn:#b0770a;--warn-soft:#fdf3de;--danger:#d0392f;--danger-soft:#fdecea;--radius:16px;--radius-sm:12px;--shadow:0 8px 28px #0f28541a;--shadow-band:0 12px 32px #0f28544d}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-thai), -apple-system, BlinkMacSystemFont, "Noto Sans Thai", "Sukhumvit Set", sans-serif;font-size:16px;line-height:1.55}.shell{flex-direction:column;max-width:460px;min-height:100dvh;margin:0 auto;display:flex}.band{background:radial-gradient(120% 140% at 85% -20%, #ffffff2e 0%, #fff0 45%), linear-gradient(140deg, var(--brand) 0%, var(--brand-deep) 100%);color:var(--on-brand);padding:calc(env(safe-area-inset-top,0px) + 22px) 22px 44px;box-shadow:var(--shadow-band);border-radius:0 0 24px 24px}.band .band-label{color:var(--on-brand-dim);letter-spacing:.02em;font-size:13px;font-weight:500}.band .band-sub{opacity:.85;margin:4px 0 0;font-size:14px}.band h1{margin-top:2px;font-size:23px;font-weight:700;line-height:1.3}.band .band-back{color:var(--on-brand-dim);align-items:center;gap:6px;margin-bottom:10px;padding:4px 0;font-size:13.5px;text-decoration:none;display:inline-flex}.band .band-back:active{opacity:.7}.content{padding:0 16px calc(env(safe-area-inset-bottom,0px) + 40px);flex:1;margin-top:-26px}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:14px;padding:18px}a.card-link{color:inherit;-webkit-tap-highlight-color:transparent;text-decoration:none;display:block}a.card-link:active .card{transform:scale(.985)}.card{transition:transform .12s}.card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:2px;display:flex}.card-ref{color:var(--muted);letter-spacing:.02em;font-size:12.5px}.card-title{margin-bottom:12px;font-size:17px;font-weight:700}.stat-row{justify-content:space-between;align-items:baseline;gap:12px;padding:3px 0;display:flex}.stat-row .k{color:var(--muted);font-size:13.5px}.stat-row .v{font-variant-numeric:tabular-nums;font-weight:700}.stat-row .v.big{letter-spacing:-.01em;font-size:21px}.divider{border:none;border-top:1px solid var(--line);margin:12px 0}.progress{margin-top:10px}.progress-meta{color:var(--muted);justify-content:space-between;margin-bottom:6px;font-size:12.5px;display:flex}.progress-meta b{color:var(--ink);font-variant-numeric:tabular-nums}.progress-track{background:var(--surface-soft);border-radius:999px;height:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--brand), #4988c4);border-radius:999px;height:100%;transition:width .4s}.next-due{border-radius:var(--radius-sm);background:var(--brand-soft);justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;display:flex}.next-due.overdue{background:var(--danger-soft)}.next-due .nd-label{color:var(--muted);font-size:12px}.next-due .nd-when{margin-top:1px;font-size:13.5px;font-weight:600}.next-due .nd-amount{font-variant-numeric:tabular-nums;color:var(--brand-deep);white-space:nowrap;font-size:20px;font-weight:700}.next-due.overdue .nd-amount{color:var(--danger)}.badge{white-space:nowrap;border-radius:999px;padding:3px 11px;font-size:12px;font-weight:600;display:inline-block}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.muted{background:var(--surface-soft);color:var(--muted)}.section-title{margin:22px 4px 12px;font-size:15px;font-weight:700}.timeline{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:6px 18px}.tl-item{gap:14px;display:flex;position:relative}.tl-rail{flex-direction:column;flex:0 0 14px;align-items:center;width:14px;display:flex}.tl-dot{background:var(--line);border-radius:50%;flex:0 0 12px;width:12px;height:12px;margin-top:20px}.tl-dot.ok{background:var(--ok)}.tl-dot.warn{background:var(--warn)}.tl-dot.danger{background:var(--danger)}.tl-line{background:var(--line);flex:1;width:2px}.tl-item:last-child .tl-line{background:0 0}.tl-body{border-bottom:1px solid var(--line);flex:1;min-width:0;padding:14px 0}.tl-item:last-child .tl-body{border-bottom:none}.tl-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.tl-title{font-size:14.5px;font-weight:600}.tl-sub{color:var(--muted);margin-top:1px;font-size:12.5px}.tl-amount-row{justify-content:space-between;align-items:baseline;gap:10px;margin-top:6px;display:flex}.tl-amount-row .k{color:var(--muted);font-size:12.5px}.tl-amount{font-variant-numeric:tabular-nums;font-size:15.5px;font-weight:700}.tl-breakdown{color:var(--muted);margin-top:3px;font-size:12px}.center-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:62dvh;padding:24px;display:flex}.state-card{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:30px 22px;display:flex}.state-message{max-width:32ch;font-size:16.5px;font-weight:600}.hint{color:var(--muted);max-width:36ch;font-size:13.5px}.pay-card{flex-direction:column;align-items:center;gap:12px;padding:20px 18px;display:flex}.pay-image{border-radius:var(--radius-sm);width:100%}.pay-note{color:var(--muted);text-align:center;max-width:38ch;font-size:13.5px}.pay-accounts{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.pay-pending{border-radius:var(--radius-sm);background:var(--warn-soft);border:1px solid #b0770a47;margin-top:12px;padding:12px 14px}.pay-pending-title{color:var(--warn);font-size:14px;font-weight:700}.pay-pending-note{color:var(--ink);margin-top:4px;font-size:13px}.pay-pending-list{color:var(--muted);margin:8px 0 0;padding-left:18px;font-size:13px}.pay-account{border-radius:var(--radius-sm);background:var(--surface-soft);border:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.pay-account-lines{flex-direction:column;gap:2px;min-width:0;display:flex}.pay-account-bank{color:var(--muted);font-size:13px}.pay-account-number{letter-spacing:.04em;font-variant-numeric:tabular-nums;word-break:break-all;font-size:18px;font-weight:700}.pay-account-name{color:var(--muted);word-break:break-word;font-size:13px}.pay-copy{border:1px solid var(--brand);color:var(--brand);cursor:pointer;background:0 0;border-radius:999px;flex:none;padding:8px 14px;font-size:13px;font-weight:600}.pay-copy:active{opacity:.7}.btn{text-align:center;background:linear-gradient(140deg, var(--brand), var(--brand-deep));color:#fff;cursor:pointer;border:none;border-radius:14px;width:100%;max-width:300px;padding:13px 16px;font-family:inherit;font-size:16px;font-weight:600;display:block;box-shadow:0 6px 18px #0f28544d}.btn:active{transform:scale(.98)}.form-card{flex-direction:column;gap:14px;padding:20px 18px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--muted);font-size:13px;font-weight:600}.field-input{color:var(--ink);background:var(--surface-soft);border:1.5px solid var(--line);border-radius:var(--radius-sm);outline:none;width:100%;padding:12px 14px;font-family:inherit;font-size:16px}.field-input:focus{border-color:var(--brand);background:var(--surface)}.field-error{color:var(--danger);background:var(--danger-soft);border-radius:var(--radius-sm);padding:10px 12px;font-size:13.5px}.slip-upload{border-top:1px solid var(--line);flex-direction:column;gap:10px;width:100%;margin-top:4px;padding-top:14px;display:flex}.btn.secondary{background:var(--surface);color:var(--brand);border:1.5px solid var(--brand);box-shadow:none}.slip-preview{border-radius:var(--radius-sm);border:1px solid var(--line);align-self:center;width:130px}.slip-result{border-radius:var(--radius-sm);padding:12px 14px;font-size:14px}.slip-result.ok{background:var(--ok-soft);color:var(--ok)}.slip-result.warn{background:var(--warn-soft);color:var(--warn)}.slip-result.danger{background:var(--danger-soft);color:var(--danger)}.slip-result ul{font-variant-numeric:tabular-nums;margin-top:6px;list-style:none}.pay-qr-frame{border-radius:var(--radius-sm);border:1px solid var(--line);background:#fff;padding:14px;line-height:0}.pay-qr-live{background:#fff;width:230px;max-width:100%;height:auto;display:block}.pay-countdown{color:var(--warn);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.pay-waiting{color:var(--muted);align-items:center;gap:8px;padding-top:4px;font-size:13.5px;display:flex}.pay-waiting-dot{background:var(--brand);border-radius:50%;width:9px;height:9px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.35}50%{opacity:1}}.pay-cta{max-width:none;margin-top:14px}.pay-options{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.pay-option{text-align:left;width:100%;color:var(--ink);background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;font-family:inherit;font-size:14.5px;display:flex}.pay-option.selected{border-color:var(--brand);background:var(--surface-soft);box-shadow:0 0 0 1px var(--brand) inset}.pay-option .po-title{font-weight:600;display:block}.pay-option .po-sub{color:var(--muted);margin-top:1px;font-size:12.5px;display:block}.pay-option .po-amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.skeleton{border-radius:var(--radius);background:linear-gradient(100deg, var(--surface) 40%, var(--surface-soft) 50%, var(--surface) 60%);box-shadow:var(--shadow);background-size:200% 100%;animation:1.3s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}.pay-waiting-dot{opacity:1;animation:none}.card,.btn{transition:none}}@media (min-width:640px){body{background:radial-gradient(60% 50% at 20% 0%, #1c4d8d14 0%, #1c4d8d00 60%), var(--bg)}.shell{min-height:auto;padding-top:40px}.band{border-radius:24px;padding-top:26px}.content{margin-top:-22px;padding-left:0;padding-right:0}.card,.timeline{margin-left:12px;margin-right:12px}}.band-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.band-logout{color:var(--on-brand-dim);cursor:pointer;background:0 0;border:1px solid #ffffff59;border-radius:999px;padding:4px 12px;font-family:inherit;font-size:13px}.band-logout:active{background:#ffffff1f}.login-divider{color:var(--muted);align-items:center;gap:10px;font-size:13px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--line);flex:1;height:1px}.btn.line{box-shadow:none;background:#06c755}.shell.chat-shell{height:100dvh;min-height:0;overflow:hidden}.chat-band{border-radius:0 0 20px 20px;flex:none;padding-bottom:18px}.chat-band .band-back{margin-bottom:6px}.chat-band h1{font-size:20px}.chat-list{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex-direction:column;flex:1;gap:10px;min-height:0;padding:16px 14px 12px;display:flex;overflow-y:auto}.chat-earlier{color:var(--brand);background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:999px;align-self:center;margin-bottom:4px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:600}.chat-earlier:disabled{opacity:.6;cursor:default}.chat-empty{text-align:center;color:var(--muted);margin:auto 0;padding:24px;font-size:13.5px}.chat-row{flex-direction:column;align-self:flex-start;align-items:flex-start;max-width:82%;display:flex}.chat-row.mine{align-self:flex-end;align-items:flex-end}.chat-row.system{align-self:center;align-items:center;max-width:90%}.chat-row.image{max-width:70%}.chat-row-btn{font:inherit;color:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:0}.chat-row.mine.chat-row-btn{text-align:right}.chat-bubble{background:var(--surface);color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:16px 16px 16px 4px;padding:9px 13px;font-size:15px;line-height:1.45;display:block;box-shadow:0 1px 2px #0f285414}.chat-row.mine .chat-bubble{background:var(--brand);color:var(--on-brand);border-radius:16px 16px 4px}.chat-row.system .chat-bubble{box-shadow:none;color:var(--muted);text-align:center;background:0 0;padding:2px 8px;font-size:12.5px}.chat-row.failed .chat-bubble{opacity:.7}.chat-bubble.image{background:var(--surface);padding:4px;line-height:0;display:block}.chat-row.mine .chat-bubble.image{background:var(--surface)}.chat-image{background:var(--surface-soft);border-radius:12px;min-width:96px;max-width:100%;min-height:72px;display:block}.chat-time,.chat-state{color:var(--muted);margin:3px 6px 0;font-size:11px}.chat-state.failed{color:var(--danger);font-weight:600}.chat-composer{background:var(--surface);border-top:1px solid var(--line);padding:8px 12px calc(env(safe-area-inset-bottom,0px) + 8px);flex:none}.chat-closed{color:var(--muted);background:var(--surface-soft);text-align:center;border-radius:10px;margin-bottom:8px;padding:8px 12px;font-size:12.5px}.chat-input-row{align-items:flex-end;gap:8px;display:flex}.chat-attach{width:40px;height:40px;color:var(--brand);background:var(--surface-soft);border:1px solid var(--line);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.chat-attach:active{opacity:.7}.chat-attach:disabled{opacity:.45;cursor:default}.chat-draft{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-sm);align-items:center;gap:10px;margin-bottom:8px;padding:8px 10px;display:flex}.chat-draft-thumb{object-fit:cover;background:var(--surface);border-radius:8px;flex:none;width:56px;height:56px}.chat-draft-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.chat-draft-error{color:var(--danger);font-size:12.5px}.chat-draft-actions{gap:8px;display:flex}.chat-draft-send,.chat-draft-cancel{cursor:pointer;border-radius:17px;height:34px;padding:0 14px;font-family:inherit;font-size:14px;font-weight:600}.chat-draft-send{color:#fff;background:linear-gradient(140deg, var(--brand), var(--brand-deep));border:none}.chat-draft-send:disabled{opacity:.45;cursor:default}.chat-draft-cancel{border:1px solid var(--line);color:var(--muted);background:var(--surface)}.chat-textarea{min-width:0;min-height:40px;max-height:120px;color:var(--ink);background:var(--surface-soft);border:1.5px solid var(--line);resize:none;border-radius:20px;outline:none;flex:1;padding:8px 14px;font-family:inherit;font-size:16px;line-height:1.4;overflow-y:auto}.chat-textarea:focus{border-color:var(--brand);background:var(--surface)}.chat-send{color:#fff;background:linear-gradient(140deg, var(--brand), var(--brand-deep));cursor:pointer;border:none;border-radius:20px;flex:none;height:40px;padding:0 16px;font-family:inherit;font-size:15px;font-weight:600}.chat-send:disabled{opacity:.45;cursor:default}.chat-send:not(:disabled):active{transform:scale(.97)}.chat-hint{color:var(--muted);text-align:center;margin-top:8px;font-size:12px}.chat-hint a{color:var(--brand);white-space:nowrap;font-weight:600;text-decoration:none}.chat-unread{background:var(--danger);color:#fff;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:4px;min-width:20px;height:20px;padding:0 7px;font-size:11.5px;font-weight:700;line-height:1;display:inline-flex}.card-badges{align-items:center;gap:6px;display:inline-flex}.btn.chat-cta{justify-content:center;align-items:center;gap:8px;max-width:none;margin-top:10px;text-decoration:none;display:flex}
