/* Authoritative HRIS card geometry. This stylesheet must remain last. */
:root {
    --hris-card-radius: 8px;
}

/* Named cards plus the panel, tile, metric, KPI, and surface variants used
   throughout authenticated pages, portals, dialogs, and standalone screens. */
html body :is(
    .card,
    [class$="-card"]:not(.fa):not(.hris-request-progress-card),
    [class*="-card "]:not(.fa):not(.hris-request-progress-card),
    .panel,
    [class$="-panel"]:not(.fa),
    [class*="-panel "]:not(.fa),
    .well,
    [class$="-tile"]:not(.fa),
    [class*="-tile "]:not(.fa),
    [class$="-surface"]:not(.fa),
    [class*="-surface "]:not(.fa),
    [class$="-stat"]:not(.fa),
    [class*="-stat "]:not(.fa),
    [class$="-metric"]:not(.fa),
    [class*="-metric "]:not(.fa),
    [class$="-kpi"]:not(.fa),
    [class*="-kpi "]:not(.fa),
    [class$="-box"]:not(.fa),
    [class*="-box "]:not(.fa),
    .dash-hero,
    .dash-mini,
    .hris-table-wrap,
    .hris-quick-action,
    .hris-timeline-item,
    .hris-empty-state,
    .hris-module-pulse,
    .hris-command-focus,
    .hris-command-actions,
    .hris-focus-grid > a,
    .hris-command-actions > div > a
) {
    border-radius: var(--hris-card-radius) !important;
    background-clip: padding-box;
}

/* Compact statistic cells that function as cards without a *-card class. */
html body :is(
    .payslip-modal-summary,
    .payroll-review-summary,
    .onboarding-detail-summary,
    .reports-preview-summary,
    .payroll-review-control-grid,
    .error-facts,
    .profile-info-grid
) > div {
    border-radius: var(--hris-card-radius) !important;
    background-clip: padding-box;
}

/* Summary/card icon tiles are rounded squares, while the glyph inside keeps
   its own shape. Avatars and status dots are intentionally not included. */
html body :is(
    .nt-summary-icon,
    .backup-stat-icon,
    [class$="-summary-icon"]:not(.fa),
    [class*="-summary-icon "]:not(.fa),
    [class$="-stat-icon"]:not(.fa),
    [class*="-stat-icon "]:not(.fa),
    [class$="-metric-icon"]:not(.fa),
    [class*="-metric-icon "]:not(.fa),
    [class$="-kpi-icon"]:not(.fa),
    [class*="-kpi-icon "]:not(.fa),
    [class$="-card-icon"]:not(.fa),
    [class*="-card-icon "]:not(.fa),
    .portal-kpi > .fa,
    .hris-module-pulse > .fa,
    .hris-focus-grid > a > .fa,
    .hris-command-actions > div > a > .fa
) {
    border-radius: var(--hris-card-radius) !important;
}

/* High-specificity authenticated-page/modal pass over legacy inline rules. */
html body.nt-app #mainContent :is(
    .card,
    [class$="-card"]:not(.fa):not(.hris-request-progress-card),
    [class*="-card "]:not(.fa):not(.hris-request-progress-card),
    .panel,
    [class$="-panel"]:not(.fa),
    [class*="-panel "]:not(.fa),
    .well,
    [class$="-tile"]:not(.fa),
    [class*="-tile "]:not(.fa),
    [class$="-surface"]:not(.fa),
    [class*="-surface "]:not(.fa),
    [class$="-stat"]:not(.fa),
    [class*="-stat "]:not(.fa),
    [class$="-metric"]:not(.fa),
    [class*="-metric "]:not(.fa),
    [class$="-kpi"]:not(.fa),
    [class*="-kpi "]:not(.fa),
    [class$="-box"]:not(.fa),
    [class*="-box "]:not(.fa),
    .dash-hero,
    .dash-mini,
    .hris-table-wrap,
    .hris-quick-action,
    .hris-timeline-item,
    .hris-empty-state,
    .hris-module-pulse,
    .hris-command-focus,
    .hris-command-actions,
    .hris-focus-grid > a,
    .hris-command-actions > div > a
),
html body.nt-app .modal :is(
    .card,
    [class$="-card"]:not(.fa):not(.hris-request-progress-card),
    [class*="-card "]:not(.fa):not(.hris-request-progress-card),
    .panel,
    [class$="-panel"]:not(.fa),
    [class*="-panel "]:not(.fa),
    .well,
    [class$="-tile"]:not(.fa),
    [class*="-tile "]:not(.fa),
    [class$="-surface"]:not(.fa),
    [class*="-surface "]:not(.fa),
    [class$="-stat"]:not(.fa),
    [class*="-stat "]:not(.fa),
    [class$="-metric"]:not(.fa),
    [class*="-metric "]:not(.fa),
    [class$="-kpi"]:not(.fa),
    [class*="-kpi "]:not(.fa),
    [class$="-box"]:not(.fa),
    [class*="-box "]:not(.fa),
    .dash-mini,
    .hris-table-wrap,
    .hris-quick-action,
    .hris-timeline-item,
    .hris-empty-state
) {
    border-radius: var(--hris-card-radius) !important;
}

html body.nt-app #mainContent :is(
    .nt-summary-icon,
    .backup-stat-icon,
    [class$="-summary-icon"]:not(.fa),
    [class*="-summary-icon "]:not(.fa),
    [class$="-stat-icon"]:not(.fa),
    [class*="-stat-icon "]:not(.fa),
    [class$="-metric-icon"]:not(.fa),
    [class*="-metric-icon "]:not(.fa),
    [class$="-kpi-icon"]:not(.fa),
    [class*="-kpi-icon "]:not(.fa),
    [class$="-card-icon"]:not(.fa),
    [class*="-card-icon "]:not(.fa),
    .portal-kpi > .fa,
    .hris-module-pulse > .fa,
    .hris-focus-grid > a > .fa,
    .hris-command-actions > div > a > .fa
),
html body.nt-app .modal :is(
    .nt-summary-icon,
    .backup-stat-icon,
    [class$="-summary-icon"]:not(.fa),
    [class*="-summary-icon "]:not(.fa),
    [class$="-stat-icon"]:not(.fa),
    [class*="-stat-icon "]:not(.fa),
    [class$="-metric-icon"]:not(.fa),
    [class*="-metric-icon "]:not(.fa),
    [class$="-kpi-icon"]:not(.fa),
    [class*="-kpi-icon "]:not(.fa),
    [class$="-card-icon"]:not(.fa),
    [class*="-card-icon "]:not(.fa)
) {
    border-radius: var(--hris-card-radius) !important;
}

/* The standard request/loading card intentionally remains at its established
   10px radius from the loading contract. */
html body .hris-request-progress-card {
    border-radius: 10px !important;
}
