:root{--budget-in:var(--up);--budget-out:var(--down)}.budget-field{gap:6px;min-width:0;display:grid}.budget-field>span{color:var(--text-muted);font-size:13px;font-weight:500}.budget-field small{color:var(--text-faint);font-size:12px}.budget-field input,.budget-field textarea{border-radius:var(--radius-md);border:1px solid var(--input-border);background:var(--input-bg);width:100%;min-height:44px;padding:0 14px}.budget-field textarea{resize:vertical;padding:10px 14px;line-height:1.5}.budget-field input:focus,.budget-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);outline:none}.budget-field input:disabled{opacity:.6}.budget-danger{background:var(--down);color:#fff}.budget-danger-ghost{color:var(--down);border-color:color-mix(in srgb,var(--down) 35%,transparent);background:0 0}.budget-danger-ghost:hover:not(:disabled),.budget-msg.error{background:var(--down-soft)}.budget-msg{border-radius:var(--radius-md);margin:0;padding:10px 14px;font-size:14px;line-height:1.5}.budget-msg.error{color:var(--down)}.budget-msg.info{background:var(--accent-soft);color:var(--accent)}.budget-msg.warn{background:var(--warn-soft);color:var(--warn)}.budget-up{color:var(--up)}.budget-down{color:var(--down)}.budget-seg{background:var(--track);border-radius:12px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.budget-seg button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:6px 12px;font-size:13.5px;font-weight:600}.budget-seg button[aria-pressed=true]{background:var(--glass-strong);color:var(--text);box-shadow:0 1px 3px #0000001f}.budget-seg button.income[aria-pressed=true]{color:var(--up)}.budget-seg button.expense[aria-pressed=true]{color:var(--down)}.budget-tile{--tile:#9a7cf5;width:var(--size,52px);height:var(--size,52px);color:color-mix(in srgb,var(--tile) 70%,#4b2fb8);background:linear-gradient(160deg,color-mix(in srgb,var(--tile) 26%,transparent),color-mix(in srgb,var(--tile) 10%,transparent));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tile) 24%,transparent),inset 0 1px 0 #ffffff59,0 6px 14px -8px color-mix(in srgb,var(--tile) 55%,transparent);border-radius:30%;flex:none;place-items:center;display:grid;position:relative;overflow:hidden}.budget-tile:before{content:"";pointer-events:none;background:linear-gradient(#ffffff42,#fff0);position:absolute;inset:0 0 52%}.budget-tile .budget-icon{position:relative}:root[data-theme=dark] .budget-tile{color:var(--tile);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tile) 28%,transparent),inset 0 1px 0 #fff3,0 6px 14px -8px color-mix(in srgb,var(--tile) 45%,transparent)}:root[data-theme=dark] .budget-tile:before{background:linear-gradient(#ffffff1f,#fff0)}.budget-closed{background:var(--track);color:var(--text-muted);white-space:nowrap;border-radius:999px;align-items:center;padding:2px 9px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}:root{--bg:#eef0f8;--blob-1:#bfdbfe;--blob-2:#fbcfe8;--blob-3:#bbf7d0;--blob-4:#fde68a;--glass:#fffc;--glass-strong:#ffffffeb;--glass-border:#fffffff2;--glass-edge:#1e223514;--control-border:#1e223521;--control-shadow:0 1px 2px #1e22350d;--glass-shadow:0 0 0 1px #1e22350d, 0 12px 36px -14px #1e407838;--glass-blur:28px;--blob-opacity:.45;--text:#1a1e30;--text-muted:#4a5068;--text-faint:#676d85;--accent:#2f7cd8;--accent-soft:#2f7cd81f;--accent-text:#fff;--up:#0f9d76;--up-soft:#0f9d761f;--down:#e5484d;--down-soft:#e5484d1f;--warn:#c27c0e;--warn-soft:#c27c0e24;--real:#e07d00;--real-soft:#e07d0029;--real-ink:#fff;--real-text:#a35c00;--track:#1e223514;--input-bg:#ffffffd9;--input-border:#1e223524;--dialog-bg:#fffffff0;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#6250d6;--chart-grid:#1e22350f;--overlay:#1e223547;--radius-lg:24px;--radius-md:16px;--radius-sm:10px;--font:"Inter", "Noto Sans Thai", system-ui, -apple-system, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0c0f1d;--blob-1:#1e3a8a;--blob-2:#831843;--blob-3:#065f46;--blob-4:#78350f;--glass:#14182cbd;--glass-strong:#20253ee0;--glass-border:#ffffff1a;--glass-edge:#ffffff12;--control-border:#ffffff1f;--control-shadow:none;--glass-shadow:0 0 0 1px #00000040, 0 14px 40px -14px #000000b3;--blob-opacity:.4;--text:#eef0fc;--text-muted:#b8bdd6;--text-faint:#8d93b0;--accent:#5b9cf0;--accent-soft:#5b9cf029;--accent-text:#0c0f1d;--up:#34d399;--up-soft:#34d39924;--down:#fb7185;--down-soft:#fb718524;--warn:#fbbf24;--warn-soft:#fbbf2424;--real:#e8820a;--real-soft:#ff9f1c2e;--real-ink:#fff;--real-text:#ffb347;--track:#ffffff14;--input-bg:#ffffff0f;--input-border:#ffffff29;--dialog-bg:#181c32f0;--series-1:#3987e5;--series-2:#d95926;--series-3:#9085e9;--chart-grid:#ffffff0f;--overlay:#04060e8c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:after,:before{box-sizing:border-box}body,html{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.55;transition:background-color .3s,color .3s}button,input,select,textarea{font:inherit;color:inherit}select{border-radius:var(--radius-md);border:1px solid var(--input-border);background:var(--input-bg);cursor:pointer;width:100%;height:44px;padding:0 12px}select:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);outline:none}select:disabled{opacity:.6;cursor:not-allowed}@media (hover:none) and (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),select,textarea{font-size:16px!important}}::placeholder{color:var(--text-faint);opacity:1}.num{font-variant-numeric:tabular-nums}.glass{background:var(--glass);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),inset 0 1px 0 #ffffff40;-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(160%);border-radius:var(--radius-lg)}.btn{border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;height:44px;padding:0 18px;font-weight:600;transition:transform .15s,background .2s,opacity .2s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-text)}.btn-primary:hover:not(:disabled){filter:brightness(1.06)}.btn-ghost{background:var(--glass-strong);border-color:var(--glass-border)}.btn-ghost:hover:not(:disabled),.chip-accent{background:var(--accent-soft)}.btn-sm{border-radius:var(--radius-sm);height:36px;padding:0 14px;font-size:14px}.chip{letter-spacing:.02em;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.chip-accent{color:var(--accent)}.chip-up{background:var(--up-soft);color:var(--up)}.chip-down{background:var(--down-soft);color:var(--down)}.chip-warn{background:var(--warn-soft);color:var(--warn)}.chip-real{background:var(--real-soft);color:var(--real-text)}.dot{background:currentColor;border-radius:50%;width:7px;height:7px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important}}.sk{background:linear-gradient(90deg,var(--track),color-mix(in srgb,var(--text) 13%,var(--track)),var(--track)) 0 0/220% 100%;border-radius:8px;height:16px;animation:1.4s ease-in-out infinite sk-shimmer;display:block}@keyframes sk-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.sk{animation:none}}.glass[data-tilt-card]{transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--lift,0));will-change:transform}.glass[data-tilt-card=on]{--lift:-4px;border-color:color-mix(in srgb,var(--accent) 45%,var(--glass-border));box-shadow:0 22px 50px -22px color-mix(in srgb,var(--accent) 55%,transparent),inset 0 1px 0 #ffffff40;background-image:radial-gradient(320px circle at var(--gx,50%) var(--gy,0),#ffffff1f,transparent 62%);transition:transform .12s ease-out,box-shadow .3s,border-color .3s}.glass[data-tilt-card=back]{transition:transform .7s cubic-bezier(.2,1.1,.3,1),box-shadow .4s,border-color .4s}@media (prefers-reduced-motion:reduce){.glass[data-tilt-card]{transition:none;transform:none}}.backdrop[data-v-c0c60155]{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.backdrop[data-v-c0c60155]:after{content:"";height:calc(120px + env(safe-area-inset-top,0px));background:linear-gradient(to bottom,var(--bg) 35%,transparent);position:absolute;inset:0 0 auto}.blob[data-v-c0c60155]{background:radial-gradient(closest-side,var(--c) 0,color-mix(in srgb,var(--c) 55%,transparent) 45%,transparent 100%);opacity:var(--blob-opacity,.45);border-radius:50%;position:absolute}.b1[data-v-c0c60155]{--c:var(--blob-1);width:62vmax;height:62vmax;top:-24vmax;left:-20vmax}.b2[data-v-c0c60155]{--c:var(--blob-2);width:52vmax;height:52vmax;animation-delay:-6s;top:2vmax;right:-22vmax}.b3[data-v-c0c60155]{--c:var(--blob-3);width:46vmax;height:46vmax;animation-delay:-12s;bottom:-20vmax;left:12vmax}.b4[data-v-c0c60155]{--c:var(--blob-4);width:30vmax;height:30vmax;opacity:calc(var(--blob-opacity,.45) * .7);animation-delay:-18s;bottom:2vmax;right:8vmax}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.blob[data-v-c0c60155]{will-change:transform;animation:24s ease-in-out infinite alternate drift-c0c60155}}@keyframes drift-c0c60155{0%{transform:translate(0)scale(1)}to{transform:translate(3vmax,-2vmax)scale(1.08)}}.busy[data-v-46099abd]{width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--text);background:0 0;border:0;margin:0;padding:0}.busy[open][data-v-46099abd]{place-items:center;display:grid}.busy[data-v-46099abd]::backdrop{background:var(--overlay);-webkit-backdrop-filter:blur(6px)}.box[data-v-46099abd]{border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);justify-items:center;gap:14px;padding:26px 34px;display:grid}.box p[data-v-46099abd]{color:var(--text-muted);margin:0;font-size:15px;font-weight:600}.spinner[data-v-46099abd]{border:3.5px solid var(--accent-soft);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin-46099abd}@keyframes spin-46099abd{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.spinner[data-v-46099abd]{animation-duration:2.4s}}.wrap[data-v-1c8b4b02]{place-items:center;min-height:100vh;padding:24px}.box[data-v-1c8b4b02],.wrap[data-v-1c8b4b02]{display:grid}.box[data-v-1c8b4b02]{text-align:center;border-radius:var(--radius-lg);gap:14px;width:100%;max-width:480px;padding:32px;position:relative}h1[data-v-1c8b4b02]{letter-spacing:-.01em;font-size:22px;font-weight:700}h1[data-v-1c8b4b02],p[data-v-1c8b4b02]{margin:0}p[data-v-1c8b4b02]{color:var(--text-muted);line-height:1.6}.actions[data-v-1c8b4b02]{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:6px;display:flex}
