:root{--primary-color: #17d9a3;--primary-light: #d8fdf3;--primary-shadow: rgba(29, 233, 182, .3);--error-color: #ff3b30;--error-bg: #fdecea;--success-color: #00a86b;--success-bg: #e4f8f0;--negative-color: #e23434;--text-dark: #333;--text-medium: #555;--text-light: #777;--border-light: #ddd;--border-input: #dcdcdc;--bg-white: #fff;--bg-grey: #e5e5e5;--bg-light-grey: #f0f2f5;--bg-soft-grey: #f9f9f9;--shadow-card: 0 8px 32px rgba(0, 0, 0, .1);--shadow-float: 0 4px 15px rgba(0, 0, 0, .1);--shadow-modal: 0 10px 30px rgba(0, 0, 0, .3);--radius-btn: 8px;--radius-card: 16px;--radius-input: 8px;--color-login-primary: #0D003D;--color-panel-bg: #e8fbf5;--color-primary: #17d9a3;--color-primary-600: #15c795;--color-primary-dark: #12b085;--color-secondary: #86DBFF;--color-accent: #17d9a3;--color-ink: #000000;--color-ink-muted: #474747;--color-table-outline: #17d9a3;--color-table-header: #d8fdf3;--color-panel-fill: #f0f2f5;--color-nav-active: #17d9a3;--color-card-fill: #f9f9f9;--color-cell-bg: #FFFFFF;--color-surface: rgba(255,255,255,.94);--color-surface-muted: rgba(255,255,255,.9);--color-surface-hover: #f0f2f5;--color-border: #ddd;--color-border-hover: #17d9a3;--color-text: #333;--color-text-muted: #555;--color-up: #c62828;--color-down: #1976d2;--bg-start: #d8fdf3;--bg-mid: #17d9a3;--bg-end: #12b085}html{zoom:.9;overflow-x:hidden}html,body,#app{height:100%}body{margin:0;font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--color-text);background-color:var(--color-panel-bg)}.surface{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.btn{padding:.6rem .9rem;border-radius:8px;border:1px solid transparent;cursor:pointer}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-600)}.text-up{color:var(--color-up)}.text-down{color:var(--color-down)}.card-surface{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.splash-overlay[data-v-65147f29]{position:fixed;top:50%;left:50%;width:112vw;height:112vh;transform:translate(-50%,-50%);background-color:#fff;display:flex;justify-content:center;align-items:center;z-index:9999;opacity:1;transition:opacity .5s ease-in-out}.splash-overlay.fade-out[data-v-65147f29]{opacity:0}.splash-overlay img[data-v-65147f29]{width:100%;height:100%;object-fit:cover}#app-container[data-v-9aa74fe7]{height:100%;width:100%}.inline-edit-input[data-v-d82adf04]{padding:4px 8px;border:1px solid var(--border-light);border-radius:var(--radius-btn);width:150px}.tabs[data-v-d82adf04]{display:flex;gap:10px;margin-bottom:20px;border-bottom:2px solid var(--border-light)}.tabs button[data-v-d82adf04]{padding:10px 20px;border:none;background:none;cursor:pointer;font-size:16px;border-bottom:2px solid transparent;margin-bottom:-2px}.tabs button.active[data-v-d82adf04]{border-bottom-color:var(--primary-color);font-weight:700;color:var(--primary-color)}.header-actions[data-v-d82adf04]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.header-buttons[data-v-d82adf04]{display:flex;gap:10px;align-items:center}.export-btn[data-v-d82adf04]{background:var(--primary-color);color:#fff}.export-btn[data-v-d82adf04]:hover{background:var(--color-primary-600)}.import-btn[data-v-d82adf04]{background:#9b59b6;color:#fff}.import-btn[data-v-d82adf04]:hover{background:#8e44ad}.db-viewer[data-v-d82adf04]{max-width:1200px;margin:0 auto;padding:20px}h1[data-v-d82adf04]{color:#333;margin-bottom:30px}.loading[data-v-d82adf04],.error[data-v-d82adf04]{text-align:center;padding:40px}.error[data-v-d82adf04]{color:#e74c3c}.actions[data-v-d82adf04]{display:flex;gap:10px;margin-bottom:20px}button[data-v-d82adf04]{padding:8px 16px;border:none;border-radius:var(--radius-btn);cursor:pointer;font-size:14px}.refresh-btn[data-v-d82adf04]{background:var(--primary-color);color:#fff}.create-btn[data-v-d82adf04]{background:var(--success-color);color:#fff}.edit-btn[data-v-d82adf04]{background:#f39c12;color:#fff}.delete-btn[data-v-d82adf04]{background:#e74c3c;color:#fff}.hard-reset-btn[data-v-d82adf04]{background-color:#c0392b;color:#fff;border:1px solid #a93226;font-weight:700}.hard-reset-btn[data-v-d82adf04]:hover{background-color:#a93226}.save-btn[data-v-d82adf04]{background:var(--success-color);color:#fff}.cancel-btn[data-v-d82adf04]{background:#95a5a6;color:#fff}.sample-btn[data-v-d82adf04]{background:#9b59b6;color:#fff}.sample-btn[data-v-d82adf04]:hover{background:#8e44ad}.table-container[data-v-d82adf04]{overflow-x:auto;margin:20px 0}.data-table[data-v-d82adf04]{width:100%;border-collapse:collapse;background:var(--bg-white);box-shadow:var(--shadow-float);border-radius:var(--radius-card);overflow:hidden}.data-table th[data-v-d82adf04]{background:var(--primary-light);padding:12px 16px;text-align:left;font-weight:600;color:var(--text-dark);border-bottom:2px solid var(--border-light)}.data-table td[data-v-d82adf04]{padding:12px 16px;border-bottom:1px solid var(--border-light);vertical-align:top}.data-row[data-v-d82adf04]:hover{background:var(--bg-light-grey)}.log-expanded-row[data-v-d82adf04]{background:#f1f3f4}.log-expanded-row td[data-v-d82adf04]{padding:0;border-bottom:none}.expanded-log-content[data-v-d82adf04]{padding:16px;background:#f8f9fa;border-radius:4px;margin:8px 16px 16px}.expanded-log-content pre[data-v-d82adf04]{background:#fff;padding:12px;border-radius:4px;margin-top:8px;white-space:pre-wrap;word-wrap:break-word;font-family:monospace;font-size:12px;max-height:300px;overflow-y:auto}.log-toggle-btn[data-v-d82adf04]{background:var(--primary-color);color:#fff;border:none;padding:4px 8px;border-radius:var(--radius-btn);cursor:pointer;font-size:12px}.log-toggle-btn[data-v-d82adf04]:hover{background:var(--color-primary-600)}.price-history[data-v-d82adf04]{font-family:monospace;font-size:14px}.money[data-v-d82adf04]{font-weight:700;color:#27ae60}.empty-state[data-v-d82adf04]{text-align:center;padding:60px 20px;color:#666}.modal-overlay[data-v-d82adf04]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-d82adf04]{background:var(--bg-white);padding:30px;border-radius:var(--radius-card);width:90%;max-width:500px;max-height:80vh;overflow-y:auto}.user-form[data-v-d82adf04]{display:flex;flex-direction:column;gap:20px}.form-group[data-v-d82adf04]{display:flex;flex-direction:column;gap:8px}label[data-v-d82adf04]{font-weight:700;color:var(--text-dark)}input[data-v-d82adf04],textarea[data-v-d82adf04]{padding:10px;border:1px solid var(--border-light);border-radius:var(--radius-btn);font-size:14px}textarea[data-v-d82adf04]{resize:vertical}.form-actions[data-v-d82adf04]{display:flex;gap:10px;justify-content:flex-end}.login-container[data-v-1314f28f]{display:flex;justify-content:center;align-items:center;height:112dvh;padding:1rem;box-sizing:border-box;background-image:url(/login_bg.png);background-size:cover;background-position:center}.status-message[data-v-1314f28f],.login-form[data-v-1314f28f]{width:100%;max-width:420px;text-align:center;background:var(--primary-color);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:1.25rem 2.25rem;color:#fff}h2[data-v-1314f28f]{margin-bottom:1rem;color:#fff;font-size:2em}.form-group[data-v-1314f28f]{margin-bottom:.9rem;text-align:left}label[data-v-1314f28f]{display:block;margin-bottom:.4rem;font-weight:600;color:#fff;font-size:1.2rem}input[type=text][data-v-1314f28f],textarea[data-v-1314f28f]{width:100%;padding:.5rem .75rem;border:none;border-radius:var(--radius-input);background:var(--bg-white);font-size:1.2rem;box-sizing:border-box}textarea[data-v-1314f28f]{resize:vertical;min-height:80px}button[data-v-1314f28f]{display:block;margin:0 auto;width:35%;padding:.56rem;border:none;border-radius:var(--radius-btn);background:var(--bg-white);color:var(--primary-color);font-size:1.1rem;cursor:pointer;transition:filter .2s;font-weight:600}button[data-v-1314f28f]:hover{filter:brightness(.95)}.modal-overlay[data-v-42a1a929]{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-42a1a929]{width:90%;max-width:420px;background:var(--bg-white);border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-modal)}.modal-title[data-v-42a1a929]{margin:0;padding:1rem 1.25rem;border-bottom:1px solid var(--border-light)}.modal-body[data-v-42a1a929]{padding:1rem 1.25rem}.modal-actions[data-v-42a1a929]{display:flex;justify-content:flex-end;gap:.5rem;padding:.75rem 1.25rem 1rem}.btn[data-v-42a1a929]{padding:.5rem .9rem;border:1px solid var(--border-light);background:var(--bg-grey);cursor:pointer;border-radius:var(--radius-btn)}.btn.confirm[data-v-42a1a929]{background:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:0 4px 10px var(--primary-shadow)}.modal-overlay[data-v-016b4d42]{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-016b4d42]{width:90%;max-width:420px;background:var(--bg-white);border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-modal)}.modal-title[data-v-016b4d42]{margin:0;padding:1rem 1.25rem;border-bottom:1px solid var(--border-light);font-size:1.1rem}.modal-body[data-v-016b4d42]{padding:1.25rem}.cash-info[data-v-016b4d42]{margin-bottom:1rem;text-align:right;font-size:.9rem;color:var(--text-medium)}.trade-info[data-v-016b4d42]{display:flex;justify-content:space-between;margin-bottom:1rem;font-size:.9rem;color:var(--text-medium)}.quantity-control[data-v-016b4d42]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.slider[data-v-016b4d42]{flex:1;-webkit-appearance:none;appearance:none;width:100%;height:8px;background:var(--bg-grey);outline:none;border-radius:4px;opacity:.9;transition:opacity .2s}.slider[data-v-016b4d42]:hover{opacity:1}.slider[data-v-016b4d42]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:var(--primary-color);cursor:pointer;border-radius:50%}.slider[data-v-016b4d42]::-moz-range-thumb{width:20px;height:20px;background:var(--primary-color);cursor:pointer;border-radius:50%}.qty-input[data-v-016b4d42]{width:70px;padding:.5rem;text-align:center;border:1px solid var(--border-light);border-radius:var(--radius-btn)}.total-amount[data-v-016b4d42]{text-align:right;font-size:1.1rem}.modal-actions[data-v-016b4d42]{display:flex;justify-content:flex-end;gap:.5rem;padding:.75rem 1.25rem 1rem;border-top:1px solid var(--border-light)}.btn[data-v-016b4d42]{padding:.6rem 1rem;border:none;border-radius:var(--radius-btn);cursor:pointer;font-weight:500}.btn.cancel[data-v-016b4d42]{background:var(--bg-grey);color:var(--text-dark)}.btn.confirm.buy[data-v-016b4d42]{background:var(--color-up);color:#fff}.btn.confirm.sell[data-v-016b4d42]{background:var(--primary-color);color:#fff}.btn[data-v-016b4d42]:disabled{opacity:.5;cursor:not-allowed}.client-container[data-v-23d0da53]{max-width:1200px;margin:0 auto;padding-bottom:60px;position:relative;z-index:1;overflow-x:hidden}.client-container.bg-chart-active[data-v-23d0da53]:after{content:"";position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:1200px;height:50%;background-image:url(/bg_chart.png);background-repeat:no-repeat;background-position:center bottom;background-size:contain;opacity:1;pointer-events:none;z-index:-1}.topbar[data-v-23d0da53]{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;background:var(--bg-white);border-bottom:1px solid var(--border-light);padding:1.3rem 1rem;box-shadow:var(--shadow-float)}.topbar-left[data-v-23d0da53]{display:flex;align-items:center;gap:.4rem}.user-icon[data-v-23d0da53]{font-size:1.3rem;color:var(--text-dark)}.topbar-left .user-name[data-v-23d0da53]{font-weight:900;font-size:1.3rem;color:var(--text-dark)}.topbar-right[data-v-23d0da53]{display:flex;align-items:center;gap:.75rem}.user-asset[data-v-23d0da53]{font-size:.9rem;color:var(--color-ink);text-align:right;line-height:1.4}.asset-row[data-v-23d0da53]{display:flex;justify-content:space-between;gap:1rem}.asset-label[data-v-23d0da53]{font-weight:700;color:var(--color-ink-muted)}.user-asset .up[data-v-23d0da53]{color:var(--color-up)}.user-asset .down[data-v-23d0da53]{color:var(--color-down)}.logout[data-v-23d0da53]{padding:.2rem .5rem;border:none;background:var(--primary-color);color:#fff;cursor:pointer;border-radius:999px;font-weight:700;font-size:.8rem}.logout[data-v-23d0da53]:hover{filter:brightness(.95)}.main-content[data-v-23d0da53]{padding:6rem .75rem 2rem}.content-grid[data-v-23d0da53]{display:grid;grid-template-columns:1fr;gap:.75rem}.full-width[data-v-23d0da53]{grid-column:1 / -1}.card[data-v-23d0da53]{background:var(--bg-white);border:1px solid var(--border-light);border-radius:var(--radius-card);padding:.9rem;box-shadow:var(--shadow-card);color:var(--text-dark)}.card-title[data-v-23d0da53]{font-weight:700;margin-bottom:.75rem}.total-profit-display[data-v-23d0da53]{margin-bottom:1rem;text-align:center}.profit-label[data-v-23d0da53]{font-size:.9rem;color:var(--text-dark);margin-bottom:.25rem}.turn-profit-label[data-v-23d0da53]{margin-top:.75rem}.profit-value[data-v-23d0da53]{font-size:1.2rem;font-weight:700}.profit-value.up[data-v-23d0da53]{color:var(--color-up)}.profit-value.down[data-v-23d0da53]{color:var(--color-down)}.progress-wrap[data-v-23d0da53]{display:flex;align-items:center;gap:.75rem}.progress-bar[data-v-23d0da53]{flex:1;height:10px;background:var(--bg-grey);border-radius:999px;overflow:hidden}.progress[data-v-23d0da53]{height:100%;background:var(--primary-color)}.progress-text[data-v-23d0da53]{white-space:nowrap;font-size:.9rem;color:var(--text-dark)}.holdings .cash[data-v-23d0da53]{margin-bottom:.5rem}.holdings-list[data-v-23d0da53]{display:flex;flex-direction:column;gap:.75rem}.holding-item[data-v-23d0da53]{border:1px solid var(--border-light);border-radius:12px;padding:.75rem;background:var(--bg-white);box-shadow:var(--shadow-float)}.item-header[data-v-23d0da53],.item-body[data-v-23d0da53],.item-footer[data-v-23d0da53]{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0}.item-header[data-v-23d0da53]{border-bottom:1px solid #e0e0e0;padding-bottom:.5rem;margin-bottom:.5rem}.item-name[data-v-23d0da53]{font-weight:700}.item-quantity[data-v-23d0da53]{font-size:.9rem;color:var(--text-dark)}.item-body[data-v-23d0da53]{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.item-detail[data-v-23d0da53]{display:flex;flex-direction:column}.label[data-v-23d0da53]{font-size:.85rem;color:var(--text-medium)}.value[data-v-23d0da53]{font-size:1rem;font-weight:500}.item-footer .value.up[data-v-23d0da53]{color:var(--color-up)}.item-footer .value.down[data-v-23d0da53]{color:var(--color-down)}.item-actions[data-v-23d0da53]{display:flex;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e0e0e0}.item-actions .qty[data-v-23d0da53]{width:60px;padding:.35rem;text-align:center;border:1px solid #ccc;border-radius:4px}.item-actions .btn[data-v-23d0da53]{flex:1;border-radius:0;box-shadow:1px 1px 3px #00000026}.holdings-empty[data-v-23d0da53]{color:var(--text-light);font-size:.9rem}.stocks-table[data-v-23d0da53]{width:100%;border-collapse:collapse}.stocks-table-container[data-v-23d0da53]{border:1px solid var(--primary-color);border-radius:12px;overflow:hidden;background:var(--bg-white);box-shadow:var(--shadow-float)}.stocks-table th[data-v-23d0da53],.stocks-table td[data-v-23d0da53]{border:none;padding:.75rem;text-align:center;color:var(--text-dark);border-bottom:1px solid var(--primary-light);border-right:1px solid var(--primary-light);background-color:var(--bg-white)}.stocks-table th[data-v-23d0da53]:last-child,.stocks-table td[data-v-23d0da53]:last-child{border-right:none}.stocks-table tr:last-child td[data-v-23d0da53]{border-bottom:none}.stocks-table td[data-v-23d0da53]:nth-child(2){text-align:left}.stocks-table th[data-v-23d0da53]{background:var(--primary-light);font-weight:700}.stocks-table .up[data-v-23d0da53]{color:var(--color-up)}.stocks-table .down[data-v-23d0da53]{color:var(--color-down)}.stocks-table .trade-col[data-v-23d0da53]{width:1%;white-space:nowrap}.stocks-table .btn[data-v-23d0da53]{border-radius:0;box-shadow:1px 1px 3px #00000026}.history-table.stocks-table th[data-v-23d0da53],.history-table.stocks-table td[data-v-23d0da53]{padding:.4rem}.history-table.stocks-table td[data-v-23d0da53]:first-child{text-align:center}.history-table td[data-v-23d0da53]{text-align:left}.trade-buttons[data-v-23d0da53]{display:flex;gap:4px}.btn[data-v-23d0da53]{padding:.4rem .7rem;border:1px solid var(--border-light);background:var(--bg-soft-grey);cursor:pointer;border-radius:var(--radius-btn)}.btn.buy[data-v-23d0da53]{background:var(--color-up);border-color:var(--color-up);color:#fff}.btn.sell[data-v-23d0da53]{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.btn[data-v-23d0da53]:disabled{background-color:#ccc;border-color:#ccc;cursor:not-allowed}.bottom-nav[data-v-23d0da53]{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--bg-white);border-top:1px solid var(--border-light);box-shadow:0 -2px 8px #00000014;z-index:50}.bottom-nav button[data-v-23d0da53]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:12px 0;border:none;background:transparent;color:var(--text-light);font-size:14px}.bottom-nav button i[data-v-23d0da53]{font-size:22px}.bottom-nav button.active[data-v-23d0da53]{color:var(--primary-color)}.loading[data-v-23d0da53],.error[data-v-23d0da53]{text-align:center;padding:2rem;color:#666}.error[data-v-23d0da53]{color:#e53935}.turn-change-alert[data-v-23d0da53]{text-align:center}.turn-change-alert p[data-v-23d0da53]{margin:.5rem 0}.turn-change-alert .up[data-v-23d0da53]{color:var(--color-up);font-weight:700}.turn-change-alert .down[data-v-23d0da53]{color:var(--color-down);font-weight:700}.master-container[data-v-9cd0f3e8]{max-width:1200px;margin:0 auto;padding:2rem}.widget-container[data-v-9cd0f3e8]{background:var(--bg-white);padding:1.2rem;border-radius:var(--radius-card);box-shadow:var(--shadow-card);margin-bottom:1rem;border:1px solid var(--border-light);display:flex;flex-direction:column}.parallel-layout[data-v-9cd0f3e8]{display:flex;gap:1rem;justify-content:space-between}.parallel-layout>.widget-container[data-v-9cd0f3e8]{flex:1;margin-bottom:0}.settings-group[data-v-9cd0f3e8]{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.settings-group[data-v-9cd0f3e8]:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:1rem}.image-upload-container[data-v-9cd0f3e8]{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.image-preview[data-v-9cd0f3e8]{width:200px;height:112px;object-fit:cover;border:1px solid var(--border-light);border-radius:var(--radius-btn);background-color:var(--bg-light-grey)}.image-controls[data-v-9cd0f3e8]{display:flex;flex-direction:column;gap:.5rem}.settings-group h3[data-v-9cd0f3e8]{margin-top:0;margin-bottom:1rem}.settings-group .description[data-v-9cd0f3e8]{font-size:.8em;color:var(--color-text-muted);margin:0}h1[data-v-9cd0f3e8],h2[data-v-9cd0f3e8],h3[data-v-9cd0f3e8]{color:var(--color-text);margin-bottom:1rem}p[data-v-9cd0f3e8]{color:var(--color-text-muted);margin-bottom:1rem}.actions[data-v-9cd0f3e8]{display:flex;gap:.5rem;margin-bottom:1rem}button[data-v-9cd0f3e8]{padding:.4rem .8rem;border:1px solid var(--border-light);border-radius:var(--radius-btn);background-color:var(--bg-white);color:var(--text-dark);cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease-in-out;box-shadow:0 1px 2px #0000000d}button[data-v-9cd0f3e8]:not(:disabled):hover{background-color:var(--bg-light-grey);border-color:var(--primary-color);box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.reset-action-container[data-v-9cd0f3e8]{justify-content:flex-end;margin-top:.5rem}button[data-v-9cd0f3e8]:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.btn-primary[data-v-9cd0f3e8]{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:0 4px 10px var(--primary-shadow)}.btn-primary[data-v-9cd0f3e8]:not(:disabled):hover{background-color:var(--color-primary-600);border-color:var(--color-primary-600)}.btn-secondary[data-v-9cd0f3e8]{background-color:#6c757d;color:#fff;border-color:#6c757d}.btn-secondary[data-v-9cd0f3e8]:not(:disabled):hover{background-color:#5a6268;border-color:#545b62}.btn-danger[data-v-9cd0f3e8]:not(:disabled):hover{background-color:#c0392b}.btn-icon[data-v-9cd0f3e8]{padding:.4rem;width:34px;height:34px;display:flex;align-items:center;justify-content:center}hr[data-v-9cd0f3e8]{border:none;border-top:1px solid #eee;margin:1.5rem 0}.tabs[data-v-9cd0f3e8]{display:flex;border-bottom:2px solid var(--border-light);margin-bottom:1rem}.tabs button[data-v-9cd0f3e8]{padding:10px 20px;border:none;background:none;cursor:pointer;font-size:16px;border-bottom:2px solid transparent;margin-bottom:-2px;color:var(--text-medium)}.tabs button.active[data-v-9cd0f3e8]{border-bottom-color:var(--primary-color);font-weight:700;color:var(--primary-color)}.tab-content[data-v-9cd0f3e8]{padding:1rem 0}.status-manager .actions[data-v-9cd0f3e8]{margin:0;gap:.25rem}.status-display[data-v-9cd0f3e8]{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.status-display p[data-v-9cd0f3e8]{margin:0;flex:1;white-space:nowrap}.form-group-inline[data-v-9cd0f3e8]{display:flex;gap:.5rem;align-items:center;margin-bottom:0}.form-group-inline label[data-v-9cd0f3e8]{font-weight:700}.form-group-inline input[data-v-9cd0f3e8]{width:100px;padding:.5rem;border:1px solid var(--border-light);border-radius:var(--radius-btn)}strong.state-running[data-v-9cd0f3e8]{color:#2ecc71}strong.state-stop[data-v-9cd0f3e8]{color:#e74c3c}.additional-fields-manager .field-row[data-v-9cd0f3e8]{display:flex;gap:.5rem;margin-bottom:.5rem}.additional-fields-manager .field-row input[data-v-9cd0f3e8]{flex:1;padding:.5rem;border:1px solid var(--border-light);border-radius:var(--radius-btn)}.additional-fields-manager .actions[data-v-9cd0f3e8]{margin-top:1rem}.loading-text[data-v-9cd0f3e8]{color:#888;text-align:center;padding:1rem}.turn-change[data-v-9cd0f3e8]{font-size:.8em;margin-top:.2rem}.turn-change.up[data-v-9cd0f3e8]{color:var(--color-up)}.turn-change.down[data-v-9cd0f3e8]{color:var(--color-down)}.turn-change.same[data-v-9cd0f3e8]{color:var(--color-text-muted)}.asset-value[data-v-9cd0f3e8]{font-weight:500}th.sortable[data-v-9cd0f3e8]{cursor:pointer}th.sortable[data-v-9cd0f3e8]:hover{background-color:var(--bg-light-grey)}th.sorted-by[data-v-9cd0f3e8]{color:var(--primary-color)}.toolbar[data-v-9cd0f3e8]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.toolbar h3[data-v-9cd0f3e8]{margin:0}.toolbar div[data-v-9cd0f3e8]{display:flex;gap:.5rem}.table-actions[data-v-9cd0f3e8]{margin-top:1rem;text-align:right}.data-table[data-v-9cd0f3e8]{width:100%;border-collapse:collapse;text-align:left;table-layout:fixed}.data-table th[data-v-9cd0f3e8],.data-table td[data-v-9cd0f3e8]{padding:.75rem;border-bottom:1px solid var(--border-light);color:var(--text-dark)}.data-table .up[data-v-9cd0f3e8]{color:var(--color-up)}.data-table .down[data-v-9cd0f3e8]{color:var(--color-down)}.data-table th[data-v-9cd0f3e8]{background-color:var(--primary-light);text-align:center}.data-table td[data-v-9cd0f3e8]:first-child{text-align:left}.stocks-table th[data-v-9cd0f3e8]:first-child,.stocks-table td[data-v-9cd0f3e8]:first-child{width:20%}.stats-table th[data-v-9cd0f3e8]:nth-child(1),.stats-table td[data-v-9cd0f3e8]:nth-child(1){width:5%}.stats-table th[data-v-9cd0f3e8]:nth-child(2),.stats-table td[data-v-9cd0f3e8]:nth-child(2){width:10%}.sort-icon[data-v-9cd0f3e8]{margin-left:.3rem;font-size:.85em}.data-table button[data-v-9cd0f3e8]{margin-right:.5rem;font-size:12px;padding:4px 8px}.modal-overlay[data-v-9cd0f3e8]{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:100}.modal[data-v-9cd0f3e8]{background:var(--bg-white);padding:2rem;border-radius:var(--radius-card);width:90%;max-width:400px}.modal .form-group[data-v-9cd0f3e8]{margin-bottom:1rem}.modal label[data-v-9cd0f3e8]{display:block;margin-bottom:.5rem}.modal input[data-v-9cd0f3e8]{width:100%;padding:.5rem;border:1px solid var(--border-light);border-radius:var(--radius-btn)}.modal-actions[data-v-9cd0f3e8]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.5rem}select[data-v-9cd0f3e8]{padding:.5rem;border-radius:var(--radius-btn);border:1px solid var(--border-light)}.btn-full-width[data-v-9cd0f3e8]{width:100%;margin-top:1rem}.status-layout[data-v-9cd0f3e8]{display:flex;gap:1rem;justify-content:space-between;margin-bottom:2rem}.status-layout>.widget-container[data-v-9cd0f3e8]{flex:1;margin-bottom:0}.btn-danger[data-v-9cd0f3e8]{background-color:#e74c3c;color:#fff;border-color:transparent}.btn-danger[data-v-9cd0f3e8]:hover{background-color:#c0392b}.btn-danger i[data-v-9cd0f3e8]{margin-right:0}.small-hint[data-v-9cd0f3e8]{font-size:.75rem;color:#888;margin-top:-.5rem;margin-bottom:.5rem}.spreadsheet-container[data-v-61258f73]{width:100%;box-sizing:border-box}.sticky-controls[data-v-61258f73]{position:sticky;top:0;z-index:10;background-color:#fff;padding:1rem 2rem;border-bottom:1px solid #ddd}.header[data-v-61258f73]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.header h1[data-v-61258f73]{font-size:1.5rem;margin:0}.actions button[data-v-61258f73]{margin-left:.5rem;padding:.5rem 1rem}.toolbar[data-v-61258f73]{margin-bottom:0}.toolbar button[data-v-61258f73]{margin-right:.5rem;padding:.4rem .8rem}.spreadsheet-wrapper[data-v-61258f73]{overflow-x:auto;margin:2rem;border:2px solid var(--color-table-outline);border-radius:0;overflow:hidden;box-shadow:2px 2px 5px #0000001a}.spreadsheet-table[data-v-61258f73]{width:100%;border-collapse:collapse}.spreadsheet-table th[data-v-61258f73],.spreadsheet-table td[data-v-61258f73]{border-bottom:1px solid var(--color-table-outline);border-right:1px solid var(--color-table-outline);padding:0;text-align:center;min-width:100px}.spreadsheet-table th[data-v-61258f73]:last-child,.spreadsheet-table td[data-v-61258f73]:last-child{border-right:none}.spreadsheet-table tr:last-child>td[data-v-61258f73]{border-bottom:none}.spreadsheet-table th[data-v-61258f73]{background-color:var(--color-table-header);padding:.5rem}.spreadsheet-table td[data-v-61258f73]{background-color:var(--color-cell-bg)}.spreadsheet-table input[data-v-61258f73]{width:100%;border:none;padding:.5rem;text-align:center;box-sizing:border-box;background-color:transparent}.spreadsheet-table th input[data-v-61258f73]{font-weight:700}.spreadsheet-table input[data-v-61258f73]:focus{outline:2px solid #42b883}button[data-v-61258f73]{padding:.4rem .8rem;border:1px solid var(--color-border);border-radius:8px;background-color:var(--color-surface);color:var(--color-text);cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease-in-out;box-shadow:0 1px 2px #0000000d}button[data-v-61258f73]:not(:disabled):hover{background-color:var(--color-surface-hover);border-color:var(--color-border-hover);box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}button[data-v-61258f73]:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.btn-primary[data-v-61258f73]{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary[data-v-61258f73]:not(:disabled):hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.btn-secondary[data-v-61258f73]{background-color:#6c757d;color:#fff;border-color:#6c757d}.btn-secondary[data-v-61258f73]:not(:disabled):hover{background-color:#5a6268;border-color:#545b62}.btn-delete[data-v-61258f73]{background-color:#e74c3c;color:#fff;border:none;cursor:pointer;display:inline-flex;align-items:center}.btn-delete i[data-v-61258f73]{margin-right:.25rem}.btn-delete[data-v-61258f73]:not(:disabled):hover{background-color:#c0392b}.loading[data-v-61258f73]{text-align:center;padding:2rem}.stats-container[data-v-17b8a2e2]{width:100%;min-height:100vh;padding:1rem;box-sizing:border-box}.stats-header[data-v-17b8a2e2]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:2px solid var(--color-border)}.header-actions[data-v-17b8a2e2]{display:flex;align-items:center;gap:.5rem}.stats-header h1[data-v-17b8a2e2]{margin:0;font-size:1.5rem;color:var(--color-login-primary)}.turn-info[data-v-17b8a2e2]{font-size:.85rem;color:var(--color-ink);background-color:var(--color-panel-fill);padding:.35rem .7rem;border:1px solid var(--color-border);border-radius:4px}.export-btn[data-v-17b8a2e2]{display:inline-flex;align-items:center;justify-content:center;width:112px;height:32px;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-login-primary);font-size:.85rem}.export-btn[data-v-17b8a2e2]:hover{filter:brightness(.97)}.export-btn[data-v-17b8a2e2]:disabled{opacity:.5;cursor:not-allowed}.export-btn i[data-v-17b8a2e2]{font-size:1rem;margin-right:.4rem}.loading-overlay[data-v-17b8a2e2],.error-message[data-v-17b8a2e2]{display:flex;justify-content:center;align-items:center;height:60vh;font-size:1.2rem;color:var(--color-text-muted)}.error-message[data-v-17b8a2e2]{color:#dc3545}.table-container[data-v-17b8a2e2]{border:2px solid var(--color-table-outline);background:var(--color-surface);box-shadow:var(--shadow-card);overflow:auto}.stats-table[data-v-17b8a2e2]{width:100%;border-collapse:collapse;min-width:800px}.stats-table th[data-v-17b8a2e2],.stats-table td[data-v-17b8a2e2]{padding:.7em;text-align:right;color:var(--color-login-primary);border-bottom:1px solid var(--color-table-outline);border-right:1px solid var(--color-table-outline);background-color:var(--color-cell-bg);font-size:140%}.stats-table th[data-v-17b8a2e2]{background:var(--color-table-header);color:var(--color-login-primary);font-weight:700;text-align:center}.stats-table th.sortable[data-v-17b8a2e2]{cursor:pointer;-webkit-user-select:none;user-select:none}.stats-table th .sort-icon[data-v-17b8a2e2]{margin-left:.25rem;font-size:.85em;color:var(--color-text-muted)}.stats-table th.sorted-by .sort-icon[data-v-17b8a2e2]{color:var(--color-login-primary)}.stats-table th[data-v-17b8a2e2]:last-child,.stats-table td[data-v-17b8a2e2]:last-child{border-right:none}.stats-table tbody tr:last-child td[data-v-17b8a2e2]{border-bottom:none}.stats-table tbody tr[data-v-17b8a2e2]:hover{background-color:#f1f3f5}.stats-table td[data-v-17b8a2e2]:nth-child(1),.stats-table td[data-v-17b8a2e2]:nth-child(2),.stats-table td[data-v-17b8a2e2]:nth-child(6){text-align:center}.stats-table td[data-v-17b8a2e2]:nth-child(2){font-weight:600}.up[data-v-17b8a2e2]{color:var(--color-up)}.down[data-v-17b8a2e2]{color:var(--color-down)}.zoom-controls[data-v-17b8a2e2]{display:flex;gap:.4rem}.btn-icon[data-v-17b8a2e2]{background:transparent;border:1px solid var(--color-border);width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;color:var(--color-text);font-size:.75rem}.btn-icon[data-v-17b8a2e2]:hover{background-color:var(--color-surface-hover)}.btn-icon[data-v-17b8a2e2]:disabled{opacity:.5;cursor:not-allowed}.pagination-controls[data-v-17b8a2e2]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.6rem .8rem;background-color:var(--color-panel-fill);border:1px solid var(--color-border);border-radius:4px}.pagination-settings[data-v-17b8a2e2]{display:flex;align-items:center;gap:.75rem}.pagination-label[data-v-17b8a2e2]{display:flex;align-items:center;gap:.4rem;font-size:.9rem;color:var(--color-text)}.pagination-input[data-v-17b8a2e2]{padding:.3rem .6rem;border:1px solid var(--color-border);border-radius:4px;background-color:var(--color-surface);color:var(--color-text);font-size:.9rem;width:70px;text-align:center}.pagination-input[data-v-17b8a2e2]:hover{border-color:var(--color-login-primary)}.pagination-input[data-v-17b8a2e2]:focus{outline:none;border-color:var(--color-login-primary)}.input-unit[data-v-17b8a2e2]{font-size:.9rem;color:var(--color-text)}.pagination-nav[data-v-17b8a2e2]{display:flex;align-items:center;gap:.5rem}.page-info[data-v-17b8a2e2]{font-size:.9rem;color:var(--color-text);min-width:50px;text-align:center}.slide-next-enter-active[data-v-17b8a2e2],.slide-next-leave-active[data-v-17b8a2e2],.slide-prev-enter-active[data-v-17b8a2e2],.slide-prev-leave-active[data-v-17b8a2e2]{transition:transform .4s ease-in-out,opacity .4s ease-in-out}.slide-next-enter-from[data-v-17b8a2e2]{transform:translate(30px);opacity:0}.slide-next-leave-to[data-v-17b8a2e2],.slide-prev-enter-from[data-v-17b8a2e2]{transform:translate(-30px);opacity:0}.slide-prev-leave-to[data-v-17b8a2e2]{transform:translate(30px);opacity:0}.slide-next-enter-to[data-v-17b8a2e2],.slide-next-leave-from[data-v-17b8a2e2],.slide-prev-enter-to[data-v-17b8a2e2],.slide-prev-leave-from[data-v-17b8a2e2]{transform:translate(0);opacity:1}.prices-container[data-v-b1bfa63d]{width:100%;min-height:100vh;padding:1rem;box-sizing:border-box}.prices-header[data-v-b1bfa63d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:2px solid var(--color-border)}.header-actions[data-v-b1bfa63d]{display:flex;align-items:center;gap:.5rem}.zoom-controls[data-v-b1bfa63d]{display:flex;gap:.4rem}.prices-header h1[data-v-b1bfa63d]{margin:0;font-size:1.5rem;color:var(--color-login-primary)}.turn-info[data-v-b1bfa63d]{font-size:.85rem;color:var(--color-ink);background-color:var(--color-panel-fill);padding:.35rem .7rem;border:1px solid var(--color-border);border-radius:4px}.export-btn[data-v-b1bfa63d]{display:inline-flex;align-items:center;justify-content:center;width:100px;height:32px;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-login-primary);font-size:.85rem}.export-btn[data-v-b1bfa63d]:hover{filter:brightness(.97)}.export-btn[data-v-b1bfa63d]:disabled{opacity:.5;cursor:not-allowed}.export-btn i[data-v-b1bfa63d]{font-size:.85rem;margin-right:.3rem}.loading-overlay[data-v-b1bfa63d],.error-message[data-v-b1bfa63d]{display:flex;justify-content:center;align-items:center;height:60vh;font-size:1.2rem;color:var(--color-text-muted)}.error-message[data-v-b1bfa63d]{color:#dc3545}.table-container[data-v-b1bfa63d]{border:2px solid var(--color-table-outline);background:var(--color-surface);box-shadow:var(--shadow-card);overflow:hidden}.table-wrapper[data-v-b1bfa63d]{position:relative;overflow-x:hidden;overflow-y:auto}.prices-table[data-v-b1bfa63d]{width:100%;border-collapse:collapse;min-width:800px;table-layout:fixed}.prices-table th[data-v-b1bfa63d],.prices-table td[data-v-b1bfa63d]{padding:.4em;text-align:right;color:var(--color-login-primary);border-bottom:1px solid var(--color-table-outline);border-right:1px solid var(--color-table-outline);background-color:var(--color-cell-bg)}.prices-table th[data-v-b1bfa63d]{background:var(--color-table-header);color:var(--color-login-primary);font-weight:700;text-align:center}.prices-table th.sortable[data-v-b1bfa63d]{cursor:pointer;-webkit-user-select:none;user-select:none}.prices-table th .sort-icon[data-v-b1bfa63d]{margin-left:.25rem;font-size:.8em;color:var(--color-text-muted)}.prices-table th.sorted-by .sort-icon[data-v-b1bfa63d]{color:var(--color-login-primary)}.prices-table th[data-v-b1bfa63d]:first-child,.prices-table td[data-v-b1bfa63d]:first-child{text-align:left;width:20%}.prices-table th[data-v-b1bfa63d]:last-child,.prices-table td[data-v-b1bfa63d]:last-child{border-right:none}.prices-table tbody tr:last-child td[data-v-b1bfa63d]{border-bottom:none}.prices-table tbody tr[data-v-b1bfa63d]:hover{background-color:#f1f3f5}.future-cell[data-v-b1bfa63d]{background-color:#f8f9fa!important;color:transparent}.price-value[data-v-b1bfa63d]{display:block;font-weight:600}.price-change[data-v-b1bfa63d]{font-size:.8em;margin-top:.25rem}.price-change.up[data-v-b1bfa63d]{color:var(--color-up)}.price-change.down[data-v-b1bfa63d]{color:var(--color-down)}.price-change.same[data-v-b1bfa63d]{color:var(--color-text-muted)}.btn-icon[data-v-b1bfa63d]{background:transparent;border:1px solid var(--color-border);width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;color:var(--color-text);font-size:.75rem}.btn-icon[data-v-b1bfa63d]:hover{background-color:var(--color-surface-hover)}.btn-icon[data-v-b1bfa63d]:disabled{opacity:.5;cursor:not-allowed}.pagination-controls[data-v-b1bfa63d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:.6rem .8rem;background-color:var(--color-panel-fill);border:1px solid var(--color-border);border-radius:4px}.pagination-settings[data-v-b1bfa63d]{display:flex;align-items:center;gap:.75rem}.pagination-label[data-v-b1bfa63d]{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--color-text)}.pagination-select[data-v-b1bfa63d]{padding:.3rem .6rem;border:1px solid var(--color-border);border-radius:4px;background-color:var(--color-surface);color:var(--color-text);font-size:.8rem;cursor:pointer}.pagination-select[data-v-b1bfa63d]:hover{border-color:var(--color-login-primary)}.pagination-input[data-v-b1bfa63d]{padding:.3rem .6rem;border:1px solid var(--color-border);border-radius:4px;background-color:var(--color-surface);color:var(--color-text);font-size:.8rem;width:60px;text-align:center}.pagination-input[data-v-b1bfa63d]:hover{border-color:var(--color-login-primary)}.pagination-input[data-v-b1bfa63d]:focus{outline:none;border-color:var(--color-login-primary)}.input-unit[data-v-b1bfa63d]{font-size:.8rem;color:var(--color-text)}.pagination-nav[data-v-b1bfa63d]{display:flex;align-items:center;gap:.5rem}.page-info[data-v-b1bfa63d]{font-size:.8rem;color:var(--color-text);min-width:50px;text-align:center}.slide-next-enter-active[data-v-b1bfa63d],.slide-next-leave-active[data-v-b1bfa63d],.slide-prev-enter-active[data-v-b1bfa63d],.slide-prev-leave-active[data-v-b1bfa63d]{transition:transform .4s ease-in-out,opacity .4s ease-in-out}.slide-next-enter-from[data-v-b1bfa63d]{transform:translate(30px);opacity:0}.slide-next-leave-to[data-v-b1bfa63d],.slide-prev-enter-from[data-v-b1bfa63d]{transform:translate(-30px);opacity:0}.slide-prev-leave-to[data-v-b1bfa63d]{transform:translate(30px);opacity:0}.slide-next-enter-to[data-v-b1bfa63d],.slide-next-leave-from[data-v-b1bfa63d],.slide-prev-enter-to[data-v-b1bfa63d],.slide-prev-leave-from[data-v-b1bfa63d]{transform:translate(0);opacity:1}
