.page_wrapper {
  padding: 16px;
  font-family: 'SFProText Regular', 'Source Sans Pro', sans-serif;

  :global(.ant-btn) {
    border-radius: 18px;
  }

  :global(.ant-btn-primary) {
    background-color: #c91761;
    border-color: #c91761;
    &:hover,
    &:focus {
      background-color: #a8104f;
      border-color: #a8104f;
    }
  }

  :global(.ant-input-search-button) {
    border-radius: 0 18px 18px 0 !important;
  }

  :global(.ant-input-affix-wrapper),
  :global(.ant-input) {
    border-radius: 18px;
  }

  :global(.ant-input-group .ant-input) {
    border-radius: 18px 0 0 18px;
  }

  :global(.ant-select-selector) {
    border-radius: 18px !important;
  }

  :global(.ant-tabs-tab) {
    background-color: #fefefe;
    color: #344054;
    border-radius: 18px 18px 0 0;
    padding: 8px 18px !important;
    margin: 0 4px 0 0 !important;
    transition: all 0.2s;

    &:hover {
      background-color: #f0f0ff;
      color: #c91761 !important;
    }
  }

  :global(.ant-tabs-tab-active) {
    background-color: #fff3f8 !important;

    :global(.ant-tabs-tab-btn) {
      color: #c91761 !important;
      font-weight: 600;
    }
  }

  :global(.ant-tabs-ink-bar) {
    background: #c91761 !important;
  }
}

.page_header_row {
  margin-bottom: 16px;
}

.page_title {
  font-size: 20px;
  font-weight: 700;
  margin: 0;
  color: #c91761;
  font-family: 'SFProText Bold', 'Source Sans Pro', sans-serif;
}

.cards_row {
  margin-bottom: 16px;
}

.info_card {
  cursor: pointer;
  border-radius: 18px;
  border: 1px solid #f0f0f0;
  transition:
    box-shadow 0.2s,
    transform 0.15s;

  &:hover {
    box-shadow: 0 4px 16px rgba(201, 23, 97, 0.18);
    transform: translateY(-1px);
  }

  :global(.ant-card-body) {
    padding: 14px 18px;
  }

  :global(.ant-statistic-title) {
    font-size: 12px;
    margin-bottom: 4px;
    color: #595959;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 600;
  }

  :global(.ant-statistic-content-value) {
    font-size: 24px;
    font-weight: 700;
  }
}

.card_orange {
  border-top: 3px solid #fa8c16;

  :global(.ant-statistic-content-value) {
    color: #fa8c16;
  }
}

.card_green {
  border-top: 3px solid #52c41a;

  :global(.ant-statistic-content-value) {
    color: #52c41a;
  }
}

.card_blue {
  border-top: 3px solid #1890ff;

  :global(.ant-statistic-content-value) {
    color: #1890ff;
  }
}

.card_grey {
  cursor: pointer;
  border-top: 3px solid #bfbfbf;

  :global(.ant-statistic-title) { color: #8c8c8c; }
  :global(.ant-statistic-content-value) { color: #8c8c8c; }
}

.tab_slicer {
  margin-bottom: 0;
}

.toolbar_row {
  margin-bottom: 12px;
  margin-top: 8px;
  padding: 10px 14px;
  background: #fff;
  border-radius: 18px;
  border: 1px solid #f0f0f0;
}

.selection_badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  background: #fff3f8;
  color: #c91761;
  border-radius: 18px;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
  line-height: 1.5;
  border: 1px solid #ffd6e7;
}

.inactive_row {
  background: #fafafa;
  opacity: 0.65;
}

@keyframes row_flash {
  0%   { background-color: #fff3f8; }
  100% { background-color: transparent; }
}

.row_highlight {
  :global(td.ant-table-cell) {
    animation: row_flash 2s ease-out forwards !important;
  }
}

.table_locked {
  :global(.ant-table-column-has-sorters) {
    pointer-events: none;
    opacity: 0.55;
  }
}

.log_table {
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid #f0f0f0;

  :global(.ant-table-thead > tr > th) {
    background: #c91761;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    padding: 9px 12px;
    white-space: nowrap;
    border-bottom: none;

    &::before {
      display: none;
    }
  }

  :global(.ant-table-tbody > tr > td) {
    font-size: 12px;
    padding: 7px 12px;
    border-bottom: 1px solid #f5f5f5;
    vertical-align: top;
    color: #333;
  }

  :global(.ant-table-tbody > tr:nth-child(even) > td) {
    background: #fafafa;
  }

  :global(.ant-table-tbody > tr:hover > td) {
    background: #fff0f6 !important;
  }

  :global(.ant-table-tbody > tr:last-child > td) {
    border-bottom: none;
  }

  :global(.ant-empty-description) {
    color: #8c8c8c;
    font-size: 12px;
  }
}

/* ── Tablet & mobile responsive ── */

@media (max-width: 768px) {
  .page_wrapper {
    padding: 8px;
  }

  .page_title {
    font-size: 16px;
  }

  .toolbar_row {
    flex-direction: column;
    align-items: stretch;

    :global(.ant-col) {
      width: 100%;
    }

    :global(.ant-space) {
      flex-wrap: wrap;
      width: 100%;
    }
  }
}

@media (max-width: 576px) {
  .cards_row {
    :global(.ant-col-sm-6) {
      flex: 0 0 50% !important;
      max-width: 50% !important;
    }
  }

  .tab_slicer {
    :global(.ant-tabs-nav-wrap) {
      overflow-x: auto;
    }
  }
}
