/* === ОБЩИЕ НАСТРОЙКИ === */
body {
  font-family: 'Inter', sans-serif;
  background: #f0f2f5;
  padding: 20px;
}

/* === FLEX-КОНТЕЙНЕР ДЛЯ ПЛАНА И ТОП-3 === */
.top-blocks {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 30px;
}

/* === КАРТОЧКИ === */
.card,
.card1,
.card3 {
  background: white;
  padding: 20px;
  border-radius: 16px;
  margin-bottom: 30px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}

.card,
.card3 {
  width: 48%;
}

.card1 {
  width: 100%;
}

/* === ЗАГОЛОВКИ === */
h2 {
  margin-top: 0;
  font-size: 20px;
  color: #333;
  display: flex;
  align-items: center;
  gap: 10px;
}

h2::before {
  font-size: 24px;
}

/* === ИНФОРМАЦИОННЫЕ СТРОКИ === */
.info-line {
  margin: 6px 0;
  font-size: 14px;
}

.value-label {
  font-weight: 600;
  margin-right: 4px;
}

.highlight {
  font-weight: 700;
  color: #87775c;
}

.highlightt {
  font-weight: 700;
  color: #28a745;
}

.highlighttt {
  font-weight: 700;
  color: #d42300;
}

/* === ПРОГРЕСС БАР === */
.progress-bar {
  height: 24px;
  background-color: #e9ecef;
  border-radius: 12px;
  overflow: hidden;
  margin-top: 10px;
}

.progress-bar-inner {
  height: 100%;
  background: linear-gradient(90deg, #28a745, #218838);
  width: 0%;
  text-align: center;
  color: white;
  line-height: 24px;
  font-weight: 600;
  font-size: 14px;
}

/* === ТАБЛИЦА ПЕРЕВОДЧИКОВ === */
table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

th, td {
  padding: 10px;
  border: 1px solid #dee2e6;
  text-align: center;
}

th {
  background-color: #007bff;
  color: white;
  font-weight: 600;
}

.row-green { background-color: #d4edda; }
.row-yellow { background-color: #fff3cd; }
.row-red { background-color: #f8d7da; }

/* === TOP 3 BALANCE === */
.top-list {
  list-style: none;
  padding-left: 0;
  font-size: 18px;
  font-weight: 800;
}

.top-list li {
  margin: 10px 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

.top-list .medal {
  font-size: 25px;
  width: 25px;
}

.top-list span {
  color: #000;
  font-size: 16px;
}

/* === ПОДРОБНОСТИ === */
.details-row td {
  background-color: #f9f9f9;
  font-size: 12px;
  text-align: left;
  padding: 12px;
}

.inner-details-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 10px;
  font-size: 13px;
}

.inner-details-table th {
  background-color: #f1f1f1;
  padding: 6px;
  color: #003366;
  font-weight: 700;
  text-align: left;
  border: 1px solid #ddd;
}

.inner-details-table td {
  padding: 6px 8px;
  border: 1px solid #ddd;
  background: #fff;
}

.low-performance,
.good-performance {
  font-weight: 600;
  color: #000 !important;
}

.low-performance {
  background-color: #f8d7da !important;
}

.good-performance {
  background-color: #d4edda !important;
}

/* === СРЕДНИЙ ЧЕК === */
.avg-card.compact-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  text-align: center;
  padding: 30px 20px;
  min-height: 170px;
}

.avg-card.compact-card h3 {
  font-size: 24px;
  margin-bottom: 10px;
  color: white;
}

.avg-card.compact-card .avg-amount {
  font-size: 36px;
  font-weight: 800;
  color: white;
}

.avg-card {
  text-align: center;
  background: linear-gradient(135deg, #007bff 0%, #00c6ff 100%);
  color: white;
  padding: 30px 20px;
  border-radius: 16px;
  box-shadow: 0 4px 16px rgba(0, 123, 255, 0.2);
}

.avg-card h2 {
  font-size: 24px;
  margin-bottom: 16px;
  color: white;
  text-align: center;
}

.avg-amount {
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.5px;
}

.top-compact {
  display: flex;
  gap: 20px;
  justify-content: space-between;
  margin-bottom: 30px;
  flex-wrap: wrap;
}

.compact-card {
  flex: 1 1 0;
  min-width: 280px;
}

.tables-row {
  display: flex;
  gap: 20px;
  margin-top: 30px;
  flex-wrap: wrap;
}

.translator-table {
  flex: 2;
  min-width: 600px;
}

.kpd-table {
  flex: 1;
  min-width: 300px;
}

.compact-card h2 {
  font-size: 22px;
}

.compact-card .info-line {
  font-size: 16px;
}

.compact-card .highlight,
.compact-card .highlightt,
.compact-card .highlighttt {
  font-size: 18px;
}

.compact-card h2 {
  font-size: 24px;
}

.row-blue {
  background-color: #cce5ff !important; /* Светло-синий */
}
