/* ============================================================
   TABLES — REDESIGN
   Аддитивный полишинг .table_item и .table_data сетки.
   PHP-разметку не трогаем; только освежаем border, hover,
   typography. Числовые ячейки через `.tnum` (опт-ин).
   ============================================================ */

/* --- .table_item: компактные строки, единый hover --- */
.table_item {
  font-family: var(--erpds-sans);
  font-size: 12.5px;
  border-collapse: collapse;
  line-height: 1.5;
}
.table_item td {
  padding: 5px 7px !important;
  border-bottom: 1px solid var(--erpds-border) !important;
  vertical-align: middle;
  color: var(--erpds-text);
}
.table_item tr:last-child td {
  border-bottom: none !important;
}
.table_item_white,
.table_item_gray {
  transition: background-color 0.10s ease;
}
.table_item_white:not([style]):hover,
.table_item_gray:not([style]):hover {
  background: var(--erpds-bg-2) !important;
  color: var(--erpds-text) !important;
}
/* Строки с inline-цветом тега/метки (data-color из настроек) — серый hover
   затирал бы цвет; вместо него лёгкое затемнение, оттенок сохраняется. */
.table_item[style]:hover {
  filter: brightness(0.93);
}
.table_item_white {
  background: var(--erpds-surface);
}
.table_item_gray {
  background: var(--erpds-surface-2);
}
.table_item_total {
  background: var(--erpds-accent-soft) !important;
  color: var(--erpds-accent-text) !important;
  font-weight: 600;
}
.table_item_total td,
.table_item tr.table_item_total td {
  border-top: 2px solid var(--erpds-border-strong, #C4CAD4) !important;
}
/* Mono цифры только если ряд явно помечен (опт-ин), чтобы не уродовать
   total-ряды с буквенными значениями («Итого: НЕТ»). */
.table_item_total.tnum,
.table_item_total .tnum {
  font-family: var(--erpds-mono);
  font-feature-settings: "tnum";
}

/* Заголовок таблицы (th) — единый стиль если используется */
.table_item th,
.table_table.table_list_data .table_legend td,
.table_data .legend > div {
  font-family: var(--erpds-sans);
  font-size: 11.5px !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.045em;
  color: var(--erpds-text-faint) !important;
  text-align: left;
  background: var(--erpds-bg-2);
  padding: 7px 7px;
  border-bottom: 2px solid var(--erpds-border-strong) !important;
}

.table_table.table_list_data {
  color: var(--erpds-text);
  border-collapse: collapse;
}

.erpds-object-mark-page {
  width: min(100%, 1040px);
}

.erpds-object-mark-toolbar {
  display: flex;
  align-items: center;
  margin: 0 0 10px;
}

.erpds-object-mark-table-wrap {
  width: 100%;
  padding: 10px;
  overflow-x: auto;
  border: 1px solid var(--erpds-border, #DDE1E8);
  border-radius: var(--erpds-radius-sm, 8px);
  background: var(--erpds-bg-2, #F2F4F7);
}

.table_table.table_list_data.erpds-object-mark-table {
  width: 100%;
  min-width: 560px;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0 6px;
}

.table_table.table_list_data.erpds-object-mark-table .table_legend td {
  padding: 0 14px 4px !important;
  border-bottom: 0 !important;
  background: transparent;
}

.table_table.table_list_data.erpds-object-mark-table .table_legend td:first-child,
.table_table.table_list_data.erpds-object-mark-table td:first-child {
  width: 70px;
  text-align: center;
}

.table_table.table_list_data.erpds-object-mark-table--with-image .table_legend td:nth-child(2),
.table_table.table_list_data.erpds-object-mark-table--with-image td:nth-child(2) {
  width: 64px;
  text-align: center;
}

.table_table.table_list_data.erpds-object-mark-table tr.table_item {
  overflow: hidden;
  filter: drop-shadow(0 1px 1px rgba(15, 23, 42, 0.12));
}

.table_table.table_list_data.erpds-object-mark-table tr.table_item[style] td {
  background: inherit;
  color: inherit;
}

.table_table.table_list_data.erpds-object-mark-table tr.table_item td {
  padding: 8px 14px !important;
  border-bottom: 0 !important;
  font-weight: 600;
  line-height: 1.35;
}

.table_table.table_list_data.erpds-object-mark-table tr.table_item td:first-child {
  border-radius: 7px 0 0 7px;
  font-family: var(--erpds-mono);
  font-size: 12px;
  font-feature-settings: "tnum";
  opacity: 0.86;
}

.table_table.table_list_data.erpds-object-mark-table tr.table_item td:last-child {
  border-radius: 0 7px 7px 0;
}

.table_table.table_list_data.erpds-object-mark-table tr.table_item td + td {
  box-shadow: inset 1px 0 0 color-mix(in srgb, currentColor 22%, transparent);
}

.table_table.table_list_data.erpds-object-mark-table tbody tr.table_item td a:not(.button):not(.button_small):not(.button2):not(.erpds-btn) {
  color: inherit !important;
  text-decoration: none;
  text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.table_table.table_list_data.erpds-object-mark-table tbody tr.table_item td a:not(.button):not(.button_small):not(.button2):not(.erpds-btn):hover {
  color: inherit !important;
  text-decoration: underline;
}

.table_table.table_list_data.erpds-object-mark-table tbody tr.table_item:focus-within td {
  background: inherit !important;
  box-shadow: inset 3px 0 0 currentColor;
}

.table_table.table_list_data.erpds-object-mark-table img {
  display: inline-block;
  max-width: 36px;
  max-height: 28px;
  width: auto;
  height: auto;
  object-fit: contain;
  vertical-align: middle;
}

.table_table.table_list_data .table_legend a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--erpds-text-muted) !important;
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

.table_table.table_list_data .table_legend a:hover,
.table_table.table_list_data .table_legend a:focus-visible {
  color: var(--erpds-accent-text) !important;
  border-bottom-color: var(--erpds-accent);
}

.table_table.table_list_data .table_legend a:focus-visible,
.table_table.table_list_data a[id^="linkSort"]:focus-visible {
  outline: 2px solid var(--erpds-focus, #1871a5);
  outline-offset: 2px;
  border-radius: var(--erpds-radius-xs, 4px);
}

.table_table.table_list_data tbody tr.table_item:focus-within td {
  background: color-mix(in srgb, var(--erpds-accent, #1871a5) 7%, var(--erpds-surface)) !important;
  box-shadow: inset 3px 0 0 var(--erpds-focus, #1871a5);
}

.table_table.table_list_data tbody tr.table_item td a:not(.button):not(.button_small):not(.button2):not(.erpds-btn) {
  color: var(--erpds-accent-text);
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--erpds-accent, #1871a5) 28%, transparent);
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
}

.table_table.table_list_data tbody tr.table_item td a:not(.button):not(.button_small):not(.button2):not(.erpds-btn):hover {
  color: var(--erpds-accent);
  text-decoration-color: currentColor;
}

.table_table.table_list_data td.div_right,
.table_table.table_list_data td.num,
.table_table.table_list_data .tnum {
  white-space: nowrap;
}

/* Employee task summary: no action column, stable numeric columns. */
.table_table.table_list_data.employee-task-report-all-table {
  table-layout: fixed;
}
.table_table.table_list_data.employee-task-report-all-table .table_legend td:nth-child(2),
.table_table.table_list_data.employee-task-report-all-table .table_legend td:nth-child(3) {
  text-align: right;
}
.table_table.table_list_data.employee-task-report-all-table .table_legend td:nth-child(4) {
  text-align: center;
}
.table_table.table_list_data.employee-task-report-all-table td:nth-child(2),
.table_table.table_list_data.employee-task-report-all-table td:nth-child(3) {
  font-family: var(--erpds-mono);
  font-feature-settings: "tnum";
}

/* --- .table_data: единая палитра, легче чем дефолт --- */
.table_data {
  width: 100%;
  font-family: var(--erpds-sans);
  font-size: 12.5px;
}
.table_data .report > div,
.table_data .item > div {
  padding: 5px 8px;
  border-bottom: 1px solid var(--erpds-border);
  vertical-align: middle;
  line-height: 1.5;
}
.table_data .white,
.table_data .gray {
  transition: background-color 0.10s ease;
}
.table_data .white {
  background: var(--erpds-surface);
}
.table_data .gray {
  background: var(--erpds-surface-2);
}
.table_data .white:hover,
.table_data .gray:hover {
  background: var(--erpds-bg-2);
}
.table_data .legend {
  background: var(--erpds-bg-2);
}

/* --- Опт-ин tnum для числовых ячеек --- */
td.tnum,
.table_item td.num,
.table_data .num,
.table_data .right_div.num {
  font-family: var(--erpds-mono);
  font-feature-settings: "tnum";
  text-align: right;
}

/* --- Мобилка: dense но читабельный шрифт --- */
@media (max-width: 900px) {
  .table_item,
  .table_data {
    font-size: 13px;
  }
  .table_item td {
    padding: 6px 6px !important;
  }
  .table_data .report > div,
  .table_data .item > div {
    padding: 6px 8px;
  }
  .paging {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }
  .paging .links {
    width: 100%;
    gap: 6px;
  }
  .paging .links a,
  .paging .links .current {
    min-width: 34px;
    height: 34px;
  }
}

@media (max-width: 600px) {
  .table_list_data tr.table_item {
    border-radius: var(--erpds-radius-sm, 8px);
    margin-bottom: 10px;
    padding: 8px 10px;
    background: var(--erpds-surface, #FFFFFF);
    box-shadow: var(--erpds-shadow-sm, 0 1px 2px rgba(15,23,42,0.04));
  }

  .table_list_data tr.table_item_gray {
    background: var(--erpds-surface, #FFFFFF);
  }

  .table_list_data td {
    align-items: flex-start;
    gap: 10px;
    padding: 5px 0 !important;
    font-size: 13px;
    line-height: 1.45;
    overflow-wrap: anywhere;
  }

  .table_list_data td::before {
    flex: 0 0 min(42%, 132px);
    min-width: 0;
    padding-top: 1px;
    color: var(--erpds-text-faint, #6B7280);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
  }

  .table_list_data td[data-label=""]:empty,
  .table_list_data td:empty {
    display: none !important;
  }

  .table_list_data td[data-label=""] {
    justify-content: flex-end;
  }

  .table_list_data td[data-label=""] > a,
  .table_list_data td[data-label=""] > button,
  .table_list_data td[data-label=""] > span {
    margin-left: 4px;
  }

  .table_list_data td.act_color {
    display: none !important;
  }

  .table_list_data td.div_right,
  .table_list_data td.num,
  .table_list_data .tnum {
    white-space: normal;
  }

  .table_list_data td > * {
    min-width: 0;
    max-width: 100%;
  }

  .table_list_data td a,
  .table_list_data td span,
  .table_list_data td b,
  .table_list_data td i {
    overflow-wrap: anywhere;
  }

  .table_list_data td code,
  .table_list_data td pre {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
  }

  .table_list_data td .good_info_text,
  .table_list_data td .bad_info_text,
  .table_list_data td .info_block,
  .table_list_data td .erpds-pill {
    max-width: 100%;
    white-space: normal;
  }

  .table_list_data td .link_dashed,
  .table_list_data td .link_dashed2 {
    max-width: 100%;
    justify-content: flex-start;
  }

  .erpds-object-mark-table-wrap {
    overflow-x: visible;
  }

  .table_table.table_list_data.erpds-object-mark-table {
    min-width: 0;
    table-layout: auto;
  }

  .table_table.table_list_data.erpds-object-mark-table tr.table_item {
    display: grid !important;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 0;
    min-height: 54px;
    padding: 0;
    overflow: hidden;
  }

  .table_table.table_list_data.erpds-object-mark-table td {
    display: flex !important;
    align-items: center;
    min-height: 54px;
    padding: 10px 12px !important;
    border-bottom: 0 !important;
    background: inherit;
  }

  .table_table.table_list_data.erpds-object-mark-table td::before {
    display: none;
  }

  .table_table.table_list_data.erpds-object-mark-table tr.table_item td:first-child {
    grid-column: 1;
    justify-content: center;
    width: auto;
    border-radius: 7px 0 0 7px;
    box-shadow: inset -1px 0 0 color-mix(in srgb, currentColor 22%, transparent);
  }

  .table_table.table_list_data.erpds-object-mark-table tr.table_item td:last-child {
    grid-column: 2;
    border-radius: 0 7px 7px 0;
  }

  .table_table.table_list_data.erpds-object-mark-table tr.table_item td + td {
    box-shadow: none;
  }

  .table_table.table_list_data.erpds-object-mark-table--with-image tr.table_item {
    grid-template-columns: 58px 48px minmax(0, 1fr);
  }

  .table_table.table_list_data.erpds-object-mark-table--with-image tr.table_item td:nth-child(2) {
    grid-column: 2;
    justify-content: center;
  }

  .table_table.table_list_data.erpds-object-mark-table--with-image tr.table_item td:last-child {
    grid-column: 3;
  }

  .table_table.table_list_data.erpds-object-mark-table--with-image td:nth-child(2):not(:has(img)) {
    display: none !important;
  }

  .table_table.table_list_data.erpds-object-mark-table--with-image td:nth-child(2):has(img) {
    justify-content: flex-start;
  }
}

/* --- Action-кнопки списочных страниц: Фильтр, Групповые действия --- */
#linkAddMenuFilterId,
#linkGroupActionId {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  margin-right: 8px;
  border: 1px solid var(--erpds-border, #d8dde3);
  border-radius: var(--erpds-radius-sm, 6px);
  background: var(--erpds-surface, #fff);
  color: var(--erpds-text, #1f2937);
  font-size: 13px;
  font-weight: 500;
  text-decoration: none !important;
  border-bottom: 1px solid var(--erpds-border, #d8dde3) !important;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
  line-height: 1.4;
  cursor: pointer;
}
#linkAddMenuFilterId:hover,
#linkGroupActionId:hover {
  background: var(--erpds-bg-2, #f3f6fa);
  border-color: var(--erpds-accent, #3b82f6);
  color: var(--erpds-accent, #3b82f6);
}
#linkAddMenuFilterId:focus-visible,
#linkGroupActionId:focus-visible {
  outline: 2px solid var(--erpds-accent, #3b82f6);
  outline-offset: 2px;
}
#linkAddMenuFilterId .us-icon,
#linkGroupActionId .us-icon {
  font-size: 14px;
  margin-right: 0;
}
/* Шеврон-индикатор раскрытия фильтра: приглушён, при hover — акцент */
#linkAddMenuFilterId .erpds-filter-summary__chevron {
  margin-left: 2px;
  font-size: 11px;
  color: var(--erpds-text-muted, #6b7280);
}
#linkAddMenuFilterId:hover .erpds-filter-summary__chevron {
  color: var(--erpds-accent, #3b82f6);
}
#linkAddMenuFilterId span,
#linkGroupActionId span {
  border-bottom: none !important;
}
#divGroupActionId.div_space {
  display: inline-block;
  margin-bottom: 8px;
}

@media (max-width: 900px) {
  .erpds-tasklist-controls {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 6px;
    margin: 4px 0 8px;
  }

  #div_filter2_id:empty {
    display: none;
  }

  .erpds-tasklist-controls #div_filter2_id:not([style]) {
    display: none;
  }

  .erpds-tasklist-controls #div_filter2_id,
  .erpds-tasklist-controls #divGroupAction2Id {
    flex: 1 0 100%;
  }

  .erpds-tasklist-controls #formGroupAction {
    flex: 0 0 auto;
    width: auto;
    margin: 0;
  }

  #div_filter1_id.erpds-filter-summary,
  #divGroupActionId.div_space {
    display: inline-flex;
    vertical-align: top;
    width: auto;
    max-width: 100%;
    margin: 4px 6px 8px 0;
  }

  #linkAddMenuFilterId,
  #linkGroupActionId {
    min-height: 34px;
    margin-right: 0;
    padding: 5px 10px;
    white-space: nowrap;
  }
}

#divGroupAction2Id.gray_block,
[id^="filter_selector_body_parent_"] {
  border: 1px solid var(--erpds-border, #DDE1E8);
  border-radius: var(--erpds-radius-sm, 8px);
  background: var(--erpds-surface, #FFFFFF);
  box-shadow: var(--erpds-shadow-sm, 0 1px 2px rgba(15,23,42,0.04));
}

#divGroupAction2Id.gray_block {
  padding: 10px 12px;
}

#divGroupAction2Id select,
#divGroupAction2Id input,
#divGroupAction2Id button,
[id^="filter_selector_body_parent_"] select,
[id^="filter_selector_body_parent_"] input,
[id^="filter_selector_body_parent_"] button {
  max-width: 100%;
}

[id^="filter_selector_body_parent_"] {
  margin: 6px 0;
}

[id^="filter_selector_body_parent_"] > div {
  min-width: 0;
}

[id^="filter_selector_body_parent_"] a:focus-visible {
  outline: 2px solid var(--erpds-focus, #1871a5);
  outline-offset: 2px;
  border-radius: var(--erpds-radius-xs, 4px);
}

/* --- Пагинация .paging .links: chip-buttons --- */
.paging {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0;
  padding: 10px 0 0;
  border-top: 1px solid var(--erpds-border, #d8dde3);
  font-size: 13px;
  color: var(--erpds-text-muted, #6b7280);
  line-height: 1.4;
}
.paging .links {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  margin-left: 0;
}
.paging .links a,
.paging .links .current {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  padding: 0 8px;
  border: 1px solid var(--erpds-border, #d8dde3);
  border-radius: var(--erpds-radius-sm, 6px);
  background: var(--erpds-surface, #fff);
  color: var(--erpds-text, #1f2937);
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  line-height: 1;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.paging .links a:hover {
  background: var(--erpds-bg-2, #f3f6fa);
  border-color: var(--erpds-accent, #3b82f6);
  color: var(--erpds-accent, #3b82f6);
}
.paging .links a:focus-visible {
  outline: 2px solid var(--erpds-accent, #3b82f6);
  outline-offset: 2px;
}
.paging .links .current {
  background: var(--erpds-accent, #3b82f6);
  border-color: var(--erpds-accent, #3b82f6);
  color: #fff;
  font-weight: 700;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.16), 0 1px 2px rgba(15,23,42,0.08);
  cursor: default;
}
/* Эллипсис "..." — не chip, обычный текст */
.paging .links .current:not(:only-child) {
  /* numeric current still chip */
}
.paging .links a.page-right {
  background: transparent;
  border-color: transparent;
  color: var(--erpds-text-muted, #6b7280);
}
.paging .links a.page-right:hover {
  background: var(--erpds-bg-2, #f3f6fa);
  border-color: var(--erpds-border, #d8dde3);
  color: var(--erpds-text, #1f2937);
}

@media (max-width: 900px) {
  .paging {
    gap: 10px;
    overflow: hidden;
  }

  .paging .links {
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 2px 6px;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
  }

  .paging .links a,
  .paging .links .current {
    flex: 0 0 auto;
    min-width: 40px;
    min-height: 40px;
    height: 40px;
    padding: 0 12px;
    border-radius: 10px;
    font-size: 14px;
    scroll-snap-align: start;
  }
}

/* --- Sort-affordance: faint иконка у sortable headers без активной сортировки --- */
.table_table.table_list_data thead a[id^="linkSort"]::after,
.table_table.table_list_data th a[id^="linkSort"]::after,
.table_table.table_list_data tr.table_item a[id^="linkSort"]::after {
  content: '\f0dc';
  font-family: 'FontAwesome';
  margin-left: 6px;
  opacity: 0.25;
  font-size: 10px;
  font-weight: normal;
  vertical-align: 1px;
}
.table_table.table_list_data a[id^="linkSort"]:has(~ i.fa-caret-up)::after,
.table_table.table_list_data a[id^="linkSort"]:has(~ i.fa-caret-down)::after {
  display: none;
}
.table_table.table_list_data a[id^="linkSort"]:hover::after {
  opacity: 0.6;
}

.table_table.table_list_data a[id^="linkSort"] {
  min-height: 24px;
  padding: 2px 3px;
  border-radius: var(--erpds-radius-xs, 4px);
}

.table_table.table_list_data i.fa-caret-up,
.table_table.table_list_data i.fa-caret-down {
  margin-left: 5px;
  color: var(--erpds-accent, #1871a5);
  font-size: 12px;
}

/* --- Универсальная "Добавить" CTA (#linkAddId на 35 списочных страницах) --- */
.div_space > #linkAddId,
#linkAddId {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  background: var(--main-color);
  color: #fff !important;
  border: 1px solid var(--main-color);
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none !important;
  line-height: 1.4;
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.06s ease;
}
#linkAddId:hover {
  background: var(--main-color-button-hover);
  border-color: var(--main-color-button-hover);
  color: #fff !important;
}
#linkAddId:active {
  transform: translateY(1px);
}
#linkAddId:focus-visible {
  outline: 2px solid var(--erpds-accent, #1871a5);
  outline-offset: 2px;
}
#linkAddId .us-icon {
  margin-right: 0;
  font-size: 13px;
  color: #fff;
}

/* --- Status-strip .act_color: slim rounded pill вместо full-height блока ---
   Семантика сохранена: .ok = зелёный (активен), .bad = красный (неактивен).
   Декоративный .arrow (CSS-треугольник, дублирует цвет) скрыт; сигнал несёт пилюля. */
.table_list_data td.act_color {
  background: transparent !important;
  width: 8px;
  min-width: 8px;
  padding: 0 !important;
  position: relative;
  overflow: visible;
}
.table_list_data td.act_color .arrow {
  display: none;
}
.table_list_data td.act_color::before {
  content: '';
  position: absolute;
  top: 6px;
  bottom: 6px;
  left: 50%;
  transform: translateX(-50%);
  width: 6px;
  border-radius: 3px;
  background: var(--erpds-border, #DDE1E8);
  transition: transform 180ms ease, opacity 180ms ease, box-shadow 180ms ease;
}
.table_list_data td.act_color.ok::before {
  background: var(--erpds-ok, #2E8540);
  box-shadow:
    0 0 0 1px rgba(46, 133, 64, 0.16),
    0 0 10px rgba(46, 133, 64, 0.24);
  animation: erpds-activity-strip 2.8s ease-in-out infinite;
}
.table_list_data td.act_color.ok::after {
  content: '';
  position: absolute;
  top: 2px;
  bottom: 2px;
  left: 50%;
  width: 10px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.12) 12%,
    rgba(244, 255, 246, 0.54) 28%,
    rgba(255, 255, 255, 0.9) 44%,
    rgba(229, 255, 235, 0.66) 58%,
    rgba(255, 255, 255, 0.14) 76%,
    rgba(255, 255, 255, 0) 100%
  );
  opacity: 0;
  filter: blur(0.7px);
  pointer-events: none;
  animation: erpds-activity-strip-sheen 4.8s cubic-bezier(0.22, 0.61, 0.36, 1) infinite;
}
.table_list_data td.act_color.bad::before {
  background: var(--erpds-bad, #B62A26);
  opacity: 0.88;
}

.table_list_data tr:hover td.act_color.ok::before {
  transform: translateX(-50%) scaleY(1.08);
  box-shadow:
    0 0 0 1px rgba(46, 133, 64, 0.22),
    0 0 14px rgba(46, 133, 64, 0.32);
}

@keyframes erpds-activity-strip {
  0%, 100% {
    opacity: 0.82;
    transform: translateX(-50%) scaleY(0.96);
    box-shadow:
      0 0 0 1px rgba(46, 133, 64, 0.14),
      0 0 8px rgba(46, 133, 64, 0.12);
  }
  50% {
    opacity: 0.96;
    transform: translateX(-50%) scaleY(1.04);
    box-shadow:
      0 0 0 1px rgba(46, 133, 64, 0.2),
      0 0 12px rgba(46, 133, 64, 0.22);
  }
}

@keyframes erpds-activity-strip-sheen {
  0% {
    opacity: 0;
    clip-path: inset(-10% 0 92% 0 round 999px);
  }
  20% {
    opacity: 0.18;
  }
  46% {
    opacity: 0.52;
  }
  74% {
    opacity: 0.28;
  }
  100% {
    opacity: 0;
    clip-path: inset(92% 0 -10% 0 round 999px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .table_list_data td.act_color.ok::before,
  .table_list_data td.act_color.ok::after {
    animation: none;
  }
  .table_list_data td.act_color.ok::before {
    opacity: 1;
    transform: translateX(-50%);
  }
  .table_list_data td.act_color.ok::after {
    display: none;
  }
}
