/* =============================================================================
   PontoMais RH — estilos de módulo (Material 3 compatible)
   ----------------------------------------------------------------------------
   Carregar DEPOIS de analisp-brand-tokens.css. Reusa --brand-* e --rz-*.
   Flat, sem gradientes roxos, sem FillMode, sem emoji.
   ============================================================================= */

:root {
    --pm-rh-space-1: 0.25rem;
    --pm-rh-space-2: 0.5rem;
    --pm-rh-space-3: 0.75rem;
    --pm-rh-space-4: 1rem;
    --pm-rh-space-5: 1.5rem;

    --pm-rh-card-elev: var(--brand-shadow-sm, 0 1px 3px rgba(10, 100, 90, 0.12));
    --pm-rh-card-radius: var(--brand-radius-panel, 14px);
    --pm-rh-surface: var(--brand-surface-faint, rgba(255, 255, 255, 0.03));
    --pm-rh-border: var(--brand-border, rgba(255, 255, 255, 0.12));
    --pm-rh-muted: var(--brand-muted, rgba(255, 255, 255, 0.55));

    /* Severidade — acentos (marca / semântica Radzen) */
    --pm-rh-sev-critical: color-mix(in srgb, #E53935 72%, var(--rz-text-color, #fff) 28%);
    --pm-rh-sev-warn: var(--brand-amarelo, #FFC300);
    --pm-rh-sev-info: var(--brand-azul, #00BEFF);
}

/* --- Layout / cards --- */
.pm-rh-page {
    --rz-card-border-radius: var(--pm-rh-card-radius);
}

.pm-rh-card {
    box-shadow: var(--pm-rh-card-elev) !important;
    border: 1px solid var(--pm-rh-border);
    background: color-mix(in srgb, var(--rz-card-background-color, transparent) 92%, transparent);
}

.pm-rh-kpi {
    min-height: 88px;
}

.pm-rh-kpi .rz-text {
    text-align: center;
}

/* --- Alert severity accents --- */
.pm-rh-alert-item {
    border-left: 3px solid transparent;
    background: var(--pm-rh-surface);
    transition: background 120ms var(--brand-ease, ease), border-color 120ms var(--brand-ease, ease);
}

.pm-rh-alert-item:hover {
    background: var(--brand-hover, rgba(255, 255, 255, 0.06));
}

.pm-rh-alert-item--critical {
    border-left-color: var(--pm-rh-sev-critical);
}

.pm-rh-alert-item--warn {
    border-left-color: var(--pm-rh-sev-warn);
}

.pm-rh-alert-item--info {
    border-left-color: var(--pm-rh-sev-info);
}

/* --- Empty state --- */
.pm-rh-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--pm-rh-space-2);
    padding: var(--pm-rh-space-5) var(--pm-rh-space-4);
    text-align: center;
    min-height: 120px;
    color: var(--rz-text-color, inherit);
}

.pm-rh-empty__icon {
    font-size: 2rem;
    opacity: 0.55;
    color: var(--brand-teal, var(--rz-primary, #28BEA5));
}

.pm-rh-empty__title {
    margin: 0;
    font-family: var(--brand-font-title, inherit);
    font-weight: 600;
}

.pm-rh-empty__detail {
    margin: 0;
    max-width: 28rem;
    opacity: 0.8;
    color: var(--pm-rh-muted);
}

.pm-rh-empty__action {
    margin-top: var(--pm-rh-space-2);
}

/* --- Chart / grid empty caption area --- */
.pm-rh-chart-empty,
.pm-rh-grid-empty {
    min-height: 160px;
    display: flex;
    align-items: center;
    justify-content: center;
}
