    /* ══ Stock Detail V2 Enhancements (Path A — light theme) ══ */
    .sd-quick-stats-section { margin-bottom: 20px; }
    .sd-quick-stats { display: flex; gap: 0; background: var(--surface, #fff); border: 1px solid var(--border); border-radius: 12px; overflow: hidden; }
    .sd-qs-item { flex: 1; text-align: center; padding: 16px 12px; border-inline-end: 1px solid var(--border); }
    .sd-qs-item:last-child { border-inline-end: none; }
    .sd-qs-val { display: block; font-size: 18px; font-weight: 800; color: var(--navy); margin-bottom: 2px; }
    .sd-qs-label { font-size: 11px; color: var(--text-3, var(--text-muted)); font-weight: 700; }
    @media (max-width: 640px) { .sd-quick-stats { flex-wrap: wrap; } .sd-qs-item { flex: 1 1 45%; border-bottom: 1px solid var(--border); } }

    .sd-analyst-section { margin-bottom: 24px; }
    .sd-analyst-card { background: var(--surface, #fff); border: 1px solid var(--border); border-radius: 12px; padding: 28px; }
    .sd-section-title { font-size: 18px; font-weight: 800; color: var(--navy); margin-bottom: 20px; display: flex; align-items: center; gap: 8px; }
    .sd-analyst-gauge { margin-bottom: 16px; }
    .sd-gauge-bar { height: 10px; border-radius: 5px; background: linear-gradient(90deg, var(--danger), #FF8C00, var(--gold), #7CB342, var(--teal)); position: relative; margin-bottom: 8px; }
    .sd-gauge-dot { position: absolute; top: 50%; transform: translate(-50%, -50%); width: 20px; height: 20px; border-radius: 50%; background: var(--teal); border: 3px solid #fff; box-shadow: 0 0 0 2px var(--teal), 0 2px 8px rgba(0,0,0,0.15); }
    .sd-gauge-labels { display: flex; justify-content: space-between; font-size: 11px; color: var(--text-3, var(--text-muted)); font-weight: 700; }
    .sd-analyst-verdict { text-align: center; font-size: 22px; font-weight: 800; margin-bottom: 4px; }
    /* CV-049 / DI-132: class-map replaces inline style="color:{{ $verdictColor }}" */
    .sd-analyst-verdict.sd-verdict--buy { color: var(--teal, #0E7C7B); }
    .sd-analyst-verdict.sd-verdict--hold { color: var(--gold, #C08A2E); }
    .sd-analyst-verdict.sd-verdict--neutral { color: var(--text-3, var(--text-muted, #888)); }
    .sd-analyst-target { text-align: center; font-size: 14px; color: var(--text-3, var(--text-muted)); margin-bottom: 16px; }
    .sd-analyst-target strong { color: var(--teal); font-weight: 800; }
    .sd-analyst-breakdown { display: flex; justify-content: center; gap: 24px; }
    .sd-ab-item { text-align: center; }
    .sd-ab-count { display: block; font-size: 24px; font-weight: 800; }
    .sd-ab-label { font-size: 12px; color: var(--text-3, var(--text-muted)); font-weight: 700; }
    .sd-ab-buy .sd-ab-count { color: var(--teal); }
    .sd-ab-hold .sd-ab-count { color: var(--gold); }
    .sd-ab-sell .sd-ab-count { color: var(--danger); }

    .sd-stats-section { margin: 24px 0; }
    .sd-stats-card { background: var(--surface, #fff); border: 1px solid var(--border); border-radius: 12px; padding: 28px; }
    .sd-stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
    .sd-stat-item { background: var(--bg); border: 1px solid var(--border); border-radius: 10px; padding: 16px; }
    .sd-si-label { display: block; font-size: 11px; color: var(--text-3, var(--text-muted)); font-weight: 700; margin-bottom: 4px; }
    .sd-si-val { display: block; font-size: 18px; font-weight: 800; color: var(--navy); }
    .sd-val-green { color: var(--green) !important; }
    .sd-val-red { color: var(--danger) !important; }
    @media (max-width: 768px) { .sd-stats-grid { grid-template-columns: repeat(2, 1fr); } }
    @media (max-width: 480px) { .sd-stats-grid { grid-template-columns: 1fr; } }

    .sd-ymyl-section { margin-bottom: 20px; }
