/* =========================================================================
   BLG-PLATFORM: USERS & PERMISSIONS MODULE STYLES (Пользователи и права)
   Guarantees 100% WCAG AAA font readability, high contrast & token integration
   ========================================================================= */

/* Base Container & Typography Defaults */
[data-module="users"] {
  color: var(--mod-text, #ffffff);
}

[data-module="users"] h1,
[data-module="users"] h2,
[data-module="users"] h3,
[data-module="users"] h4,
[data-module="users"] h5,
[data-module="users"] h6 {
  color: var(--mod-text, #ffffff) !important;
}

[data-module="users"] p,
[data-module="users"] span,
[data-module="users"] label {
  color: inherit;
}

/* 1. Cards & Containers */
[data-module="users"] .card,
[data-module="users"] .biz-card,
[data-module="users"] .users-kpi-banner-card {
  background: var(--mod-card-bg, rgba(255, 255, 255, 0.08)) !important;
  border: 1px solid var(--mod-card-border, rgba(255, 255, 255, 0.16)) !important;
  color: var(--mod-text, #ffffff) !important;
  border-radius: var(--mod-radius, 14px) !important;
  backdrop-filter: var(--glass-blur-sm, blur(12px));
  -webkit-backdrop-filter: var(--glass-blur-sm, blur(12px));
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.16) !important;
}

/* 2. Executive KPI Metrics Strip */
[data-module="users"] .biz-kpi-strip {
  gap: 12px;
}

[data-module="users"] .biz-kpi-item {
  background: var(--mod-card-bg, rgba(255, 255, 255, 0.08)) !important;
  border: 1px solid var(--mod-card-border, rgba(255, 255, 255, 0.18)) !important;
  color: var(--mod-text, #ffffff) !important;
  border-radius: 12px !important;
  padding: 12px 16px !important;
}

[data-module="users"] .biz-kpi-item:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: var(--mod-accent, #6366f1) !important;
}

[data-module="users"] .biz-kpi-num {
  font-size: 20px !important;
  font-weight: 800 !important;
  color: var(--mod-text, #ffffff) !important;
  letter-spacing: -0.01em;
}

[data-module="users"] .biz-kpi-label {
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: var(--mod-text-muted, #cbd5e1) !important;
  margin-top: 3px !important;
}

/* 3. Subtabs Bar */
[data-module="users"] .subtabs {
  border-bottom: 1px solid var(--mod-card-border, rgba(255, 255, 255, 0.14)) !important;
  gap: 8px;
}

[data-module="users"] .subtab {
  color: var(--mod-text-muted, #cbd5e1) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  background: transparent !important;
  border-bottom: 2px solid transparent !important;
  padding: 8px 14px !important;
  transition: all 0.15s ease;
}

[data-module="users"] .subtab:hover {
  color: var(--mod-text, #ffffff) !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border-radius: 8px 8px 0 0;
}

[data-module="users"] .subtab.active {
  color: var(--mod-text, #ffffff) !important;
  background: var(--mod-accent-bg, rgba(99, 102, 241, 0.18)) !important;
  border-bottom: 2px solid var(--mod-accent, #6366f1) !important;
  border-radius: 8px 8px 0 0;
}

/* 4. Users Table & Archived Table */
[data-module="users"] .table-container {
  border: 1px solid var(--mod-card-border, rgba(255, 255, 255, 0.14)) !important;
  border-radius: 12px;
  overflow: hidden;
  background: var(--mod-card-bg, rgba(255, 255, 255, 0.04));
}

[data-module="users"] table {
  color: var(--mod-text, #ffffff) !important;
  border-collapse: collapse;
  width: 100%;
}

[data-module="users"] table thead th {
  background: rgba(99, 102, 241, 0.18) !important;
  color: var(--mod-accent, #a5b4fc) !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 12px 14px !important;
  border-bottom: 1px solid var(--mod-card-border, rgba(255, 255, 255, 0.18)) !important;
}

[data-module="users"] table tbody tr {
  background: transparent !important;
  transition: background 0.15s ease;
}

[data-module="users"] table tbody tr:hover {
  background: rgba(255, 255, 255, 0.06) !important;
}

[data-module="users"] table tbody td {
  padding: 12px 14px !important;
  border-bottom: 1px solid var(--mod-card-border, rgba(255, 255, 255, 0.08)) !important;
  color: var(--mod-text, #ffffff) !important;
  font-size: 13px !important;
}

/* User identity inside table cell */
[data-module="users"] .biz-user-cell > div > div:first-child {
  color: var(--mod-text, #ffffff) !important;
  font-weight: 700 !important;
  font-size: 13.5px !important;
  cursor: pointer;
  letter-spacing: -0.01em;
}

[data-module="users"] .biz-user-cell > div > div:first-child:hover {
  color: var(--mod-accent, #818cf8) !important;
  text-decoration: underline;
}

[data-module="users"] .biz-user-cell > div > div:last-child {
  color: var(--mod-text-muted, #cbd5e1) !important;
  font-size: 11.5px !important;
  font-weight: 500;
  margin-top: 2px;
}

/* User ID pill */
[data-module="users"] table tbody td span[style*="#64748b"] {
  color: var(--mod-accent, #a5b4fc) !important;
  font-weight: 700 !important;
}

/* Contact information cell */
[data-module="users"] table tbody td a[href^="mailto:"] {
  color: #60a5fa !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

[data-module="users"] table tbody td a[href^="mailto:"]:hover {
  text-decoration: underline !important;
  color: #93c5fd !important;
}

[data-module="users"] table tbody td div[style*="color:#1e293b"],
[data-module="users"] table tbody td div[style*="color:#475569"] {
  color: var(--mod-text, #ffffff) !important;
}

[data-module="users"] table tbody td div[style*="color:#64748b"] {
  color: var(--mod-text-muted, #e2e8f0) !important;
}

/* 5. Filter Toolbar & Search Bar */
[data-module="users"] input.form-control,
[data-module="users"] select.form-control {
  background: var(--mod-card-bg, rgba(255, 255, 255, 0.08)) !important;
  border: 1px solid var(--mod-card-border, rgba(255, 255, 255, 0.2)) !important;
  color: var(--mod-text, #ffffff) !important;
  border-radius: 8px !important;
}

[data-module="users"] input.form-control::placeholder {
  color: var(--mod-text-muted, #94a3b8) !important;
}

[data-module="users"] select.form-control option {
  background: #1e293b !important;
  color: #ffffff !important;
}

/* Count summary */
[data-module="users"] div[style*="color:#64748b"] strong {
  color: var(--mod-text, #ffffff) !important;
}

/* 6. Access Groups Tab (.biz-card) */
[data-module="users"] .biz-card div[style*="color:#0f172a"] {
  color: var(--mod-text, #ffffff) !important;
  font-weight: 700 !important;
}

[data-module="users"] .biz-card div[style*="color:#334155"],
[data-module="users"] .biz-card span[style*="color:#334155"] {
  color: var(--mod-text, #ffffff) !important;
}

[data-module="users"] .biz-card div[style*="color:#64748b"],
[data-module="users"] .biz-card span[style*="color:#64748b"] {
  color: var(--mod-text-muted, #cbd5e1) !important;
}

[data-module="users"] .biz-card .badge {
  background: rgba(99, 102, 241, 0.2) !important;
  border: 1px solid rgba(99, 102, 241, 0.4) !important;
  color: #ffffff !important;
}

[data-module="users"] .biz-card .badge b {
  color: #ffffff !important;
}

[data-module="users"] .biz-card .badge code {
  color: #c7d2fe !important;
  background: rgba(255, 255, 255, 0.1) !important;
}

/* 7. Roles & Permissions Matrix Tab */
[data-module="users"] .role-list-card {
  background: var(--mod-card-bg, rgba(255, 255, 255, 0.06)) !important;
  border: 1px solid var(--mod-card-border, rgba(255, 255, 255, 0.14)) !important;
  color: var(--mod-text, #ffffff) !important;
  border-radius: 10px !important;
}

[data-module="users"] .role-list-card:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: var(--mod-accent, #6366f1) !important;
}

[data-module="users"] .role-list-card span[style*="color"] {
  color: var(--mod-text, #ffffff) !important;
}

[data-module="users"] .role-list-card code {
  background: rgba(255, 255, 255, 0.12) !important;
  color: var(--mod-accent, #a5b4fc) !important;
  font-weight: 600;
}

/* Matrix info banners */
[data-module="users"] div[style*="background:#f8fafc"],
[data-module="users"] div[style*="background:#fff"] {
  background: var(--mod-card-bg, rgba(255, 255, 255, 0.07)) !important;
  border-color: var(--mod-card-border, rgba(255, 255, 255, 0.16)) !important;
  color: var(--mod-text, #ffffff) !important;
}

[data-module="users"] div[style*="border-left:4px solid var(--primary)"] {
  background: rgba(99, 102, 241, 0.16) !important;
  border-left: 4px solid var(--mod-accent, #6366f1) !important;
  color: var(--mod-text, #ffffff) !important;
}

[data-module="users"] div[style*="border-left:4px solid var(--primary)"] strong {
  color: var(--mod-text, #ffffff) !important;
}

/* 8. Positions Tab */
[data-module="users"] div[onclick^="selectPosition"] {
  background: var(--mod-card-bg, rgba(255, 255, 255, 0.06)) !important;
  border: 1px solid var(--mod-card-border, rgba(255, 255, 255, 0.14)) !important;
  color: var(--mod-text, #ffffff) !important;
}

[data-module="users"] div[onclick^="selectPosition"]:hover {
  background: rgba(255, 255, 255, 0.1) !important;
}

[data-module="users"] div[onclick^="selectPosition"] div[style*="color:#64748b"] {
  color: var(--mod-text-muted, #cbd5e1) !important;
}

/* 9. Light Theme Harmonization */
body[data-theme="light"] [data-module="users"] {
  color: #0f172a !important;
}

body[data-theme="light"] [data-module="users"] h1,
body[data-theme="light"] [data-module="users"] h2,
body[data-theme="light"] [data-module="users"] h3,
body[data-theme="light"] [data-module="users"] h4,
body[data-theme="light"] [data-module="users"] .biz-kpi-num,
body[data-theme="light"] [data-module="users"] .biz-user-cell > div > div:first-child {
  color: #0f172a !important;
}

body[data-theme="light"] [data-module="users"] .biz-kpi-label,
body[data-theme="light"] [data-module="users"] .biz-user-cell > div > div:last-child {
  color: #475569 !important;
}

body[data-theme="light"] [data-module="users"] table thead th {
  background: #f1f5f9 !important;
  color: #1e293b !important;
}

body[data-theme="light"] [data-module="users"] table tbody td {
  color: #0f172a !important;
}
