/* /Alerts.razor.rz.scp.css */
/* ══════════════════════════════════════════════════════════
   Alerts Page — Premium Alerts
   ══════════════════════════════════════════════════════════ */

.alerts-page[b-15n7k06d2c] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 16px 20px 32px;
    max-width: 1400px;
    margin: 0 auto;
    width: 100%;
}

.alerts-header h1[b-15n7k06d2c] {
    margin: 0 0 6px;
    font-size: 1.6rem;
    color: #e2e8f0;
}

.alerts-subtitle[b-15n7k06d2c] {
    margin: 0;
    color: #94a3b8;
    font-size: 0.95rem;
    max-width: 760px;
    line-height: 1.55;
}

/* ── Tier gate ────────────────────────────────────────────── */

.alerts-tier-gate[b-15n7k06d2c] {
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.08), rgba(34, 197, 94, 0.05));
    border: 1px solid rgba(99, 102, 241, 0.3);
    border-radius: 12px;
    padding: 28px;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: center;
}

.alerts-tier-gate-title[b-15n7k06d2c] {
    font-size: 1.15rem;
    font-weight: 700;
    color: #e2e8f0;
}

.alerts-tier-gate-text[b-15n7k06d2c] {
    color: #94a3b8;
    max-width: 560px;
    line-height: 1.6;
}

/* ── Controls ─────────────────────────────────────────────── */

.alerts-controls[b-15n7k06d2c] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: flex-end;
    background: #1a1e24;
    border: 1px solid #30363d;
    border-radius: 10px;
    padding: 14px 16px;
}

.alerts-control-group[b-15n7k06d2c] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 140px;
}

.alerts-control-group label[b-15n7k06d2c] {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #94a3b8;
}

.alerts-select[b-15n7k06d2c] {
    background: #0d1117;
    border: 1px solid #30363d;
    border-radius: 6px;
    color: #e2e8f0;
    padding: 8px 10px;
    font-size: 0.95rem;
}

.alerts-select:focus[b-15n7k06d2c] {
    outline: none;
    border-color: var(--accent-blue, #3b82f6);
}

.alerts-btn[b-15n7k06d2c] {
    border: none;
    border-radius: 6px;
    padding: 9px 18px;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    transition: filter 0.15s, transform 0.05s;
}

.alerts-btn:disabled[b-15n7k06d2c] {
    opacity: 0.55;
    cursor: not-allowed;
}

.alerts-btn-primary[b-15n7k06d2c] {
    background: linear-gradient(135deg, #6366f1, #3b82f6);
    color: white;
    text-decoration: none;
    display: inline-block;
}

.alerts-btn-primary:hover:not(:disabled)[b-15n7k06d2c] {
    filter: brightness(1.1);
}

/* ── Meta / status / errors ──────────────────────────────── */

.alerts-meta[b-15n7k06d2c] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    color: #94a3b8;
    font-size: 0.85rem;
    padding: 8px 4px;
}

.alerts-meta strong[b-15n7k06d2c] {
    color: #cbd5e1;
}

.alerts-error[b-15n7k06d2c] {
    background: rgba(239, 68, 68, 0.1);
    border: 1px solid rgba(239, 68, 68, 0.4);
    color: #fca5a5;
    padding: 12px 14px;
    border-radius: 8px;
    font-size: 0.9rem;
}

.alerts-empty[b-15n7k06d2c] {
    background: #0d1117;
    border: 1px dashed #30363d;
    border-radius: 8px;
    padding: 28px;
    text-align: center;
    color: #94a3b8;
    font-size: 0.95rem;
}

.alerts-disclaimer[b-15n7k06d2c] {
    margin-top: 8px;
    background: rgba(234, 179, 8, 0.06);
    border: 1px solid rgba(234, 179, 8, 0.25);
    border-radius: 8px;
    padding: 10px 14px;
    color: #d4b483;
    font-size: 0.82rem;
    line-height: 1.5;
}

/* ── Alert grid + cards ──────────────────────────────────── */

.alerts-grid[b-15n7k06d2c] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 16px;
}

.alert-card[b-15n7k06d2c] {
    background: #1a1e24;
    border: 1px solid #30363d;
    border-radius: 10px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: relative;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.alert-card:hover[b-15n7k06d2c] {
    border-color: var(--accent-blue, #3b82f6);
    box-shadow: 0 4px 20px rgba(59, 130, 246, 0.12);
}

.alert-card--bull[b-15n7k06d2c] {
    border-left: 3px solid #22c55e;
}

.alert-card--bear[b-15n7k06d2c] {
    border-left: 3px solid #ef4444;
}

.alert-card--neutral[b-15n7k06d2c] {
    border-left: 3px solid #64748b;
}

.alert-card-header[b-15n7k06d2c] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
}

.alert-pattern-name[b-15n7k06d2c] {
    font-size: 1.05rem;
    font-weight: 700;
    color: #e2e8f0;
}

.alert-direction-badge[b-15n7k06d2c] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 4px 9px;
    border-radius: 999px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.alert-direction-badge--bull[b-15n7k06d2c] {
    background: rgba(34, 197, 94, 0.15);
    color: #4ade80;
    border: 1px solid rgba(34, 197, 94, 0.35);
}

.alert-direction-badge--bear[b-15n7k06d2c] {
    background: rgba(239, 68, 68, 0.15);
    color: #f87171;
    border: 1px solid rgba(239, 68, 68, 0.35);
}

.alert-direction-badge--neutral[b-15n7k06d2c] {
    background: rgba(100, 116, 139, 0.15);
    color: #94a3b8;
    border: 1px solid rgba(100, 116, 139, 0.35);
}

/* ── Confidence bar ───────────────────────────────────────── */

.alert-confidence[b-15n7k06d2c] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.alert-confidence-label[b-15n7k06d2c] {
    font-size: 0.72rem;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.alert-confidence-bar[b-15n7k06d2c] {
    height: 8px;
    background: #0d1117;
    border-radius: 4px;
    overflow: hidden;
    border: 1px solid #30363d;
}

.alert-confidence-fill[b-15n7k06d2c] {
    height: 100%;
    background: linear-gradient(90deg, #6366f1, #22c55e);
    transition: width 0.3s ease;
}

.alert-confidence-value[b-15n7k06d2c] {
    font-size: 0.85rem;
    color: #cbd5e1;
    font-weight: 600;
    align-self: flex-end;
}

/* ── Rows ─────────────────────────────────────────────────── */

.alert-row[b-15n7k06d2c] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.alert-row-label[b-15n7k06d2c] {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #94a3b8;
}

.alert-row-value[b-15n7k06d2c] {
    font-size: 0.9rem;
    color: #e2e8f0;
    line-height: 1.45;
}

.alert-row-value--muted[b-15n7k06d2c] {
    color: #94a3b8;
    font-size: 0.82rem;
    font-style: italic;
}

/* ── Footer ───────────────────────────────────────────────── */

.alert-card-footer[b-15n7k06d2c] {
    margin-top: 4px;
    padding-top: 10px;
    border-top: 1px solid #21262d;
    color: #64748b;
    font-size: 0.72rem;
}
/* /Analytics.razor.rz.scp.css */
.analytics-page[b-1bc40uixjs] {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem 1rem;
    color: #e0e0e0;
}

.analytics-header h1[b-1bc40uixjs] {
    font-size: 1.8rem;
    margin-bottom: 0.25rem;
}

.analytics-subtitle[b-1bc40uixjs] {
    color: #999;
    font-size: 0.95rem;
    margin-bottom: 1.5rem;
}

.analytics-disclaimer-banner[b-1bc40uixjs] {
    background: rgba(255, 193, 7, 0.1);
    border-left: 4px solid #ffc107;
    padding: 0.75rem 1rem;
    border-radius: 4px;
    margin-bottom: 2rem;
    font-size: 0.85rem;
    color: #ccc;
}

.analytics-error[b-1bc40uixjs] {
    background: rgba(220, 53, 69, 0.15);
    border-left: 4px solid #dc3545;
    padding: 0.75rem 1rem;
    border-radius: 4px;
    margin-bottom: 1.5rem;
    color: #f08080;
}

/* ── Sections ─────────────────────────────────────────────────────── */

.analytics-section[b-1bc40uixjs] {
    background: #1e1e2e;
    border: 1px solid #333;
    border-radius: 8px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}

.analytics-section h2[b-1bc40uixjs] {
    font-size: 1.25rem;
    margin-bottom: 0.25rem;
}

.section-desc[b-1bc40uixjs] {
    color: #888;
    font-size: 0.85rem;
    margin-bottom: 1rem;
}

/* ── Controls ─────────────────────────────────────────────────────── */

.regime-controls[b-1bc40uixjs],
.strength-controls[b-1bc40uixjs],
.conditional-controls[b-1bc40uixjs],
.monte-controls[b-1bc40uixjs],
.pattern-completion-controls[b-1bc40uixjs] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: end;
    margin-bottom: 1rem;
}

.analytics-input[b-1bc40uixjs] {
    background: #2a2a3a;
    border: 1px solid #444;
    border-radius: 4px;
    padding: 0.4rem 0.6rem;
    color: #e0e0e0;
    font-size: 0.9rem;
    width: 140px;
}

.analytics-input-wide[b-1bc40uixjs] {
    width: 260px;
}

.analytics-input-sm[b-1bc40uixjs] {
    width: 90px;
}

.analytics-select[b-1bc40uixjs] {
    background: #2a2a3a;
    border: 1px solid #444;
    border-radius: 4px;
    padding: 0.4rem 0.6rem;
    color: #e0e0e0;
    font-size: 0.9rem;
}

.analytics-btn[b-1bc40uixjs] {
    background: #4a90d9;
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 0.5rem 1rem;
    cursor: pointer;
    font-size: 0.9rem;
    transition: background 0.15s;
}

.analytics-btn:hover:not(:disabled)[b-1bc40uixjs] {
    background: #3a7cc9;
}

.analytics-btn:disabled[b-1bc40uixjs] {
    opacity: 0.5;
    cursor: not-allowed;
}

.analytics-btn-secondary[b-1bc40uixjs] {
    background: #555;
}

.analytics-btn-secondary:hover:not(:disabled)[b-1bc40uixjs] {
    background: #666;
}

label[b-1bc40uixjs] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-size: 0.8rem;
    color: #aaa;
}

/* ── Regime badge ─────────────────────────────────────────────────── */

.regime-result[b-1bc40uixjs] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.regime-badge[b-1bc40uixjs] {
    display: inline-block;
    padding: 0.5rem 1.25rem;
    border-radius: 20px;
    font-weight: 600;
    font-size: 1rem;
    text-align: center;
    width: fit-content;
}

.regime-trendingup[b-1bc40uixjs] {
    background: rgba(0, 200, 83, 0.2);
    color: #4caf50;
    border: 1px solid #4caf50;
}

.regime-trendingdown[b-1bc40uixjs] {
    background: rgba(220, 53, 69, 0.2);
    color: #ef5350;
    border: 1px solid #ef5350;
}

.regime-ranging[b-1bc40uixjs] {
    background: rgba(255, 193, 7, 0.15);
    color: #ffc107;
    border: 1px solid #ffc107;
}

.regime-highvolatility[b-1bc40uixjs],
.regime-high-volatility[b-1bc40uixjs] {
    background: rgba(156, 39, 176, 0.2);
    color: #ce93d8;
    border: 1px solid #ce93d8;
}

.regime-metrics[b-1bc40uixjs] {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
}

.metric[b-1bc40uixjs] {
    display: flex;
    flex-direction: column;
}

.metric-label[b-1bc40uixjs] {
    font-size: 0.75rem;
    color: #888;
}

.metric-value[b-1bc40uixjs] {
    font-size: 1.1rem;
    font-weight: 600;
}

/* ── Currency strength table ──────────────────────────────────────── */

.strength-table-container[b-1bc40uixjs] {
    overflow-x: auto;
}

.strength-chart-container[b-1bc40uixjs] {
    margin-top: 1.25rem;
    padding: 1rem 1.25rem 1.25rem;
    background: rgba(15, 23, 42, 0.5);
    border: 1px solid #334155;
    border-radius: 8px;
}

.strength-chart-title[b-1bc40uixjs] {
    margin: 0 0 0.75rem 0;
    font-size: 0.95rem;
    color: #cbd5e1;
    font-weight: 600;
}

.strength-chart[b-1bc40uixjs] {
    width: 100%;
    height: 220px;
    display: block;
}

.pair-bias-matrix-container[b-1bc40uixjs] {
    margin-top: 1.25rem;
    padding: 1rem 1.25rem 1.25rem;
    background: rgba(15, 23, 42, 0.5);
    border: 1px solid #334155;
    border-radius: 8px;
}

.pair-bias-grid[b-1bc40uixjs] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 6px;
    margin-top: 0.75rem;
}

.pair-bias-cell[b-1bc40uixjs] {
    border-radius: 6px;
    padding: 0.55rem 0.6rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: transform 0.12s ease, box-shadow 0.12s ease;
    cursor: default;
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.pair-bias-cell:hover[b-1bc40uixjs] {
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

.pair-bias-cell-pair[b-1bc40uixjs] {
    font-weight: 700;
    font-size: 0.95rem;
    letter-spacing: 0.02em;
}

.pair-bias-cell-delta[b-1bc40uixjs] {
    font-size: 0.78rem;
    margin-top: 2px;
    opacity: 0.9;
    font-variant-numeric: tabular-nums;
}

.strength-table[b-1bc40uixjs] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}

.strength-table th[b-1bc40uixjs] {
    text-align: left;
    color: #888;
    font-weight: 500;
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid #444;
}

.strength-table td[b-1bc40uixjs] {
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid #2a2a3a;
}

.currency-label[b-1bc40uixjs],
.regime-label[b-1bc40uixjs] {
    font-weight: 600;
}

.positive[b-1bc40uixjs] {
    color: #4caf50;
}

.negative[b-1bc40uixjs] {
    color: #ef5350;
}

.trend-bullish[b-1bc40uixjs] {
    color: #4caf50;
}

.trend-bearish[b-1bc40uixjs] {
    color: #ef5350;
}

.trend-neutral[b-1bc40uixjs] {
    color: #888;
}

/* ── Pair bias card ───────────────────────────────────────────────── */

.pair-bias-card[b-1bc40uixjs] {
    background: #252535;
    border: 1px solid #444;
    border-radius: 6px;
    padding: 1rem;
    margin-top: 0.75rem;
}

.pair-bias-card h4[b-1bc40uixjs] {
    margin: 0 0 0.5rem 0;
    font-size: 1rem;
}

.bias-metrics[b-1bc40uixjs] {
    display: flex;
    gap: 1.5rem;
    align-items: center;
}

.bias-label[b-1bc40uixjs] {
    padding: 0.25rem 0.75rem;
    border-radius: 12px;
    font-weight: 600;
    font-size: 0.85rem;
}

.bias-bullish[b-1bc40uixjs] {
    background: rgba(0, 200, 83, 0.15);
    color: #4caf50;
}

.bias-bearish[b-1bc40uixjs] {
    background: rgba(220, 53, 69, 0.15);
    color: #ef5350;
}

.bias-neutral[b-1bc40uixjs] {
    background: rgba(255, 193, 7, 0.1);
    color: #ffc107;
}

/* ── Win rate summary ─────────────────────────────────────────────── */

.win-rate-summary[b-1bc40uixjs] {
    display: flex;
    gap: 1.5rem;
    margin-bottom: 0.75rem;
    font-size: 0.9rem;
    color: #aaa;
}

/* ── Monte Carlo ──────────────────────────────────────────────────── */

.mc-results[b-1bc40uixjs] {
    margin-top: 0.5rem;
}

.mc-grid[b-1bc40uixjs] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 0.75rem;
}

.mc-card[b-1bc40uixjs] {
    background: #252535;
    border: 1px solid #444;
    border-radius: 6px;
    padding: 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.mc-label[b-1bc40uixjs] {
    font-size: 0.75rem;
    color: #888;
}

.mc-value[b-1bc40uixjs] {
    font-size: 1.15rem;
    font-weight: 600;
}

/* ── Disclaimer ───────────────────────────────────────────────────── */

.regime-disclaimer[b-1bc40uixjs] {
    font-size: 0.75rem;
    color: #777;
    font-style: italic;
    margin-top: 0.5rem;
}
/* ── Pattern Completion ───────────────────────────────────────── */

.pc-results[b-1bc40uixjs] {
    margin-top: 0.5rem;
}

.pc-header[b-1bc40uixjs] {
    display: flex;
    gap: 1rem;
    align-items: center;
    margin-bottom: 0.75rem;
}

.pc-pair[b-1bc40uixjs] {
    font-size: 0.9rem;
    color: #aaa;
}

.pc-pattern-name[b-1bc40uixjs] {
    font-size: 0.9rem;
    font-weight: 600;
    color: #e0e0e0;
    text-transform: capitalize;
}
/* ── Responsive ───────────────────────────────────────────────────── */

@media (max-width: 640px) {
    .regime-controls[b-1bc40uixjs],
    .strength-controls[b-1bc40uixjs],
    .conditional-controls[b-1bc40uixjs],
    .monte-controls[b-1bc40uixjs],
    .pattern-completion-controls[b-1bc40uixjs] {
        flex-direction: column;
    }

    .analytics-input[b-1bc40uixjs],
    .analytics-input-wide[b-1bc40uixjs],
    .analytics-input-sm[b-1bc40uixjs] {
        width: 100%;
    }

    .mc-grid[b-1bc40uixjs] {
        grid-template-columns: 1fr 1fr;
    }
}
/* /Backtesting.razor.rz.scp.css */
.backtesting-page[b-b7vj456bum] {
    display: grid;
    gap: 12px;
    min-width: 0;
    width: 100%;
    overflow-x: clip;
}

.backtesting-hidden-upload-input[b-b7vj456bum] {
    display: none;
}

.backtesting-toolbar[b-b7vj456bum] {
    display: grid;
    gap: 10px;
}

.backtesting-toolbar-intro[b-b7vj456bum] {
    display: grid;
    gap: 10px;
}

.backtesting-toolbar-copy[b-b7vj456bum] {
    color: var(--text-secondary);
    line-height: 1.6;
}

.backtesting-toolbar-row[b-b7vj456bum] {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) minmax(320px, 1fr);
    gap: 12px;
    align-items: end;
}

.backtesting-toolbar-row-single[b-b7vj456bum] {
    grid-template-columns: minmax(320px, 1fr);
}

.backtesting-toolbar-row-actions[b-b7vj456bum] {
    grid-template-columns: minmax(200px, 260px) 130px 130px 170px;
}

.backtesting-toolbar-row-robustness[b-b7vj456bum] {
    grid-template-columns: 130px 170px 130px 170px 170px;
}

/* Strategy dropdown narrower than default ctrl-wide */
.backtesting-strategy-select-group[b-b7vj456bum] {
    min-width: 180px;
    max-width: 260px;
}

/* Collapsible strategy reference accordion */
.backtesting-strategy-accordion[b-b7vj456bum] {
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    overflow: hidden;
}

.backtesting-strategy-accordion-toggle[b-b7vj456bum] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    cursor: pointer;
    list-style: none;
    user-select: none;
    background: rgba(99, 102, 241, 0.06);
    color: var(--text-primary);
    font-size: 12px;
}

.backtesting-strategy-accordion-toggle[b-b7vj456bum]::-webkit-details-marker { display: none; }

.backtesting-strategy-accordion-toggle[b-b7vj456bum]::before {
    content: '▶';
    font-size: 9px;
    color: var(--text-secondary);
    transition: transform 0.15s ease;
    flex-shrink: 0;
}

.backtesting-strategy-accordion[open] > .backtesting-strategy-accordion-toggle[b-b7vj456bum]::before {
    transform: rotate(90deg);
}

.backtesting-strategy-accordion-toggle strong[b-b7vj456bum] {
    color: var(--text-primary);
}

.backtesting-strategy-accordion-toggle small[b-b7vj456bum] {
    color: var(--text-secondary);
    margin-left: auto;
}



.backtesting-toolbar-row-optimize[b-b7vj456bum] {
    grid-template-columns: minmax(180px, 1fr) 90px 90px 90px minmax(180px, 1fr) 90px 90px 90px 170px 110px 170px 170px;
}

.backtesting-help-panel[b-b7vj456bum],
.backtesting-advanced-panel[b-b7vj456bum],
.backtesting-results-hub[b-b7vj456bum] {
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: rgba(148, 163, 184, 0.04);
}

.backtesting-help-panel-toggle[b-b7vj456bum],
.backtesting-advanced-panel-header[b-b7vj456bum] {
    cursor: default;
    padding: 12px 14px;
    color: var(--text-primary);
    font-weight: 600;
}

.backtesting-advanced-panel-toggle[b-b7vj456bum] {
    cursor: pointer;
    padding: 12px 14px;
    color: var(--text-primary);
    font-weight: 600;
}

/* Dropdown + detail side-by-side layout */
.backtesting-analysis-layout[b-b7vj456bum] {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 16px;
    padding: 0 14px 14px;
    min-height: 140px;
    min-width: 0;
}

.backtesting-analysis-selector[b-b7vj456bum] {
    display: grid;
    gap: 6px;
    align-content: start;
}

.backtesting-analysis-selector .patterns-select[b-b7vj456bum] {
    width: 100%;
}

.backtesting-analysis-detail[b-b7vj456bum] {
    display: grid;
    gap: 12px;
    align-content: start;
    padding: 12px 14px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: rgba(15, 23, 42, 0.18);
    min-width: 0;
    width: 100%;
}

.backtesting-analysis-fields[b-b7vj456bum] {
    display: grid;
    gap: 10px;
}

.backtesting-analysis-fields-row[b-b7vj456bum] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 10px;
}

.backtesting-costs-panel[b-b7vj456bum] {
    margin: 12px 0 4px 0;
    padding: 0;
    background: var(--surface-2, rgba(255,255,255,0.02));
    border: 1px solid var(--border, rgba(255,255,255,0.08));
    border-radius: 8px;
}

.backtesting-costs-panel[open][b-b7vj456bum] {
    padding-bottom: 10px;
}

.backtesting-costs-panel-toggle[b-b7vj456bum] {
    cursor: pointer;
    list-style: none;
    padding: 10px 14px;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 10px;
    font-weight: 600;
    font-size: 13px;
    user-select: none;
}

.backtesting-costs-panel-toggle[b-b7vj456bum]::-webkit-details-marker {
    display: none;
}

.backtesting-costs-panel-toggle[b-b7vj456bum]::before {
    content: '▸';
    display: inline-block;
    transition: transform 120ms ease;
    color: var(--text-secondary);
}

.backtesting-costs-panel[open] .backtesting-costs-panel-toggle[b-b7vj456bum]::before {
    transform: rotate(90deg);
}

.backtesting-costs-panel-toggle small[b-b7vj456bum] {
    font-weight: 400;
    color: var(--text-secondary);
    font-size: 12px;
}

.backtesting-costs-panel-body[b-b7vj456bum] {
    padding: 4px 14px 2px 14px;
    display: grid;
    gap: 10px;
}

.backtesting-costs-panel-hint[b-b7vj456bum] {
    margin: 0;
    font-size: 11.5px;
    color: var(--text-secondary);
    line-height: 1.5;
}

.backtesting-analysis-hint[b-b7vj456bum] {
    margin: 0;
    font-size: 12px;
    color: var(--text-secondary);
    line-height: 1.5;
}

.backtesting-analysis-run-btn[b-b7vj456bum] {
    max-width: 260px;
}

.backtesting-export-actions[b-b7vj456bum] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.backtesting-export-actions .backtesting-run-btn[b-b7vj456bum] {
    width: auto;
    min-width: 160px;
}

.backtesting-help-grid[b-b7vj456bum] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 12px;
    padding: 0 14px 14px;
}

.backtesting-help-block[b-b7vj456bum] {
    display: grid;
    gap: 8px;
    padding: 12px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: rgba(15, 23, 42, 0.2);
}

.backtesting-help-title[b-b7vj456bum] {
    color: var(--text-primary);
    font-weight: 600;
}

.backtesting-help-intro[b-b7vj456bum] {
    color: var(--text-secondary);
    line-height: 1.55;
    margin: 8px 0 0 0;
}

.backtesting-help-list[b-b7vj456bum] {
    margin: 0;
    padding-left: 18px;
    color: var(--text-secondary);
    line-height: 1.6;
}

.backtesting-help-list.compact[b-b7vj456bum] {
    display: grid;
    gap: 6px;
}

.backtesting-results-hub[b-b7vj456bum] {
    display: grid;
    gap: 10px;
    padding: 12px 14px;
}

.backtesting-results-hub-head[b-b7vj456bum],
.backtesting-results-card-head[b-b7vj456bum] {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
}

.backtesting-results-hub-copy[b-b7vj456bum] {
    color: var(--text-secondary);
    line-height: 1.5;
}

.backtesting-results-jump[b-b7vj456bum],
.backtesting-share-link[b-b7vj456bum] {
    color: #93c5fd;
}

.backtesting-results-jump:hover[b-b7vj456bum],
.backtesting-share-link:hover[b-b7vj456bum] {
    color: #bfdbfe;
}

.backtesting-results-empty[b-b7vj456bum],
.backtesting-share-link-label[b-b7vj456bum] {
    color: var(--text-secondary);
}

.backtesting-results-tabbar[b-b7vj456bum] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.backtesting-result-tab[b-b7vj456bum] {
    border: 1px solid var(--border-subtle);
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.28);
    color: var(--text-secondary);
    padding: 8px 12px;
    cursor: pointer;
}

.backtesting-result-tab.active[b-b7vj456bum] {
    border-color: rgba(96, 165, 250, 0.45);
    background: rgba(59, 130, 246, 0.16);
    color: var(--text-primary);
}

.backtesting-tier-note[b-b7vj456bum] {
    margin: 0 14px 12px;
    padding: 10px 12px;
    border: 1px solid rgba(96, 165, 250, 0.25);
    border-radius: var(--radius-md);
    background: rgba(59, 130, 246, 0.08);
    color: var(--text-secondary);
}

.backtesting-share-link-wrap[b-b7vj456bum] {
    display: grid;
    gap: 6px;
    margin-top: 10px;
    max-width: 380px;
}

.backtesting-share-save-btn[b-b7vj456bum] {
    max-width: 220px;
}

.backtesting-upload-wrap[b-b7vj456bum] {
    display: grid;
    gap: 6px;
}

.backtesting-upload-status[b-b7vj456bum] {
    display: grid;
    gap: 6px;
    padding: 8px 10px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: rgba(148, 163, 184, 0.04);
}

.backtesting-upload-status-head[b-b7vj456bum] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    font-size: 11px;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.backtesting-upload-status-actions[b-b7vj456bum],
.backtesting-upload-file-head-right[b-b7vj456bum] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.backtesting-upload-dismiss-btn[b-b7vj456bum] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border: 1px solid var(--border-subtle);
    border-radius: 999px;
    background: transparent;
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 1;
    cursor: pointer;
}

.backtesting-upload-dismiss-btn:hover[b-b7vj456bum] {
    color: var(--text-primary);
    border-color: var(--border-medium);
    background: rgba(148, 163, 184, 0.12);
}

.backtesting-upload-progress-track[b-b7vj456bum] {
    height: 8px;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(148, 163, 184, 0.14);
}

.backtesting-upload-progress-fill[b-b7vj456bum] {
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--accent-blue), #22c55e);
    transition: width 0.2s ease;
}

.backtesting-upload-current-file[b-b7vj456bum] {
    font-size: 12px;
    color: var(--text-primary);
}

.backtesting-upload-file-list[b-b7vj456bum] {
    display: grid;
    gap: 8px;
}

.backtesting-upload-file-item[b-b7vj456bum] {
    display: grid;
    gap: 5px;
    padding: 8px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: rgba(15, 23, 42, 0.18);
}

.backtesting-upload-file-item.completed[b-b7vj456bum] {
    border-color: rgba(34, 197, 94, 0.35);
}

.backtesting-upload-file-item.failed[b-b7vj456bum] {
    border-color: rgba(239, 68, 68, 0.35);
}

.backtesting-upload-file-head[b-b7vj456bum] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    align-items: center;
}

.backtesting-upload-file-name[b-b7vj456bum] {
    font-size: 12px;
    color: var(--text-primary);
    word-break: break-all;
}

.backtesting-upload-file-stage[b-b7vj456bum],
.backtesting-upload-file-meta[b-b7vj456bum],
.backtesting-upload-file-detail[b-b7vj456bum] {
    font-size: 11px;
    color: var(--text-secondary);
}

.backtesting-upload-progress-track.compact[b-b7vj456bum] {
    height: 6px;
}

.backtesting-run-group[b-b7vj456bum] {
    align-self: stretch;
}

.backtesting-run-btn[b-b7vj456bum] {
    width: 100%;
    min-height: 38px;
    border: 0;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

.backtesting-run-btn.backtesting-btn-running[b-b7vj456bum] {
    background: #facc15 !important;
    background-image: linear-gradient(135deg, #fde047 0%, #facc15 50%, #eab308 100%) !important;
    color: #1a1a2e !important;
    font-weight: 700 !important;
    opacity: 1 !important;
    cursor: wait !important;
    box-shadow: 0 0 0 2px rgba(250, 204, 21, 0.35), 0 0 18px rgba(250, 204, 21, 0.45) !important;
    animation: backtesting-pulse-b-b7vj456bum 1.4s ease-in-out infinite;
}

@keyframes backtesting-pulse-b-b7vj456bum {
    0%, 100% { box-shadow: 0 0 0 2px rgba(250, 204, 21, 0.35), 0 0 18px rgba(250, 204, 21, 0.45); }
    50% { box-shadow: 0 0 0 2px rgba(250, 204, 21, 0.6), 0 0 28px rgba(250, 204, 21, 0.85); }
}

.backtesting-run-btn:disabled[b-b7vj456bum] {
    opacity: 0.55;
    cursor: not-allowed;
}

.backtesting-run-btn.backtesting-btn-running:disabled[b-b7vj456bum] {
    opacity: 1 !important;
    cursor: wait !important;
}

.backtesting-progress-row[b-b7vj456bum] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 10px;
    padding: 10px 12px;
    border: 1px solid rgba(250, 204, 21, 0.4);
    border-radius: var(--radius-md, 8px);
    background: rgba(250, 204, 21, 0.08);
}

.backtesting-progress-bar[b-b7vj456bum] {
    position: relative;
    height: 8px;
    width: 100%;
    background: rgba(250, 204, 21, 0.15);
    border-radius: 4px;
    overflow: hidden;
}

.backtesting-progress-bar-fill[b-b7vj456bum] {
    position: absolute;
    top: 0;
    left: -40%;
    height: 100%;
    width: 40%;
    background: linear-gradient(90deg, transparent 0%, #facc15 50%, transparent 100%);
    animation: backtesting-progress-slide-b-b7vj456bum 1.2s ease-in-out infinite;
}

@keyframes backtesting-progress-slide-b-b7vj456bum {
    0% { left: -40%; }
    100% { left: 100%; }
}

.backtesting-progress-text[b-b7vj456bum] {
    font-size: 12px;
    color: #eab308;
    font-weight: 500;
    letter-spacing: 0.2px;
}

.backtesting-upload-zone[b-b7vj456bum] {
    position: relative;
    border: 1px dashed var(--border-medium);
    border-radius: var(--radius-md);
    background: var(--bg-elevated);
    min-height: 74px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.backtesting-upload-zone:hover[b-b7vj456bum] {
    border-color: var(--accent-blue);
}

.backtesting-upload-zone.disabled[b-b7vj456bum] {
    border-color: var(--border-subtle);
    background: rgba(148, 163, 184, 0.06);
}

.backtesting-upload-zone.disabled:hover[b-b7vj456bum] {
    border-color: var(--border-subtle);
}

.backtesting-upload-input[b-b7vj456bum] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.backtesting-upload-input:disabled[b-b7vj456bum] {
    cursor: not-allowed;
}

.backtesting-upload-zone.disabled .backtesting-upload-content[b-b7vj456bum] {
    opacity: 0.7;
}

.backtesting-readonly-note[b-b7vj456bum] {
    padding: 12px 14px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: rgba(59, 130, 246, 0.06);
    color: var(--text-secondary);
}

.backtesting-upload-content[b-b7vj456bum] {
    text-align: center;
    padding: 10px 12px;
    pointer-events: none;
}

.backtesting-upload-title[b-b7vj456bum] {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-primary);
}

.backtesting-upload-subtitle[b-b7vj456bum] {
    margin-top: 2px;
    font-size: 11px;
    color: var(--text-secondary);
}

.backtesting-meta-strip[b-b7vj456bum] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    color: var(--text-secondary);
    font-size: 12px;
    border-top: 1px solid var(--border-subtle);
    padding-top: 8px;
}

.backtesting-meta-emphasis[b-b7vj456bum] {
    color: #facc15;
    font-weight: 600;
}

.backtesting-chart-card[b-b7vj456bum] {
    min-height: 760px;
}

.backtesting-chart-description[b-b7vj456bum] {
    font-size: 0.82rem;
    color: var(--muted);
    margin-bottom: 10px;
}

.backtesting-results-card[b-b7vj456bum] {
    min-height: 120px;
}

.backtesting-optimization-wrap[b-b7vj456bum] {
    margin-top: 10px;
    margin-bottom: 10px;
}

.backtesting-montecarlo-wrap[b-b7vj456bum] {
    margin-top: 10px;
    margin-bottom: 10px;
}

.backtesting-mc-explainer[b-b7vj456bum] {
    font-size: 12px;
    color: var(--text-secondary);
    line-height: 1.5;
    margin-bottom: 10px;
    max-width: 720px;
}

.backtesting-mc-applied[b-b7vj456bum] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 8px;
    align-items: center;
    font-size: 12px;
    color: var(--text-secondary);
    padding: 8px 10px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: rgba(56, 189, 248, 0.05);
    margin-bottom: 10px;
}

.backtesting-mc-applied strong[b-b7vj456bum] {
    color: var(--text-primary);
    margin-right: 4px;
}

.backtesting-mc-chip[b-b7vj456bum] {
    display: inline-block;
    padding: 2px 8px;
    border: 1px solid var(--border-subtle);
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.4);
    font-size: 11px;
}

.backtesting-mc-grid[b-b7vj456bum] {
    grid-template-columns: repeat(2, minmax(200px, 1fr));
}

.backtesting-stat-hint[b-b7vj456bum] {
    font-size: 11px;
    color: var(--text-secondary);
    line-height: 1.45;
    margin-top: 2px;
}

.backtesting-regime-wrap[b-b7vj456bum] {
    margin-top: 10px;
    margin-bottom: 10px;
}

.backtesting-correlation-panel[b-b7vj456bum] {
    border-top: 1px solid var(--border-subtle);
    padding-top: 8px;
    display: grid;
    gap: 8px;
}

.backtesting-correlation-files[b-b7vj456bum] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
}

.backtesting-correlation-group-label[b-b7vj456bum] {
    width: 100%;
    font-size: 11px;
    font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    margin-top: 2px;
}

.backtesting-correlation-file-item[b-b7vj456bum] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--text-secondary);
}

.backtesting-correlation-run[b-b7vj456bum] {
    width: 220px;
}

.backtesting-correlation-wrap[b-b7vj456bum] {
    margin-top: 10px;
    margin-bottom: 10px;
}

.backtesting-opt-progress-wrap[b-b7vj456bum] {
    width: 100%;
    height: 5px;
    background: rgba(148, 163, 184, 0.15);
    border-radius: 999px;
    margin-top: 10px;
    overflow: hidden;
}

.backtesting-opt-progress-fill[b-b7vj456bum] {
    height: 100%;
    background: var(--accent, #3b82f6);
    border-radius: 999px;
    transition: width 0.35s ease;
    min-width: 4px;
}

.backtesting-opt-progress-label[b-b7vj456bum] {
    font-size: 12px;
    color: var(--text-secondary, #94a3b8);
    margin-top: 5px;
    text-align: center;
}

.backtesting-comparison-group-label[b-b7vj456bum] {
    width: 100%;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted, #94a3b8);
    margin: 8px 0 4px;
    padding-top: 6px;
    border-top: 1px solid var(--border-subtle);
}

.backtesting-comparison-saved-tag[b-b7vj456bum] {
    font-size: 11px;
    color: var(--text-muted, #94a3b8);
    margin-left: 2px;
}

.backtesting-comparison-legend[b-b7vj456bum] {
    margin-top: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
}

.backtesting-comparison-legend-item[b-b7vj456bum] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--text-secondary);
}

.backtesting-comparison-legend-swatch[b-b7vj456bum] {
    width: 16px;
    height: 3px;
    border-radius: 999px;
    display: inline-block;
}

.backtesting-debug-panel[b-b7vj456bum] {
    margin-top: 10px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    padding: 8px;
    background: rgba(148, 163, 184, 0.03);
}

.backtesting-debug-panel summary[b-b7vj456bum] {
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.backtesting-debug-meta[b-b7vj456bum] {
    margin-top: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 11px;
    color: var(--text-secondary);
}

.backtesting-debug-row-flagged[b-b7vj456bum] {
    background: rgba(239, 68, 68, 0.08);
}

.backtesting-histogram-wrap[b-b7vj456bum] {
    margin-top: 8px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    padding: 8px;
    display: grid;
    gap: 6px;
}

.backtesting-histogram-row[b-b7vj456bum] {
    display: grid;
    grid-template-columns: 140px 1fr 40px;
    gap: 8px;
    align-items: center;
}

.backtesting-histogram-label[b-b7vj456bum],
.backtesting-histogram-count[b-b7vj456bum] {
    font-size: 11px;
    color: var(--text-secondary);
}

.backtesting-histogram-bar-bg[b-b7vj456bum] {
    height: 10px;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.12);
    overflow: hidden;
}

.backtesting-histogram-bar[b-b7vj456bum] {
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--accent-blue), #22c55e);
}

.loading-row.warning[b-b7vj456bum] {
    color: #f59e0b;
}

.backtesting-optimization-heatmap-wrap[b-b7vj456bum] {
    display: block;
    overflow-x: auto;
    overflow-y: hidden;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    margin-top: 8px;
    -webkit-overflow-scrolling: touch;
}

.backtesting-optimization-heatmap[b-b7vj456bum] {
    width: 100%;
    min-width: max-content;
    border-collapse: collapse;
    font-size: 12px;
}

.backtesting-optimization-heatmap th[b-b7vj456bum],
.backtesting-optimization-heatmap td[b-b7vj456bum] {
    padding: 6px 8px;
    border-bottom: 1px solid var(--border-subtle);
    border-right: 1px solid var(--border-subtle);
    text-align: center;
    white-space: nowrap;
}

.backtesting-optimization-heatmap th:first-child[b-b7vj456bum],
.backtesting-optimization-heatmap td:first-child[b-b7vj456bum] {
    text-align: left;
    font-weight: 600;
}

.backtesting-heatmap-cell-pos[b-b7vj456bum] {
    background: rgba(34, 197, 94, 0.14);
    color: var(--bull-color);
}

.backtesting-heatmap-cell-neg[b-b7vj456bum] {
    background: rgba(239, 68, 68, 0.14);
    color: var(--bear-color);
}

.backtesting-walkforward-wrap[b-b7vj456bum] {
    margin-top: 10px;
    margin-bottom: 10px;
}

.backtesting-optimization-context[b-b7vj456bum] {
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 1.5;
    margin: -4px 0 8px;
}

.backtesting-optimization-context strong[b-b7vj456bum] {
    color: var(--text-primary);
}

.backtesting-walkforward-meta[b-b7vj456bum] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 12px;
    color: var(--text-secondary);
    margin-bottom: 8px;
}

.backtesting-walkforward-grid[b-b7vj456bum] {
    display: grid;
    grid-template-columns: repeat(2, minmax(160px, 1fr));
    gap: 10px;
    margin-bottom: 8px;
}

.backtesting-wf-explainer[b-b7vj456bum] {
    background: rgba(148, 163, 184, 0.06);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    padding: 10px 12px;
    margin-bottom: 10px;
}

.backtesting-wf-explainer-title[b-b7vj456bum] {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: 4px;
}

.backtesting-wf-explainer-body[b-b7vj456bum] {
    font-size: 12px;
    line-height: 1.5;
    color: var(--text-secondary);
}

.backtesting-wf-verdict[b-b7vj456bum] {
    border-radius: var(--radius-md);
    padding: 10px 12px;
    margin-bottom: 10px;
    border: 1px solid var(--border-subtle);
}

.backtesting-wf-verdict-good[b-b7vj456bum] {
    background: rgba(34, 197, 94, 0.08);
    border-color: rgba(34, 197, 94, 0.25);
}

.backtesting-wf-verdict-ok[b-b7vj456bum] {
    background: rgba(250, 204, 21, 0.08);
    border-color: rgba(250, 204, 21, 0.25);
}

.backtesting-wf-verdict-warn[b-b7vj456bum] {
    background: rgba(251, 146, 60, 0.08);
    border-color: rgba(251, 146, 60, 0.25);
}

.backtesting-wf-verdict-bad[b-b7vj456bum] {
    background: rgba(239, 68, 68, 0.08);
    border-color: rgba(239, 68, 68, 0.25);
}

.backtesting-wf-verdict-title[b-b7vj456bum] {
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 4px;
}

.backtesting-wf-verdict-good .backtesting-wf-verdict-title[b-b7vj456bum] { color: #22c55e; }
.backtesting-wf-verdict-ok .backtesting-wf-verdict-title[b-b7vj456bum] { color: #facc15; }
.backtesting-wf-verdict-warn .backtesting-wf-verdict-title[b-b7vj456bum] { color: #fb923c; }
.backtesting-wf-verdict-bad .backtesting-wf-verdict-title[b-b7vj456bum] { color: #ef4444; }

.backtesting-wf-verdict-body[b-b7vj456bum] {
    font-size: 12px;
    line-height: 1.5;
    color: var(--text-secondary);
    margin-bottom: 6px;
}

.backtesting-wf-verdict-metrics[b-b7vj456bum] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 11px;
    color: var(--text-secondary);
    opacity: 0.85;
}

.backtesting-wf-params-note[b-b7vj456bum] {
    background: rgba(148, 163, 184, 0.06);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    padding: 10px 12px;
}

.backtesting-stats-grid[b-b7vj456bum] {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(4, minmax(120px, 1fr));
    margin-top: 10px;
}

.backtesting-stat-card[b-b7vj456bum] {
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: rgba(148, 163, 184, 0.04);
    padding: 10px;
    display: grid;
    gap: 4px;
}

.backtesting-stat-label[b-b7vj456bum] {
    font-size: 11px;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.backtesting-stat-value[b-b7vj456bum] {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-primary);
}

.backtesting-stat-value-pos[b-b7vj456bum] {
    color: var(--bull-color);
}

.backtesting-stat-value-neg[b-b7vj456bum] {
    color: var(--bear-color);
}

.backtesting-equity-wrap[b-b7vj456bum] {
    margin-top: 14px;
    position: relative;
}

.backtesting-section-title[b-b7vj456bum] {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-secondary);
    margin-bottom: 8px;
}

.backtesting-equity-svg[b-b7vj456bum] {
    width: 100%;
    height: 240px;
    border-radius: var(--radius-md);
    border: 1px solid var(--border-subtle);
    cursor: crosshair;
}

.backtesting-trades-wrap[b-b7vj456bum] {
    margin-top: 14px;
}

.backtesting-tradelog-collapsible[b-b7vj456bum] {
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    overflow: hidden;
}

.backtesting-tradelog-toggle[b-b7vj456bum] {
    cursor: pointer;
    list-style: none;
    user-select: none;
    padding: 10px 14px;
    background: rgba(99, 102, 241, 0.06);
}

.backtesting-tradelog-toggle[b-b7vj456bum]::-webkit-details-marker { display: none; }

.backtesting-tradelog-toggle[b-b7vj456bum]::before {
    content: '▶';
    font-size: 9px;
    color: var(--text-secondary);
    transition: transform 0.15s ease;
    flex-shrink: 0;
    margin-right: 8px;
}

.backtesting-tradelog-collapsible[open] > .backtesting-tradelog-toggle[b-b7vj456bum]::before {
    transform: rotate(90deg);
}

.backtesting-trades-head[b-b7vj456bum] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
}

.backtesting-trades-filters[b-b7vj456bum] {
    display: flex;
    gap: 8px;
}

.backtesting-table-wrap[b-b7vj456bum] {
    overflow: auto;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
}

.backtesting-trades-table[b-b7vj456bum] {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}

.backtesting-trades-table th[b-b7vj456bum],
.backtesting-trades-table td[b-b7vj456bum] {
    padding: 8px 10px;
    border-bottom: 1px solid var(--border-subtle);
    white-space: nowrap;
    text-align: left;
}

.backtesting-trades-table th[b-b7vj456bum] {
    position: sticky;
    top: 0;
    z-index: 1;
    background: var(--bg-surface);
    color: var(--text-secondary);
    font-weight: 600;
}

.backtesting-trade-row[b-b7vj456bum] {
    cursor: pointer;
}

.backtesting-trade-row:hover[b-b7vj456bum] {
    background: rgba(59, 130, 246, 0.08);
}

.backtesting-trade-row.active[b-b7vj456bum] {
    background: rgba(59, 130, 246, 0.16);
}

@media (max-width: 980px) {
    .backtesting-toolbar-row[b-b7vj456bum] {
        grid-template-columns: 1fr;
    }

    .backtesting-toolbar-row-actions[b-b7vj456bum],
    .backtesting-toolbar-row-robustness[b-b7vj456bum] {
        grid-template-columns: 1fr;
    }

    .backtesting-results-hub-head[b-b7vj456bum],
    .backtesting-results-card-head[b-b7vj456bum] {
        flex-direction: column;
    }

    .backtesting-chart-card[b-b7vj456bum] {
        min-height: 620px;
    }

    .backtesting-stats-grid[b-b7vj456bum] {
        grid-template-columns: repeat(2, minmax(120px, 1fr));
    }

    .backtesting-walkforward-grid[b-b7vj456bum] {
        grid-template-columns: 1fr;
    }

    .backtesting-trades-head[b-b7vj456bum] {
        flex-direction: column;
        align-items: stretch;
    }
}

/* ============================================================
   Results Narrative & Suggestions (above stats grid)
   ============================================================ */
.backtesting-narrative-wrap[b-b7vj456bum] {
    display: grid;
    gap: 14px;
    padding: 14px 16px;
    margin: 4px 0 14px 0;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: linear-gradient(180deg, rgba(56, 132, 255, 0.05), rgba(148, 163, 184, 0.03));
}

.backtesting-narrative-head[b-b7vj456bum] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 10px;
}

.backtesting-narrative-head-icon[b-b7vj456bum] { font-size: 16px; }
.backtesting-narrative-head-title[b-b7vj456bum] {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-primary);
}
.backtesting-narrative-head-sub[b-b7vj456bum] {
    font-size: 12px;
    color: var(--text-secondary);
    flex: 1 1 auto;
}

.backtesting-narrative-grid[b-b7vj456bum] {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

.backtesting-narrative-card[b-b7vj456bum] {
    border: 1px solid var(--border-subtle);
    border-left-width: 3px;
    border-radius: var(--radius-md);
    background: rgba(15, 23, 42, 0.35);
    padding: 10px 12px;
    display: grid;
    gap: 6px;
}

.backtesting-narrative-good[b-b7vj456bum]   { border-left-color: #22c55e; }
.backtesting-narrative-ok[b-b7vj456bum]     { border-left-color: #38bdf8; }
.backtesting-narrative-warn[b-b7vj456bum]   { border-left-color: #f59e0b; }
.backtesting-narrative-bad[b-b7vj456bum]    { border-left-color: #ef4444; }

.backtesting-narrative-card-head[b-b7vj456bum] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.backtesting-narrative-metric[b-b7vj456bum] {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-secondary);
}

.backtesting-narrative-current[b-b7vj456bum] {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1;
}

.backtesting-narrative-badge[b-b7vj456bum] {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 2px 7px;
    border-radius: 999px;
    border: 1px solid transparent;
}

.backtesting-narrative-badge-good[b-b7vj456bum] { background: rgba(34, 197, 94, 0.15);  color: #4ade80; border-color: rgba(34, 197, 94, 0.35); }
.backtesting-narrative-badge-ok[b-b7vj456bum]   { background: rgba(56, 189, 248, 0.15); color: #7dd3fc; border-color: rgba(56, 189, 248, 0.35); }
.backtesting-narrative-badge-warn[b-b7vj456bum] { background: rgba(245, 158, 11, 0.15); color: #fbbf24; border-color: rgba(245, 158, 11, 0.35); }
.backtesting-narrative-badge-bad[b-b7vj456bum]  { background: rgba(239, 68, 68, 0.15);  color: #f87171; border-color: rgba(239, 68, 68, 0.35); }

.backtesting-narrative-range[b-b7vj456bum] {
    font-size: 12px;
    color: var(--text-secondary);
    line-height: 1.4;
}
.backtesting-narrative-range-label[b-b7vj456bum] {
    font-weight: 600;
    color: var(--text-primary);
}

.backtesting-narrative-meaning[b-b7vj456bum] {
    font-size: 12px;
    color: var(--text-secondary);
    line-height: 1.45;
}

/* Suggestions block */
.backtesting-narrative-suggestions[b-b7vj456bum] {
    border-top: 1px solid var(--border-subtle);
    padding-top: 12px;
}

.backtesting-narrative-sub-head[b-b7vj456bum] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-primary);
    margin-bottom: 8px;
}

.backtesting-narrative-empty[b-b7vj456bum] {
    font-size: 13px;
    color: var(--text-secondary);
    padding: 10px 12px;
    border: 1px dashed var(--border-subtle);
    border-radius: var(--radius-md);
}

.backtesting-narrative-suggestions-list[b-b7vj456bum] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 8px;
}

.backtesting-narrative-suggestion-item[b-b7vj456bum] {
    border: 1px solid var(--border-subtle);
    border-left-width: 3px;
    border-radius: var(--radius-md);
    background: rgba(15, 23, 42, 0.35);
    padding: 10px 12px;
}

.backtesting-narrative-suggestion-high[b-b7vj456bum] { border-left-color: #ef4444; }
.backtesting-narrative-suggestion-med[b-b7vj456bum]  { border-left-color: #f59e0b; }
.backtesting-narrative-suggestion-low[b-b7vj456bum]  { border-left-color: #38bdf8; }

.backtesting-narrative-suggestion-head[b-b7vj456bum] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 4px;
}

.backtesting-narrative-suggestion-priority[b-b7vj456bum] {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    padding: 2px 7px;
    border-radius: 4px;
    background: rgba(148, 163, 184, 0.15);
    color: var(--text-secondary);
}

.backtesting-narrative-suggestion-high .backtesting-narrative-suggestion-priority[b-b7vj456bum] { background: rgba(239, 68, 68, 0.18);  color: #fca5a5; }
.backtesting-narrative-suggestion-med  .backtesting-narrative-suggestion-priority[b-b7vj456bum] { background: rgba(245, 158, 11, 0.18); color: #fcd34d; }
.backtesting-narrative-suggestion-low  .backtesting-narrative-suggestion-priority[b-b7vj456bum] { background: rgba(56, 189, 248, 0.18); color: #93c5fd; }

.backtesting-narrative-suggestion-title[b-b7vj456bum] {
    font-size: 13px;
    font-weight: 700;
    color: var(--text-primary);
}

.backtesting-narrative-suggestion-body[b-b7vj456bum] {
    font-size: 12.5px;
    color: var(--text-secondary);
    line-height: 1.5;
}
/* /Formulas.razor.rz.scp.css */
.formulas-nav-btn[b-cmcn4iopfy] {
    padding: 6px 14px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: var(--bg-card);
    color: var(--text-secondary);
    cursor: pointer;
    font-size: 12px;
    font-weight: 500;
    transition: all 0.15s;
}

.formulas-nav-btn:hover[b-cmcn4iopfy] {
    border-color: var(--accent-blue);
    color: var(--accent-blue);
}

.formulas-nav-btn.active[b-cmcn4iopfy] {
    background: var(--accent-blue);
    color: #fff;
    border-color: var(--accent-blue);
}

.formulas-section-title[b-cmcn4iopfy] {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 6px 0;
}

.formulas-section-desc[b-cmcn4iopfy] {
    font-size: 13px;
    color: var(--text-secondary);
    line-height: 1.6;
    margin: 0 0 20px 0;
}

.formulas-card[b-cmcn4iopfy] {
    border: 1px solid var(--border);
    border-radius: 8px;
    margin-bottom: 20px;
    overflow: hidden;
}

.formulas-card-header[b-cmcn4iopfy] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 18px;
    background: rgba(24, 95, 165, 0.06);
    border-bottom: 1px solid var(--border);
}

.formulas-card-title[b-cmcn4iopfy] {
    font-size: 15px;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0;
}

.formulas-card-level[b-cmcn4iopfy] {
    font-size: 11px;
    font-weight: 600;
    padding: 2px 10px;
    border-radius: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.formulas-card-level.beginner[b-cmcn4iopfy] {
    background: rgba(59, 109, 17, 0.15);
    color: #3B6D11;
}

.formulas-card-level.intermediate[b-cmcn4iopfy] {
    background: rgba(133, 79, 11, 0.15);
    color: #854F0B;
}

.formulas-card-level.advanced[b-cmcn4iopfy] {
    background: rgba(163, 45, 45, 0.15);
    color: #A32D2D;
}

.formulas-card-body[b-cmcn4iopfy] {
    padding: 18px;
}

.formulas-label[b-cmcn4iopfy] {
    display: block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: var(--text-secondary);
    margin-bottom: 6px;
}

.formulas-intuition[b-cmcn4iopfy] {
    margin-bottom: 16px;
}

.formulas-intuition p[b-cmcn4iopfy] {
    font-size: 13px;
    color: var(--text-primary);
    line-height: 1.65;
    margin: 0;
}

.formulas-formula-box[b-cmcn4iopfy] {
    background: rgba(24, 95, 165, 0.05);
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 14px 16px;
    margin-bottom: 16px;
}

.formulas-math[b-cmcn4iopfy] {
    font-size: 15px;
    font-weight: 500;
    color: var(--accent-blue);
    line-height: 1.8;
}

.formulas-math code[b-cmcn4iopfy] {
    font-family: 'JetBrains Mono', 'Fira Code', monospace;
    background: rgba(24, 95, 165, 0.08);
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 14px;
}

.formulas-math em[b-cmcn4iopfy] {
    font-size: 12px;
    color: var(--text-secondary);
}

.formulas-variables[b-cmcn4iopfy] {
    margin-bottom: 16px;
}

.formulas-var-list[b-cmcn4iopfy] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 4px 12px;
    margin: 0;
    font-size: 13px;
}

.formulas-var-list dt[b-cmcn4iopfy] {
    font-weight: 600;
    color: var(--accent-blue);
    font-family: 'JetBrains Mono', 'Fira Code', monospace;
    font-size: 12px;
}

.formulas-var-list dd[b-cmcn4iopfy] {
    margin: 0;
    color: var(--text-secondary);
    line-height: 1.5;
}

.formulas-example[b-cmcn4iopfy] {
    margin-bottom: 16px;
}

.formulas-example-box[b-cmcn4iopfy] {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 14px 16px;
    font-size: 13px;
    line-height: 1.7;
    color: var(--text-primary);
}

.formulas-example-box p[b-cmcn4iopfy] {
    margin: 0 0 6px 0;
}

.formulas-example-box p:last-child[b-cmcn4iopfy] {
    margin-bottom: 0;
}

.formulas-verdict[b-cmcn4iopfy] {
    border-radius: 4px;
    padding: 8px 12px;
    margin-top: 8px;
    font-weight: 500;
    font-size: 12px;
}

.formulas-verdict.positive[b-cmcn4iopfy] {
    background: rgba(59, 109, 17, 0.10);
    color: #3B6D11;
    border-left: 3px solid #3B6D11;
}

.formulas-verdict.caution[b-cmcn4iopfy] {
    background: rgba(133, 79, 11, 0.10);
    color: #854F0B;
    border-left: 3px solid #854F0B;
}

.formulas-verdict.neutral[b-cmcn4iopfy] {
    background: rgba(24, 95, 165, 0.08);
    color: var(--accent-blue);
    border-left: 3px solid var(--accent-blue);
}

.formulas-table[b-cmcn4iopfy] {
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
    font-size: 12px;
}

.formulas-table th[b-cmcn4iopfy],
.formulas-table td[b-cmcn4iopfy] {
    padding: 6px 10px;
    text-align: left;
    border-bottom: 1px solid var(--border);
}

.formulas-table th[b-cmcn4iopfy] {
    font-weight: 600;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-size: 10px;
    background: rgba(24, 95, 165, 0.04);
}

.formulas-table td[b-cmcn4iopfy] {
    color: var(--text-primary);
}

.formulas-pitfalls[b-cmcn4iopfy] {
    margin-bottom: 16px;
}

.formulas-pitfalls ul[b-cmcn4iopfy] {
    margin: 0;
    padding-left: 18px;
}

.formulas-pitfalls li[b-cmcn4iopfy] {
    font-size: 12px;
    color: var(--text-secondary);
    line-height: 1.6;
    margin-bottom: 6px;
}

.formulas-link[b-cmcn4iopfy] {
    margin-top: 12px;
}

.formulas-link a[b-cmcn4iopfy] {
    font-size: 12px;
    font-weight: 600;
    color: var(--accent-blue);
    text-decoration: none;
}

.formulas-link a:hover[b-cmcn4iopfy] {
    text-decoration: underline;
}
/* /Indicators.razor.rz.scp.css */
/* ══════════════════════════════════════════════════════════
   Indicators Page
   ══════════════════════════════════════════════════════════ */

.ind-page[b-hsdfu4yoge] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ind-detail-card[b-hsdfu4yoge] {
    max-width: none;
    margin: 0;
    width: 100%;
}

.ind-detail-split[b-hsdfu4yoge] {
    display: grid;
    grid-template-columns: minmax(0, 1.52fr) minmax(280px, 0.48fr);
    gap: 8px;
    margin-top: 4px;
    align-items: start;
}

.ind-visual-pane[b-hsdfu4yoge] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

/* ── Responsive card grid ── */
.ind-grid[b-hsdfu4yoge] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
    max-width: 1400px;
    margin: 0 auto;
    width: 100%;
}

/* ── Individual card (inherits .card base) ── */
.ind-card[b-hsdfu4yoge] {
    background: #1a1e24;
    border: 1px solid #30363d;
    border-radius: 8px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: relative;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.ind-card:hover[b-hsdfu4yoge] {
    border-color: var(--accent-blue);
    box-shadow: 0 4px 20px rgba(59, 130, 246, 0.12);
}

.ind-card--skeleton[b-hsdfu4yoge] {
    min-height: 300px;
    background: var(--bg-elevated);
    border-color: var(--border-subtle);
    animation: indSkeletonPulse-b-hsdfu4yoge 1.2s infinite ease-in-out;
}

@keyframes indSkeletonPulse-b-hsdfu4yoge {
    0%   { opacity: 1; }
    50%  { opacity: 0.5; }
    100% { opacity: 1; }
}

/* ── Card header ── */
.ind-card-header[b-hsdfu4yoge] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.ind-card-title-wrap[b-hsdfu4yoge] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.ind-card-name[b-hsdfu4yoge] {
    font-size: 15px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.2;
}

.ind-card-cat[b-hsdfu4yoge] {
    font-size: 11px;
    color: var(--text-tertiary);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.ind-card-desc[b-hsdfu4yoge] {
    font-size: 12px;
    color: var(--text-secondary);
    line-height: 1.55;
    margin: 0;
}

/* ── Mini SVG chart ── */
.ind-mini-chart[b-hsdfu4yoge] {
    border-radius: 6px;
    overflow: hidden;
    transition: filter 0.2s, opacity 0.2s;
}

.ind-mini-chart--small[b-hsdfu4yoge] {
    max-width: 100%;
}

.ind-mini-chart--blurred[b-hsdfu4yoge] {
    filter: blur(5px);
    pointer-events: none;
    opacity: 0.35;
}

.ind-mini-caption[b-hsdfu4yoge] {
    font-size: 10px;
    color: var(--text-tertiary);
    margin-top: 5px;
    font-style: italic;
    text-align: center;
}

/* ── Stats section ── */
.ind-stats[b-hsdfu4yoge] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    margin-top: 2px;
}

.ind-stats--side[b-hsdfu4yoge] {
    margin-top: 0;
    gap: 2px;
    width: 100%;
    margin-left: auto;
    max-width: 360px;
}

/* "No tennis match" fix: label takes its natural width,
   value right-justified in the remaining 1fr. Within a ~300px
   card the gap between label and value is tight and readable. */
.ind-stat-row[b-hsdfu4yoge] {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    padding: 3px 0;
}

.ind-stat-lbl[b-hsdfu4yoge] {
    color: #9ca3af;
    font-size: 12px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
    cursor: help;
}

.ind-stat-val[b-hsdfu4yoge] {
    color: #ffffff;
    font-weight: 700;
    font-size: 12px;
    text-align: right;
    justify-self: end;
}

/* ── Lock overlay inside locked cards ── */
.ind-lock-overlay[b-hsdfu4yoge] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 20px 16px;
    gap: 6px;
    border: 1px solid #30363d;
    border-radius: 6px;
    background: rgba(13, 17, 23, 0.55);
    margin-top: 4px;
}

.ind-lock-overlay--side[b-hsdfu4yoge] {
    min-height: 100%;
    margin-top: 0;
}

.ind-lock-title[b-hsdfu4yoge] {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-primary);
}

.ind-series-block[b-hsdfu4yoge] {
    margin-top: 8px;
    padding-top: 6px;
    border-top: 1px solid var(--border-subtle);
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ind-series-chart[b-hsdfu4yoge] {
    border: 1px solid var(--border-subtle);
    border-radius: 8px;
    background: var(--bg-surface);
    overflow: hidden;
    min-height: 360px;
    max-height: none;
}

.ind-series-chart svg[b-hsdfu4yoge] {
    width: 100%;
    height: auto;
    max-height: none;
}

.ind-series-legend[b-hsdfu4yoge] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    padding: 6px;
    border-bottom: 1px solid var(--border-subtle);
    background: rgba(148, 163, 184, 0.04);
}

.ind-line-toggle[b-hsdfu4yoge] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid var(--border-subtle);
    background: transparent;
    color: var(--text-secondary);
    font-size: 11px;
    padding: 4px 8px;
    border-radius: 999px;
    cursor: pointer;
}

.ind-line-value[b-hsdfu4yoge] {
    color: var(--text-primary);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.ind-line-toggle.on[b-hsdfu4yoge] {
    color: var(--text-primary);
    border-color: var(--border-medium);
    background: rgba(148, 163, 184, 0.08);
}

.ind-line-toggle.off[b-hsdfu4yoge] {
    opacity: 0.5;
}

.ind-line-swatch[b-hsdfu4yoge] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.2);
}

.ind-series-loading[b-hsdfu4yoge],
.ind-series-error[b-hsdfu4yoge] {
    padding: 14px;
    border-radius: 8px;
    font-size: 12px;
}

.ind-series-loading[b-hsdfu4yoge] {
    color: var(--text-secondary);
    background: var(--bg-elevated);
}

.ind-series-error[b-hsdfu4yoge] {
    color: var(--bear-color);
    background: color-mix(in srgb, var(--bear-color) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--bear-color) 26%, transparent);
}

@media (max-width: 960px) {
    .ind-detail-split[b-hsdfu4yoge] {
        grid-template-columns: 1fr;
    }

    .ind-mini-chart--small[b-hsdfu4yoge] {
        max-width: none;
    }
}

@media (min-width: 1100px) {
    .ind-page[b-hsdfu4yoge] {
        gap: 6px;
    }

    .ind-detail-card[b-hsdfu4yoge] {
        max-width: none;
        margin: 0;
    }

    .ind-detail-split[b-hsdfu4yoge] {
        grid-template-columns: minmax(0, 1.58fr) minmax(280px, 0.42fr);
    }

    .ind-card-header[b-hsdfu4yoge] {
        gap: 8px;
    }

    .ind-card-name[b-hsdfu4yoge] {
        font-size: 14px;
    }

    .ind-card-desc[b-hsdfu4yoge] {
        font-size: 11px;
        line-height: 1.35;
    }

    .ind-stat-lbl[b-hsdfu4yoge],
    .ind-stat-val[b-hsdfu4yoge] {
        font-size: 11px;
    }

    .ind-series-block[b-hsdfu4yoge] {
        margin-top: 6px;
        padding-top: 4px;
        gap: 4px;
    }

    .ind-series-chart[b-hsdfu4yoge] {
        min-height: 360px;
    }

    .ind-series-chart svg[b-hsdfu4yoge] {
        max-height: none;
    }
}

/* ══════════════════════════════════════════════════════════
   Formula Explainability Panel
   ══════════════════════════════════════════════════════════ */

.ind-formula-panel[b-hsdfu4yoge] {
    background: #161b22;
    border: 1px solid #30363d;
    border-radius: 8px;
    overflow: hidden;
}

.ind-formula-header[b-hsdfu4yoge] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 14px;
    cursor: pointer;
    font-weight: 600;
    font-size: 14px;
    color: #e6edf3;
}

.ind-formula-header:hover[b-hsdfu4yoge] {
    background: rgba(56, 139, 253, 0.08);
}

.ind-formula-body[b-hsdfu4yoge] {
    padding: 12px 14px;
    border-top: 1px solid #30363d;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.ind-formula-level-toggle[b-hsdfu4yoge] {
    display: flex;
    gap: 6px;
}

.ind-formula-section[b-hsdfu4yoge] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ind-formula-label[b-hsdfu4yoge] {
    font-weight: 600;
    font-size: 13px;
    color: #8b949e;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.ind-formula-latex[b-hsdfu4yoge] {
    font-size: 15px;
    color: #e6edf3;
    padding: 8px 12px;
    background: #0d1117;
    border-radius: 6px;
    border: 1px solid #21262d;
    overflow-x: auto;
}

.ind-formula-vars[b-hsdfu4yoge] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ind-formula-var[b-hsdfu4yoge] {
    display: flex;
    gap: 10px;
    align-items: baseline;
    font-size: 13px;
}

.ind-formula-var-sym[b-hsdfu4yoge] {
    font-weight: 600;
    color: #79c0ff;
    white-space: nowrap;
    min-width: 80px;
}

.ind-formula-var-desc[b-hsdfu4yoge] {
    color: #8b949e;
}

.ind-formula-inputs[b-hsdfu4yoge] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ind-formula-input-row[b-hsdfu4yoge] {
    display: flex;
    gap: 8px;
    align-items: baseline;
    font-size: 13px;
}

.ind-formula-input-row code[b-hsdfu4yoge] {
    color: #d2a8ff;
    font-weight: 600;
}

.ind-formula-input-default[b-hsdfu4yoge] {
    color: #7ee787;
    font-family: monospace;
}

.ind-formula-input-desc[b-hsdfu4yoge] {
    color: #8b949e;
}

.ind-formula-example[b-hsdfu4yoge] {
    font-size: 12px;
    color: #c9d1d9;
    background: #0d1117;
    border: 1px solid #21262d;
    border-radius: 6px;
    padding: 10px 12px;
    white-space: pre-wrap;
    line-height: 1.5;
    margin: 0;
}

.ind-formula-list[b-hsdfu4yoge] {
    margin: 0;
    padding-left: 20px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ind-formula-list li[b-hsdfu4yoge] {
    font-size: 13px;
    color: #c9d1d9;
    line-height: 1.45;
}

.ind-formula-list--warn li[b-hsdfu4yoge] {
    color: #f0883e;
}
/* /MonthlyReturnsHeatmap.razor.rz.scp.css */
.monthly-heatmap-wrap[b-25306n4bt5] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 1rem 0 0.5rem 0;
    padding: 0.75rem;
    background: #1a1a2e;
    border: 1px solid #333;
    border-radius: 6px;
    overflow-x: auto;
}

.monthly-heatmap-header[b-25306n4bt5],
.monthly-heatmap-row[b-25306n4bt5] {
    display: grid;
    grid-template-columns: 56px repeat(12, minmax(48px, 1fr)) 64px;
    gap: 3px;
    min-width: 760px;
}

.monthly-heatmap-cell[b-25306n4bt5] {
    padding: 6px 4px;
    text-align: center;
    font-size: 0.78rem;
    font-variant-numeric: tabular-nums;
    border-radius: 3px;
    line-height: 1.1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.monthly-heatmap-month-label[b-25306n4bt5],
.monthly-heatmap-year-label[b-25306n4bt5],
.monthly-heatmap-ytd-label[b-25306n4bt5] {
    font-weight: 600;
    color: #94a3b8;
    background: transparent;
}

.monthly-heatmap-year-label[b-25306n4bt5] {
    text-align: left;
    padding-left: 8px;
}

.monthly-heatmap-data[b-25306n4bt5] {
    cursor: help;
}

.monthly-heatmap-empty[b-25306n4bt5] {
    background: rgba(148,163,184,0.05);
    color: #475569;
}

.monthly-heatmap-ytd[b-25306n4bt5] {
    font-weight: 600;
    border-left: 2px solid #333;
    margin-left: 4px;
}

.monthly-heatmap-note[b-25306n4bt5] {
    font-size: 0.72rem;
    color: #94a3b8;
    padding: 0 0.25rem 0.25rem 0.25rem;
    font-style: italic;
}
/* /PairPersonality.razor.rz.scp.css */
.personality-page[b-elrh12uh49] {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem 1rem;
    color: #e0e0e0;
}

.personality-header h1[b-elrh12uh49] {
    font-size: 1.8rem;
    margin-bottom: 0.25rem;
}

.personality-subtitle[b-elrh12uh49] {
    color: #999;
    font-size: 0.95rem;
    margin-bottom: 1.5rem;
}

.personality-disclaimer-banner[b-elrh12uh49] {
    background: rgba(255, 193, 7, 0.1);
    border-left: 4px solid #ffc107;
    padding: 0.75rem 1rem;
    border-radius: 4px;
    margin-bottom: 2rem;
    font-size: 0.85rem;
    color: #ccc;
}

.personality-error[b-elrh12uh49] {
    background: rgba(220, 53, 69, 0.15);
    border-left: 4px solid #dc3545;
    padding: 0.75rem 1rem;
    border-radius: 4px;
    margin-bottom: 1.5rem;
    color: #f08080;
}

/* ── Controls ─────────────────────────────────────────────────────── */

.personality-controls[b-elrh12uh49] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: end;
    margin-bottom: 1.5rem;
}

.personality-select[b-elrh12uh49] {
    background: #2a2a3a;
    border: 1px solid #444;
    border-radius: 4px;
    padding: 0.4rem 0.6rem;
    color: #e0e0e0;
    font-size: 0.9rem;
}

.personality-btn[b-elrh12uh49] {
    background: #4a90d9;
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 0.5rem 1rem;
    cursor: pointer;
    font-size: 0.9rem;
    transition: background 0.15s;
}

.personality-btn:hover:not(:disabled)[b-elrh12uh49] {
    background: #3a7cc9;
}

.personality-btn:disabled[b-elrh12uh49] {
    opacity: 0.5;
    cursor: not-allowed;
}

label[b-elrh12uh49] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-size: 0.8rem;
    color: #aaa;
}

/* ── Profile Grid ─────────────────────────────────────────────────── */

.profile-grid[b-elrh12uh49] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.profile-card[b-elrh12uh49] {
    background: #1e1e2e;
    border: 1px solid #333;
    border-radius: 8px;
    padding: 1.25rem;
    cursor: pointer;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.profile-card:hover[b-elrh12uh49] {
    border-color: #4a90d9;
}

.profile-card-selected[b-elrh12uh49] {
    border-color: #4a90d9;
    box-shadow: 0 0 0 1px #4a90d9;
}

.profile-card-header[b-elrh12uh49] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.75rem;
}

.profile-card-header h3[b-elrh12uh49] {
    margin: 0;
    font-size: 1.1rem;
}

.source-badge[b-elrh12uh49] {
    font-size: 0.7rem;
    color: #888;
    background: #2a2a3a;
    padding: 0.15rem 0.5rem;
    border-radius: 10px;
}

/* ── Score Bars ───────────────────────────────────────────────────── */

.score-bars[b-elrh12uh49] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    margin-bottom: 0.75rem;
}

.score-row[b-elrh12uh49] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.score-label[b-elrh12uh49] {
    flex: 0 0 110px;
    font-size: 0.75rem;
    color: #999;
}

.score-bar-track[b-elrh12uh49] {
    flex: 1;
    height: 6px;
    background: #2a2a3a;
    border-radius: 3px;
    overflow: hidden;
}

.score-bar-fill[b-elrh12uh49] {
    height: 100%;
    border-radius: 3px;
    transition: width 0.3s ease;
}

.volatility-fill[b-elrh12uh49] { background: #ef5350; }
.trend-fill[b-elrh12uh49] { background: #4caf50; }
.reversion-fill[b-elrh12uh49] { background: #ffc107; }
.session-fill[b-elrh12uh49] { background: #42a5f5; }
.cost-fill[b-elrh12uh49] { background: #ab47bc; }

.score-value[b-elrh12uh49] {
    flex: 0 0 28px;
    font-size: 0.75rem;
    text-align: right;
    color: #ccc;
    font-weight: 600;
}

/* ── Trait Chips ──────────────────────────────────────────────────── */

.profile-card-labels[b-elrh12uh49] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.trait-chip[b-elrh12uh49] {
    font-size: 0.7rem;
    padding: 0.15rem 0.5rem;
    border-radius: 10px;
    background: #252535;
    color: #bbb;
    border: 1px solid #444;
}

/* ── Detail Panel ─────────────────────────────────────────────────── */

.detail-panel[b-elrh12uh49] {
    background: #1e1e2e;
    border: 1px solid #333;
    border-radius: 8px;
    padding: 1.5rem;
    margin-top: 1.5rem;
}

.detail-panel h2[b-elrh12uh49] {
    font-size: 1.25rem;
    margin-bottom: 0.25rem;
}

.detail-timeframe[b-elrh12uh49] {
    font-size: 0.8rem;
    color: #888;
    margin-bottom: 1rem;
}

.detail-grid[b-elrh12uh49] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}

.detail-card[b-elrh12uh49] {
    background: #252535;
    border: 1px solid #444;
    border-radius: 6px;
    padding: 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.detail-label[b-elrh12uh49] {
    font-size: 0.75rem;
    color: #888;
}

.detail-value[b-elrh12uh49] {
    font-size: 1.1rem;
    font-weight: 600;
}

.positive[b-elrh12uh49] { color: #4caf50; }
.negative[b-elrh12uh49] { color: #ef5350; }

/* ── Narrative Sections ───────────────────────────────────────────── */

.narrative-section[b-elrh12uh49] {
    margin-bottom: 1rem;
}

.narrative-section h3[b-elrh12uh49] {
    font-size: 1rem;
    margin-bottom: 0.35rem;
    color: #ddd;
}

.narrative-section p[b-elrh12uh49] {
    font-size: 0.9rem;
    color: #bbb;
    line-height: 1.6;
}

.avoid-text[b-elrh12uh49] {
    color: #ef9a9a !important;
}

.detail-meta[b-elrh12uh49] {
    font-size: 0.75rem;
    color: #666;
    margin-top: 1rem;
    padding-top: 0.75rem;
    border-top: 1px solid #333;
}

/* ── Responsive ───────────────────────────────────────────────────── */

@media (max-width: 640px) {
    .profile-grid[b-elrh12uh49] {
        grid-template-columns: 1fr;
    }

    .detail-grid[b-elrh12uh49] {
        grid-template-columns: 1fr 1fr;
    }

    .personality-controls[b-elrh12uh49] {
        flex-direction: column;
    }
}
/* /Profile.razor.rz.scp.css */
/* ══════════════════════════════════════════════
   Profile — Compact Grid Layout
   No space-between. Fixed 200px label column.
   ══════════════════════════════════════════════ */

/* --- Page --- */
.profile-page[b-elaur6umgq] {
    max-width: 1280px;
    margin: 0 auto;
    padding: 4px 0 0;
    animation: pfIn-b-elaur6umgq 0.3s ease-out;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pf-callout[b-elaur6umgq] {
    margin-top: 4px;
}

.pf-loading[b-elaur6umgq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 220px;
    color: var(--text-secondary);
}

/* --- 2×2 card grid --- */
.pf-grid[b-elaur6umgq] {
    display: grid;
    grid-template-columns: repeat(2, minmax(340px, 1fr));
    gap: 8px;
    align-items: start;
}

/* --- Card --- */
.pf-card[b-elaur6umgq] {
    padding: 8px;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.pf-card-title[b-elaur6umgq] {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 4px;
    padding-bottom: 4px;
    border-bottom: 1px solid var(--border-subtle);
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

/* --- Data Row: grid auto | 1fr --- */
.pf-row[b-elaur6umgq] {
    display: grid;
    grid-template-columns: minmax(120px, auto) 1fr;
    align-items: center;
    gap: 8px;
    padding: 4px 0;
    min-height: 28px;
    border-radius: 4px;
    transition: background 0.2s;
}
.pf-row:hover[b-elaur6umgq] {
    background: var(--bg-elevated);
}
.pf-row-stack[b-elaur6umgq] {
    grid-template-columns: 1fr;
    gap: 8px;
}

/* --- Label --- */
.pf-label[b-elaur6umgq] {
    font-size: 13px;
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    line-height: 1.35;
}

/* --- Value --- */
.pf-value[b-elaur6umgq] {
    font-size: 14px;
    font-weight: 500;
    color: var(--text-primary);
    text-align: right;
    min-width: 0;
    overflow-wrap: anywhere;
    line-height: 1.35;
}
.pf-value-accent[b-elaur6umgq] {
    color: var(--accent-blue);
    font-weight: 700;
}

.pf-value-inline[b-elaur6umgq] {
    display: inline-flex;
    align-items: center;
    justify-self: end;
    gap: 8px;
}

.pf-email-badge[b-elaur6umgq] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.02em;
    border-radius: 999px;
    padding: 3px 10px;
    line-height: 1.2;
    border: 1px solid transparent;
    white-space: nowrap;
}

.pf-email-verified[b-elaur6umgq] {
    color: #86efac;
    background: rgba(34, 197, 94, 0.12);
    border-color: rgba(34, 197, 94, 0.28);
}

.pf-email-unverified[b-elaur6umgq] {
    color: #fbbf24;
    background: rgba(245, 158, 11, 0.12);
    border-color: rgba(245, 158, 11, 0.28);
}

/* --- Tier badge --- */
.pf-tier[b-elaur6umgq] {
    font-size: 12px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    text-align: right;
    width: fit-content;
    margin-left: auto;
}
.pf-tier.free[b-elaur6umgq] {
    background: var(--bg-elevated);
    color: var(--text-secondary);
}
.pf-tier.pro[b-elaur6umgq] {
    background: var(--accent-blue-dim);
    color: var(--accent-blue);
}
.pf-tier.expert[b-elaur6umgq] {
    background: rgba(250, 204, 21, 0.12);
    color: #fbbf24;
}

/* --- Divider --- */
.pf-divider[b-elaur6umgq] {
    margin: 10px 0 8px;
    border-top: 1px solid var(--border-subtle);
}

/* --- Tier description --- */
.pf-tier-desc[b-elaur6umgq] {
    font-size: 13px;
    color: var(--text-tertiary);
    line-height: 1.35;
    margin-bottom: 6px;
}
.pf-tier-desc strong[b-elaur6umgq] { color: var(--text-secondary); }

.pf-subscription-actions[b-elaur6umgq] {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.pf-share-list[b-elaur6umgq] {
    display: grid;
    gap: 8px;
}

.pf-share-item[b-elaur6umgq] {
    border: 1px solid var(--border-subtle);
    border-radius: 6px;
    padding: 8px;
    background: var(--bg-elevated);
    display: grid;
    gap: 6px;
}

.pf-share-head[b-elaur6umgq] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    align-items: center;
}

.pf-share-strategy[b-elaur6umgq] {
    color: var(--text-primary);
    font-weight: 600;
    font-size: 13px;
}

.pf-share-date[b-elaur6umgq] {
    color: var(--text-secondary);
    font-size: 12px;
}

.pf-share-links[b-elaur6umgq] {
    display: inline-flex;
    gap: 8px;
    align-items: center;
}

.pf-share-link[b-elaur6umgq] {
    color: var(--accent-blue);
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
}

.pf-share-link:hover[b-elaur6umgq] {
    text-decoration: underline;
}


.pf-trial-active[b-elaur6umgq] {
    color: var(--bull-color);
    font-weight: 600;
}

.pf-trial-expired[b-elaur6umgq] {
    color: var(--bear-color);
    font-weight: 600;
}

.pf-trial-bar[b-elaur6umgq] {
    margin-top: 4px;
}

.pf-trial-bar-fill-active[b-elaur6umgq] {
    background: var(--bull-color);
}

.pf-trial-bar-fill-expired[b-elaur6umgq] {
    background: var(--bear-color);
}

.pf-debug-head[b-elaur6umgq] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.pf-btn-debug[b-elaur6umgq] {
    padding: 4px 10px;
    background: transparent;
    color: var(--text-secondary);
    border: 1px solid var(--border-subtle);
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}

.pf-btn-debug:hover:not(:disabled)[b-elaur6umgq] {
    border-color: var(--text-tertiary);
    color: var(--text-primary);
}

.pf-btn-debug:disabled[b-elaur6umgq] {
    opacity: 0.6;
    cursor: wait;
}

.pf-debug-grid[b-elaur6umgq] {
    margin-top: 8px;
    display: grid;
    grid-template-columns: minmax(120px, auto) 1fr;
    gap: 6px 10px;
    padding: 8px;
    border: 1px dashed var(--border-subtle);
    border-radius: 6px;
    background: var(--bg-elevated);
}

.pf-debug-k[b-elaur6umgq] {
    font-size: 12px;
    color: var(--text-secondary);
}

.pf-debug-v[b-elaur6umgq] {
    font-size: 13px;
    color: var(--text-primary);
    text-align: right;
}

.pf-debug-ok[b-elaur6umgq] {
    color: var(--bull-color);
    font-weight: 600;
}

.pf-debug-warn[b-elaur6umgq] {
    color: #fbbf24;
    font-weight: 600;
}

.pf-debug-error[b-elaur6umgq] {
    margin-top: 8px;
    padding: 8px;
    border-radius: 6px;
    font-size: 12px;
    color: var(--bear-color);
    background: color-mix(in srgb, var(--bear-color) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--bear-color) 30%, transparent);
}

/* --- Buttons --- */
.pf-btn-primary[b-elaur6umgq] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    padding: 9px;
    background: var(--accent-blue);
    color: #fff;
    border: none;
    border-radius: var(--radius-sm);
    font-size: 14px;
    font-weight: 600;
    min-height: 36px;
    cursor: pointer;
    transition: opacity 0.15s;
}
.pf-btn-primary:hover[b-elaur6umgq] { opacity: 0.88; }

.pf-btn-upgrade[b-elaur6umgq] {
    background: rgba(234, 179, 8, 0.12);
    color: #eab308;
    border: 1px solid rgba(234, 179, 8, 0.25);
}

.pf-btn-upgrade:hover[b-elaur6umgq] {
    background: rgba(234, 179, 8, 0.18);
    color: #facc15;
    opacity: 1;
}

.pf-btn-outline[b-elaur6umgq] {
    width: 100%;
    padding: 9px;
    background: transparent;
    color: var(--text-secondary);
    border: 1px solid #30363d;
    border-radius: var(--radius-sm);
    font-size: 14px;
    font-weight: 600;
    min-height: 36px;
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s;
}
.pf-btn-outline:hover[b-elaur6umgq] { border-color: var(--text-tertiary); color: var(--text-primary); }

.pf-btn-save[b-elaur6umgq] {
    padding: 5px 14px;
    background: var(--accent-blue);
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}
.pf-btn-save:hover[b-elaur6umgq] { opacity: 0.85; }

.pf-btn-signout[b-elaur6umgq] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    padding: 9px;
    background: transparent;
    color: var(--bear-color);
    border: 1px solid rgba(239, 68, 68, 0.2);
    border-radius: var(--radius-sm);
    font-size: 14px;
    font-weight: 500;
    min-height: 36px;
    cursor: pointer;
    transition: background 0.15s;
}
.pf-btn-signout:hover[b-elaur6umgq] { background: rgba(239, 68, 68, 0.08); }

/* --- Timezone / Dropdown ("Database" style) --- */
.pf-tz-control[b-elaur6umgq] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    width: 100%;
}

.pf-tz-select[b-elaur6umgq] {
    min-width: 0;
}

.pf-tz-actions[b-elaur6umgq] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.pf-saved[b-elaur6umgq] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--bull-color);
    font-size: 13px;
    font-weight: 600;
}

.pf-toggle[b-elaur6umgq] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: var(--text-secondary);
    cursor: pointer;
    user-select: none;
}

.pf-toggle input[type="checkbox"][b-elaur6umgq] {
    width: 16px;
    height: 16px;
    accent-color: var(--accent-blue);
    cursor: pointer;
}

.pf-toggle input[type="checkbox"]:disabled[b-elaur6umgq] {
    cursor: not-allowed;
    opacity: 0.6;
}



/* Match Candlestick Pattern Database info-dot */
.help-dot[b-elaur6umgq] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--accent-blue-dim);
    color: var(--accent-blue);
    font-size: 10px;
    font-weight: 700;
    cursor: help;
    margin-left: 0;
    margin-bottom: 0;
}
.pf-spinner[b-elaur6umgq] {
    display: inline-block;
    width: 24px;
    height: 24px;
    border: 3px solid var(--border-subtle);
    border-top-color: var(--accent-blue);
    border-radius: 50%;
    animation: pfSpin-b-elaur6umgq 0.7s linear infinite;
}

/* --- Responsive --- */
@media (max-width: 640px) {
    .pf-grid[b-elaur6umgq] { grid-template-columns: 1fr; }
    .pf-row[b-elaur6umgq] {
        grid-template-columns: 1fr;
        gap: 4px;
    }
    .pf-value[b-elaur6umgq] { text-align: left; }
    .pf-tier[b-elaur6umgq] { margin-left: 0; }
    .pf-tz-control[b-elaur6umgq] {
        grid-template-columns: 1fr;
        align-items: stretch;
    }
    .pf-tz-actions[b-elaur6umgq] {
        justify-content: flex-start;
    }
    .pf-debug-grid[b-elaur6umgq] {
        grid-template-columns: 1fr;
    }
    .pf-debug-v[b-elaur6umgq] {
        text-align: left;
    }
}

@media (max-width: 980px) {
    .pf-grid[b-elaur6umgq] {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 1100px) {
    .profile-page[b-elaur6umgq] {
        max-width: 1360px;
        gap: 6px;
        padding-top: 2px;
    }

    .pf-grid[b-elaur6umgq] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .pf-card[b-elaur6umgq] {
        padding: 8px;
    }

    .pf-card-title[b-elaur6umgq] {
        font-size: 13px;
        margin-bottom: 4px;
        padding-bottom: 4px;
    }

    .pf-row[b-elaur6umgq] {
        min-height: 26px;
        padding: 2px 0;
        gap: 6px;
        grid-template-columns: 130px 1fr;
    }

    .pf-label[b-elaur6umgq] {
        font-size: 12px;
    }

    .pf-value[b-elaur6umgq],
    .pf-tier-desc[b-elaur6umgq],
    .pf-debug-k[b-elaur6umgq],
    .pf-debug-v[b-elaur6umgq] {
        font-size: 13px;
    }

    .pf-divider[b-elaur6umgq] {
        margin: 6px 0;
    }

    .pf-btn-primary[b-elaur6umgq],
    .pf-btn-outline[b-elaur6umgq],
    .pf-btn-signout[b-elaur6umgq] {
        min-height: 34px;
        padding: 6px;
        font-size: 13px;
    }
}

@keyframes pfIn-b-elaur6umgq { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
@keyframes pfSpin-b-elaur6umgq { to { transform: rotate(360deg); } }
/* /RegressionAnalysis.razor.rz.scp.css */
.regression-page[b-czpr44sbpg] {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem 1rem;
    color: #e0e0e0;
}

.regression-header h1[b-czpr44sbpg] {
    font-size: 1.8rem;
    margin-bottom: 0.25rem;
}

.regression-subtitle[b-czpr44sbpg] {
    color: #999;
    font-size: 0.95rem;
    margin-bottom: 1.5rem;
}

.regression-disclaimer-banner[b-czpr44sbpg] {
    background: rgba(255, 193, 7, 0.1);
    border-left: 4px solid #ffc107;
    padding: 0.75rem 1rem;
    border-radius: 4px;
    margin-bottom: 2rem;
    font-size: 0.85rem;
    color: #ccc;
}

.regression-error[b-czpr44sbpg] {
    background: rgba(220, 53, 69, 0.15);
    border-left: 4px solid #dc3545;
    padding: 0.75rem 1rem;
    border-radius: 4px;
    margin-bottom: 1.5rem;
    color: #f08080;
}

/* ── Sections ─────────────────────────────────────────────────────── */

.regression-section[b-czpr44sbpg] {
    background: #1e1e2e;
    border: 1px solid #333;
    border-radius: 8px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}

.regression-section h2[b-czpr44sbpg] {
    font-size: 1.25rem;
    margin-bottom: 0.25rem;
}

.section-desc[b-czpr44sbpg] {
    color: #888;
    font-size: 0.85rem;
    margin-bottom: 1rem;
}

/* ── Controls ─────────────────────────────────────────────────────── */

.regression-controls[b-czpr44sbpg] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: end;
    margin-bottom: 1rem;
}

.regression-input[b-czpr44sbpg] {
    background: #2a2a3a;
    border: 1px solid #444;
    border-radius: 4px;
    padding: 0.4rem 0.6rem;
    color: #e0e0e0;
    font-size: 0.9rem;
    width: 140px;
}

.regression-input-wide[b-czpr44sbpg] {
    width: 260px;
}

.regression-input-sm[b-czpr44sbpg] {
    width: 90px;
}

.regression-select[b-czpr44sbpg] {
    background: #2a2a3a;
    border: 1px solid #444;
    border-radius: 4px;
    padding: 0.4rem 0.6rem;
    color: #e0e0e0;
    font-size: 0.9rem;
}

.regression-btn[b-czpr44sbpg] {
    background: #4a90d9;
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 0.5rem 1rem;
    cursor: pointer;
    font-size: 0.9rem;
    transition: background 0.15s;
}

.regression-btn:hover:not(:disabled)[b-czpr44sbpg] {
    background: #3a7cc9;
}

.regression-btn:disabled[b-czpr44sbpg] {
    opacity: 0.5;
    cursor: not-allowed;
}

label[b-czpr44sbpg] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-size: 0.8rem;
    color: #aaa;
}

/* ── Settings Guide ───────────────────────────────────────────────── */

.settings-guide[b-czpr44sbpg] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-top: 1.25rem;
}

.guide-card[b-czpr44sbpg] {
    background: #1a1a2a;
    border: 1px solid #333;
    border-radius: 6px;
    padding: 1rem 1.25rem;
}

.guide-card h3[b-czpr44sbpg] {
    font-size: 1rem;
    margin: 0 0 0.5rem 0;
    color: #ddd;
}

.guide-card h3 em[b-czpr44sbpg] {
    color: #63b3ed;
    font-style: italic;
}

.guide-intro[b-czpr44sbpg] {
    font-size: 0.82rem;
    color: #999;
    margin: 0 0 0.75rem 0;
    line-height: 1.5;
}

.guide-options[b-czpr44sbpg] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.guide-option[b-czpr44sbpg] {
    background: #222235;
    border: 1px solid #333;
    border-radius: 5px;
    padding: 0.65rem 0.85rem;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    transition: border-color 0.2s, background 0.2s;
}

.guide-option-active[b-czpr44sbpg] {
    border-color: #4a90d9;
    background: rgba(74, 144, 217, 0.08);
}

.guide-option-name[b-czpr44sbpg] {
    font-size: 0.85rem;
    font-weight: 700;
    color: #ccc;
}

.guide-option-active .guide-option-name[b-czpr44sbpg] {
    color: #63b3ed;
}

.guide-option-desc[b-czpr44sbpg] {
    font-size: 0.8rem;
    color: #999;
    line-height: 1.5;
}

.guide-option-desc strong[b-czpr44sbpg] {
    color: #bbb;
}

.guide-when[b-czpr44sbpg] {
    font-size: 0.78rem;
    color: #888;
    line-height: 1.45;
    margin-top: 0.15rem;
}

.guide-when strong[b-czpr44sbpg] {
    color: #aaa;
}

.guide-tip[b-czpr44sbpg] {
    font-size: 0.8rem;
    line-height: 1.5;
    color: #b0b0b0;
    padding: 0.65rem 0.75rem;
    margin-top: 0.75rem;
    background: rgba(74, 144, 217, 0.08);
    border-left: 3px solid #4a90d9;
    border-radius: 0 5px 5px 0;
}

.guide-tip strong[b-czpr44sbpg] {
    color: #63b3ed;
}

/* ── Result Grid ──────────────────────────────────────────────────── */

.result-grid[b-czpr44sbpg] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 0.75rem;
    margin-top: 0.75rem;
}

.result-card[b-czpr44sbpg] {
    background: #252535;
    border: 1px solid #444;
    border-radius: 6px;
    padding: 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.result-label[b-czpr44sbpg] {
    font-size: 0.75rem;
    color: #888;
}

.result-value[b-czpr44sbpg] {
    font-size: 1.1rem;
    font-weight: 600;
}

.coeff-value[b-czpr44sbpg] {
    font-size: 0.8rem;
    word-break: break-all;
}

.positive[b-czpr44sbpg] { color: #4caf50; }
.negative[b-czpr44sbpg] { color: #ef5350; }

/* ── Explained Metric Cards ───────────────────────────────────────── */

.metric-explained-grid[b-czpr44sbpg] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.metric-card[b-czpr44sbpg] {
    background: #252535;
    border: 1px solid #444;
    border-radius: 8px;
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.metric-top[b-czpr44sbpg] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

.metric-name[b-czpr44sbpg] {
    font-size: 0.85rem;
    font-weight: 600;
    color: #bbb;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.metric-number[b-czpr44sbpg] {
    font-size: 1.4rem;
    font-weight: 700;
}

.metric-quality[b-czpr44sbpg] {
    font-size: 0.78rem;
    font-weight: 600;
    padding: 0.25rem 0.65rem;
    border-radius: 12px;
    display: inline-block;
    width: fit-content;
}

.quality-good[b-czpr44sbpg] {
    background: rgba(76, 175, 80, 0.15);
    color: #4caf50;
    border: 1px solid rgba(76, 175, 80, 0.3);
}

.quality-moderate[b-czpr44sbpg] {
    background: rgba(255, 193, 7, 0.12);
    color: #ffc107;
    border: 1px solid rgba(255, 193, 7, 0.3);
}

.quality-poor[b-czpr44sbpg] {
    background: rgba(239, 83, 80, 0.12);
    color: #ef5350;
    border: 1px solid rgba(239, 83, 80, 0.3);
}

.quality-bullish[b-czpr44sbpg] {
    background: rgba(76, 175, 80, 0.15);
    color: #4caf50;
    border: 1px solid rgba(76, 175, 80, 0.3);
}

.quality-bearish[b-czpr44sbpg] {
    background: rgba(239, 83, 80, 0.12);
    color: #ef5350;
    border: 1px solid rgba(239, 83, 80, 0.3);
}

.quality-neutral[b-czpr44sbpg] {
    background: rgba(99, 179, 237, 0.1);
    color: #63b3ed;
    border: 1px solid rgba(99, 179, 237, 0.25);
}

.metric-explain[b-czpr44sbpg] {
    font-size: 0.82rem;
    line-height: 1.55;
    color: #aaa;
}

.metric-explain strong[b-czpr44sbpg] {
    color: #ccc;
}

.metric-explain code[b-czpr44sbpg] {
    background: #1a1a2a;
    padding: 0.15rem 0.4rem;
    border-radius: 3px;
    font-size: 0.78rem;
    color: #63b3ed;
}

.metric-ranges[b-czpr44sbpg] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    font-size: 0.78rem;
    color: #999;
    padding: 0.5rem 0.65rem;
    background: #1e1e2a;
    border-radius: 5px;
    border: 1px solid #333;
}

.range-row[b-czpr44sbpg] {
    display: flex;
    align-items: baseline;
    gap: 0.4rem;
    line-height: 1.5;
}

.range-row strong[b-czpr44sbpg] {
    color: #ccc;
}

.range-dot[b-czpr44sbpg] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
    flex-shrink: 0;
    margin-top: 4px;
}

.dot-green[b-czpr44sbpg] { background: #4caf50; }
.dot-yellow[b-czpr44sbpg] { background: #ffc107; }
.dot-red[b-czpr44sbpg] { background: #ef5350; }

.metric-tip[b-czpr44sbpg] {
    font-size: 0.8rem;
    line-height: 1.5;
    color: #b0b0b0;
    padding: 0.65rem 0.75rem;
    background: rgba(74, 144, 217, 0.08);
    border-left: 3px solid #4a90d9;
    border-radius: 0 5px 5px 0;
}

.metric-tip strong[b-czpr44sbpg] {
    color: #63b3ed;
}

/* ── Guidance ─────────────────────────────────────────────────────── */

.guidance-trend[b-czpr44sbpg] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.guidance-label[b-czpr44sbpg] {
    font-size: 0.9rem;
    color: #aaa;
}

.guidance-badge[b-czpr44sbpg] {
    display: inline-block;
    padding: 0.35rem 1rem;
    border-radius: 16px;
    font-weight: 600;
    font-size: 0.9rem;
}

.guidance-uptrend[b-czpr44sbpg],
.guidance-strong-uptrend[b-czpr44sbpg] {
    background: rgba(0, 200, 83, 0.2);
    color: #4caf50;
    border: 1px solid #4caf50;
}

.guidance-downtrend[b-czpr44sbpg],
.guidance-strong-downtrend[b-czpr44sbpg] {
    background: rgba(220, 53, 69, 0.2);
    color: #ef5350;
    border: 1px solid #ef5350;
}

.guidance-flat[b-czpr44sbpg],
.guidance-no-trend[b-czpr44sbpg],
.guidance-weak-trend[b-czpr44sbpg] {
    background: rgba(255, 193, 7, 0.15);
    color: #ffc107;
    border: 1px solid #ffc107;
}

.guidance-notes[b-czpr44sbpg] {
    list-style: none;
    padding: 0;
    margin: 0;
}

.guidance-notes li[b-czpr44sbpg] {
    padding: 0.4rem 0;
    border-bottom: 1px solid #2a2a3a;
    font-size: 0.85rem;
    color: #bbb;
}

.guidance-notes li[b-czpr44sbpg]::before {
    content: "→ ";
    color: #4a90d9;
}

/* ── Responsive ───────────────────────────────────────────────────── */

/* ── Progress Bar ─────────────────────────────────────────────────── */

.regression-progress[b-czpr44sbpg] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 1rem;
    padding: 0.75rem;
    background: #252535;
    border: 1px solid #444;
    border-radius: 6px;
}

.progress-status[b-czpr44sbpg] {
    font-size: 0.85rem;
    color: #aaa;
    min-width: 200px;
    white-space: nowrap;
}

.progress-bar-track[b-czpr44sbpg] {
    flex: 1;
    height: 8px;
    background: #333;
    border-radius: 4px;
    overflow: hidden;
}

.progress-bar-fill[b-czpr44sbpg] {
    height: 100%;
    background: linear-gradient(90deg, #4a90d9, #63b3ed);
    border-radius: 4px;
    transition: width 0.3s ease;
}

.progress-percent[b-czpr44sbpg] {
    font-size: 0.8rem;
    color: #63b3ed;
    min-width: 36px;
    text-align: right;
    font-weight: 600;
}

/* ── Diagnostics Panel ────────────────────────────────────────────── */

.diagnostics-section[b-czpr44sbpg] {
    border-color: #555;
}

.diagnostics-header[b-czpr44sbpg] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
}

.diagnostics-clear-btn[b-czpr44sbpg] {
    font-size: 0.75rem;
    padding: 0.25rem 0.6rem;
    background: #444;
}

.diagnostics-clear-btn:hover[b-czpr44sbpg] {
    background: #555;
}

.diagnostics-log[b-czpr44sbpg] {
    max-height: 260px;
    overflow-y: auto;
    font-family: 'Cascadia Mono', 'Fira Code', monospace;
    font-size: 0.78rem;
    line-height: 1.6;
    background: #161622;
    border-radius: 4px;
    padding: 0.5rem 0.75rem;
}

.diag-entry[b-czpr44sbpg] {
    display: flex;
    gap: 0.5rem;
    padding: 0.1rem 0;
    border-bottom: 1px solid #1e1e2e;
}

.diag-time[b-czpr44sbpg] {
    color: #666;
    flex-shrink: 0;
}

.diag-level[b-czpr44sbpg] {
    font-weight: 700;
    flex-shrink: 0;
    min-width: 42px;
}

.diag-msg[b-czpr44sbpg] {
    color: #ccc;
    word-break: break-word;
}

.diag-info .diag-level[b-czpr44sbpg] { color: #63b3ed; }
.diag-warn .diag-level[b-czpr44sbpg] { color: #ffc107; }
.diag-error .diag-level[b-czpr44sbpg] { color: #ef5350; }
.diag-error .diag-msg[b-czpr44sbpg] { color: #f08080; }

@media (max-width: 640px) {
    .regression-controls[b-czpr44sbpg] {
        flex-direction: column;
    }

    .regression-input[b-czpr44sbpg],
    .regression-input-wide[b-czpr44sbpg],
    .regression-input-sm[b-czpr44sbpg] {
        width: 100%;
    }

    .result-grid[b-czpr44sbpg] {
        grid-template-columns: 1fr 1fr;
    }
}
/* /StrategyBuilder.razor.rz.scp.css */
/* ── Strategy Builder ── */

.strategy-builder-page[b-lgwf6rbcl6] {
    display: grid;
    gap: 10px;
}

/* Gate overlay for non-Enterprise users */
.sb-gate[b-lgwf6rbcl6] {
    display: grid;
    gap: 14px;
    justify-items: center;
    text-align: center;
    padding: 48px 24px;
}

.sb-gate-icon[b-lgwf6rbcl6] {
    font-size: 48px;
    opacity: 0.7;
}

.sb-gate h2[b-lgwf6rbcl6] {
    margin: 0;
    color: var(--text-primary);
}

.sb-gate p[b-lgwf6rbcl6] {
    margin: 0;
    max-width: 420px;
    color: var(--text-secondary);
    line-height: 1.6;
}

/* ── Collapsible sections ── */
.sb-section[b-lgwf6rbcl6] {
    cursor: pointer;
    user-select: none;
}

.sb-section-head[b-lgwf6rbcl6] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
}

.sb-section-number[b-lgwf6rbcl6] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: rgba(59, 130, 246, 0.15);
    color: var(--accent-blue);
    font-size: 12px;
    font-weight: 700;
    flex-shrink: 0;
}

.sb-section-title[b-lgwf6rbcl6] {
    font-weight: 600;
    color: var(--text-primary);
    flex: 1;
}

.sb-chevron[b-lgwf6rbcl6] {
    color: var(--text-secondary);
    transition: transform 0.2s ease;
    font-size: 12px;
}

.sb-chevron-open[b-lgwf6rbcl6] {
    transform: rotate(90deg);
}

.sb-section-body[b-lgwf6rbcl6] {
    display: grid;
    gap: 16px;
    padding: 16px;
    border-top: 1px solid var(--border-subtle);
}

/* ── Layout ── */
.sb-row[b-lgwf6rbcl6] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
    align-items: end;
}

.sb-row-check[b-lgwf6rbcl6] {
    grid-template-columns: 1fr;
    align-items: center;
}

.sb-field[b-lgwf6rbcl6] {
    display: grid;
    gap: 4px;
}

.sb-field-wide[b-lgwf6rbcl6] {
    grid-column: 1 / -1;
}

/* ── Tooltips ── */
.sb-tooltip[b-lgwf6rbcl6] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 999px;
    font-size: 10px;
    color: var(--text-tertiary);
    cursor: help;
    position: relative;
    vertical-align: text-top;
}

.sb-tooltip:hover[b-lgwf6rbcl6] {
    color: var(--accent-blue);
}

/* ── Template info ── */
.sb-template-info[b-lgwf6rbcl6] {
    display: grid;
    gap: 8px;
    padding: 12px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: rgba(15, 23, 42, 0.18);
}

.sb-template-meta[b-lgwf6rbcl6] {
    display: flex;
    gap: 8px;
}

.sb-desc[b-lgwf6rbcl6] {
    margin: 0;
    color: var(--text-secondary);
    line-height: 1.6;
}

.sb-details[b-lgwf6rbcl6] {
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-sm);
    overflow: hidden;
}

.sb-details summary[b-lgwf6rbcl6] {
    padding: 8px 12px;
    cursor: pointer;
    color: var(--text-primary);
    font-weight: 500;
    font-size: 13px;
    background: rgba(148, 163, 184, 0.04);
}

.sb-details p[b-lgwf6rbcl6] {
    margin: 0;
    padding: 8px 12px;
    color: var(--text-secondary);
    line-height: 1.6;
}

/* ── Badges ── */
.sb-badge[b-lgwf6rbcl6] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    background: rgba(59, 130, 246, 0.14);
    color: #93c5fd;
}

.sb-badge-alt[b-lgwf6rbcl6] {
    background: rgba(168, 85, 247, 0.14);
    color: #c4b5fd;
}

/* ── Parameters ── */
.sb-params[b-lgwf6rbcl6] {
    display: grid;
    gap: 8px;
}

.sb-params-title[b-lgwf6rbcl6] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    color: var(--text-primary);
}

.sb-params-grid[b-lgwf6rbcl6] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 10px;
}

.sb-param[b-lgwf6rbcl6] {
    display: grid;
    gap: 4px;
}

/* ── Checkboxes ── */
.sb-check[b-lgwf6rbcl6] {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    color: var(--text-primary);
    font-size: 13px;
}

.sb-check input[type="checkbox"][b-lgwf6rbcl6] {
    accent-color: var(--accent-blue);
}

/* ── Exit rule tiers ── */
.sb-exit-tier[b-lgwf6rbcl6] {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: rgba(15, 23, 42, 0.12);
}

.sb-exit-tier-head[b-lgwf6rbcl6] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    color: var(--text-primary);
    font-size: 13px;
}

.sb-exit-help[b-lgwf6rbcl6] {
    margin: 0;
    padding: 8px 10px;
    border-left: 3px solid rgba(59, 130, 246, 0.35);
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    background: rgba(59, 130, 246, 0.06);
    color: var(--text-secondary);
    font-size: 12.5px;
    line-height: 1.65;
}

.sb-computed-field[b-lgwf6rbcl6] {
    display: flex;
    align-items: center;
    color: var(--text-primary);
    font-weight: 600;
    opacity: 0.85;
    cursor: default;
    background: rgba(148, 163, 184, 0.06);
}

/* ── Notes section ── */
.sb-notes-intro[b-lgwf6rbcl6] {
    margin: 0;
    color: var(--text-secondary);
    line-height: 1.6;
}

.sb-invalidation-row[b-lgwf6rbcl6] {
    display: flex;
    gap: 6px;
    align-items: center;
    margin-bottom: 6px;
}

.sb-invalidation-row .patterns-input[b-lgwf6rbcl6] {
    flex: 1;
}

.sb-btn-icon[b-lgwf6rbcl6] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--text-secondary);
    font-size: 12px;
    cursor: pointer;
    flex-shrink: 0;
}

.sb-btn-icon:hover[b-lgwf6rbcl6] {
    color: #ef4444;
    border-color: rgba(239, 68, 68, 0.4);
    background: rgba(239, 68, 68, 0.1);
}

.sb-btn-add[b-lgwf6rbcl6] {
    border: 1px dashed var(--border-medium);
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--text-secondary);
    padding: 6px 12px;
    cursor: pointer;
    font-size: 12px;
    margin-top: 4px;
}

.sb-btn-add:hover[b-lgwf6rbcl6] {
    color: var(--accent-blue);
    border-color: var(--accent-blue);
}

/* ── Backtest run bar ── */
.sb-run-bar[b-lgwf6rbcl6] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.sb-run-btn[b-lgwf6rbcl6] {
    min-width: 160px;
}

/* ── Results ── */
.sb-results[b-lgwf6rbcl6] {
    display: grid;
    gap: 16px;
}

.sb-results-title[b-lgwf6rbcl6] {
    font-weight: 600;
    color: var(--text-primary);
}

.sb-results-grid[b-lgwf6rbcl6] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 10px;
}

.sb-stat[b-lgwf6rbcl6] {
    display: grid;
    gap: 2px;
    padding: 10px 12px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: rgba(15, 23, 42, 0.2);
}

.sb-stat-label[b-lgwf6rbcl6] {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.sb-stat-value[b-lgwf6rbcl6] {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-primary);
}

.sb-stat-good[b-lgwf6rbcl6] { color: var(--bull-color); }
.sb-stat-bad[b-lgwf6rbcl6]  { color: var(--bear-color); }
.sb-stat-warn[b-lgwf6rbcl6] { color: #f59e0b; }

/* Drawdown warning */
.sb-drawdown-warning[b-lgwf6rbcl6] {
    padding: 10px 14px;
    border: 1px solid rgba(245, 158, 11, 0.35);
    border-radius: var(--radius-md);
    background: rgba(245, 158, 11, 0.08);
    color: var(--text-secondary);
    line-height: 1.6;
}

.sb-drawdown-warning strong[b-lgwf6rbcl6] {
    color: #f59e0b;
}

/* ── Tables ── */
.sb-trades[b-lgwf6rbcl6] {
    display: grid;
    gap: 8px;
}

.sb-trades-title[b-lgwf6rbcl6] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    color: var(--text-primary);
}

.sb-table-wrap[b-lgwf6rbcl6] {
    overflow-x: auto;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
}

.sb-table[b-lgwf6rbcl6] {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}

.sb-table thead[b-lgwf6rbcl6] {
    background: rgba(15, 23, 42, 0.4);
}

.sb-table th[b-lgwf6rbcl6] {
    padding: 8px 10px;
    text-align: left;
    font-weight: 600;
    color: var(--text-secondary);
    white-space: nowrap;
    border-bottom: 1px solid var(--border-subtle);
}

.sb-sortable[b-lgwf6rbcl6] {
    cursor: pointer;
    user-select: none;
}

.sb-sortable:hover[b-lgwf6rbcl6] {
    color: var(--text-primary);
}

.sb-table td[b-lgwf6rbcl6] {
    padding: 6px 10px;
    color: var(--text-primary);
    border-bottom: 1px solid var(--border-subtle);
    white-space: nowrap;
}

.sb-table tbody tr:last-child td[b-lgwf6rbcl6] {
    border-bottom: none;
}

.sb-table tbody tr:hover[b-lgwf6rbcl6] {
    background: rgba(148, 163, 184, 0.04);
}

.sb-trade-win td:nth-child(5)[b-lgwf6rbcl6],
.sb-trade-win td:nth-child(6)[b-lgwf6rbcl6] {
    color: var(--bull-color);
}

.sb-trade-loss td:nth-child(5)[b-lgwf6rbcl6],
.sb-trade-loss td:nth-child(6)[b-lgwf6rbcl6] {
    color: var(--bear-color);
}

/* ── Save section ── */
.sb-save-row[b-lgwf6rbcl6] {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    align-items: end;
}

.sb-save-actions[b-lgwf6rbcl6] {
    display: flex;
    gap: 8px;
    align-items: end;
}

.sb-save-btn[b-lgwf6rbcl6] {
    min-width: 140px;
}

.sb-export-btn[b-lgwf6rbcl6] {
    min-width: 120px;
    background: rgba(168, 85, 247, 0.15);
    border: 1px solid rgba(168, 85, 247, 0.3);
    color: #c4b5fd;
}

.sb-export-btn:hover:not(:disabled)[b-lgwf6rbcl6] {
    background: rgba(168, 85, 247, 0.25);
}

.sb-save-msg[b-lgwf6rbcl6] {
    padding: 8px 12px;
    border-radius: var(--radius-sm);
    font-size: 13px;
}

/* ── Action cells ── */
.sb-action-cell[b-lgwf6rbcl6] {
    display: flex;
    gap: 4px;
}

.sb-btn-sm[b-lgwf6rbcl6] {
    padding: 4px 8px;
    border: 1px solid var(--border-medium);
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--text-secondary);
    font-size: 11px;
    cursor: pointer;
    white-space: nowrap;
}

.sb-btn-sm:hover[b-lgwf6rbcl6] {
    color: var(--text-primary);
    border-color: var(--accent-blue);
    background: rgba(59, 130, 246, 0.1);
}

.sb-btn-danger:hover[b-lgwf6rbcl6] {
    color: var(--bear-color);
    border-color: rgba(239, 68, 68, 0.4);
    background: rgba(239, 68, 68, 0.1);
}

.sb-btn-pine[b-lgwf6rbcl6] {
    color: #2962FF;
    border-color: rgba(41, 98, 255, 0.3);
}

.sb-btn-pine:hover[b-lgwf6rbcl6] {
    color: #fff;
    border-color: #2962FF;
    background: rgba(41, 98, 255, 0.2);
}

/* ── Status messages ── */
.sb-error[b-lgwf6rbcl6] {
    color: var(--bear-color);
    background: rgba(239, 68, 68, 0.08);
    border: 1px solid rgba(239, 68, 68, 0.25);
}

.sb-success[b-lgwf6rbcl6] {
    color: var(--bull-color);
    background: rgba(34, 197, 94, 0.08);
    border: 1px solid rgba(34, 197, 94, 0.25);
}

/* ── Hints ── */
.sb-hint[b-lgwf6rbcl6] {
    font-size: 12px;
    color: var(--text-secondary);
}

.sb-hint a[b-lgwf6rbcl6] {
    color: #93c5fd;
}

.sb-hint a:hover[b-lgwf6rbcl6] {
    color: #bfdbfe;
}

/* ── Responsive ── */
@media (max-width: 640px) {
    .sb-row[b-lgwf6rbcl6] {
        grid-template-columns: 1fr;
    }

    .sb-results-grid[b-lgwf6rbcl6] {
        grid-template-columns: repeat(2, 1fr);
    }

    .sb-save-row[b-lgwf6rbcl6] {
        grid-template-columns: 1fr;
    }

    .sb-save-actions[b-lgwf6rbcl6] {
        flex-wrap: wrap;
    }

    .sb-params-grid[b-lgwf6rbcl6] {
        grid-template-columns: repeat(2, 1fr);
    }
}
/* /TradingCopilot.razor.rz.scp.css */
/* ── Trading Copilot Panel ── */

.copilot-panel[b-f84lvcrmnn] {
    margin-top: 8px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    overflow: hidden;
}

.copilot-header[b-f84lvcrmnn] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    cursor: pointer;
    user-select: none;
    background: rgba(59, 130, 246, 0.05);
    border-bottom: 1px solid transparent;
}

.copilot-header:hover[b-f84lvcrmnn] {
    background: rgba(59, 130, 246, 0.1);
}

.copilot-header h3[b-f84lvcrmnn] {
    margin: 0;
    font-size: 0.95rem;
    flex: 1;
    color: var(--text-primary);
}

.copilot-icon[b-f84lvcrmnn] {
    font-size: 1.2rem;
}

.copilot-toggle[b-f84lvcrmnn] {
    color: var(--text-secondary);
    font-size: 0.85rem;
}

.copilot-body[b-f84lvcrmnn] {
    padding: 16px;
    display: grid;
    gap: 12px;
}

.copilot-modes[b-f84lvcrmnn] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.copilot-mode-btn[b-f84lvcrmnn] {
    padding: 6px 14px;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    background: transparent;
    color: var(--text-secondary);
    font-size: 0.82rem;
    cursor: pointer;
    transition: all 0.15s;
}

.copilot-mode-btn:hover[b-f84lvcrmnn] {
    border-color: var(--accent-blue);
    color: var(--text-primary);
}

.copilot-mode-btn.active[b-f84lvcrmnn] {
    border-color: var(--accent-blue);
    background: rgba(59, 130, 246, 0.12);
    color: var(--accent-blue);
}

.copilot-ask-btn[b-f84lvcrmnn] {
    padding: 8px 20px;
    border: none;
    border-radius: 6px;
    background: var(--accent-blue);
    color: #fff;
    font-size: 0.85rem;
    cursor: pointer;
    transition: opacity 0.15s;
    justify-self: start;
}

.copilot-ask-btn:hover:not(:disabled)[b-f84lvcrmnn] {
    opacity: 0.85;
}

.copilot-ask-btn:disabled[b-f84lvcrmnn] {
    opacity: 0.5;
    cursor: not-allowed;
}

.copilot-limits[b-f84lvcrmnn] {
    font-size: 0.78rem;
    color: var(--text-secondary);
}

.copilot-error[b-f84lvcrmnn] {
    color: var(--bear-color);
    font-size: 0.85rem;
    background: rgba(239, 68, 68, 0.08);
    padding: 8px 12px;
    border-radius: 6px;
}

.copilot-response[b-f84lvcrmnn] {
    display: grid;
    gap: 12px;
}

.copilot-response-title[b-f84lvcrmnn] {
    margin: 0;
    font-size: 0.95rem;
    color: var(--text-primary);
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 8px;
}

.copilot-insight[b-f84lvcrmnn] {
    display: grid;
    gap: 4px;
    padding: 10px 12px;
    border-left: 3px solid var(--accent-blue);
    background: rgba(59, 130, 246, 0.03);
    border-radius: 0 6px 6px 0;
}

.copilot-insight-category[b-f84lvcrmnn] {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--accent-blue);
}

.copilot-insight-observation[b-f84lvcrmnn] {
    font-size: 0.88rem;
    color: var(--text-primary);
    font-weight: 500;
}

.copilot-insight-reasoning[b-f84lvcrmnn] {
    font-size: 0.82rem;
    color: var(--text-secondary);
    line-height: 1.5;
}

.copilot-insight-suggestion[b-f84lvcrmnn] {
    font-size: 0.82rem;
    color: var(--bull-color);
    padding-top: 2px;
}

.suggestion-label[b-f84lvcrmnn] {
    font-weight: 600;
}

.copilot-link-btn[b-f84lvcrmnn] {
    margin-top: 6px;
    padding: 4px 12px;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--bg-primary);
    background: var(--bull-color);
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: opacity 0.15s;
}

.copilot-link-btn:hover[b-f84lvcrmnn] {
    opacity: 0.85;
}

.copilot-disclaimer[b-f84lvcrmnn] {
    font-size: 0.72rem;
    color: var(--text-secondary);
    opacity: 0.7;
    font-style: italic;
    padding-top: 4px;
    border-top: 1px solid var(--border-color);
}
