/**
 * Admin CRM — unified registry table styling (Assistants reference)
 * Loaded by admin-crm layout after main.css
 */

.admin-crm-layout .module-table-wrap {
  background: var(--cream, #f7ecd9);
  border: 1px solid rgba(124, 77, 59, 0.08);
  border-radius: 12px;
  box-shadow: var(--shadow-sm, 0 8px 25px rgba(124, 77, 59, 0.12));
  overflow-x: auto;
}

.admin-crm-layout .module-table-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  border-bottom: none;
  flex-wrap: wrap;
  gap: 12px;
}

.admin-crm-layout .module-search {
  background: #fff !important;
  border: 1px solid #eee !important;
  border-radius: 8px;
}

.admin-crm-layout .module-search input {
  background: transparent;
  color: var(--text, #12374b);
}

.admin-crm-layout .module-table {
  width: 100%;
  border-collapse: collapse;
}

.admin-crm-layout .module-table thead tr {
  background: var(--rust, #7c4d3b) !important;
}

.admin-crm-layout .module-table th {
  background: var(--rust, #7c4d3b) !important;
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 16px 20px !important;
  border-bottom: none !important;
}

.admin-crm-layout .module-table td {
  background: var(--cream, #f7ecd9) !important;
  color: var(--rust, #7c4d3b) !important;
  border-bottom: 1px solid rgba(124, 77, 59, 0.08) !important;
  padding: 16px 20px !important;
  font-size: 0.9rem;
}

.admin-crm-layout .module-table tbody tr {
  transition: background 0.2s ease;
}

.admin-crm-layout .module-table tbody tr:hover td {
  background: rgba(124, 77, 59, 0.04) !important;
}

.admin-crm-layout .module-table tr:last-child td {
  border-bottom: none !important;
}

.admin-crm-layout .module-table .avatar-cell {
  display: flex;
  align-items: center;
  gap: 12px;
}

.admin-crm-layout .module-table .avatar-icon {
  width: 38px;
  height: 38px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
  font-size: 0.85rem;
  flex-shrink: 0;
}

.admin-crm-layout .module-table .avatar-text strong {
  display: block;
  color: var(--rust, #7c4d3b);
  font-size: 1rem;
  font-weight: 800;
}

.admin-crm-layout .module-table .avatar-text span {
  display: block;
  font-size: 0.875rem;
  font-weight: var(--text-meta-weight, 700);
  color: var(--text-mid, #6b5038);
  margin-top: 2px;
}

.admin-crm-layout .module-table .avatar-text small {
  display: block;
  font-size: var(--text-meta-size, 0.8125rem);
  font-weight: var(--text-meta-weight, 700);
  color: var(--text-mid, #6b5038);
  margin-top: 2px;
}

/* Status column — teal uppercase (reference screenshot) */
.admin-crm-layout .module-table .status-badge {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  font-weight: 800 !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

.admin-crm-layout .module-table .status-badge.status-active,
.admin-crm-layout .module-table .status-active {
  color: var(--deep-teal, #12374b) !important;
}

.admin-crm-layout .module-table .status-badge.status-inactive,
.admin-crm-layout .module-table .status-inactive {
  color: #9e9e9e !important;
}

.admin-crm-layout .module-table .status-badge.status-pending {
  color: var(--orange, #ec781f) !important;
}

.admin-crm-layout .module-table .status-badge.status-archived {
  color: #666 !important;
}

/* Students registry uses alternate cell markup */
.admin-crm-layout .module-table .student-cell {
  display: flex;
  align-items: center;
  gap: 12px;
}

.admin-crm-layout .module-table .row-avatar {
  width: 38px;
  height: 38px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
  font-size: 0.85rem;
  flex-shrink: 0;
  background: var(--crimson, #8b0010);
}

.admin-crm-layout .module-table .student-info strong {
  display: block;
  color: var(--rust, #7c4d3b);
  font-size: 1rem;
  font-weight: 800;
}

.admin-crm-layout .module-table .student-info .student-id,
.admin-crm-layout .module-table .student-info span {
  display: block;
  font-size: var(--text-meta-size, 0.8125rem);
  font-weight: var(--text-meta-weight, 700);
  color: var(--text-mid, #6b5038);
  margin-top: 2px;
}

.admin-crm-layout .module-table .action-btn {
  color: var(--rust, #7c4d3b);
}

.admin-crm-layout .module-table .action-btn:hover {
  color: var(--deep-teal, #12374b);
}

.admin-crm-layout .status-toggle-menu {
  z-index: 1000;
}

/* Nested inside a page card (e.g. Agents registry) — table only, no second shell */
.admin-crm-layout .agents-registry-panel .module-table-wrap {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
  max-width: 100%;
  min-width: 0;
}

@media (max-width: 768px) {
  .admin-crm-layout .module-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .admin-crm-layout .agents-registry-panel .module-table-wrap,
  .admin-crm-layout .agents-registry-panel .agents-registry-table-wrap {
    overflow-x: auto !important;
    overscroll-behavior-x: contain;
  }

  .admin-crm-layout .module-table {
    min-width: 720px;
  }

  .admin-crm-layout .agents-registry-panel .agents-registry-table {
    min-width: 680px;
  }

  .admin-crm-layout .module-table th,
  .admin-crm-layout .module-table td {
    padding: 14px 16px !important;
  }
}

/* Avatar initials — system bold (last) */
.admin-crm-layout .avatar-initials,
.admin-crm-layout .module-table .avatar-icon .avatar-initials,
.admin-crm-layout .module-table .row-avatar .avatar-initials,
.admin-crm-layout .portal-person-avatar__initials,
.admin-crm-layout .profile-avatar-large .avatar-initials,
.admin-crm-layout .st-avatar .avatar-initials,
.admin-crm-layout .nav-avatar .avatar-initials {
  font-family: Arial, Helvetica, "Segoe UI", sans-serif !important;
  font-weight: 700 !important;
  font-style: normal !important;
  font-synthesis: none !important;
}
