.confirm-panel[data-v-11d33489]{max-width:460px}.confirm-body[data-v-11d33489]{padding-top:var(--space-6);padding-bottom:var(--space-6)}.confirm-hero[data-v-11d33489]{display:flex;align-items:flex-start;gap:var(--space-5)}.confirm-icon[data-v-11d33489]{flex:0 0 48px;width:48px;height:48px;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;font-size:var(--font-size-lg)}.confirm-hero--danger .confirm-icon[data-v-11d33489]{background:var(--color-danger-soft);color:var(--color-danger-strong)}.confirm-hero--warning .confirm-icon[data-v-11d33489]{background:var(--color-warning-soft);color:var(--color-warning-strong)}.confirm-hero--success .confirm-icon[data-v-11d33489]{background:var(--color-success-soft);color:var(--color-success-strong)}.confirm-hero--primary .confirm-icon[data-v-11d33489]{background:var(--color-brand-softer);color:var(--color-brand-strong)}.confirm-copy[data-v-11d33489]{min-width:0}.confirm-message[data-v-11d33489]{margin:0;font-size:var(--font-size-base);font-weight:600;line-height:1.55;color:var(--color-text)}.confirm-detail[data-v-11d33489]{margin:var(--space-3) 0 0;font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.65}.regime-banner[data-v-e40e780d]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4) var(--space-6);padding:var(--space-3) var(--space-8);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.regime-banner__head[data-v-e40e780d]{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-muted)}.regime-banner__title[data-v-e40e780d]{font-weight:700;color:var(--color-text)}.regime-banner__err[data-v-e40e780d]{color:var(--color-danger);font-size:var(--font-size-sm)}.regime-banner__pairs[data-v-e40e780d]{display:flex;flex-wrap:wrap;gap:var(--space-2)}.regime-pair[data-v-e40e780d]{border:1px solid var(--color-border);background:var(--color-surface-sunken);color:var(--color-text-muted);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-4);font-size:var(--font-size-sm);font-family:var(--font-family-mono);cursor:pointer}.regime-pair--on[data-v-e40e780d]{border-color:var(--color-brand);color:var(--color-text);background:var(--color-brand-softer)}.regime-banner__body[data-v-e40e780d]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4) var(--space-6);flex:1;min-width:0}.regime-type[data-v-e40e780d]{font-weight:700;color:var(--color-text)}.regime-type--choppy[data-v-e40e780d]{color:var(--color-warning-strong)}.regime-type--forming_trend[data-v-e40e780d]{color:var(--color-brand-strong)}.regime-type--strong_trend[data-v-e40e780d],.regime-type--dir-up[data-v-e40e780d]{color:var(--color-success)}.regime-type--dir-down[data-v-e40e780d]{color:var(--color-danger-strong)}.regime-fits[data-v-e40e780d]{display:flex;flex-wrap:wrap;gap:var(--space-4) var(--space-6)}.regime-fit[data-v-e40e780d]{font-size:var(--font-size-sm);color:var(--color-text)}.regime-fit .lbl[data-v-e40e780d]{margin-right:var(--space-2);font-weight:600}.regime-fit--on .lbl[data-v-e40e780d]{color:var(--color-success)}.regime-fit--off .lbl[data-v-e40e780d]{color:var(--color-warning)}.regime-fit--mid .lbl[data-v-e40e780d]{color:var(--color-text-muted)}.regime-banner__meta[data-v-e40e780d]{margin-left:auto;display:flex;align-items:center;gap:var(--space-2)}.shell[data-v-068229fb]{display:flex;height:100vh;width:100%;overflow:hidden;background:var(--color-bg)}.sidebar[data-v-068229fb]{flex:0 0 var(--sidebar-width);display:flex;flex-direction:column;background:var(--color-sidebar-bg);color:var(--color-sidebar-text);padding:var(--space-6) var(--space-4)}.brand[data-v-068229fb]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4) var(--space-7);color:var(--color-text-inverse);font-weight:700;font-size:var(--font-size-lg);border-bottom:1px solid var(--color-sidebar-border);margin-bottom:var(--space-4)}.brand i[data-v-068229fb]{color:var(--color-brand-500)}.nav[data-v-068229fb]{display:flex;flex-direction:column;gap:2px;flex:1;overflow-y:auto}.nav-item[data-v-068229fb]{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-4);border-radius:var(--radius-md);text-decoration:none;color:var(--color-sidebar-text);font-size:var(--font-size-sm);font-weight:500;transition:background var(--transition-fast),color var(--transition-fast);white-space:nowrap}.nav-item i[data-v-068229fb]{width:16px;text-align:center;color:var(--color-sidebar-text-muted);font-size:var(--font-size-sm)}.nav-item[data-v-068229fb]:hover{background:var(--color-sidebar-hover);color:var(--color-text-inverse)}.nav-item--active[data-v-068229fb]{background:var(--color-sidebar-active);color:var(--color-text-inverse)}.nav-item--active i[data-v-068229fb]{color:var(--color-text-inverse)}.nav-badge[data-v-068229fb]{margin-left:auto;font-size:9px;padding:1px 5px;border-radius:var(--radius-pill);background:#ffffff1f;color:var(--color-sidebar-text-muted)}.nav-item--active .nav-badge[data-v-068229fb]{background:#ffffff40;color:var(--color-text-inverse)}.logout-btn[data-v-068229fb]{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);margin-top:var(--space-4);border-top:1px solid var(--color-sidebar-border);background:none;border-left:none;border-right:none;border-bottom:none;color:var(--color-sidebar-text-muted);font-size:var(--font-size-sm);cursor:pointer;font-family:inherit}.logout-btn[data-v-068229fb]:hover{color:var(--color-danger)}.body[data-v-068229fb]{flex:1;display:flex;flex-direction:column;min-width:0;height:100vh}.topbar[data-v-068229fb]{flex:0 0 var(--topbar-height);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-8);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.page-title[data-v-068229fb]{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text);margin:0}.topbar-right[data-v-068229fb]{display:flex;align-items:center;gap:var(--space-4)}.key-name[data-v-068229fb]{font-weight:600;color:var(--color-text-dim);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot--live[data-v-068229fb]{color:var(--color-success)}.dot--paper[data-v-068229fb]{color:var(--color-brand)}.balance-value[data-v-068229fb]{font-weight:700;color:var(--color-text)}.balance-value--error[data-v-068229fb]{color:var(--color-danger)}.content[data-v-068229fb]{flex:1;overflow-y:auto;padding:var(--space-7) var(--space-8)}.login-page[data-v-d50cc1c9]{height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg)}.login-card[data-v-d50cc1c9]{width:100%;max-width:360px;padding:var(--space-9) var(--space-8)}.login-head[data-v-d50cc1c9]{text-align:center;margin-bottom:var(--space-8)}.login-icon[data-v-d50cc1c9]{width:48px;height:48px;border-radius:50%;background:var(--color-brand-soft);color:var(--color-brand-strong);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);margin:0 auto var(--space-4)}.login-head h1[data-v-d50cc1c9]{font-size:var(--font-size-xl);margin:0;color:var(--color-text)}.login-head p[data-v-d50cc1c9]{font-size:var(--font-size-base);color:var(--color-text-muted);margin:var(--space-2) 0 0}.login-form[data-v-d50cc1c9]{display:flex;flex-direction:column;gap:var(--space-6)}.switch-mode[data-v-d50cc1c9]{text-align:center;margin-top:var(--space-8);font-size:var(--font-size-base);color:var(--color-text-muted)}.switch-mode a[data-v-d50cc1c9]{color:var(--color-brand);font-weight:600;text-decoration:none}.switch-mode a[data-v-d50cc1c9]:hover{text-decoration:underline}.dash[data-v-aff8751a]{display:flex;flex-direction:column;gap:var(--space-6)}.stat-grid[data-v-aff8751a]{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5)}@media (max-width: 900px){.stat-grid[data-v-aff8751a]{grid-template-columns:repeat(2,1fr)}}.stat-link[data-v-aff8751a]{color:var(--color-brand);text-decoration:none;font-weight:600}.stat-link[data-v-aff8751a]:hover{text-decoration:underline}.row[data-v-aff8751a]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}@media (max-width: 900px){.row[data-v-aff8751a]{grid-template-columns:1fr}}.actions[data-v-aff8751a]{display:flex;flex-direction:column;gap:var(--space-3)}.actions .btn[data-v-aff8751a]{justify-content:flex-start}.asset-list[data-v-aff8751a]{display:flex;flex-direction:column;gap:var(--space-2);max-height:160px}.asset-row[data-v-aff8751a]{display:flex;justify-content:space-between;font-size:var(--font-size-base);padding:var(--space-2) 2px;border-bottom:1px solid var(--color-border)}.asset-ccy[data-v-aff8751a]{font-weight:700;color:var(--color-text-dim)}.asset-eq[data-v-aff8751a]{color:var(--color-text-muted)}.foot-note[data-v-aff8751a]{font-size:var(--font-size-xs);color:var(--color-text-faint);margin:var(--space-1) 2px 0}.foot-note .ok[data-v-aff8751a]{color:var(--color-success);font-weight:600}.foot-note .bad[data-v-aff8751a]{color:var(--color-danger);font-weight:600}.strategy-form[data-v-c9052fc5]{display:flex;flex-direction:column;gap:var(--space-6)}.form-intro[data-v-c9052fc5]{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.field-grid[data-v-c9052fc5]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-6)}.field-grid--sunken[data-v-c9052fc5]{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-7)}.input-icon-wrap[data-v-c9052fc5]{position:relative;display:flex;align-items:center}.input-icon[data-v-c9052fc5]{position:absolute;left:var(--space-5);color:var(--color-text-faint);font-size:var(--font-size-sm);pointer-events:none}.input-icon--text[data-v-c9052fc5]{font-weight:700}.input--icon[data-v-c9052fc5]{padding-left:34px}.input--sm[data-v-c9052fc5]{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm)}.input--error[data-v-c9052fc5]{border-color:var(--color-danger);background:var(--color-danger-softer);color:var(--color-danger-strong)}.mode-toggle[data-v-c9052fc5]{color:var(--color-brand-strong)}.mode-toggle--active[data-v-c9052fc5]{background:var(--color-brand-soft)}.suggest-row[data-v-c9052fc5]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-top:calc(-1 * var(--space-3))}.link-btn[data-v-c9052fc5]{background:none;border:none;padding:0;font-family:inherit;font-size:var(--font-size-sm);font-weight:600;color:var(--color-brand);cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-2)}.link-btn[data-v-c9052fc5]:hover:not(:disabled){color:var(--color-brand-strong)}.link-btn[data-v-c9052fc5]:disabled{color:var(--color-text-faint);cursor:not-allowed}.suggest-error[data-v-c9052fc5]{font-size:var(--font-size-xs);color:var(--color-danger)}.suggest-result[data-v-c9052fc5]{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-7);font-size:var(--font-size-xs);color:var(--color-text-muted);background:var(--color-brand-softer);border:1px solid var(--color-brand-100);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);margin-top:calc(-1 * var(--space-2))}.suggest-result strong[data-v-c9052fc5]{color:var(--color-text);font-weight:700}.suggest-result-note[data-v-c9052fc5]{color:var(--color-text-faint)}.custom-points-panel[data-v-c9052fc5]{background:var(--color-surface-sunken);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-7);display:flex;flex-direction:column;gap:var(--space-4)}.custom-points-hint[data-v-c9052fc5]{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted);display:flex;align-items:flex-start;gap:var(--space-2)}.custom-points-hint strong[data-v-c9052fc5]{color:var(--color-text)}.custom-points-table-wrap[data-v-c9052fc5]{max-height:260px}.custom-points-table[data-v-c9052fc5]{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.custom-points-table th[data-v-c9052fc5]{text-align:left;padding:var(--space-2) var(--space-3);color:var(--color-text-faint);font-weight:600;border-bottom:1px solid var(--color-border);position:sticky;top:0;background:var(--color-surface-sunken)}.custom-points-table td[data-v-c9052fc5]{padding:var(--space-2) var(--space-3)}.custom-points-table .col-idx[data-v-c9052fc5]{width:40px;text-align:center;color:var(--color-text-faint)}.custom-points-error[data-v-c9052fc5]{margin:0;font-size:var(--font-size-xs);color:var(--color-danger)}.risk-grid[data-v-c9052fc5]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-5);margin-top:var(--space-3)}.risk-card[data-v-c9052fc5]{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);padding:var(--space-6);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.risk-card[data-v-c9052fc5]:hover{border-color:var(--color-border-strong);background:var(--color-surface-sunken)}.risk-card--active[data-v-c9052fc5]{border-color:var(--color-brand);background:var(--color-brand-softer)}.risk-card-icon[data-v-c9052fc5]{font-size:var(--font-size-2xl);color:var(--color-text-faint)}.risk-card--active .risk-card-icon[data-v-c9052fc5]{color:var(--color-brand)}.risk-card-title[data-v-c9052fc5]{font-weight:700;color:var(--color-text-dim)}.risk-card--active .risk-card-title[data-v-c9052fc5]{color:var(--color-brand-strong)}.risk-card-desc[data-v-c9052fc5]{font-size:var(--font-size-xs);color:var(--color-text-faint);line-height:1.5}.risk-card-check[data-v-c9052fc5]{position:absolute;top:var(--space-3);right:var(--space-3);color:var(--color-brand)}.submit-btn[data-v-c9052fc5]{margin-top:var(--space-2)}.sr-only[data-v-c9052fc5]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.exec-box[data-v-4389447d]{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-sunken)}.exec-head[data-v-4389447d]{padding:0;border:0}.exec-intro[data-v-4389447d]{margin:0}.field-grid[data-v-4389447d]{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-5)}.field-checkbox[data-v-4389447d]{display:flex;align-items:center;gap:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted)}.strategy-form[data-v-a6c4c7a7]{display:flex;flex-direction:column;gap:var(--space-6)}.form-intro[data-v-a6c4c7a7]{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.6}.form-intro-sub[data-v-a6c4c7a7]{display:block;font-size:var(--font-size-xs);color:var(--color-text-faint);margin-top:var(--space-1)}.form-body[data-v-a6c4c7a7]{display:flex;flex-direction:column;gap:var(--space-6)}.field-grid[data-v-a6c4c7a7]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-6)}.field-info[data-v-a6c4c7a7]{color:var(--color-text-faint);margin-left:var(--space-1);cursor:help}.input-icon-wrap[data-v-a6c4c7a7]{position:relative;display:flex;align-items:center}.input-icon[data-v-a6c4c7a7]{position:absolute;left:var(--space-5);color:var(--color-text-faint);font-size:var(--font-size-sm);pointer-events:none}.input-icon--text[data-v-a6c4c7a7]{font-weight:700}.input--icon[data-v-a6c4c7a7]{padding-left:34px}.input--suffixed[data-v-a6c4c7a7]{padding-right:30px}.input-suffix[data-v-a6c4c7a7]{position:absolute;right:var(--space-5);color:var(--color-text-faint);font-size:var(--font-size-sm);pointer-events:none}.field-tip[data-v-a6c4c7a7]{display:flex;align-items:flex-start;gap:var(--space-2);margin-top:var(--space-1);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface-sunken);border:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-text-muted)}.field-tip i[data-v-a6c4c7a7]{margin-top:1px;color:var(--color-brand)}.field-tip--warning i[data-v-a6c4c7a7]{color:var(--color-warning)}.field-tip--success i[data-v-a6c4c7a7]{color:var(--color-success)}.submit-btn[data-v-a6c4c7a7]{margin-top:var(--space-2)}.log-modal[data-v-47b60290]{width:min(880px,94vw);max-width:min(880px,94vw)}.head-actions[data-v-47b60290]{display:flex;align-items:center;gap:var(--space-2)}.log-modal-body[data-v-47b60290]{display:flex;flex-direction:column;gap:var(--space-4);max-height:70vh;min-height:0}.log-table-wrap[data-v-47b60290]{flex:1 1 auto;min-height:200px;max-height:52vh;overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg)}.log-table[data-v-47b60290]{width:100%;table-layout:fixed;border-collapse:collapse;font-size:var(--font-size-base)}.log-table th[data-v-47b60290]{text-align:left;padding:var(--space-3);color:var(--color-text-faint);font-weight:600;border-bottom:1px solid var(--color-border);position:sticky;top:0;background:var(--color-surface);white-space:nowrap}.log-table td[data-v-47b60290]{padding:var(--space-3);border-bottom:1px solid var(--color-border);vertical-align:middle;white-space:nowrap}.log-table tbody tr:last-child td[data-v-47b60290]{border-bottom:none}.col-time[data-v-47b60290]{width:176px}.col-cat[data-v-47b60290],.col-status[data-v-47b60290]{width:72px}.log-time[data-v-47b60290]{width:176px;overflow:visible;color:var(--color-text-faint);font-size:var(--font-size-sm)}.log-cat[data-v-47b60290]{color:var(--color-text-dim);font-size:var(--font-size-sm)}.log-summary[data-v-47b60290]{color:var(--color-text);overflow:hidden;text-overflow:ellipsis;cursor:copy}.log-summary--copied[data-v-47b60290]{color:var(--color-success)}.pager[data-v-47b60290]{display:flex;align-items:center;justify-content:center;gap:var(--space-4);flex:0 0 auto}.pager-info[data-v-47b60290]{font-size:var(--font-size-sm);color:var(--color-text-faint)}.log-row[data-v-47b60290]{cursor:default}.log-row:hover td[data-v-47b60290]{background:var(--color-surface-sunken)}.log-bubble[data-v-47b60290]{position:fixed;z-index:80;max-width:min(480px,80vw);max-height:280px;overflow:auto;padding:var(--space-4);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);font-size:var(--font-size-xs);font-family:var(--font-family-mono);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;pointer-events:none}.trade-modal[data-v-d134181e]{width:min(1120px,96vw);max-width:min(1120px,96vw)}.head-actions[data-v-d134181e]{display:flex;align-items:center;gap:var(--space-2)}.trade-modal-body[data-v-d134181e]{display:flex;flex-direction:column;gap:var(--space-4);max-height:74vh;min-height:0}.hint-line[data-v-d134181e]{margin:0;font-size:var(--font-size-sm);color:var(--color-text-faint)}.summary-row[data-v-d134181e]{display:flex;flex-wrap:wrap;gap:var(--space-3)}.trade-table-wrap[data-v-d134181e]{flex:1 1 auto;min-height:200px;max-height:52vh;overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg)}.trade-table[data-v-d134181e]{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.trade-table th[data-v-d134181e]{text-align:left;padding:var(--space-3);color:var(--color-text-faint);font-weight:600;border-bottom:1px solid var(--color-border);position:sticky;top:0;background:var(--color-surface);white-space:nowrap}.trade-table td[data-v-d134181e]{padding:var(--space-3);border-bottom:1px solid var(--color-border);vertical-align:middle;white-space:nowrap}.trade-table tbody tr:last-child td[data-v-d134181e]{border-bottom:none}.col-time[data-v-d134181e]{width:176px}.col-side[data-v-d134181e]{width:72px}.col-state[data-v-d134181e]{width:80px}.col-id[data-v-d134181e]{min-width:140px}.trade-time[data-v-d134181e]{color:var(--color-text-faint)}.trade-id[data-v-d134181e]{color:var(--color-text-dim);max-width:180px;overflow:hidden;text-overflow:ellipsis}.pager[data-v-d134181e]{display:flex;align-items:center;justify-content:center;gap:var(--space-4);flex:0 0 auto}.pager-info[data-v-d134181e]{font-size:var(--font-size-sm);color:var(--color-text-faint)}.trade-row[data-v-d134181e]{cursor:default}.trade-row:hover td[data-v-d134181e]{background:var(--color-surface-sunken)}.trade-bubble[data-v-d134181e]{position:fixed;z-index:80;max-width:min(520px,80vw);max-height:320px;overflow:auto;padding:var(--space-4);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);font-size:var(--font-size-xs);font-family:var(--font-family-mono);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;pointer-events:none}.matched-pairs[data-v-b2f23c8e]{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px dashed var(--color-border-strong)}.matched-head[data-v-b2f23c8e]{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.matched-head h4[data-v-b2f23c8e]{margin:0;font-size:var(--font-size-base);color:var(--color-text-dim);display:flex;align-items:center;gap:var(--space-2)}.pairs-grid[data-v-b2f23c8e]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-6)}.pair-card[data-v-b2f23c8e]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-card);transition:box-shadow var(--transition-fast)}.pair-card[data-v-b2f23c8e]:hover{box-shadow:var(--shadow-popover)}.pair-card--closed[data-v-b2f23c8e]{background:var(--color-surface-sunken)}.pair-header[data-v-b2f23c8e]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.pair-id[data-v-b2f23c8e]{font-weight:700;color:var(--color-text-dim);font-size:var(--font-size-sm)}.badge--sm[data-v-b2f23c8e]{font-size:10.5px;padding:1px 6px;margin-left:var(--space-2)}.order-row[data-v-b2f23c8e]{display:flex;gap:var(--space-4);margin:var(--space-3) 0;font-size:var(--font-size-sm)}.order-row-label[data-v-b2f23c8e]{flex:0 0 34px;font-weight:700}.order-row-label--buy[data-v-b2f23c8e]{color:var(--color-success-strong)}.order-row-label--sell[data-v-b2f23c8e]{color:var(--color-danger-strong)}.order-row--empty[data-v-b2f23c8e]{color:var(--color-text-faint);font-style:italic}.order-row-details[data-v-b2f23c8e]{flex:1}.order-row-fee[data-v-b2f23c8e]{font-size:var(--font-size-xs);color:var(--color-text-faint);margin-top:2px}.pnl-row[data-v-b2f23c8e]{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px dashed var(--color-border);display:flex;justify-content:space-between;font-weight:700;font-size:var(--font-size-sm);color:var(--color-text-muted)}.modal-panel[data-v-199d740b]{max-width:720px}.hint[data-v-199d740b]{margin:0 0 var(--space-5);display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted);background:var(--color-brand-softer);border:1px solid var(--color-brand-100);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5)}.hint--muted[data-v-199d740b]{background:var(--color-surface-sunken);border-color:var(--color-border);margin:var(--space-2) 0 0}.edit-form[data-v-199d740b]{display:flex;flex-direction:column;gap:var(--space-5)}.field-grid[data-v-199d740b]{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-5)}.field[data-v-199d740b]{display:flex;flex-direction:column;gap:var(--space-2)}.field label[data-v-199d740b]{font-size:var(--font-size-sm);color:var(--color-text-dim);display:flex;align-items:center;gap:var(--space-2)}.field--readonly .input[data-v-199d740b]{color:var(--color-text-faint)}.field-info[data-v-199d740b]{color:var(--color-warning);font-size:var(--font-size-xs)}.field-tip[data-v-199d740b]{font-size:var(--font-size-xs);color:var(--color-text-faint);display:flex;align-items:center;gap:var(--space-2)}.field-tip--warning[data-v-199d740b]{color:var(--color-warning-strong)}.risk-toggle[data-v-199d740b]{display:flex;gap:var(--space-3)}.form-error[data-v-199d740b]{margin:0;font-size:var(--font-size-sm);color:var(--color-danger-strong);display:flex;align-items:center;gap:var(--space-2)}.modal-actions[data-v-199d740b]{display:flex;justify-content:flex-end;gap:var(--space-4);margin-top:var(--space-2)}.sid[data-v-199d740b]{color:var(--color-text-faint);font-weight:400;font-size:var(--font-size-sm)}.sid[data-v-349f8d5c]{margin-left:var(--space-2);color:var(--color-text-faint);font-size:var(--font-size-sm)}.hint[data-v-349f8d5c]{display:flex;align-items:flex-start;gap:var(--space-2);margin:0 0 var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-sm)}.hint--muted[data-v-349f8d5c]{color:var(--color-text-faint)}.stat-grid[data-v-349f8d5c]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-bottom:var(--space-5)}.stat[data-v-349f8d5c]{padding:var(--space-3) var(--space-4);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md)}.stat-lbl[data-v-349f8d5c]{font-size:var(--font-size-xs);color:var(--color-text-faint);margin-bottom:var(--space-1)}.stat-val[data-v-349f8d5c]{font-size:var(--font-size-base);color:var(--color-text)}.stat-val small[data-v-349f8d5c]{color:var(--color-text-faint);font-weight:400}.pct-row[data-v-349f8d5c]{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);margin:var(--space-4) 0}.preview-line[data-v-349f8d5c]{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.field-tip[data-v-349f8d5c]{display:flex;align-items:flex-start;gap:var(--space-2);margin:0 0 var(--space-4);font-size:var(--font-size-sm)}.field-tip--warning[data-v-349f8d5c]{color:var(--color-warning-strong)}.empty-state--compact[data-v-349f8d5c]{padding:var(--space-7) var(--space-4)}.strategies-page[data-v-489a7d63]{display:flex;flex-direction:column;gap:var(--space-5);height:100%}.toolbar[data-v-489a7d63]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-4)}.toolbar-right[data-v-489a7d63]{display:flex;align-items:center;gap:var(--space-3)}.groups[data-v-489a7d63]{display:flex;flex-direction:column;gap:var(--space-7)}.group-head[data-v-489a7d63]{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.group-bar[data-v-489a7d63]{width:6px;height:20px;border-radius:3px;background:var(--color-brand)}.group-head h3[data-v-489a7d63]{font-size:var(--font-size-md);margin:0;color:var(--color-text)}.cards[data-v-489a7d63]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.card[data-v-489a7d63]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.card-head[data-v-489a7d63]{display:flex;justify-content:space-between;align-items:center}.sid[data-v-489a7d63]{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-right:var(--space-2)}.mini-grid[data-v-489a7d63]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2) var(--space-4);background:var(--color-surface-sunken);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5)}.mini-grid .lbl[data-v-489a7d63]{display:block;font-size:var(--font-size-xs);color:var(--color-text-faint)}.mini-grid .val[data-v-489a7d63]{display:block;font-size:var(--font-size-base);color:var(--color-text);font-weight:600}.val--up[data-v-489a7d63]{color:var(--color-success)}.val--down[data-v-489a7d63]{color:var(--color-danger)}.invest-row[data-v-489a7d63]{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3)}.invest-row .lbl[data-v-489a7d63]{flex:0 0 auto;white-space:nowrap;font-size:var(--font-size-sm);color:var(--color-text-faint)}.invest-row .val[data-v-489a7d63]{min-width:0;text-align:right}.invest-row .val--big[data-v-489a7d63]{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text)}.invest-row .val--big small[data-v-489a7d63],.invest-row--sub .val small[data-v-489a7d63]{font-size:var(--font-size-xs);font-weight:400;color:var(--color-text-faint)}.invest-row--sub .val[data-v-489a7d63]{font-size:var(--font-size-base);color:var(--color-text-muted)}.btn-grid[data-v-489a7d63]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.tool-btn[data-v-489a7d63]{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;min-width:0}.tool-btn span[data-v-489a7d63]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.risk-page[data-v-2312778f]{display:flex;flex-direction:column;gap:var(--space-6)}.panic-bar[data-v-2312778f]{display:flex;align-items:center;justify-content:space-between;background:var(--color-danger-softer);border:1px solid var(--color-danger-border);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-7);gap:var(--space-5);flex-wrap:wrap}.panic-text[data-v-2312778f]{display:flex;align-items:center;gap:var(--space-3);font-size:var(--font-size-base);color:var(--color-danger-strong)}.row[data-v-2312778f]{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--space-5)}@media (max-width: 900px){.row[data-v-2312778f]{grid-template-columns:1fr}}.rule-list[data-v-2312778f]{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-5);max-height:220px}.rule-row[data-v-2312778f]{flex-wrap:wrap}.rule-scope[data-v-2312778f]{display:flex;gap:4px}.rule-values[data-v-2312778f]{display:flex;gap:var(--space-5);font-size:var(--font-size-sm);color:var(--color-text-muted);flex:1}.rule-values b[data-v-2312778f]{color:var(--color-text)}.rule-form[data-v-2312778f]{display:flex;flex-direction:column;gap:var(--space-4);border-top:1px dashed var(--color-border);padding-top:var(--space-5)}.form-title[data-v-2312778f]{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-dim)}.field-row[data-v-2312778f]{display:flex;align-items:center;gap:var(--space-4)}.field-row label[data-v-2312778f]{flex:0 0 150px;font-size:var(--font-size-sm);color:var(--color-text-muted)}.field-row .input[data-v-2312778f],.field-row .select[data-v-2312778f]{flex:1}.field-row--checkbox label[data-v-2312778f]{flex:1;display:flex;align-items:center;gap:var(--space-2)}.form-hint[data-v-2312778f]{margin:0;font-size:var(--font-size-xs);color:var(--color-text-faint);line-height:1.5}.event-list[data-v-2312778f]{display:flex;flex-direction:column;gap:var(--space-3);max-height:400px}.event-row[data-v-2312778f]{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5)}.event-top[data-v-2312778f]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.event-msg[data-v-2312778f]{margin:0;font-size:var(--font-size-base);color:var(--color-text-dim);line-height:1.5}.keys-page[data-v-bac16d04]{display:flex;flex-direction:column;gap:var(--space-6)}.onboarding[data-v-bac16d04]{background:var(--color-warning-softer);border:1px solid var(--color-warning-border);border-radius:var(--radius-lg);padding:var(--space-7) var(--space-8);text-align:center}.onboarding i[data-v-bac16d04]{font-size:22px;color:var(--color-warning-strong);margin-bottom:var(--space-3)}.onboarding h2[data-v-bac16d04]{font-size:var(--font-size-lg);margin:0 0 var(--space-2);color:var(--color-warning-strong)}.onboarding p[data-v-bac16d04]{font-size:var(--font-size-base);color:var(--color-warning);margin:0 auto;max-width:560px}.row[data-v-bac16d04]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}@media (max-width: 900px){.row[data-v-bac16d04]{grid-template-columns:1fr}}.key-list[data-v-bac16d04]{display:flex;flex-direction:column;gap:var(--space-3);max-height:340px}.key-title[data-v-bac16d04]{display:flex;align-items:center;gap:var(--space-2)}.key-name[data-v-bac16d04]{font-weight:700;font-size:var(--font-size-base);color:var(--color-text)}.key-date[data-v-bac16d04]{font-size:var(--font-size-xs);color:var(--color-text-faint);margin-top:2px}.key-actions[data-v-bac16d04]{display:flex;gap:var(--space-2)}.key-form[data-v-bac16d04]{display:flex;flex-direction:column;gap:var(--space-4)}.field-row[data-v-bac16d04]{display:flex;gap:var(--space-5);align-items:center}.field-row .input[data-v-bac16d04]{flex:1}.radio-group[data-v-bac16d04]{display:flex;gap:var(--space-5);font-size:var(--font-size-base);color:var(--color-text-dim);white-space:nowrap}.radio-group label[data-v-bac16d04]{display:flex;align-items:center;gap:4px;cursor:pointer}.signal-chart[data-v-ad15ff58]{display:flex;flex-direction:column;gap:var(--space-2)}.signal-chart-hint[data-v-ad15ff58]{font-size:var(--font-size-xs);color:var(--color-text-faint);padding:var(--space-3) 0;text-align:center}.signal-chart-hint--error[data-v-ad15ff58]{color:var(--color-danger)}.signal-chart-canvas-wrap[data-v-ad15ff58]{height:140px;position:relative}.signal-chart-legend[data-v-ad15ff58]{display:flex;flex-wrap:wrap;gap:var(--space-3)}.legend-item[data-v-ad15ff58]{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-xs);color:var(--color-text-faint)}.legend-swatch[data-v-ad15ff58]{width:8px;height:8px;border-radius:2px;display:inline-block}.chart-tip[data-v-ad15ff58]{position:absolute;z-index:4;min-width:152px;padding:var(--space-3) var(--space-4);background:var(--color-surface-raised);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);pointer-events:none}.chart-tip__time[data-v-ad15ff58]{margin-bottom:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);font-size:var(--font-size-xs);font-family:var(--font-family-mono);color:var(--color-text-faint);letter-spacing:.02em}.chart-tip__row[data-v-ad15ff58]{display:flex;align-items:center;gap:var(--space-2);min-height:20px}.chart-tip__dot[data-v-ad15ff58]{width:6px;height:6px;border-radius:var(--radius-pill);flex:0 0 auto}.chart-tip__name[data-v-ad15ff58]{flex:1;min-width:0;font-size:var(--font-size-xs);color:var(--color-text-muted)}.chart-tip__val[data-v-ad15ff58]{font-size:var(--font-size-xs);color:var(--color-text);font-weight:600}.signal-chart--lg .legend-item[data-v-ad15ff58]{font-size:var(--font-size-sm)}.signal-chart--lg .legend-swatch[data-v-ad15ff58]{width:10px;height:10px}.quant-page[data-v-0db058ec]{display:flex;flex-direction:column;gap:var(--space-5);height:100%}.toolbar[data-v-0db058ec]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-4)}.toolbar-left[data-v-0db058ec],.toolbar-right[data-v-0db058ec]{display:flex;align-items:center;gap:var(--space-3)}.groups[data-v-0db058ec]{display:flex;flex-direction:column;gap:var(--space-7)}.group-head[data-v-0db058ec]{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6)}.group-bar[data-v-0db058ec]{width:6px;height:20px;border-radius:3px;background:var(--color-brand)}.group-head h3[data-v-0db058ec]{font-size:var(--font-size-md);margin:0;color:var(--color-text)}.cards[data-v-0db058ec]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-8)}.card[data-v-0db058ec]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-7);display:flex;flex-direction:column;gap:var(--space-6)}.card--fit-on[data-v-0db058ec]{border-color:var(--color-success);background:var(--color-success-softer);box-shadow:var(--glow-success)}.card--fit-off[data-v-0db058ec]{border-color:var(--color-danger);background:var(--color-danger-softer);box-shadow:var(--glow-danger)}.card--fit-mid[data-v-0db058ec]{border-color:var(--color-warning-border)}.tab--fit-on[data-v-0db058ec]{box-shadow:var(--glow-success)}.tab--fit-off[data-v-0db058ec]{background:var(--color-danger-softer);color:var(--color-danger-strong)}.card-head[data-v-0db058ec]{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.card-head>div[data-v-0db058ec]{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.sid[data-v-0db058ec]{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-right:0}.mini-grid[data-v-0db058ec]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4) var(--space-6);background:var(--color-surface-sunken);border-radius:var(--radius-md);padding:var(--space-5) var(--space-6)}.mini-grid .lbl[data-v-0db058ec]{display:block;font-size:var(--font-size-xs);color:var(--color-text-faint)}.mini-grid .val[data-v-0db058ec]{display:block;font-size:var(--font-size-base);color:var(--color-text);font-weight:600}.val--up[data-v-0db058ec]{color:var(--color-success)}.val--down[data-v-0db058ec]{color:var(--color-danger)}.invest-row[data-v-0db058ec]{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3)}.invest-row .lbl[data-v-0db058ec]{flex:0 0 auto;white-space:nowrap;font-size:var(--font-size-sm);color:var(--color-text-faint)}.invest-row .val[data-v-0db058ec]{min-width:0;text-align:right}.invest-row .val--big[data-v-0db058ec]{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text)}.invest-row .val--big small[data-v-0db058ec],.invest-row--sub .val small[data-v-0db058ec]{font-size:var(--font-size-xs);font-weight:400;color:var(--color-text-faint)}.invest-row--sub .val[data-v-0db058ec]{font-size:var(--font-size-base);color:var(--color-text-muted)}.btn-grid[data-v-0db058ec]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.tool-btn[data-v-0db058ec]{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;min-width:0;padding:var(--space-3) var(--space-3)}.tool-btn span[data-v-0db058ec]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.risk-dot[data-v-0db058ec]{position:absolute;top:4px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--color-brand)}.risk-pause-banner[data-v-0db058ec]{display:flex;align-items:center;gap:var(--space-2);background:var(--color-warning-softer);border:1px solid var(--color-warning-border);color:var(--color-warning-strong);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);line-height:1.5}.quant-form[data-v-0db058ec]{display:flex;flex-direction:column;gap:var(--space-6)}.tabs--wrap[data-v-0db058ec]{flex-wrap:wrap}.strategy-desc[data-v-0db058ec]{margin-top:var(--space-3)}.form-row[data-v-0db058ec]{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5)}.form-row--params[data-v-0db058ec]{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.chart-modal-sub[data-v-0db058ec]{margin:2px 0 0;font-size:var(--font-size-xs);color:var(--color-text-faint);display:flex;flex-wrap:wrap;gap:var(--space-2)}.chart-modal-controls[data-v-0db058ec]{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-5);margin-bottom:var(--space-5)}.chart-modal-controls .field--inline[data-v-0db058ec]{flex-direction:row;align-items:center;gap:var(--space-2)}.chart-modal-controls .field--inline label[data-v-0db058ec]{white-space:nowrap;margin:0}.chart-modal-controls .select[data-v-0db058ec]{width:auto;min-width:90px}.field-checkbox[data-v-0db058ec]{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted);cursor:pointer}.risk-modal-hint[data-v-0db058ec]{margin:0 0 var(--space-5);font-size:var(--font-size-xs);color:var(--color-text-faint);line-height:1.5}.rule-form[data-v-0db058ec]{display:flex;flex-direction:column;gap:var(--space-4)}.field-row[data-v-0db058ec]{display:flex;align-items:center;gap:var(--space-4)}.field-row label[data-v-0db058ec]{flex:0 0 150px;font-size:var(--font-size-sm);color:var(--color-text-muted)}.field-row .input[data-v-0db058ec],.field-row .select[data-v-0db058ec]{flex:1}.field-row--checkbox label[data-v-0db058ec]{flex:1;display:flex;align-items:center;gap:var(--space-2)}.risk-modal-actions[data-v-0db058ec]{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-2)}.backtest-page[data-v-f82c7dab]{height:100%}.row[data-v-f82c7dab]{display:grid;grid-template-columns:340px 1fr;gap:var(--space-5);height:100%;align-items:start}@media (max-width: 960px){.row[data-v-f82c7dab]{grid-template-columns:1fr}}.col-left[data-v-f82c7dab]{display:flex;flex-direction:column;gap:var(--space-5);height:100%;min-height:0}.config-panel[data-v-f82c7dab]{display:flex;flex-direction:column;gap:var(--space-4);flex:1 1 auto;min-height:0}.history-panel[data-v-f82c7dab]{flex:0 0 auto;max-height:280px;display:flex;flex-direction:column}.tabs--full[data-v-f82c7dab]{width:100%}.tabs--full .tab[data-v-f82c7dab]{flex:1}.tabs--wrap[data-v-f82c7dab]{flex-wrap:wrap}.mode-tabs[data-v-f82c7dab]{margin-top:-4px}.mode-hint[data-v-f82c7dab]{margin:0;font-size:var(--font-size-xs);color:var(--color-text-faint);line-height:1.5}.config-form[data-v-f82c7dab]{display:flex;flex-direction:column;gap:var(--space-4);overflow-y:auto;padding-right:2px}.error-hint[data-v-f82c7dab]{color:var(--color-danger);font-size:var(--font-size-sm);margin:0}.history-list[data-v-f82c7dab]{display:flex;flex-direction:column;gap:var(--space-2)}.history-row[data-v-f82c7dab]{flex-direction:column;align-items:stretch;gap:var(--space-2);cursor:pointer}.history-row[data-v-f82c7dab]:hover{border-color:var(--color-brand-200)}.history-main[data-v-f82c7dab]{display:flex;align-items:center;gap:var(--space-2)}.history-sub[data-v-f82c7dab]{display:flex;align-items:center;gap:var(--space-3);font-size:var(--font-size-xs)}.history-sub .panel-hint[data-v-f82c7dab]{flex:1}.result-panel[data-v-f82c7dab]{display:flex;flex-direction:column;gap:var(--space-5);height:100%;min-height:0}.stats-grid[data-v-f82c7dab]{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-4)}.val--up[data-v-f82c7dab]{color:var(--color-success)}.val--down[data-v-f82c7dab]{color:var(--color-danger)}.stat-value--split[data-v-f82c7dab]{display:flex;gap:var(--space-3);font-size:var(--font-size-base)}.chart-wrap[data-v-f82c7dab]{height:260px;position:relative}.windows-table-wrap[data-v-f82c7dab]{flex:1;min-height:0}.trades-section[data-v-f82c7dab]{display:flex;flex-direction:column;gap:var(--space-3);min-height:0;flex:1}.trades-head[data-v-f82c7dab]{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-dim)}.trades-table-wrap[data-v-f82c7dab]{max-height:260px}.trades-table[data-v-f82c7dab]{width:100%;border-collapse:collapse;font-size:var(--font-size-base)}.trades-table th[data-v-f82c7dab]{text-align:left;padding:var(--space-2) var(--space-3);color:var(--color-text-faint);font-weight:600;border-bottom:1px solid var(--color-border);position:sticky;top:0;background:var(--color-surface)}.trades-table td[data-v-f82c7dab]{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}.side-tag[data-v-f82c7dab]{font-size:var(--font-size-xs);font-weight:700;padding:2px 8px;border-radius:var(--radius-pill)}.side-tag--buy[data-v-f82c7dab]{background:var(--color-success-soft);color:var(--color-success-strong)}.side-tag--sell[data-v-f82c7dab]{background:var(--color-danger-soft);color:var(--color-danger-strong)}.pattern-page[data-v-808506d7]{height:100%}.row[data-v-808506d7]{display:grid;grid-template-columns:320px 1fr;gap:var(--space-5);height:100%;align-items:start}@media (max-width: 960px){.row[data-v-808506d7]{grid-template-columns:1fr}}.config-panel[data-v-808506d7]{display:flex;flex-direction:column;gap:var(--space-4)}.hint-line[data-v-808506d7]{margin:0;font-size:var(--font-size-xs);color:var(--color-text-faint);line-height:1.6}.config-form[data-v-808506d7]{display:flex;flex-direction:column;gap:var(--space-4)}.field-row[data-v-808506d7]{display:flex;align-items:center;gap:var(--space-4)}.field-row label[data-v-808506d7]{flex:0 0 90px;font-size:var(--font-size-sm);color:var(--color-text-muted)}.field-row .input[data-v-808506d7],.field-row .select[data-v-808506d7]{flex:1}.error-hint[data-v-808506d7]{color:var(--color-danger);font-size:var(--font-size-sm);margin:0}.result-panel[data-v-808506d7]{display:flex;flex-direction:column;gap:var(--space-5);height:100%;min-height:0}.result-sections[data-v-808506d7]{display:flex;flex-direction:column;gap:var(--space-5);min-height:0}.card[data-v-808506d7]{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.card-head[data-v-808506d7]{display:flex;align-items:center;justify-content:space-between}.card-head h4[data-v-808506d7]{margin:0;font-size:var(--font-size-base);color:var(--color-text)}.card-note[data-v-808506d7]{margin:0;font-size:var(--font-size-xs);color:var(--color-text-faint);line-height:1.6}.mini-grid[data-v-808506d7]{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:var(--space-3);background:var(--color-surface-sunken);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.mini-grid .lbl[data-v-808506d7]{display:block;font-size:var(--font-size-xs);color:var(--color-text-faint)}.mini-grid .val[data-v-808506d7]{display:block;font-size:var(--font-size-base);font-weight:600;color:var(--color-text)}.mini-table[data-v-808506d7]{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.mini-table th[data-v-808506d7]{text-align:left;padding:var(--space-2) var(--space-3);color:var(--color-text-faint);font-weight:600;border-bottom:1px solid var(--color-border)}.mini-table td[data-v-808506d7]{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}.ac-bars[data-v-808506d7]{display:flex;flex-direction:column;gap:var(--space-2)}.ac-bar-row[data-v-808506d7]{display:flex;align-items:center;gap:var(--space-3)}.ac-lag[data-v-808506d7]{flex:0 0 56px;font-size:var(--font-size-xs);color:var(--color-text-faint)}.ac-track[data-v-808506d7]{position:relative;flex:1;height:10px;background:var(--color-surface-sunken);border-radius:5px;overflow:hidden}.ac-fill[data-v-808506d7]{position:absolute;top:0;height:100%;border-radius:5px}.ac-fill--pos[data-v-808506d7]{background:var(--color-success)}.ac-fill--neg[data-v-808506d7]{background:var(--color-danger)}.ac-value[data-v-808506d7]{flex:0 0 52px;text-align:right;font-size:var(--font-size-xs);color:var(--color-text-muted)}.heat-row[data-v-808506d7]{display:grid;grid-template-columns:repeat(12,1fr);gap:4px}.heat-cell[data-v-808506d7]{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);border-radius:var(--radius-sm);color:var(--color-text-muted);background:var(--color-surface-sunken);cursor:default}.heat-cell--up[data-v-808506d7]{background:var(--color-success-soft);color:var(--color-success-strong)}.heat-cell--down[data-v-808506d7]{background:var(--color-danger-soft);color:var(--color-danger-strong)}.heat-cell--flat[data-v-808506d7]{background:var(--color-neutral-soft)}.heat-cell--empty[data-v-808506d7]{opacity:.4}.regime-page[data-v-550a1bdc]{height:100%}.row[data-v-550a1bdc]{display:grid;grid-template-columns:320px 1fr;gap:var(--space-5);height:100%;align-items:start}@media (max-width: 960px){.row[data-v-550a1bdc]{grid-template-columns:1fr}}.config-panel[data-v-550a1bdc]{display:flex;flex-direction:column;gap:var(--space-4)}.hint-line[data-v-550a1bdc]{margin:0;font-size:var(--font-size-xs);color:var(--color-text-faint);line-height:1.6}.config-form[data-v-550a1bdc]{display:flex;flex-direction:column;gap:var(--space-4)}.field-row[data-v-550a1bdc]{display:flex;align-items:center;gap:var(--space-4)}.field-row label[data-v-550a1bdc]{flex:0 0 90px;font-size:var(--font-size-sm);color:var(--color-text-muted)}.field-row .input[data-v-550a1bdc],.field-row .select[data-v-550a1bdc]{flex:1}.field-hint[data-v-550a1bdc]{margin:0;font-size:var(--font-size-xs);color:var(--color-text-faint);line-height:1.5}.error-hint[data-v-550a1bdc]{color:var(--color-danger);font-size:var(--font-size-sm);margin:0}.result-panel[data-v-550a1bdc]{display:flex;flex-direction:column;gap:var(--space-5);height:100%;min-height:0}.result-sections[data-v-550a1bdc]{display:flex;flex-direction:column;gap:var(--space-5);min-height:0}.card[data-v-550a1bdc]{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.card-head[data-v-550a1bdc]{display:flex;align-items:center;justify-content:space-between}.card-head h4[data-v-550a1bdc]{margin:0;font-size:var(--font-size-base);color:var(--color-text)}.card-note[data-v-550a1bdc]{margin:0;font-size:var(--font-size-xs);color:var(--color-text-faint);line-height:1.6}.mini-grid[data-v-550a1bdc]{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:var(--space-3);background:var(--color-surface-sunken);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.mini-grid .lbl[data-v-550a1bdc]{display:block;font-size:var(--font-size-xs);color:var(--color-text-faint)}.mini-grid .val[data-v-550a1bdc]{display:block;font-size:var(--font-size-base);font-weight:600;color:var(--color-text)}.strategy-fit-list[data-v-550a1bdc]{display:flex;flex-direction:column;gap:var(--space-4)}.fit-row[data-v-550a1bdc]{border-top:1px dashed var(--color-border);padding-top:var(--space-3)}.fit-row[data-v-550a1bdc]:first-child{border-top:none;padding-top:0}.fit-row-head[data-v-550a1bdc]{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.fit-name[data-v-550a1bdc]{font-weight:600;color:var(--color-text);font-size:var(--font-size-base)}.fit-style[data-v-550a1bdc]{font-size:var(--font-size-xs)}.fit-reason[data-v-550a1bdc]{margin:var(--space-2) 0 0;font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.6}.pairs-page[data-v-7cb1400f]{display:flex;flex-direction:column;gap:var(--space-4);height:100%}.toolbar[data-v-7cb1400f]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-4)}.toolbar-left[data-v-7cb1400f],.toolbar-right[data-v-7cb1400f]{display:flex;align-items:center;gap:var(--space-3)}.hint-line[data-v-7cb1400f]{margin:0;font-size:var(--font-size-sm);color:var(--color-text-faint);line-height:1.6}.quick-add[data-v-7cb1400f]{display:flex;gap:var(--space-3);justify-content:center;margin-top:var(--space-4);flex-wrap:wrap}.table-wrap[data-v-7cb1400f]{overflow-x:auto}.pairs-table[data-v-7cb1400f]{width:100%;border-collapse:collapse;font-size:var(--font-size-base)}.pairs-table th[data-v-7cb1400f]{text-align:left;padding:var(--space-3) var(--space-4);color:var(--color-text-faint);font-weight:600;border-bottom:1px solid var(--color-border);white-space:nowrap}.pairs-table td[data-v-7cb1400f]{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);white-space:nowrap}.pair-id[data-v-7cb1400f]{font-weight:700;margin-right:var(--space-2)}.status-toggle[data-v-7cb1400f]{display:inline-flex;align-items:center;gap:5px;border:none;background:none;cursor:pointer;font-size:var(--font-size-base);font-weight:700;padding:2px 0}.status-toggle--on[data-v-7cb1400f]{color:var(--color-success)}.status-toggle--off[data-v-7cb1400f]{color:var(--color-text-faint)}.row-actions[data-v-7cb1400f]{display:flex;gap:var(--space-2)}.pair-form[data-v-7cb1400f]{display:flex;flex-direction:column;gap:var(--space-5)}.notify-page[data-v-be2eaae7]{display:flex;flex-direction:column;gap:var(--space-4);height:100%}.toolbar[data-v-be2eaae7]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-4)}.toolbar-left[data-v-be2eaae7],.toolbar-right[data-v-be2eaae7]{display:flex;align-items:center;gap:var(--space-3)}.hint-line[data-v-be2eaae7]{margin:0;font-size:var(--font-size-sm);color:var(--color-text-faint);line-height:1.6}.row[data-v-be2eaae7]{display:grid;grid-template-columns:1.6fr 1fr;gap:var(--space-5);flex:1;min-height:0}.col-channels[data-v-be2eaae7],.col-logs[data-v-be2eaae7]{display:flex;flex-direction:column;min-height:0}.table-wrap[data-v-be2eaae7]{overflow-x:auto}.channels-table[data-v-be2eaae7]{width:100%;border-collapse:collapse;font-size:var(--font-size-base)}.channels-table th[data-v-be2eaae7]{text-align:left;padding:var(--space-3) var(--space-4);color:var(--color-text-faint);font-weight:600;border-bottom:1px solid var(--color-border);white-space:nowrap}.channels-table td[data-v-be2eaae7]{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:top}.channel-id[data-v-be2eaae7]{display:flex;align-items:center;gap:var(--space-3);white-space:nowrap}.channel-name[data-v-be2eaae7]{font-weight:700}.event-badges[data-v-be2eaae7]{display:flex;flex-wrap:wrap;gap:var(--space-2);max-width:360px}.hint-text[data-v-be2eaae7]{font-size:var(--font-size-xs);color:var(--color-text-faint)}.status-toggle[data-v-be2eaae7]{display:inline-flex;align-items:center;gap:5px;border:none;background:none;cursor:pointer;font-size:var(--font-size-base);font-weight:700;padding:2px 0}.status-toggle--on[data-v-be2eaae7]{color:var(--color-success)}.status-toggle--off[data-v-be2eaae7]{color:var(--color-text-faint)}.row-actions[data-v-be2eaae7]{display:flex;gap:var(--space-2);white-space:nowrap}.log-list[data-v-be2eaae7]{display:flex;flex-direction:column;gap:var(--space-3);flex:1}.log-row[data-v-be2eaae7]{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.log-body[data-v-be2eaae7]{flex:1;min-width:0}.log-title[data-v-be2eaae7]{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.log-meta[data-v-be2eaae7]{font-size:var(--font-size-xs);color:var(--color-text-faint);margin-top:2px}.log-error[data-v-be2eaae7]{font-size:var(--font-size-xs);color:var(--color-danger);margin-top:2px;word-break:break-word}.channel-form[data-v-be2eaae7]{display:flex;flex-direction:column;gap:var(--space-6)}.tabs--full[data-v-be2eaae7]{width:100%}.tabs--full .tab[data-v-be2eaae7]{flex:1;text-align:center}.form-grid[data-v-be2eaae7]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}.field--span2[data-v-be2eaae7]{grid-column:1 / -1}.event-picker[data-v-be2eaae7]{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.event-option[data-v-be2eaae7]{display:flex;align-items:center;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-muted);cursor:pointer}.event-option--checked[data-v-be2eaae7]{border-color:var(--color-brand-200);background:var(--color-brand-softer);color:var(--color-brand-strong);font-weight:600}.event-option input[data-v-be2eaae7]{margin:0}@media (max-width: 900px){.row[data-v-be2eaae7],.form-grid[data-v-be2eaae7],.event-picker[data-v-be2eaae7]{grid-template-columns:1fr}}.analytics-page[data-v-e5f89c80]{display:flex;flex-direction:column;gap:var(--space-4);height:100%}.toolbar[data-v-e5f89c80]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-4)}.toolbar-left[data-v-e5f89c80]{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.toolbar-right[data-v-e5f89c80]{display:flex;align-items:center;gap:var(--space-3)}.hint-line[data-v-e5f89c80]{margin:0;font-size:var(--font-size-sm);color:var(--color-text-faint);line-height:1.6}.stat-grid[data-v-e5f89c80]{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-4)}@media (max-width: 1100px){.stat-grid[data-v-e5f89c80]{grid-template-columns:repeat(2,1fr)}}.row[data-v-e5f89c80]{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--space-5)}.col-left[data-v-e5f89c80],.col-right[data-v-e5f89c80]{display:flex;flex-direction:column;gap:var(--space-5);min-width:0}.table-wrap[data-v-e5f89c80]{overflow-x:auto;max-height:320px}.cmp-table[data-v-e5f89c80]{width:100%;border-collapse:collapse;font-size:var(--font-size-base)}.cmp-table th[data-v-e5f89c80]{text-align:left;padding:var(--space-3) var(--space-4);color:var(--color-text-faint);font-weight:600;border-bottom:1px solid var(--color-border);white-space:nowrap}.cmp-table td[data-v-e5f89c80]{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);white-space:nowrap}.cmp-table--modes th[data-v-e5f89c80],.cmp-table--modes td[data-v-e5f89c80]{text-align:left}.cmp-table--modes th[data-v-e5f89c80]:not(:first-child),.cmp-table--modes td[data-v-e5f89c80]:not(:first-child){text-align:right}.dual-chart-row[data-v-e5f89c80]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);margin-top:var(--space-5)}.dual-chart-col[data-v-e5f89c80]{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.dual-chart-head[data-v-e5f89c80]{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-dim);display:flex;align-items:center;gap:var(--space-2)}@media (max-width: 700px){.dual-chart-row[data-v-e5f89c80]{grid-template-columns:1fr}}.event-stat-list[data-v-e5f89c80]{display:flex;flex-direction:column;gap:var(--space-3)}.event-stat-row[data-v-e5f89c80]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) 0}.chart-wrap[data-v-e5f89c80]{height:220px;position:relative}.chart-wrap--sm[data-v-e5f89c80]{height:180px}@media (max-width: 960px){.row[data-v-e5f89c80]{grid-template-columns:1fr}}.logs-page[data-v-4da68d4a]{display:flex;flex-direction:column;gap:var(--space-4)}.chip--warning[data-v-4da68d4a]{background:var(--color-warning-soft);color:var(--color-warning-strong)}.stats-row[data-v-4da68d4a]{display:flex;gap:var(--space-3);flex-wrap:wrap}.stat-mini[data-v-4da68d4a]{display:flex;align-items:center;gap:var(--space-2);padding:6px 12px;border-radius:8px;font-size:var(--font-size-sm);border:1px solid var(--color-border)}.stat-mini--danger[data-v-4da68d4a]{background:var(--color-danger-softer);color:var(--color-danger-strong);border-color:var(--color-danger-border)}.stat-mini--warning[data-v-4da68d4a]{background:var(--color-warning-soft);color:var(--color-warning-strong)}.stat-mini--neutral[data-v-4da68d4a]{background:var(--color-neutral-soft);color:var(--color-text-faint)}.stat-mini-count[data-v-4da68d4a]{font-weight:600}.filter-bar[data-v-4da68d4a]{display:flex;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;padding:var(--space-4)}.filter-item[data-v-4da68d4a]{display:flex;flex-direction:column;gap:4px}.filter-item--grow[data-v-4da68d4a]{flex:1;min-width:220px}.filter-item label[data-v-4da68d4a]{font-size:var(--font-size-xs);color:var(--color-text-faint)}.filter-item input[data-v-4da68d4a],.filter-item select[data-v-4da68d4a]{padding:6px 10px;border-radius:6px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-base);min-width:160px}.logs-panel[data-v-4da68d4a]{padding:0}.logs-table[data-v-4da68d4a]{width:100%;border-collapse:collapse;font-size:var(--font-size-base)}.logs-table th[data-v-4da68d4a]{text-align:left;padding:8px 12px;border-bottom:1px solid var(--color-border);color:var(--color-text-faint);font-weight:500}.logs-table td[data-v-4da68d4a]{padding:7px 12px;border-bottom:1px solid var(--color-border);vertical-align:top}.log-row-main[data-v-4da68d4a]{cursor:pointer}.log-row-main[data-v-4da68d4a]:hover{background:var(--color-neutral-soft)}.log-time[data-v-4da68d4a]{white-space:nowrap;color:var(--color-text-faint)}.log-logger[data-v-4da68d4a]{white-space:nowrap}.log-message[data-v-4da68d4a]{word-break:break-word}.log-row-detail td[data-v-4da68d4a]{background:var(--color-neutral-soft)}.log-detail[data-v-4da68d4a]{padding:4px 0;display:flex;flex-direction:column;gap:6px}.log-exc[data-v-4da68d4a]{white-space:pre-wrap;word-break:break-word;margin:0;font-family:var(--font-family-mono);font-size:var(--font-size-sm);color:var(--color-danger-strong)}.pager[data-v-4da68d4a]{display:flex;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-4)}.pager-info[data-v-4da68d4a]{font-size:var(--font-size-sm);color:var(--color-text-faint)}:root{color-scheme:dark;--color-bg: #000000;--color-surface: #0a0e14;--color-surface-raised: #101a24;--color-surface-sunken: #000000;--color-border: #16222e;--color-border-strong: #2c4a63;--color-text: #f2f8ff;--color-text-dim: #b9d0e9;--color-text-muted: #6f8caa;--color-text-faint: #3c4f5c;--color-text-inverse: #f5faff;--color-brand-50: rgba(47, 125, 255, .06);--color-brand-100: rgba(47, 125, 255, .18);--color-brand-200: rgba(47, 125, 255, .38);--color-brand-500: #4a8fff;--color-brand-600: #2f7dff;--color-brand-700: #8fb8ff;--color-brand: var(--color-brand-600);--color-brand-strong: var(--color-brand-700);--color-brand-soft: rgba(47, 125, 255, .16);--color-brand-softer: rgba(47, 125, 255, .07);--color-success: #00ff6a;--color-success-strong: #9dffce;--color-success-soft: rgba(0, 255, 106, .14);--color-success-softer: rgba(0, 255, 106, .06);--color-success-border: rgba(0, 255, 106, .35);--color-warning: #ffaa00;--color-warning-strong: #ffd166;--color-warning-soft: rgba(255, 178, 56, .14);--color-warning-softer: rgba(255, 178, 56, .06);--color-warning-border: rgba(255, 178, 56, .35);--color-danger: #ff1744;--color-danger-strong: #ff7a95;--color-danger-soft: rgba(255, 77, 120, .14);--color-danger-softer: rgba(255, 77, 120, .06);--color-danger-border: rgba(255, 77, 120, .35);--color-info: #b14bff;--color-info-soft: rgba(177, 75, 255, .16);--color-neutral-soft: rgba(185, 208, 233, .1);--glow-brand: 0 0 0 1px var(--color-brand-200), 0 0 24px -4px rgba(47, 125, 255, .65);--glow-success: 0 0 0 1px var(--color-success-border), 0 0 24px -4px rgba(0, 255, 106, .6);--glow-warning: 0 0 0 1px var(--color-warning-border), 0 0 24px -4px rgba(255, 170, 0, .6);--glow-danger: 0 0 0 1px var(--color-danger-border), 0 0 24px -4px rgba(255, 23, 68, .6);--color-overlay: rgba(0, 0, 0, .72);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 14px;--radius-pill: 999px;--space-1: 4px;--space-2: 6px;--space-3: 8px;--space-4: 10px;--space-5: 12px;--space-6: 14px;--space-7: 16px;--space-8: 20px;--space-9: 24px;--font-size-xs: 13px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-md: 17px;--font-size-lg: 19px;--font-size-xl: 21px;--font-size-2xl: 28px;--font-family-base: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono: "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;--shadow-card: 0 1px 0 rgba(255, 255, 255, .02) inset, 0 10px 24px -16px rgba(0, 0, 0, .7);--shadow-popover: 0 20px 60px -16px rgba(0, 0, 0, .8), 0 0 0 1px rgba(255, 255, 255, .04);--sidebar-width: 196px;--topbar-height: 52px;--color-sidebar-bg: #000000;--color-sidebar-text: #b9d0e9;--color-sidebar-text-muted: #6f8caa;--color-sidebar-hover: rgba(47, 125, 255, .1);--color-sidebar-active: var(--color-brand-600);--color-sidebar-border: rgba(47, 125, 255, .14);--transition-fast: .15s ease}*{box-sizing:border-box}body{font-family:var(--font-family-base);color:var(--color-text);font-size:var(--font-size-base)}::selection{background:var(--color-brand-soft);color:var(--color-brand-strong)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-pill)}.mono{font-family:var(--font-family-mono);font-size:1.08em}.text-success{color:var(--color-success-strong)}.text-danger{color:var(--color-danger-strong)}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-7);box-shadow:var(--shadow-card)}.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-5)}.panel-head h3,.panel-title{margin:0;font-size:var(--font-size-base);font-weight:700;color:var(--color-text-dim)}.panel-hint{font-size:var(--font-size-xs);color:var(--color-text-faint)}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-7)}.stat-card--alert{border-color:var(--color-danger-border);background:var(--color-danger-softer)}.stat-card--success{border-color:var(--color-success-border);background:var(--color-success-softer)}.stat-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-weight:600}.stat-value{font-size:30px;font-weight:700;color:var(--color-text);margin-top:var(--space-2);font-family:var(--font-family-mono)}.stat-sub{font-size:var(--font-size-xs);color:var(--color-text-faint);margin-top:var(--space-2);display:block}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:inherit;font-size:var(--font-size-base);font-weight:700;padding:var(--space-4) var(--space-7);border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast);text-decoration:none;white-space:nowrap}.btn:disabled{cursor:not-allowed;background:var(--color-surface-raised);color:var(--color-text-muted);border-color:var(--color-border);box-shadow:none}.btn--primary{background:var(--color-brand);color:var(--color-text-inverse);box-shadow:var(--glow-brand)}.btn--primary:hover:not(:disabled){background:var(--color-brand-strong)}.btn--soft{background:var(--color-brand-softer);color:var(--color-brand-strong)}.btn--soft:hover:not(:disabled){background:var(--color-brand-soft)}.btn--success{background:var(--color-success-soft);color:var(--color-success-strong)}.btn--success:hover:not(:disabled){background:var(--color-success-softer);box-shadow:var(--glow-success)}.btn--warning{background:var(--color-warning-soft);color:var(--color-warning-strong)}.btn--warning:hover:not(:disabled){background:var(--color-warning-softer);box-shadow:var(--glow-warning)}.btn--danger{background:var(--color-danger-soft);color:var(--color-danger-strong)}.btn--danger:hover:not(:disabled){background:var(--color-danger-softer);box-shadow:var(--glow-danger)}.btn--danger-solid{background:var(--color-danger);color:var(--color-text-inverse);box-shadow:var(--glow-danger)}.btn--danger-solid:hover:not(:disabled){background:var(--color-danger-strong)}.btn--ghost{background:var(--color-surface);color:var(--color-text-faint);border-color:var(--color-border)}.btn--ghost:hover:not(:disabled){color:var(--color-danger);border-color:var(--color-danger-border)}.btn--sm{padding:var(--space-2) var(--space-5);font-size:var(--font-size-sm);border-radius:var(--radius-sm)}.btn--block{flex:1;width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer}.icon-btn:hover:not(:disabled){color:var(--color-brand)}.icon-btn:disabled{cursor:not-allowed;color:var(--color-text-faint);border-color:var(--color-border)}.icon-btn--plain{background:none;border:none;width:auto;height:auto}.badge{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;padding:2px 8px;border-radius:var(--radius-pill);white-space:nowrap}.badge--brand{background:var(--color-brand-soft);color:var(--color-brand-strong)}.badge--success{background:var(--color-success-soft);color:var(--color-success-strong)}.badge--warning{background:var(--color-warning-soft);color:var(--color-warning-strong)}.badge--danger{background:var(--color-danger-soft);color:var(--color-danger-strong)}.badge--fit-on{background:var(--color-success);color:var(--color-bg);box-shadow:var(--glow-success)}.badge--fit-off{background:var(--color-danger);color:var(--color-text-inverse);box-shadow:var(--glow-danger)}.badge--info{background:var(--color-info-soft);color:var(--color-info)}.badge--neutral{background:var(--color-neutral-soft);color:var(--color-text-faint)}.badge--solid{background:var(--color-brand);color:var(--color-text-inverse)}.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block}.status{display:inline-flex;align-items:center;gap:5px;font-size:var(--font-size-base);font-weight:700}.status--on{color:var(--color-success)}.status--off{color:var(--color-text-faint)}.chip{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-sm);color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);padding:4px 10px;border-radius:var(--radius-pill)}.empty-state{text-align:center;padding:var(--space-9) 0;color:var(--color-text-faint);font-size:var(--font-size-base);background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg)}.empty-state--error{color:var(--color-danger);border-color:var(--color-danger-border);background:var(--color-danger-softer)}.empty-state--compact{padding:var(--space-7) 0;font-size:var(--font-size-sm);background:none;border:none}.empty-state-emoji{font-size:30px;margin-bottom:var(--space-4)}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-dim)}.field .field-hint{font-weight:400;color:var(--color-text-faint);font-size:var(--font-size-xs)}.field input,.field select,.input,.select{width:100%;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-5);font-size:var(--font-size-base);color:var(--color-text);font-family:inherit;background:var(--color-surface)}.field input:focus,.field select:focus,.input:focus,.select:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 2px var(--color-brand-100)}.input--mono{font-family:var(--font-family-mono)}.field-row{display:flex;align-items:center;gap:var(--space-5)}.field-row>label{flex:0 0 150px;font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:500}.field-row>input,.field-row>select{flex:1}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay);display:flex;align-items:center;justify-content:center;z-index:50;padding:var(--space-8)}.modal-overlay--raised{z-index:80}.modal-panel{background:var(--color-surface);border-radius:var(--radius-xl);width:100%;max-width:520px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-popover)}.modal-panel--wide{max-width:720px}.modal-panel--xl{max-width:1040px}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:var(--space-6) var(--space-8);border-bottom:1px solid var(--color-border);flex:0 0 auto}.modal-head h3{margin:0;font-size:var(--font-size-lg);color:var(--color-text)}.modal-body{padding:var(--space-7) var(--space-8);overflow-y:auto}.modal-foot{display:flex;justify-content:flex-end;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-8);border-top:1px solid var(--color-border);flex:0 0 auto}.toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-8);font-size:var(--font-size-base);font-weight:500}.toast--success{background:var(--color-success-softer);color:var(--color-success-strong);border-bottom:1px solid var(--color-success-border)}.toast--error{background:var(--color-danger-softer);color:var(--color-danger-strong);border-bottom:1px solid var(--color-danger-border)}.toast-close{margin-left:auto;background:none;border:none;color:inherit;opacity:.6;cursor:pointer}.toast-close:hover{opacity:1}.tabs{display:inline-flex;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:3px}.tab{padding:var(--space-3) var(--space-6);border:none;background:none;border-radius:var(--radius-sm);font-family:inherit;font-size:var(--font-size-base);font-weight:600;color:var(--color-text-muted);cursor:pointer}.tab--active{background:var(--color-brand);color:var(--color-text-inverse)}.list-row{display:flex;align-items:center;gap:var(--space-5);padding:var(--space-4) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md)}.list-row--active{border-color:var(--color-brand-200);background:var(--color-brand-softer)}.scroll-y{overflow-y:auto}
