.prediction-card{flex:0 0 220px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;transition:all .3s}.prediction-card:hover{border-color:var(--border-light);transform:translateY(-2px);box-shadow:var(--shadow)}.prediction-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.prediction-stock{min-height:40px;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px}.prediction-ticker{font-size:17px;font-weight:700}.prediction-company,.prediction-ticker{line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prediction-company{font-size:12px;color:var(--text-secondary)}.prediction-company.empty{visibility:hidden}.prediction-signal{flex-shrink:0;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase}.prediction-signal.buy{background:var(--success-bg);color:var(--success)}.prediction-signal.sell{background:var(--danger-bg);color:var(--danger)}.prediction-signal.hold{background:var(--warning-bg);color:var(--warning)}.prediction-stats{display:flex;flex-direction:column;gap:6px}.prediction-stat{display:flex;justify-content:space-between;align-items:center}.prediction-stat-label{font-size:12px;color:var(--text-muted)}.prediction-stat-value{font-size:13px;font-weight:500}.prediction-probability{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.probability-bar-bg{height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin-top:8px}.probability-bar{height:100%;border-radius:3px;transition:width .6s ease}.probability-bar.high{background:var(--success)}.probability-bar.medium{background:var(--warning)}.probability-bar.low{background:var(--danger)}.prediction-card.skeleton{pointer-events:none}.skeleton-bar{display:inline-block;background:var(--border);border-radius:4px;animation:skeleton-pulse 1.5s ease-in-out infinite}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:1}}.predictions-loading{text-align:center;padding:60px 24px;color:var(--text-secondary)}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}@keyframes spin{to{transform:rotate(1turn)}}.predictions-error{text-align:center;padding:40px 24px;color:var(--text-secondary)}.predictions-error .btn{margin-top:16px}