/* ── АНАЛИТИКА ── добавить в конец style.css ── */

.an-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-bottom: 12px;
}
.an-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--rs);
  padding: 12px 8px;
  text-align: center;
}
.an-icon  { font-size: 20px; margin-bottom: 4px; }
.an-val   { font-size: 22px; font-weight: 700; line-height: 1.1; }
.an-label { font-size: 11px; color: var(--hint); margin-top: 3px; line-height: 1.3; }
.an-delta { font-size: 11px; font-weight: 700; margin-top: 6px; }
.an-delta.up      { color: var(--success); }
.an-delta.down    { color: var(--danger); }
.an-delta.neutral { color: var(--hint); }

.an-net-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--rs);
  padding: 10px 14px;
  font-size: 13px;
}
.an-net { font-weight: 700; font-size: 15px; }
.an-net.up   { color: var(--success); }
.an-net.down { color: var(--danger); }
.an-net.neutral { color: var(--hint); }

.an-ranking {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--rs);
  overflow: hidden;
}
.an-rank-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--border);
}
.an-rank-row:last-child { border-bottom: none; }
.an-rank-num  { font-size: 12px; color: var(--hint); width: 16px; flex-shrink: 0; }
.an-rank-fio  { font-size: 13px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.an-rank-bar-wrap { width: 80px; height: 6px; background: var(--border); border-radius: 3px; flex-shrink: 0; }
.an-rank-bar  { height: 100%; background: var(--accent); border-radius: 3px; transition: width .3s; }
.an-rank-count { font-size: 13px; font-weight: 700; color: var(--accent); width: 28px; text-align: right; flex-shrink: 0; }
