/* Global overrides to ensure project styles take precedence */
.ant-card .ant-card-body {
  padding: 15px !important;
  border-radius: 0 0 12px 12px !important;
}

/* Apply dark-theme zebra when the app sets a dark theme via body/data attribute */
[data-theme="dark"] .ant-table-wrapper .ant-table-tbody > tr:nth-child(odd) > td.ant-table-cell,
[data-theme="dark"] .ant-table-wrapper .ant-table-tbody > tr.ant-table-row:nth-child(odd) > td.ant-table-cell,
[data-theme="dark"] [class*="css-dev-only-do-not-override"] .ant-table-wrapper .ant-table-tbody > tr:nth-child(odd) > td.ant-table-cell,
body.dark .ant-table-wrapper .ant-table-tbody > tr:nth-child(odd) > td.ant-table-cell,
.theme-dark .ant-table-wrapper .ant-table-tbody > tr:nth-child(odd) > td.ant-table-cell {
  background-color: rgba(255,255,255,0.04) !important;
}
[data-theme="dark"] .ant-table-wrapper .ant-table-tbody > tr:nth-child(even) > td.ant-table-cell,
[data-theme="dark"] .ant-table-wrapper .ant-table-tbody > tr.ant-table-row:nth-child(even) > td.ant-table-cell,
[data-theme="dark"] [class*="css-dev-only-do-not-override"] .ant-table-wrapper .ant-table-tbody > tr:nth-child(even) > td.ant-table-cell,
body.dark .ant-table-wrapper .ant-table-tbody > tr:nth-child(even) > td.ant-table-cell,
.theme-dark .ant-table-wrapper .ant-table-tbody > tr:nth-child(even) > td.ant-table-cell {
  background-color: rgba(255,255,255,0.02) !important;
}
[data-theme="dark"] .ant-table-wrapper .ant-table-tbody > tr:hover > td.ant-table-cell,
[data-theme="dark"] .ant-table-wrapper .ant-table-tbody > tr.ant-table-row:hover > td.ant-table-cell,
[data-theme="dark"] [class*="css-dev-only-do-not-override"] .ant-table-wrapper .ant-table-tbody > tr:hover > td.ant-table-cell,
body.dark .ant-table-wrapper .ant-table-tbody > tr:hover > td.ant-table-cell,
.theme-dark .ant-table-wrapper .ant-table-tbody > tr:hover > td.ant-table-cell {
  background-color: rgba(255,255,255,0.10) !important;
}

/* Small buttons: Add (header) and table action buttons */
.btn-add-sm.ant-btn {
  padding: 4px 8px !important;
  height: 30px !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

/* Ensure table action buttons (Edit/Delete) are compact */
.ant-table-wrapper .ant-space .ant-btn.ant-btn-sm,
.ant-table-wrapper .ant-space .ant-btn {
  padding: 4px 8px !important;
  height: 28px !important;
  font-size: 12px !important;
  line-height: 1 !important;
}

/* Tighter icons + text spacing */
.ant-table-wrapper .ant-space .ant-btn .anticon {
  margin-right: 6px !important;
  font-size: 14px !important;
}

/* Extra selector for dev-only generated wrappers */
[class*="css-dev-only-do-not-override"] .ant-card .ant-card-body {
  padding: 15px !important;
  border-radius: 0 0 12px 12px !important;
}

/* Reduce default table cell padding to 8px, including dev-only wrappers */
.ant-table-wrapper .ant-table-thead>tr>th,
.ant-table-wrapper .ant-table-tbody>tr>th,
.ant-table-wrapper .ant-table-tbody>tr>td,
.ant-table-wrapper tfoot>tr>th,
.ant-table-wrapper tfoot>tr>td,
[class*="css-dev-only-do-not-override"] .ant-table-wrapper .ant-table-thead>tr>th,
[class*="css-dev-only-do-not-override"] .ant-table-wrapper .ant-table-tbody>tr>th,
[class*="css-dev-only-do-not-override"] .ant-table-wrapper .ant-table-tbody>tr>td,
[class*="css-dev-only-do-not-override"] .ant-table-wrapper tfoot>tr>th,
[class*="css-dev-only-do-not-override"] .ant-table-wrapper tfoot>tr>td {
  padding: 8px 8px !important;
  overflow-wrap: break-word;
}

/* Zebra striping for Ant Design tables (uses existing overrides.css) */
.ant-table-wrapper .ant-table-tbody > tr > td {
  transition: background-color .15s ease;
}

/* Light theme stripe */
.ant-table-wrapper .ant-table-tbody > tr:nth-child(odd) > td,
.ant-table-wrapper .ant-table-tbody > tr.ant-table-row:nth-child(odd) > td,
[class*="css-dev-only-do-not-override"] .ant-table-wrapper .ant-table-tbody > tr:nth-child(odd) > td {
  background-color: #f3f6fb !important;
}
.ant-table-wrapper .ant-table-tbody > tr:nth-child(even) > td,
.ant-table-wrapper .ant-table-tbody > tr.ant-table-row:nth-child(even) > td,
[class*="css-dev-only-do-not-override"] .ant-table-wrapper .ant-table-tbody > tr:nth-child(even) > td {
  background-color: #ffffff !important;
}

/* Even higher-specificity fallbacks for runtime-marked rows (data-row-key) */
body .ant-table-wrapper .ant-table-tbody > tr[data-row-key]:nth-child(odd) > td,
body .ant-table-wrapper .ant-table-tbody > tr.ant-table-row[data-row-key]:nth-child(odd) > td,
body [class*="css-dev-only-do-not-override"] .ant-table-wrapper .ant-table-tbody > tr[data-row-key]:nth-child(odd) > td {
  background-color: #f6f8fa !important;
}
body .ant-table-wrapper .ant-table-tbody > tr[data-row-key]:nth-child(even) > td,
body .ant-table-wrapper .ant-table-tbody > tr.ant-table-row[data-row-key]:nth-child(even) > td,
body [class*="css-dev-only-do-not-override"] .ant-table-wrapper .ant-table-tbody > tr[data-row-key]:nth-child(even) > td {
  background-color: #ffffff !important;
}

/* Keep a visible hover state (stronger than the stripe) */
.ant-table-wrapper .ant-table-tbody > tr:hover > td,
.ant-table-wrapper .ant-table-tbody > tr.ant-table-row:hover > td,
[class*="css-dev-only-do-not-override"] .ant-table-wrapper .ant-table-tbody > tr:hover > td {
  background-color: rgba(24,144,255,0.10) !important;
}

/* Dark-mode fallback using prefers-color-scheme (if the app/theme doesn't provide a class)
   these are subtle overlays so they work on darker backgrounds. */
@media (prefers-color-scheme: dark) {
  .ant-table-wrapper .ant-table-tbody > tr:nth-child(odd) > td,
  .ant-table-wrapper .ant-table-tbody > tr.ant-table-row:nth-child(odd) > td,
  [class*="css-dev-only-do-not-override"] .ant-table-wrapper .ant-table-tbody > tr:nth-child(odd) > td {
    background-color: rgba(255,255,255,0.04) !important;
  }
  .ant-table-wrapper .ant-table-tbody > tr:nth-child(even) > td,
  .ant-table-wrapper .ant-table-tbody > tr.ant-table-row:nth-child(even) > td,
  [class*="css-dev-only-do-not-override"] .ant-table-wrapper .ant-table-tbody > tr:nth-child(even) > td {
    background-color: rgba(255,255,255,0.02) !important;
  }
  .ant-table-wrapper .ant-table-tbody > tr:hover > td,
  .ant-table-wrapper .ant-table-tbody > tr.ant-table-row:hover > td,
  [class*="css-dev-only-do-not-override"] .ant-table-wrapper .ant-table-tbody > tr:hover > td {
    background-color: rgba(255,255,255,0.10) !important;
  }

  /* Also handle app-specific dark-class variants */
  body.dark .ant-table-wrapper .ant-table-tbody > tr:nth-child(odd) > td,
  .theme-dark .ant-table-wrapper .ant-table-tbody > tr:nth-child(odd) > td,
  [data-theme="dark"] .ant-table-wrapper .ant-table-tbody > tr:nth-child(odd) > td {
    background-color: rgba(255,255,255,0.04) !important;
  }
  body.dark .ant-table-wrapper .ant-table-tbody > tr:nth-child(even) > td,
  .theme-dark .ant-table-wrapper .ant-table-tbody > tr:nth-child(even) > td,
  [data-theme="dark"] .ant-table-wrapper .ant-table-tbody > tr:nth-child(even) > td {
    background-color: rgba(255,255,255,0.02) !important;
  }
  body.dark .ant-table-wrapper .ant-table-tbody > tr:hover > td,
  .theme-dark .ant-table-wrapper .ant-table-tbody > tr:hover > td,
  [data-theme="dark"] .ant-table-wrapper .ant-table-tbody > tr:hover > td {
    background-color: rgba(255,255,255,0.10) !important;
  }
}

