/* «Хранение и удаление данных» (#68237250). С W11 (#71720631) экран собран
   из кита: шапка `.dash-head`, вкладки `.tabs` + `UI.bindRovingTabs`, блоки
   `.card.card-p` + `.dash-panel__head`, плитки `.stat-grid--compact`, строки
   `.item-list > .item-card`, таблицы `.table` в `.table-scroll`, поля `.field`,
   пусто — `.empty-state--compact`, сбой — `.alert-danger` + «Повторить».
   Здесь — только раскладка внутри строк и то, чего в ките нет. */
.admin-retention { padding-bottom: 56px; }
.admin-retention :where(p, span, strong, td, th, dd) { overflow-wrap: anywhere; }
.admin-retention__notice { margin: 20px 0; padding: 14px 16px; border: 1px solid; border-color: var(--accent); border-radius: 12px; background: var(--accent-soft); color: var(--on-accent-soft); }
/* Без анимации цвета: страж фокуса (test_focus_rest_canon) сравнивает цвет
   вкладки до и после фокуса и ловил середину перехода кита. */
#retention-tabs { margin-bottom: 0; }
#retention-tabs .tab { transition: none; }
.admin-retention :focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px; }
.admin-retention__panel { min-height: 280px; padding-top: 24px; }
.admin-retention__refreshing { position: relative; }
.admin-retention__refreshing::after { content: "Обновляем…"; position: absolute; z-index: 2; top: 6px; right: 6px; padding: 4px 9px; border: 1px solid var(--border-light); border-radius: 999px; background: var(--surface-raised); color: var(--text-muted); box-shadow: var(--sh1); font-size: 12px; font-weight: 700; line-height: 1.2; pointer-events: none; }
.stat-card__value.admin-retention__metric { font-size: var(--fs-h3); overflow-wrap: anywhere; }
.admin-retention__section { margin-top: 20px; }
.admin-retention__section-head { align-items: flex-start; gap: 16px; }
.admin-retention__card { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.admin-retention__card span, .admin-retention__card small, .admin-retention__policy span { display: block; color: var(--text-muted); font-size: 13px; }
.admin-retention__card strong { display: block; margin-bottom: 4px; color: var(--text-strong); }
.admin-retention td small { display: block; margin-top: 4px; color: var(--text-muted); }
.admin-retention__filters { grid-template-columns: repeat(2, minmax(0, 260px)); align-items: end; margin-bottom: 18px; }
.admin-retention__hold-form { display: grid; gap: 14px; }
.admin-retention__preview { padding: 12px; border: 1px solid var(--border-light); border-radius: 10px; background: var(--surface-sunken); color: var(--text); font-size: 13px; }
.admin-retention__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.admin-retention__pagination { display: flex; justify-content: center; align-items: center; gap: 14px; margin-top: 16px; }
.admin-retention__policy dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 16px 0 0; }
.admin-retention__policy dl div { min-width: 0; }
.admin-retention__policy dt { color: var(--text-muted); font-size: 12px; }
.admin-retention__policy dd { margin: 4px 0 0; color: var(--text); }
.admin-retention__muted { color: var(--text-muted); }

@media (max-width: 900px) {
  .admin-retention__policy dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .admin-retention__section-head, .admin-retention__card { align-items: stretch; flex-direction: column; }
  .admin-retention__actions { justify-content: stretch; }
  .admin-retention__actions .btn, .admin-retention__section-head > .btn { width: 100%; }
  .admin-retention__filters, .admin-retention__policy dl { grid-template-columns: 1fr; }
  .admin-retention__panel { padding-top: 18px; }
  .admin-retention__pagination { justify-content: space-between; }
}
