/* ═══════════════════════════════════════════════════════════
   Analyzer — shared styles used across all analyzer pages
   ═══════════════════════════════════════════════════════════ */

/* ── Metric toggle — radio-btn-toggle group variant ── */

.sm-toggle {
    display: flex;
    gap: 4px;
}

/* ── Strike Matrix table ── */

.sm-table {
    border-collapse: collapse;
    font-size: 0.72rem;
    table-layout: fixed;
}

.sm-corner {
    width: 58px;
}

.sm-bps-h {
    width: 68px;
    padding: 4px 6px;
    font-size: 0.62rem;
    font-weight: 600;
    color: var(--color-text-muted);
    text-align: center;
    letter-spacing: 0.03em;
    white-space: nowrap;
}

.sm-dur-h {
    padding: 0 8px 0 0;
    font-size: 0.62rem;
    font-weight: 600;
    color: var(--color-text-muted);
    text-align: right;
    white-space: nowrap;
}

/* ── Heatmap cell ── */

.sm-cell {
    width: 68px;
    height: 38px;
    text-align: center;
    vertical-align: middle;
    border: 1px solid rgba(255, 255, 255, 0.04);
    padding: 2px 3px;
}

.sm-cell-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1.2;
    gap: 1px;
}

.sm-val {
    font-weight: 700;
    color: rgba(0, 0, 0, 0.85);
    font-size: 0.72rem;
    letter-spacing: -0.02em;
}

.sm-sec {
    font-size: 0.58rem;
    color: rgba(0, 0, 0, 0.55);
}

/* empty cell — no color, dim label */
.sm-cell:not([style]) .sm-val,
.sm-cell-empty .sm-val {
    color: var(--color-text-muted);
    font-weight: 400;
}

/* ── Risk zone row ── */

.sm-risk-row .sm-dur-h {
    color: #E57373;
}

/* ── Capture floor edge ── */

.sm-floor-row .sm-cell {
    border-top: 2px solid rgba(255, 255, 255, 0.3);
}

.sm-floor-row .sm-dur-h {
    border-top: 2px solid rgba(255, 255, 255, 0.3);
}

/* ── Totals ── */

.sm-row-total-h,
.sm-row-total,
.sm-col-total,
.sm-grand-total {
    padding: 3px 8px;
    font-size: 0.65rem;
    color: var(--color-text-secondary);
    text-align: center;
    white-space: nowrap;
}

.sm-row-total-h {
    font-weight: 600;
    color: var(--color-text-muted);
}

.sm-col-totals .sm-dur-h,
.sm-col-total {
    border-top: 1px solid var(--color-border);
}

.sm-grand-total {
    border-top: 1px solid var(--color-border);
    font-weight: 700;
    color: var(--color-text-primary);
}

/* ── Zone summary bar ── */

.sm-zones {
    display: flex;
    gap: 12px;
    margin-top: 8px;
    flex-wrap: wrap;
}

.sm-zone {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.72rem;
    padding: 4px 12px;
    border-radius: 4px;
}

.sm-zone-profit {
    background: rgba(129, 199, 132, 0.08);
    border: 1px solid rgba(129, 199, 132, 0.25);
}

.sm-zone-risk {
    background: rgba(239, 83, 80, 0.08);
    border: 1px solid rgba(239, 83, 80, 0.25);
}

.sm-zone-label {
    color: var(--color-text-secondary);
}

.sm-zone-val {
    font-weight: 700;
    color: var(--color-text-primary);
}

.sm-zone-pct {
    font-size: 0.68rem;
    color: var(--color-text-secondary);
}
