.btn[data-v-3984c387]{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-family:var(--typography-font-family);font-weight:500;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);position:relative}.btn[data-v-3984c387]:disabled{opacity:.5;cursor:not-allowed}.btn[data-v-3984c387]:focus-visible{outline:2px solid var(--colors-primary);outline-offset:2px}.btn--sm[data-v-3984c387]{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--typography-body-small-size)}.btn--md[data-v-3984c387]{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--typography-body-default-size)}.btn--lg[data-v-3984c387]{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--typography-body-large-size)}.btn--primary[data-v-3984c387]{background-color:var(--colors-primary);color:var(--colors-text-inverse)}.btn--primary[data-v-3984c387]:hover:not(:disabled){background-color:var(--colors-primary-hover)}.btn--secondary[data-v-3984c387]{background-color:var(--colors-secondary);color:var(--colors-text-inverse)}.btn--outline[data-v-3984c387]{background-color:transparent;border:1px solid var(--colors-border-default);color:var(--colors-text-primary)}.btn--outline[data-v-3984c387]:hover:not(:disabled){background-color:var(--colors-background-surface)}.btn--ghost[data-v-3984c387]{background-color:transparent;color:var(--colors-text-primary)}.btn--ghost[data-v-3984c387]:hover:not(:disabled){background-color:var(--colors-background-surface)}.btn--danger[data-v-3984c387]{background-color:var(--colors-error);color:var(--colors-text-inverse)}.btn--full-width[data-v-3984c387]{width:100%}.btn__spinner[data-v-3984c387]{position:absolute;width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin-3984c387 .6s linear infinite}.btn__content--hidden[data-v-3984c387]{visibility:hidden}@keyframes spin-3984c387{to{transform:rotate(360deg)}}.input-field[data-v-f85c92ee]{display:flex;flex-direction:column;gap:var(--spacing-xs)}.input-field__label[data-v-f85c92ee]{font-size:var(--typography-body-small-size);font-weight:500;color:var(--colors-text-secondary)}.input-field__required[data-v-f85c92ee]{color:var(--colors-error)}.input-field__input[data-v-f85c92ee]{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--typography-body-default-size);font-family:var(--typography-font-family);color:var(--colors-text-primary);background-color:var(--colors-background-base);border:1px solid var(--colors-border-default);border-radius:var(--radius-md);transition:all var(--transition-fast)}.input-field__input[data-v-f85c92ee]:focus{outline:none;border-color:var(--colors-border-focus);box-shadow:0 0 0 3px var(--colors-primary-light)}.input-field__input[data-v-f85c92ee]:disabled{background-color:var(--colors-background-surface);color:var(--colors-text-disabled);cursor:not-allowed}.input-field__input[data-v-f85c92ee]::placeholder{color:var(--colors-text-disabled)}.input-field--error .input-field__input[data-v-f85c92ee]{border-color:var(--colors-border-error)}.input-field__error[data-v-f85c92ee]{font-size:var(--typography-body-small-size);color:var(--colors-error)}.select-field[data-v-7178aba2]{display:flex;flex-direction:column;gap:var(--spacing-xs);position:relative}.select-field__label[data-v-7178aba2]{font-size:var(--typography-body-small-size);font-weight:500;color:var(--colors-text-secondary)}.select-field__required[data-v-7178aba2]{color:var(--colors-error)}.select-field__trigger[data-v-7178aba2]{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--typography-body-default-size);font-family:var(--typography-font-family);color:var(--colors-text-primary);background-color:var(--colors-background-base);border:1px solid var(--colors-border-default);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.select-field__trigger[data-v-7178aba2]:focus{outline:none;border-color:var(--colors-border-focus);box-shadow:0 0 0 3px var(--colors-primary-light)}.select-field__trigger[data-v-7178aba2]:disabled{background-color:var(--colors-background-surface);color:var(--colors-text-disabled);cursor:not-allowed}.select-field__value--placeholder[data-v-7178aba2]{color:var(--colors-text-disabled)}.select-field__icon[data-v-7178aba2]{width:20px;height:20px;transition:transform var(--transition-fast)}.select-field--open .select-field__icon[data-v-7178aba2]{transform:rotate(180deg)}.select-field__dropdown[data-v-7178aba2]{position:absolute;top:100%;left:0;right:0;margin-top:var(--spacing-xs);background-color:var(--colors-background-elevated);border:1px solid var(--colors-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-index-dropdown);max-height:200px;overflow-y:auto}.select-field__option[data-v-7178aba2]{display:block;width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--typography-body-default-size);font-family:var(--typography-font-family);color:var(--colors-text-primary);background:none;border:none;text-align:left;cursor:pointer;transition:background-color var(--transition-fast)}.select-field__option[data-v-7178aba2]:hover{background-color:var(--colors-background-surface)}.select-field__option--selected[data-v-7178aba2]{background-color:var(--colors-primary-light);color:var(--colors-primary)}.select-field__option[data-v-7178aba2]:disabled{color:var(--colors-text-disabled);cursor:not-allowed}.modal-backdrop[data-v-bc7f879b]{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-index-modal-backdrop);padding:var(--spacing-lg)}.modal[data-v-bc7f879b]{background-color:var(--colors-background-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-height:calc(100vh - var(--spacing-xl) * 2);overflow:hidden;display:flex;flex-direction:column;z-index:var(--z-index-modal)}.modal--sm[data-v-bc7f879b]{width:100%;max-width:400px}.modal--md[data-v-bc7f879b]{width:100%;max-width:560px}.modal--lg[data-v-bc7f879b]{width:100%;max-width:720px}.modal--xl[data-v-bc7f879b]{width:100%;max-width:960px}.modal__header[data-v-bc7f879b]{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--colors-border-default)}.modal__title[data-v-bc7f879b]{font-size:var(--typography-heading-h3-size);font-weight:var(--typography-heading-h3-weight);color:var(--colors-text-primary)}.modal__close[data-v-bc7f879b]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:var(--radius-md);cursor:pointer;color:var(--colors-text-secondary);transition:all var(--transition-fast)}.modal__close[data-v-bc7f879b]:hover{background-color:var(--colors-background-surface);color:var(--colors-text-primary)}.modal__close svg[data-v-bc7f879b]{width:20px;height:20px}.modal__body[data-v-bc7f879b]{padding:var(--spacing-lg);overflow-y:auto}.modal__footer[data-v-bc7f879b]{display:flex;gap:var(--spacing-sm);justify-content:flex-end;padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--colors-border-default)}.modal-enter-active[data-v-bc7f879b],.modal-leave-active[data-v-bc7f879b]{transition:opacity var(--transition-normal)}.modal-enter-active .modal[data-v-bc7f879b],.modal-leave-active .modal[data-v-bc7f879b]{transition:transform var(--transition-normal)}.modal-enter-from[data-v-bc7f879b],.modal-leave-to[data-v-bc7f879b]{opacity:0}.modal-enter-from .modal[data-v-bc7f879b],.modal-leave-to .modal[data-v-bc7f879b]{transform:scale(.95) translateY(-20px)}.data-table-wrapper[data-v-d8c817e8]{position:relative;overflow-x:auto}.data-table[data-v-d8c817e8]{width:100%;border-collapse:collapse;font-size:var(--typography-body-default-size)}.data-table__head[data-v-d8c817e8]{background-color:var(--colors-background-surface)}.data-table__th[data-v-d8c817e8]{padding:var(--spacing-sm) var(--spacing-md);text-align:left;font-weight:600;color:var(--colors-text-secondary);border-bottom:2px solid var(--colors-border-default);white-space:nowrap}.data-table__th--sortable[data-v-d8c817e8]{cursor:pointer;-webkit-user-select:none;user-select:none}.data-table__th--sortable[data-v-d8c817e8]:hover{color:var(--colors-text-primary)}.data-table__th--checkbox[data-v-d8c817e8]{width:40px}.data-table__sort-icon[data-v-d8c817e8]{display:inline-flex;margin-left:var(--spacing-xs)}.data-table__sort-icon svg[data-v-d8c817e8]{width:16px;height:16px}.data-table__row[data-v-d8c817e8]{transition:background-color var(--transition-fast)}.data-table__row[data-v-d8c817e8]:hover{background-color:var(--colors-background-surface)}.data-table__td[data-v-d8c817e8]{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--colors-border-default);color:var(--colors-text-primary)}.data-table__td--checkbox[data-v-d8c817e8]{width:40px}.data-table__empty[data-v-d8c817e8]{padding:var(--spacing-xl);text-align:center;color:var(--colors-text-secondary)}.data-table__error[data-v-d8c817e8]{padding:var(--spacing-xl);text-align:center;color:var(--colors-error)}.data-table__loading[data-v-d8c817e8]{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#fffc;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);color:var(--colors-text-secondary)}.data-table__spinner[data-v-d8c817e8]{width:20px;height:20px;border:2px solid var(--colors-border-default);border-top-color:var(--colors-primary);border-radius:50%;animation:spin-d8c817e8 .6s linear infinite}@keyframes spin-d8c817e8{to{transform:rotate(360deg)}}.pagination[data-v-d9e559e7]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-sm);padding:var(--spacing-sm) 0}.pagination__meta[data-v-d9e559e7]{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--typography-body-small-size);color:var(--colors-text-secondary)}.pagination__total[data-v-d9e559e7]{font-variant-numeric:tabular-nums}.pagination__sep[data-v-d9e559e7]{color:var(--colors-text-secondary)}.pagination__size-select[data-v-d9e559e7]{padding:2px var(--spacing-xs);border:1px solid var(--colors-border-default);border-radius:var(--radius-sm);background-color:var(--colors-background-elevated);font-size:var(--typography-body-small-size);color:var(--colors-text-primary);cursor:pointer;font-variant-numeric:tabular-nums}.pagination__size-select[data-v-d9e559e7]:focus{outline:none;border-color:var(--colors-primary)}.pagination__nav[data-v-d9e559e7]{display:flex;align-items:center;gap:2px}.pagination__btn[data-v-d9e559e7]{min-width:32px;height:32px;padding:0 var(--spacing-xs);border:1px solid var(--colors-border-default);border-radius:var(--radius-sm);background-color:var(--colors-background-elevated);color:var(--colors-text-primary);font-size:var(--typography-body-small-size);cursor:pointer;transition:all var(--transition-fast);font-variant-numeric:tabular-nums}.pagination__btn[data-v-d9e559e7]:hover:not(:disabled){border-color:var(--colors-primary);color:var(--colors-primary)}.pagination__btn--active[data-v-d9e559e7]{background-color:var(--colors-primary);border-color:var(--colors-primary);color:var(--colors-text-inverse);font-weight:500}.pagination__btn[data-v-d9e559e7]:disabled{opacity:.4;cursor:not-allowed}.pagination__ellipsis[data-v-d9e559e7]{min-width:24px;text-align:center;font-size:var(--typography-body-small-size);color:var(--colors-text-secondary);-webkit-user-select:none;user-select:none}.pagination__empty[data-v-d9e559e7]{padding:var(--spacing-sm) 0;text-align:center;color:var(--colors-text-secondary);font-size:var(--typography-body-small-size)}.popover-overlay[data-v-9389aec2]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-index-modal-backdrop);background-color:#0000000a}.popover[data-v-9389aec2]{background:var(--colors-background-elevated);border:1px solid var(--colors-border-default);border-radius:var(--radius-lg);box-shadow:0 4px 16px #0000001f;min-width:220px;max-width:320px}.popover-enter-active[data-v-9389aec2],.popover-leave-active[data-v-9389aec2]{transition:opacity .15s ease}.popover-enter-active .popover[data-v-9389aec2],.popover-leave-active .popover[data-v-9389aec2]{transition:transform .15s ease,opacity .15s ease}.popover-enter-from[data-v-9389aec2],.popover-leave-to[data-v-9389aec2]{opacity:0}.popover-enter-from .popover[data-v-9389aec2],.popover-leave-to .popover[data-v-9389aec2]{transform:translateY(-4px);opacity:0}.network-status-banner[data-v-6ffe2de7]{position:fixed;top:var(--spacing-md);left:var(--spacing-md);right:var(--spacing-md);z-index:var(--z-index-system-banner);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:calc(var(--spacing-sm) + var(--spacing-xs)) 16px;border-radius:var(--radius-md);border:1px solid var(--colors-error);background-color:var(--colors-background-elevated);color:var(--colors-text-primary);box-shadow:0 2px 12px #00000026;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.network-status-banner__content[data-v-6ffe2de7]{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.network-status-banner__title[data-v-6ffe2de7]{font-size:var(--typography-body-default-size);font-weight:600;margin:0}.network-status-banner__message[data-v-6ffe2de7]{font-size:var(--typography-body-small-size);margin:0;color:var(--colors-text-secondary)}.network-status-banner__actions[data-v-6ffe2de7]{display:flex;align-items:center;gap:var(--spacing-sm)}.network-status-banner__close[data-v-6ffe2de7]{border:none;border-radius:var(--radius-sm);background:transparent;color:var(--colors-text-primary);cursor:pointer}.toast-container[data-v-725a4b59]{position:fixed;top:var(--spacing-md);right:var(--spacing-md);z-index:var(--z-index-tooltip);display:flex;flex-direction:column;gap:8px;max-width:400px}.toast[data-v-725a4b59]{display:flex;align-items:flex-start;gap:8px;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md, 8px);border-left:4px solid;box-shadow:0 2px 8px #0000001f;background:#fff}.toast__icon[data-v-725a4b59]{flex-shrink:0;font-size:1rem;line-height:1.4}.toast__body[data-v-725a4b59]{flex:1;min-width:0}.toast__title[data-v-725a4b59]{font-weight:600;font-size:.875rem}.toast__message[data-v-725a4b59]{font-size:.8rem;color:var(--colors-text-secondary, #666);margin-top:2px}.toast__close[data-v-725a4b59]{background:none;border:none;cursor:pointer;font-size:1.1rem;color:var(--colors-text-secondary, #999);padding:0 4px;line-height:1}.toast-enter-active[data-v-725a4b59]{transition:all .3s ease}.toast-leave-active[data-v-725a4b59]{transition:all .2s ease}.toast-enter-from[data-v-725a4b59],.toast-leave-to[data-v-725a4b59]{opacity:0;transform:translate(100%)}:root{--colors-primary: #1a73e8;--colors-primary-hover: #1557b0;--colors-primary-light: #e8f0fe;--colors-secondary: #5f6368;--colors-success: #34a853;--colors-success-light: #dcfce7;--colors-warning: #fbbc04;--colors-warning-text: #92400e;--colors-warning-light: #fef3c7;--colors-error: #ea4335;--colors-error-light: #fef2f2;--colors-financial-positive: #d92626;--colors-financial-negative: #16a34a;--colors-financial-neutral: #5f6368;--colors-background-base: #ffffff;--colors-background-surface: #f8f9fa;--colors-background-elevated: #ffffff;--colors-text-primary: #202124;--colors-text-secondary: #5f6368;--colors-text-disabled: #9aa0a6;--colors-text-inverse: #ffffff;--colors-border-default: #dadce0;--colors-border-focus: #1a73e8;--colors-border-error: #ea4335;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-xxl: 48px;--typography-font-family: "Noto Sans TC", -apple-system, BlinkMacSystemFont, sans-serif;--typography-heading-h1-size: 32px;--typography-heading-h1-weight: 700;--typography-heading-h1-line-height: 1.2;--typography-heading-h2-size: 24px;--typography-heading-h2-weight: 600;--typography-heading-h2-line-height: 1.3;--typography-heading-h3-size: 20px;--typography-heading-h3-weight: 600;--typography-heading-h3-line-height: 1.4;--typography-heading-h4-size: 16px;--typography-heading-h4-weight: 600;--typography-heading-h4-line-height: 1.4;--typography-body-large-size: 16px;--typography-body-large-weight: 400;--typography-body-large-line-height: 1.5;--typography-body-default-size: 14px;--typography-body-default-weight: 400;--typography-body-default-line-height: 1.5;--typography-body-small-size: 12px;--typography-body-small-weight: 400;--typography-body-small-line-height: 1.4;--radius-none: 0;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-none: none;--shadow-sm: 0 1px 2px rgba(0,0,0,.1);--shadow-md: 0 4px 6px rgba(0,0,0,.1);--shadow-lg: 0 10px 15px rgba(0,0,0,.1);--shadow-xl: 0 20px 25px rgba(0,0,0,.15);--breakpoints-sm: 640px;--breakpoints-md: 768px;--breakpoints-lg: 1024px;--breakpoints-xl: 1280px;--breakpoints-xxl: 1536px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--z-index-dropdown: 1000;--z-index-sticky: 1020;--z-index-fixed: 1030;--z-index-modal-backdrop: 1040;--z-index-modal: 1050;--z-index-popover: 1060;--z-index-tooltip: 1070;--colors-text-tertiary: #6b6f74;--colors-info: #1a73e8;--colors-info-light: #e8f0fe;--colors-border-light: #e8eaed;--colors-purple: #6b21a8;--colors-purple-light: #e9d5ff;--typography-font-mono: "SF Mono", "Roboto Mono", ui-monospace, "Menlo", monospace;--z-index-toast: 1080;--z-index-system-banner: 1090}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--typography-font-family);font-size:var(--typography-body-default-size);line-height:var(--typography-body-default-line-height);color:var(--colors-text-primary);background-color:var(--colors-background-base)}:focus-visible{outline:2px solid var(--colors-primary);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--colors-background-surface)}::-webkit-scrollbar-thumb{background:var(--colors-border-default);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--colors-secondary)}.text-h1{font-size:var(--typography-heading-h1-size);font-weight:var(--typography-heading-h1-weight);line-height:var(--typography-heading-h1-line-height)}.text-h2{font-size:var(--typography-heading-h2-size);font-weight:var(--typography-heading-h2-weight);line-height:var(--typography-heading-h2-line-height)}.text-h3{font-size:var(--typography-heading-h3-size);font-weight:var(--typography-heading-h3-weight);line-height:var(--typography-heading-h3-line-height)}.text-h4{font-size:var(--typography-heading-h4-size);font-weight:var(--typography-heading-h4-weight);line-height:var(--typography-heading-h4-line-height)}.text-body-lg{font-size:var(--typography-body-large-size);line-height:var(--typography-body-large-line-height)}.text-body{font-size:var(--typography-body-default-size);line-height:var(--typography-body-default-line-height)}.text-sm{font-size:var(--typography-body-small-size);line-height:var(--typography-body-small-line-height)}.text-primary{color:var(--colors-text-primary)}.text-secondary{color:var(--colors-text-secondary)}.text-disabled{color:var(--colors-text-disabled)}.text-success{color:var(--colors-success)}.text-warning{color:var(--colors-warning-text)}.text-error{color:var(--colors-error)}.text-pnl-up{color:var(--colors-financial-positive, #d92626)}.text-pnl-down{color:var(--colors-financial-negative, #16a34a)}.text-pnl-neutral{color:var(--colors-financial-neutral, #5f6368)}.bg-base{background-color:var(--colors-background-base)}.bg-surface{background-color:var(--colors-background-surface)}.bg-elevated{background-color:var(--colors-background-elevated)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
