/* ═══ Public Company Rating — Aurora Glass v2 ═══ */

/* Контент страницы рейтинга должен быть виден сразу,
   без ожидания JS-анимации .reveal */
.rating-page .reveal {
  opacity: 1;
  transform: translateY(0);
}

.rating-industry-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  justify-content: center;
  margin-bottom: var(--space-8);
}

.rating-industry-tab {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-6);
  border-radius: var(--radius-full);
  background: var(--bg-glass);
  border: 1px solid var(--border-glass);
  color: var(--text-secondary);
  font-size: var(--text-sm);
  font-weight: 600;
  text-decoration: none;
  transition: all 0.25s ease;
  white-space: nowrap;
}

.rating-industry-tab:hover {
  background: var(--bg-glass-hover);
  color: var(--text-primary);
  border-color: var(--border-glass-strong);
}

.rating-industry-tab.active {
  background: linear-gradient(135deg, rgba(129,140,248,0.15), rgba(99,102,241,0.1));
  color: var(--accent-primary);
  border-color: rgba(129,140,248,0.2);
  box-shadow: 0 0 20px rgba(129,140,248,0.1);
}

.rating-industry-tab i {
  font-size: var(--text-base);
}

.rating-year-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  justify-content: center;
  margin-bottom: var(--space-6);
}

.rating-year-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 80px;
  padding: var(--space-2) var(--space-5);
  border-radius: var(--radius-lg);
  background: var(--bg-glass);
  border: 1px solid var(--border-glass);
  color: var(--text-secondary);
  font-size: var(--text-sm);
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}

.rating-year-tab:hover {
  background: var(--bg-glass-hover);
  color: var(--text-primary);
}

.rating-year-tab.active {
  background: linear-gradient(135deg, rgba(56,189,248,0.15), rgba(14,165,233,0.1));
  color: var(--accent-secondary);
  border-color: rgba(56,189,248,0.2);
}

.rating-year-tab.disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.rating-segment-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  justify-content: center;
  margin-bottom: var(--space-8);
}

.rating-segment-tab {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: var(--space-2) var(--space-5);
  border-radius: var(--radius-lg);
  background: var(--bg-glass);
  border: 1px solid var(--border-glass);
  color: var(--text-secondary);
  font-size: var(--text-sm);
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}

.rating-segment-tab small {
  font-size: var(--text-xs);
  font-weight: 500;
  color: var(--text-muted);
}

.rating-segment-tab:hover {
  background: var(--bg-glass-hover);
  color: var(--text-primary);
}

.rating-segment-tab.active {
  background: linear-gradient(135deg, rgba(129,140,248,0.15), rgba(99,102,241,0.1));
  color: var(--accent-primary);
  border-color: rgba(129,140,248,0.2);
}

.rating-segment-tab.active small {
  color: var(--accent-primary);
  opacity: 0.8;
}

.rating-filters {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  justify-content: center;
  margin-bottom: var(--space-8);
}

.rating-filter-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-full);
  background: var(--bg-glass-strong);
  border: 1px solid var(--border-glass);
  color: var(--text-muted);
  font-size: var(--text-xs);
  font-weight: 500;
}

.rating-filter-badge i {
  color: var(--accent-primary);
}

.rating-placeholder {
  text-align: center;
  padding: var(--space-16) var(--space-8);
  max-width: 640px;
  margin: 0 auto;
}

.rating-placeholder-icon {
  width: 80px;
  height: 80px;
  margin: 0 auto var(--space-6);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-xl);
  background: linear-gradient(135deg, rgba(251,191,36,0.1), rgba(245,158,11,0.05));
  border: 1px solid rgba(251,191,36,0.15);
}

.rating-placeholder-icon i {
  font-size: var(--text-3xl);
  color: var(--accent-warning);
}

.rating-placeholder h2 {
  font-size: var(--text-2xl);
  font-weight: 700;
  margin-bottom: var(--space-3);
  color: var(--text-primary);
}

.rating-placeholder p {
  margin-bottom: var(--space-6);
  line-height: 1.6;
}

.rating-empty {
  text-align: center;
  padding: var(--space-16) var(--space-8);
  max-width: 520px;
  margin: 0 auto;
}

.rating-empty i {
  font-size: var(--text-4xl);
  color: var(--text-muted);
  margin-bottom: var(--space-4);
}

.rating-empty h3 {
  font-size: var(--text-xl);
  font-weight: 700;
  margin-bottom: var(--space-2);
  color: var(--text-primary);
}

.rating-table-card {
  padding: 0;
  overflow: hidden;
}

.rating-table-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--space-3);
  padding: var(--space-5) var(--space-6);
  border-bottom: 1px solid var(--border-glass);
  background: var(--bg-glass-strong);
}

.rating-table-header h3 {
  font-size: var(--text-lg);
  font-weight: 700;
  color: var(--text-primary);
  margin: 0;
}

.rating-count {
  font-size: var(--text-sm);
  color: var(--text-muted);
  font-weight: 500;
}

.rating-table-wrap {
  overflow-x: auto;
}

.rating-table {
  width: 100%;
  border-collapse: collapse;
}

.rating-table thead th {
  padding: var(--space-4) var(--space-4);
  text-align: left;
  font-size: var(--text-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-muted);
  background: var(--bg-glass);
  border-bottom: 1px solid var(--border-glass);
  white-space: nowrap;
}

.rating-table tbody tr {
  border-bottom: 1px solid var(--border-glass);
  transition: background 0.15s ease;
}

.rating-table tbody tr:hover {
  background: var(--bg-glass-hover);
}

.rating-table tbody tr:last-child {
  border-bottom: none;
}

.rating-table td {
  padding: var(--space-4);
  vertical-align: middle;
}

.rating-th-rank,
.rating-td-rank {
  width: 120px;
  min-width: 120px;
}

.rating-th-company,
.rating-td-company {
  min-width: 260px;
}

.rating-th-revenue,
.rating-td-revenue {
  width: 160px;
  min-width: 160px;
  white-space: nowrap;
}

.rating-th-method,
.rating-td-method {
  width: 150px;
  min-width: 150px;
}

.rating-rank-main {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}

.rank-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  border-radius: var(--radius-lg);
  background: var(--bg-glass-strong);
  border: 1px solid var(--border-glass);
  color: var(--text-primary);
  font-size: var(--text-sm);
  font-weight: 700;
}

.rank-badge.gold {
  background: linear-gradient(135deg, rgba(251,191,36,0.2), rgba(245,158,11,0.1));
  border-color: rgba(251,191,36,0.3);
  color: #fbbf24;
}

.rank-badge.silver {
  background: linear-gradient(135deg, rgba(148,163,184,0.2), rgba(100,116,139,0.1));
  border-color: rgba(148,163,184,0.3);
  color: #94a3b8;
}

.rank-badge.bronze {
  background: linear-gradient(135deg, rgba(180,83,9,0.2), rgba(124,45,18,0.1));
  border-color: rgba(180,83,9,0.3);
  color: #d97706;
}

.rating-delta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: var(--text-xs);
  font-weight: 600;
  padding: 2px 6px;
  border-radius: var(--radius-md);
  white-space: nowrap;
}

.rating-delta.up {
  color: var(--accent-success);
  background: rgba(52,211,153,0.1);
}

.rating-delta.down {
  color: var(--accent-danger);
  background: rgba(251,113,133,0.1);
}

.rating-delta.neutral {
  color: var(--text-muted);
  background: var(--bg-glass-strong);
}

.rating-company-name {
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 2px;
}

.rating-company-inn {
  font-size: var(--text-xs);
  color: var(--text-muted);
}

.rating-td-revenue {
  font-weight: 600;
  color: var(--text-primary);
  font-family: var(--font-mono);
}

.method-rank {
  display: inline-block;
  min-width: 28px;
  font-weight: 700;
  color: var(--text-primary);
  margin-right: var(--space-2);
}

.rating-na {
  color: var(--text-muted);
}

.rating-legend {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  justify-content: center;
  margin-top: var(--space-8);
  padding: var(--space-4);
}

.rating-legend-item {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-sm);
  color: var(--text-secondary);
}

@media (max-width: 768px) {
  .rating-industry-tabs {
    flex-direction: column;
    align-items: stretch;
  }

  .rating-industry-tab {
    justify-content: center;
  }

  .rating-table-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .rating-th-rank,
  .rating-td-rank {
    width: 90px;
    min-width: 90px;
  }

  .rating-th-company,
  .rating-td-company {
    min-width: 200px;
  }

  .rating-th-method,
  .rating-td-method {
    min-width: 120px;
  }

  .rating-legend {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-3);
  }
}
