/* ВРЕМЕННЫЕ мосты для непереведённой разметки (спека §2.6, STY-07). Ровно четыре группы правил и
   ничего постоянного: файл удаляется на ступени 6 (MIG-12) вместе со своим <link> в App.razor.
   Мигрированные страницы классы отсюда не используют (MIG-02). */

/* ─── Группа 1. Бейджи: пять тонов сразу ────────────────────────────────────
   !important обязателен: .bg-* и .text-dark в Bootstrap сами !important; составной селектор
   выигрывает специфичностью (в том числе у «badge bg-warning text-dark»).
   Мост сопоставляет класс, а не смысл — смысловые тоны появляются при миграции страницы. */
.badge.bg-success {
  background-color: var(--egl-ok-soft) !important;
  color: var(--egl-ok) !important;
}
.badge.bg-primary, .badge.bg-info {
  background-color: var(--egl-info-soft) !important;
  color: var(--egl-info) !important;
}
.badge.bg-warning {
  background-color: var(--egl-warn-soft) !important;
  color: var(--egl-warn) !important;
}
.badge.bg-danger {
  background-color: var(--egl-danger-soft) !important;
  color: var(--egl-danger) !important;
}
.badge.bg-secondary, .badge.bg-light, .badge.bg-dark {
  background-color: var(--egl-neutral-soft) !important;
  color: var(--egl-neutral) !important;
}

/* ─── Группа 2. Подложка самодельных модалок «modal … d-block» ───────────────
   Перебивает встроенный style="background:rgba(0,0,0,.5)". */
.modal.d-block {
  background-color: var(--egl-scrim) !important;
}

/* ─── Группа 3. Тумблер form-switch до замены на EglSwitch ───────────────────
   Белая ручка — для всех состояний: Bootstrap в тёмной теме подменяет её селектором
   [data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus), отсюда !important. */
.form-switch .form-check-input {
  width: 36px;
  height: 20px;
  margin-top: 0;
  background-color: var(--egl-line-2);
  border-color: var(--egl-line-2);
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e") !important;
}
.form-switch .form-check-input:checked {
  background-color: var(--egl-accent);
  border-color: var(--egl-accent);
}

/* ─── Группа 4. Бывшие классы общего файла стилей на токенах ─────────────────────────────
   Геометрия прежняя, меняются только цвета и шрифты. */

/* Единая панель действий модалки (кнопки внизу формы) */
.modal-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  margin-top: 1.25rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--egl-line);
}

/* Сортируемые заголовки таблиц */
th.sortable {
  cursor: pointer;
  white-space: nowrap;
  user-select: none;
}
th.sortable:hover {
  background-color: var(--egl-hover);
}

/* Карточка экземпляра маркета */
.modal-dialog.modal-package { max-width: 1240px; }

.pkg-tag {
  font-family: var(--egl-font-mono);
  font-size: calc(12px * var(--egl-font-scale));
  font-weight: 600;
  color: var(--egl-accent);
  background: var(--egl-accent-soft);
  border-radius: 6px;
  padding: 2px 8px;
  white-space: nowrap;
}

/* Условие ПО: селект + значение поровну */
.pkg-cond .form-select,
.pkg-cond .form-control { flex: 1 1 0; min-width: 0; }
.pkg-cond .form-control { text-align: center; }

/* Сегментированный переключатель источника файла */
.segmented {
  display: flex;
  width: 100%;
  background: var(--egl-head);
  border: 1px solid var(--egl-line);
  border-radius: 7px;
  padding: 3px;
  gap: 3px;
}
.segmented .seg {
  flex: 1 1 0;
  border: 0;
  background: transparent;
  font-size: calc(14px * var(--egl-font-scale));
  font-weight: 500;
  color: var(--egl-muted);
  padding: 6px 10px;
  border-radius: 5px;
  cursor: pointer;
  transition: background-color 0.15s, color 0.15s;
}
.segmented .seg:hover { color: var(--egl-text); }
.segmented .seg.active {
  background: var(--egl-surface);
  color: var(--egl-text);
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(var(--egl-text-rgb), .12);
}

/* Чек-лист групп устройств */
.checklist {
  border: 1px solid var(--egl-line-2);
  border-radius: 7px;
  background: var(--egl-inset);
  max-height: 150px;
  overflow-y: auto;
  padding: 4px;
}
.checklist .chk {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 9px;
  margin: 0;
  border-radius: 6px;
  cursor: pointer;
  font-size: calc(14.4px * var(--egl-font-scale));
}
.checklist .chk:hover { background: var(--egl-hover); }
.checklist .chk input { width: 16px; height: 16px; margin: 0; flex: none; }

/* Тонкая подпись группы полей */
.field-cap { display: block; font-size: calc(12px * var(--egl-font-scale)); color: var(--egl-muted); margin-bottom: 6px; }

/* Текущий загруженный файл APK */
.stored-file {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--egl-line);
  border-radius: 7px;
  background: var(--egl-accent-soft);
  padding: 8px 12px;
}
.stored-file .sf-icon { font-size: calc(20px * var(--egl-font-scale)); color: var(--egl-accent); flex: none; }
.stored-file .sf-body { min-width: 0; flex: 1 1 auto; }
.stored-icon-thumb {
  width: 40px;
  height: 40px;
  object-fit: contain;
  border-radius: 6px;
  background: var(--egl-surface);
  border: 1px solid var(--egl-line);
  flex: none;
}

/* Иконка приложения в строке таблицы маркета */
.app-row-icon {
  width: 28px;
  height: 28px;
  object-fit: contain;
  border-radius: 6px;
  background: var(--egl-surface);
  border: 1px solid var(--egl-line);
  flex: none;
}
.app-row-icon--empty {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--egl-off);
  background: var(--egl-head);
}
