.ai-trigger[data-v-fa2afb8d]{position:fixed;bottom:28px;right:28px;width:56px;height:56px;border-radius:50%;background:var(--accent);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:0;flex-direction:column;box-shadow:0 4px 20px #007aff59;z-index:150;transition:all .25s cubic-bezier(.16,1,.3,1)}.ai-trigger[data-v-fa2afb8d]:hover{transform:scale(1.08);box-shadow:0 6px 28px #007aff73}.ai-trigger-svg[data-v-fa2afb8d]{width:22px;height:22px}.ai-trigger-label[data-v-fa2afb8d]{font-size:.5rem;font-weight:700;letter-spacing:.06em;margin-top:1px}.ai-panel[data-v-fa2afb8d]{position:fixed;bottom:28px;right:28px;width:400px;max-width:calc(100vw - 56px);height:560px;max-height:calc(100vh - 100px);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:0 8px 40px #00000026;display:flex;flex-direction:column;z-index:150;overflow:hidden}.ai-panel-header[data-v-fa2afb8d]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-hairline);flex-shrink:0}.ai-panel-title[data-v-fa2afb8d]{display:flex;align-items:center;gap:8px;font-size:.9375rem;font-weight:620}.ai-title-svg[data-v-fa2afb8d]{width:18px;height:18px;color:var(--accent)}.ai-model-badge[data-v-fa2afb8d]{font-size:.625rem;font-weight:600;padding:2px 8px;border-radius:100px;background:var(--green-soft);color:var(--green);letter-spacing:.03em}.ai-model-badge.rule-mode[data-v-fa2afb8d]{background:var(--amber-soft);color:var(--amber)}.ai-close[data-v-fa2afb8d]{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:6px}.ai-close[data-v-fa2afb8d]:hover{color:var(--text-primary);background:var(--bg-hover)}.ai-close-svg[data-v-fa2afb8d]{width:14px;height:14px}.ai-messages[data-v-fa2afb8d]{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:12px}.ai-msg[data-v-fa2afb8d]{display:flex}.ai-msg-user[data-v-fa2afb8d]{justify-content:flex-end}.ai-msg-user .ai-msg-content[data-v-fa2afb8d]{background:var(--accent);color:#fff;border-radius:18px 18px 4px;padding:10px 16px;max-width:80%;font-size:.875rem;line-height:1.5}.ai-msg-bot .ai-msg-content[data-v-fa2afb8d]{background:var(--bg-input);color:var(--text-primary);border-radius:18px 18px 18px 4px;padding:12px 16px;max-width:85%;font-size:.875rem;line-height:1.55}.ai-msg-content[data-v-fa2afb8d] code{background:#0000000f;padding:2px 6px;border-radius:4px;font-family:SF Mono,Fira Code,monospace;font-size:.8125rem}.ai-suggestions[data-v-fa2afb8d]{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.ai-suggestion-chip[data-v-fa2afb8d]{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:100px;padding:5px 12px;font-size:.75rem;color:var(--text-secondary);cursor:pointer;font-family:inherit;transition:all .15s}.ai-suggestion-chip[data-v-fa2afb8d]:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}.ai-data-card[data-v-fa2afb8d]{margin-top:8px;background:var(--bg-elevated);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);overflow:hidden}.ai-data-row[data-v-fa2afb8d]{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--border-hairline);font-size:.75rem}.ai-data-row[data-v-fa2afb8d]:last-child{border-bottom:none}.ai-data-name[data-v-fa2afb8d]{font-weight:550;flex:1}.ai-data-num[data-v-fa2afb8d]{color:var(--text-muted);font-family:SF Mono,monospace;font-size:.6875rem}.ai-data-bal[data-v-fa2afb8d]{font-weight:600}.ai-data-status[data-v-fa2afb8d]{font-size:.6875rem}.ai-data-status.active[data-v-fa2afb8d]{color:var(--green)}.ai-data-status.locked[data-v-fa2afb8d]{color:var(--red)}.ai-typing[data-v-fa2afb8d]{display:flex;gap:4px;padding:8px 0}.ai-typing span[data-v-fa2afb8d]{width:7px;height:7px;border-radius:50%;background:var(--text-muted);animation:typingBounce-fa2afb8d 1.2s ease-in-out infinite}.ai-typing span[data-v-fa2afb8d]:nth-child(2){animation-delay:.15s}.ai-typing span[data-v-fa2afb8d]:nth-child(3){animation-delay:.3s}@keyframes typingBounce-fa2afb8d{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.ai-input-area[data-v-fa2afb8d]{display:flex;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid var(--border-hairline);flex-shrink:0}.ai-input[data-v-fa2afb8d]{flex:1;padding:10px 14px;background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:100px;font-size:.875rem;font-family:inherit;color:var(--text-primary);outline:none;transition:border-color .2s}.ai-input[data-v-fa2afb8d]:focus{border-color:var(--accent)}.ai-send-btn[data-v-fa2afb8d]{width:38px;height:38px;border-radius:50%;background:var(--accent);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.ai-send-btn[data-v-fa2afb8d]:hover{background:var(--accent-deep)}.ai-send-btn[data-v-fa2afb8d]:disabled{opacity:.35;cursor:default}.ai-send-svg[data-v-fa2afb8d]{width:14px;height:14px}.panel-slide-enter-active[data-v-fa2afb8d]{transition:all .35s cubic-bezier(.34,1.56,.64,1)}.panel-slide-leave-active[data-v-fa2afb8d]{transition:all .2s ease-in}.panel-slide-enter-from[data-v-fa2afb8d]{opacity:0;transform:translateY(20px) scale(.92)}.panel-slide-leave-to[data-v-fa2afb8d]{opacity:0;transform:translateY(12px) scale(.96)}.ai-confirm-row[data-v-fa2afb8d]{display:flex;gap:10px;margin-top:10px}.ai-confirm-btn[data-v-fa2afb8d]{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:100px;font-size:.8125rem;font-weight:550;font-family:inherit;cursor:pointer;border:1px solid;transition:all .2s}.ai-confirm-btn.confirm[data-v-fa2afb8d]{background:var(--green-soft);color:var(--green);border-color:#34c75940}.ai-confirm-btn.confirm[data-v-fa2afb8d]:hover{background:#34c75933;box-shadow:0 0 12px var(--green-glow)}.ai-confirm-btn.cancel[data-v-fa2afb8d]{background:var(--red-soft);color:var(--red);border-color:#ff3b3033}.ai-confirm-btn.cancel[data-v-fa2afb8d]:hover{background:#ff3b302e;box-shadow:0 0 12px var(--red-glow)}.confirm-svg[data-v-fa2afb8d]{width:14px;height:14px}.ai-confirm-btn[data-v-fa2afb8d]:disabled{opacity:.4;pointer-events:none}.page-fade-enter-active{transition:all .4s cubic-bezier(.16,1,.3,1)}.page-fade-leave-active{transition:all .2s cubic-bezier(.4,0,1,1)}.page-fade-enter-from{opacity:0;transform:translateY(20px) scale(.98);filter:blur(4px)}.page-fade-leave-to{opacity:0;transform:translateY(-12px)}.page-wrapper{min-height:100vh}@keyframes fluidShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes subtlePulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes glowPulse{0%,to{box-shadow:0 0 20px #007aff1a}50%{box-shadow:0 0 40px #007aff33}}.stagger-list>*{opacity:0;animation:staggerItemIn .5s cubic-bezier(.16,1,.3,1) forwards}.stagger-list>*:nth-child(1){animation-delay:0ms}.stagger-list>*:nth-child(2){animation-delay:50ms}.stagger-list>*:nth-child(3){animation-delay:.1s}.stagger-list>*:nth-child(4){animation-delay:.15s}.stagger-list>*:nth-child(5){animation-delay:.2s}.stagger-list>*:nth-child(6){animation-delay:.25s}.stagger-list>*:nth-child(7){animation-delay:.3s}.stagger-list>*:nth-child(8){animation-delay:.35s}.stagger-list>*:nth-child(9){animation-delay:.4s}.stagger-list>*:nth-child(10){animation-delay:.45s}@keyframes staggerItemIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}:root{--bg-deep: #e8e8ed;--bg-primary: #f5f5f7;--bg-secondary: #fafafa;--bg-elevated: #ffffff;--bg-card: rgba(255, 255, 255, .72);--bg-card-hover: rgba(255, 255, 255, .88);--bg-input: rgba(0, 0, 0, .03);--bg-hover: rgba(0, 0, 0, .04);--bg-active: rgba(0, 0, 0, .06);--border-hairline: rgba(0, 0, 0, .04);--border-subtle: rgba(0, 0, 0, .06);--border-default: rgba(0, 0, 0, .08);--border-strong: rgba(0, 0, 0, .12);--border-accent: rgba(0, 122, 255, .3);--text-primary: #1d1d1f;--text-secondary: #6e6e73;--text-tertiary: #aeaeb2;--text-muted: #c7c7cc;--text-on-accent: #ffffff;--accent: #007AFF;--accent-deep: #0066d6;--accent-glow: rgba(0, 122, 255, .18);--accent-soft: rgba(0, 122, 255, .08);--accent-subtle: rgba(0, 122, 255, .05);--green: #34C759;--green-soft: rgba(52, 199, 89, .1);--green-glow: rgba(52, 199, 89, .18);--red: #FF3B30;--red-soft: rgba(255, 59, 48, .08);--red-glow: rgba(255, 59, 48, .18);--amber: #FF9500;--amber-soft: rgba(255, 149, 0, .08);--violet: #AF52DE;--violet-soft: rgba(175, 82, 222, .08);--radius-xs: 8px;--radius-sm: 12px;--radius: 16px;--radius-lg: 20px;--radius-xl: 24px;--radius-2xl: 32px;--radius-full: 9999px;--shadow-sm: 0 .5px 1px rgba(0,0,0,.03), 0 1px 3px rgba(0,0,0,.04);--shadow: 0 1px 2px rgba(0,0,0,.03), 0 3px 8px rgba(0,0,0,.05);--shadow-lg: 0 2px 6px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.07);--shadow-xl: 0 4px 12px rgba(0,0,0,.05), 0 16px 48px rgba(0,0,0,.09);--shadow-glow: 0 0 32px var(--accent-glow);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-back: cubic-bezier(.34, 1.56, .64, 1);--ease-spring: cubic-bezier(.22, 1.1, .36, 1);--duration-instant: 80ms;--duration-fast: .16s;--duration: .24s;--duration-slow: .4s;--duration-glacial: .6s;--frost-thin: saturate(180%) blur(20px);--frost-regular: saturate(180%) blur(40px);--frost-thick: saturate(180%) blur(60px)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.5;min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 30% at 20% 5%,rgba(0,122,255,.04),transparent 60%),radial-gradient(ellipse 50% 25% at 80% 90%,rgba(175,82,222,.03),transparent 60%);pointer-events:none;z-index:0}#app{position:relative;z-index:1;min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0000001f;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#00000038}a{color:var(--accent);text-decoration:none;transition:color var(--duration-fast)}a:hover{color:var(--accent-deep)}::selection{background:#007aff33;color:var(--text-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 20px;border:none;border-radius:var(--radius-full);font-size:.875rem;font-weight:520;letter-spacing:-.005em;cursor:pointer;transition:all var(--duration) var(--ease-out-expo);outline:none;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.btn:active{transform:scale(.965)}.btn-primary{background:var(--accent);color:var(--text-on-accent);box-shadow:0 1px 3px #00000014,0 0 0 0 var(--accent-glow)}.btn-primary:hover{background:#0070e9;box-shadow:0 2px 6px #0000001f,0 0 0 6px var(--accent-glow)}.btn-secondary{background:var(--bg-active);color:var(--text-primary)}.btn-secondary:hover{background:#00000014}.btn-danger{background:var(--red-soft);color:var(--red)}.btn-danger:hover{background:#ff3b3026;box-shadow:0 0 0 4px var(--red-glow)}.btn-success{background:var(--green-soft);color:var(--green)}.btn-success:hover{background:#34c75926;box-shadow:0 0 0 4px var(--green-glow)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-hover)}.btn-sm{padding:6px 15px;font-size:.8125rem;gap:5px}.btn-lg{padding:13px 28px;font-size:.9375rem;letter-spacing:-.01em}.btn:disabled{opacity:.35;pointer-events:none}.input-group{display:flex;flex-direction:column;gap:5px}.input-label{font-size:.75rem;font-weight:550;color:var(--text-secondary);letter-spacing:-.002em}.input-field{width:100%;padding:11px 15px;background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.9375rem;font-family:inherit;letter-spacing:-.005em;transition:all var(--duration) var(--ease-out-expo);outline:none;-webkit-appearance:none}.input-field::placeholder{color:var(--text-muted)}.input-field:focus{border-color:var(--accent);background:var(--bg-elevated);box-shadow:0 0 0 4px var(--accent-soft)}.input-field:hover:not(:focus):not(:disabled){border-color:var(--border-default)}.input-field[type=number]::-webkit-inner-spin-button,.input-field[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.card{background:var(--bg-elevated);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);transition:all var(--duration) var(--ease-out-expo)}.card:hover{box-shadow:var(--shadow)}.card-padded{padding:24px}.card-elevated{background:var(--bg-elevated);box-shadow:var(--shadow-lg);border-color:transparent}.card-frosted{background:#ffffffad;backdrop-filter:var(--frost-regular);-webkit-backdrop-filter:var(--frost-regular);border-color:#0000000d}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 11px;border-radius:var(--radius-full);font-size:.75rem;font-weight:550;letter-spacing:-.005em;line-height:1.5}.badge:before{content:"";width:6px;height:6px;border-radius:50%;flex-shrink:0}.badge-green{background:var(--green-soft);color:var(--green)}.badge-green:before{background:var(--green);box-shadow:0 0 4px var(--green-glow)}.badge-red{background:var(--red-soft);color:var(--red)}.badge-red:before{background:var(--red);box-shadow:0 0 4px var(--red-glow)}.badge-amber{background:var(--amber-soft);color:var(--amber)}.badge-amber:before{background:var(--amber);box-shadow:0 0 4px #ff950040}.badge-violet{background:var(--violet-soft);color:var(--violet)}.badge-violet:before{background:var(--violet);box-shadow:0 0 4px #af52de40}.fade-enter-active,.fade-leave-active{transition:opacity var(--duration) var(--ease-out-expo)}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active{transition:all var(--duration-slow) var(--ease-out-expo)}.slide-up-leave-active{transition:all .14s var(--ease-out-expo)}.slide-up-enter-from{opacity:0;transform:translateY(12px)}.slide-up-leave-to{opacity:0;transform:translateY(-8px)}.currency{font-variant-numeric:tabular-nums;letter-spacing:-.01em}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.65)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(360deg)}}
