@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;600;700&family=IBM+Plex+Mono:wght@300;400;500;600&display=swap";.summary-bar[data-v-399d1e6e]{padding:0 var(--space-6);background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);align-items:center;gap:0;height:52px;display:flex;overflow-x:auto}.stat[data-v-399d1e6e]{padding:0 var(--space-6);flex-direction:column;flex-shrink:0;gap:1px;min-width:0;display:flex}.stat-btn[data-v-399d1e6e]{cursor:pointer;border-radius:var(--radius-md);transition:background var(--transition-fast);text-align:left;background:0 0;border:none;font-family:inherit}.stat-btn[data-v-399d1e6e]:hover{background:var(--bg-hover)}.stat-btn.stat-active[data-v-399d1e6e]{background:var(--bg-elevated);outline:1px solid var(--border-default)}.label[data-v-399d1e6e]{font-size:var(--text-xs);letter-spacing:.1em;color:var(--text-muted);font-weight:600;font-family:var(--font-mono)}.value[data-v-399d1e6e]{font-size:var(--text-md);color:var(--text-primary);align-items:center;gap:var(--space-2);cursor:default;font-weight:500;display:flex}.capital-stat .value[data-v-399d1e6e]{cursor:pointer;transition:color var(--transition-fast)}.capital-stat .value[data-v-399d1e6e]:hover{color:var(--accent-blue)}.edit-icon[data-v-399d1e6e]{opacity:0;width:10px;height:10px;transition:opacity var(--transition-fast)}.capital-stat .value:hover .edit-icon[data-v-399d1e6e]{opacity:.6}.capital-input[data-v-399d1e6e]{background:var(--bg-input);border:1px solid var(--accent-blue);color:var(--text-primary);font-size:var(--text-md);font-family:var(--font-mono);padding:1px var(--space-3);border-radius:var(--radius-sm);outline:none;width:120px}.pct[data-v-399d1e6e]{font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-mono)}.pct.warn[data-v-399d1e6e]{color:var(--accent-orange)}.ok[data-v-399d1e6e]{color:var(--text-muted)}.masked[data-v-399d1e6e]{color:var(--text-muted);letter-spacing:.05em;cursor:default}.badge[data-v-399d1e6e]{min-width:22px;height:20px;padding:0 var(--space-3);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-sm);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.badge.orange[data-v-399d1e6e]{background:var(--accent-orange-dim);color:var(--accent-orange);border:1px solid #ff7a2f4d}.badge.amber[data-v-399d1e6e]{background:var(--accent-amber-dim);color:var(--accent-amber);border:1px solid #ffb0204d}.badge.blue[data-v-399d1e6e]{background:var(--accent-blue-dim);color:var(--accent-blue);border:1px solid #4d94ff4d}.badge.pulse[data-v-399d1e6e]{animation:1.2s ease-in-out infinite badge-pulse-399d1e6e}@keyframes badge-pulse-399d1e6e{0%,to{box-shadow:0 0 #ff7a2f00}50%{box-shadow:0 0 0 4px #ff7a2f40}}.divider[data-v-399d1e6e]{background:var(--border-subtle);flex-shrink:0;width:1px;height:28px}.chip[data-v-ee462ff3]{border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;align-items:center;padding:2px 7px;font-weight:600;display:inline-flex}.exit[data-v-ee462ff3]{background:var(--accent-orange-dim);color:var(--accent-orange);border:1px solid #ff7a2f73;font-weight:700;animation:1.2s ease-in-out infinite pulse-orange-ee462ff3}@keyframes pulse-orange-ee462ff3{0%,to{box-shadow:0 0 #ff7a2f00}50%{box-shadow:0 0 0 4px #ff7a2f4d}}.book-profit[data-v-ee462ff3]{background:var(--accent-amber-dim);color:var(--accent-amber);border:1px solid #ffb02059;font-weight:700}.add-tranche[data-v-ee462ff3]{background:var(--accent-blue-dim);color:var(--accent-blue);border:1px solid #4d94ff59;font-weight:700;animation:1.4s ease-in-out infinite pulse-blue-ee462ff3}@keyframes pulse-blue-ee462ff3{0%,to{box-shadow:0 0 #4d94ff00}50%{box-shadow:0 0 0 3px #4d94ff4d}}.hold[data-v-ee462ff3]{color:var(--text-dim);border:1px solid var(--border-subtle);background:0 0}.tranche-wrap[data-v-2c66b7db]{background:var(--bg-base);border-top:1px solid var(--border-subtle);padding:var(--space-4) var(--space-7)}.reason-banner[data-v-2c66b7db]{align-items:center;gap:var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);padding:var(--space-2) var(--space-4);margin-bottom:var(--space-3);border-radius:var(--radius-sm);border-left:3px solid;font-weight:500;display:flex}.reason-banner.exit[data-v-2c66b7db]{background:var(--row-sl-breach-bg);border-color:var(--accent-orange);color:var(--accent-orange)}.reason-banner.book-profit[data-v-2c66b7db]{background:var(--accent-amber-dim);border-color:var(--accent-amber);color:var(--accent-amber)}.reason-banner.add-tranche[data-v-2c66b7db]{background:var(--row-add-bg);border-color:var(--accent-blue);color:var(--accent-blue)}.reason-icon[data-v-2c66b7db]{font-size:var(--text-sm);flex-shrink:0;font-weight:700}.drawdown[data-v-2c66b7db]{color:var(--accent-orange);font-weight:600}.tranche-table[data-v-2c66b7db]{border-collapse:collapse;width:100%;font-size:var(--text-xs)}thead tr[data-v-2c66b7db]{border-bottom:1px solid var(--border-subtle)}th[data-v-2c66b7db]{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);padding:var(--space-2) var(--space-4);white-space:nowrap;font-weight:500}td[data-v-2c66b7db]{font-size:var(--text-xs);padding:var(--space-2) var(--space-4);color:var(--text-muted);border-bottom:1px solid var(--border-subtle)}tbody tr:last-child td[data-v-2c66b7db]{border-bottom:none}.right[data-v-2c66b7db]{text-align:right}.num[data-v-2c66b7db]{font-family:var(--font-mono)}.muted[data-v-2c66b7db]{color:var(--text-muted)}.pos[data-v-2c66b7db]{color:var(--accent-green)}.neg[data-v-2c66b7db]{color:var(--accent-red)}.delta[data-v-2c66b7db]{color:var(--accent-blue);font-weight:600}.label-pill[data-v-2c66b7db]{background:var(--accent-blue-dim);color:var(--accent-blue);font-family:var(--font-mono);font-size:var(--text-xs);border-radius:var(--radius-sm);padding:1px 6px;font-weight:600}.broker-tag[data-v-2c66b7db]{width:18px;height:18px;font-size:var(--text-xs);font-weight:700;font-family:var(--font-mono);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.broker-tag.zerodha[data-v-2c66b7db]{color:#3b82f6;background:#0357e633}.broker-tag.groww[data-v-2c66b7db]{color:#22c55e;background:#00b45a33}.outer-wrap[data-v-72e5a1e6]{flex-direction:column;flex:1;display:flex;overflow:hidden}.filter-bar[data-v-72e5a1e6]{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;flex-shrink:0;display:flex}.filter-search[data-v-72e5a1e6]{align-items:center;gap:var(--space-2);background:var(--bg-base);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:0 var(--space-3);min-width:150px;height:28px;transition:border-color var(--transition-fast);display:flex}.filter-search[data-v-72e5a1e6]:focus-within{border-color:var(--accent-blue)}.filter-icon[data-v-72e5a1e6]{width:11px;height:11px;color:var(--text-dim);flex-shrink:0}.filter-input[data-v-72e5a1e6]{color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-xs);background:0 0;border:none;outline:none;width:110px}.filter-input[data-v-72e5a1e6]::placeholder{color:var(--text-dim)}.filter-clear-x[data-v-72e5a1e6]{color:var(--text-dim);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:0;font-size:9px;line-height:1}.filter-clear-x[data-v-72e5a1e6]:hover{color:var(--text-primary)}.filter-select[data-v-72e5a1e6]{background:var(--bg-base);border:1px solid var(--border-default);border-radius:var(--radius-sm);height:28px;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs);padding:0 var(--space-4) 0 var(--space-3);cursor:pointer;transition:border-color var(--transition-fast);appearance:auto;outline:none}.filter-select[data-v-72e5a1e6]:focus{border-color:var(--accent-blue);color:var(--text-primary)}.filter-select[data-v-72e5a1e6]:hover{border-color:var(--border-default);color:var(--text-primary)}.filter-results[data-v-72e5a1e6]{align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);margin-left:auto;display:flex}.filter-count[data-v-72e5a1e6]{color:var(--text-primary);font-weight:700}.filter-of[data-v-72e5a1e6]{color:var(--text-dim)}.filter-clear-btn[data-v-72e5a1e6]{border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-dim);font-family:var(--font-mono);font-size:var(--text-xs);padding:0 var(--space-3);cursor:pointer;height:28px;transition:all var(--transition-fast);background:0 0}.filter-clear-btn[data-v-72e5a1e6]:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.table-wrap[data-v-72e5a1e6]{flex:1;overflow:auto}.positions-table[data-v-72e5a1e6]{border-collapse:collapse;width:100%;font-size:var(--text-base)}thead tr[data-v-72e5a1e6]{background:var(--bg-surface);z-index:10;border-bottom:2px solid var(--border-default);position:sticky;top:0}th[data-v-72e5a1e6]{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;color:var(--text-dim);padding:var(--space-3) var(--space-4);white-space:nowrap;text-align:left;font-weight:600}th.right[data-v-72e5a1e6]{text-align:right}th.center[data-v-72e5a1e6]{text-align:center}th.sortable[data-v-72e5a1e6]{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast)}th.sortable[data-v-72e5a1e6]:hover{color:var(--text-muted)}th.sortable.sorted[data-v-72e5a1e6]{color:var(--accent-blue)}.sort-icon[data-v-72e5a1e6]{text-align:center;opacity:.6;width:10px;margin-left:2px;font-size:9px;display:inline-block}th.sorted .sort-icon[data-v-72e5a1e6]{opacity:1}td[data-v-72e5a1e6]{padding:var(--space-3) var(--space-4);color:var(--text-primary);white-space:nowrap;vertical-align:middle}td.right[data-v-72e5a1e6]{text-align:right}td.center[data-v-72e5a1e6]{text-align:center}.dim[data-v-72e5a1e6]{color:var(--text-dim)}.data-row[data-v-72e5a1e6]{border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:background var(--transition-fast)}.data-row.row-hold[data-v-72e5a1e6]:hover{background:var(--bg-hover)}.data-row.row-exit[data-v-72e5a1e6]{background:var(--row-sl-breach-bg);border-left:4px solid var(--accent-orange)}.data-row.row-exit[data-v-72e5a1e6]:hover{background:var(--row-sl-breach-hover)}.data-row.row-exit .sym-name[data-v-72e5a1e6]{color:var(--accent-orange)}.data-row.row-add[data-v-72e5a1e6]{background:var(--row-add-bg);border-left:4px solid var(--accent-blue)}.data-row.row-add[data-v-72e5a1e6]:hover{background:var(--row-add-hover)}.data-row.row-add .sym-name[data-v-72e5a1e6]{color:var(--accent-blue)}.data-row.row-book-profit[data-v-72e5a1e6]{background:var(--accent-amber-dim);border-left:4px solid var(--accent-amber)}.data-row.row-book-profit[data-v-72e5a1e6]:hover{background:#ffb0201f}.data-row.row-book-profit .sym-name[data-v-72e5a1e6]{color:var(--accent-amber)}.data-row.row-selected[data-v-72e5a1e6]{outline:1px solid #4d94ff4d}.cell-sl-breach[data-v-72e5a1e6]{font-weight:600;color:var(--accent-orange)!important}.cell-tranche-ready[data-v-72e5a1e6]{font-weight:600;color:var(--accent-blue)!important}.sym-cell[data-v-72e5a1e6]{align-items:center;gap:var(--space-2);display:flex}.expand-arrow[data-v-72e5a1e6]{width:10px;height:10px;color:var(--text-dim);transition:transform var(--transition-fast);flex-shrink:0}.expand-arrow.open[data-v-72e5a1e6]{transform:rotate(180deg)}.sym-name[data-v-72e5a1e6]{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-primary);letter-spacing:.04em;transition:color var(--transition-fast);cursor:pointer;font-weight:700}.sym-name[data-v-72e5a1e6]:hover{text-underline-offset:3px;text-decoration:underline}.broker-dot[data-v-72e5a1e6]{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;font-size:8px;font-weight:700;display:inline-flex}.broker-dot.zerodha[data-v-72e5a1e6]{background:var(--accent-blue-dim);color:var(--accent-blue)}.broker-dot.groww[data-v-72e5a1e6]{background:var(--accent-amber-dim);color:var(--accent-amber)}.label-cell[data-v-72e5a1e6]{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.strategy-badge[data-v-72e5a1e6]{text-overflow:ellipsis;white-space:nowrap;max-width:110px;height:15px;font-family:var(--font-mono);letter-spacing:.04em;color:#2dd4bf;cursor:default;background:#14b8a61f;border:1px solid #14b8a64d;border-radius:2px;align-items:center;padding:0 5px;font-size:8px;font-weight:600;display:inline-flex;overflow:hidden}[data-theme=light] .strategy-badge[data-v-72e5a1e6]{color:#0f766e;background:#0d94881a;border-color:#0d94884d}.label-badge[data-v-72e5a1e6]{height:16px;font-family:var(--font-mono);letter-spacing:.06em;white-space:nowrap;border:1px solid #0000;border-radius:2px;align-items:center;padding:0 5px;font-size:8px;font-weight:700;display:inline-flex}.lbl-unset[data-v-72e5a1e6]{color:var(--text-faint)}.lbl-core[data-v-72e5a1e6]{color:#60a5fa;background:#2563eb26;border-color:#2563eb59}.lbl-satellite[data-v-72e5a1e6]{color:#fbbf24;background:#f59e0b26;border-color:#f59e0b59}.lbl-etf[data-v-72e5a1e6]{color:#fde047;background:#eab30826;border-color:#eab30859}.lbl-speculative[data-v-72e5a1e6]{color:#c084fc;background:#a855f726;border-color:#a855f759}[data-theme=light] .lbl-core[data-v-72e5a1e6]{color:#1d4ed8;background:#2563eb1a}[data-theme=light] .lbl-satellite[data-v-72e5a1e6]{color:#b45309;background:#d977061a}[data-theme=light] .lbl-etf[data-v-72e5a1e6]{color:#a16207;background:#ca8a041a}[data-theme=light] .lbl-speculative[data-v-72e5a1e6]{color:#7e22ce;background:#9333ea1a}.tranche-label[data-v-72e5a1e6]{font-size:var(--text-sm);color:var(--accent-blue);font-weight:600}.tranche-count-dim[data-v-72e5a1e6]{font-size:var(--text-xs);color:var(--text-dim);margin-left:var(--space-1)}.pnl-val[data-v-72e5a1e6]{font-size:var(--text-sm);font-weight:600}.pos[data-v-72e5a1e6]{color:var(--accent-green)}.neg[data-v-72e5a1e6]{color:var(--accent-red)}.editable-val[data-v-72e5a1e6]{cursor:text;border-radius:var(--radius-sm);transition:background var(--transition-fast);font-size:var(--text-base);padding:2px 4px;display:inline-block}.editable-val[data-v-72e5a1e6]:hover{background:var(--bg-elevated);color:var(--accent-blue);outline:1px solid var(--border-default)}.inline-input[data-v-72e5a1e6]{background:var(--bg-input);border:1px solid var(--accent-blue);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-base);text-align:right;outline:none;width:80px;padding:2px 5px}.detail-row[data-v-72e5a1e6]{background:var(--bg-base)}.detail-cell[data-v-72e5a1e6]{padding:0}.skeleton-row td[data-v-72e5a1e6]{padding:var(--space-4) var(--space-4)}.skel[data-v-72e5a1e6]{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--bg-elevated) 25%, var(--bg-hover) 50%, var(--bg-elevated) 75%);background-size:200% 100%;width:60px;height:12px;animation:1.5s infinite shimmer-72e5a1e6}@keyframes shimmer-72e5a1e6{0%{background-position:200% 0}to{background-position:-200% 0}}.empty[data-v-72e5a1e6]{text-align:center;padding:var(--space-8)!important}.empty-inner[data-v-72e5a1e6]{align-items:center;gap:var(--space-4);color:var(--text-dim);font-size:var(--text-md);flex-direction:column;display:flex}.empty-icon[data-v-72e5a1e6]{opacity:.25;font-size:32px}.col-check[data-v-72e5a1e6]{text-align:center;width:30px;padding:0 var(--space-3)!important}.cb-wrap[data-v-72e5a1e6]{cursor:pointer;justify-content:center;align-items:center;display:flex}.cb[data-v-72e5a1e6]{appearance:none;border:1.5px solid var(--border-default);cursor:pointer;width:13px;height:13px;transition:border-color var(--transition-fast), background var(--transition-fast);background:0 0;border-radius:2px;flex-shrink:0;position:relative}.cb[data-v-72e5a1e6]:hover{border-color:var(--accent-blue)}.cb[data-v-72e5a1e6]:checked{background:var(--accent-blue);border-color:var(--accent-blue)}.cb[data-v-72e5a1e6]:checked:after{content:"";border:1.5px solid #fff;border-top:none;border-left:none;width:5px;height:8px;position:absolute;top:1px;left:3px;transform:rotate(45deg)}.cb[data-v-72e5a1e6]:indeterminate{border-color:var(--accent-blue)}.cb[data-v-72e5a1e6]:indeterminate:after{content:"";background:var(--accent-blue);width:7px;height:1.5px;position:absolute;top:4px;left:2px}.action-bar[data-v-72e5a1e6]{bottom:var(--space-6);align-items:center;gap:var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-3) var(--space-5);z-index:200;white-space:nowrap;font-family:var(--font-mono);font-size:var(--text-sm);display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 32px #00000073}.bar-count[data-v-72e5a1e6]{color:var(--text-muted);font-weight:600;font-size:var(--text-xs);letter-spacing:.06em}.bar-divider[data-v-72e5a1e6]{background:var(--border-default);flex-shrink:0;width:1px;height:16px}.bar-label[data-v-72e5a1e6]{color:var(--text-dim);font-size:var(--text-xs);letter-spacing:.06em}.bar-pnl[data-v-72e5a1e6]{align-items:center;gap:var(--space-2);display:flex}.bar-value[data-v-72e5a1e6]{font-size:var(--text-base);font-weight:700}.bar-pct[data-v-72e5a1e6]{font-size:var(--text-xs);opacity:.85;font-weight:600}.bar-warn[data-v-72e5a1e6],.bar-no-price[data-v-72e5a1e6]{color:var(--text-dim);font-size:var(--text-xs)}.bar-label-section[data-v-72e5a1e6],.bar-strategy-section[data-v-72e5a1e6]{align-items:center;gap:var(--space-2);display:flex}.bar-strategy-select[data-v-72e5a1e6]{height:22px;padding:0 var(--space-2);background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-primary);font-family:var(--font-mono);cursor:pointer;border-radius:2px;font-size:9px}.strat-assign-btn[data-v-72e5a1e6]{color:#2dd4bf;background:#14b8a626;border-color:#14b8a659}.strat-assign-btn[data-v-72e5a1e6]:hover:not(:disabled){background:#14b8a640}[data-theme=light] .strat-assign-btn[data-v-72e5a1e6]{color:#0f766e;background:#0d94881a;border-color:#0d94884d}.lbl-btn[data-v-72e5a1e6]{height:22px;padding:0 var(--space-3);font-family:var(--font-mono);letter-spacing:.06em;cursor:pointer;transition:opacity var(--transition-fast), transform var(--transition-fast);border:1px solid #0000;border-radius:2px;font-size:9px;font-weight:700}.lbl-btn[data-v-72e5a1e6]:hover{opacity:.85;transform:translateY(-1px)}.lbl-btn[data-v-72e5a1e6]:active{transform:translateY(0)}.lbl-btn[data-v-72e5a1e6]:disabled{opacity:.4;cursor:default;transform:none}.lbl-btn.lbl-core[data-v-72e5a1e6]{color:#60a5fa;background:#2563eb33;border-color:#2563eb80}.lbl-btn.lbl-satellite[data-v-72e5a1e6]{color:#fbbf24;background:#f59e0b33;border-color:#f59e0b80}.lbl-btn.lbl-etf[data-v-72e5a1e6]{color:#fde047;background:#eab30833;border-color:#eab30880}.lbl-btn.lbl-speculative[data-v-72e5a1e6]{color:#c084fc;background:#a855f733;border-color:#a855f780}.lbl-btn.lbl-clear[data-v-72e5a1e6]{border-color:var(--border-default);color:var(--text-dim);background:0 0}.lbl-btn.lbl-clear[data-v-72e5a1e6]:hover{border-color:var(--text-dim);color:var(--text-muted)}.bar-clear[data-v-72e5a1e6]{color:var(--text-dim);cursor:pointer;font-size:var(--text-sm);padding:0 var(--space-1);transition:color var(--transition-fast);background:0 0;border:none;line-height:1}.bar-clear[data-v-72e5a1e6]:hover{color:var(--text-primary)}.bar-enter-active[data-v-72e5a1e6]{transition:all .18s}.bar-leave-active[data-v-72e5a1e6]{transition:all .15s}.bar-enter-from[data-v-72e5a1e6],.bar-leave-to[data-v-72e5a1e6]{opacity:0;transform:translate(-50%)translateY(10px)}.panel-overlay[data-v-191cee9e]{z-index:100;background:#00000080;justify-content:flex-end;display:flex;position:fixed;inset:0}.panel[data-v-191cee9e]{background:var(--bg-elevated);border-left:1px solid var(--border-default);flex-direction:column;width:320px;height:100%;display:flex;overflow-y:auto}.panel-header[data-v-191cee9e]{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.panel-title[data-v-191cee9e]{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.15em;color:var(--text-dim);font-weight:700}.close-btn[data-v-191cee9e]{color:var(--text-dim);font-size:var(--text-base);cursor:pointer;padding:var(--space-2);transition:color var(--transition-fast);background:0 0;border:none}.close-btn[data-v-191cee9e]:hover{color:var(--text-primary)}.panel-body[data-v-191cee9e]{padding:var(--space-6);gap:var(--space-6);flex-direction:column;flex:1;display:flex}.field[data-v-191cee9e]{gap:var(--space-2);flex-direction:column;display:flex}.field-label[data-v-191cee9e]{font-size:var(--text-xs);letter-spacing:.08em;color:var(--text-muted);font-weight:600;font-family:var(--font-mono);text-transform:uppercase}.field-input[data-v-191cee9e]{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-base);padding:var(--space-3) var(--space-4);transition:border-color var(--transition-fast);outline:none}.field-input[data-v-191cee9e]:focus{border-color:var(--accent-blue)}.field-hint[data-v-191cee9e]{font-size:var(--text-xs);color:var(--text-dim)}.panel-footer[data-v-191cee9e]{padding:var(--space-5) var(--space-6);border-top:1px solid var(--border-subtle)}.save-btn[data-v-191cee9e]{width:100%;padding:var(--space-3) 0;background:var(--accent-blue);color:#fff;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.08em;cursor:pointer;transition:opacity var(--transition-fast);border:none;font-weight:700}.save-btn[data-v-191cee9e]:hover{opacity:.85}.save-btn[data-v-191cee9e]:active{opacity:.7}.slide-enter-active[data-v-191cee9e],.slide-leave-active[data-v-191cee9e]{transition:transform var(--transition-med)}.slide-enter-from .panel[data-v-191cee9e],.slide-leave-to .panel[data-v-191cee9e]{transform:translate(100%)}.panel-overlay[data-v-7b03b475]{z-index:100;background:#0000008c;justify-content:flex-end;display:flex;position:fixed;inset:0}.panel[data-v-7b03b475]{background:var(--bg-elevated);border-left:1px solid var(--border-default);flex-direction:column;width:600px;height:100%;display:flex;overflow:hidden}.panel-header[data-v-7b03b475]{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.header-left[data-v-7b03b475],.header-right[data-v-7b03b475]{align-items:center;gap:var(--space-3);display:flex}.panel-title[data-v-7b03b475]{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.15em;color:var(--text-dim);font-weight:700}.count-badge[data-v-7b03b475]{background:var(--accent-blue-dim);color:var(--accent-blue);font-family:var(--font-mono);font-size:var(--text-xs);border-radius:var(--radius-sm);padding:1px 6px;font-weight:700}.icon-btn[data-v-7b03b475]{align-items:center;gap:var(--space-2);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs);padding:var(--space-2) var(--space-4);cursor:pointer;transition:all var(--transition-fast);height:26px;font-weight:500;display:inline-flex}.icon-btn[data-v-7b03b475]:hover:not(:disabled){border-color:var(--accent-blue);color:var(--text-primary)}.icon-btn[data-v-7b03b475]:disabled{opacity:.5;cursor:default}.close-btn[data-v-7b03b475]{color:var(--text-dim);font-size:var(--text-base);cursor:pointer;padding:var(--space-2);transition:color var(--transition-fast);background:0 0;border:none}.close-btn[data-v-7b03b475]:hover{color:var(--text-primary)}.add-form[data-v-7b03b475]{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);gap:var(--space-3);flex-direction:column;flex-shrink:0;display:flex}.form-row[data-v-7b03b475]{gap:var(--space-3);display:flex}.form-input[data-v-7b03b475]{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-sm);padding:var(--space-3) var(--space-4);outline:none;flex:1;min-width:0}.form-input[data-v-7b03b475]:focus{border-color:var(--accent-blue)}.form-hint[data-v-7b03b475]{font-size:var(--text-xs);color:var(--text-dim);line-height:1.6}.form-btn[data-v-7b03b475]{padding:var(--space-2) var(--space-5);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-xs);cursor:pointer;border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-muted);transition:all var(--transition-fast);font-weight:600}.form-btn.primary[data-v-7b03b475]{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.form-btn[data-v-7b03b475]:hover:not(:disabled){opacity:.85}.form-btn[data-v-7b03b475]:disabled{opacity:.5}.filter-bar[data-v-7b03b475]{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-subtle);flex-shrink:0;display:flex}.filter-input[data-v-7b03b475]{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-sm);padding:var(--space-2) var(--space-4);outline:none;flex:1}.filter-input[data-v-7b03b475]:focus{border-color:var(--accent-blue)}.filter-count[data-v-7b03b475]{font-size:var(--text-xs);color:var(--text-dim);white-space:nowrap}.table-wrap[data-v-7b03b475]{padding:0 var(--space-6) var(--space-6);flex:1;overflow-y:auto}table[data-v-7b03b475]{border-collapse:collapse;width:100%;font-size:var(--text-sm);margin-top:var(--space-4)}thead tr[data-v-7b03b475]{border-bottom:1px solid var(--border-default)}th[data-v-7b03b475]{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;color:var(--text-muted);padding:var(--space-3) var(--space-3);text-align:left;white-space:nowrap;font-weight:600}th.right[data-v-7b03b475]{text-align:right}td[data-v-7b03b475]{padding:var(--space-3) var(--space-3);color:var(--text-primary);border-bottom:1px solid var(--border-subtle);white-space:nowrap}td.right[data-v-7b03b475]{text-align:right}.sym[data-v-7b03b475]{font-family:var(--font-mono);font-weight:700;font-size:var(--text-md)}.num[data-v-7b03b475]{font-family:var(--font-mono)}.muted[data-v-7b03b475]{color:var(--text-muted)}.type-badge[data-v-7b03b475]{font-family:var(--font-mono);font-size:var(--text-xs);border-radius:var(--radius-sm);padding:2px 6px;font-weight:600}.type-badge.split_or_bonus[data-v-7b03b475]{background:var(--accent-blue-dim);color:var(--accent-blue);border:1px solid #4d94ff40}.type-badge.bonus[data-v-7b03b475]{background:var(--accent-amber-dim);color:var(--accent-amber);border:1px solid #ffb02040}.type-badge.reverse_split[data-v-7b03b475]{background:var(--accent-red-dim);color:var(--accent-red);border:1px solid #ff525240}.source-tag[data-v-7b03b475]{font-family:var(--font-mono);font-size:var(--text-xs);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);color:var(--text-dim);padding:1px 5px}.source-tag.manual[data-v-7b03b475]{color:var(--accent-orange);border-color:#ff7a2f4d}.del-cell[data-v-7b03b475]{text-align:right}.del-btn[data-v-7b03b475]{color:var(--text-faint);font-size:var(--text-xs);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:2px 4px}.del-btn[data-v-7b03b475]:hover{color:var(--accent-red)}.empty[data-v-7b03b475]{padding:var(--space-8) var(--space-6);text-align:center;color:var(--text-dim);font-size:var(--text-sm);line-height:2}.empty strong[data-v-7b03b475]{color:var(--text-muted)}.panel-footer[data-v-7b03b475]{padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-subtle);font-size:var(--text-xs);color:var(--text-dim);flex-shrink:0;line-height:1.7}.spinner[data-v-7b03b475]{border:1.5px solid var(--border-default);border-top-color:var(--accent-blue);border-radius:50%;width:10px;height:10px;animation:.7s linear infinite spin-7b03b475;display:inline-block}@keyframes spin-7b03b475{to{transform:rotate(360deg)}}.slide-enter-active[data-v-7b03b475],.slide-leave-active[data-v-7b03b475]{transition:transform var(--transition-med)}.slide-enter-from .panel[data-v-7b03b475],.slide-leave-to .panel[data-v-7b03b475]{transform:translate(100%)}.expand-enter-active[data-v-7b03b475],.expand-leave-active[data-v-7b03b475]{transition:all var(--transition-med);overflow:hidden}.expand-enter-from[data-v-7b03b475],.expand-leave-to[data-v-7b03b475]{opacity:0;max-height:0}.expand-enter-to[data-v-7b03b475],.expand-leave-from[data-v-7b03b475]{opacity:1;max-height:300px}.trade-chart-root[data-v-376672c1]{width:100%}.overlay[data-v-4e0a8b8f]{z-index:150;padding:var(--space-6);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-4e0a8b8f]{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);flex-direction:column;width:min(1000px,100%);max-height:92vh;display:flex;overflow:hidden;box-shadow:0 8px 48px #00000080}.cycle-banner[data-v-4e0a8b8f]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent-amber);background:var(--accent-amber-dim);border-bottom:1px solid var(--border-subtle);padding:var(--space-1) var(--space-5);letter-spacing:.05em}.modal-header[data-v-4e0a8b8f]{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:var(--space-4);flex-shrink:0;display:flex}.hdr-left[data-v-4e0a8b8f]{align-items:baseline;gap:var(--space-4);display:flex}.hdr-right[data-v-4e0a8b8f]{align-items:center;gap:var(--space-2);display:flex}.sym-title[data-v-4e0a8b8f]{font-family:var(--font-mono);font-size:var(--text-lg);letter-spacing:.06em;color:var(--text-primary);font-weight:700}.sym-price[data-v-4e0a8b8f]{font-size:var(--text-base);color:var(--text-muted)}.interval-toggle[data-v-4e0a8b8f]{background:var(--bg-base);border:1px solid var(--border-default);border-radius:var(--radius-sm);display:flex;overflow:hidden}.iv-btn[data-v-4e0a8b8f]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-dim);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);letter-spacing:.05em;background:0 0;border:none;padding:3px 10px;font-weight:600}.iv-btn[data-v-4e0a8b8f]:hover{color:var(--text-muted);background:var(--bg-hover)}.iv-btn.active[data-v-4e0a8b8f]{background:var(--accent-blue);color:#fff}.tb-btn[data-v-4e0a8b8f]{border:1px solid var(--border-default);border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-dim);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast);background:0 0;justify-content:center;align-items:center;display:flex}.tb-btn svg[data-v-4e0a8b8f]{width:13px;height:13px}.tb-btn[data-v-4e0a8b8f]:hover{color:var(--text-primary);background:var(--bg-hover)}.close-btn[data-v-4e0a8b8f]{color:var(--text-dim);font-size:var(--text-base);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;line-height:1}.close-btn[data-v-4e0a8b8f]:hover{color:var(--text-primary);background:var(--bg-elevated)}.chart-section[data-v-4e0a8b8f]{background:var(--bg-base);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.no-ohlc[data-v-4e0a8b8f]{padding:var(--space-8);text-align:center;color:var(--text-dim);font-family:var(--font-mono);font-size:var(--text-sm)}.chart-placeholder[data-v-4e0a8b8f]{justify-content:center;align-items:center;height:400px;display:flex}.spinner-lg[data-v-4e0a8b8f]{border:2px solid var(--border-default);border-top-color:var(--accent-blue);border-radius:50%;width:24px;height:24px;animation:.7s linear infinite spin-4e0a8b8f;display:block}@keyframes spin-4e0a8b8f{to{transform:rotate(360deg)}}.marker-legend[data-v-4e0a8b8f]{align-items:center;gap:var(--space-5);padding:var(--space-2) var(--space-5);background:var(--bg-base);border-bottom:1px solid var(--border-subtle);flex-shrink:0;display:flex}.leg-item[data-v-4e0a8b8f]{align-items:center;gap:var(--space-2);font-family:var(--font-mono);color:var(--text-dim);white-space:nowrap;font-size:10px;display:flex}.leg-dot[data-v-4e0a8b8f]{border-radius:50%;flex-shrink:0;width:8px;height:8px}.trade-summary[data-v-4e0a8b8f]{gap:var(--space-7);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);flex-shrink:0;display:flex}.ts-item[data-v-4e0a8b8f]{align-items:center;gap:var(--space-2);display:flex}.ts-label[data-v-4e0a8b8f]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-dim);letter-spacing:.06em}.ts-val[data-v-4e0a8b8f]{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-muted);font-weight:600}.pos[data-v-4e0a8b8f]{color:var(--accent-green)!important}.neg[data-v-4e0a8b8f]{color:var(--accent-red)!important}.trade-table-wrap[data-v-4e0a8b8f]{flex:1;overflow-y:auto}.trade-table[data-v-4e0a8b8f]{border-collapse:collapse;width:100%;font-size:var(--text-xs)}.trade-table thead tr[data-v-4e0a8b8f]{background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);z-index:1;position:sticky;top:0}.trade-table th[data-v-4e0a8b8f]{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;color:var(--text-dim);padding:var(--space-2) var(--space-4);white-space:nowrap;font-weight:500}.trade-table td[data-v-4e0a8b8f]{padding:var(--space-2) var(--space-4);color:var(--text-muted);border-bottom:1px solid var(--border-subtle)}.trade-table tbody tr:last-child td[data-v-4e0a8b8f]{border-bottom:none}.trade-table .right[data-v-4e0a8b8f]{text-align:right}.trade-table .num[data-v-4e0a8b8f]{font-family:var(--font-mono)}.trade-table .dim[data-v-4e0a8b8f]{color:var(--text-dim)}.delta-add[data-v-4e0a8b8f]{font-weight:600;color:var(--accent-blue)!important}.delta-cut[data-v-4e0a8b8f]{font-weight:600;color:var(--accent-orange)!important}.buy-first td[data-v-4e0a8b8f]{background:#4d94ff0d}.buy-tranche td[data-v-4e0a8b8f]{background:#99ccff0d}.sell-profit td[data-v-4e0a8b8f]{background:#34d8710a}.sell-loss td[data-v-4e0a8b8f]{background:#ff52520a}.type-badge[data-v-4e0a8b8f]{font-family:var(--font-mono);letter-spacing:.05em;white-space:nowrap;border:1px solid #0000;border-radius:2px;align-items:center;gap:3px;padding:2px 6px;font-size:9px;font-weight:700;display:inline-flex}.type-badge.buy-first[data-v-4e0a8b8f]{color:#4d94ff;background:#4d94ff26;border-color:#4d94ff59}.type-badge.buy-tranche[data-v-4e0a8b8f]{color:#9cf;background:#99ccff26;border-color:#99ccff59}.type-badge.sell-profit[data-v-4e0a8b8f]{color:var(--accent-green);background:#34d87126;border-color:#34d87159}.type-badge.sell-loss[data-v-4e0a8b8f]{color:var(--accent-red);background:#ff525226;border-color:#ff525259}.broker-cell[data-v-4e0a8b8f]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-dim)}.detail-enter-active[data-v-4e0a8b8f],.detail-leave-active[data-v-4e0a8b8f]{transition:opacity .15s,transform .15s}.detail-enter-from[data-v-4e0a8b8f],.detail-leave-to[data-v-4e0a8b8f]{opacity:0;transform:scale(.97)}.page[data-v-1e496e52]{max-width:900px;padding:var(--space-8) var(--space-6);gap:var(--space-8);flex-direction:column;margin:0 auto;display:flex}.page-header[data-v-1e496e52]{gap:var(--space-2);flex-direction:column;display:flex}.page-title[data-v-1e496e52]{font-family:var(--font-mono);font-size:var(--text-lg);letter-spacing:.2em;color:var(--text-primary);font-weight:700}.page-sub[data-v-1e496e52]{font-size:var(--text-sm);color:var(--text-dim);max-width:560px;line-height:1.6}.broker-grid[data-v-1e496e52]{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(340px,1fr));display:grid}.broker-card[data-v-1e496e52]{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-6);gap:var(--space-5);flex-direction:column;display:flex}.card-header[data-v-1e496e52]{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.broker-name[data-v-1e496e52]{font-family:var(--font-mono);font-size:var(--text-base);letter-spacing:.06em;color:var(--text-primary);font-weight:700}.file-hint[data-v-1e496e52]{font-size:var(--text-xs);color:var(--text-dim);background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);padding:2px 6px}.card-stats[data-v-1e496e52]{gap:var(--space-3);flex-direction:column;display:flex}.stat[data-v-1e496e52]{padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.stat[data-v-1e496e52]:last-child{border-bottom:none}.stat.highlight[data-v-1e496e52]{background:var(--bg-elevated);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);margin-top:var(--space-1);border:none}.stat-label[data-v-1e496e52]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-dim);letter-spacing:.06em;text-transform:uppercase}.stat-val[data-v-1e496e52]{font-size:var(--text-sm);color:var(--text-primary);font-weight:600}.stat-val.dim[data-v-1e496e52]{color:var(--text-dim)}.stat-val.accent[data-v-1e496e52]{color:var(--accent-blue);font-size:var(--text-base)}.how-to[data-v-1e496e52]{gap:var(--space-2);flex-direction:column;display:flex}.how-to-label[data-v-1e496e52]{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;color:var(--text-dim);font-weight:600}.how-to-steps[data-v-1e496e52]{padding-left:var(--space-5);gap:var(--space-1);flex-direction:column;margin:0;display:flex}.how-to-steps li[data-v-1e496e52]{font-size:var(--text-xs);color:var(--text-muted);line-height:1.6}.also-supported[data-v-1e496e52]{font-size:var(--text-xs);color:var(--text-muted);margin:0}.upload-section[data-v-1e496e52]{gap:var(--space-4);flex-direction:column;display:flex}.section-label[data-v-1e496e52]{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;color:var(--text-dim);font-weight:600}.drop-zone[data-v-1e496e52]{border:1px dashed var(--border-default);border-radius:var(--radius-md);padding:var(--space-8) var(--space-6);align-items:center;gap:var(--space-3);cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast);background:var(--bg-surface);flex-direction:column;display:flex}.drop-zone[data-v-1e496e52]:hover,.drop-zone.dragging[data-v-1e496e52]{border-color:var(--accent-blue);background:var(--accent-blue-dim)}.drop-zone.uploading[data-v-1e496e52]{cursor:default;opacity:.7;pointer-events:none}.dz-icon[data-v-1e496e52]{opacity:.35;font-size:28px;line-height:1}.dz-text[data-v-1e496e52]{font-size:var(--text-base);color:var(--text-muted);font-weight:500}.dz-hint[data-v-1e496e52]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-dim)}.staged-section[data-v-1e496e52]{gap:var(--space-4);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-5) var(--space-6);flex-direction:column;display:flex}.staged-header[data-v-1e496e52]{gap:var(--space-1);flex-direction:column;display:flex}.staged-title[data-v-1e496e52]{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;color:var(--text-dim);font-weight:700}.staged-hint[data-v-1e496e52]{font-size:var(--text-xs);color:var(--text-dim);line-height:1.6}.staged-table[data-v-1e496e52]{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);flex-direction:column;gap:0;display:flex;overflow:hidden}.staged-row[data-v-1e496e52]{gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);grid-template-columns:1fr auto 32px;align-items:center;display:grid}.staged-row[data-v-1e496e52]:last-child{border-bottom:none}.staged-row-head[data-v-1e496e52]{background:var(--bg-elevated);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;color:var(--text-dim);text-transform:uppercase;font-weight:600}.staged-row.no-broker[data-v-1e496e52]{background:#ffa0000a}.col-file[data-v-1e496e52]{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.col-broker[data-v-1e496e52]{align-items:center;display:flex}.broker-select[data-v-1e496e52]{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-xs);cursor:pointer;transition:border-color var(--transition-fast);min-width:140px;padding:4px 8px}.broker-select[data-v-1e496e52]:focus{border-color:var(--accent-blue);outline:none}.broker-select.empty[data-v-1e496e52]{border-color:var(--accent-amber,#f59e0b);color:var(--text-dim)}.remove-btn[data-v-1e496e52]{color:var(--text-dim);font-size:var(--text-xs);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:4px;line-height:1}.remove-btn[data-v-1e496e52]:hover{color:var(--accent-red)}.staged-actions[data-v-1e496e52]{justify-content:flex-end;align-items:center;gap:var(--space-3);display:flex}.staged-warning[data-v-1e496e52]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent-amber,#f59e0b);margin:0}.btn-ghost[data-v-1e496e52]{border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-dim);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;padding:var(--space-2) var(--space-4);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0}.btn-ghost[data-v-1e496e52]:hover:not(:disabled){color:var(--text-primary);border-color:var(--border-strong,var(--text-dim))}.btn-ghost[data-v-1e496e52]:disabled{opacity:.4;cursor:default}.btn-primary[data-v-1e496e52]{background:var(--accent-blue);border-radius:var(--radius-sm);color:#fff;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;padding:var(--space-2) var(--space-5);cursor:pointer;align-items:center;gap:var(--space-2);transition:opacity var(--transition-fast);border:none;font-weight:700;display:flex}.btn-primary[data-v-1e496e52]:hover:not(:disabled){opacity:.85}.btn-primary[data-v-1e496e52]:disabled{opacity:.4;cursor:default}.spinner-inline[data-v-1e496e52]{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:12px;height:12px;animation:.7s linear infinite spin-1e496e52;display:inline-block}@keyframes spin-1e496e52{to{transform:rotate(360deg)}}.result[data-v-1e496e52]{align-items:flex-start;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-sm);display:flex}.result.ok[data-v-1e496e52]{background:var(--accent-green-dim);color:var(--accent-green);border:1px solid #34d87140}.result.err[data-v-1e496e52]{background:var(--accent-red-dim);color:var(--accent-red);border:1px solid #ff525240}.result-icon[data-v-1e496e52]{font-size:var(--text-base);flex-shrink:0;font-weight:700}.result-body[data-v-1e496e52]{gap:var(--space-2);flex-direction:column;flex:1;display:flex}.result-main[data-v-1e496e52]{font-weight:600}.result-dim[data-v-1e496e52]{opacity:.7;margin-left:var(--space-2);font-weight:400}.result-new-symbols[data-v-1e496e52]{font-size:var(--text-xs);color:var(--accent-blue);font-family:var(--font-mono)}.result-errors[data-v-1e496e52]{padding-left:var(--space-5);opacity:.8;font-size:var(--text-xs);margin:0}.result-errors li[data-v-1e496e52]{margin-top:var(--space-1)}.result-close[data-v-1e496e52]{color:inherit;opacity:.6;cursor:pointer;font-size:var(--text-sm);transition:opacity var(--transition-fast);background:0 0;border:none;flex-shrink:0;padding:0}.result-close[data-v-1e496e52]:hover{opacity:1}.fade-enter-active[data-v-1e496e52],.fade-leave-active[data-v-1e496e52]{transition:opacity .2s}.fade-enter-from[data-v-1e496e52],.fade-leave-to[data-v-1e496e52]{opacity:0}.resolution-section[data-v-1e496e52]{background:var(--bg-surface);border-radius:var(--radius-md);padding:var(--space-5) var(--space-6);gap:var(--space-4);border:1px solid #f59e0b59;flex-direction:column;display:flex}.resolution-header[data-v-1e496e52]{gap:var(--space-2);flex-direction:column;display:flex}.resolution-title-row[data-v-1e496e52]{align-items:center;gap:var(--space-3);display:flex}.resolution-title[data-v-1e496e52]{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;color:var(--accent-amber,#f59e0b);font-weight:700}.resolution-badge[data-v-1e496e52]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent-amber,#f59e0b);background:#f59e0b26;border:1px solid #f59e0b66;border-radius:99px;padding:1px 7px;font-weight:700}.resolution-sub[data-v-1e496e52]{font-size:var(--text-xs);color:var(--text-dim);max-width:640px;margin:0;line-height:1.6}.resolution-table[data-v-1e496e52]{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);flex-direction:column;display:flex;overflow:hidden}.res-row[data-v-1e496e52]{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);transition:background var(--transition-fast);grid-template-columns:2fr 1fr 1fr 80px 72px;align-items:center;display:grid}.res-row[data-v-1e496e52]:last-child{border-bottom:none}.res-row-head[data-v-1e496e52]{background:var(--bg-elevated);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;color:var(--text-dim);text-transform:uppercase;font-weight:600}.res-row.res-pending[data-v-1e496e52]{background:#ff525208}.res-row.res-suggested[data-v-1e496e52]{background:#f59e0b08}.res-row.res-saved[data-v-1e496e52]{opacity:.7;background:#34d8710d}.res-col-name[data-v-1e496e52]{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.source-tag[data-v-1e496e52]{align-items:center;gap:var(--space-1);font-family:var(--font-mono);border-radius:var(--radius-sm);padding:2px 6px;font-size:10px;display:inline-flex}.source-tag.source-none[data-v-1e496e52]{color:var(--accent-red);background:#ff52521a}.source-tag.source-auto[data-v-1e496e52]{color:var(--accent-amber,#f59e0b);background:#f59e0b1a}.conf-badge[data-v-1e496e52]{opacity:.7;font-size:9px}.sym-input[data-v-1e496e52]{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-xs);transition:border-color var(--transition-fast);text-transform:uppercase;padding:4px 8px;font-weight:600}.sym-input[data-v-1e496e52]:focus{border-color:var(--accent-blue);outline:none}.sym-input.has-suggestion[data-v-1e496e52]{border-color:#f59e0b66}.exch-select[data-v-1e496e52]{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-xs);cursor:pointer;width:100%;padding:4px 6px}.exch-select[data-v-1e496e52]:focus{border-color:var(--accent-blue);outline:none}.sym-confirmed[data-v-1e496e52]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent-green);font-weight:700}.res-col-action[data-v-1e496e52]{align-items:center;gap:var(--space-2);display:flex}.btn-confirm[data-v-1e496e52]{background:var(--accent-green);border-radius:var(--radius-sm);color:#fff;font-family:var(--font-mono);font-size:var(--text-xs);cursor:pointer;align-items:center;gap:var(--space-1);transition:opacity var(--transition-fast);border:none;padding:4px 10px;font-weight:700;display:flex}.btn-confirm[data-v-1e496e52]:hover:not(:disabled){opacity:.85}.btn-confirm[data-v-1e496e52]:disabled{opacity:.35;cursor:default}.btn-skip[data-v-1e496e52]{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-dim);font-size:var(--text-xs);cursor:pointer;transition:color var(--transition-fast);background:0 0;padding:4px 8px}.btn-skip[data-v-1e496e52]:hover{color:var(--text-muted)}.saved-tick[data-v-1e496e52]{color:var(--accent-green);font-weight:700;font-size:var(--text-sm)}.danger-zone[data-v-1e496e52]{border:1px solid var(--accent-red,#e55);border-radius:var(--radius-md);overflow:hidden}.danger-header[data-v-1e496e52]{background:color-mix(in srgb, var(--accent-red,#e55) 12%, transparent);padding:var(--space-3) var(--space-6);border-bottom:1px solid color-mix(in srgb, var(--accent-red,#e55) 25%, transparent)}.danger-title[data-v-1e496e52]{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.15em;color:var(--accent-red,#e55);font-weight:700}.danger-body[data-v-1e496e52]{padding:var(--space-5) var(--space-6);gap:var(--space-3);flex-direction:column;display:flex}.danger-row[data-v-1e496e52]{justify-content:space-between;align-items:flex-start;gap:var(--space-6);display:flex}.danger-label[data-v-1e496e52]{font-size:var(--text-sm);color:var(--text-primary);margin-bottom:var(--space-1);font-weight:600}.danger-desc[data-v-1e496e52]{font-size:var(--text-xs);color:var(--text-dim);max-width:420px;line-height:1.5}.danger-actions[data-v-1e496e52]{align-items:center;gap:var(--space-3);flex-shrink:0;display:flex}.confirm-prompt[data-v-1e496e52]{font-size:var(--text-sm);color:var(--accent-red,#e55);font-weight:600}.btn-danger[data-v-1e496e52]{border:1px solid var(--accent-red,#e55);border-radius:var(--radius-sm);color:var(--accent-red,#e55);font-size:var(--text-sm);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;padding:7px 14px;font-weight:600}.btn-danger[data-v-1e496e52]:hover:not(:disabled){background:var(--accent-red,#e55);color:#fff}.btn-danger[data-v-1e496e52]:disabled{opacity:.4;cursor:default}.btn-danger-confirm[data-v-1e496e52]{background:var(--accent-red,#e55);border-radius:var(--radius-sm);color:#fff;font-size:var(--text-sm);cursor:pointer;white-space:nowrap;border:none;padding:7px 14px;font-weight:700}.btn-danger-confirm[data-v-1e496e52]:disabled{opacity:.5;cursor:default}.btn-cancel[data-v-1e496e52]{border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;background:0 0;padding:7px 12px}.btn-cancel[data-v-1e496e52]:hover{color:var(--text-primary)}.page[data-v-51fd2be4]{max-width:1100px;padding:var(--space-8) var(--space-6);gap:var(--space-8);flex-direction:column;margin:0 auto;display:flex}.centered[data-v-51fd2be4]{min-height:200px;color:var(--text-dim);font-family:var(--font-mono);font-size:var(--text-sm);justify-content:center;align-items:center;display:flex}.err-msg[data-v-51fd2be4]{color:var(--accent-red)}.spinner-lg[data-v-51fd2be4]{border:2px solid var(--border-default);border-top-color:var(--accent-blue);border-radius:50%;width:24px;height:24px;animation:.7s linear infinite spin-51fd2be4;display:block}@keyframes spin-51fd2be4{to{transform:rotate(360deg)}}.section[data-v-51fd2be4]{gap:var(--space-4);flex-direction:column;display:flex}.section-label[data-v-51fd2be4]{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;color:var(--text-dim);font-weight:600}.anchor-label[data-v-51fd2be4]{cursor:pointer;-webkit-user-select:none;user-select:none}.anchor-label[data-v-51fd2be4]:hover{color:var(--text-muted)}.anchor-label[data-v-51fd2be4]:before{content:"#";opacity:0;color:var(--accent-blue);margin-right:4px;transition:opacity .15s}.anchor-label[data-v-51fd2be4]:hover:before{opacity:1}.snapshot-grid[data-v-51fd2be4]{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.snap-card[data-v-51fd2be4]{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-5);gap:var(--space-2);flex-direction:column;display:flex}.snap-label[data-v-51fd2be4]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-dim);letter-spacing:.06em}.snap-val[data-v-51fd2be4]{font-size:var(--text-lg);color:var(--text-primary);font-weight:700}.stats-grid[data-v-51fd2be4]{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.stat-card[data-v-51fd2be4]{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-5);gap:var(--space-2);border-left-width:3px;flex-direction:column;display:flex}.accent-border-blue[data-v-51fd2be4]{border-left-color:var(--accent-blue)}.accent-border-green[data-v-51fd2be4]{border-left-color:var(--accent-green)}.accent-border-red[data-v-51fd2be4]{border-left-color:var(--accent-red)}.stat-label[data-v-51fd2be4]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-dim);letter-spacing:.06em}.stat-big[data-v-51fd2be4]{font-family:var(--font-mono);font-size:var(--text-xl,1.5rem);color:var(--text-primary);font-weight:700;line-height:1.2}.stat-sub[data-v-51fd2be4]{align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-dim);display:flex}.chart-wrap[data-v-51fd2be4]{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);gap:var(--space-3);flex-direction:column;display:flex}.line-chart[data-v-51fd2be4]{cursor:crosshair;width:100%;height:200px;display:block}.chart-labels[data-v-51fd2be4]{font-family:var(--font-mono);font-size:var(--text-xs);justify-content:space-between;display:flex}.chart-label-l[data-v-51fd2be4]{color:var(--text-dim)}.chart-label-r[data-v-51fd2be4]{font-weight:700}.histogram[data-v-51fd2be4]{align-items:flex-end;gap:var(--space-2);height:120px;display:flex;overflow-x:auto}.hist-bar-wrap[data-v-51fd2be4]{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:3px;min-width:32px;height:100%;display:flex}.hist-bar[data-v-51fd2be4]{border-radius:2px 2px 0 0;width:100%;min-height:2px;transition:opacity .15s}.pos-bar[data-v-51fd2be4]{background:var(--accent-green);opacity:.7}.neg-bar[data-v-51fd2be4]{background:var(--accent-red);opacity:.7}.hist-bar-wrap:hover .hist-bar[data-v-51fd2be4]{opacity:1}.hist-count[data-v-51fd2be4]{font-family:var(--font-mono);color:var(--text-dim);font-size:9px;line-height:1}.hist-label[data-v-51fd2be4]{font-family:var(--font-mono);color:var(--text-dim);white-space:nowrap;font-size:9px;line-height:1}.no-data[data-v-51fd2be4]{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-dim);padding:var(--space-6) 0}.table-wrap[data-v-51fd2be4]{border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow-x:auto}.ct-table[data-v-51fd2be4]{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.ct-table thead tr[data-v-51fd2be4]{background:var(--bg-surface);border-bottom:1px solid var(--border-default);position:sticky;top:0}.ct-table th[data-v-51fd2be4]{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;color:var(--text-dim);padding:var(--space-3) var(--space-4);text-align:left;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:600}.ct-table th[data-v-51fd2be4]:hover{color:var(--text-primary)}.ct-table th.right[data-v-51fd2be4]{text-align:right}.ct-table td[data-v-51fd2be4]{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);white-space:nowrap;color:var(--text-primary)}.ct-table td.right[data-v-51fd2be4]{text-align:right}.ct-table tbody tr:last-child td[data-v-51fd2be4]{border-bottom:none}.ct-table tr.row-win td[data-v-51fd2be4]{background:#34d87108}.ct-table tr.row-loss td[data-v-51fd2be4]{background:#ff52520a}.ct-table tr.ct-row:hover td[data-v-51fd2be4]{background:var(--bg-hover)}.ct-table tr.row-expanded td[data-v-51fd2be4]{background:var(--bg-elevated)!important}.col-expand[data-v-51fd2be4]{width:24px;padding:0 var(--space-2)!important}.expand-arrow[data-v-51fd2be4]{width:10px;height:10px;color:var(--text-dim);transition:transform .15s;display:block}.expand-arrow.open[data-v-51fd2be4]{transform:rotate(180deg)}.tranche-detail-row td[data-v-51fd2be4]{border-bottom:1px solid var(--border-subtle)!important;padding:0!important}.tranche-detail-wrap[data-v-51fd2be4]{background:var(--bg-base);border-top:1px solid var(--border-subtle);padding:var(--space-3) var(--space-6) var(--space-4)}.tranche-inner-table[data-v-51fd2be4]{border-collapse:collapse;width:auto;min-width:480px;font-size:var(--text-xs);margin-left:24px}.tranche-inner-table thead tr[data-v-51fd2be4]{border-bottom:1px solid var(--border-subtle)}.tranche-inner-table th[data-v-51fd2be4]{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-dim);padding:var(--space-1) var(--space-4);text-align:left;white-space:nowrap;font-size:10px;font-weight:500}.tranche-inner-table th.right[data-v-51fd2be4]{text-align:right}.tranche-inner-table th.sortable[data-v-51fd2be4]{cursor:pointer;-webkit-user-select:none;user-select:none}.tranche-inner-table th.sortable[data-v-51fd2be4]:hover{color:var(--text-primary)}.tranche-inner-table td[data-v-51fd2be4]{font-size:var(--text-xs);padding:var(--space-2) var(--space-4);color:var(--text-muted);border-bottom:1px solid var(--border-subtle)}.tranche-inner-table td.right[data-v-51fd2be4]{text-align:right}.tranche-inner-table tbody tr:last-child td[data-v-51fd2be4]{border-bottom:none}.tr-buy td[data-v-51fd2be4]{background:#34d87108}.tr-sell td[data-v-51fd2be4]{background:#ff525208}.delta-add[data-v-51fd2be4]{color:var(--accent-blue);font-weight:600}.delta-cut[data-v-51fd2be4]{color:var(--accent-orange);font-weight:600}.type-pill[data-v-51fd2be4]{font-family:var(--font-mono);letter-spacing:.06em;border:1px solid #0000;border-radius:2px;padding:1px 5px;font-size:9px;font-weight:700}.pill-buy[data-v-51fd2be4]{color:var(--accent-green);background:#34d87126;border-color:#34d8714d}.pill-sell[data-v-51fd2be4]{color:var(--accent-red);background:#ff525226;border-color:#ff52524d}.broker-dot[data-v-51fd2be4]{width:18px;height:18px;font-size:9px;font-weight:700;font-family:var(--font-mono);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.broker-dot.zerodha[data-v-51fd2be4]{color:#3b82f6;background:#0357e633}.broker-dot.groww[data-v-51fd2be4]{color:#22c55e;background:#00b45a33}.sym-cell[data-v-51fd2be4]{color:var(--text-primary);letter-spacing:.04em;font-weight:700}.sym-link[data-v-51fd2be4]{cursor:pointer;transition:color var(--transition-fast)}.sym-link[data-v-51fd2be4]:hover{color:var(--accent-blue)}.brokers-cell[data-v-51fd2be4]{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.label-tag[data-v-51fd2be4]{font-family:var(--font-mono);letter-spacing:.06em;border:1px solid #0000;border-radius:2px;padding:1px 5px;font-size:8px;font-weight:700}.label-tag.lbl-core[data-v-51fd2be4]{color:#60a5fa;background:#2563eb26;border-color:#2563eb59}.label-tag.lbl-satellite[data-v-51fd2be4]{color:#fbbf24;background:#f59e0b26;border-color:#f59e0b59}.label-tag.lbl-etf[data-v-51fd2be4]{color:#fde047;background:#eab30826;border-color:#eab30859}.label-tag.lbl-speculative[data-v-51fd2be4]{color:#c084fc;background:#a855f726;border-color:#a855f759}[data-theme=light] .label-tag.lbl-core[data-v-51fd2be4]{color:#1d4ed8}[data-theme=light] .label-tag.lbl-satellite[data-v-51fd2be4]{color:#b45309}[data-theme=light] .label-tag.lbl-etf[data-v-51fd2be4]{color:#a16207}[data-theme=light] .label-tag.lbl-speculative[data-v-51fd2be4]{color:#7e22ce}.broker-tag[data-v-51fd2be4]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-dim);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);text-transform:capitalize;padding:1px 5px}.pos[data-v-51fd2be4]{color:var(--accent-green)!important}.neg[data-v-51fd2be4]{color:var(--accent-red)!important}.dim[data-v-51fd2be4]{color:var(--text-dim)!important}.num[data-v-51fd2be4]{font-family:var(--font-mono)}.pie-cards-grid[data-v-51fd2be4]{gap:var(--space-4);flex-wrap:wrap;align-items:flex-start;display:flex}.pie-card[data-v-51fd2be4]{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-4);gap:var(--space-3);flex-direction:column;flex:340px;min-width:300px;max-width:520px;display:flex}.pie-card-header[data-v-51fd2be4]{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.pie-dim-row[data-v-51fd2be4]{align-items:center;gap:var(--space-2);display:flex}.pie-card-label[data-v-51fd2be4]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-dim);white-space:nowrap}.dim-select[data-v-51fd2be4]{font-family:var(--font-mono);font-size:var(--text-xs);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);padding:2px var(--space-2);cursor:pointer}.pie-remove-btn[data-v-51fd2be4]{color:var(--text-dim);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;padding:2px 4px;font-size:16px;line-height:1}.pie-remove-btn[data-v-51fd2be4]:hover{color:var(--accent-red);background:var(--bg-elevated)}.pie-filter-row[data-v-51fd2be4]{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.filter-chip[data-v-51fd2be4]{font-family:var(--font-mono);background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-primary);border-radius:99px;align-items:center;gap:4px;padding:2px 6px 2px 8px;font-size:10px;display:flex}.chip-dim[data-v-51fd2be4]{color:var(--text-dim)}.chip-remove[data-v-51fd2be4]{cursor:pointer;color:var(--text-dim);background:0 0;border:none;padding:0 1px;font-size:11px;line-height:1}.chip-remove[data-v-51fd2be4]:hover{color:var(--accent-red)}.filter-form[data-v-51fd2be4]{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.apply-filter-btn[data-v-51fd2be4]{font-family:var(--font-mono);font-size:var(--text-xs);background:var(--accent-blue);color:#fff;border-radius:var(--radius-sm);padding:3px var(--space-3);cursor:pointer;border:none;font-weight:600}.apply-filter-btn[data-v-51fd2be4]:disabled{opacity:.4;cursor:default}.add-filter-btn[data-v-51fd2be4]{font-family:var(--font-mono);font-size:var(--text-xs);border:1px dashed var(--border-default);border-radius:var(--radius-sm);color:var(--text-dim);padding:2px var(--space-3);cursor:pointer;background:0 0;margin-top:auto}.add-filter-btn[data-v-51fd2be4]:hover{color:var(--accent-blue);border-color:var(--accent-blue)}.add-pie-btn[data-v-51fd2be4]{font-family:var(--font-mono);font-size:var(--text-xs);border:1px solid var(--accent-blue);border-radius:var(--radius-sm);color:var(--accent-blue);padding:var(--space-1) var(--space-3);cursor:pointer;background:0 0;flex-shrink:0;font-weight:700}.add-pie-btn[data-v-51fd2be4]:hover{background:var(--accent-blue);color:#fff}.pie-no-data[data-v-51fd2be4]{font-family:var(--font-mono);font-size:var(--text-xs);padding:var(--space-4) 0;text-align:center}.donut-body[data-v-51fd2be4]{align-items:center;gap:var(--space-5);display:flex}.donut-svg[data-v-51fd2be4]{flex-shrink:0;width:140px}.donut-center-top[data-v-51fd2be4]{font-family:var(--font-mono);fill:var(--text-dim);font-size:10px}.donut-center-bot[data-v-51fd2be4]{font-family:var(--font-mono);fill:var(--text-primary);font-size:14px;font-weight:700}.donut-legend[data-v-51fd2be4]{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.legend-row[data-v-51fd2be4]{align-items:center;gap:var(--space-2);grid-template-columns:10px 1fr auto auto;min-width:0;display:grid}.legend-dot[data-v-51fd2be4]{border-radius:50%;flex-shrink:0;width:8px;height:8px}.legend-toggle[data-v-51fd2be4]{cursor:pointer;color:var(--text-primary);background:0 0;border:none;border-radius:4px;align-items:center;gap:5px;padding:2px 6px;transition:opacity .15s;display:inline-flex}.legend-toggle[data-v-51fd2be4]:hover{background:var(--bg-hover)}.legend-toggle.inactive[data-v-51fd2be4]{opacity:.35}.legend-toggle.inactive .legend-dot[data-v-51fd2be4]{filter:grayscale()}.legend-label[data-v-51fd2be4]{font-size:var(--text-xs);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.legend-pct[data-v-51fd2be4]{font-size:var(--text-xs);color:var(--text-dim);white-space:nowrap}.legend-pnl[data-v-51fd2be4]{font-size:var(--text-xs);white-space:nowrap}.section-header-row[data-v-51fd2be4]{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.period-toggle[data-v-51fd2be4]{border:1px solid var(--border-default);border-radius:var(--radius-sm);flex-shrink:0;display:flex;overflow:hidden}.toggle-btn[data-v-51fd2be4]{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;padding:var(--space-1) var(--space-3);color:var(--text-dim);cursor:pointer;background:0 0;border:none;font-weight:600;transition:background .15s,color .15s}.toggle-btn.active[data-v-51fd2be4]{background:var(--accent-blue);color:#fff}.toggle-btn[data-v-51fd2be4]:not(.active):hover{background:var(--bg-elevated);color:var(--text-primary)}.period-chart-card[data-v-51fd2be4]{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-5);gap:var(--space-4);flex-direction:column;display:flex}.period-chart-title[data-v-51fd2be4]{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;color:var(--text-dim);font-weight:600}.period-bar-chart[data-v-51fd2be4]{align-items:flex-end;gap:var(--space-2);height:140px;padding-bottom:var(--space-1);display:flex;overflow-x:auto}.period-col[data-v-51fd2be4]{align-items:center;gap:var(--space-1);flex-direction:column;flex:1;justify-content:flex-end;min-width:44px;max-width:80px;height:100%;display:flex}.period-bars[data-v-51fd2be4]{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:2px;width:100%;display:flex}.period-bar-group[data-v-51fd2be4]{justify-content:center;align-items:flex-end;gap:3px;width:100%;height:100px;display:flex}.period-bar[data-v-51fd2be4]{border-radius:2px 2px 0 0;width:40%;max-width:18px;min-height:2px;transition:opacity .15s}.wins-bar[data-v-51fd2be4]{background:var(--accent-green);opacity:.75}.losses-bar[data-v-51fd2be4]{background:var(--accent-red);opacity:.75}.period-col:hover .period-bar[data-v-51fd2be4]{opacity:1}.period-bar-labels[data-v-51fd2be4]{justify-content:center;gap:3px;display:flex}.period-label[data-v-51fd2be4]{font-family:var(--font-mono);color:var(--text-dim);white-space:nowrap;text-align:center;font-size:9px}.period-legend-row[data-v-51fd2be4]{align-items:center;gap:var(--space-2);font-family:var(--font-mono);display:flex}.time-range-wrap[data-v-51fd2be4]{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);gap:var(--space-3);flex-direction:column;display:flex}.time-range-header[data-v-51fd2be4]{justify-content:space-between;align-items:center;display:flex}.time-range-label[data-v-51fd2be4]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-primary);letter-spacing:.04em;font-weight:600}.time-range-count[data-v-51fd2be4]{margin-left:var(--space-2);font-weight:400}.reset-btn[data-v-51fd2be4]{font-family:var(--font-mono);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;background:0 0;padding:2px 8px;font-size:10px}.reset-btn[data-v-51fd2be4]:hover{color:var(--text-primary);border-color:var(--accent-blue)}.dual-range-wrap[data-v-51fd2be4]{align-items:center;height:20px;display:flex;position:relative}.dual-range-track[data-v-51fd2be4]{background:var(--border-subtle);border-radius:2px;height:4px;position:absolute;left:0;right:0;overflow:hidden}.dual-range-fill[data-v-51fd2be4]{top:0;bottom:0;left:var(--tl,0%);right:var(--tr,0%);background:var(--accent-blue);opacity:.7;position:absolute}.range-input[data-v-51fd2be4]{appearance:none;pointer-events:none;cursor:pointer;background:0 0;width:100%;height:100%;margin:0;position:absolute;top:0;left:0}.range-input[data-v-51fd2be4]::-webkit-slider-thumb{appearance:none;pointer-events:all;background:var(--accent-blue);border:2px solid var(--bg-surface);cursor:grab;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 3px #0006}.range-input[data-v-51fd2be4]::-webkit-slider-thumb:active{cursor:grabbing}.range-input[data-v-51fd2be4]::-moz-range-thumb{pointer-events:all;background:var(--accent-blue);border:2px solid var(--bg-surface);cursor:grab;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 3px #0006}.slider-ticks[data-v-51fd2be4]{height:14px;position:relative}.slider-tick[data-v-51fd2be4]{font-family:var(--font-mono);color:var(--text-dim);font-size:9px;position:absolute;transform:translate(-50%)}.replay-page[data-v-92218551]{padding:var(--space-4);max-width:1100px;margin:0 auto}.replay-header[data-v-92218551]{align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.replay-title[data-v-92218551]{letter-spacing:.12em;color:var(--text-dim);font-size:11px;font-weight:700}.sym-select[data-v-92218551],.strat-select[data-v-92218551]{background:var(--bg-surface);border:1px solid var(--border-default);color:var(--text-primary);font-size:14px;font-family:var(--font-mono);cursor:pointer;border-radius:6px;min-width:160px;padding:6px 12px}.sym-select[data-v-92218551]:focus,.strat-select[data-v-92218551]:focus{border-color:var(--accent-blue);outline:none}.strat-select[data-v-92218551]{color:#4f9cf9;border-color:#4f9cf9}.replay-vs[data-v-92218551]{letter-spacing:.08em;color:var(--text-dim);padding:0 2px;font-size:11px;font-weight:700}.chart-section[data-v-92218551]{background:var(--bg-surface);border:1px solid var(--border-default);margin-bottom:var(--space-4);border-radius:8px;overflow:hidden}.chart-header[data-v-92218551]{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.marker-legend[data-v-92218551]{align-items:center;gap:var(--space-5);padding:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.interval-toggle[data-v-92218551]{background:var(--bg-base);border:1px solid var(--border-default);border-radius:var(--radius-sm);margin-right:var(--space-3);flex-shrink:0;display:flex;overflow:hidden}.iv-btn[data-v-92218551]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-dim);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);letter-spacing:.05em;background:0 0;border:none;padding:3px 10px;font-weight:600}.iv-btn[data-v-92218551]:hover{color:var(--text-muted);background:var(--bg-hover)}.iv-btn.active[data-v-92218551]{background:var(--accent-blue);color:#fff}.leg-item[data-v-92218551]{align-items:center;gap:var(--space-2);font-family:var(--font-mono);color:var(--text-dim);white-space:nowrap;font-size:10px;display:flex}.leg-dot[data-v-92218551]{border-radius:50%;flex-shrink:0;width:8px;height:8px}.leg-item--arrow[data-v-92218551]{gap:4px}.compare-grid[data-v-92218551]{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.compare-card[data-v-92218551]{background:var(--bg-surface);border:1px solid var(--border-default);padding:var(--space-3);border-radius:8px}.actual-card[data-v-92218551]{border-left:3px solid var(--accent-green)}.ideal-card[data-v-92218551]{border-left:3px solid #4f9cf9}.compare-title[data-v-92218551]{letter-spacing:.1em;color:var(--text-dim);margin-bottom:var(--space-3);font-size:11px;font-weight:700}.compare-rows[data-v-92218551]{flex-direction:column;gap:8px;display:flex}.compare-row[data-v-92218551]{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:baseline;padding-bottom:6px;font-size:13px;display:flex}.compare-row[data-v-92218551]:last-child{border-bottom:none}.total-row[data-v-92218551]{padding-top:4px;font-size:14px;font-weight:700;border-top:1px solid var(--border-default)!important}.trade-logs[data-v-92218551]{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.trade-log[data-v-92218551]{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:8px;overflow:hidden}.log-title[data-v-92218551]{letter-spacing:.1em;color:var(--text-dim);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-default);background:var(--bg-page);font-size:11px;font-weight:700}.log-table[data-v-92218551]{border-collapse:collapse;width:100%;font-size:12px}.log-table th[data-v-92218551]{text-align:right;letter-spacing:.08em;color:var(--text-dim);border-bottom:1px solid var(--border-default);background:var(--bg-page);padding:6px 10px;font-size:10px;font-weight:600}.log-table th[data-v-92218551]:first-child{text-align:left}.log-table td[data-v-92218551]{text-align:right;border-bottom:1px solid var(--border-subtle);padding:6px 10px}.log-table td[data-v-92218551]:first-child{text-align:left}.log-table tr:last-child td[data-v-92218551]{border-bottom:none}.buy-row td[data-v-92218551]:first-child{border-left:2px solid var(--accent-green)}.sell-row td[data-v-92218551]:first-child{border-left:2px solid var(--accent-red)}.centered[data-v-92218551]{justify-content:center;padding:60px;display:flex}.err-msg[data-v-92218551]{color:var(--accent-red)}.spinner-lg[data-v-92218551]{border:2px solid var(--border-default);border-top-color:var(--accent-blue);border-radius:50%;width:24px;height:24px;animation:.7s linear infinite spin-92218551;display:block}@keyframes spin-92218551{to{transform:rotate(360deg)}}.overlay[data-v-cb3c0cd3]{z-index:200;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-cb3c0cd3]{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);flex-direction:column;width:min(820px,96vw);max-height:90vh;display:flex;box-shadow:0 8px 40px #00000080}.modal-head[data-v-cb3c0cd3]{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.modal-title[data-v-cb3c0cd3]{font-family:var(--font-mono);font-size:var(--text-md);letter-spacing:.08em;color:var(--text-primary);font-weight:700}.close-btn[data-v-cb3c0cd3]{color:var(--text-dim);cursor:pointer;font-size:var(--text-md);padding:var(--space-1) var(--space-2);background:0 0;border:none}.close-btn[data-v-cb3c0cd3]:hover{color:var(--text-primary)}.modal-body[data-v-cb3c0cd3]{padding:var(--space-6);gap:var(--space-4);flex-direction:column;display:flex;overflow-y:auto}.modal-foot[data-v-cb3c0cd3]{justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-subtle);display:flex}.field-row[data-v-cb3c0cd3]{gap:var(--space-3);flex-wrap:wrap;align-items:flex-end;display:flex}.field-group[data-v-cb3c0cd3]{gap:var(--space-1);flex-direction:column;min-width:80px;display:flex}.field-group.flex-2[data-v-cb3c0cd3]{flex:2}.field-group.narrow[data-v-cb3c0cd3]{width:80px}.field-group.center[data-v-cb3c0cd3]{align-items:center}.field-label[data-v-cb3c0cd3]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-dim);letter-spacing:.06em;text-transform:uppercase}.text-input[data-v-cb3c0cd3],.sel[data-v-cb3c0cd3],.json-editor[data-v-cb3c0cd3]{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-sm);padding:var(--space-2) var(--space-3);outline:none;height:30px}.text-input.narrow[data-v-cb3c0cd3],.sel.narrow[data-v-cb3c0cd3]{width:80px}.text-input[data-v-cb3c0cd3]:focus,.sel[data-v-cb3c0cd3]:focus{border-color:var(--accent-blue)}.json-editor[data-v-cb3c0cd3]{resize:vertical;height:auto;line-height:1.5}.expr-input[data-v-cb3c0cd3]{border-color:var(--accent-amber);background:var(--accent-amber-dim);color:var(--accent-amber);font-style:italic}.expr-input[data-v-cb3c0cd3]:focus{border-color:var(--accent-amber)}.expr-input[data-v-cb3c0cd3]::placeholder{color:var(--accent-amber);opacity:.5;font-style:italic}.section-title[data-v-cb3c0cd3]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--border-subtle);padding-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.comb-toggle[data-v-cb3c0cd3]{gap:2px;display:flex}.comb-toggle button[data-v-cb3c0cd3]{background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-dim);font-family:var(--font-mono);font-size:var(--text-xs);cursor:pointer;border-radius:var(--radius-sm);padding:2px 8px}.comb-toggle button.active[data-v-cb3c0cd3]{background:var(--accent-blue-dim);border-color:var(--accent-blue);color:var(--accent-blue)}.leaf-block[data-v-cb3c0cd3]{gap:var(--space-1);flex-direction:column;display:flex}.leaf-row[data-v-cb3c0cd3]{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.field-desc[data-v-cb3c0cd3]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-dim);background:var(--bg-elevated);border-left:2px solid var(--border-default);padding:var(--space-2) var(--space-3);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-left:40px;line-height:1.6}.desc-field-name[data-v-cb3c0cd3]{color:var(--accent-blue);font-weight:600}.expr-hint[data-v-cb3c0cd3]{font-family:var(--font-mono);background:var(--accent-amber-dim);border-left:2px solid var(--accent-amber);padding:var(--space-2) var(--space-3);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:4px;margin-left:40px;font-size:10px;display:flex}.expr-hint-label[data-v-cb3c0cd3]{color:var(--accent-amber);margin-right:2px;font-weight:600}.expr-hint-tip[data-v-cb3c0cd3]{color:var(--text-faint);margin-left:var(--space-2)}.expr-field-chip[data-v-cb3c0cd3]{background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--accent-blue);cursor:default;border-radius:3px;padding:0 4px}.expr-more[data-v-cb3c0cd3]{color:var(--text-faint)}.comb-label[data-v-cb3c0cd3]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent-blue);text-align:center;width:32px}.mode-btn[data-v-cb3c0cd3]{background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-dim);font-family:var(--font-mono);font-size:var(--text-xs);cursor:pointer;border-radius:var(--radius-sm);justify-content:center;align-items:center;width:32px;height:30px;font-weight:600;display:flex}.mode-btn.active[data-v-cb3c0cd3]{background:var(--accent-amber-dim);border-color:var(--accent-amber);color:var(--accent-amber)}.mode-btn[data-v-cb3c0cd3]:hover{border-color:var(--accent-amber)}.remove-btn[data-v-cb3c0cd3]{color:var(--text-faint);cursor:pointer;font-size:var(--text-sm);background:0 0;border:none;padding:0 4px}.remove-btn[data-v-cb3c0cd3]:hover:not(:disabled){color:var(--accent-red)}.remove-btn[data-v-cb3c0cd3]:disabled{opacity:.3}.add-leaf-btn[data-v-cb3c0cd3]{border:1px dashed var(--border-default);color:var(--text-dim);font-family:var(--font-mono);font-size:var(--text-xs);padding:var(--space-2) var(--space-4);cursor:pointer;border-radius:var(--radius-sm);background:0 0;align-self:flex-start}.add-leaf-btn[data-v-cb3c0cd3]:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.toggle[data-v-cb3c0cd3]{font-family:var(--font-mono);font-size:var(--text-xs);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-dim);font-weight:600}.toggle.on[data-v-cb3c0cd3]{background:var(--accent-blue-dim);border-color:var(--accent-blue);color:var(--accent-blue)}.btn-cancel[data-v-cb3c0cd3]{background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs);padding:var(--space-2) var(--space-5);cursor:pointer;border-radius:var(--radius-sm)}.btn-cancel[data-v-cb3c0cd3]:hover{border-color:var(--border-focus)}.btn-save[data-v-cb3c0cd3]{background:var(--accent-blue);color:#fff;font-family:var(--font-mono);font-size:var(--text-xs);padding:var(--space-2) var(--space-6);cursor:pointer;border-radius:var(--radius-sm);border:none;font-weight:600}.btn-save[data-v-cb3c0cd3]:hover:not(:disabled){opacity:.85}.btn-save[data-v-cb3c0cd3]:disabled{opacity:.4;cursor:default}.err-msg[data-v-cb3c0cd3]{font-size:var(--text-xs);color:var(--accent-red);margin-top:var(--space-1)}.flex-2[data-v-cb3c0cd3]{flex:2;min-width:120px}.expr-wrap[data-v-cb3c0cd3]{flex-direction:column;display:flex;position:relative}.suggest-list[data-v-cb3c0cd3]{z-index:300;background:var(--bg-surface);border:1px solid var(--accent-amber);border-radius:var(--radius-sm);position:absolute;top:calc(100% + 2px);left:0;right:0;overflow:hidden;box-shadow:0 4px 16px #0006}.suggest-item[data-v-cb3c0cd3]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-primary);padding:var(--space-2) var(--space-3);cursor:pointer}.suggest-item[data-v-cb3c0cd3]:hover,.suggest-item.active[data-v-cb3c0cd3]{background:var(--accent-amber-dim);color:var(--accent-amber)}.playbook-page[data-v-400b1622]{padding:var(--space-6) var(--space-8);gap:var(--space-6);box-sizing:border-box;flex-direction:column;width:100%;max-width:1200px;margin:0 auto;display:flex}.pb-header[data-v-400b1622]{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.pb-header-left[data-v-400b1622]{gap:var(--space-2);flex-direction:column;display:flex}.pb-title[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-xl);color:var(--text-primary);letter-spacing:.05em;margin:0;font-weight:700}.pb-sub[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-dim);max-width:600px;margin:0;line-height:1.6}.pb-loading[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-faint);padding-top:var(--space-2)}.pb-cards[data-v-400b1622]{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(340px,1fr));display:grid}.pb-card[data-v-400b1622]{gap:var(--space-4);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg,12px);padding:var(--space-6);flex-direction:column;transition:border-color .15s,box-shadow .15s;display:flex}.pb-card[data-v-400b1622]:hover{border-color:var(--accent-blue);box-shadow:0 0 0 1px var(--accent-blue-glow)}.pb-card--builtin[data-v-400b1622]{border-color:var(--border-default)}.card-top[data-v-400b1622]{gap:var(--space-2);flex-direction:column;display:flex}.card-badges[data-v-400b1622]{gap:var(--space-2);align-items:center;display:flex}.badge-builtin[data-v-400b1622]{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent-blue);background:var(--accent-blue-dim);border:1px solid var(--accent-blue);border-radius:3px;padding:1px 6px;font-size:10px;font-weight:700}.badge-applied[data-v-400b1622]{font-family:var(--font-mono);color:var(--accent-green);background:var(--accent-green-dim);border:1px solid var(--accent-green);border-radius:3px;padding:1px 6px;font-size:10px;font-weight:600}.card-name[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-lg);color:var(--text-primary);margin:0;font-weight:700;line-height:1.3}.card-tagline[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-muted);margin:0;font-style:italic}.card-desc[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-dim);border-left:2px solid var(--border-subtle);padding-left:var(--space-4);margin:0;line-height:1.7}.card-rules[data-v-400b1622]{flex-direction:column;flex:1;gap:6px;display:flex}.card-rule[data-v-400b1622]{align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);display:flex}.rule-pip[data-v-400b1622]{border-radius:50%;flex-shrink:0;width:6px;height:6px}.act-exit .rule-pip[data-v-400b1622],.rule-pip.act-exit[data-v-400b1622]{background:var(--accent-orange)}.act-book .rule-pip[data-v-400b1622],.rule-pip.act-book[data-v-400b1622]{background:var(--accent-amber)}.act-add .rule-pip[data-v-400b1622],.rule-pip.act-add[data-v-400b1622]{background:var(--accent-blue)}.act-sl .rule-pip[data-v-400b1622],.rule-pip.act-sl[data-v-400b1622]{background:var(--accent-green)}.act-hold .rule-pip[data-v-400b1622],.rule-pip.act-hold[data-v-400b1622]{background:var(--text-faint)}.rule-action-label[data-v-400b1622]{text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;border:1px solid;border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:10px;font-weight:700}.rule-action-label.act-exit[data-v-400b1622]{color:var(--accent-orange);border-color:var(--accent-orange);background:var(--accent-orange-dim)}.rule-action-label.act-book[data-v-400b1622]{color:var(--accent-amber);border-color:var(--accent-amber);background:var(--accent-amber-dim)}.rule-action-label.act-add[data-v-400b1622]{color:var(--accent-blue);border-color:var(--accent-blue);background:var(--accent-blue-dim)}.rule-action-label.act-sl[data-v-400b1622]{color:var(--accent-green);border-color:var(--accent-green);background:var(--accent-green-dim)}.rule-action-label.act-hold[data-v-400b1622]{color:var(--text-dim);border-color:var(--border-default);background:var(--bg-elevated)}.rule-name-text[data-v-400b1622]{color:var(--text-muted);flex:1;min-width:0}.card-rule-more[data-v-400b1622]{color:var(--text-faint);padding-left:var(--space-3);font-style:italic}.card-rule-empty[data-v-400b1622]{color:var(--text-faint);font-style:italic}.card-footer[data-v-400b1622]{gap:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--border-subtle);align-items:center;display:flex}.btn-apply-all[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-xs);background:var(--accent-blue);color:#fff;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);cursor:pointer;border:none;flex:1;height:30px;font-weight:700}.btn-apply-all[data-v-400b1622]:hover:not(:disabled){opacity:.85}.btn-apply-all[data-v-400b1622]:disabled{opacity:.35;cursor:default}.btn-customize[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-xs);background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-muted);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);cursor:pointer;height:30px;font-weight:600}.btn-customize[data-v-400b1622]:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.btn-delete-card[data-v-400b1622]{color:var(--text-faint);cursor:pointer;font-size:var(--text-sm);background:0 0;border:none;padding:2px 6px}.btn-delete-card[data-v-400b1622]:hover{color:var(--accent-red)}.btn-fork[data-v-400b1622]{border:1px solid var(--accent-blue);color:var(--accent-blue);cursor:pointer;font-size:var(--text-sm);background:0 0;border-radius:4px;padding:3px 10px}.btn-fork[data-v-400b1622]:hover{background:var(--accent-blue-dim)}.btn-fork.mini[data-v-400b1622]{font-size:var(--text-xs);padding:1px 6px}.btn-share-card[data-v-400b1622]{color:var(--text-muted);cursor:pointer;font-size:var(--text-sm);background:0 0;border:none;padding:2px 6px}.btn-share-card[data-v-400b1622]:hover{color:var(--accent-blue)}.badge-forked[data-v-400b1622]{font-family:var(--font-mono);color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:3px;padding:1px 5px;font-size:10px;font-weight:600}.system-notice[data-v-400b1622]{background:var(--accent-blue-dim);border:1px solid var(--accent-blue);color:var(--accent-blue);font-size:var(--text-sm);margin-bottom:var(--space-3);border-radius:4px;align-items:center;padding:8px 12px;display:flex}.fork-icon[data-v-400b1622]{color:var(--accent-blue)}.share-icon[data-v-400b1622]{color:var(--text-muted)}.share-icon[data-v-400b1622]:hover{color:var(--accent-blue)}.modal-overlay[data-v-400b1622]{z-index:9999;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box[data-v-400b1622]{background:var(--bg-card);border:1px solid var(--border-subtle);padding:var(--space-6);border-radius:6px;min-width:400px;max-width:560px}.modal-title[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-lg);color:var(--text-primary);margin:0 0 var(--space-2);font-weight:700}.modal-hint[data-v-400b1622]{font-size:var(--text-sm);color:var(--text-muted);margin:0 0 var(--space-4)}.share-url-row[data-v-400b1622]{gap:var(--space-2);display:flex}.share-url-input[data-v-400b1622]{font-size:var(--text-sm);flex:1}.pb-empty[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-faint);padding:var(--space-7);text-align:center;grid-column:1/-1}.collapsible-section[data-v-400b1622]{border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.collapsible-toggle[data-v-400b1622]{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4) var(--space-5);background:var(--bg-surface);cursor:pointer;text-align:left;border:none;display:flex}.collapsible-toggle[data-v-400b1622]:hover{background:var(--bg-hover)}.ct-label[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-primary);letter-spacing:.04em;font-weight:700}.ct-meta[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-faint);flex:1}.ct-arrow[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-faint);flex-shrink:0}.stocks-panel[data-v-400b1622]{background:var(--bg-base);border-top:1px solid var(--border-subtle)}.label-tabs[data-v-400b1622]{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;gap:2px;display:flex}.label-tab[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-xs);cursor:pointer;background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-dim);border-radius:var(--radius-sm);padding:2px 8px}.label-tab[data-v-400b1622]:hover{color:var(--text-primary)}.label-tab.active[data-v-400b1622]{background:var(--accent-blue-dim);border-color:var(--accent-blue);color:var(--accent-blue)}.stock-list-grid[data-v-400b1622]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:0;max-height:300px;display:grid;overflow-y:auto}.stock-assign-row[data-v-400b1622]{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-subtle);display:flex}.stock-assign-row[data-v-400b1622]:hover{background:var(--bg-hover)}.sa-sym[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-primary);flex:0 0 80px;font-weight:600}.sa-strat[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent-blue);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.sa-strat.sa-default[data-v-400b1622]{color:var(--text-faint)}.sa-actions[data-v-400b1622]{flex-shrink:0;gap:2px;display:flex}.advanced-panel[data-v-400b1622]{background:var(--bg-base);border-top:1px solid var(--border-subtle);flex-direction:column;min-height:0;display:flex}.tab-bar[data-v-400b1622]{border-bottom:2px solid var(--border-default);background:var(--bg-surface);flex-shrink:0;gap:0;display:flex}.tab-btn[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;padding:var(--space-3) var(--space-6);color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;font-weight:600}.tab-btn[data-v-400b1622]:hover{color:var(--text-primary)}.tab-btn.active[data-v-400b1622]{color:var(--accent-blue);border-bottom-color:var(--accent-blue)}.tab-content[data-v-400b1622]{padding:var(--space-5);max-height:600px;overflow-y:auto}.section-head[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;margin-bottom:var(--space-4);font-weight:700}.section-note[data-v-400b1622]{color:var(--text-faint);text-transform:none;letter-spacing:0;font-weight:400}.fields-grid[data-v-400b1622]{gap:var(--space-3);margin-bottom:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.field-card[data-v-400b1622]{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-4);flex-direction:column;gap:4px;display:flex}.field-top[data-v-400b1622]{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.field-key[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent-blue)}.field-group-badge[data-v-400b1622]{font-family:var(--font-mono);color:var(--text-faint);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:0 5px;font-size:10px}.field-label[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-primary);font-weight:600}.field-desc-text[data-v-400b1622]{font-family:var(--font-mono);color:var(--text-faint);font-size:10px;line-height:1.5}.settings-primitives-block[data-v-400b1622]{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-5)}.settings-primitives-grid[data-v-400b1622]{gap:var(--space-4);flex-direction:column;display:flex}.sp-row[data-v-400b1622]{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle);display:flex}.sp-row[data-v-400b1622]:last-child{border-bottom:none;padding-bottom:0}.sp-meta[data-v-400b1622]{flex-direction:column;flex:1;gap:3px;display:flex}.sp-label[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-primary);font-weight:600}.sp-hint[data-v-400b1622]{font-family:var(--font-mono);color:var(--text-faint);font-size:10px;line-height:1.5}.sp-input-wrap[data-v-400b1622]{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.sp-input[data-v-400b1622]{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);width:72px;color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-base);padding:var(--space-2) var(--space-3);text-align:right;transition:border-color var(--transition-fast);outline:none}.sp-input[data-v-400b1622]:focus{border-color:var(--accent-blue)}.sp-unit[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-dim)}.sp-footer[data-v-400b1622]{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border-subtle);justify-content:flex-end;display:flex}.indicator-group[data-v-400b1622]{margin-bottom:var(--space-5)}.ind-group-head[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-dim);letter-spacing:.15em;padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-2);font-weight:700}.ind-block[data-v-400b1622]{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-elevated);margin-bottom:var(--space-3);overflow:hidden}.ind-block-head[data-v-400b1622]{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);display:flex}.ind-tf-badge[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-xs);background:var(--accent-blue-dim);border:1px solid var(--accent-blue);color:var(--accent-blue);border-radius:var(--radius-sm);white-space:nowrap;flex-shrink:0;padding:2px 8px;font-weight:600}.ind-desc[data-v-400b1622]{font-family:var(--font-mono);color:var(--text-dim);flex:1;font-size:11px;line-height:1.5}.ind-block-actions[data-v-400b1622]{gap:var(--space-2);flex-shrink:0;align-items:center;display:flex}.variant-row[data-v-400b1622]{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);display:flex}.variant-row[data-v-400b1622]:last-child{border-bottom:none}.variant-num[data-v-400b1622]{font-family:var(--font-mono);color:var(--text-faint);text-align:right;flex-shrink:0;width:18px;font-size:10px}.ctx-key-preview[data-v-400b1622]{flex-wrap:wrap;gap:4px;min-width:120px;display:flex}.ctx-key[data-v-400b1622]{font-family:var(--font-mono);color:var(--accent-blue);background:var(--accent-blue-dim);border-radius:3px;padding:1px 5px;font-size:10px}.remove-variant-btn[data-v-400b1622]{color:var(--text-faint);cursor:pointer;font-size:var(--text-xs);background:0 0;border:none;flex-shrink:0;padding:2px 5px}.remove-variant-btn[data-v-400b1622]:hover{color:var(--accent-red)}.add-variant-btn[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-xs);background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-dim);border-radius:var(--radius-sm);cursor:pointer;padding:2px 10px}.add-variant-btn[data-v-400b1622]:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.ind-params[data-v-400b1622]{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.param-field[data-v-400b1622]{align-items:center;gap:var(--space-2);display:flex}.param-label[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-dim)}.param-input[data-v-400b1622]{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-xs);outline:none;width:72px;padding:2px 6px}.param-input[data-v-400b1622]:focus{border-color:var(--accent-blue)}.param-range[data-v-400b1622]{font-family:var(--font-mono);color:var(--text-faint);font-size:10px}.save-btn[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-xs);background:var(--accent-blue);color:#fff;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;padding:3px 12px;font-weight:600}.save-btn[data-v-400b1622]:disabled{opacity:.3;cursor:default}.save-btn[data-v-400b1622]:not(:disabled):hover{opacity:.85}.reset-ind-btn[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-xs);background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-dim);border-radius:var(--radius-sm);cursor:pointer;padding:2px 10px}.reset-ind-btn[data-v-400b1622]:hover:not(:disabled){border-color:var(--accent-orange);color:var(--accent-orange)}.reset-ind-btn[data-v-400b1622]:disabled{opacity:.3;cursor:default}.global-rules-section[data-v-400b1622]{border:1px solid var(--accent-orange);border-radius:var(--radius-md);background:var(--accent-orange-dim);margin-bottom:var(--space-5);overflow:hidden}.global-head-left[data-v-400b1622]{flex-direction:column;gap:2px;display:flex}.global-subtitle[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-dim)}.empty-state.small[data-v-400b1622]{padding:var(--space-4) var(--space-5);font-size:var(--text-xs);text-align:left}.add-strat-wrap[data-v-400b1622]{position:relative}.add-strat-btn[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-xs);background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-dim);border-radius:var(--radius-sm);cursor:pointer;padding:1px 8px}.add-strat-btn[data-v-400b1622]:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.add-strat-menu[data-v-400b1622]{z-index:100;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);min-width:180px;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 4px 16px #0006}.add-strat-item[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-primary);padding:var(--space-3) var(--space-4);cursor:pointer;justify-content:space-between;align-items:center;display:flex}.add-strat-item[data-v-400b1622]:hover{background:var(--bg-hover)}.add-strat-item.dim[data-v-400b1622]{color:var(--text-faint);cursor:default}.already-in[data-v-400b1622]{color:var(--accent-blue);font-size:12px}.strat-list-section[data-v-400b1622]{margin-bottom:var(--space-5)}.strat-list[data-v-400b1622]{gap:var(--space-3);padding:var(--space-4) 0;flex-wrap:wrap;align-items:center;display:flex}.strat-card[data-v-400b1622]{align-items:center;gap:var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);cursor:pointer;display:flex}.strat-card[data-v-400b1622]:hover{border-color:var(--accent-blue)}.strat-card.selected[data-v-400b1622]{border-color:var(--accent-blue);background:var(--accent-blue-dim)}.strat-card-left[data-v-400b1622]{flex-direction:column;gap:2px;display:flex}.strat-card-name[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-primary);font-weight:600}.strat-card-meta[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-dim)}.del-btn[data-v-400b1622]{color:var(--text-faint);cursor:pointer;font-size:var(--text-xs);background:0 0;border:none;padding:0 4px}.del-btn[data-v-400b1622]:hover{color:var(--accent-red)}.new-strat-row[data-v-400b1622]{gap:var(--space-2);align-items:center;display:flex}.flex-1[data-v-400b1622]{flex:1}.rules-section[data-v-400b1622]{flex-direction:column;display:flex}.bulk-apply-section[data-v-400b1622]{margin-top:var(--space-5);padding:var(--space-4) var(--space-5);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);gap:var(--space-3);flex-direction:column;display:flex}.bulk-row[data-v-400b1622]{gap:var(--space-2);display:flex}.rules-list[data-v-400b1622]{flex:1}.rule-row[data-v-400b1622]{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-subtle);display:flex}.rule-row[data-v-400b1622]:hover{background:var(--bg-hover)}.rule-row.disabled[data-v-400b1622]{opacity:.45}.rule-prio[data-v-400b1622]{flex-direction:column;align-items:center;gap:0;width:30px;display:flex}.prio-num[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-dim)}.arrow-btn[data-v-400b1622]{color:var(--text-faint);cursor:pointer;background:0 0;border:none;padding:0;font-size:8px;line-height:1}.arrow-btn[data-v-400b1622]:hover:not(:disabled){color:var(--accent-blue)}.arrow-btn[data-v-400b1622]:disabled{opacity:.2}.layer-badge[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-xs);border-radius:var(--radius-sm);white-space:nowrap;border:1px solid;padding:1px 6px;font-weight:600}.lyr-exit[data-v-400b1622]{color:var(--accent-orange);border-color:var(--accent-orange);background:var(--accent-orange-dim)}.lyr-entry[data-v-400b1622]{color:var(--accent-blue);border-color:var(--accent-blue);background:var(--accent-blue-dim)}.lyr-guard[data-v-400b1622]{color:var(--accent-red);border-color:var(--accent-red);background:var(--accent-red-dim)}.lyr-stop[data-v-400b1622]{color:var(--accent-amber);border-color:var(--accent-amber);background:var(--accent-amber-dim)}.rule-body[data-v-400b1622]{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.rule-name[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-primary);font-weight:500}.rule-cond[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.action-badge[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-xs);border-radius:var(--radius-sm);white-space:nowrap;border:1px solid;padding:2px 8px;font-weight:700}.act-exit[data-v-400b1622]{color:var(--accent-orange);border-color:var(--accent-orange);background:var(--accent-orange-dim)}.act-book[data-v-400b1622]{color:var(--accent-amber);border-color:var(--accent-amber);background:var(--accent-amber-dim)}.act-add[data-v-400b1622]{color:var(--accent-blue);border-color:var(--accent-blue);background:var(--accent-blue-dim)}.act-sl[data-v-400b1622]{color:var(--accent-green);border-color:var(--accent-green);background:var(--accent-green-dim)}.act-hold[data-v-400b1622]{color:var(--text-dim);border-color:var(--border-default);background:var(--bg-elevated)}.rule-controls[data-v-400b1622]{gap:var(--space-2);align-items:center;display:flex}.toggle-btn[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-xs);border-radius:var(--radius-sm);cursor:pointer;background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-dim);padding:1px 8px;font-weight:600}.toggle-btn.on[data-v-400b1622]{background:var(--accent-blue-dim);border-color:var(--accent-blue);color:var(--accent-blue)}.icon-btn[data-v-400b1622]{color:var(--text-dim);cursor:pointer;font-size:var(--text-sm);background:0 0;border:none;padding:2px 5px}.icon-btn[data-v-400b1622]:hover{color:var(--accent-blue)}.icon-btn.danger[data-v-400b1622]:hover{color:var(--accent-red)}.add-rule-btn[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-xs);background:var(--accent-blue-dim);border:1px solid var(--accent-blue);color:var(--accent-blue);padding:var(--space-1) var(--space-4);cursor:pointer;border-radius:var(--radius-sm)}.add-rule-btn[data-v-400b1622]:hover{opacity:.8}.modal-backdrop[data-v-400b1622]{z-index:200;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box[data-v-400b1622]{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);width:640px;max-height:70vh;padding:var(--space-5);flex-direction:column;display:flex;box-shadow:0 8px 40px #00000080}.modal-head[data-v-400b1622]{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.picker-list[data-v-400b1622]{flex:1;overflow-y:auto}.picker-row[data-v-400b1622]{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--border-subtle);cursor:pointer;display:flex}.picker-row[data-v-400b1622]:hover{background:var(--bg-hover)}.pane-head[data-v-400b1622]{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.pane-title[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-dim);letter-spacing:.12em;text-transform:uppercase;font-weight:700}.mini-btn[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-xs);cursor:pointer;background:var(--accent-blue-dim);border:1px solid var(--accent-blue);color:var(--accent-blue);border-radius:var(--radius-sm);padding:1px 6px}.mini-btn.dim[data-v-400b1622]{background:var(--bg-elevated);border-color:var(--border-default);color:var(--text-dim)}.mini-btn[data-v-400b1622]:hover{opacity:.8}.sel[data-v-400b1622],.text-input[data-v-400b1622]{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-xs);padding:var(--space-2) var(--space-3);outline:none;height:28px}.sel[data-v-400b1622]:focus,.text-input[data-v-400b1622]:focus{border-color:var(--accent-blue)}.apply-btn[data-v-400b1622]{background:var(--accent-blue);color:#fff;font-family:var(--font-mono);font-size:var(--text-xs);padding:var(--space-1) var(--space-4);cursor:pointer;border-radius:var(--radius-sm);border:none;height:28px;font-weight:600}.apply-btn[data-v-400b1622]:hover:not(:disabled){opacity:.85}.apply-btn[data-v-400b1622]:disabled{opacity:.4;cursor:default}.empty-state[data-v-400b1622]{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-faint);padding:var(--space-7);text-align:center}.login-page[data-v-65fed978]{background:var(--bg-base);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card[data-v-65fed978]{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);width:360px;padding:var(--space-10) var(--space-8);align-items:center;gap:var(--space-6);flex-direction:column;display:flex;box-shadow:0 8px 40px #00000059}.logo-area[data-v-65fed978]{text-align:center;align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.logo-icon[data-v-65fed978]{font-size:2.5rem;line-height:1}.app-name[data-v-65fed978]{font-size:var(--text-xl);color:var(--text-primary);letter-spacing:-.02em;margin:0;font-weight:700}.tagline[data-v-65fed978]{font-size:var(--text-xs);color:var(--text-dim);font-family:var(--font-mono);margin:0}.error-banner[data-v-65fed978]{border:1px solid var(--accent-red);border-radius:var(--radius-sm);width:100%;color:var(--accent-red);font-size:var(--text-xs);padding:var(--space-3) var(--space-4);text-align:center;background:#ff52521a}.google-btn[data-v-65fed978]{align-items:center;gap:var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-3) var(--space-6);color:var(--text-primary);font-size:var(--text-sm);cursor:pointer;white-space:nowrap;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s;display:flex}.google-btn[data-v-65fed978]:hover{background:var(--bg-hover);border-color:var(--accent-blue)}.google-logo[data-v-65fed978]{flex-shrink:0;width:20px;height:20px}.invite-note[data-v-65fed978]{font-size:var(--text-xs);color:var(--text-dim);margin:0}.admin-page[data-v-ea86baae]{max-width:800px;padding:var(--space-8) var(--space-6);gap:var(--space-8);flex-direction:column;margin:0 auto;display:flex}.page-title[data-v-ea86baae]{font-size:var(--text-lg);color:var(--text-primary);margin:0;font-weight:700}.sec-title[data-v-ea86baae]{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin:0 0 var(--space-3);font-weight:500}.section[data-v-ea86baae]{flex-direction:column;display:flex}.invite-form[data-v-ea86baae]{gap:var(--space-3);display:flex}.invite-input[data-v-ea86baae]{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-sm);padding:var(--space-2) var(--space-3);outline:none;flex:1}.invite-input[data-v-ea86baae]:focus{border-color:var(--accent-blue)}.btn-primary[data-v-ea86baae]{background:var(--accent-blue);color:#fff;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-5);font-size:var(--text-sm);cursor:pointer;border:none;font-weight:600}.btn-primary[data-v-ea86baae]:hover{opacity:.85}.btn-danger-sm[data-v-ea86baae]{border:1px solid var(--accent-red);color:var(--accent-red);border-radius:var(--radius-sm);padding:2px var(--space-3);font-size:var(--text-xs);cursor:pointer;background:0 0}.btn-danger-sm[data-v-ea86baae]:hover{background:#ff52521a}.sec-desc[data-v-ea86baae]{font-size:var(--text-xs);color:var(--text-dim);margin:0 0 var(--space-3);line-height:1.6}.backfill-row[data-v-ea86baae]{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.btn-secondary[data-v-ea86baae]{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-sm);padding:var(--space-2) var(--space-4);cursor:pointer;transition:border-color var(--transition-fast);font-weight:500}.btn-secondary[data-v-ea86baae]:hover:not(:disabled){border-color:var(--accent-blue)}.btn-secondary[data-v-ea86baae]:disabled{opacity:.5;cursor:default}.ok-msg[data-v-ea86baae]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent-blue)}.err-banner[data-v-ea86baae]{border:1px solid var(--accent-red);border-radius:var(--radius-sm);color:var(--accent-red);font-size:var(--text-xs);padding:var(--space-3) var(--space-4);background:#ff52521a}.data-table[data-v-ea86baae]{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.data-table thead tr[data-v-ea86baae]{border-bottom:1px solid var(--border-subtle)}.data-table th[data-v-ea86baae]{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);padding:var(--space-2) var(--space-3);text-align:left;font-weight:500}.data-table td[data-v-ea86baae]{padding:var(--space-2) var(--space-3);color:var(--text-muted);border-bottom:1px solid var(--border-subtle)}.data-table tbody tr:last-child td[data-v-ea86baae]{border-bottom:none}.num[data-v-ea86baae]{font-family:var(--font-mono)}.dim[data-v-ea86baae]{color:var(--text-dim)}.status-pill[data-v-ea86baae]{font-family:var(--font-mono);border-radius:var(--radius-sm);text-transform:uppercase;padding:2px 7px;font-size:10px;font-weight:600}.status-pill.pending[data-v-ea86baae]{color:var(--accent-amber);background:#fbbf2426}.status-pill.accepted[data-v-ea86baae]{color:var(--accent-green);background:#34d8711f}.status-pill.revoked[data-v-ea86baae]{color:var(--accent-red);background:#ff52521f}.admin-badge[data-v-ea86baae]{font-family:var(--font-mono);border-radius:var(--radius-sm);color:var(--accent-blue);text-transform:uppercase;background:#4d94ff26;padding:2px 7px;font-size:10px;font-weight:600}.btn-impersonate[data-v-ea86baae]{border:1px solid var(--border-default);color:var(--text-dim);border-radius:var(--radius-sm);padding:2px var(--space-3);font-size:var(--text-xs);font-family:var(--font-mono);cursor:pointer;transition:all var(--transition-fast);background:0 0}.btn-impersonate[data-v-ea86baae]:hover:not(:disabled){border-color:var(--accent-amber);color:var(--accent-amber);background:#fbbf2414}.btn-impersonate[data-v-ea86baae]:disabled{opacity:.5;cursor:default}.unlock-screen[data-v-b7c5355f]{background:var(--bg-base);justify-content:center;align-items:center;min-height:100vh;display:flex}.unlock-box[data-v-b7c5355f]{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-8);gap:var(--space-4);flex-direction:column;width:320px;display:flex}.unlock-title[data-v-b7c5355f]{font-family:var(--font-mono);font-size:var(--text-lg);color:var(--text-primary);letter-spacing:.1em;font-weight:700}.unlock-sub[data-v-b7c5355f]{font-size:var(--text-xs);color:var(--text-dim);margin:0}.unlock-form[data-v-b7c5355f]{gap:var(--space-2);display:flex}.unlock-input[data-v-b7c5355f]{background:var(--bg-base);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-sm);padding:var(--space-2) var(--space-3);outline:none;flex:1}.unlock-input[data-v-b7c5355f]:focus{border-color:var(--accent-blue)}.unlock-btn[data-v-b7c5355f]{background:var(--accent-blue);color:#fff;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-xs);padding:var(--space-2) var(--space-4);cursor:pointer;border:none;font-weight:600}.unlock-btn[data-v-b7c5355f]:hover{opacity:.85}.unlock-error[data-v-b7c5355f]{font-size:var(--text-xs);color:var(--accent-red);margin:0}:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-base:#0b0d14;--bg-surface:#10131c;--bg-elevated:#161a26;--bg-hover:#1c2130;--bg-input:#0d1018;--text-primary:#dde3f0;--text-muted:#9ba5be;--text-dim:#5a6380;--text-faint:#353d55;--accent-blue:#4d94ff;--accent-blue-dim:#4d94ff24;--accent-blue-glow:#4d94ff59;--accent-green:#4d94ff;--accent-green-dim:#4d94ff21;--accent-red:#ffb020;--accent-red-dim:#ffb02026;--accent-red-strong:#ffb02040;--accent-amber:#ffb020;--accent-amber-dim:#ffb02026;--accent-orange:#ff7a2f;--accent-orange-dim:#ff7a2f21;--border-subtle:#1d2235;--border-default:#2a3050;--border-focus:#4d94ff;--row-add-bg:#4d94ff14;--row-add-hover:#4d94ff21;--row-sl-breach-bg:#ff7a2f1c;--row-sl-breach-hover:#ff7a2f2e}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-base:#f4f6fb;--bg-surface:#fff;--bg-elevated:#eef1f8;--bg-hover:#e8ecf5;--bg-input:#fff;--text-primary:#111827;--text-muted:#374151;--text-dim:#6b7280;--text-faint:#9ca3af;--accent-blue:#2563eb;--accent-blue-dim:#2563eb1a;--accent-blue-glow:#2563eb40;--accent-green:#2563eb;--accent-green-dim:#2563eb1a;--accent-red:#d97706;--accent-red-dim:#d977061a;--accent-red-strong:#d977062e;--accent-amber:#d97706;--accent-amber-dim:#d977061a;--accent-orange:#ea580c;--accent-orange-dim:#ea580c1a;--border-subtle:#e5e7eb;--border-default:#d1d5db;--border-focus:#2563eb;--row-add-bg:#2563eb12;--row-add-hover:#2563eb1f;--row-sl-breach-bg:#ea580c14;--row-sl-breach-hover:#ea580c24}:root{--font-mono:"JetBrains Mono", "Courier New", monospace;--font-sans:"IBM Plex Mono", monospace;--text-xs:10px;--text-sm:11px;--text-md:12px;--text-base:13px;--text-lg:15px;--text-xl:18px;--space-1:2px;--space-2:4px;--space-3:6px;--space-4:8px;--space-5:12px;--space-6:16px;--space-7:24px;--space-8:32px;--radius-sm:2px;--radius-md:4px;--radius-lg:6px;--transition-fast:.12s ease;--transition-med:.22s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-base);height:100%;color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;overflow:hidden}[data-theme=dark] body:before,:root body:before{content:"";pointer-events:none;z-index:9999;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00000006 2px 4px);position:fixed;inset:0}[data-theme=light] body:before{display:none}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.app{background:var(--bg-base);flex-direction:column;height:100vh;display:flex;overflow:hidden}.impersonation-banner[data-v-b7c5355f]{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-6);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent-amber);z-index:60;background:#fbbf241f;border-bottom:1px solid #fbbf2466;flex-shrink:0;display:flex}.impersonation-banner strong[data-v-b7c5355f]{font-weight:700}.imp-icon[data-v-b7c5355f]{font-style:normal}.imp-sep[data-v-b7c5355f]{color:#fbbf2466}.imp-dim[data-v-b7c5355f]{color:#fbbf2499}.imp-exit-btn[data-v-b7c5355f]{border:1px solid var(--accent-amber);color:var(--accent-amber);border-radius:var(--radius-sm);padding:2px var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);cursor:pointer;transition:background var(--transition-fast);background:0 0;margin-left:auto;font-weight:600}.imp-exit-btn[data-v-b7c5355f]:hover{background:#fbbf2426}.toolbar[data-v-b7c5355f]{height:48px;padding:0 var(--space-6);background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);z-index:50;box-shadow:0 1px 0 0 var(--accent-blue-glow);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.app-title[data-v-b7c5355f]{font-family:var(--font-mono);font-size:var(--text-md);letter-spacing:.2em;color:var(--text-primary);align-items:center;gap:var(--space-3);font-weight:700;display:flex}.title-accent[data-v-b7c5355f]{color:var(--accent-blue);font-size:var(--text-lg)}.toolbar-left[data-v-b7c5355f],.toolbar-right[data-v-b7c5355f]{align-items:center;gap:var(--space-3);display:flex}.tb-nav[data-v-b7c5355f]{background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);align-items:center;gap:2px;padding:2px;display:flex}.nav-btn[data-v-b7c5355f]{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.05em;color:var(--text-dim);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:2px;height:22px;padding:3px 10px;font-weight:500;line-height:1}.nav-btn[data-v-b7c5355f]:hover{color:var(--text-primary);background:var(--bg-elevated)}.nav-btn.active[data-v-b7c5355f]{background:var(--bg-elevated);color:var(--text-primary);font-weight:600}.user-menu[data-v-b7c5355f]{align-items:center;gap:var(--space-3);display:flex}.user-name[data-v-b7c5355f]{font-size:var(--text-xs);color:var(--text-dim);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.sign-out-btn[data-v-b7c5355f]{font-size:var(--text-xs);padding:var(--space-1) var(--space-3);color:var(--text-dim);border-color:var(--border-subtle)}.sign-out-btn[data-v-b7c5355f]:hover{color:var(--accent-red);border-color:var(--accent-red)}.spinner-lg[data-v-b7c5355f]{border:2px solid var(--border-default);border-top-color:var(--accent-blue);border-radius:50%;width:24px;height:24px;animation:.7s linear infinite spin-b7c5355f;display:block}@keyframes spin-b7c5355f{to{transform:rotate(360deg)}}.tb-sep[data-v-b7c5355f]{background:var(--border-subtle);width:1px;height:20px;margin:0 var(--space-1)}.tb-btn[data-v-b7c5355f]{align-items:center;gap:var(--space-2);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;padding:var(--space-2) var(--space-4);cursor:pointer;transition:all var(--transition-fast);height:30px;font-weight:500;display:inline-flex}.tb-btn[data-v-b7c5355f]:hover{border-color:var(--accent-blue);color:var(--text-primary);background:var(--accent-blue-dim)}.tb-btn[data-v-b7c5355f]:disabled{opacity:.6;cursor:default}.tb-btn.icon-only[data-v-b7c5355f]{padding:var(--space-2) var(--space-3)}.tb-btn svg[data-v-b7c5355f]{width:13px;height:13px}.tb-btn.privacy-active[data-v-b7c5355f]{color:var(--accent-amber);border-color:var(--accent-amber);background:var(--accent-amber-dim)}.btn-icon[data-v-b7c5355f]{justify-content:center;align-items:center;width:13px;height:13px;display:flex}.adj-count[data-v-b7c5355f]{background:var(--accent-blue-dim);color:var(--accent-blue);font-size:var(--text-xs);font-weight:700;font-family:var(--font-mono);margin-left:var(--space-1);border-radius:10px;padding:0 5px}.spinner[data-v-b7c5355f]{border:1.5px solid var(--border-default);border-top-color:var(--accent-blue);border-radius:50%;width:11px;height:11px;animation:.7s linear infinite spin-b7c5355f;display:block}.main[data-v-b7c5355f]{flex-direction:column;flex:1;display:flex;overflow:auto}.main--dashboard[data-v-b7c5355f]{overflow:hidden}.toast-stack[data-v-b7c5355f]{bottom:var(--space-6);right:var(--space-6);gap:var(--space-3);z-index:500;flex-direction:column;display:flex;position:fixed}.toast[data-v-b7c5355f]{padding:var(--space-4) var(--space-6);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--text-sm);pointer-events:none;max-width:340px;font-weight:500}.toast.ok[data-v-b7c5355f]{background:var(--accent-green-dim);color:var(--accent-green);border:1px solid #34d8714d}.toast.err[data-v-b7c5355f]{background:var(--accent-red-dim);color:var(--accent-red);border:1px solid #ff52524d}.toast-enter-active[data-v-b7c5355f]{transition:all .2s}.toast-leave-active[data-v-b7c5355f]{transition:all .3s}.toast-enter-from[data-v-b7c5355f]{opacity:0;transform:translateY(8px)}.toast-leave-to[data-v-b7c5355f]{opacity:0;transform:translate(20px)}
