@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_d0559b70-module__OX3bdq__className{font-family:Noto Sans Thai,Noto Sans Thai Fallback;font-style:normal}.noto_sans_thai_d0559b70-module__OX3bdq__variable{--font-thai:"Noto Sans Thai", "Noto Sans Thai Fallback"}
:root{--page-bg:#f2f6fc;--card:#fff;--card-border:#e0e9f6;--track:#edf2f9;--blue:#2e7dd8;--blue-on:#fff;--blue-label:#cbe0f8;--green:#2bb089;--green-strong:#0f8a66;--danger:#c0392b;--text:#1b2d45;--heading:#16335c;--muted:#7185a0;--muted-2:#6b83a6;--icon-bg:#e6f0fb;--radius:16px;--radius-sm:12px;--max-width:480px;--pad:16px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--page-bg);color:var(--text);font-family:var(--font-thai), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.4}button{cursor:pointer;font-family:inherit}input,select{font-family:inherit}.shell{max-width:var(--max-width);background:var(--page-bg);min-height:100dvh;margin:0 auto;position:relative}.page{padding:0 var(--pad) calc(32px + env(safe-area-inset-bottom))}.header{padding-top:calc(12px + env(safe-area-inset-top))}.header__top{justify-content:space-between;align-items:center;padding:8px 0 14px;display:flex}.header__title{color:var(--heading);margin:0;font-size:20px;font-weight:700}.add-btn{background:var(--blue);min-height:40px;color:var(--blue-on);border:none;border-radius:999px;align-items:center;gap:4px;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex}.add-btn__plus{font-size:18px;line-height:1}.hero{background:var(--blue);border-radius:var(--radius);color:var(--blue-on);flex-direction:column;align-items:flex-start;padding:20px 18px;display:flex;box-shadow:0 8px 20px #2e7dd840}.hero__label{color:var(--blue-label);font-size:13px}.hero__amount{letter-spacing:-.5px;margin-top:6px;font-size:34px;font-weight:700;line-height:1.1}.hero__currency{margin-right:2px;font-size:22px;font-weight:600}.hero__sub{color:var(--blue-label);margin-top:8px;font-size:13px}.summary{grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0 6px;display:grid}.summary__card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-sm);text-align:center;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;display:flex}.summary__value{color:var(--heading);font-size:16px;font-weight:700}.summary__value--green{color:var(--green-strong)}.summary__label{color:var(--muted);font-size:11.5px}.list{flex-direction:column;gap:12px;margin-top:14px;display:flex}.card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);-webkit-tap-highlight-color:transparent;padding:14px;transition:transform 80ms}.card:active{transform:scale(.99)}.card__head{align-items:center;gap:12px;display:flex}.card__icon{background:var(--icon-bg);border-radius:12px;flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid}.card__id{flex-direction:column;flex:1;min-width:0;display:flex}.card__name{color:var(--heading);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.card__type{color:var(--muted);font-size:12px}.card__amounts{justify-content:space-between;align-items:flex-end;gap:8px;margin:14px 0 8px;display:flex}.card__monthly{color:var(--muted-2);font-size:12.5px}.card__balance{text-align:right;white-space:nowrap}.card__remaining{color:var(--heading);font-size:17px;font-weight:700}.card__remaining--done{color:var(--green-strong)}.card__principal{color:var(--muted);margin-left:4px;font-size:12.5px}.track{background:var(--track);border-radius:999px;height:8px;overflow:hidden}.track__fill{border-radius:999px;height:100%;transition:width .3s}.card__pct{color:var(--muted);margin-top:6px;font-size:11.5px;display:block}.menu{flex:none;position:relative}.menu__trigger{width:36px;height:36px;color:var(--muted);background:0 0;border:none;border-radius:10px;place-items:center;display:grid}.menu__trigger:active{background:var(--track)}.menu__pop{z-index:30;background:var(--card);border:1px solid var(--card-border);border-radius:12px;flex-direction:column;min-width:140px;padding:6px;display:flex;position:absolute;top:40px;right:0;box-shadow:0 12px 28px #16335c2e}.menu__item{text-align:left;color:var(--text);background:0 0;border:none;border-radius:8px;padding:10px 12px;font-size:14px}.menu__item:active{background:var(--track)}.menu__item--danger{color:var(--danger)}.empty{text-align:center;flex-direction:column;align-items:center;gap:8px;margin-top:60px;display:flex}.empty__icon{background:var(--icon-bg);width:76px;height:76px;color:var(--blue);border-radius:50%;place-items:center;margin-bottom:8px;display:grid}.empty__title{color:var(--heading);margin:0;font-size:17px;font-weight:700}.empty__text{color:var(--muted);margin:0 0 12px;font-size:13.5px}.btn{border:none;border-radius:12px;min-height:48px;padding:0 18px;font-size:15px;font-weight:600}.btn--primary{background:var(--blue);color:var(--blue-on)}.btn--primary:disabled{opacity:.55}.btn--ghost{background:var(--track);color:var(--text)}.btn--danger-text{color:var(--danger);background:0 0;min-height:44px;margin-top:4px}.sheet-backdrop{z-index:50;background:#16335c6b;justify-content:center;align-items:flex-end;animation:.18s fade;display:flex;position:fixed;inset:0}.sheet,.modal{width:100%;max-width:var(--max-width);background:var(--card);padding:10px 18px calc(22px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;max-height:92dvh;animation:.22s slideUp;overflow-y:auto}.sheet__grip{background:#d4ddec;border-radius:999px;width:40px;height:4px;margin:4px auto 12px}.sheet__title{color:var(--heading);margin:0 0 2px;font-size:18px;font-weight:700}.sheet__name{color:var(--text);margin:0;font-size:14px;font-weight:600}.sheet__remaining{color:var(--muted);margin:2px 0 16px;font-size:13px}.sheet__after{color:var(--muted-2);margin:14px 0 4px;font-size:13.5px}.sheet__after strong{color:var(--green-strong)}.sheet__actions{gap:10px;margin-top:18px;display:flex}.sheet__actions .btn{flex:1}.field{flex-direction:column;gap:6px;display:flex}.field__label{color:var(--muted);font-size:12.5px;font-weight:500}.field__money{border:1.5px solid var(--card-border);background:var(--page-bg);border-radius:12px;align-items:center;padding:0 14px;display:flex}.field__money:focus-within{border-color:var(--blue)}.field__prefix{color:var(--muted-2);margin-right:6px;font-size:18px;font-weight:600}.field__input{color:var(--heading);background:0 0;border:none;outline:none;width:100%;padding:14px 0;font-size:20px;font-weight:600}.field__input--box{border:1.5px solid var(--card-border);background:var(--page-bg);border-radius:12px;padding:12px 14px;font-size:15px;font-weight:500}.field__input--box:focus{border-color:var(--blue)}.select{position:relative}.select__btn{text-align:left;width:100%;color:var(--heading);background:var(--page-bg);justify-content:space-between;align-items:center;gap:8px;display:flex}.select__chevron{color:var(--muted-2);flex:none;transition:transform .18s}.select__chevron--up{transform:rotate(180deg)}.select__pop{z-index:20;background:var(--card);border:1px solid var(--card-border);border-radius:12px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 12px 28px #16335c2e}.select__opt{text-align:left;width:100%;color:var(--text);background:0 0;border:none;border-radius:8px;padding:11px 12px;font-size:14.5px}.select__opt:active{background:var(--track)}.select__opt--active{background:var(--icon-bg);color:var(--blue);font-weight:600}.form{flex-direction:column;gap:14px;display:flex}.form__row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.chips{gap:8px;margin-top:12px;display:flex}.chip{border:1.5px solid var(--card-border);background:var(--page-bg);min-height:40px;color:var(--blue);border-radius:999px;flex:1;font-size:13px;font-weight:600}.chip:active{background:var(--icon-bg)}.splash{z-index:100;background:var(--blue);color:var(--blue-on);opacity:1;flex-direction:column;justify-content:center;align-items:center;gap:14px;transition:opacity .5s;display:flex;position:fixed;inset:0}.splash--hide{opacity:0;pointer-events:none}.splash__logo{background:#ffffff29;border-radius:24px;place-items:center;width:84px;height:84px;display:grid}.splash__title{font-size:22px;font-weight:700}.splash__spinner{border:3px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:26px;height:26px;margin-top:6px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}
