.toasts[data-v-77222be4]{z-index:var(--z-toast);top:calc(var(--sp-4) + env(safe-area-inset-top));gap:var(--sp-2);pointer-events:none;flex-direction:column;width:min(92vw,420px);display:flex;position:fixed;left:50%;transform:translate(-50%)}@media (width>=768px){.toasts[data-v-77222be4]{left:auto;right:var(--sp-5);width:380px;transform:none}}.toast[data-v-77222be4]{pointer-events:auto;text-align:left;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);border:1px solid var(--c-border);background:var(--c-surface);box-shadow:var(--shadow-2);font-size:var(--fs-sm);color:var(--c-text)}.toast--success[data-v-77222be4]{border-left:3px solid var(--c-ok)}.toast--error[data-v-77222be4]{border-left:3px solid var(--c-danger)}.toast--info[data-v-77222be4]{border-left:3px solid var(--c-info)}.toast-enter-active[data-v-77222be4],.toast-leave-active[data-v-77222be4]{transition:opacity var(--t-base), transform var(--t-base)}.toast-enter-from[data-v-77222be4],.toast-leave-to[data-v-77222be4]{opacity:0;transform:translateY(-6px)}:root{--c-brand-50:#eaf2ef;--c-brand-100:#d3e5df;--c-brand-300:#6fa899;--c-brand-500:#1f6f5c;--c-brand-600:#17594a;--c-brand-700:#114539;--c-income:#c0473c;--c-income-soft:#fbeceb;--c-expense:#2e8b6e;--c-expense-soft:#e7f3ee;--c-ok:#2e8b6e;--c-ok-soft:#e7f3ee;--c-warn:#c8842b;--c-warn-soft:#fbf1e2;--c-danger:#b3382c;--c-danger-soft:#fbe9e7;--c-info:#4a6fa5;--c-info-soft:#eaeff7;--c-bg:#f7f4ef;--c-surface:#fff;--c-surface-2:#fbf9f6;--c-border:#e6e0d6;--c-border-strong:#d5cdc0;--c-text:#221f1b;--c-text-2:#6b6459;--c-text-3:#9c948a;--c-text-inverse:#fdfcf9;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-full:999px;--shadow-1:0 1px 2px #221f1b0f;--shadow-2:0 6px 20px #221f1b14;--shadow-3:0 24px 60px -12px #221f1b38, 0 2px 8px #221f1b0f;--shadow-inset:inset 0 0 0 1px var(--c-border);--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--f-sans:-apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", Roboto, sans-serif;--f-num:ui-monospace, "SF Mono", "JetBrains Mono", "Cascadia Code", "Consolas", monospace;--f-display:"Noto Serif SC", "Source Han Serif SC", "Songti SC", "SimSun", Georgia, serif;--fs-xs:13px;--fs-sm:14px;--fs-base:15px;--fs-md:17px;--fs-lg:21px;--fs-xl:28px;--fs-2xl:36px;--sidebar-w:232px;--sidebar-w-compact:64px;--topbar-h:56px;--tabbar-h:56px;--content-max:1180px;--e-out:cubic-bezier(.22, 1, .36, 1);--e-in-out:cubic-bezier(.65, 0, .35, 1);--t-fast:.14s var(--e-out);--t-base:.22s var(--e-out);--t-slow:.36s var(--e-out);--z-drawer:40;--z-modal:50;--z-toast:60}[data-theme=dark]{--c-brand-50:#16241f;--c-brand-100:#1c2f28;--c-brand-300:#3f7f6d;--c-brand-500:#2e8f76;--c-brand-600:#37a184;--c-brand-700:#4bb495;--c-income:#e0685c;--c-income-soft:#2a1d1b;--c-expense:#4cb694;--c-expense-soft:#16281f;--c-ok:#4cb694;--c-ok-soft:#16281f;--c-warn:#d99a45;--c-warn-soft:#2a2318;--c-danger:#e0685c;--c-danger-soft:#2a1d1b;--c-info:#7aa0d4;--c-info-soft:#1a2130;--c-bg:#14171a;--c-surface:#1c2024;--c-surface-2:#22272b;--c-border:#2c3237;--c-border-strong:#3a4147;--c-text:#ece7df;--c-text-2:#a79f94;--c-text-3:#756e66;--c-text-inverse:#14171a;--shadow-1:0 1px 2px #0000004d;--shadow-2:0 6px 20px #00000059;--shadow-3:0 24px 60px -12px #0009, 0 2px 8px #0006}@media (prefers-reduced-motion:reduce){:root{--t-fast:0s;--t-base:0s;--t-slow:0s}}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--c-bg);color:var(--c-text);font-family:var(--f-sans);font-size:var(--fs-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}.safe-top{padding-top:env(safe-area-inset-top)}#app{min-height:100dvh}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{letter-spacing:-.01em;font-weight:600;line-height:1.3}a{color:var(--c-brand-600);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;color:inherit;cursor:pointer;transition:background-color var(--t-fast), border-color var(--t-fast), color var(--t-fast), box-shadow var(--t-fast), transform var(--t-fast)}button:not(:disabled):active{transform:translateY(1px)}input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--c-brand-500);outline-offset:2px;border-radius:var(--r-sm)}.num{font-family:var(--f-num);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.income{color:var(--c-income)}.expense{color:var(--c-expense)}.muted{color:var(--c-text-2)}.muted-3{color:var(--c-text-3)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}*{scrollbar-width:thin;scrollbar-color:var(--c-border-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--c-border-strong);border-radius:var(--r-full)}::-webkit-scrollbar-track{background:0 0}html,body{max-width:100%;overflow-x:hidden}@supports (overflow:clip){html,body{overflow-x:clip}}#app{max-width:100vw}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (pointer:coarse){button,a.btn,[role=button],input[type=checkbox],input[type=radio]{min-height:44px}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:0}}body .btn,body a.btn{white-space:nowrap;justify-content:center;align-items:center;display:inline-flex}@media (pointer:coarse){body .btn:not(.btn--sm),body a.btn:not(.btn--sm){min-height:44px}body .btn.btn--sm,body a.btn.btn--sm{min-height:36px}}.skip-link{z-index:100;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);font-size:var(--fs-sm);padding:8px 12px;position:absolute;top:0;left:-9999px}.skip-link:focus{left:var(--sp-3);top:var(--sp-3)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.avatar{border-radius:var(--r-full);background:var(--c-brand-500);width:32px;height:32px;color:var(--c-text-inverse);font-size:var(--fs-sm);box-shadow:0 0 0 1px color-mix(in srgb, var(--c-brand-700) 24%, transparent);-webkit-user-select:none;user-select:none;flex:none;place-items:center;font-weight:600;line-height:1;display:grid}.avatar--sm{width:22px;height:22px;font-size:var(--fs-xs)}.avatar--lg{width:40px;height:40px;font-size:var(--fs-md)}.page-enter-active{transition:opacity var(--t-base), transform var(--t-base)}.page-leave-active{transition:opacity var(--t-fast), transform var(--t-fast)}.page-enter-from{opacity:0;transform:translateY(6px)}.page-leave-to{opacity:0;transform:translateY(-4px)}.notice-enter-active{transition:opacity var(--t-base), transform var(--t-base)}.notice-leave-active{transition:opacity var(--t-fast), transform var(--t-fast)}.notice-enter-from,.notice-leave-to{opacity:0;transform:translateY(-4px)}html.theme-switching,html.theme-switching *{transition:background-color var(--t-slow), border-color var(--t-slow), color var(--t-slow)!important}:where(select:not([multiple]):not([size])){appearance:none;height:36px;padding:0 var(--sp-3);border:1px solid var(--c-border);border-radius:var(--r-md);background-color:var(--c-surface);text-overflow:ellipsis;white-space:nowrap;transition:border-color var(--t-fast), box-shadow var(--t-fast), background-color var(--t-fast);overflow:hidden}body select:not([multiple]):not([size]){background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-image:linear-gradient(45deg, transparent 50%, color-mix(in srgb, currentColor 72%, transparent) 50%), linear-gradient(135deg, color-mix(in srgb, currentColor 72%, transparent) 50%, transparent 50%);background-repeat:no-repeat;background-size:5px 5px;background-position:right calc(var(--sp-3) + 5px) center, right var(--sp-3) center;padding-right:calc(var(--sp-3) + 16px)}body select:not([multiple]):not([size]):hover:not(:focus):not(:disabled){border-color:var(--c-border-strong)}body select:not([multiple]):not([size]):disabled{color:var(--c-text-3);background-color:var(--c-surface-2);border-color:var(--c-border);cursor:not-allowed}body select:not([multiple]):not([size]):focus:not(:disabled){border-color:var(--c-brand-500);outline:none}body select:not([multiple]):not([size]):focus-visible:not(:disabled){box-shadow:0 0 0 3px var(--c-brand-50);outline:none}:where(input[type=date],input[type=datetime-local],input[type=time],input[type=month]){height:36px;padding:0 var(--sp-3);border:1px solid var(--c-border);border-radius:var(--r-md);background-color:var(--c-surface);color:inherit;font:inherit;transition:border-color var(--t-fast), box-shadow var(--t-fast), background-color var(--t-fast)}input[type=date]::-webkit-calendar-picker-indicator{opacity:.85;cursor:pointer;transition:opacity var(--t-fast);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239c948a' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:14px 14px}input[type=datetime-local]::-webkit-calendar-picker-indicator{opacity:.85;cursor:pointer;transition:opacity var(--t-fast);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239c948a' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:14px 14px}input[type=month]::-webkit-calendar-picker-indicator{opacity:.85;cursor:pointer;transition:opacity var(--t-fast);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239c948a' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:14px 14px}[data-theme=dark] input[type=date]::-webkit-calendar-picker-indicator{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23756e66' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E")}[data-theme=dark] input[type=datetime-local]::-webkit-calendar-picker-indicator{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23756e66' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E")}[data-theme=dark] input[type=month]::-webkit-calendar-picker-indicator{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23756e66' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E")}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}input[type=datetime-local]::-webkit-calendar-picker-indicator:hover{opacity:1}input[type=month]::-webkit-calendar-picker-indicator:hover{opacity:1}input[type=date]:disabled::-webkit-calendar-picker-indicator{opacity:.35;cursor:not-allowed}input[type=datetime-local]:disabled::-webkit-calendar-picker-indicator{opacity:.35;cursor:not-allowed}input[type=month]:disabled::-webkit-calendar-picker-indicator{opacity:.35;cursor:not-allowed}input[type=date]::-webkit-datetime-edit{color:inherit}input[type=datetime-local]::-webkit-datetime-edit{color:inherit}.required-mark{color:var(--c-danger);margin-left:4px;font-style:normal}
