/* Pastel success overrides (Sage Pastel) */
:root {
  --bs-success: #7bae7f;
  --bs-success-rgb: 123, 174, 127;

  /* Emphasis and subtle variants */
  --bs-success-text-emphasis: color-mix(in sRGB, #000 65%, var(--bs-success));
  --bs-success-bg-subtle: rgba(var(--bs-success-rgb), 0.12);
  --bs-success-border-subtle: rgba(var(--bs-success-rgb), 0.28);
}

/* Dark theme tuning */
[data-bs-theme="dark"] {
  /* Make text emphasis lighter in dark */
  --bs-success-text-emphasis: color-mix(in sRGB, var(--bs-paper-bg) 30%, var(--bs-success));
  /* Softer backgrounds in dark */
  --bs-success-bg-subtle: color-mix(in sRGB, var(--bs-paper-bg) 88%, var(--bs-success));
  --bs-success-border-subtle: color-mix(in sRGB, var(--bs-paper-bg) 72%, var(--bs-success));
}

/* Compact tables and sticky helpers */
.table-compact {
  --bs-table-cell-padding-y: .25rem;
  --bs-table-cell-padding-x: .5rem;
  font-size: .875rem;
}

.table-compact thead th { font-size: .75rem; }

@media (min-width: 768px) {
  .table-sticky thead th { position: sticky; top: 0; z-index: 2; }
  .table-sticky tbody td:first-child, .table-sticky thead th:first-child {
    position: sticky; left: 0; z-index: 1; background: var(--bs-paper-bg);
  }
}

/* Name column width and truncation */
.td-name { max-width: 420px; }
.td-name .title { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.td-name .meta { font-size: .8125rem; color: var(--bs-body-color); opacity: .7; }
.td-name .meta .danger { color: var(--bs-danger); opacity: 1; }

@media (max-width: 767.98px) {
  .td-name { max-width: none; }
  /* Mobile row separator element */
  .mobile-separator {
    height: 1px;
    background-color: color-mix(in sRGB, var(--bs-body-color) 18%, transparent);
    margin: .75rem 0 .25rem;
    border-radius: 1px;
  }
  [data-bs-theme="dark"] .mobile-separator {
    background-color: color-mix(in sRGB, #ffffff 22%, transparent);
  }
}

/* Typography utilities (Bootstrap-friendly) */
.fw-medium { font-weight: 500 !important; }
.fw-semibold { font-weight: 600 !important; }
.fw-extrabold { font-weight: 800 !important; }

/* Semantic aliases for readability */
.text-medium { font-weight: 500 !important; }
.text-semibold { font-weight: 600 !important; }
.text-bold { font-weight: 700 !important; }
.text-extrabold { font-weight: 800 !important; }
.td-name .title { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.td-name .meta { font-size: .8125rem; color: var(--bs-body-color); opacity: .7; }
.td-name .meta .danger { color: var(--bs-danger); opacity: 1; }



/* Datatables */
.dt-info {padding-left: 20px;font-size: 12px;}
