/**
 * idPlugger Theme — Super Admin (superadmin.layouts.app)
 *
 * Depende do core carregado no layout (variables → components → utilities).
 * Ver: resources/views/layout/partials/idplugger-core-styles.blade.php
 *
 * Manual da Marca: /superadmin/style-guide
 * Ao adicionar classe .sa-*, variável --sa-* ou componente novo → atualizar
 * resources/views/superadmin/style-guide/index.blade.php (#classes-css / seção visual).
 *
 * Paleta padrão:
 *   #FAFAFA fundo · #0A223C secundário · #EC2474 destaque
 *   #45494C texto · #EF5942 primário
 * Fonte: Poppins · Títulos: VAG Rundschrift D
 */

.idp-superadmin {
    /* --- Paleta Super Admin --- */
    --sa-bg: #fafafa;
    --sa-secondary: #0a223c;
    --sa-primary: #ef5942;
    --sa-highlight: #ec2474;
    --sa-text: #45494c;
    --sa-gradient: linear-gradient(90deg, #ef5942 15%, #ec2474 85%);

    /* Alertas — cores semânticas */
    --sa-alert-success-bg: #d1e7dd;
    --sa-alert-success-border: #a3cfbb;
    --sa-alert-success-text: #0f5132;
    --sa-alert-warning-bg: #fff3cd;
    --sa-alert-warning-border: #ffda6a;
    --sa-alert-warning-text: #664d03;
    --sa-alert-danger-bg: #f8d7da;
    --sa-alert-danger-border: #f1aeb5;
    --sa-alert-danger-text: #842029;
    --sa-alert-info-bg: #cff4fc;
    --sa-alert-info-border: #9eeaf9;
    --sa-alert-info-text: #055160;

    /* Overrides do core idPlugger nesta área */
    --idp-primary: var(--sa-primary);
    --idp-secondary: var(--sa-secondary);
    --idp-accent: var(--sa-highlight);
    --idp-light: var(--sa-bg);
    --idp-gray-700: var(--sa-text);

    --sa-navbar-bg: var(--sa-secondary);
    --sa-topbar-bg: var(--sa-secondary);

    /* Sidebar */
    --sa-sidebar-width: 16.5rem;
    --sa-sidebar-width-collapsed: 4.75rem;
    --sa-topbar-height: 3.5rem;

    /* Responsividade — alinhado aos breakpoints Bootstrap 5 */
    --sa-breakpoint-sm: 576px;
    --sa-breakpoint-md: 768px;
    --sa-breakpoint-lg: 992px;
    --sa-breakpoint-xl: 1200px;
    --sa-breakpoint-xxl: 1400px;
    --sa-layout-max: none; /* conteúdo usa largura total (container-fluid) */
    --sa-table-cards-max: 767.98px; /* listagens viram cards abaixo de md (Bootstrap) */
    --sa-navbar-height: 3.5rem;
    --sa-content-px: 1rem;
    --sa-content-px-lg: 1.5rem;
    --sa-touch-min: 2.75rem;

    /* Bootstrap 5 — paleta idPlugger em todo o Super Admin */
    --bs-primary: var(--sa-primary);
    --bs-primary-rgb: 239, 89, 66;
    --bs-secondary: var(--sa-text);
    --bs-secondary-rgb: 69, 73, 76;
    --bs-success: var(--sa-secondary);
    --bs-success-rgb: 10, 34, 60;
    --bs-info: var(--sa-highlight);
    --bs-info-rgb: 236, 36, 116;
    --bs-warning: #f5a623;
    --bs-warning-rgb: 245, 166, 35;
    --bs-danger: #d91e54;
    --bs-danger-rgb: 217, 30, 84;
    --bs-body-bg: var(--sa-bg);
    --bs-body-color: var(--sa-text);
    --bs-link-color: var(--sa-primary);
    --bs-link-hover-color: var(--sa-highlight);
    --bs-border-color: color-mix(in srgb, var(--sa-text) 20%, #fff);

    /* --- Tipografia --- */
    --idp-font-family-primary: 'Poppins', sans-serif;
    --idp-font-family-heading: 'VAG Rundschrift D', 'VAGRundschriftD', sans-serif;

    font-family: var(--idp-font-family-primary);
    color: var(--sa-text);
    background-color: var(--sa-bg);
}

.idp-superadmin body {
    overflow-x: hidden;
}

/* --- Shell + sidebar --- */
.idp-superadmin .sa-shell {
    display: flex;
    min-height: 100vh;
}

.idp-superadmin .sa-shell__main {
    flex: 1 1 auto;
    min-width: 0;
    margin-left: var(--sa-sidebar-width);
    transition: margin-left 0.2s ease;
}

.idp-superadmin.sa-sidebar-collapsed .sa-shell__main {
    margin-left: var(--sa-sidebar-width-collapsed);
}

.idp-superadmin .sa-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 1040;
    width: var(--sa-sidebar-width);
    display: flex;
    flex-direction: column;
    background-color: var(--sa-secondary);
    color: rgba(255, 255, 255, 0.92);
    box-shadow: 1px 0 0 color-mix(in srgb, #fff 8%, var(--sa-secondary));
    transition: width 0.2s ease, transform 0.2s ease;
}

.idp-superadmin.sa-sidebar-collapsed .sa-sidebar {
    width: var(--sa-sidebar-width-collapsed);
}

.idp-superadmin .sa-sidebar__brand {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-height: 4.25rem;
    padding: 0.75rem 0.625rem 0.5rem;
    border-bottom: 1px solid color-mix(in srgb, #fff 10%, var(--sa-secondary));
}

.idp-superadmin .sa-sidebar__brand-link {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    line-height: 0;
    text-decoration: none;
}

.idp-superadmin .sa-sidebar__brand-img {
    display: block;
    width: auto;
    max-width: 100%;
    height: 2.75rem;
    max-height: 2.75rem;
    object-fit: contain;
    object-position: left center;
    transition: height 0.2s ease, max-height 0.2s ease;
}

.idp-superadmin.sa-sidebar-collapsed .sa-sidebar__brand {
    justify-content: center;
    min-height: auto;
    padding: 0.625rem 0.375rem 0.5rem;
}

.idp-superadmin.sa-sidebar-collapsed .sa-sidebar__brand-link {
    justify-content: center;
}

.idp-superadmin.sa-sidebar-collapsed .sa-sidebar__brand-img {
    height: 2.25rem;
    max-height: 2.25rem;
    margin: 0 auto;
    object-position: center center;
}

.idp-superadmin .sa-sidebar__head {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.375rem;
    min-height: 3rem;
    padding: 0.5rem 0.625rem;
    border-bottom: 1px solid color-mix(in srgb, #fff 10%, var(--sa-secondary));
    position: relative;
    z-index: 2;
}

.idp-superadmin .sa-sidebar__head .sa-sidebar__group--user {
    flex: 1 1 auto;
    min-width: 0;
}

.idp-superadmin .sa-sidebar__head .sa-sidebar__group--user > .sa-sidebar__link--toggle {
    min-height: 2.5rem;
    padding: 0.5rem 0.625rem;
}

.idp-superadmin .sa-sidebar__head .sa-sidebar__group--user > .sa-sidebar__submenu {
    position: absolute;
    top: calc(100% - 1px);
    left: 0.625rem;
    right: 0.625rem;
    padding: 0.375rem;
    border-radius: 0 0 0.5rem 0.5rem;
    background-color: var(--sa-secondary);
    box-shadow: 0 8px 16px color-mix(in srgb, var(--sa-secondary) 35%, #000);
    z-index: 1050;
}

.idp-superadmin .sa-sidebar__head .sa-sidebar__group--user > .sa-sidebar__submenu .sa-sidebar__sublink {
    padding-left: 0.75rem;
}

.idp-superadmin.sa-sidebar-collapsed .sa-sidebar__head {
    flex-direction: column;
    align-items: stretch;
    gap: 0.375rem;
    padding: 0.5rem 0.375rem;
}

.idp-superadmin.sa-sidebar-collapsed .sa-sidebar__head .sa-sidebar__group--user {
    width: 100%;
}

.idp-superadmin .sa-sidebar__collapse-btn,
.idp-superadmin .sa-sidebar__close-btn {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    border: 1px solid color-mix(in srgb, #fff 18%, transparent);
    border-radius: 0.5rem;
    background: transparent;
    color: rgba(255, 255, 255, 0.88);
    transition: background-color 0.15s ease, color 0.15s ease;
}

.idp-superadmin .sa-sidebar__collapse-btn:hover,
.idp-superadmin .sa-sidebar__close-btn:hover {
    background: color-mix(in srgb, #fff 12%, var(--sa-secondary));
    color: #fff;
}


.idp-superadmin .sa-sidebar__nav {
    flex: 1 1 auto;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0.75rem 0.625rem;
    scrollbar-width: thin;
    scrollbar-color: color-mix(in srgb, #fff 25%, var(--sa-secondary)) transparent;
}

.idp-superadmin .sa-sidebar__link,
.idp-superadmin .sa-sidebar__sublink {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    min-height: 2.75rem;
    padding: 0.625rem 0.75rem;
    border: 0;
    border-radius: 0.5rem;
    background: transparent;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.25;
    text-align: left;
    text-decoration: none;
    transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.idp-superadmin .sa-sidebar__link:hover,
.idp-superadmin .sa-sidebar__sublink:hover,
.idp-superadmin .sa-sidebar__link:focus-visible,
.idp-superadmin .sa-sidebar__sublink:focus-visible {
    color: #fff;
    background-color: color-mix(in srgb, #fff 10%, var(--sa-secondary));
}

.idp-superadmin .sa-sidebar__link.is-active,
.idp-superadmin .sa-sidebar__sublink.is-active,
.idp-superadmin .sa-sidebar__group.is-active > .sa-sidebar__link--toggle {
    color: #fff;
    font-weight: 600;
    background-color: color-mix(in srgb, var(--sa-primary) 22%, var(--sa-secondary));
    box-shadow: inset 3px 0 0 var(--sa-primary);
}

.idp-superadmin .sa-sidebar__icon {
    flex: 0 0 1.25rem;
    width: 1.25rem;
    text-align: center;
}

.idp-superadmin .sa-sidebar__icon .os-icon {
    font-size: 1.125rem;
    line-height: 1;
}

.idp-superadmin .sa-sidebar__label {
    flex: 1 1 auto;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: opacity 0.15s ease;
}

.idp-superadmin .sa-sidebar__label--truncate {
    max-width: 10rem;
}

.idp-superadmin .sa-sidebar__chevron {
    flex: 0 0 auto;
    margin-left: auto;
    transition: transform 0.2s ease, opacity 0.15s ease;
}

.idp-superadmin .sa-sidebar__link--toggle[aria-expanded='true'] .sa-sidebar__chevron {
    transform: rotate(180deg);
}

.idp-superadmin .sa-sidebar__group {
    position: relative;
}

.idp-superadmin .sa-sidebar__submenu {
    padding: 0.125rem 0 0.375rem 0.5rem;
}

.idp-superadmin .sa-sidebar__sublink {
    min-height: 2.5rem;
    padding-left: 2.5rem;
    font-size: 0.8125rem;
}

.idp-superadmin .sa-sidebar__sublink .sa-sidebar__icon .os-icon {
    font-size: 1rem;
}

.idp-superadmin.sa-sidebar-collapsed .sa-sidebar__label,
.idp-superadmin.sa-sidebar-collapsed .sa-sidebar__chevron {
    opacity: 0;
    width: 0;
    overflow: hidden;
}

.idp-superadmin.sa-sidebar-collapsed .sa-sidebar__link,
.idp-superadmin.sa-sidebar-collapsed .sa-sidebar__link--toggle {
    justify-content: center;
    padding-left: 0.625rem;
    padding-right: 0.625rem;
}

.idp-superadmin.sa-sidebar-collapsed .sa-sidebar__sublink {
    padding-left: 0.75rem;
}

.idp-superadmin.sa-sidebar-collapsed .sa-sidebar__submenu.collapse {
    display: none !important;
}

.idp-superadmin.sa-sidebar-collapsed .sa-sidebar__group:hover > .sa-sidebar__submenu,
.idp-superadmin.sa-sidebar-collapsed .sa-sidebar__group:focus-within > .sa-sidebar__submenu,
.idp-superadmin.sa-sidebar-collapsed .sa-sidebar__group.is-flyout-open > .sa-sidebar__submenu {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    position: absolute;
    left: calc(100% + 0.375rem);
    top: 0;
    min-width: 13.5rem;
    padding: 0.375rem;
    border-radius: 0.5rem;
    background-color: var(--sa-secondary);
    box-shadow: 0 8px 24px color-mix(in srgb, var(--sa-secondary) 35%, #000);
    z-index: 1050;
}

.idp-superadmin.sa-sidebar-collapsed .sa-sidebar__group:hover > .sa-sidebar__submenu .sa-sidebar__label,
.idp-superadmin.sa-sidebar-collapsed .sa-sidebar__group:focus-within > .sa-sidebar__submenu .sa-sidebar__label,
.idp-superadmin.sa-sidebar-collapsed .sa-sidebar__group.is-flyout-open > .sa-sidebar__submenu .sa-sidebar__label {
    opacity: 1;
    width: auto;
}

.idp-superadmin.sa-sidebar-collapsed .sa-sidebar__head .sa-sidebar__group--user > .sa-sidebar__submenu {
    top: 0;
    left: calc(100% + 0.375rem);
    right: auto;
    border-radius: 0.5rem;
}

.idp-superadmin .sa-sidebar-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1035;
    background: color-mix(in srgb, var(--sa-secondary) 55%, #000);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
}

.idp-superadmin.sa-sidebar-mobile-open .sa-sidebar-backdrop {
    opacity: 0.45;
    pointer-events: auto;
}

/* --- Top bar --- */
.idp-superadmin .sa-topbar {
    position: sticky;
    top: 0;
    z-index: 1010;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
    min-height: var(--sa-topbar-height);
    padding: 0.625rem max(var(--sa-content-px-lg), env(safe-area-inset-right, 0px)) 0.625rem max(var(--sa-content-px-lg), env(safe-area-inset-left, 0px));
    background-color: var(--sa-topbar-bg);
    color: rgba(255, 255, 255, 0.92);
    border-bottom: 1px solid color-mix(in srgb, #fff 10%, var(--sa-topbar-bg));
    box-shadow: 0 1px 0 color-mix(in srgb, #fff 8%, var(--sa-topbar-bg));
}

.idp-superadmin .sa-topbar__start {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex: 0 1 auto;
    min-width: 0;
}

.idp-superadmin .sa-topbar__title {
    font-family: var(--idp-font-family-heading);
    font-size: 0.9375rem;
    font-weight: 600;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.idp-superadmin .sa-topbar__search-wrap {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex: 1 1 18rem;
    max-width: 32rem;
    min-width: 0;
    margin-right: auto;
}

.idp-superadmin .sa-topbar__brand {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    line-height: 0;
    text-decoration: none;
}

.idp-superadmin .sa-topbar__brand-img {
    display: block;
    width: auto;
    height: 2rem;
    max-height: 2rem;
    object-fit: contain;
    object-position: left center;
}

.idp-superadmin .sa-topbar__brand-img--entity {
    max-width: 10.5rem;
    max-height: 2.75rem;
    height: auto;
}

.idp-superadmin .sa-topbar__search {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
}

.idp-superadmin .sa-topbar__search-icon {
    position: absolute;
    left: 0.875rem;
    top: 50%;
    transform: translateY(-50%);
    color: color-mix(in srgb, var(--sa-text) 55%, #fff);
    pointer-events: none;
    line-height: 1;
}

.idp-superadmin .sa-topbar__search-icon .os-icon {
    font-size: 1rem;
}

.idp-superadmin .sa-topbar__search-input {
    width: 100%;
    min-height: 2.5rem;
    padding: 0.4375rem 0.875rem 0.4375rem 2.5rem;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 999px;
    background-color: #fff;
    color: var(--sa-text);
    font-size: 0.875rem;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.idp-superadmin .sa-topbar__search-input::placeholder {
    color: color-mix(in srgb, var(--sa-text) 45%, #fff);
}

.idp-superadmin .sa-topbar__search-input:hover {
    border-color: rgba(255, 255, 255, 0.55);
}

.idp-superadmin .sa-topbar__search-input:focus {
    border-color: #fff;
    background-color: #fff;
    box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.25);
}

.idp-superadmin .sa-topbar__search-results {
    position: absolute;
    top: calc(100% + 0.375rem);
    left: 0;
    right: 0;
    z-index: 1060;
    max-height: min(20rem, calc(100vh - 8rem));
    overflow-y: auto;
    border-radius: 0.75rem;
    background-color: #fff;
    border: 1px solid var(--bs-border-color);
    box-shadow: 0 12px 32px rgba(10, 34, 60, 0.18);
}

.idp-superadmin .sa-topbar__search-list {
    list-style: none;
    margin: 0;
    padding: 0.375rem;
}

.idp-superadmin .sa-topbar__search-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.125rem;
    width: 100%;
    padding: 0.625rem 0.75rem;
    border: 0;
    border-radius: 0.5rem;
    background: transparent;
    color: var(--sa-text);
    text-align: left;
    transition: background-color 0.15s ease;
}

.idp-superadmin .sa-topbar__search-item:hover,
.idp-superadmin .sa-topbar__search-item.is-active {
    background-color: color-mix(in srgb, var(--sa-primary) 10%, #fff);
}

.idp-superadmin .sa-topbar__search-item-type {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--sa-primary);
}

.idp-superadmin .sa-topbar__search-item-type--plan {
    color: var(--sa-highlight);
}

.idp-superadmin .sa-topbar__search-item-type--billing-cycle {
    color: var(--sa-secondary);
}

.idp-superadmin .sa-topbar__search-item-type--subscription {
    color: #198754;
}

.idp-superadmin .sa-topbar__search-item-type--subscription-order {
    color: var(--bs-warning, #f5a623);
}

.idp-superadmin .sa-topbar__search-item-type--super-admin {
    color: #6f42c1;
}

.idp-superadmin .sa-topbar__search-item-type--email-template {
    color: #0dcaf0;
}

.idp-superadmin .sa-topbar__search-item-type--entity {
    color: var(--sa-primary);
}

.idp-superadmin .sa-topbar__search-item-title {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--sa-secondary);
}

.idp-superadmin .sa-topbar__search-item-subtitle {
    font-size: 0.75rem;
    color: color-mix(in srgb, var(--sa-text) 70%, #fff);
}

.idp-superadmin .sa-topbar__search-empty {
    padding: 0.875rem 0.75rem;
    font-size: 0.8125rem;
    color: color-mix(in srgb, var(--sa-text) 75%, #fff);
}

.idp-superadmin .sa-topbar__end {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex: 0 0 auto;
    margin-left: auto;
}

.idp-superadmin .sa-topbar__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.idp-superadmin .sa-topbar__actions .btn {
    border-color: rgba(255, 255, 255, 0.45);
}

.idp-superadmin .sa-topbar__actions .btn-light,
.idp-superadmin .sa-topbar__actions .btn-outline-light {
    color: var(--sa-secondary);
}

.idp-superadmin .sa-topbar__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: var(--sa-touch-min);
    height: var(--sa-touch-min);
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 0.5rem;
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}

.idp-superadmin .sa-topbar__toggle:hover {
    background-color: rgba(255, 255, 255, 0.22);
    border-color: rgba(255, 255, 255, 0.65);
    color: #fff;
}

@media (max-width: 991.98px) {
    .idp-superadmin .sa-topbar {
        padding-left: max(var(--sa-content-px), env(safe-area-inset-left, 0px));
        padding-right: max(var(--sa-content-px), env(safe-area-inset-right, 0px));
    }

    .idp-superadmin .sa-topbar__start:not(:has(.sa-topbar__title)) {
        display: none;
    }

    .idp-superadmin .sa-topbar__search-wrap {
        flex: 1 1 100%;
        max-width: none;
        margin-right: 0;
    }

    .idp-superadmin .sa-topbar__end {
        margin-left: 0;
    }
}

@media (min-width: 992px) {
    .idp-superadmin .sa-topbar__start:not(:has(.sa-topbar__title)) {
        display: none;
    }
}

@media (max-width: 991.98px) {
    .idp-superadmin .sa-shell__main {
        margin-left: 0;
    }

    .idp-superadmin.sa-sidebar-collapsed .sa-shell__main {
        margin-left: 0;
    }

    .idp-superadmin .sa-sidebar {
        transform: translateX(-100%);
        width: min(var(--sa-sidebar-width), 88vw) !important;
    }

    .idp-superadmin.sa-sidebar-mobile-open .sa-sidebar {
        transform: translateX(0);
    }

    .idp-superadmin.sa-sidebar-mobile-open {
        overflow: hidden;
    }
}

.idp-superadmin .navbar-dark,
.idp-superadmin .sa-navbar {
    --bs-navbar-bg: var(--sa-secondary);
    --bs-navbar-color: rgba(255, 255, 255, 0.88);
    --bs-navbar-hover-color: #fff;
    --bs-navbar-active-color: #fff;
    --bs-navbar-brand-color: #fff;
    --bs-navbar-brand-hover-color: #fff;
    --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.35);
    background-color: var(--sa-secondary) !important;
}

/* --- Navbar (.sa-navbar) — cor secundária #0A223C do manual --- */
.idp-superadmin .sa-navbar {
    position: sticky;
    top: 0;
    z-index: var(--bs-navbar-zindex, 1030);
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    box-shadow: 0 1px 3px color-mix(in srgb, var(--sa-secondary) 25%, #000);
}

.idp-superadmin .sa-navbar .navbar-brand {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

.idp-superadmin .sa-navbar .nav-link {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.88);
    border-radius: 0.375rem;
    transition: color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

.idp-superadmin .sa-navbar .nav-link .os-icon {
    flex-shrink: 0;
    opacity: 0.92;
}

.idp-superadmin .sa-navbar .nav-link:hover,
.idp-superadmin .sa-navbar .nav-link:focus {
    color: #fff;
    background-color: color-mix(in srgb, #fff 12%, var(--sa-secondary));
}

.idp-superadmin .sa-navbar .nav-link.active,
.idp-superadmin .sa-navbar .nav-link.show {
    color: #fff !important;
    font-weight: 600;
    background-color: color-mix(in srgb, var(--sa-primary) 22%, var(--sa-secondary));
    box-shadow: inset 0 -2px 0 var(--sa-primary);
}

.idp-superadmin .sa-navbar .dropdown-menu {
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 4px 16px color-mix(in srgb, var(--sa-secondary) 18%, #000);
    padding: 0.375rem;
    margin-top: 0.375rem;
}

@media (min-width: 1200px) {
    .idp-superadmin .sa-navbar .nav-item.dropdown {
        position: relative;
    }

    /* Ponte invisível entre o toggle e o submenu (evita fechar no mouseover) */
    .idp-superadmin .sa-navbar .nav-item.dropdown::after {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        height: 0.5rem;
    }

    .idp-superadmin .sa-navbar .nav-item.dropdown .dropdown-menu {
        margin-top: 0.125rem;
    }
}

.idp-superadmin .sa-navbar .dropdown-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    border-radius: 0.375rem;
    color: var(--sa-text);
}

.idp-superadmin .sa-navbar .dropdown-item .os-icon {
    flex-shrink: 0;
    color: var(--sa-secondary);
}

.idp-superadmin .sa-navbar .dropdown-item:hover,
.idp-superadmin .sa-navbar .dropdown-item:focus,
.idp-superadmin .sa-navbar .dropdown-item.active {
    background-color: color-mix(in srgb, var(--sa-primary) 10%, #fff);
    color: var(--sa-secondary);
}

.idp-superadmin .sa-navbar .dropdown-divider {
    margin: 0.375rem 0;
    border-color: var(--bs-border-color);
}

.idp-superadmin .sa-navbar .navbar-toggler,
.idp-superadmin .sa-navbar .sa-navbar__toggler {
    border-color: color-mix(in srgb, #fff 35%, transparent);
    padding: 0.375rem 0.625rem;
    border-radius: 0.375rem;
}

.idp-superadmin .sa-navbar .navbar-toggler:focus,
.idp-superadmin .sa-navbar .sa-navbar__toggler:focus {
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--sa-primary) 35%, transparent);
}

.idp-superadmin .sa-navbar__user .nav-link {
    max-width: 14rem;
}

.idp-superadmin .sa-navbar__user-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 1199.98px) {
    .idp-superadmin {
        --sa-nav-mobile-bar-h: 3.5rem;
        --sa-nav-mobile-touch: 2.75rem;
        --sa-nav-mobile-font: 1rem;
        --sa-nav-mobile-sub-font: 0.9375rem;
        --sa-nav-mobile-icon: 1.125rem;
        --sa-nav-mobile-gap: 0.375rem;
        --sa-nav-mobile-px: 1rem;
    }

    .idp-superadmin.sa-navbar-menu-open {
        overflow: hidden;
    }

    .idp-superadmin.sa-navbar-menu-open::before {
        content: '';
        position: fixed;
        inset: 0;
        z-index: 1025;
        background: color-mix(in srgb, var(--sa-secondary) 55%, #000);
        opacity: 0.45;
    }

    .idp-superadmin .sa-navbar {
        padding-top: 0.625rem;
        padding-bottom: 0.625rem;
    }

    .idp-superadmin .sa-navbar .sa-navbar__inner {
        position: relative;
        flex-wrap: wrap;
        align-items: center;
        min-height: var(--sa-nav-mobile-bar-h);
        padding-left: var(--sa-nav-mobile-px);
        padding-right: var(--sa-nav-mobile-px);
    }

    .idp-superadmin .sa-navbar .navbar-brand {
        padding-top: 0;
        padding-bottom: 0;
    }

    .idp-superadmin .sa-navbar .navbar-brand img {
        height: 2rem;
    }

    .idp-superadmin .sa-navbar .sa-navbar__collapse {
        position: absolute;
        top: calc(100% + 0.375rem);
        left: calc(-1 * var(--sa-nav-mobile-px));
        right: calc(-1 * var(--sa-nav-mobile-px));
        z-index: 2;
        flex-basis: 100%;
        flex-grow: 1;
        max-height: calc(100dvh - var(--sa-nav-mobile-bar-h) - 1.25rem - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        background-color: var(--sa-secondary);
        margin-top: 0;
        padding: 0.625rem var(--sa-nav-mobile-px) calc(0.75rem + env(safe-area-inset-bottom, 0px));
        border-radius: 0 0 0.625rem 0.625rem;
        box-shadow: 0 12px 32px color-mix(in srgb, var(--sa-secondary) 50%, #000);
    }

    .idp-superadmin .sa-navbar .sa-navbar__nav,
    .idp-superadmin .sa-navbar .sa-navbar__user {
        width: 100%;
        gap: var(--sa-nav-mobile-gap);
    }

    .idp-superadmin .sa-navbar .nav-item {
        width: 100%;
    }

    .idp-superadmin .sa-navbar .navbar-nav .nav-link {
        width: 100%;
        min-height: var(--sa-nav-mobile-touch);
        padding: 0.6875rem var(--sa-nav-mobile-px);
        font-size: var(--sa-nav-mobile-font);
        line-height: 1.35;
        gap: 0.625rem;
        justify-content: flex-start;
        border-radius: 0.5rem;
    }

    .idp-superadmin .sa-navbar .navbar-nav .nav-link .os-icon--sm {
        width: 1.25rem;
        font-size: var(--sa-nav-mobile-icon);
        text-align: center;
    }

    .idp-superadmin .sa-navbar .nav-link.active,
    .idp-superadmin .sa-navbar .nav-link.show {
        box-shadow: inset 3px 0 0 var(--sa-primary);
    }

    .idp-superadmin .sa-navbar .dropdown-toggle::after {
        width: 0.4375rem;
        height: 0.4375rem;
        margin-left: auto;
        margin-right: 0.125rem;
        vertical-align: middle;
    }

    .idp-superadmin .sa-navbar .dropdown-menu {
        position: static;
        float: none;
        width: 100%;
        margin: 0.125rem 0 0.375rem;
        padding: 0.25rem 0 0.375rem;
        background-color: color-mix(in srgb, #fff 7%, var(--sa-secondary));
        border-radius: 0.5rem;
        box-shadow: none;
    }

    .idp-superadmin .sa-navbar .dropdown-item {
        min-height: 2.5rem;
        padding: 0.625rem 0.875rem;
        font-size: var(--sa-nav-mobile-sub-font);
        line-height: 1.35;
        color: rgba(255, 255, 255, 0.92);
        border-radius: 0.4375rem;
    }

    .idp-superadmin .sa-navbar .dropdown-item .os-icon--sm {
        width: 1.125rem;
        font-size: 1rem;
        color: rgba(255, 255, 255, 0.88);
    }

    .idp-superadmin .sa-navbar .dropdown-item:hover,
    .idp-superadmin .sa-navbar .dropdown-item:focus,
    .idp-superadmin .sa-navbar .dropdown-item.active {
        background-color: color-mix(in srgb, #fff 14%, var(--sa-secondary));
        color: #fff;
    }

    .idp-superadmin .sa-navbar .dropdown-divider {
        margin: 0.375rem 0.75rem;
        border-color: color-mix(in srgb, #fff 18%, var(--sa-secondary));
    }

    .idp-superadmin .sa-navbar__user {
        margin-top: 0.625rem;
        padding-top: 0.625rem;
        border-top: 1px solid color-mix(in srgb, #fff 18%, var(--sa-secondary));
    }

    .idp-superadmin .sa-navbar__user .nav-link {
        max-width: none;
    }

    .idp-superadmin .sa-navbar__user .dropdown-menu {
        background-color: color-mix(in srgb, #fff 7%, var(--sa-secondary));
    }

    .idp-superadmin .sa-navbar .navbar-toggler,
    .idp-superadmin .sa-navbar .sa-navbar__toggler {
        min-width: var(--sa-nav-mobile-touch);
        min-height: var(--sa-nav-mobile-touch);
        padding: 0.5rem;
        border-radius: 0.5rem;
    }

    .idp-superadmin .sa-navbar .navbar-toggler-icon {
        width: 1.25rem;
        height: 1.25rem;
    }
}

.idp-superadmin .card,
.idp-superadmin .sa-card {
    border: 0;
    box-shadow: var(--idp-shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, 0.05));
    background-color: #fff;
}

.idp-superadmin .card .display-6,
.idp-superadmin .sa-card .display-6 {
    font-size: 2rem;
}

.idp-superadmin .card.bg-primary,
.idp-superadmin .sa-card.bg-primary,
.idp-superadmin .sa-card--metric.bg-primary {
    background: var(--sa-gradient) !important;
    border-color: transparent;
}

/* --- Card padrão (.sa-card) --- */
.idp-superadmin .sa-card .card-header {
    background-color: #fff;
    border-bottom: 1px solid var(--bs-border-color);
    padding: 1rem 1.25rem;
}

.idp-superadmin .sa-card .card-body {
    padding: 1.25rem;
}

.idp-superadmin .sa-card .card-header h5,
.idp-superadmin .sa-card .card-header .h5 {
    font-family: var(--idp-font-family-heading);
    color: var(--sa-secondary);
}

/* Header brand: explícito ou automático em cards de detalhe (show) */
.idp-superadmin .sa-card__header--brand,
.idp-superadmin .sa-card.sa-card--flush:has(.sa-detail-table__label) > .card-header:not(.bg-white):not(.bg-light):not(.sa-card__header--dark) {
    background: var(--sa-gradient);
    border-bottom: 0;
    color: #fff;
}

.idp-superadmin .sa-card__header--brand h5,
.idp-superadmin .sa-card__header--brand .h5,
.idp-superadmin .sa-card__header--brand h6,
.idp-superadmin .sa-card.sa-card--flush:has(.sa-detail-table__label) > .card-header:not(.bg-white):not(.bg-light):not(.sa-card__header--dark) h5,
.idp-superadmin .sa-card.sa-card--flush:has(.sa-detail-table__label) > .card-header:not(.bg-white):not(.bg-light):not(.sa-card__header--dark) .h5,
.idp-superadmin .sa-card.sa-card--flush:has(.sa-detail-table__label) > .card-header:not(.bg-white):not(.bg-light):not(.sa-card__header--dark) h6 {
    color: #fff;
}

/* Home da plataforma (/) — logo idPlugger sobre gradiente */
.idp-superadmin .sa-platform-entry__visual {
    background: var(--sa-gradient);
}

.idp-superadmin .sa-platform-entry__logo {
    display: block;
    width: auto;
    max-width: min(100%, 14rem);
    height: auto;
    max-height: 4rem;
    object-fit: contain;
    object-position: center;
}

.idp-superadmin .sa-subscribe-plans-header {
    background: var(--sa-gradient);
    color: #fff;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.idp-superadmin .sa-subscribe-plans-header__inner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem 1.5rem;
    max-width: 87.5rem;
    margin: 0 auto;
    padding: 0.75rem clamp(1rem, 2.5vw, 2rem);
}

.idp-superadmin .sa-subscribe-plans-header__brand {
    flex-shrink: 0;
}

.idp-superadmin .sa-subscribe-plans-header__text {
    min-width: 0;
    text-align: right;
}

.idp-superadmin .sa-subscribe-plans-header .sa-platform-entry__logo {
    max-height: 2.5rem;
}

.idp-superadmin .sa-subscribe-steps--toolbar {
    justify-content: center;
    margin: 0 auto;
    max-width: 28rem;
}

.idp-superadmin .sa-subscribe-steps--toolbar .sa-subscribe-steps__item {
    flex-direction: row;
    flex: 0 1 auto;
    gap: 0.35rem;
    padding: 0 0.15rem;
}

.idp-superadmin .sa-subscribe-steps--toolbar .sa-subscribe-steps__item:not(:last-child)::after {
    top: 50%;
    left: calc(100% + 0.1rem);
    width: 0.85rem;
    height: 2px;
    transform: translateY(-50%);
}

.idp-superadmin .sa-subscribe-steps--toolbar .sa-subscribe-steps__number {
    width: 1.5rem;
    height: 1.5rem;
    margin-bottom: 0;
    font-size: 0.75rem;
}

.idp-superadmin .sa-subscribe-steps--toolbar .sa-subscribe-steps__label {
    font-size: 0.625rem;
    white-space: nowrap;
}

@media (max-width: 991.98px) {
    .idp-superadmin .sa-subscribe-plans-header__inner {
        grid-template-columns: 1fr auto;
        grid-template-areas:
            "brand steps"
            "text text";
        gap: 0.65rem 1rem;
        padding-top: 0.65rem;
        padding-bottom: 0.65rem;
    }

    .idp-superadmin .sa-subscribe-plans-header__brand {
        grid-area: brand;
    }

    .idp-superadmin .sa-subscribe-steps--toolbar {
        grid-area: steps;
        justify-self: end;
        max-width: none;
    }

    .idp-superadmin .sa-subscribe-plans-header__text {
        grid-area: text;
        text-align: left;
    }
}

@media (max-width: 575.98px) {
    .idp-superadmin .sa-subscribe-steps--toolbar .sa-subscribe-steps__label {
        display: none;
    }

    .idp-superadmin .sa-subscribe-steps--toolbar .sa-subscribe-steps__item:not(:last-child)::after {
        width: 0.5rem;
    }
}

/* Subscribe (/subscribe) — passos e validação de e-mail */
.idp-superadmin .sa-subscribe-steps {
    display: flex;
    align-items: flex-start;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
}

.idp-superadmin .sa-subscribe-steps__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1 1 0;
    min-width: 0;
    position: relative;
    color: rgba(255, 255, 255, 0.55);
    text-align: center;
}

.idp-superadmin .sa-subscribe-steps__item:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 1rem;
    left: calc(50% + 1.25rem);
    width: calc(100% - 2.5rem);
    height: 2px;
    background: rgba(255, 255, 255, 0.35);
}

.idp-superadmin .sa-subscribe-steps__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.45);
    font-size: 0.875rem;
    font-weight: 700;
    margin-bottom: 0.35rem;
    background: transparent;
}

.idp-superadmin .sa-subscribe-steps__item.is-active {
    color: #fff;
}

.idp-superadmin .sa-subscribe-steps__item.is-active .sa-subscribe-steps__number {
    background: #fff;
    border-color: #fff;
    color: var(--sa-primary, #ef5942);
}

.idp-superadmin .sa-subscribe-steps__item.is-completed {
    color: rgba(255, 255, 255, 0.85);
}

.idp-superadmin .sa-subscribe-steps__item.is-completed .sa-subscribe-steps__number {
    background: rgba(255, 255, 255, 0.92);
    border-color: rgba(255, 255, 255, 0.92);
    color: var(--sa-primary, #ef5942);
}

.idp-superadmin .sa-subscribe-steps__label {
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.idp-superadmin .sa-subscribe-email-wrap .form-control.is-valid-email {
    border-color: var(--bs-success);
    padding-right: 2.5rem;
}

.idp-superadmin .sa-subscribe-email-wrap .form-control.is-invalid-email {
    border-color: var(--bs-danger);
    padding-right: 2.5rem;
}

.idp-superadmin .sa-subscribe-email-icon {
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    font-size: 1.1rem;
}

.idp-superadmin .sa-subscribe-email-icon.is-valid {
    color: var(--bs-success);
}

.idp-superadmin .sa-subscribe-email-icon.is-invalid {
    color: var(--bs-danger);
}

.idp-superadmin .sa-subscribe-check-email__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 5rem;
    height: 5rem;
    margin-bottom: 1.25rem;
    border-radius: 50%;
    background: var(--sa-gradient);
    color: #fff;
    font-size: 2rem;
}

/* Subscribe — seleção de planos */
.idp-superadmin .sa-subscribe-plan-card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 1.5rem;
    border: 2px solid var(--bs-border-color);
    border-radius: 0.75rem;
    background: #fff;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.idp-superadmin .sa-subscribe-plan-card:hover {
    border-color: color-mix(in srgb, var(--sa-primary, #ef5942) 35%, var(--bs-border-color));
    box-shadow: 0 0.5rem 1.25rem rgba(10, 34, 60, 0.08);
    transform: translateY(-2px);
}

.idp-superadmin .sa-subscribe-plan-card.is-selected {
    border-color: var(--sa-primary, #ef5942);
    box-shadow: 0 0.5rem 1.25rem rgba(239, 89, 66, 0.15);
}

.idp-superadmin .sa-subscribe-plan-card--featured::before {
    content: 'Mais popular';
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    padding: 0.2rem 0.65rem;
    border-radius: 999px;
    background: var(--sa-gradient);
    color: #fff;
    font-size: 0.625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.idp-superadmin .sa-subscribe-plan-card__name {
    margin-bottom: 0.75rem;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--sa-secondary, #0a223c);
}

.idp-superadmin .sa-subscribe-plan-card__price {
    margin-bottom: 1rem;
    font-size: 2rem;
    font-weight: 700;
    color: var(--sa-primary, #ef5942);
    line-height: 1.1;
}

.idp-superadmin .sa-subscribe-plan-card__price small {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--bs-secondary-color);
}

.idp-superadmin .sa-subscribe-plan-card__features {
    flex: 1 1 auto;
    margin: 0 0 1.25rem;
    padding: 0;
    list-style: none;
}

.idp-superadmin .sa-subscribe-plan-card__features li {
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--bs-border-color);
    color: var(--bs-secondary-color);
    font-size: 0.9375rem;
}

.idp-superadmin .sa-subscribe-plan-card__features li:last-child {
    border-bottom: 0;
}

.idp-superadmin .sa-subscribe-plan-card__features i {
    color: var(--bs-success);
    margin-right: 0.5rem;
}

.idp-superadmin .sa-subscribe-plan-card__action {
    display: block;
    width: 100%;
    margin: 0;
    pointer-events: none;
}

.idp-superadmin .sa-subscribe-plan-card__action.is-selected {
    --bs-btn-bg: var(--bs-success);
    --bs-btn-border-color: var(--bs-success);
    --bs-btn-hover-bg: var(--bs-success);
    --bs-btn-hover-border-color: var(--bs-success);
}

.idp-superadmin .sa-subscribe-cycles {
    display: none;
    padding: 1.5rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 0.75rem;
    background: var(--sa-bg, #fafafa);
}

.idp-superadmin .sa-subscribe-cycles.is-visible {
    display: block;
}

.idp-superadmin .sa-subscribe-plans-view.is-hidden {
    display: none;
}

.idp-superadmin .sa-subscribe-selected-plan {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.75rem;
    padding: 0.875rem 1rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 0.75rem;
    background: #fff;
    font-size: 0.9375rem;
}

.idp-superadmin .sa-subscribe-selected-plan__label {
    color: var(--bs-secondary-color);
    font-size: 0.8125rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.idp-superadmin .sa-subscribe-selected-plan__name {
    font-weight: 700;
    color: var(--sa-secondary, #0a223c);
}

.idp-superadmin .sa-subscribe-selected-plan__price {
    margin-left: auto;
    font-weight: 700;
    color: var(--sa-primary, #ef5942);
}

.idp-superadmin .sa-subscribe-back {
    padding-left: 0;
    margin-bottom: 1rem;
    color: var(--sa-secondary, #0a223c);
    font-weight: 600;
    text-decoration: none;
}

.idp-superadmin .sa-subscribe-back:hover {
    color: var(--sa-primary, #ef5942);
}

.idp-superadmin .sa-subscribe-cycle-card {
    height: 100%;
    padding: 1.25rem;
    border: 2px solid var(--bs-border-color);
    border-radius: 0.75rem;
    background: #fff;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.idp-superadmin .sa-subscribe-cycle-card:hover {
    border-color: color-mix(in srgb, var(--sa-primary, #ef5942) 35%, var(--bs-border-color));
    transform: translateY(-2px);
}

.idp-superadmin .sa-subscribe-cycle-card.is-selected {
    border-color: var(--sa-primary, #ef5942);
    box-shadow: 0 0.35rem 1rem rgba(239, 89, 66, 0.12);
}

.idp-superadmin .sa-subscribe-cycle-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.idp-superadmin .sa-subscribe-cycle-card__name {
    font-size: 1rem;
    font-weight: 700;
    color: var(--sa-secondary, #0a223c);
}

.idp-superadmin .sa-subscribe-cycle-card__badge {
    flex-shrink: 0;
    padding: 0.15rem 0.55rem;
    border-radius: 999px;
    background: var(--sa-gradient);
    color: #fff;
    font-size: 0.6875rem;
    font-weight: 700;
    white-space: nowrap;
}

.idp-superadmin .sa-subscribe-cycle-card__duration {
    margin-bottom: 0.5rem;
    color: var(--bs-secondary-color);
    font-size: 0.875rem;
}

.idp-superadmin .sa-subscribe-cycle-card__price {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--sa-primary, #ef5942);
}

.idp-superadmin .sa-subscribe-cycle-card__price small {
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--bs-secondary-color);
}

.idp-superadmin .sa-subscribe-cycle-card__discount {
    margin-top: 0.5rem;
    color: var(--bs-success);
    font-size: 0.8125rem;
    font-weight: 600;
}

/* Subscribe — pagamento e telas de status */
.idp-superadmin .sa-subscribe-payment-method {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem;
    margin-bottom: 0.75rem;
    border: 2px solid var(--bs-border-color);
    border-radius: 0.75rem;
    background: #fff;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.idp-superadmin .sa-subscribe-payment-method:hover {
    border-color: color-mix(in srgb, var(--sa-primary, #ef5942) 35%, var(--bs-border-color));
}

.idp-superadmin .sa-subscribe-payment-method.is-selected {
    border-color: var(--sa-primary, #ef5942);
    background: color-mix(in srgb, var(--sa-primary, #ef5942) 4%, #fff);
    box-shadow: 0 0.35rem 1rem rgba(239, 89, 66, 0.1);
}

.idp-superadmin .sa-subscribe-payment-method__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 0.65rem;
    background: color-mix(in srgb, var(--sa-primary, #ef5942) 10%, #fff);
    color: var(--sa-primary, #ef5942);
    font-size: 1.25rem;
}

.idp-superadmin .sa-subscribe-payment-method__label {
    margin: 0;
    cursor: pointer;
}

.idp-superadmin .sa-subscribe-order-summary {
    padding: 1.5rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 0.75rem;
    background: var(--sa-bg, #fafafa);
}

.idp-superadmin .sa-subscribe-order-summary__row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.65rem 0;
    border-bottom: 1px solid var(--bs-border-color);
}

.idp-superadmin .sa-subscribe-order-summary__row:last-child {
    border-bottom: 0;
}

.idp-superadmin .sa-subscribe-order-summary__label {
    color: var(--bs-secondary-color);
    font-size: 0.8125rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.idp-superadmin .sa-subscribe-order-summary__total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 1rem;
    margin-top: 0.5rem;
    border-top: 2px solid var(--bs-border-color);
    font-size: 1.125rem;
    font-weight: 700;
}

.idp-superadmin .sa-subscribe-order-summary__total-value {
    color: var(--sa-primary, #ef5942);
    font-size: 1.35rem;
}

.idp-superadmin .sa-subscribe-status__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 5rem;
    height: 5rem;
    margin-bottom: 1.25rem;
    border-radius: 50%;
    background: var(--sa-gradient);
    color: #fff;
    font-size: 2rem;
}

.idp-superadmin .sa-subscribe-status__icon--muted {
    background: var(--sa-bg, #fafafa);
    color: var(--bs-warning);
    border: 2px solid var(--bs-border-color);
}

.idp-superadmin .sa-subscribe-status__icon--success {
    background: #fff;
    color: var(--sa-primary, #ef5942);
    border: 3px solid rgba(255, 255, 255, 0.85);
    box-shadow: 0 0.5rem 1.25rem rgba(10, 34, 60, 0.12);
}

.idp-superadmin .sa-subscribe-status__icon--complete {
    background: var(--bs-success);
    color: #fff;
    box-shadow: 0 0.5rem 1.25rem rgba(25, 135, 84, 0.2);
}

.idp-superadmin .sa-subscribe-info-box {
    padding: 1.25rem;
    border: 1px solid var(--bs-border-color);
    border-left: 4px solid var(--sa-primary, #ef5942);
    border-radius: 0.75rem;
    background: var(--sa-bg, #fafafa);
}

.idp-superadmin .sa-subscribe-info-box__row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--bs-border-color);
    font-size: 0.9375rem;
}

.idp-superadmin .sa-subscribe-info-box__row:last-child {
    border-bottom: 0;
}

.idp-superadmin .sa-subscribe-info-box__label {
    color: var(--bs-secondary-color);
}

.idp-superadmin .sa-subscribe-info-box__value {
    font-weight: 600;
    color: var(--sa-secondary, #0a223c);
    text-align: right;
}

.idp-superadmin .sa-subscribe-next-steps {
    padding: 1.25rem;
    border: 1px solid color-mix(in srgb, var(--bs-warning) 35%, var(--bs-border-color));
    border-radius: 0.75rem;
    background: color-mix(in srgb, var(--bs-warning) 8%, #fff);
}

.idp-superadmin .sa-subscribe-next-steps ol {
    margin: 0;
    padding-left: 1.25rem;
    color: var(--bs-secondary-color);
    font-size: 0.9375rem;
}

.idp-superadmin .sa-subscribe-spinner {
    width: 2.75rem;
    height: 2.75rem;
    margin: 1.5rem auto;
    border: 3px solid var(--bs-border-color);
    border-top-color: var(--sa-primary, #ef5942);
    border-radius: 50%;
    animation: sa-subscribe-spin 0.8s linear infinite;
}

@keyframes sa-subscribe-spin {
    to {
        transform: rotate(360deg);
    }
}

.idp-superadmin .sa-platform-entry__visual-media {
    flex: 0 1 auto;
    width: min(100%, 28rem);
    aspect-ratio: 1024 / 856;
    max-height: min(32rem, 70vh);
    background-color: transparent;
    background-image: var(--sa-platform-entry-hero);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.idp-superadmin .sa-card .card-header.bg-primary {
    background: var(--sa-gradient) !important;
    border-bottom: 0;
    color: #fff;
}

.idp-superadmin .sa-card .card-header.bg-primary h5,
.idp-superadmin .sa-card .card-header.bg-primary .h5 {
    color: #fff;
}

.idp-superadmin .sa-card__header--dark {
    background-color: var(--sa-secondary);
    border-bottom: 0;
    color: #fff;
}

.idp-superadmin .sa-card .card-header.sa-card__header--dark {
    background-color: var(--sa-secondary);
    border-bottom: 0;
    color: #fff;
}

.idp-superadmin .sa-card__header--dark h5,
.idp-superadmin .sa-card__header--dark .h5,
.idp-superadmin .sa-card .card-header.sa-card__header--dark h5,
.idp-superadmin .sa-card .card-header.sa-card__header--dark .h5 {
    color: #fff;
}

.idp-superadmin .sa-card--metric .card-body {
    padding: 1.25rem;
}

.idp-superadmin .sa-card--metric .card-title {
    font-family: var(--idp-font-family-primary);
    font-size: 0.875rem;
    font-weight: 500;
    text-transform: none;
    letter-spacing: normal;
}

.idp-superadmin .sa-card--mini .card-body {
    padding: 1.25rem;
    text-align: center;
}

.idp-superadmin .sa-card--mini .card-body h6 {
    font-family: var(--idp-font-family-primary);
    font-size: 0.8125rem;
    font-weight: 600;
}

.idp-superadmin .sa-card--mini .card-body .h3 {
    font-family: var(--idp-font-family-heading);
    color: var(--sa-secondary);
}

.idp-superadmin .sa-card--flush > .card-body,
.idp-superadmin .sa-card--table > .card-body {
    padding: 0;
}

.idp-superadmin .sa-card--flush .list-group-item:first-child {
    border-top: 0;
}

.idp-superadmin .sa-card__footer {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
    padding: 1rem 1.25rem;
    background-color: #fff;
    border-top: 1px solid var(--bs-border-color);
}

.idp-superadmin .sa-card__footer--end {
    justify-content: flex-end;
}

.idp-superadmin .sa-card__empty {
    padding: 2.5rem 1.25rem;
    text-align: center;
    color: color-mix(in srgb, var(--sa-text) 75%, #fff);
}

.idp-superadmin .btn-primary {
    background: var(--sa-gradient);
    border-color: var(--sa-primary);
    color: #fff;
}

.idp-superadmin .btn-primary:hover,
.idp-superadmin .btn-primary:focus,
.idp-superadmin .btn-primary:active {
    background: linear-gradient(90deg, color-mix(in srgb, var(--sa-primary) 85%, #000) 15%, color-mix(in srgb, var(--sa-highlight) 85%, #000) 85%);
    border-color: color-mix(in srgb, var(--sa-primary) 85%, #000);
    color: #fff;
}

.idp-superadmin .btn-outline-primary {
    color: var(--sa-primary);
    border-color: var(--sa-primary);
}

.idp-superadmin .btn-outline-primary:hover,
.idp-superadmin .btn-outline-primary:focus,
.idp-superadmin .btn-outline-primary:active {
    background: var(--sa-gradient);
    border-color: var(--sa-primary);
    color: #fff;
}

.idp-superadmin .btn-outline-success {
    color: var(--sa-secondary);
    border-color: var(--sa-secondary);
}

.idp-superadmin .btn-outline-success:hover,
.idp-superadmin .btn-outline-success:focus,
.idp-superadmin .btn-outline-success:active {
    background-color: var(--sa-secondary);
    border-color: var(--sa-secondary);
    color: #fff;
}

.idp-superadmin .btn-outline-secondary {
    color: var(--sa-text);
    border-color: color-mix(in srgb, var(--sa-text) 40%, #fff);
}

.idp-superadmin .btn-outline-secondary:hover,
.idp-superadmin .btn-outline-secondary:focus,
.idp-superadmin .btn-outline-secondary:active {
    background-color: var(--sa-text);
    border-color: var(--sa-text);
    color: #fff;
}

.idp-superadmin .btn-outline-danger {
    color: var(--sa-highlight);
    border-color: var(--sa-highlight);
}

.idp-superadmin .btn-outline-danger:hover,
.idp-superadmin .btn-outline-danger:focus,
.idp-superadmin .btn-outline-danger:active {
    background-color: var(--sa-highlight);
    border-color: var(--sa-highlight);
    color: #fff;
}

.idp-superadmin .btn-warning {
    background-color: var(--sa-primary);
    border-color: var(--sa-primary);
    color: #fff;
}

.idp-superadmin .btn-warning:hover,
.idp-superadmin .btn-warning:focus,
.idp-superadmin .btn-warning:active {
    background-color: color-mix(in srgb, var(--sa-primary) 85%, #000);
    border-color: color-mix(in srgb, var(--sa-primary) 85%, #000);
    color: #fff;
}

/* --- Ações em tabelas (.sa-actions / .sa-btn-action) --- */
.idp-superadmin .sa-actions {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    align-items: center;
}

.idp-superadmin .sa-actions form {
    display: inline-flex;
    margin: 0;
}

.idp-superadmin .sa-btn-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    line-height: 1;
    border-width: 1px;
    border-style: solid;
    background-color: #fff;
    border-radius: 0.375rem;
    transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.idp-superadmin .sa-btn-action .os-icon {
    font-size: 1rem;
    pointer-events: none;
}

.idp-superadmin .sa-btn-action:disabled,
.idp-superadmin .sa-btn-action.disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.idp-superadmin .sa-btn-action--view,
.idp-superadmin .sa-btn-action--show,
.idp-superadmin .sa-btn-action--download,
.idp-superadmin .sa-btn-action--upload,
.idp-superadmin .sa-btn-action--hide {
    color: var(--sa-secondary);
    border-color: color-mix(in srgb, var(--sa-secondary) 38%, #fff);
}

.idp-superadmin .sa-btn-action--view:hover,
.idp-superadmin .sa-btn-action--view:focus,
.idp-superadmin .sa-btn-action--show:hover,
.idp-superadmin .sa-btn-action--show:focus,
.idp-superadmin .sa-btn-action--download:hover,
.idp-superadmin .sa-btn-action--download:focus,
.idp-superadmin .sa-btn-action--upload:hover,
.idp-superadmin .sa-btn-action--upload:focus,
.idp-superadmin .sa-btn-action--hide:hover,
.idp-superadmin .sa-btn-action--hide:focus {
    color: #fff;
    background-color: var(--sa-secondary);
    border-color: var(--sa-secondary);
}

.idp-superadmin .sa-btn-action--edit,
.idp-superadmin .sa-btn-action--add,
.idp-superadmin .sa-btn-action--link {
    color: var(--sa-primary);
    border-color: color-mix(in srgb, var(--sa-primary) 45%, #fff);
}

.idp-superadmin .sa-btn-action--edit:hover,
.idp-superadmin .sa-btn-action--edit:focus,
.idp-superadmin .sa-btn-action--add:hover,
.idp-superadmin .sa-btn-action--add:focus,
.idp-superadmin .sa-btn-action--link:hover,
.idp-superadmin .sa-btn-action--link:focus {
    color: #fff;
    background: var(--sa-gradient);
    border-color: var(--sa-primary);
}

.idp-superadmin .sa-btn-action--delete,
.idp-superadmin .sa-btn-action--remove,
.idp-superadmin .sa-btn-action--unlink {
    color: var(--sa-highlight);
    border-color: color-mix(in srgb, var(--sa-highlight) 45%, #fff);
}

.idp-superadmin .sa-btn-action--delete:hover,
.idp-superadmin .sa-btn-action--delete:focus,
.idp-superadmin .sa-btn-action--remove:hover,
.idp-superadmin .sa-btn-action--remove:focus,
.idp-superadmin .sa-btn-action--unlink:hover,
.idp-superadmin .sa-btn-action--unlink:focus {
    color: #fff;
    background-color: var(--sa-highlight);
    border-color: var(--sa-highlight);
}

.idp-superadmin .sa-btn-action--lock {
    color: color-mix(in srgb, var(--sa-text) 55%, #fff);
    border-color: var(--bs-border-color);
    background-color: color-mix(in srgb, var(--sa-text) 4%, #fff);
}

/* Títulos — VAG Rundschrift D; cor só onde não há utilitário de texto */
.idp-superadmin h1,
.idp-superadmin h2,
.idp-superadmin h3,
.idp-superadmin h4,
.idp-superadmin h5,
.idp-superadmin h6,
.idp-superadmin .h1,
.idp-superadmin .h2,
.idp-superadmin .h3,
.idp-superadmin .h4,
.idp-superadmin .h5,
.idp-superadmin .h6 {
    font-family: var(--idp-font-family-heading);
}

.idp-superadmin h1:not(.card-title):not(.modal-title):not([class*="text-"]),
.idp-superadmin h2:not(.card-title):not(.modal-title):not([class*="text-"]),
.idp-superadmin h3:not(.card-title):not(.modal-title):not([class*="text-"]),
.idp-superadmin h4:not(.card-title):not(.modal-title):not([class*="text-"]),
.idp-superadmin h5:not(.card-title):not(.modal-title):not([class*="text-"]),
.idp-superadmin .card-header h5,
.idp-superadmin .card-header .h5 {
    color: var(--sa-secondary);
}

.idp-superadmin .text-muted {
    color: color-mix(in srgb, var(--sa-text) 75%, #fff) !important;
}

/* --- Tabela padrão (.sa-table) --- */
.idp-superadmin .sa-table {
    --sa-table-head-bg: var(--sa-secondary);
    --sa-table-head-color: #fff;
    --sa-table-border: var(--bs-border-color);
    --sa-table-hover: color-mix(in srgb, var(--sa-primary) 6%, #fff);
    --sa-table-stripe: color-mix(in srgb, var(--sa-secondary) 3%, #fff);

    margin-bottom: 0;
    color: var(--sa-text);
    vertical-align: middle;
}

.idp-superadmin .sa-table thead th,
.idp-superadmin table.sa-table.dataTable thead > tr > th {
    background-color: var(--sa-table-head-bg);
    color: var(--sa-table-head-color);
    font-family: var(--idp-font-family-primary);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    border: 0;
    padding: 0.875rem 1rem;
    white-space: nowrap;
}

.idp-superadmin .sa-table tbody td {
    padding: 0.875rem 1rem;
    border-bottom: 1px solid var(--sa-table-border);
    background-color: #fff;
}

.idp-superadmin .sa-table tbody tr:last-child td {
    border-bottom: 0;
}

.idp-superadmin .sa-table.table-hover tbody tr:hover td,
.idp-superadmin .sa-table tbody tr:hover td {
    background-color: var(--sa-table-hover);
}

.idp-superadmin .sa-table.table-striped > tbody > tr:nth-of-type(odd) > *,
.idp-superadmin .sa-table--striped > tbody > tr:nth-of-type(odd) > * {
    background-color: var(--sa-table-stripe);
}

.idp-superadmin .sa-table.table-striped > tbody > tr:nth-of-type(odd):hover > *,
.idp-superadmin .sa-table--striped > tbody > tr:nth-of-type(odd):hover > * {
    background-color: var(--sa-table-hover);
}

.idp-superadmin .sa-table--sm thead th,
.idp-superadmin .sa-table--sm tbody td,
.idp-superadmin .sa-table.table-sm thead th,
.idp-superadmin .sa-table.table-sm tbody td {
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
}

.idp-superadmin .sa-table__empty td {
    padding: 2.5rem 1rem !important;
    text-align: center;
    color: color-mix(in srgb, var(--sa-text) 75%, #fff);
    background-color: #fff !important;
}

.idp-superadmin .sa-detail-table__label {
    width: 38%;
    font-weight: 600;
    color: var(--sa-secondary);
    background-color: color-mix(in srgb, var(--sa-secondary) 4%, #fff);
    white-space: nowrap;
}

.idp-superadmin .sa-color-swatch {
    display: inline-block;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 0.375rem;
    border: 1px solid var(--bs-border-color);
    vertical-align: middle;
}

.idp-superadmin .sa-table-wrapper:not(:has(.sa-table--scroll)) {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: visible;
    overflow-y: hidden;
}

/* Bootstrap .table-responsive-* controla overflow; só reforçamos dimensões */
.idp-superadmin [class*="table-responsive"].sa-table-wrapper:not(:has(.sa-table--scroll)) {
    display: block;
    width: 100%;
    max-width: 100%;
}

.idp-superadmin .sa-table-wrapper:has(.sa-table--scroll),
.idp-superadmin [class*="table-responsive"].sa-table-wrapper:has(.sa-table--scroll) {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
}

.idp-superadmin .sa-table-wrapper:not(:has(.sa-table--scroll)) .dataTables_wrapper {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.idp-superadmin .sa-table-wrapper:has(.sa-table--scroll) .dataTables_wrapper {
    width: max-content;
    min-width: 100%;
    max-width: none;
}

@media (min-width: 1200px) {
    .idp-superadmin [class*="table-responsive"].sa-table-wrapper:not(:has(.sa-table--scroll)) {
        overflow-x: visible !important;
    }

    .idp-superadmin .sa-table-wrapper:not(:has(.sa-table--scroll)) .dataTables_wrapper {
        width: 100% !important;
        max-width: 100%;
    }

    .idp-superadmin .sa-table-wrapper:not(:has(.sa-table--scroll)) table.sa-table:where(:has(thead)):not(.sa-table--detail),
    .idp-superadmin .sa-table-wrapper:not(:has(.sa-table--scroll)) table.dataTable {
        width: 100% !important;
        min-width: 0 !important;
        table-layout: auto;
    }

    .idp-superadmin .sa-table-wrapper:not(:has(.sa-table--scroll)) table.sa-table thead th {
        white-space: nowrap;
        padding: 0.75rem 0.875rem;
        font-size: 0.8125rem;
        line-height: 1.25;
        vertical-align: middle;
    }

    .idp-superadmin .sa-table-wrapper:not(:has(.sa-table--scroll)) table.sa-table tbody td {
        padding: 0.75rem 0.875rem;
        overflow: visible;
        text-overflow: clip;
        white-space: normal;
        word-break: break-word;
    }

    .idp-superadmin .sa-table-wrapper:not(:has(.sa-table--scroll)) table.sa-table tbody td:last-child,
    .idp-superadmin .sa-table-wrapper:not(:has(.sa-table--scroll)) table.sa-table tbody td.sa-table__cell--actions {
        white-space: nowrap;
    }
}

.idp-superadmin .sa-table--detail {
    width: 100%;
    min-width: 0;
}

.idp-superadmin .sa-table__scroll-hint {
    display: none;
}

/* Visualizador de logs (system-logs) */
.idp-superadmin .sa-log-viewer {
    display: block;
    width: 100%;
    background-color: #1e1e1e;
    color: #d4d4d4;
    font-family: ui-monospace, SFMono-Regular, 'Courier New', monospace;
    font-size: 0.75rem;
    line-height: 1.5;
    min-height: 24rem;
    max-height: calc(100vh - 22rem);
    overflow: auto;
    margin: 0;
    white-space: pre-wrap;
    word-break: break-word;
    padding: 1rem;
    border: 0;
    border-radius: 0;
    scrollbar-width: thin;
    scrollbar-color: #555 #1e1e1e;
}

.idp-superadmin .sa-log-viewer__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.idp-superadmin .sa-log-viewer__meta {
    font-size: 0.8125rem;
    color: color-mix(in srgb, #fff 75%, transparent);
}

.idp-superadmin .sa-log-viewer__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
}

.idp-superadmin .sa-log-viewer__actions .btn {
    --bs-btn-color: #fff;
    --bs-btn-border-color: color-mix(in srgb, #fff 35%, transparent);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: color-mix(in srgb, #fff 12%, transparent);
    --bs-btn-hover-border-color: color-mix(in srgb, #fff 55%, transparent);
    --bs-btn-active-bg: color-mix(in srgb, #fff 18%, transparent);
    --bs-btn-active-border-color: color-mix(in srgb, #fff 55%, transparent);
    font-size: 0.8125rem;
    padding: 0.25rem 0.625rem;
}

.idp-superadmin .sa-log-viewer::-webkit-scrollbar {
    width: 8px;
}

.idp-superadmin .sa-log-viewer::-webkit-scrollbar-track {
    background: #1e1e1e;
}

.idp-superadmin .sa-log-viewer::-webkit-scrollbar-thumb {
    background: #555;
    border-radius: 4px;
}

.idp-superadmin .sa-log-viewer::-webkit-scrollbar-thumb:hover {
    background: #777;
}

/* DataTables dentro de .sa-table */
.idp-superadmin .sa-table.dataTable.no-footer {
    border-bottom: 0;
}

.idp-superadmin .dataTables_wrapper .sa-table + .row {
    padding: 0.75rem 1rem;
    margin: 0 !important;
    border-top: 1px solid var(--sa-table-border);
}

.idp-superadmin .dataTables_wrapper .pagination,
.idp-superadmin .pagination {
    /* Bootstrap redefine --bs-pagination-* em .pagination; tokens aqui sobrescrevem o azul padrão */
    --bs-pagination-color: var(--sa-text);
    --bs-pagination-bg: #fff;
    --bs-pagination-border-color: var(--bs-border-color);
    --bs-pagination-hover-color: var(--sa-primary);
    --bs-pagination-hover-bg: color-mix(in srgb, var(--sa-primary) 8%, #fff);
    --bs-pagination-hover-border-color: color-mix(in srgb, var(--sa-primary) 35%, #fff);
    --bs-pagination-focus-color: var(--sa-secondary);
    --bs-pagination-focus-bg: color-mix(in srgb, var(--sa-secondary) 6%, #fff);
    --bs-pagination-active-color: #fff;
    --bs-pagination-active-bg: var(--sa-primary);
    --bs-pagination-active-border-color: var(--sa-primary);
    --bs-pagination-disabled-color: color-mix(in srgb, var(--sa-text) 45%, #fff);
    --bs-pagination-disabled-bg: #fff;
    --bs-pagination-disabled-border-color: var(--bs-border-color);
    margin-bottom: 0;
}

.idp-superadmin .pagination .page-link {
    color: var(--bs-pagination-color);
    font-weight: 500;
}

.idp-superadmin .pagination .page-link:hover {
    color: var(--bs-pagination-hover-color);
    background-color: var(--bs-pagination-hover-bg);
    border-color: var(--bs-pagination-hover-border-color);
}

.idp-superadmin .pagination .page-item.active .page-link {
    color: #fff;
    background-color: var(--sa-primary);
    border-color: var(--sa-primary);
}

.idp-superadmin .pagination .page-item.active .page-link:hover,
.idp-superadmin .pagination .page-item.active .page-link:focus {
    color: #fff;
    background-color: color-mix(in srgb, var(--sa-primary) 85%, #000);
    border-color: color-mix(in srgb, var(--sa-primary) 85%, #000);
}

.idp-superadmin .pagination .page-item.disabled .page-link {
    color: var(--bs-pagination-disabled-color);
}

/* --- Formulário padrão (.sa-form) --- */
.idp-superadmin .sa-form {
    --sa-input-focus: var(--sa-primary);
    --sa-input-focus-shadow: rgba(239, 89, 66, 0.2);
}

.idp-superadmin .sa-form .form-label {
    font-weight: 600;
    font-size: 0.875rem;
    color: var(--sa-secondary);
    margin-bottom: 0.35rem;
}

.idp-superadmin .sa-form .form-label .sa-form__required,
.idp-superadmin .sa-form .form-label .text-danger {
    color: var(--sa-highlight) !important;
}

.idp-superadmin .sa-form .form-control,
.idp-superadmin .sa-form .form-select {
    border-color: var(--bs-border-color);
    color: var(--sa-text);
}

.idp-superadmin .sa-form .form-control:focus,
.idp-superadmin .sa-form .form-select:focus {
    border-color: var(--sa-input-focus);
    box-shadow: 0 0 0 0.2rem var(--sa-input-focus-shadow);
}

.idp-superadmin .sa-form .form-control:disabled,
.idp-superadmin .sa-form .form-control[readonly],
.idp-superadmin .sa-form .form-select:disabled {
    background-color: color-mix(in srgb, var(--sa-text) 6%, #fff);
    color: color-mix(in srgb, var(--sa-text) 65%, #fff);
}

.idp-superadmin .sa-form .form-text {
    font-size: 0.8125rem;
    margin-top: 0.35rem;
}

.idp-superadmin .sa-form .form-control.is-invalid,
.idp-superadmin .sa-form .form-select.is-invalid {
    border-color: var(--bs-danger);
}

.idp-superadmin .sa-form .form-control.is-invalid:focus,
.idp-superadmin .sa-form .form-select.is-invalid:focus {
    box-shadow: 0 0 0 0.2rem rgba(217, 30, 84, 0.2);
}

.idp-superadmin .sa-form .form-control.is-valid,
.idp-superadmin .sa-form .form-select.is-valid {
    border-color: #198754;
}

.idp-superadmin .sa-form .invalid-feedback,
.idp-superadmin .sa-form .valid-feedback {
    font-size: 0.8125rem;
}

.idp-superadmin .sa-form .input-group-text {
    background-color: color-mix(in srgb, var(--sa-secondary) 5%, #fff);
    color: var(--sa-text);
    border-color: var(--bs-border-color);
    font-size: 0.875rem;
}

.idp-superadmin .sa-form .form-check-input:checked {
    background-color: var(--sa-primary);
    border-color: var(--sa-primary);
}

.idp-superadmin .sa-form .form-check-input:focus {
    border-color: var(--sa-primary);
    box-shadow: 0 0 0 0.2rem var(--sa-input-focus-shadow);
}

.idp-superadmin .sa-form .form-switch .form-check-input:checked {
    background-color: var(--sa-primary);
    border-color: var(--sa-primary);
}

.idp-superadmin .sa-form__section-title {
    font-family: var(--idp-font-family-heading);
    color: var(--sa-secondary);
    font-size: 1rem;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--bs-border-color);
}

.idp-superadmin .sa-form__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding-top: 1.25rem;
    margin-top: 0.5rem;
    border-top: 1px solid var(--bs-border-color);
}

.idp-superadmin .sa-form__actions.sa-subscribe-form-actions {
    display: none;
}

.idp-superadmin .sa-form__actions.sa-subscribe-form-actions.is-visible {
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* OTP — auth/loginwithcode */
.idp-superadmin .sa-auth-code {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    flex-wrap: nowrap;
}

.idp-superadmin .sa-auth-code .input-code-code {
    -moz-appearance: textfield;
    appearance: textfield;
    flex: 0 0 auto;
    width: 2.75rem;
    height: 3.25rem;
    max-width: 2.75rem;
    padding: 0;
    font-size: 1.5rem;
    font-weight: 600;
    text-align: center;
    border: 1px solid var(--bs-border-color);
    border-radius: 0.5rem;
    background: #fff;
    color: var(--bs-body-color);
}

.idp-superadmin .sa-auth-code .input-code-code:focus,
.idp-superadmin .sa-auth-code .input-code-code.selected-input-confirmation-code {
    border-color: var(--sa-primary, #0d6efd);
    box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.2);
    outline: none;
}

.idp-superadmin .sa-auth-code .input-code-code::-webkit-outer-spin-button,
.idp-superadmin .sa-auth-code .input-code-code::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

@media (min-width: 576px) {
    .idp-superadmin .sa-auth-code .input-code-code {
        width: 3.25rem;
        height: 3.5rem;
        max-width: 3.25rem;
        font-size: 1.75rem;
    }
}

.idp-superadmin .sa-auth-code__timer {
    line-height: 1.4;
}

.idp-superadmin .sa-form .form-label .badge {
    font-size: 0.6875rem;
    font-weight: 600;
    vertical-align: middle;
}

.idp-superadmin .sa-form__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.5rem;
}

/* Select2 (.sa-select2) */
.idp-superadmin .sa-form .select2-container {
    width: 100% !important;
}

.idp-superadmin .sa-form .select2-container--default .select2-selection--single,
.idp-superadmin .sa-form .select2-container--default .select2-selection--multiple {
    border-color: var(--bs-border-color);
    border-radius: 0.375rem;
    min-height: calc(1.5em + 0.75rem + 2px);
}

.idp-superadmin .sa-form .select2-container--default .select2-selection--single {
    height: calc(1.5em + 0.75rem + 2px);
}

.idp-superadmin .sa-form .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: calc(1.5em + 0.75rem);
    padding-left: 0.75rem;
    color: var(--sa-text);
}

.idp-superadmin .sa-form .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: calc(1.5em + 0.75rem);
}

.idp-superadmin .sa-form .select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: color-mix(in srgb, var(--sa-secondary) 8%, #fff);
    border-color: var(--bs-border-color);
    color: var(--sa-secondary);
    font-size: 0.8125rem;
}

.idp-superadmin .sa-form .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: var(--sa-highlight);
}

.idp-superadmin .sa-form .select2-container--default.select2-container--focus .select2-selection--single,
.idp-superadmin .sa-form .select2-container--default.select2-container--focus .select2-selection--multiple,
.idp-superadmin .sa-form .select2-container--default.select2-container--open .select2-selection--single,
.idp-superadmin .sa-form .select2-container--default.select2-container--open .select2-selection--multiple {
    border-color: var(--sa-input-focus);
    box-shadow: 0 0 0 0.2rem var(--sa-input-focus-shadow);
}

/* --- Modais (.sa-modal) --- */
.idp-superadmin .sa-modal.modal {
    z-index: 1060;
}

.idp-superadmin .modal-backdrop {
    z-index: 1055;
}

.idp-superadmin .sa-modal.modal.show {
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: max(0.75rem, env(safe-area-inset-top, 0px)) max(0.75rem, env(safe-area-inset-right, 0px)) max(0.75rem, env(safe-area-inset-bottom, 0px)) max(0.75rem, env(safe-area-inset-left, 0px));
}

.idp-superadmin .sa-modal.sa-modal--align-top.modal.show {
    align-items: flex-start;
    padding-top: 1.5rem;
}

.idp-superadmin .sa-modal .modal-dialog {
    width: 100%;
    margin: 0;
    pointer-events: none;
}

.idp-superadmin .sa-modal .modal-dialog.modal-dialog-centered {
    min-height: auto;
}

.idp-superadmin .sa-modal .modal-content {
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 0.5rem 1.5rem rgba(10, 34, 60, 0.18);
    overflow: hidden;
}

.idp-superadmin .sa-modal .modal-header {
    padding: 1rem 1.25rem;
    border-bottom: 0;
}

.idp-superadmin .sa-modal .modal-title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--idp-font-family-heading);
    font-size: 1.125rem;
    font-weight: 600;
    margin: 0;
}

.idp-superadmin .sa-modal .modal-body {
    padding: 1.25rem;
}

.idp-superadmin .sa-modal .modal-footer,
.idp-superadmin .sa-modal__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 1rem 1.25rem;
    border-top: 1px solid var(--bs-border-color);
    background-color: color-mix(in srgb, var(--sa-secondary) 3%, #fff);
    gap: 0.5rem;
}

.idp-superadmin .sa-modal__footer--end {
    justify-content: flex-end;
}

.idp-superadmin .sa-modal--form .modal-header {
    background: var(--sa-gradient);
    color: #fff;
}

.idp-superadmin .sa-modal--form .modal-header .modal-title {
    color: #fff;
}

.idp-superadmin .sa-modal--form .modal-header .btn-close {
    filter: brightness(0) invert(1);
    opacity: 0.85;
}

.idp-superadmin .sa-modal--form .modal-header .btn-close:hover {
    opacity: 1;
}

.idp-superadmin .sa-modal--form .modal-body .sa-form {
    margin-bottom: 0;
}

.idp-superadmin .sa-modal .modal-header.sa-modal__header--danger,
.idp-superadmin .sa-modal .modal-header.sa-modal__header--warning,
.idp-superadmin .sa-modal .modal-header.sa-modal__header--success,
.idp-superadmin .sa-modal .modal-header.sa-modal__header--info {
    color: #fff;
}

.idp-superadmin .sa-modal .modal-header.sa-modal__header--danger {
    background-color: var(--sa-alert-danger-text);
}

.idp-superadmin .sa-modal .modal-header.sa-modal__header--warning {
    background-color: var(--sa-alert-warning-text);
}

.idp-superadmin .sa-modal .modal-header.sa-modal__header--success {
    background-color: var(--sa-alert-success-text);
}

.idp-superadmin .sa-modal .modal-header.sa-modal__header--info {
    background-color: var(--sa-secondary);
}

.idp-superadmin .sa-modal .modal-header.sa-modal__header--danger .modal-title,
.idp-superadmin .sa-modal .modal-header.sa-modal__header--warning .modal-title,
.idp-superadmin .sa-modal .modal-header.sa-modal__header--success .modal-title,
.idp-superadmin .sa-modal .modal-header.sa-modal__header--info .modal-title,
.idp-superadmin .sa-modal .modal-header.sa-modal__header--danger .modal-title .os-icon,
.idp-superadmin .sa-modal .modal-header.sa-modal__header--warning .modal-title .os-icon,
.idp-superadmin .sa-modal .modal-header.sa-modal__header--success .modal-title .os-icon,
.idp-superadmin .sa-modal .modal-header.sa-modal__header--info .modal-title .os-icon,
.idp-superadmin .sa-modal .modal-header.sa-modal__header--danger.text-white,
.idp-superadmin .sa-modal .modal-header.sa-modal__header--warning.text-white,
.idp-superadmin .sa-modal .modal-header.sa-modal__header--success.text-white,
.idp-superadmin .sa-modal .modal-header.sa-modal__header--info.text-white,
.idp-superadmin .sa-modal .modal-header.text-white .modal-title.text-white {
    color: #fff !important;
}

.idp-superadmin .sa-modal--alert .modal-body {
    text-align: center;
}

.idp-superadmin .sa-modal__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.5rem;
    height: 3.5rem;
    margin: 0 auto 1rem;
    border-radius: 50%;
    font-size: 1.75rem;
}

.idp-superadmin .sa-modal__icon--danger {
    background-color: var(--sa-alert-danger-bg);
    color: var(--sa-alert-danger-text);
}

.idp-superadmin .sa-modal__icon--warning {
    background-color: var(--sa-alert-warning-bg);
    color: var(--sa-alert-warning-text);
}

.idp-superadmin .sa-modal__icon--success {
    background-color: var(--sa-alert-success-bg);
    color: var(--sa-alert-success-text);
}

.idp-superadmin .sa-modal__icon--info {
    background-color: var(--sa-alert-info-bg);
    color: var(--sa-alert-info-text);
}

.idp-superadmin .sa-modal__message {
    color: var(--sa-text);
    line-height: 1.5;
}

.idp-superadmin .sa-modal__details {
    margin-top: 1rem;
    padding: 0.75rem 1rem;
    border-radius: 0.375rem;
    background-color: color-mix(in srgb, var(--sa-secondary) 4%, #fff);
    border: 1px solid var(--bs-border-color);
    font-size: 0.875rem;
    text-align: left;
    color: var(--sa-text);
}

.idp-superadmin .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: var(--sa-primary);
}

.idp-superadmin .select2-dropdown {
    border-color: var(--bs-border-color);
}

.idp-superadmin .select2-container--default .select2-search--dropdown .select2-search__field {
    border-color: var(--bs-border-color);
}

.idp-superadmin .select2-container--default .select2-search--dropdown .select2-search__field:focus {
    border-color: var(--sa-primary);
    outline: none;
}

/* Legado: thead.table-light continua suportado */
.idp-superadmin .table:not(.sa-table) thead.table-light th {
    background-color: color-mix(in srgb, var(--sa-secondary) 6%, #fff);
    color: var(--sa-secondary);
    font-weight: 600;
    border-bottom-color: var(--bs-border-color);
}

.idp-superadmin .table:not(.sa-table).table-hover tbody tr:hover {
    background-color: color-mix(in srgb, var(--sa-primary) 5%, #fff);
}

.idp-superadmin a:not(.btn):not(.nav-link):not(.dropdown-item):not(.page-link) {
    color: var(--sa-primary);
}

.idp-superadmin a:not(.btn):not(.nav-link):not(.dropdown-item):not(.page-link):hover {
    color: var(--sa-highlight);
}

.idp-superadmin .alert-success {
    background-color: var(--sa-alert-success-bg);
    border-color: var(--sa-alert-success-border);
    color: var(--sa-alert-success-text);
}

.idp-superadmin .alert-warning {
    background-color: var(--sa-alert-warning-bg);
    border-color: var(--sa-alert-warning-border);
    color: var(--sa-alert-warning-text);
}

.idp-superadmin .alert-danger {
    background-color: var(--sa-alert-danger-bg);
    border-color: var(--sa-alert-danger-border);
    color: var(--sa-alert-danger-text);
}

.idp-superadmin .alert-info {
    background-color: var(--sa-alert-info-bg);
    border-color: var(--sa-alert-info-border);
    color: var(--sa-alert-info-text);
}

.idp-superadmin .card-header.bg-white {
    background-color: #fff !important;
    border-bottom: 1px solid var(--bs-border-color);
}

/* sa-card já define header; bg-white mantém compatibilidade legada */
.idp-superadmin .sa-card .card-header.bg-white {
    background-color: #fff !important;
}

/* --- Ícones os-icon (padrão Super Admin) --- */
.idp-superadmin .os-icon {
    display: inline-block;
    font-size: 1.125rem;
    line-height: 1;
    vertical-align: middle;
}

.idp-superadmin .os-icon--sm {
    font-size: 0.875rem;
}

.idp-superadmin .os-icon--lg {
    font-size: 1.5rem;
}

.idp-superadmin .os-icon--xl {
    font-size: 2rem;
}

.idp-superadmin .sa-icon-spin {
    display: inline-block;
    animation: sa-icon-spin 0.8s linear infinite;
}

@keyframes sa-icon-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.idp-superadmin .sa-icon-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr));
    gap: 0.75rem;
}

.idp-superadmin .sa-icon-grid__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 1rem 0.5rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 0.375rem;
    background: #fff;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    text-align: center;
}

.idp-superadmin .sa-icon-grid__item:hover,
.idp-superadmin .sa-icon-grid__item:focus {
    border-color: var(--sa-primary);
    box-shadow: 0 0 0 0.15rem var(--sa-input-focus-shadow);
    outline: none;
}

.idp-superadmin .sa-icon-grid__item.is-copied {
    border-color: #198754;
    box-shadow: 0 0 0 0.15rem rgba(25, 135, 84, 0.2);
}

.idp-superadmin .sa-icon-grid__name {
    font-size: 0.6875rem;
    color: var(--sa-text);
    word-break: break-all;
    line-height: 1.3;
}

/* --- Responsividade global (defaults .sa-* / layout) --- */
.idp-superadmin .sa-main {
    width: 100%;
    max-width: none;
    padding-top: 1rem;
    padding-bottom: 2rem;
    padding-left: max(var(--sa-content-px), env(safe-area-inset-left, 0px));
    padding-right: max(var(--sa-content-px), env(safe-area-inset-right, 0px));
}

.idp-superadmin .sa-breadcrumb-bar {
    background-color: #fff;
    border-bottom: 1px solid color-mix(in srgb, var(--sa-secondary) 10%, #fff);
}

.idp-superadmin .sa-breadcrumb-bar__inner {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    padding-left: max(var(--sa-content-px), env(safe-area-inset-left, 0px));
    padding-right: max(var(--sa-content-px), env(safe-area-inset-right, 0px));
}

@media (min-width: 1200px) {
    .idp-superadmin .sa-breadcrumb-bar__inner {
        padding-left: max(var(--sa-content-px-lg), env(safe-area-inset-left, 0px));
        padding-right: max(var(--sa-content-px-lg), env(safe-area-inset-right, 0px));
    }
}

.idp-superadmin .sa-breadcrumb {
    margin-bottom: 0;
}

.idp-superadmin .sa-breadcrumb .breadcrumb {
    margin-bottom: 0;
    padding: 0;
    background: transparent;
    color: var(--sa-secondary);
}

.idp-superadmin .sa-breadcrumb .breadcrumb-item,
.idp-superadmin .sa-breadcrumb .breadcrumb-item a {
    color: var(--sa-secondary);
    font-family: var(--idp-font-family-heading, 'Poppins', sans-serif);
    font-size: 11px;
    font-weight: 600;
    text-decoration: none;
}

.idp-superadmin .sa-breadcrumb .breadcrumb-item a:hover {
    color: var(--sa-primary);
}

.idp-superadmin .sa-breadcrumb .breadcrumb-item.active {
    color: color-mix(in srgb, var(--sa-secondary) 72%, #fff);
}

.idp-superadmin .sa-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    color: var(--sa-primary);
    content: '>';
}

.idp-superadmin .sa-navbar .sa-navbar__inner {
    width: 100%;
    max-width: none;
}

@media (min-width: 1200px) {
    .idp-superadmin .sa-main {
        padding-left: max(var(--sa-content-px-lg), env(safe-area-inset-left, 0px));
        padding-right: max(var(--sa-content-px-lg), env(safe-area-inset-right, 0px));
    }
}

.idp-superadmin .sa-page-header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.idp-superadmin .sa-page-header__main {
    flex: 1 1 16rem;
    min-width: 0;
}

.idp-superadmin .sa-page-header__meta {
    flex: 0 0 auto;
    color: color-mix(in srgb, var(--sa-text) 75%, #fff);
    font-size: 0.875rem;
}

.idp-superadmin .sa-page-header__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.idp-superadmin .sa-page-header .h3,
.idp-superadmin .sa-page-header h1 {
    word-break: break-word;
}

@media (max-width: 1199.98px) {
    .idp-superadmin .sa-main.mt-4 {
        margin-top: 1rem !important;
    }
}

@media (max-width: 767.98px) {
    .idp-superadmin .sa-card .card-header,
    .idp-superadmin .sa-card .card-body,
    .idp-superadmin .sa-card__footer {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .idp-superadmin .sa-card--metric .display-6,
    .idp-superadmin .sa-card--metric .card-body .h3 {
        font-size: 1.5rem;
    }

    .idp-superadmin .sa-card__footer,
    .idp-superadmin .sa-form__actions,
    .idp-superadmin .sa-modal .modal-footer,
    .idp-superadmin .sa-modal__footer {
        flex-direction: column;
        align-items: stretch;
    }

    .idp-superadmin .sa-card__footer .btn,
    .idp-superadmin .sa-form__actions .btn,
    .idp-superadmin .sa-modal .modal-footer .btn,
    .idp-superadmin .sa-modal__footer .btn {
        width: 100%;
        min-height: var(--sa-touch-min);
    }

    .idp-superadmin .sa-page-header__actions {
        width: 100%;
    }

    .idp-superadmin .sa-page-header__actions .btn {
        flex: 1 1 calc(50% - 0.25rem);
        min-height: var(--sa-touch-min);
    }

    .idp-superadmin .sa-page-header__actions .btn:only-child {
        flex: 1 1 100%;
    }

    .idp-superadmin .alert.d-flex .btn {
        width: 100%;
        min-height: var(--sa-touch-min);
    }

    /* Mobile (Bootstrap md): cards em listagens; sem scroll horizontal no wrapper */
    .idp-superadmin .sa-table-wrapper:not(:has(.sa-table--scroll)),
    .idp-superadmin [class*="table-responsive"].sa-table-wrapper:not(:has(.sa-table--scroll)) {
        overflow-x: visible !important;
    }

    .idp-superadmin .sa-table-wrapper .dataTables_wrapper,
    .idp-superadmin .sa-table-wrapper .dataTables_wrapper .row.dt-row,
    .idp-superadmin .sa-table-wrapper .dataTables_wrapper .row.dt-row > [class*="col-"] {
        width: 100% !important;
        min-width: 0;
        max-width: 100%;
        overflow: visible;
    }

    .idp-superadmin .sa-table-wrapper .dataTables_wrapper {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .idp-superadmin .sa-table:not(.sa-table--detail):not(.sa-table--scroll):where(:has(thead)) {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        border-collapse: separate;
    }

    .idp-superadmin .sa-table:not(.sa-table--detail):not(.sa-table--scroll) thead th,
    .idp-superadmin .sa-table:not(.sa-table--detail):not(.sa-table--scroll) tbody td {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .idp-superadmin .sa-table:not(.sa-table--detail):not(.sa-table--scroll) thead {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    .idp-superadmin .sa-table:not(.sa-table--detail):not(.sa-table--scroll) tbody {
        display: flex !important;
        flex-direction: column;
        gap: 0.75rem;
        padding: 0.75rem;
        width: 100%;
    }

    .idp-superadmin .sa-card--flush .sa-table-wrapper .sa-table:not(.sa-table--detail):not(.sa-table--scroll) tbody,
    .idp-superadmin .card-body.p-0 .sa-table-wrapper .sa-table:not(.sa-table--detail):not(.sa-table--scroll) tbody {
        padding: 0.75rem;
    }

    .idp-superadmin .sa-table:not(.sa-table--detail):not(.sa-table--scroll) tbody tr:not(.sa-table__empty) {
        display: flex !important;
        flex-direction: column;
        width: 100%;
        max-width: 100%;
        background-color: #fff;
        border: 1px solid var(--sa-table-border);
        border-radius: 0.625rem;
        box-shadow: var(--idp-shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, 0.05));
        overflow: hidden;
    }

    .idp-superadmin .sa-table:not(.sa-table--detail):not(.sa-table--scroll) tbody tr:not(.sa-table__empty) td.sa-table__cell--title {
        order: -1;
    }

    .idp-superadmin .sa-table:not(.sa-table--detail):not(.sa-table--scroll).table-hover tbody tr:not(.sa-table__empty):hover td,
    .idp-superadmin .sa-table:not(.sa-table--detail):not(.sa-table--scroll) tbody tr:not(.sa-table__empty):hover td {
        background-color: transparent !important;
    }

    /* Campo: rótulo em cima, valor embaixo */
    .idp-superadmin .sa-table:not(.sa-table--detail):not(.sa-table--scroll) tbody tr:not(.sa-table__empty) td {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        padding: 0.75rem 1rem;
        border: 0;
        border-bottom: 1px solid var(--sa-table-border);
        background-color: transparent !important;
        box-shadow: none !important;
        position: static !important;
        float: none !important;
        text-align: left !important;
        overflow: visible;
        word-break: break-word;
        overflow-wrap: anywhere;
    }

    .idp-superadmin .sa-table:not(.sa-table--detail):not(.sa-table--scroll) tbody tr:not(.sa-table__empty) td::before {
        display: block;
        content: attr(data-label);
        margin-bottom: 0.375rem;
        font-size: 0.6875rem;
        font-weight: 600;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: color-mix(in srgb, var(--sa-secondary) 72%, #fff);
        line-height: 1.35;
    }

    .idp-superadmin .sa-table:not(.sa-table--detail):not(.sa-table--scroll) tbody tr:not(.sa-table__empty) td > * {
        display: inline-block;
        max-width: 100%;
        vertical-align: top;
        text-align: left;
    }

    .idp-superadmin .sa-table:not(.sa-table--detail):not(.sa-table--scroll) tbody tr:not(.sa-table__empty) td.sa-table__cell--title {
        background-color: color-mix(in srgb, var(--sa-secondary) 5%, #fff) !important;
        font-size: 1.0625rem;
        font-weight: 700;
        color: var(--sa-secondary);
        padding-top: 1rem;
        padding-bottom: 1rem;
    }

    .idp-superadmin .sa-table:not(.sa-table--detail):not(.sa-table--scroll) tbody tr:not(.sa-table__empty) td:last-child {
        border-bottom: 0;
    }

    .idp-superadmin .sa-table:not(.sa-table--detail):not(.sa-table--scroll) tbody tr:not(.sa-table__empty) td.text-end,
    .idp-superadmin .sa-table:not(.sa-table--detail):not(.sa-table--scroll) tbody tr:not(.sa-table__empty) td.sa-table__cell--actions,
    .idp-superadmin .sa-table:not(.sa-table--detail):not(.sa-table--scroll) tbody tr:not(.sa-table__empty) td:last-child {
        padding-top: 0.875rem;
        padding-bottom: 0.875rem;
    }

    .idp-superadmin .sa-table:not(.sa-table--detail):not(.sa-table--scroll) tbody tr:not(.sa-table__empty) td.text-end::before,
    .idp-superadmin .sa-table:not(.sa-table--detail):not(.sa-table--scroll) tbody tr:not(.sa-table__empty) td.sa-table__cell--actions::before,
    .idp-superadmin .sa-table:not(.sa-table--detail):not(.sa-table--scroll) tbody tr:not(.sa-table__empty) td:last-child::before {
        margin-bottom: 0.5rem;
    }

    .idp-superadmin .sa-table:not(.sa-table--detail):not(.sa-table--scroll) tbody tr:not(.sa-table__empty) td.text-end .sa-actions,
    .idp-superadmin .sa-table:not(.sa-table--detail):not(.sa-table--scroll) tbody tr:not(.sa-table__empty) td.sa-table__cell--actions .sa-actions,
    .idp-superadmin .sa-table:not(.sa-table--detail):not(.sa-table--scroll) tbody tr:not(.sa-table__empty) td:last-child .sa-actions {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 0.375rem;
    }

    .idp-superadmin .sa-table:not(.sa-table--detail):not(.sa-table--scroll) tbody tr:not(.sa-table__empty) td.text-end > *,
    .idp-superadmin .sa-table:not(.sa-table--detail):not(.sa-table--scroll) tbody tr:not(.sa-table__empty) td.sa-table__cell--actions > *,
    .idp-superadmin .sa-table:not(.sa-table--detail):not(.sa-table--scroll) tbody tr:not(.sa-table__empty) td:last-child > * {
        display: inline-flex;
    }

    .idp-superadmin .sa-table:not(.sa-table--scroll) tbody tr.sa-table__empty {
        display: block;
        border: 1px dashed var(--sa-table-border);
        border-radius: 0.5rem;
        background-color: #fff;
    }

    .idp-superadmin .sa-table:not(.sa-table--scroll) tbody tr.sa-table__empty td {
        display: block !important;
        text-align: center !important;
        padding: 2rem 1rem !important;
        border: 0 !important;
    }

    .idp-superadmin .sa-table:not(.sa-table--scroll) tbody tr.sa-table__empty td::before {
        display: none !important;
    }

    /* Opt-out .sa-table--scroll: mantém tabela + scroll no mobile */
    .idp-superadmin .sa-table-wrapper:has(.sa-table--scroll) {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .idp-superadmin .sa-table-wrapper:has(.sa-table--scroll) .dataTables_wrapper {
        width: max-content;
        min-width: 100%;
        max-width: none;
    }

    .idp-superadmin .sa-table--scroll:where(:has(thead)) {
        width: max-content !important;
        min-width: 100% !important;
    }

    .idp-superadmin .sa-table-wrapper .sa-table--scroll tbody {
        display: table-row-group;
        padding: 0;
    }

    .idp-superadmin .sa-table-wrapper .sa-table--scroll tbody tr {
        display: table-row;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .idp-superadmin .sa-table--scroll tbody td {
        display: table-cell !important;
        text-align: inherit !important;
        padding: 0.875rem 1rem !important;
        border-bottom: 1px solid var(--sa-table-border) !important;
    }

    .idp-superadmin .sa-table--scroll tbody td::before {
        display: none !important;
    }

    .idp-superadmin .sa-table--scroll thead {
        position: static;
        width: auto;
        height: auto;
        clip: auto;
        overflow: visible;
    }

    .idp-superadmin .sa-table-wrapper .sa-table--scroll thead th:first-child,
    .idp-superadmin .sa-table-wrapper .sa-table--scroll tbody td:first-child {
        position: sticky;
        left: 0;
        z-index: 1;
        box-shadow: 2px 0 8px color-mix(in srgb, var(--sa-secondary) 8%, transparent);
    }

    .idp-superadmin .sa-table-wrapper .sa-table--scroll thead th:first-child {
        z-index: 2;
        background-color: var(--sa-table-head-bg);
    }

    .idp-superadmin .sa-table-wrapper .sa-table--scroll tbody td:first-child {
        background-color: #fff;
    }

    /* Tabelas de detalhe (show): label + valor empilhados */
    .idp-superadmin .sa-table--detail,
    .idp-superadmin .sa-table:has(.sa-detail-table__label) {
        width: 100% !important;
        min-width: 0 !important;
    }

    .idp-superadmin .sa-table--detail tbody,
    .idp-superadmin .sa-table:has(.sa-detail-table__label) tbody {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
        padding: 0.75rem;
    }

    .idp-superadmin .sa-table--detail tbody tr,
    .idp-superadmin .sa-table:has(.sa-detail-table__label) tbody tr {
        display: block;
        margin-bottom: 0.5rem;
        border: 1px solid var(--sa-table-border);
        border-radius: 0.5rem;
        background-color: #fff;
        box-shadow: var(--idp-shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, 0.05));
        overflow: hidden;
    }

    .idp-superadmin .sa-table--detail tbody tr:last-child,
    .idp-superadmin .sa-table:has(.sa-detail-table__label) tbody tr:last-child {
        margin-bottom: 0;
    }

    .idp-superadmin .sa-table--detail tbody th,
    .idp-superadmin .sa-table--detail tbody td,
    .idp-superadmin .sa-table:has(.sa-detail-table__label) tbody th,
    .idp-superadmin .sa-table:has(.sa-detail-table__label) tbody td {
        display: block;
        width: 100% !important;
        border: 0;
        box-shadow: none !important;
        position: static !important;
    }

    .idp-superadmin .sa-table--detail tbody th,
    .idp-superadmin .sa-table:has(.sa-detail-table__label) tbody th {
        padding: 0.75rem 1rem 0.25rem;
        font-size: 0.6875rem;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        white-space: normal;
    }

    .idp-superadmin .sa-table--detail tbody td,
    .idp-superadmin .sa-table:has(.sa-detail-table__label) tbody td {
        padding: 0 1rem 0.875rem;
        word-break: break-word;
    }

    .idp-superadmin .sa-detail-table__label {
        white-space: normal;
        min-width: 0;
        width: auto;
    }

    .idp-superadmin .sa-card--flush .sa-table-wrapper,
    .idp-superadmin .sa-card--table .sa-table-wrapper,
    .idp-superadmin .card-body.p-0 > .sa-table-wrapper {
        margin-left: 0;
        margin-right: 0;
        padding-left: 0;
        padding-right: 0;
    }

    .idp-superadmin .dataTables_wrapper > .row {
        flex-direction: column;
        gap: 0.75rem;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .idp-superadmin .dataTables_wrapper .dataTables_length,
    .idp-superadmin .dataTables_wrapper .dataTables_filter,
    .idp-superadmin .dataTables_wrapper .dataTables_info,
    .idp-superadmin .dataTables_wrapper .dataTables_paginate {
        float: none !important;
        text-align: left !important;
        width: 100% !important;
    }

    .idp-superadmin .dataTables_wrapper .dataTables_filter input {
        width: 100% !important;
        margin-left: 0 !important;
        min-height: var(--sa-touch-min);
    }

    .idp-superadmin .dataTables_wrapper .dataTables_length select {
        min-height: var(--sa-touch-min);
    }

    .idp-superadmin .dataTables_wrapper .pagination {
        flex-wrap: wrap;
        justify-content: center;
    }

    .idp-superadmin .sa-btn-action {
        width: var(--sa-touch-min);
        height: var(--sa-touch-min);
    }

    .idp-superadmin .sa-modal .modal-dialog {
        max-width: min(var(--bs-modal-width, 500px), 100%);
    }

    .idp-superadmin .sa-modal .modal-dialog.modal-lg {
        max-width: min(var(--bs-modal-lg, 800px), 100%);
    }

    .idp-superadmin .sa-modal .modal-dialog.modal-xl {
        max-width: min(var(--bs-modal-xl, 1140px), 100%);
    }

    .idp-superadmin .sa-semantic-swatch {
        grid-template-columns: 1fr 0.5rem 1fr;
        height: 3.5rem;
    }
}

@media (max-width: 575.98px) {
    .idp-superadmin .sa-page-header__actions .btn {
        flex: 1 1 100%;
    }

    .idp-superadmin .sa-icon-grid {
        grid-template-columns: repeat(auto-fill, minmax(7.5rem, 1fr));
    }
}

/* --- Manual da Marca (style guide) --- */
.idp-superadmin .sa-style-guide__section {
    scroll-margin-top: 1rem;
}

.idp-superadmin .sa-style-guide__nav {
    position: sticky;
    top: 0.5rem;
    z-index: 100;
}

.idp-superadmin .sa-style-guide__nav-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0.75rem 2rem;
    padding: 0.875rem 1.25rem;
}

.idp-superadmin .sa-style-guide__nav-group {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    flex: 0 0 auto;
    min-width: 0;
}

.idp-superadmin .sa-style-guide__nav-label {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: color-mix(in srgb, var(--sa-text) 65%, #fff);
    margin-bottom: 0;
    line-height: 1.2;
}

.idp-superadmin .sa-style-guide__nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
}

.idp-superadmin .sa-style-guide__nav-links a {
    display: inline-block;
    padding: 0.25rem 0.625rem;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.25;
    color: var(--sa-secondary);
    text-decoration: none;
    white-space: nowrap;
    border: 1px solid var(--bs-border-color);
    border-radius: 999px;
    background-color: #fff;
    transition: color 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;
}

.idp-superadmin .sa-style-guide__nav-links a:hover,
.idp-superadmin .sa-style-guide__nav-links a:focus-visible {
    color: var(--sa-primary);
    border-color: color-mix(in srgb, var(--sa-primary) 45%, #fff);
    background-color: color-mix(in srgb, var(--sa-primary) 6%, #fff);
}

.idp-superadmin .sa-style-guide__group-label {
    font-family: var(--idp-font-family-heading);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--sa-secondary);
    margin: 2rem 0 1.25rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid color-mix(in srgb, var(--sa-primary) 35%, #fff);
    scroll-margin-top: calc(var(--sa-navbar-height) + 4rem);
}

.idp-superadmin .sa-style-guide__group-label:first-of-type {
    margin-top: 0;
}

.idp-superadmin .sa-style-guide__swatch-color {
    height: 4.5rem;
}

/* Manual da Marca — previews de logo */
.idp-superadmin .sa-style-guide__logo-preview {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 6.5rem;
    padding: 1.25rem;
    background: var(--sa-bg, #fafafa);
}

.idp-superadmin .sa-style-guide__logo-preview--dark {
    background: var(--sa-secondary, #0a223c);
}

.idp-superadmin .sa-style-guide__logo-preview--gradient {
    background: var(--sa-gradient);
}

.idp-superadmin .sa-style-guide__logo-preview img {
    display: block;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.idp-superadmin .sa-style-guide__logo-sidebar-demo {
    background: var(--sa-secondary, #0a223c);
    border-radius: 0.5rem;
    padding: 0.75rem 0.625rem;
}

.idp-superadmin .sa-style-guide__swatch-gradient {
    background: var(--sa-gradient);
}

.idp-superadmin .sa-semantic-swatch {
    display: grid;
    grid-template-columns: 5fr 0.75rem 2.5fr;
    height: 4.5rem;
}

.idp-superadmin .sa-semantic-swatch__text {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1.5rem;
}

.idp-superadmin .sa-style-guide code {
    font-size: 0.8em;
    color: var(--sa-highlight);
    background-color: color-mix(in srgb, var(--sa-highlight) 8%, #fff);
    padding: 0.1em 0.35em;
    border-radius: 0.25rem;
}

@media (max-width: 767.98px) {
    .idp-superadmin .sa-style-guide__nav-inner {
        flex-direction: column;
        gap: 1rem;
        padding: 1rem;
    }

    .idp-superadmin .sa-style-guide__nav-group {
        width: 100%;
    }

    .idp-superadmin .sa-style-guide__nav-links a {
        white-space: normal;
        min-height: var(--sa-touch-min);
        display: inline-flex;
        align-items: center;
        padding: 0.5rem 0.875rem;
    }
}
