/* =====================================================================
   ZIQSY CMS — DASHBOARDS & ADMIN (view-group polish)
   ---------------------------------------------------------------------
   Scoped, additive, CSS-only. No markup / class / id / JS changes.
   Builds on css/design-system.css tokens (--zq-*). Loads AFTER it.

   Scoping strategy:
     • Everything here is scoped to dashboard root containers
       (.admin-dashboard, .manager-dashboard, .analytics-page) so it
       cannot leak into other view groups.
     • The super-admin, management and availability views ship their own
       inline <style> using bare `.stat-card` — we deliberately do NOT
       target bare `.stat-card`, only the scoped variants, so we never
       fight those pages.

   Classes targeted (confirmed present in the blade markup):
     admin/index:    .admin-dashboard .stat-card(.stat-card-primary/
                     warning/success/info) .stat-card-inner
                     .stat-icon-wrapper .stat-icon .stat-number
                     .stat-label .stat-action-btn .content-card
                     .content-card-header(.header-warning)
                     .content-card-title .content-card-body .stat-item
                     .stat-item-label .badge-custom(.badge-*) .pending-list
                     .pending-item .pending-info .pending-name
                     .pending-email .custom-table .user-info .user-avatar
                     .user-details .user-name .department-badge
                     .hierarchy-node(.manager) .hierarchy-children
                     .loading-state
     manager/dash:   .manager-dashboard .dashboard-header-super
                     .team-stats .team-stat-card .stat-icon-big
                     .team-activity-section .team-member-row
                     .status-indicator(.working/.not-working)
                     .quick-link-card
     admin/analytics:.analytics-page .header-bar .analytics-card
                     .analytics-card-filter .chart-card
   ===================================================================== */


/* ------------------------------------------------------------------ *
 * 1. DASHBOARD SHELL
 * ------------------------------------------------------------------ */
.admin-dashboard,
.manager-dashboard {
    color: var(--zq-text);
}

/* The shared .dashboard-header gradient comes from design-system.css.
   Refine the inner layout + on-gradient typography for the admin view. */
.admin-dashboard .dashboard-header {
    position: relative;
    isolation: isolate;
}
.admin-dashboard .dashboard-header::after {
    /* subtle luminous corner to add depth without new markup */
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        radial-gradient(120% 140% at 100% 0%, rgba(255, 255, 255, .18) 0%, transparent 55%);
    pointer-events: none;
}
.admin-dashboard .dashboard-title {
    font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2rem);
    font-weight: 700;
    letter-spacing: -.02em;
}
.admin-dashboard .dashboard-subtitle {
    font-size: var(--zq-fs-md);
    display: inline-flex;
    align-items: center;
}
.admin-dashboard .header-actions .btn-action {
    backdrop-filter: saturate(1.1);
}
.admin-dashboard .header-actions .btn-light.btn-action {
    box-shadow: var(--zq-shadow-sm);
}
.admin-dashboard .header-actions .btn-outline-light.btn-action {
    border-color: rgba(255, 255, 255, .55);
}
.admin-dashboard .header-actions .btn-outline-light.btn-action:hover {
    background: rgba(255, 255, 255, .14);
    border-color: #fff;
}


/* ------------------------------------------------------------------ *
 * 2. KPI / STAT CARDS  (admin/index — scoped variants only)
 * ------------------------------------------------------------------ */
.admin-dashboard .stat-card {
    position: relative;
    background: var(--zq-surface);
    border: 1px solid var(--zq-border);
    border-radius: var(--zq-radius-lg);
    box-shadow: var(--zq-shadow-sm);
    overflow: hidden;
    height: 100%;
    transition: transform var(--zq-dur) var(--zq-ease),
                box-shadow var(--zq-dur) var(--zq-ease),
                border-color var(--zq-dur) var(--zq-ease);
}
/* Accent rail on the leading edge, tinted per variant */
.admin-dashboard .stat-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--zq-stat-accent, var(--zq-brand-500));
    border-radius: var(--zq-radius-lg) 0 0 var(--zq-radius-lg);
}
/* Soft tinted glow blooming from the icon corner */
.admin-dashboard .stat-card::after {
    content: "";
    position: absolute;
    top: -40%;
    right: -20%;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background: var(--zq-stat-accent, var(--zq-brand-500));
    opacity: .07;
    pointer-events: none;
    transition: opacity var(--zq-dur) var(--zq-ease),
                transform var(--zq-dur) var(--zq-ease);
}
.admin-dashboard .stat-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--zq-shadow-lg);
    border-color: var(--zq-border-strong);
}
.admin-dashboard .stat-card:hover::after {
    opacity: .12;
    transform: scale(1.08);
}

/* Per-variant accent token (drives rail, glow + icon) */
.admin-dashboard .stat-card-primary { --zq-stat-accent: var(--zq-brand-500); }
.admin-dashboard .stat-card-success { --zq-stat-accent: var(--zq-success); }
.admin-dashboard .stat-card-warning { --zq-stat-accent: var(--zq-warning); }
.admin-dashboard .stat-card-info    { --zq-stat-accent: var(--zq-info); }

.admin-dashboard .stat-card-inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem 1.35rem;
}

.admin-dashboard .stat-icon-wrapper { flex-shrink: 0; }
.admin-dashboard .stat-icon {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: var(--zq-radius);
    font-size: 1.5rem;
    color: #fff;
    background: var(--zq-stat-accent, var(--zq-brand-500));
    box-shadow: 0 6px 14px -4px var(--zq-stat-accent, var(--zq-brand-500));
}

.admin-dashboard .stat-details { min-width: 0; }
.admin-dashboard .stat-number {
    font-size: clamp(1.6rem, 1.2rem + 1.2vw, 2.1rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.03em;
    color: var(--zq-text);
    font-variant-numeric: tabular-nums;
    margin: 0;
}
.admin-dashboard .stat-label {
    margin: .35rem 0 0;
    font-size: var(--zq-fs-sm);
    font-weight: 600;
    color: var(--zq-text-muted);
    text-transform: uppercase;
    letter-spacing: .04em;
}
.admin-dashboard .stat-action-btn {
    display: inline-flex;
    align-items: center;
    margin-top: .5rem;
    font-size: var(--zq-fs-xs);
    font-weight: 700;
    color: var(--zq-warning);
    text-decoration: none;
    transition: gap var(--zq-dur) var(--zq-ease), color var(--zq-dur) var(--zq-ease);
}
.admin-dashboard .stat-action-btn:hover {
    color: var(--zq-danger);
    gap: .15rem;
}


/* ------------------------------------------------------------------ *
 * 3. CONTENT / SECTION CARDS  (admin/index)
 * ------------------------------------------------------------------ */
.admin-dashboard .content-card {
    background: var(--zq-surface);
    border: 1px solid var(--zq-border);
    border-radius: var(--zq-radius-lg);
    box-shadow: var(--zq-shadow-sm);
    overflow: hidden;
    height: 100%;
    transition: box-shadow var(--zq-dur) var(--zq-ease);
}
.admin-dashboard .content-card:hover { box-shadow: var(--zq-shadow-md); }

.admin-dashboard .content-card-header {
    padding: 1rem 1.25rem;
    background: var(--zq-surface-2);
    border-bottom: 1px solid var(--zq-border);
}
.admin-dashboard .content-card-header.header-warning {
    background: linear-gradient(0deg, rgba(245, 158, 11, .06), rgba(245, 158, 11, .06)), var(--zq-surface);
    border-bottom-color: rgba(245, 158, 11, .3);
}
.admin-dashboard .content-card-header.header-warning .content-card-title {
    color: var(--zq-warning);
}
.admin-dashboard .content-card-title {
    font-weight: 700;
    color: var(--zq-text);
    letter-spacing: -.01em;
}
.admin-dashboard .content-card-title .bi { color: var(--zq-brand-600); }
.admin-dashboard .content-card-header.header-warning .content-card-title .bi { color: inherit; }

.admin-dashboard .content-card-body { padding: 1.25rem; }
.admin-dashboard .content-card-body.p-0 { padding: 0; }

/* Manager-statistics list rows */
.admin-dashboard .stat-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .6rem 0;
}
.admin-dashboard .stat-item + .stat-item { border-top: 1px dashed var(--zq-border); }
.admin-dashboard .stat-item-label {
    font-size: var(--zq-fs-md);
    color: var(--zq-text-muted);
    font-weight: 500;
}

/* Custom badges used across the admin dashboard */
.admin-dashboard .badge-custom {
    display: inline-flex;
    align-items: center;
    padding: .3rem .6rem;
    border-radius: var(--zq-radius-pill);
    font-size: var(--zq-fs-xs);
    font-weight: 700;
    line-height: 1;
}
.admin-dashboard .badge-custom.badge-sm { padding: .22rem .5rem; font-size: .7rem; }
.admin-dashboard .badge-primary { background: var(--zq-brand-50);  color: var(--zq-brand-700); }
.admin-dashboard .badge-info    { background: #e0f2fe;            color: #0369a1; }
.admin-dashboard .badge-success { background: #dcfce7;            color: var(--zq-success-strong); }
.admin-dashboard .badge-warning { background: #fef3c7;            color: #b45309; }
.admin-dashboard .badge-danger  { background: #fee2e2;            color: var(--zq-danger-strong); }


/* ------------------------------------------------------------------ *
 * 4. PENDING-APPROVALS LIST  (admin/index)
 * ------------------------------------------------------------------ */
.admin-dashboard .pending-list { display: flex; flex-direction: column; }
.admin-dashboard .pending-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .85rem 1.25rem;
    transition: background-color var(--zq-dur) var(--zq-ease);
}
.admin-dashboard .pending-item + .pending-item { border-top: 1px solid var(--zq-border); }
.admin-dashboard .pending-item:hover { background: var(--zq-brand-50); }
.admin-dashboard .pending-info { min-width: 0; }
.admin-dashboard .pending-name {
    font-weight: 600;
    color: var(--zq-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.admin-dashboard .pending-email {
    font-size: var(--zq-fs-sm);
    color: var(--zq-text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


/* ------------------------------------------------------------------ *
 * 5. DATA TABLE  (admin/index .custom-table)
 * ------------------------------------------------------------------ */
.admin-dashboard .custom-table { margin: 0; }
.admin-dashboard .custom-table > thead > tr > th {
    background: var(--zq-surface-2);
    text-transform: uppercase;
    font-size: var(--zq-fs-xs);
    letter-spacing: .05em;
    font-weight: 700;
    color: var(--zq-text-muted);
    border-bottom: 1px solid var(--zq-border-strong);
    padding: .75rem 1.25rem;
    white-space: nowrap;
}
.admin-dashboard .custom-table > tbody > tr {
    transition: background-color var(--zq-dur) var(--zq-ease);
}
.admin-dashboard .custom-table > tbody > tr:hover { background: var(--zq-brand-50); }
.admin-dashboard .custom-table > tbody > tr > td {
    padding: .8rem 1.25rem;
    vertical-align: middle;
    border-bottom: 1px solid var(--zq-border);
}
.admin-dashboard .custom-table > tbody > tr:last-child > td { border-bottom: 0; }

.admin-dashboard .user-info { display: flex; align-items: center; gap: .65rem; }
.admin-dashboard .user-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--zq-surface);
    box-shadow: 0 0 0 1px var(--zq-border), var(--zq-shadow-xs);
}
.admin-dashboard .user-details { min-width: 0; }
.admin-dashboard .user-name { font-weight: 600; color: var(--zq-text); }

.admin-dashboard .department-badge {
    display: inline-block;
    padding: .25rem .6rem;
    border-radius: var(--zq-radius-pill);
    font-size: var(--zq-fs-xs);
    font-weight: 600;
    /* inline style supplies the colour vars — we just shape it */
}


/* ------------------------------------------------------------------ *
 * 6. HIERARCHY TREE + LOADING / EMPTY STATES  (admin/index)
 * ------------------------------------------------------------------ */
.admin-dashboard .loading-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem 1rem;
    text-align: center;
}

.admin-dashboard .hierarchy-node {
    position: relative;
    padding: .85rem 1rem;
    margin-bottom: .5rem;
    background: var(--zq-surface);
    border: 1px solid var(--zq-border);
    border-left: 3px solid var(--zq-border-strong);
    border-radius: var(--zq-radius-sm);
    transition: border-color var(--zq-dur) var(--zq-ease),
                box-shadow var(--zq-dur) var(--zq-ease),
                transform var(--zq-dur) var(--zq-ease);
}
.admin-dashboard .hierarchy-node:hover {
    box-shadow: var(--zq-shadow-sm);
    transform: translateX(2px);
}
.admin-dashboard .hierarchy-node.manager {
    border-left-color: var(--zq-brand-500);
    background: linear-gradient(0deg, var(--zq-brand-50), var(--zq-brand-50)), var(--zq-surface);
}
.admin-dashboard .hierarchy-children { margin-top: .25rem; }


/* ------------------------------------------------------------------ *
 * 7. MANAGER DASHBOARD
 * ------------------------------------------------------------------ */
/* Header card (manager uses .dashboard-header-super, NOT the gradient one) */
.manager-dashboard .dashboard-header-super {
    background: var(--zq-surface);
    border: 1px solid var(--zq-border);
    border-radius: var(--zq-radius-lg);
    box-shadow: var(--zq-shadow-sm);
    margin-bottom: 1.5rem;
}
.manager-dashboard .dashboard-header-super h1 {
    font-weight: 700;
    letter-spacing: -.02em;
    color: var(--zq-text);
    margin: 0 0 .25rem;
}
.manager-dashboard .dashboard-header-super h1 .bi { color: var(--zq-brand-600); }

/* Team stat grid */
.manager-dashboard .team-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
}
.manager-dashboard .team-stat-card {
    background: var(--zq-surface);
    border: 1px solid var(--zq-border);
    border-radius: var(--zq-radius-lg);
    box-shadow: var(--zq-shadow-sm);
    padding: 1.5rem 1.25rem;
    text-align: center;
    transition: transform var(--zq-dur) var(--zq-ease),
                box-shadow var(--zq-dur) var(--zq-ease);
}
.manager-dashboard .team-stat-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--zq-shadow-lg);
}
.manager-dashboard .team-stat-card h2 {
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: -.03em;
    color: var(--zq-text);
    font-variant-numeric: tabular-nums;
    margin: .25rem 0 0;
}
/* .stat-icon-big — canonical soft tinted-azure disc + brand glyph (matches the
   analytics KPI cards + empty-state discs). The per-card inline rainbow
   gradients (green/amber/teal) were removed from the Blade; the icons now read
   as one calm, cohesive brand family — differentiated by glyph, not colour. */
.manager-dashboard .stat-icon-big {
    width: 60px;
    height: 60px;
    margin: 0 auto 1rem;
    display: grid;
    place-items: center;
    border-radius: var(--zq-radius);
    font-size: 1.6rem;
    background: var(--zq-brand-50);
    color: var(--zq-brand-700);
    box-shadow: inset 0 0 0 1px rgba(0, 174, 239, .16);
}
[data-bs-theme="dark"] .manager-dashboard .stat-icon-big {
    background: rgba(0, 174, 239, .12);
    color: var(--zq-brand-200);
    box-shadow: inset 0 0 0 1px rgba(0, 174, 239, .22);
}

/* ------------------------------------------------------------------ *
 * SUPER-ADMIN DASHBOARD — collision shield.
 *
 * The Blade used to carry a 230-line inline <style> that was a verbatim
 * copy of theme.css's `.super-admin-dashboard` block. That inline copy
 * was deleted (drift). Once gone, theme.css's identical base re-supplies
 * almost everything — EXCEPT three rules that later-loading GLOBAL sheets
 * clobber by source order. We re-assert just those three, scoped (0,2,0)
 * so they beat the bare globals by specificity (no !important, no reliance
 * on inline source order):
 *   • .stat-card        ← finance-ops.css `.stat-card` (border + var radius/shadow)
 *   • .stat-card:hover  ← finance-ops.css `.stat-card:hover` (drops the lift)
 *   • .dashboard-header ← design-system.css `.dashboard-header` (gradient hero band)
 * The stat-icon chip + ::before bloom stay owned by design-system.css's
 * calm tinted-azure rules (already scoped) — deliberately NOT re-touched,
 * so the rainbow-calm treatment is preserved. Light mode reproduces the
 * prior inline look exactly; dark mode is unchanged (it always resolved to
 * the global dark rules — the inline never won there). */
.super-admin-dashboard .dashboard-header {
    background: #fff;
    border-radius: 16px;
    padding: 2rem;
    margin-bottom: 2rem;
    /* box-shadow intentionally omitted — finance-ops.css gives EVERY
       .dashboard-header the premium --zq-hero-shadow via !important, which
       wins regardless. (The old inline copy hard-set a flat grey shadow here
       that was already dead for the same reason.) */
}
.super-admin-dashboard .stat-card {
    background: #fff;
    border: 0;
    border-radius: 16px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .1);
}
.super-admin-dashboard .stat-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, .15);
}

/* Activity panel */
.manager-dashboard .team-activity-section {
    background: var(--zq-surface);
    border: 1px solid var(--zq-border);
    border-radius: var(--zq-radius-lg);
    box-shadow: var(--zq-shadow-sm);
    padding: 1.5rem;
    height: 100%;
}
.manager-dashboard .team-activity-section h3 {
    font-weight: 700;
    letter-spacing: -.01em;
    color: var(--zq-text);
}
.manager-dashboard .team-member-row {
    padding: .9rem 0;
    transition: background-color var(--zq-dur) var(--zq-ease);
}
.manager-dashboard .team-member-row + .team-member-row { border-top: 1px solid var(--zq-border); }
.manager-dashboard .team-member-row:hover {
    background: var(--zq-surface-2);
    border-radius: var(--zq-radius-sm);
}

/* Presence indicator dot */
.manager-dashboard .status-indicator {
    display: inline-block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    margin-right: .25rem;
    vertical-align: middle;
    background: var(--zq-slate-400);
}
.manager-dashboard .status-indicator.working {
    background: var(--zq-success);
    box-shadow: 0 0 0 3px rgba(16, 185, 129, .18);
}
.manager-dashboard .status-indicator.not-working { background: var(--zq-slate-400); }

/* Quick-link cards (inline gradient supplied; default = brand) */
.manager-dashboard .quick-link-card {
    display: block;
    padding: 1.35rem 1.5rem;
    border-radius: var(--zq-radius-lg);
    background: linear-gradient(135deg, var(--zq-brand-500) 0%, var(--zq-brand-700) 100%);
    color: #fff;
    text-decoration: none;
    box-shadow: var(--zq-shadow-sm);
    transition: transform var(--zq-dur) var(--zq-ease),
                box-shadow var(--zq-dur) var(--zq-ease);
}
.manager-dashboard .quick-link-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--zq-shadow-lg);
    color: #fff;
}
.manager-dashboard .quick-link-card h4 {
    font-weight: 700;
    letter-spacing: -.01em;
    margin: 0;
}
.manager-dashboard .quick-link-card .bi { opacity: .9; }


/* ------------------------------------------------------------------ *
 * 8. ANALYTICS OVERVIEW  (admin/analytics — light polish, scoped)
 * ------------------------------------------------------------------ */
.analytics-page .header-bar {
    background: var(--zq-hero-bg);
    color: #fff;
    box-shadow: var(--zq-hero-shadow);
    border-radius: var(--zq-radius-lg) !important;
}
.analytics-page .header-bar h1 { color: #fff; letter-spacing: -.02em; }
.analytics-page .header-bar .text-muted { color: rgba(255, 255, 255, .8) !important; }

/* The three KPI cards ship a soup of conflicting Bootstrap utilities
   (.bg-primary + mixed .text-white/.text-black + .text-opacity-75 icons that
   render near-invisible). Override to the canonical app stat-card language:
   clean white surface, dark high-contrast number, crisp brand icon in a
   tinted disc — so analytics matches every other dashboard. */
.analytics-page .analytics-card {
    border: 1px solid var(--zq-border) !important;
    border-radius: var(--zq-radius-lg) !important;
    background: var(--zq-surface) !important;
    color: var(--zq-text) !important;
    box-shadow: var(--zq-shadow-sm) !important;
    position: relative;
    overflow: hidden;
    transition: transform var(--zq-dur) var(--zq-ease),
                box-shadow var(--zq-dur) var(--zq-ease);
}
.analytics-page .analytics-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--zq-brand-500);
}
.analytics-page .analytics-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--zq-shadow-lg) !important;
}
.analytics-page .analytics-card h6 {
    color: var(--zq-text-muted) !important;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-size: .72rem;
    font-weight: 700;
}
.analytics-page .analytics-card small { color: var(--zq-text-muted) !important; }
.analytics-page .analytics-card .display-4 {
    color: var(--zq-text) !important;
    font-weight: 800;
    letter-spacing: -.03em;
    font-variant-numeric: tabular-nums;
}
/* faint inline glyph → crisp brand icon in a tinted disc */
.analytics-page .analytics-card .bi {
    color: var(--zq-brand-700) !important;
    opacity: 1 !important;
    background: var(--zq-brand-50, #e6f7fd);
    width: 3rem;
    height: 3rem;
    border-radius: var(--zq-radius);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem !important;
    flex-shrink: 0;
}
.analytics-page .analytics-card-filter {
    border: 1px solid var(--zq-border);
    border-radius: var(--zq-radius-lg) !important;
    background: var(--zq-surface);
}
.analytics-page .chart-card {
    border: 1px solid var(--zq-border);
    border-radius: var(--zq-radius-lg) !important;
    background: var(--zq-surface);
}
.analytics-page .chart-card .card-header { background: transparent; }


/* ------------------------------------------------------------------ *
 * 9. DARK MODE
 *   Surfaces already use --zq-surface/--zq-border/--zq-text which flip
 *   automatically. Only the few tinted helpers need explicit overrides.
 * ------------------------------------------------------------------ */
[data-bs-theme="dark"] .admin-dashboard .content-card-header,
[data-bs-theme="dark"] .admin-dashboard .custom-table > thead > tr > th {
    background: var(--zq-surface-2);
}
[data-bs-theme="dark"] .admin-dashboard .badge-primary { background: rgba(0, 174, 239, .16); color: var(--zq-brand-200); }
[data-bs-theme="dark"] .admin-dashboard .badge-info    { background: rgba(14, 165, 233, .16); color: #7dd3fc; }
[data-bs-theme="dark"] .admin-dashboard .badge-success { background: rgba(16, 185, 129, .16); color: #6ee7b7; }
[data-bs-theme="dark"] .admin-dashboard .badge-warning { background: rgba(245, 158, 11, .16); color: #fcd34d; }
[data-bs-theme="dark"] .admin-dashboard .badge-danger  { background: rgba(239, 68, 68, .16); color: #fca5a5; }

[data-bs-theme="dark"] .admin-dashboard .pending-item:hover,
[data-bs-theme="dark"] .admin-dashboard .custom-table > tbody > tr:hover {
    background: rgba(0, 174, 239, .08);
}
[data-bs-theme="dark"] .admin-dashboard .hierarchy-node.manager {
    background: rgba(0, 174, 239, .1);
}
[data-bs-theme="dark"] .admin-dashboard .content-card-header.header-warning {
    background: rgba(245, 158, 11, .1);
}
[data-bs-theme="dark"] .admin-dashboard .user-avatar {
    border-color: var(--zq-surface);
    box-shadow: 0 0 0 1px var(--zq-border);
}


/* ------------------------------------------------------------------ *
 * 10. MOTION-REDUCE RESPECT
 * ------------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
    .admin-dashboard *,
    .manager-dashboard *,
    .analytics-page * {
        transition: none !important;
        animation: none !important;
    }
    .admin-dashboard .stat-card:hover,
    .admin-dashboard .hierarchy-node:hover,
    .manager-dashboard .team-stat-card:hover,
    .manager-dashboard .quick-link-card:hover,
    .analytics-page .analytics-card:hover {
        transform: none;
    }
}
