/* ============================================================
   АДМИН-ПАНЕЛЬ
   ============================================================ */

/* ---- Быстрые ссылки ---- */
.links-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.links-actions button {
  min-width: 220px;
  min-height: 44px;
  font-size: 14px;
}

/* ---- Сетка выгрузки ---- */
.export-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.export-block {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #FFFFFF;
  display: flex;
  flex-direction: column;
  transition: border-color .15s ease;
}
.export-block:hover { border-color: var(--sandstone); }

.export-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--clove);
  margin-bottom: 4px;
  letter-spacing: -.1px;
}
.export-desc {
  font-size: 13px;
  color: var(--muted);
  margin-bottom: 14px;
  line-height: 1.45;
  flex: 1;
}
.export-block button { width: 100%; min-height: 44px; }

@media (max-width: 1100px) {
  .export-grid { grid-template-columns: 1fr; }
  .links-actions { flex-direction: column; }
  .links-actions button { width: 100%; min-width: 0; }
}

/* ============================================================
   ★ Блок «Отчёты (Excel)»: месяц + кнопки в одну строку
   ============================================================ */
#reportsCard .rep-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: flex-end;
  margin-bottom: 12px;
}
#reportsCard .rep-month-field {
  flex: 0 0 220px;
  min-width: 0;
}
#reportsCard .rep-month-field select {
  width: 100%;
  min-width: 0;
}
#reportsCard .rep-buttons {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: flex-end;
}
#reportsCard .rep-buttons > button { flex: 0 0 auto; }

@media (max-width: 900px) {
  #reportsCard .rep-month-field { flex: 1 1 100%; }
  #reportsCard .rep-buttons > button { flex: 1 1 calc(50% - 5px); }
}
@media (max-width: 560px) {
  #reportsCard .rep-buttons > button { flex: 1 1 100%; }
}

/* ============================================================
   НАПОМИНАНИЯ: баннер менеджера
   ============================================================ */
.missing-banner {
  border: 1px solid rgba(248, 96, 74, 0.35);
  background: #FFFFFF;
  border-radius: var(--radius);
  padding: 16px 18px;
  margin-bottom: 16px;
}
.missing-banner .mb-title {
  font-weight: 700;
  color: var(--bad);
  margin-bottom: 10px;
}
.missing-banner .mb-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.missing-banner .mb-item {
  background: #FFFFFF;
  color: var(--text);
  border: 1px solid var(--line);
  min-height: 38px;
  padding: 6px 12px;
}
.missing-banner .mb-item:hover {
  background: var(--surface);
  border-color: var(--sandstone);
}
.missing-banner .mb-hint {
  font-size: 12px;
  color: var(--muted);
  margin-top: 10px;
}
#usersBody input { min-height: 34px; padding: 4px 8px; font-size: 13px; }

@media (max-width: 1100px) {
  .missing-banner .mb-item { flex: 1 1 calc(50% - 8px); }
}

/* ============================================================
   ПРИВЯЗКА TELEGRAM
   ============================================================ */
.tg-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  margin-bottom: 16px;
  border: 1px solid var(--line);
  background: #FFFFFF;
  border-radius: var(--radius);
}
.tg-card-title {
  font-weight: 700;
  color: var(--clove);
  margin-bottom: 4px;
}
.tg-card button { min-height: 44px; white-space: nowrap; }
.tg-card a { color: var(--brand); }
#tgHeaderBtn { margin-left: 8px; }

@media (max-width: 1100px) {
  .tg-card { flex-direction: column; align-items: stretch; }
  .tg-card button { width: 100%; }
  #tgHeaderBtn { padding: 6px 10px; font-size: 13px; }
}

/* ============================================================
   ПРИГЛАШЕНИЯ
   ============================================================ */
.inv-tabs { margin-bottom: 14px; }
.bulk-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 6px 16px;
  margin: 10px 0;
  max-height: 340px;
  overflow: auto;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #FAFAFA;
}
.bulk-grid label {
  display: flex;
  gap: 6px;
  align-items: center;
  font-size: 14px;
  margin: 0;
  font-weight: 400;
}
tr.row-pending td { background: var(--warn-bg); }

#reportsCard .table-wrap td { vertical-align: middle; }
.rep-table td:nth-child(2) {
  white-space: normal;
  min-width: 220px;
  max-width: 520px;
  color: var(--muted);
  font-size: 13px;
}
.rep-table td:nth-child(1) { white-space: nowrap; }

/* ★ Отдельные блоки «Сапсан» / «Ласточка» */
.rep-block {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 16px 18px 8px;
  margin-bottom: 16px;
  background: #FFFFFF;
}
.rep-block-title {
  margin: 0 0 12px;
  font-size: 16px;
  font-weight: 700;
  color: var(--clove);
  letter-spacing: -.2px;
}
.rep-empty { padding: 4px 0 12px; }
.rep-old summary {
  cursor: pointer;
  font-weight: 600;
  color: var(--muted);
  padding-bottom: 8px;
}

/* ★ Блок «Пустые файлы на месяц» */
.rep-empty-box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  border: 1px dashed var(--sandstone);
  border-radius: var(--radius);
  padding: 14px 16px;
  margin-bottom: 14px;
  background: #FAFAFA;
}
.rep-empty-box select { min-width: 170px; width: auto; }