.modal[data-v-fd4eb6ed]{position:fixed;left:0;top:0;width:100%;height:100%;background-color:#00000080;animation:fadeIn-fd4eb6ed .3s;z-index:999}.modal-content[data-v-fd4eb6ed]{background-color:#fefefe;margin:2% auto 0;padding:15px 0 15px 15px;border:none;border-radius:10px;width:90%;max-width:50vw;max-height:80vh;box-shadow:0 4px 20px #0000004d;animation:slideIn-fd4eb6ed .3s;position:relative;display:flex;flex-direction:column}.modal-small[data-v-fd4eb6ed]{max-width:400px}.modal-medium[data-v-fd4eb6ed]{max-width:600px}.modal-large[data-v-fd4eb6ed]{max-width:900px}.modal-fullscreen[data-v-fd4eb6ed]{width:100vw!important;height:calc(var(--app-vh, 0vh) * 100)!important;max-width:100vw!important;max-height:calc(var(--app-vh, 0vh) * 100)!important;margin:0!important;border-radius:0!important;padding-bottom:calc(env(safe-area-inset-bottom) + 20px);padding-bottom:constant(safe-area-inset-bottom)}.modal-body[data-v-fd4eb6ed]{flex:1;min-height:0;height:100%;padding-right:15px}.modal-body.dropdown-open[data-v-fd4eb6ed]{overflow-y:visible!important;overflow-x:visible!important}.modal-body.dropdown-open .modal-content[data-v-fd4eb6ed]{overflow:visible!important}.modal-header[data-v-fd4eb6ed]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 15px 10px 0}.modal-title[data-v-fd4eb6ed]{margin:0;color:#333;font-size:16px;line-height:28px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-header-actions[data-v-fd4eb6ed]{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0;height:28px}.fullscreen-btn[data-v-fd4eb6ed]{color:#aaa;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;width:28px;height:28px;transition:color .2s;flex-shrink:0}.fullscreen-btn[data-v-fd4eb6ed]:hover{color:#666}.close[data-v-fd4eb6ed]{color:#aaa;font-size:22px;font-weight:700;cursor:pointer;text-align:right;padding-bottom:2px}.close[data-v-fd4eb6ed]:hover,.close[data-v-fd4eb6ed]:focus{color:#000}@media (max-width: 768px){.modal-title[data-v-fd4eb6ed]{font-size:14px}}.modal-actions[data-v-fd4eb6ed]{text-align:right;padding-top:20px;flex-shrink:0}.modal-fullscreen[data-v-fd4eb6ed]{padding-bottom:calc(env(safe-area-inset-bottom) + 12px)}@keyframes fadeIn-fd4eb6ed{0%{opacity:0}to{opacity:1}}@keyframes slideIn-fd4eb6ed{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 768px){.modal-content[data-v-fd4eb6ed]{margin:5% auto;width:95%;display:flex;flex-direction:column;max-height:90vh}.modal-small[data-v-fd4eb6ed]{max-width:50%}.modal-medium[data-v-fd4eb6ed]{max-width:80%}.modal-large[data-v-fd4eb6ed]{max-width:95%}.modal-actions[data-v-fd4eb6ed]{padding-top:12px;flex-shrink:0}}.announcement-body[data-v-bce512ac]{display:flex;flex-direction:column;min-height:100%}.announcement-content[data-v-bce512ac]{flex:1;line-height:1.8;color:#333;font-size:14px}.announcement-time[data-v-bce512ac]{text-align:right;font-size:12px;color:#999;margin-top:15px;padding-bottom:10px}.announcement-content[data-v-bce512ac] p{margin-bottom:12px}.announcement-content[data-v-bce512ac] ul,.announcement-content[data-v-bce512ac] ol{padding-left:20px;margin-bottom:12px}.announcement-content[data-v-bce512ac] li{margin-bottom:6px}.announcement-content[data-v-bce512ac] a{color:#1976d2;text-decoration:underline}.announcement-content[data-v-bce512ac] h1,.announcement-content[data-v-bce512ac] h2,.announcement-content[data-v-bce512ac] h3,.announcement-content[data-v-bce512ac] h4{margin-top:16px;margin-bottom:10px;font-weight:700}.announcement-content[data-v-bce512ac] h1{font-size:18px}.announcement-content[data-v-bce512ac] h2{font-size:16px}.announcement-content[data-v-bce512ac] h3{font-size:15px}.member-expire-body[data-v-9c75fed2]{display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px 4px 4px}.member-expire-icon[data-v-9c75fed2]{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#ffd479,#ff9a3d);display:flex;align-items:center;justify-content:center;margin-bottom:16px;box-shadow:0 6px 18px #ff9a3d52}.member-expire-icon .iconfont[data-v-9c75fed2]{font-size:32px;color:#fff}.member-expire-text[data-v-9c75fed2]{font-size:15px;color:#333;line-height:1.7;margin:0 0 8px;font-weight:600}.member-expire-tip[data-v-9c75fed2]{font-size:13px;color:#888;line-height:1.6;margin:0}.captcha-modal-content[data-v-36cb9721]{display:flex;flex-direction:column;padding:20px}.captcha-message[data-v-36cb9721]{text-align:center;margin-bottom:16px}.captcha-message p[data-v-36cb9721]{margin:0;font-size:16px;color:#333;line-height:1.5}.captcha-iframe-container[data-v-36cb9721]{width:100%;min-height:400px;border-radius:8px;overflow:hidden}.captcha-iframe[data-v-36cb9721]{width:100%;height:100%;border:none}@media (max-width: 768px){.captcha-modal-content[data-v-36cb9721]{padding:16px}}.traeselect-wrapper{position:relative;display:inline-block}.traeselect-trigger{display:flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid #d9d9d9;border-radius:4px;background:#fff;cursor:pointer;transition:all .2s;font-size:14px;color:#333;white-space:nowrap}.traeselect-trigger:hover{border-color:#4a90e2}.traeselect-label{font-size:14px;color:#333}.traeselect-arrow{font-size:10px;color:#999;transition:transform .2s}.traeselect-arrow.open{transform:rotate(180deg)}.traeselect-dropdown{position:absolute;top:calc(100% + 4px);min-width:160px;max-height:300px;overflow-y:auto;background:#fff;border:1px solid #e8e8e8;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:999}.traeselect-dropdown.dropdown-left{left:0}.traeselect-dropdown.dropdown-right{right:0}.traeselect-dropdown-content{padding:8px 0}.traeselect-item{display:flex;align-items:center;gap:8px;padding:10px 16px;cursor:pointer;transition:background .2s}.traeselect-item:hover{background:#f5f5f5}.traeselect-item.active{background:#e6f7ff}.traeselect-item-category{font-size:12px;color:#999;background:#f0f0f0;padding:2px 6px;border-radius:3px;white-space:nowrap}.traeselect-item-name{font-size:14px;color:#333}.trbtn-group{display:flex;background-color:#fff;border-radius:4px;border:1px solid #d9d9d9;flex-wrap:wrap;width:fit-content}.trbtn-item{padding:6px 12px;cursor:pointer;font-size:13px;white-space:nowrap;color:#666;background-color:#fff;border:none;border-right:1px solid #e8e8e8;transition:all .2s;flex:1;text-align:center;position:relative}.trbtn-item:last-child{border-right:none}.trbtn-item:hover{color:#1890ff;background-color:#f0f7ff}.trbtn-item.active{background-color:#1890ff;color:#fff;font-weight:500}.trbtn-item.disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.trbtn-item.disabled:hover{background-color:#f5f5f5;color:#999}.trbtn-group.sm .trbtn-item{padding:6px 12px;font-size:12px}.trbtn-group.lg .trbtn-item{padding:8px 20px;font-size:14px}.trbtn-group.ghost{border:none;background-color:transparent}.trbtn-group.ghost .trbtn-item{border:1px solid #d9d9d9;border-radius:4px;margin-right:8px}.trbtn-group.ghost .trbtn-item:last-child{margin-right:0}.trbtn-group.rounded{border-radius:20px}.trbtn-group.rounded .trbtn-item:first-child{border-radius:20px 0 0 20px}.trbtn-group.rounded .trbtn-item:last-child{border-radius:0 20px 20px 0}@media (max-width: 768px){.trbtn-item{font-size:12px}.trbtn-group.sm .trbtn-item{font-size:11px}.trbtn-group.lg .trbtn-item{font-size:13px}}:root{--color-up: #ff555e;--color-down: #37a700;--color-up-light: rgba(245, 34, 45, .1);--color-down-light: rgba(82, 196, 26, .1)}.sortable{cursor:pointer;user-select:none;position:relative;padding-right:40px}.sortable:hover{background-color:#0000000d}.sort-icon{font-size:12px;color:#666;font-weight:400}@media (max-width: 768px){.sortable{padding-right:30px}}.drag-handle{color:#000;font-size:11px;cursor:move;user-select:none;touch-action:none;pointer-events:auto;display:inline-block}.drag-handle:hover{color:#333}tr:hover{background-color:#0000000d}.sortable-ghost{opacity:.6;background:#f8f9fa}.sortable-chosen{background:#e9ecef}.sortable-drag{opacity:.8}.home-root{display:flex;flex-direction:column;height:100vh;overflow:hidden}.page-container{width:100%;flex:1;min-height:0;background:white;border-radius:0;box-shadow:none}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;margin:0;background:#f5f5f5;padding:0;overflow:hidden}body.has-modal-open{overflow:hidden}html{height:100%}.top-section{border-bottom:1px solid #e0e0e0;background:#fff;position:relative;z-index:10;box-shadow:0 2px 8px #00000014;margin-bottom:10px}.home-root.header-fixed .top-section{position:sticky;top:0;z-index:999}header{background:#fff;color:#333}h1{font-size:2em;display:flex;align-items:center;justify-content:flex-start;gap:12px;font-weight:700;margin:0;white-space:normal;line-height:1.2}.navbar-inner{display:flex;align-items:center;gap:0;padding:7px 0;min-height:44px}.navbar-menu{display:flex;align-items:center;gap:2px;flex-shrink:0;margin-right:auto}.nav-link{position:relative;display:inline-flex;align-items:center;padding:5px 12px;font-size:13px;font-weight:500;color:#444;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:background .2s ease,color .2s ease;white-space:nowrap}.nav-link:hover{background:rgba(91,63,160,.08);color:#5b3fa0}.nav-link:active{background:rgba(91,63,160,.14)}.navbar-user{display:flex;align-items:center;gap:6px;padding:3px 8px;border-radius:999px;cursor:pointer;transition:background .2s ease}.avatar,.user-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid #e0e0e0;background:#f2f3f5;box-sizing:border-box;vertical-align:middle}.navbar-nickname{font-size:13px;font-weight:500;color:#333;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-badge{position:absolute;top:0;right:-4px;min-width:16px;height:16px;line-height:16px;padding:0 4px;background:var(--color-up);color:#fff;font-size:9px;font-weight:700;border-radius:9px;text-align:center;box-shadow:0 0 0 2px #fff}.nav-badge-mention{background:#5b3fa0}.nav-badge-muted{background:#9aa0a6}.nav-link-mobile-only{display:none}.chart-status.open{color:#1a7f37;background:rgba(212,237,218,.55);border-color:#c3e6cbe6}.chart-status.call_auction{color:#c2410c;background:rgba(255,237,213,.55);border-color:#fed7aae6}.chart-status.closed{color:#5c636a;background:rgba(233,236,239,.55);border-color:#dee2e6e6}.chart-status.lunch,.chart-status.preopen{color:#b8860b;background:rgba(255,243,205,.55);border-color:#ffeaa7e6}.chart-status.close_auction{color:#c2410c;background:rgba(255,237,213,.55);border-color:#fed7aae6}@media (max-width: 768px){.drag-handle{font-size:12px;padding:1px 3px}th[style*="width: 40px"]{width:30px!important}.updated-tag{font-size:.5em;padding:1px 4px;border-radius:6px}.dca-tag{font-size:6px;padding:1px 4px;border-radius:6px}}.sector-flow-section{background:#f8f9fa;padding:15px;border:1px solid #e9ecef;margin-top:15px;border-radius:8px}.sector-flow-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.sector-flow-header h3{margin:0;display:flex;align-items:center;gap:10px}.countdown-tip{font-size:.8em;color:#666;padding:2px 8px;border-radius:10px;background:#f8f9fa;border:1px solid #e0e0e0}.refresh-btn{padding:0;background:none;color:#007bff;border:none;cursor:pointer;font-size:14px;transition:color .3s}.refresh-btn:hover{color:#0056b3}.refresh-btn:disabled{color:#6c757d;cursor:not-allowed;text-decoration:none}.add-btn{background:none;color:#007bff;border:none;padding:0;cursor:pointer;font-size:14px;transition:color .3s;text-decoration:none}.add-btn:hover{color:#0056b3;text-decoration:none}.edit-btn,.delete-btn{background:none;color:#007bff;border:none;padding:0;cursor:pointer;font-size:12px;transition:color .3s;text-decoration:none}.edit-btn:hover,.delete-btn:hover{color:#0056b3;text-decoration:none}.delete-btn{color:#dc3545}.delete-btn:hover{color:#c82333}button:disabled,.btn:disabled,.add-btn:disabled,.edit-btn:disabled,.delete-btn:disabled{cursor:not-allowed!important;opacity:.6}button.disabled,.btn.disabled,.add-btn.disabled,.edit-btn.disabled,.delete-btn.disabled{color:#999!important;cursor:not-allowed!important;opacity:.6}.btn{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:13px}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268;color:#fff}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover{background:#0056b3;color:#fff}.pure-mode-hidden{display:none!important}.btn-danger{background:#e74c3c;color:#fff}.btn-danger:hover{background:#c0392b;color:#fff}.btn-warning{background:#ffc107;color:#212529}.btn-warning:hover{background:#e0a800;color:#212529}.funds-list-wrapper{display:flex;gap:8px}.funds-list-right{flex:1;min-width:0}@media (max-width: 1300px){.funds-list-right{width:100%;flex:none}}.funds-list{padding:0;margin-top:15px}td,th{padding:0;border:none}.fund-code{color:#666;font-size:.9em;display:flex;align-items:center;gap:4px}.fund-name{font-weight:700;color:#333;font-size:1.1em;margin-bottom:4px;display:flex;align-items:center;gap:6px}.fund-amount{font-weight:700;font-size:1em}.fund-yield{font-size:.9em;font-weight:500}.data-value{font-weight:700;font-size:1.1em;display:flex;align-items:center;justify-content:center}.gszzl-up{color:var(--color-up)!important}.gszzl-down{color:var(--color-down)!important}.gszzl-zero{color:#6c757d!important}.change-up{color:var(--color-up, #ff555e)}.change-down{color:var(--color-down, #37a700)}.text-gray{color:#6c757d!important}.update-time{font-size:.8em;color:#333;text-align:right}.updated-tag{display:inline-block;padding:2px 6px;border-radius:8px;font-size:.6em;font-weight:600;color:#e6a700;background:rgba(255,243,205,.8);border:1px solid #ffd54f;vertical-align:middle}.dca-tag{display:inline-block;padding:2px 6px;border-radius:8px;font-size:8px;font-weight:600;color:#12a06a;background:rgba(232,247,241,.9);border:1px solid #7fd4ae;vertical-align:middle}.dca-tag.dca-paused{color:#909399;background:rgba(244,244,245,.9);border:1px solid #d3d4d6}.loading{text-align:center;padding:40px;color:#666}.error{background:#f8d7da;color:#721c24;padding:10px;border-radius:4px;margin:10px 0;text-align:center}.portfolio-summary{background:#f8f9fa;padding:8px;border-radius:6px;margin-bottom:8px;border:1px solid #e9ecef}.portfolio-summary h3{margin-top:0;color:#333;margin-bottom:8px;font-size:1em}.summary-item{display:flex;justify-content:space-between;margin-bottom:4px;font-size:.9em;gap:10px}.summary-label{font-weight:700;color:#666}.summary-value{font-weight:700;color:#333;min-width:70px;text-align:right;display:inline-block}.modal-btn{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px}.modal-btn:hover{opacity:.9}.modal-btn.btn-secondary{background:#f0f0f0;color:#666}.modal-btn.btn-secondary:hover:not(:disabled){background:#e0e0e0}.modal-btn.btn-primary:hover:not(:disabled){background:#66b1ff}@media (max-width: 768px){.navbar-inner{flex-wrap:nowrap;padding:8px 0}.navbar-menu{flex:1 1 auto;min-width:0;justify-content:flex-start;flex-wrap:wrap;overflow:visible}.navbar-user{flex-shrink:0;padding:2px 6px}.navbar-nickname{font-size:12px;max-width:80px}.nav-link{padding:8px 12px;font-size:13px}.nav-link-mobile-only{display:inline-flex}h1{justify-content:center;font-size:1.3em;min-width:0;line-height:1.3}.action-btn{padding:6px 12px;font-size:12px}.fund-name{font-size:1em;flex:1;display:flex;align-items:center;gap:4px}.fund-code{font-size:.8em;flex:0 0 auto;display:flex;align-items:center;gap:4px}.edit-btn,.delete-btn{font-size:10px}.data-value{font-size:.75em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.update-time{position:relative;text-align:right;font-size:.7em;color:#333}.portfolio-summary{padding:6px}.portfolio-summary h3{font-size:.95em;margin-bottom:4px}.summary-item{margin-bottom:2px;font-size:.85em}#marketChartContainer h3{font-size:1em!important;margin:0!important}.chart-status{display:inline-flex;align-items:center;font-size:12px;font-weight:500;line-height:1;padding:4px 10px;margin-left:8px;border-radius:10px;letter-spacing:.3px;vertical-align:middle;border:1px solid transparent;white-space:nowrap}.funds-header h2,.sector-flow-header h3{font-size:1em!important}button.modal-btn{padding:8px 10px;font-size:12px}}.user-avatar{position:relative;cursor:pointer;transition:all .3s ease}.user-avatar:hover{border-color:#409eff}.user-avatar .avatar-overlay{position:absolute;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;border-radius:50%}.user-avatar:hover .avatar-overlay{opacity:1}.user-avatar .avatar-edit-text{color:#fff;font-size:14px;font-weight:500}.user-avatar.size-large{width:100px;height:100px}.user-avatar.size-medium{width:64px;height:64px}@media (max-width: 480px){.data-value{font-size:.7em}.update-time{font-size:.65em}}.portfolio-tabs{border-bottom:1px solid #e9ecef}.tabs-with-refresh{display:flex;align-items:center;justify-content:space-between;gap:10px}.tabs-container{display:flex;gap:0;overflow-x:auto;flex:1;min-width:0}.portfolio-tabs .tab{padding:8px 12px;cursor:pointer;background:transparent;white-space:nowrap;transition:all .2s ease;display:flex;align-items:center;gap:6px;border-bottom:2px solid transparent;font-size:14px;color:#666;position:relative}.portfolio-tabs .tab:hover{color:#333;background:rgba(0,0,0,.02)}.portfolio-tabs .tab.active{color:#1890ff;border-bottom-color:#1890ff;font-weight:500}.tab-content-wrapper{display:flex;align-items:center;gap:6px}.tab-value{font-size:12px;font-weight:500;padding:1px 5px;border-radius:4px;background:rgba(0,0,0,.05);color:#666}.radio-group{display:flex;gap:2px;justify-content:flex-start;flex:1;min-width:0}.radio-btn{padding:6px 12px;border:1px solid #ddd;background:white;color:#333;font-size:13px;transition:all .2s;min-width:0;cursor:pointer}.radio-btn:first-child{border-radius:4px 0 0 4px}.radio-btn:last-child{border-radius:0 4px 4px 0}.radio-btn.active{background:#3498db;border-color:#3498db;color:#fff}.radio-input{display:none}.radio-text{white-space:nowrap}@media (max-width: 768px){.radio-btn{padding:5px 8px;font-size:12px}}.portfolio-tabs .tab.active .tab-value{background:rgba(24,144,255,.1);color:#1890ff}.fund-actions{display:flex;justify-content:flex-end;gap:15px}@media (max-width: 768px){.portfolio-tabs .tab{padding:8px 16px;font-size:1em}.tabs-container{gap:8px}.portfolio-summary h3{font-size:1.1em}.portfolio-summary-grid>div{width:100%}}@media (max-width: 480px){.portfolio-tabs .tab{padding:6px 12px;font-size:.9em;gap:4px}.tab-value{font-size:.8em;padding:1px 4px}}.v-popper--theme-tooltip .v-popper__inner{font-size:12px;line-height:1.5;max-width:320px;word-break:break-all}[staticy=left],[staticy=right]{position:sticky;z-index:2!important}[staticy=left]{left:var(--staticy-left, 0);box-shadow:6px 0 8px -6px #0000001f}[staticy=right]{right:var(--staticy-right, 0);box-shadow:-6px 0 8px -6px #0000001f}[staticy=left]:has(+[staticy=left]){box-shadow:none}[staticy=right]+[staticy=right]{box-shadow:none}thead [staticy]{z-index:12}.funds-table-container{width:100%;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:auto}.funds-table{width:100%;border-collapse:separate;border-spacing:0;background:white;position:relative;table-layout:auto}.funds-table th{background:#f8f9fa;padding:12px 8px;text-align:center;font-weight:600;color:#333;border-bottom:2px solid #dee2e6;white-space:nowrap}.funds-table thead{position:sticky;top:0;z-index:10}.funds-table tbody td[staticy]{z-index:1}.funds-table td{padding:12px 8px;border-bottom:1px solid #e9ecef;text-align:center}.funds-table tr:hover{background:#f8f9fa}.funds-table tr:last-child td{border-bottom:none}.tag-badge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:10px}.tag-opportunity{background:color-mix(in srgb,var(--color-up) 8%,white);color:var(--color-up);font-weight:600}.tag-risk{background:color-mix(in srgb,var(--color-down) 8%,white);color:var(--color-down);font-weight:600}.tag-warning{background:#fffbe6;color:#d48806}.tag-watch{background:#e6f7ff;color:#096dd9}.tag-reversal_up{background:color-mix(in srgb,var(--color-up) 8%,white);color:var(--color-up);font-weight:600}.tag-reversal_down{background:color-mix(in srgb,var(--color-down) 8%,white);color:var(--color-down);font-weight:600}.tag-none{background:#f5f5f5;color:#999}.tag-list{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;align-items:center}.funds-table .col-tags{min-width:150px;max-width:260px}@media (max-width: 768px){.funds-table .col-tags{min-width:120px;max-width:180px}}.tag-surge,.tag-up-strong{background:color-mix(in srgb,var(--color-up) 8%,white);color:var(--color-up);font-weight:600}.tag-plunge,.tag-down-strong{background:color-mix(in srgb,var(--color-down) 8%,white);color:var(--color-down);font-weight:600}.tag-flat{background:#f5f5f5;color:#999}.tag-strong-up{background:#fff7e6;color:#d46b08}.tag-deep-down{background:#e6fffb;color:#08979c}.tag-trend-up{background:#f9f0ff;color:#722ed1}.tag-trend-down{background:#f9f0ff;color:#9254de}.tag-trend-up-m{background:#f0f5ff;color:#2f54eb}.tag-trend-down-m{background:#f0f5ff;color:#597ef7}.tag-qdii{background:#e6f4ff;color:#1677ff}.tag-commodity{background:#fff7e6;color:#ad6800}.tag-buy{background:color-mix(in srgb,var(--color-up) 10%,white);color:var(--color-up);font-weight:600}.tag-sell{background:color-mix(in srgb,var(--color-down) 10%,white);color:var(--color-down);font-weight:600}.tag-neutral{background:#f0f0f0;color:#595959}.funds-table .fund-name{font-weight:700;color:#333;margin-bottom:4px;font-size:14px}.funds-table .fund-code{color:#666;font-size:12px;display:flex;align-items:center}.funds-table .fund-amount{font-weight:700;font-size:14px;margin-bottom:4px}.funds-table .fund-yield{font-weight:500;font-size:12px;color:#666}.funds-table .data-value{font-weight:500;font-size:14px;line-height:25px}.funds-table .gszzl-up,.funds-table .gszzl-down{font-weight:700}.funds-table td:first-child.col-drag{cursor:move;vertical-align:middle;text-align:left}.funds-table .edit-btn,.funds-table .delete-btn{padding:0;border:none;border-radius:0;cursor:pointer;font-size:12px;transition:color .3s;text-decoration:none}.funds-table .edit-btn{background:none;color:#007bff}.funds-table .edit-btn:hover{color:#0056b3;background:none}.funds-table .delete-btn{background:none;color:#dc3545}.funds-table .delete-btn:hover{color:#c82333;background:none}.funds-table .cancel-btn{background:none;color:#ff9800;border:none;cursor:pointer;font-size:12px;transition:color .3s}.funds-table .cancel-btn:hover{color:#f57c00;background:none}@media (max-width: 768px){.funds-table-container{margin:10px 0}.funds-table{min-width:auto;width:100%;border-collapse:separate;border-spacing:0}.funds-table th{white-space:nowrap}.funds-table thead,.funds-table tbody{position:relative}.funds-table .fund-name{font-size:13px}.funds-table .fund-code{font-size:11px}.funds-table .fund-amount{font-size:11px;margin-bottom:2px}.funds-table .fund-yield{font-size:11px;color:#666}.funds-table .data-value{font-size:12px}.funds-table .fund-actions{gap:0}.funds-table .edit-btn,.funds-table .delete-btn,.funds-table .cancel-btn{padding:3px 6px;font-size:10px}}.fund-name-link{cursor:pointer;transition:all .2s ease;color:#1976d2}.fund-name-link:active{transform:scale(.98);opacity:.8}.market-chart-news-wrapper{display:flex;gap:8px;width:100%}.market-chart-wrapper{flex:1;min-width:0;width:auto;margin-bottom:15px}.news-section{width:20%;min-width:200px;display:flex;flex-direction:column}@media (max-width: 768px){.market-chart-news-wrapper{flex-direction:column;width:100%;gap:0}.market-chart-wrapper{flex:0 0 100%;max-width:100%;width:100%}.news-section{flex:0 0 100%;max-width:100%}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-spinner{width:40px;height:40px;border:3px solid #f3f3f3;border-top-color:var(--color-up);border-radius:50%;animation:spin 1s linear infinite}.loading-spinner-small{width:16px;height:16px;border:2px solid #f3f3f3;border-top-color:var(--color-up);border-radius:50%;animation:spin 1s linear infinite;display:inline-block;vertical-align:middle}.loading-text{color:#666;font-size:14px;margin-top:10px}.chart-status{transition:all .3s ease}#marketChartContainer{position:relative}.funds-empty-state{text-align:center;margin-bottom:20px}.funds-empty-actions{display:flex;justify-content:center;gap:10px;margin-bottom:20px}.funds-header{display:flex;justify-content:space-between;align-items:center}.funds-header h2{margin:0;color:#333}.portfolio-summary-grid{gap:8px;display:flex;flex-wrap:wrap}#sectorFlowChart{height:450px;width:100%}#toastContainer{position:fixed;top:20px;left:20px;z-index:10000;display:flex;flex-direction:column;gap:10px;width:auto;pointer-events:none}.toast-message{padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500;box-shadow:0 4px 12px #00000026;animation:slideIn .3s ease;min-width:200px;max-width:800px;width:fit-content;word-wrap:break-word;white-space:pre-wrap;pointer-events:auto}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.btn-primary:disabled{background:#bdc3c7;cursor:not-allowed}.form-group{padding-bottom:15px}.form-group:has(.error-msg){position:relative}.form-group label{margin-bottom:5px;font-weight:500;color:#333}.form-group input,.form-group select,.form-group textarea{width:100%;padding:6px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3498db}.form-group .error-msg{position:absolute;bottom:-2px;left:0;font-size:12px;color:#f56c6c;line-height:18px}.modal-actions{display:flex;justify-content:flex-end;border-top:1px solid #e0e0e0;z-index:1;gap:8px;padding-right:15px}.checkbox-item,.radio-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#666;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.checkbox-item .iconfont,.radio-item .iconfont{font-size:16px;flex-shrink:0}.checkbox-item .icon-CombinedShape{color:#1890ff}.checkbox-item .icon-icon-checkbox{color:#d9d9d9}.col-item .col-checkbox-disabled,.checkbox-item .col-checkbox-disabled{color:#cbcbcb!important;cursor:not-allowed;opacity:.35}.radio-item .icon-icon-radio-click{color:#1890ff}.radio-item .icon-icon-radio{color:#d9d9d9}.checkbox-item.disabled,.radio-item.disabled{opacity:.5;pointer-events:none}.checkbox-item.disabled .icon-CombinedShape,.checkbox-item.disabled .icon-icon-checkbox,.radio-item.disabled .icon-icon-radio-click,.radio-item.disabled .icon-icon-radio{color:#d9d9d9}.fund-checkbox-list{border:1px solid #e0e0e0;border-radius:4px;padding:8px}.fund-checkbox-item,.preview-fund-item{display:flex;align-items:center;font-size:13px;padding:8px 0;cursor:pointer;line-height:1.5}.fund-checkbox-item:last-child,.preview-fund-item:last-child{border-bottom:none}.fund-checkbox-item.disabled{opacity:.5;pointer-events:none}.fund-checkbox-item .fund-left,.preview-fund-item .fund-left{flex:1;display:flex;align-items:center}.fund-checkbox-item .iconfont{display:flex;align-items:center;width:16px;height:16px}.fund-checkbox-item .fund-names,.preview-fund-item .fund-names{margin-left:5px;color:#333}.fund-checkbox-item .fund-left .updated-tag,.fund-checkbox-item .fund-left .preview-tag,.preview-fund-item .fund-left .updated-tag,.preview-fund-item .fund-left .preview-tag{margin-left:4px}.fund-checkbox-item .fund-right,.preview-fund-item .fund-right{font-weight:500;margin-left:8px}.fund-checkbox-item .fund-right.up,.preview-fund-item .fund-right.up{color:var(--color-up)}.fund-checkbox-item .fund-right.down,.preview-fund-item .fund-right.down{color:var(--color-down)}.fund-checkbox-item .fund-right.zero,.preview-fund-item .fund-right.zero{color:#999}.preview-tag{display:inline-block;padding:1px 6px;border-radius:8px;font-size:.6em;font-weight:600;color:#1890ff;background:rgba(230,247,255,.8);border:1px solid #91d5ff;vertical-align:middle}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:12px;text-align:left;border-bottom:1px solid #eee}.btn-group{display:flex;align-items:center;gap:8px}.content-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-label{display:block;margin-bottom:8px;font-size:14px;color:#333;font-weight:500}.required{color:#f56c6c;margin-left:4px}.hint{font-size:12px;color:#999;font-weight:400;margin-left:8px}.form-input{width:100%;padding:10px 12px;font-size:14px;border:1px solid #dcdfe6;border-radius:4px;box-sizing:border-box;transition:border-color .3s}.form-input:focus{outline:none;border-color:#409eff}.form-group textarea.form-input{resize:vertical;min-height:80px;font-family:inherit}*{margin:0;padding:0;box-sizing:border-box}#app-container{width:100%;min-height:100vh}:root{--app-vh: 0vh}@font-face{font-family:iconfont;src:url(/assets/iconfont-5d693082.woff2?t=1788096950906) format("woff2"),url(/assets/iconfont-d9a63968.woff?t=1788096950906) format("woff"),url(/assets/iconfont-79e890d3.ttf?t=1788096950906) format("truetype")}.iconfont{font-family:iconfont!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-qiehuan:before{content:""}.icon-shezhi:before{content:""}.icon-biaotou:before{content:""}.icon-xitong:before{content:""}.icon-CombinedShape:before{content:""}.icon-icon-checkbox:before{content:""}.icon-icon-radio-click:before{content:""}.icon-icon-radio:before{content:""}.icon-quxiaozhiding:before{content:""}.icon-zhiding:before{content:""}.icon-xiangxia:before{content:""}.icon-yinyong:before{content:""}.icon-zixuan:before{content:""}.icon-quxiaozixuan:before{content:""}.icon-sousuo:before{content:""}.icon-zhankaizhedie_zhankai:before{content:""}.icon-zhankaizhedie_zhedie:before{content:""}.icon-AItouxiang:before{content:""}.icon-qinqin:before{content:""}.icon-kunao:before{content:""}.icon-jingya1:before{content:""}.icon-dianyan:before{content:""}.icon-daxiao:before{content:""}.icon-liuhan:before{content:""}.icon-kouzhao:before{content:""}.icon-se:before{content:""}.icon-ku:before{content:""}.icon-shengbing:before{content:""}.icon-yihuo:before{content:""}.icon-jingxia:before{content:""}.icon-fadai:before{content:""}.icon-tushe:before{content:""}.icon-tianshi:before{content:""}.icon-weixiao:before{content:""}.icon-qushi:before{content:""}.icon-ku1:before{content:""}.icon-xiaoku:before{content:""}.icon-jinchi:before{content:""}.icon-zhikuwenwen:before{content:""}.icon-biaoqing:before{content:""}.icon-aite:before{content:""}.icon-chehui:before{content:""}.icon-icon_sousuo_xian:before{content:""}.icon-icon_tupian:before{content:""}.icon-guaiqiao:before{content:""}.icon-kaixin:before{content:""}.icon-haha:before{content:""}.icon-lejie:before{content:""}.icon-ohou:before{content:""}.icon-gandong:before{content:""}.icon-heihei:before{content:""}.icon-teng:before{content:""}.icon-nanguo:before{content:""}.icon-hanxu:before{content:""}.icon-jingya:before{content:""}.icon-nanshou:before{content:""}.icon-hei:before{content:""}.icon-a-renzhende:before{content:""}.icon-ele:before{content:""}.icon-han:before{content:""}.icon-haixiu:before{content:""}.icon-qiangzhuang:before{content:""}.icon-a-heihei2:before{content:""}.icon-shengqi:before{content:""}.icon-hello:before{content:""}.icon-zhayan:before{content:""}.icon-jingxi:before{content:""}.icon-zhoumei:before{content:""}.icon-wuyu:before{content:""}.icon-sikao:before{content:""}.icon-wao:before{content:""}.icon-yiwen:before{content:""}.icon-chaokaixin:before{content:""}.icon-lianhong:before{content:""}.icon-yun:before{content:""}.icon-tiaopi:before{content:""}.icon-baozao:before{content:""}.icon-zundu:before{content:""}.icon-coo:before{content:""}.icon-a-yiwen2:before{content:""}.icon-anxiang:before{content:""}.icon-dianzan:before{content:""}.sb-container[data-v-edf55878] .simplebar-wrapper{height:100%}
