/* static/css/impact_shares.css — вкладка «💚 Мой вклад» (impact-акции).
   Немонетарный репутационный слой. Тема-независимо (использует токены). */

.impact-root { padding: 16px; max-width: 960px; margin: 0 auto; }

.impact-balance-card {
    text-align: center;
    padding: 24px 20px;
    border-radius: var(--radius-xl);
    background: color-mix(in srgb, var(--success) 12%, transparent);
    border: 1px solid var(--border-color, var(--border));
    margin-bottom: 20px;
}
.impact-balance-num { font-size: 2.8rem; font-weight: 800; color: var(--success); line-height: 1; }
.impact-balance-label { font-size: 0.95rem; color: var(--text-muted, var(--gray-500)); margin-top: 4px; }
.impact-hint {
    margin: 12px auto 0; max-width: 560px;
    font-size: 0.85rem; color: var(--text-muted, var(--gray-500)); line-height: 1.4;
}

.impact-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 720px) { .impact-cols { grid-template-columns: 1fr; } }

.impact-section {
    border: 1px solid var(--border-color, var(--border));
    border-radius: var(--radius-lg); padding: 14px 16px; background: var(--surface-raised, var(--white));
}
.impact-h3 { margin: 0 0 10px; font-size: 1rem; font-weight: 700; }

.impact-lb-list { list-style: none; margin: 0; padding: 0; }
.impact-lb-row {
    display: flex; align-items: center; gap: 10px;
    padding: 7px 4px; border-bottom: 1px solid var(--border-color-subtle, var(--bg-tertiary));
}
.impact-lb-row:last-child { border-bottom: 0; }
.impact-lb-rank { width: 28px; text-align: center; font-weight: 700; }
.impact-lb-name { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.impact-lb-val { font-weight: 700; color: var(--success); }

.impact-hist-list { list-style: none; margin: 0; padding: 0; }
.impact-hist-row {
    display: flex; align-items: center; gap: 8px;
    padding: 7px 4px; border-bottom: 1px solid var(--border-color-subtle, var(--bg-tertiary));
}
.impact-hist-row:last-child { border-bottom: 0; }
.impact-hist-kind { font-size: 0.88rem; }
.impact-hist-reason {
    flex: 1; font-size: 0.78rem; color: var(--text-muted, var(--gray-500));
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.impact-hist-val { margin-left: auto; font-weight: 700; }
.impact-hist-val.is-pos { color: var(--success); }
.impact-hist-val.is-neg { color: var(--danger); }

.impact-empty {
    padding: 18px; text-align: center; color: var(--text-muted, var(--gray-500));
    font-size: 0.88rem;
}
.impact-status { padding: 40px 16px; text-align: center; color: var(--text-muted, var(--gray-500)); }
.impact-status-err { color: var(--danger); margin-bottom: 12px; }
.impact-spinner {
    width: 30px; height: 30px; margin: 0 auto 12px; border-radius: 50%;
    border: 3px solid rgba(0,0,0,0.1); border-top-color: var(--success);
    animation: impact-spin 0.9s linear infinite;
}
@keyframes impact-spin { to { transform: rotate(360deg); } }
