.toast[data-v-3f3e91e3]{position:fixed;top:80px;left:50%;transform:translate(-50%);padding:12px 20px;border-radius:8px;display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:14px;box-shadow:0 4px 12px #0000004d;z-index:10000;max-width:90vw}.toast.success[data-v-3f3e91e3]{background:#4caf50}.toast.error[data-v-3f3e91e3]{background:#f44336}.toast.warning[data-v-3f3e91e3]{background:#ff9800}.toast.info[data-v-3f3e91e3]{background:#2196f3}.toast-enter-active[data-v-3f3e91e3],.toast-leave-active[data-v-3f3e91e3]{transition:all .3s}.toast-enter-from[data-v-3f3e91e3],.toast-leave-to[data-v-3f3e91e3]{opacity:0;transform:translate(-50%) translateY(-20px)}.dialog-overlay[data-v-566b313f]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.dialog-container[data-v-566b313f]{background:#fff;border-radius:16px;max-width:400px;width:100%;box-shadow:0 10px 40px #0000004d}.dialog-header[data-v-566b313f]{padding:20px 20px 16px}.dialog-header h3[data-v-566b313f]{margin:0;font-size:18px;color:#333;text-align:center}.dialog-body[data-v-566b313f]{padding:0 20px 20px}.dialog-body p[data-v-566b313f]{margin:0;color:#666;font-size:15px;line-height:1.6;text-align:center}.dialog-footer[data-v-566b313f]{display:flex;border-top:1px solid #e0e0e0}.btn-cancel[data-v-566b313f],.btn-confirm[data-v-566b313f]{flex:1;padding:16px;border:none;background:transparent;font-size:16px;font-weight:500;cursor:pointer;transition:background .2s}.btn-cancel[data-v-566b313f]{color:#666;border-right:1px solid #e0e0e0}.btn-cancel[data-v-566b313f]:active{background:#f5f5f5}.btn-confirm[data-v-566b313f]{color:#4caf50}.btn-confirm[data-v-566b313f]:active{background:#f5f5f5}.dialog-enter-active[data-v-566b313f],.dialog-leave-active[data-v-566b313f]{transition:opacity .3s}.dialog-enter-active .dialog-container[data-v-566b313f],.dialog-leave-active .dialog-container[data-v-566b313f]{transition:transform .3s}.dialog-enter-from[data-v-566b313f],.dialog-leave-to[data-v-566b313f]{opacity:0}.dialog-enter-from .dialog-container[data-v-566b313f],.dialog-leave-to .dialog-container[data-v-566b313f]{transform:scale(.9)}.svg-icon[data-v-b005d065]{vertical-align:middle;fill:currentColor;overflow:hidden}:root{--nc-bg-primary: #FDFCF9;--nc-bg-card: #FFFFFF;--nc-text-primary: #333333;--nc-text-secondary: #666666;--nc-text-tertiary: #999999;--nc-accent-red: #C22525;--nc-accent-green: #1A3F2B;--nc-success: #C22525;--nc-danger: #666666;--nc-warning: #D4975D;--nc-border-light: rgba(0, 0, 0, .06);--nc-border-medium: rgba(0, 0, 0, .12);--nc-shadow-light: 0 2px 8px rgba(0, 0, 0, .06);--nc-shadow-medium: 0 4px 16px rgba(0, 0, 0, .08);--nc-ink-wash: rgba(0, 0, 0, .03)}:root{--nc-spacing-xs: 8px;--nc-spacing-sm: 12px;--nc-spacing-md: 16px;--nc-spacing-lg: 24px;--nc-spacing-xl: 32px;--nc-spacing-xxl: 48px;--nc-radius-sm: 4px;--nc-radius-md: 8px;--nc-radius-lg: 12px;--nc-radius-circle: 50%;--nc-container-max: 600px}:root{--nc-font-calligraphy: "Ma Shan Zheng", cursive;--nc-font-body: "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--nc-font-number: "SF Pro Display", -apple-system, "Helvetica Neue", sans-serif;--nc-text-xs: 12px;--nc-text-sm: 13px;--nc-text-base: 14px;--nc-text-lg: 16px;--nc-text-xl: 18px;--nc-text-2xl: 20px;--nc-text-3xl: 24px;--nc-text-4xl: 32px;--nc-font-light: 300;--nc-font-normal: 400;--nc-font-medium: 500;--nc-font-semibold: 600;--nc-font-bold: 700;--nc-leading-tight: 1.25;--nc-leading-normal: 1.5;--nc-leading-relaxed: 1.75}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--nc-font-body);font-size:var(--nc-text-base);color:var(--nc-text-primary);background-color:var(--nc-bg-primary);line-height:var(--nc-leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=text],input[type=number],input[type=date],input[type=month],input[type=password],input[type=email],select,textarea{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:var(--nc-radius-md);padding:10px 12px;font-size:var(--nc-text-base);font-family:var(--nc-font-body);color:var(--nc-text-primary);transition:all .2s ease;width:100%}input:focus,select:focus,textarea:focus{background:#fff;border-color:var(--nc-accent-red);outline:none;box-shadow:0 0 0 3px #c225251a}input::placeholder,textarea::placeholder{color:var(--nc-text-tertiary)}input:disabled,select:disabled,textarea:disabled{background:#fafafa;color:var(--nc-text-tertiary);cursor:not-allowed}.nc-card{background:var(--nc-bg-card);border-radius:var(--nc-radius-md);padding:var(--nc-spacing-md);box-shadow:var(--nc-shadow-light);margin-bottom:var(--nc-spacing-lg);transition:all .3s ease}.nc-card:hover{box-shadow:var(--nc-shadow-medium);transform:translateY(-2px)}.nc-card-header{margin-bottom:var(--nc-spacing-md);padding-bottom:var(--nc-spacing-sm);border-bottom:1px solid var(--nc-border-light)}.nc-card-title{font-family:var(--nc-font-calligraphy);font-size:var(--nc-text-3xl);color:var(--nc-text-primary);font-weight:var(--nc-font-normal);letter-spacing:2px}.nc-card-body{padding:var(--nc-spacing-sm) 0}.nc-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--nc-spacing-xs);padding:var(--nc-spacing-sm) var(--nc-spacing-lg);border-radius:var(--nc-radius-md);font-size:var(--nc-text-base);font-weight:var(--nc-font-medium);cursor:pointer;transition:all .3s ease;border:none;outline:none;font-family:var(--nc-font-body)}.nc-btn-primary{background:var(--nc-accent-red);color:#fff;border:2px solid var(--nc-accent-red)}.nc-btn-primary:hover{background:#a81e1e;border-color:#a81e1e;transform:translateY(-1px);box-shadow:0 4px 12px #c225254d}.nc-btn-secondary{background:#fff;color:var(--nc-accent-red);border:2px solid var(--nc-accent-red)}.nc-btn-secondary:hover{background:var(--nc-accent-red);color:#fff;transform:translateY(-1px)}.nc-btn-circle{width:56px;height:56px;border-radius:var(--nc-radius-circle);padding:0;box-shadow:var(--nc-shadow-medium)}.nc-btn-circle:hover{transform:scale(1.1);box-shadow:0 6px 20px #c2252566}.nc-btn-sm{padding:6px 12px;font-size:var(--nc-text-sm)}.nc-data-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--nc-spacing-md);margin:var(--nc-spacing-md) 0}.nc-data-item{text-align:center;padding:var(--nc-spacing-md);background:var(--nc-bg-primary);border-radius:var(--nc-radius-sm)}.nc-data-label{font-size:var(--nc-text-sm);color:var(--nc-text-secondary);margin-bottom:var(--nc-spacing-xs)}.nc-data-value{font-family:var(--nc-font-number);font-size:var(--nc-text-2xl);font-weight:var(--nc-font-semibold);color:var(--nc-text-primary)}.nc-data-value.positive{color:var(--nc-accent-red)}.nc-data-value.negative{color:var(--nc-text-secondary)}.nc-list-item{display:flex;align-items:center;justify-content:space-between;padding:var(--nc-spacing-md);background:#fff;border-radius:var(--nc-radius-sm);margin-bottom:var(--nc-spacing-sm);transition:all .2s ease;cursor:pointer}.nc-list-item:hover{background:var(--nc-bg-primary);transform:translate(4px)}.nc-list-item-left{display:flex;align-items:center;gap:var(--nc-spacing-sm)}.nc-list-item-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--nc-radius-circle);background:var(--nc-bg-primary)}.nc-list-item-content{display:flex;flex-direction:column;gap:4px}.nc-list-item-title{font-size:var(--nc-text-base);color:var(--nc-text-primary);font-weight:var(--nc-font-medium)}.nc-list-item-subtitle{font-size:var(--nc-text-xs);color:var(--nc-text-tertiary)}.nc-list-item-right{text-align:right}.nc-list-item-amount{font-family:var(--nc-font-number);font-size:var(--nc-text-lg);font-weight:var(--nc-font-semibold)}.nc-list-item-amount.income{color:var(--nc-accent-red)}.nc-list-item-amount.expense{color:var(--nc-text-secondary)}.nc-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:var(--nc-text-xs);font-weight:var(--nc-font-medium);background:var(--nc-bg-primary);color:var(--nc-text-secondary)}.nc-seal{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:2px solid var(--nc-accent-red);border-radius:var(--nc-radius-sm);background:var(--nc-accent-red);color:#fff;font-family:var(--nc-font-calligraphy);font-size:var(--nc-text-base);transform:rotate(-5deg)}.nc-ink-decoration{position:absolute;pointer-events:none;opacity:.04;z-index:0}.nc-ink-decoration.top-right{top:0;right:0;width:200px;height:200px}.nc-ink-decoration.bottom-left{bottom:0;left:0;width:150px;height:150px}@media (max-width: 640px){.nc-data-grid{grid-template-columns:1fr;gap:var(--nc-spacing-sm)}.nc-card{padding:var(--nc-spacing-sm);margin-bottom:var(--nc-spacing-md)}.nc-card-title{font-size:var(--nc-text-2xl)}.nc-data-value{font-size:var(--nc-text-xl)}}@media (prefers-color-scheme: dark){:root{--nc-bg-primary: #1A1A1A;--nc-bg-card: #2A2A2A;--nc-text-primary: #E5E5E5;--nc-text-secondary: #999999;--nc-text-tertiary: #666666;--nc-border-light: rgba(255, 255, 255, .06);--nc-border-medium: rgba(255, 255, 255, .12)}}.nc-mt-sm{margin-top:var(--nc-spacing-sm)}.nc-mt-md{margin-top:var(--nc-spacing-md)}.nc-mt-lg{margin-top:var(--nc-spacing-lg)}.nc-mb-sm{margin-bottom:var(--nc-spacing-sm)}.nc-mb-md{margin-bottom:var(--nc-spacing-md)}.nc-mb-lg{margin-bottom:var(--nc-spacing-lg)}.nc-text-red{color:var(--nc-accent-red)}.nc-text-green{color:var(--nc-accent-green)}.nc-text-muted{color:var(--nc-text-secondary)}.nc-calligraphy{font-family:var(--nc-font-calligraphy);letter-spacing:2px}.nc-spacious{padding:var(--nc-spacing-xl)}.nc-elevated{box-shadow:var(--nc-shadow-medium)}#app{min-height:100vh;background-color:var(--nc-bg-primary);transition:background-color .3s;font-family:var(--nc-font-body);color:var(--nc-text-primary)}#app.dark-mode{background-color:#1a1a1a;color:#e0e0e0}#app.pwa-mode{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.offline-banner{position:fixed;top:0;left:0;right:0;background:var(--nc-warning);color:#fff;padding:12px 20px;text-align:center;font-size:var(--nc-text-sm);z-index:9999;display:flex;align-items:center;justify-content:center;gap:8px;animation:slideDown .3s ease-out;box-shadow:var(--nc-shadow-medium)}.update-banner{position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:var(--nc-bg-card);color:var(--nc-text-primary);padding:var(--nc-spacing-md) var(--nc-spacing-lg);border-radius:var(--nc-radius-lg);box-shadow:var(--nc-shadow-medium);z-index:9999;display:flex;align-items:center;gap:var(--nc-spacing-md);animation:slideUp .3s ease-out;border:2px solid var(--nc-accent-red)}.update-banner button{background:var(--nc-accent-red);color:#fff;border:none;padding:6px 16px;border-radius:var(--nc-radius-md);font-size:var(--nc-text-sm);font-weight:var(--nc-font-medium);cursor:pointer;transition:all .3s ease;font-family:var(--nc-font-body)}.update-banner button:hover{background:#a81e1e;transform:translateY(-1px);box-shadow:0 4px 12px #c225254d}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes slideUp{0%{transform:translate(-50%,100px);opacity:0}to{transform:translate(-50%);opacity:1}}.test-mode-indicator{position:fixed;top:0;left:0;right:0;background:var(--nc-warning);color:#fff;padding:var(--nc-spacing-xs) var(--nc-spacing-md);text-align:center;font-size:var(--nc-text-sm);font-weight:var(--nc-font-semibold);z-index:9999;box-shadow:var(--nc-shadow-light);animation:slideDown .3s ease;font-family:var(--nc-font-body);letter-spacing:1px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f5}.safe-area-inset-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-area-inset-top{padding-top:env(safe-area-inset-top)}button{cursor:pointer;font-family:inherit}input,textarea{font-family:inherit}
