/* ============================================================
RosterDive DS — Page: Org Admin Dashboard
Stili specifici per la pagina Org Admin Dashboard
DS components usati: splash-bg, splash-page, button, card,
inline-header, alert, modal, datatable,
stat-card, icon-button, page-header,
topbar, hamburger, drawer, menu-group
Token: css/tokens.css

FIX 2026-08-02 (Audit DS):
- Rimossa .confirm-icon (sostituita con .modal__icon DS)
- Sostituiti valori hardcoded con token/rem

RENAME 2026-10-05: admin_dashboard → org_admin_dashboard.
Le stat-badge sono state sostituite dalle stat-card DS (.stat-grid).

FIX 2026-10-16 (issue #135, Audit DS):
- Rimossi i selettori morti del workflow profile-request rimosso
  (.admin-section-title, .diff-field*, .cert-thumb*, .confirm-title,
  .confirm-message).
- Rimossa l'animazione bolle reimplementata in pagina (il componente
  BubbleGenerator DS non è usato da questa pagina).
- Rimossi i breakpoint non standard 430px/375px/320px; la tipografia
  mobile usa il breakpoint 600px e i Design Token.
============================================================ */

/* ── Stat Sections ── */
.admin-stat-section {
margin-top: var(--space-8);
}
.admin-stat-section:first-of-type {
margin-top: var(--space-4);
}

/* ── Stat Title ── */
.admin-stat-title {
font-size: var(--font-title-large);
font-weight: var(--weight-bold);
color: var(--color-text-primary);
margin: 0 0 var(--space-3) 0;
display: flex;
align-items: center;
gap: var(--space-2);
}

/* ── Stat Card Value Variants ── */
.admin-stat-section .stat-card__value--error {
color: var(--color-error);
}
.admin-stat-section .stat-card__value--warning {
color: var(--color-warning);
}
.admin-stat-section .stat-card__value--info {
color: var(--color-info);
}
.admin-stat-section .stat-card__value--success {
color: var(--color-success);
}

/* ── Skeleton Loading for Stats ── */
.stats-skeleton {
margin-top: var(--space-4);
}
.stats-skeleton__section {
margin-bottom: var(--space-8);
}
.stats-skeleton__title {
width: 13.75rem;
height: var(--font-title-large);
background: var(--color-surface-container);
border-radius: var(--radius-small);
margin-bottom: var(--space-3);
animation: skeleton-pulse 1.5s ease-in-out infinite;
}
.stats-skeleton__cards {
display: grid;
gap: var(--space-3);
grid-template-columns: repeat(2, 1fr);
}
.stats-skeleton__card {
height: 5.5rem;
background: var(--color-surface-container);
border-radius: var(--radius-large);
animation: skeleton-pulse 1.5s ease-in-out infinite;
}
@media (min-width: 600px) {
.stats-skeleton__cards {
grid-template-columns: repeat(4, 1fr);
}
}

@keyframes skeleton-pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.4; }
}

@media (prefers-reduced-motion: reduce) {
.stats-skeleton__title,
.stats-skeleton__card {
animation: none;
opacity: 0.6;
}
}

/* ── Responsive ── */
@media (max-width: 599px) {
.admin-stat-title {
font-size: var(--font-title-medium);
}
}