:root {
    --bg-main: #0F1014;
    --bg-sidebar: #14151a;
    --bg-card: #15171c; /* Updated color for all cards */
    --text-main: #ffffff;
    --text-muted: #8b8b93;
    --primary: #0d6efd;
    --success: #198754;
    --danger: #dc3545;
    --warning: #ffc107;
    --border-color: #2a2d3a;
    --purple: #6f42c1;
    --green-bright: #00d26a;

    /*
     * Shell do painel (desktop): use estes tokens em novos componentes que dependam
     * da largura da sidebar ou do recuo do conteúdo — ex.: position:fixed; left: var(--sigma-sidebar-width);
     */
    --sigma-sidebar-width: 268px;
    --sigma-sidebar-pad-x: 9px;
    /* Área principal: recuo junto à sidebar (todas as páginas usam estas variáveis) */
    --sigma-main-padding-x: 9px;
    --sigma-main-padding-top: 82px;
    --sigma-main-padding-bottom: 20px;
    --sigma-footer-extra-inset-x: 20px;
    --sigma-footer-padding-bottom: 1.5rem;
    /* Recuo horizontal do conteúdo (igual à esquerda e à direita) */
    --sigma-page-gutter-extra: 0px;
}

/* Global Fix for Hint Texts (Tips) and Emojis */
.form-text, small, .help-block, .hint-text {
    color: rgba(255, 255, 255, 0.6) !important; /* Cinza claro legivel */
    font-size: 0.82rem !important;
    margin-top: 4px !important;
    display: block !important;
}

/* Garante que emojis aparecam corretamente em todos os sistemas */
body, input, select, textarea, button {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", sans-serif !important;
}

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

html {
    min-height: 100%;
}

body {
    font-family: 'Inter', sans-serif;
    margin: 0;
    min-height: 100vh;
    color: var(--text-main);
    background-color: var(--bg-main);
}

/* Sidebar */
.sidebar {
    width: var(--sigma-sidebar-width);
    background-color: var(--bg-sidebar);
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    transition: all 0.3s;
    border-right: 1px solid var(--border-color);
    display: flex;
    flex-direction: column;
}

.sidebar-brand-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    padding: 18px var(--sigma-sidebar-pad-x) 0;
}
.sidebar-brand-row .sidebar-logo {
    padding: 0 0 12px 0;
    flex: 1;
    min-width: 0;
}

.sidebar-scrollable {
    flex: 1;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #6a6778 transparent;
}

/* Scrollbar do menu — polegar fino, tom cinza-roxo (referência) */
.sidebar-scrollable::-webkit-scrollbar {
    width: 6px;
}
.sidebar-scrollable::-webkit-scrollbar-track {
    background: transparent;
}
.sidebar-scrollable::-webkit-scrollbar-thumb {
    background: #6a6778;
    border-radius: 999px;
}
.sidebar-scrollable::-webkit-scrollbar-thumb:hover {
    background: #7a7789;
}

.sidebar-logo {
    padding: 18px var(--sigma-sidebar-pad-x) 12px;
}
.sidebar-logo h1 {
    font-weight: 800;
    font-size: 1.55rem;
    margin: 0;
    display: flex;
    align-items: center;
}
.sidebar-logo h1 span.white { color: #fff; }
.sidebar-logo h1 span.red { color: #dc3545; }

.user-info {
    padding: 0 var(--sigma-sidebar-pad-x) 14px;
}
.user-email { 
    font-size: 0.85rem; 
    color: #fff; 
    font-weight: 600; 
    margin-bottom: 2px;
    cursor: pointer;
    transition: color 0.2s;
}
.user-email:hover {
    color: var(--primary);
}
.user-credits { font-size: 0.75rem; color: var(--text-muted); }
.badge-2fa {
    background-color: rgba(220, 53, 69, 0.1);
    color: var(--danger);
    font-size: 0.65rem;
    padding: 3px 6px;
    border-radius: 4px;
    display: inline-block;
    margin-top: 5px;
    border: 1px solid rgba(220, 53, 69, 0.2);
    font-weight: 600;
}

.search-box-sidebar {
    padding: 10px var(--sigma-sidebar-pad-x);
}
.search-input {
    background-color: #242938;
    border: 1px solid var(--border-color);
    color: #fff;
    border-radius: 6px;
    padding: 8px 12px;
    width: 100%;
    font-size: 0.8rem;
}

.menu-section {
    color: var(--text-muted);
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    padding: 12px var(--sigma-sidebar-pad-x) 8px;
    letter-spacing: 0.5px;
}

.menu {
    padding: 0;
    margin-bottom: 14px;
}

.menu-item {
    padding: 7px var(--sigma-sidebar-pad-x);
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--text-muted);
    text-decoration: none;
    transition: 0.2s;
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 500;
}

.menu-item .item-left {
    display: flex;
    align-items: center;
    min-width: 0;
}

.menu-item-icon-wrap {
    width: 1.38rem;
    min-width: 1.38rem;
    height: 1.28rem;
    margin-right: 10px;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
}

.menu-item-icon {
    font-size: 1rem;
    line-height: 1;
    color: inherit;
    transition: color 0.2s ease;
}

.menu-item-icon--botbot {
    width: 1.28rem;
    height: 1.28rem;
    min-width: 1.28rem;
    min-height: 1.28rem;
    display: block;
    flex-shrink: 0;
    shape-rendering: geometricPrecision;
    vertical-align: middle;
    box-sizing: content-box;
}

.menu-item-icon--botbot .bb-body {
    fill: currentColor;
    transition: fill 0.2s ease;
}

.menu-item-icon--botbot .bb-eyes circle {
    fill: #cbd5e1;
    transition: fill 0.2s ease;
}

/* Hover: texto e ícone (ícone tone-1 mantém verde explícito). */
@media (hover: hover) and (pointer: fine) {
    .menu-item:not(.active):hover {
        color: #f8fafc;
    }
    .menu-item:not(.active):hover .menu-item-icon.menu-tone-0 {
        color: #f8fafc;
    }
    .menu-item:not(.active):hover .menu-item-icon.menu-tone-1 {
        color: #10b981;
    }
    .menu-item:not(.active):hover .menu-item-icon--botbot.menu-tone-0 .bb-eyes circle {
        fill: #64748b;
    }
    .menu-item:not(.active):hover .menu-item-icon--botbot.menu-tone-1 .bb-eyes circle {
        fill: #f8fafc;
    }
}

@media (hover: none), (pointer: coarse) {
    .menu-item:not(.active):active {
        color: #f8fafc;
    }
    .menu-item:not(.active):active .menu-item-icon.menu-tone-0 {
        color: #f8fafc;
    }
    .menu-item:not(.active):active .menu-item-icon.menu-tone-1 {
        color: #10b981;
    }
    .menu-item:not(.active):active .menu-item-icon--botbot.menu-tone-0 .bb-eyes circle {
        fill: #64748b;
    }
    .menu-item:not(.active):active .menu-item-icon--botbot.menu-tone-1 .bb-eyes circle {
        fill: #f8fafc;
    }
}

.menu-item-label {
    min-width: 0;
}

.menu-item.active .menu-item-icon {
    color: #fff;
}

.menu-item.active .menu-item-icon--botbot .bb-body {
    fill: #fff;
}

.menu-item.active .menu-item-icon--botbot .bb-eyes circle {
    fill: rgba(255, 255, 255, 0.72);
}
.menu-item.active {
    background-color: var(--primary);
    color: #fff;
    margin: 0 6px;
    border-radius: 7px;
    padding: 7px 8px;
    text-shadow: none;
}

.pin-icon {
    font-size: 0.7rem;
    width: 1.125rem;
    min-width: 1.125rem;
    height: 1.125rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    color: var(--text-muted);
    transition: opacity 0.15s ease, color 0.15s ease, transform 0.15s ease, visibility 0.15s ease;
    cursor: pointer;
    padding: 0;
    flex-shrink: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.pin-icon.pinned {
    color: #d4a017;
    transform: rotate(45deg);
}

/* Desktop / trackpad: pin só ao pairar na linha */
@media (hover: hover) and (pointer: fine) {
    .menu-item:hover .pin-icon {
        opacity: 0.5;
        visibility: visible;
        pointer-events: auto;
    }
    .menu-item:hover .pin-icon:hover {
        color: #fff;
        opacity: 1;
    }
}

/* Teclado */
.menu-item:focus-within .pin-icon {
    opacity: 0.5;
    visibility: visible;
    pointer-events: auto;
}

.menu-item:focus-within .pin-icon:focus,
.menu-item:focus-within .pin-icon:hover {
    color: #fff;
    opacity: 1;
}

/* Toque: visível enquanto pressiona a linha */
@media (hover: none), (pointer: coarse) {
    .menu-item:active .pin-icon {
        opacity: 0.65;
        visibility: visible;
        pointer-events: auto;
    }
}

.badge-count {
    background-color: var(--danger);
    color: #fff;
    font-size: 0.7rem;
    padding: 2px 6px;
    border-radius: 10px;
    font-weight: 700;
}
.badge-count.success { background-color: var(--success); }

/* Header */
.header {
    height: 70px;
    background-color: var(--bg-main);
    position: fixed;
    top: 0;
    right: 0;
    left: var(--sigma-sidebar-width);
    /* Acima do conteúdo principal (cards/tooltips) para o painel do sino sobrepor a área roxa */
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 var(--sigma-main-padding-x);
    overflow: visible;
}
.header-title {
    font-size: 1.2rem;
    font-weight: 600;
    margin: 0;
}
.header-icons {
    display: flex;
    align-items: center;
    gap: 15px;
    overflow: visible;
}
/* Grupos com scroll horizontal (mobile): o sino fica fora para o dropdown não ser cortado */
.header-icons-scroll {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    flex-shrink: 0;
}
.header-icons-scroll--overflow {
    min-width: 0;
}
.header-icon {
    width: 35px;
    height: 35px;
    border-radius: 8px;
    background-color: transparent;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    cursor: pointer;
    transition: color 0.2s ease, background-color 0.2s ease;
}
.header-icon:hover,
.header-icon:focus-visible {
    color: #fff;
    background-color: #3b404b;
    outline: none;
}
@media (hover: none), (pointer: coarse) {
    .header-icon:active {
        color: #fff;
        background-color: #3b404b;
    }
}

.header-icon--muted {
    opacity: 0.5;
}

/* WhatsApp + Telegram (header) */
.header-contacts {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}
.header-icon--telegram .fa-telegram {
    color: #2aabee;
}
.header-icon--telegram:hover .fa-telegram,
.header-icon--telegram:focus-visible .fa-telegram {
    color: #fff;
}

/* Sino — pedidos de redefinição de senha */
.header-notif-wrap {
    position: relative;
    display: flex;
    align-items: center;
    flex-shrink: 0;
}
.header-notif-wrap .header-icon {
    position: relative;
}
.header-notif-badge {
    position: absolute;
    top: 2px;
    right: 2px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    font-size: 0.62rem;
    font-weight: 700;
    line-height: 16px;
    text-align: center;
    color: #fff;
    background: var(--danger);
    border-radius: 999px;
    pointer-events: none;
}
.header-notif-panel {
    /* position/top/right: em runtime via :style (fixed) para ficar acima de qualquer stacking do main */
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: min(340px, calc(100vw - 24px));
    max-height: min(70vh, 420px);
    overflow-y: auto;
    background: #16161a;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.55);
    z-index: 12000;
    text-align: left;
}
.header-notif-panel__head {
    padding: 10px 12px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #8b949e;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.header-notif-panel__empty {
    padding: 1rem 12px;
    font-size: 0.85rem;
    color: #8b949e;
}
.header-notif-panel__list {
    padding: 8px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.header-notif-item {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 8px;
    padding: 10px 10px 12px;
}
.header-notif-item__title {
    font-size: 0.88rem;
    font-weight: 600;
    color: #fff;
}
.header-notif-item__meta {
    font-size: 0.75rem;
    color: #9ca3af;
    margin-top: 4px;
    word-break: break-word;
}
.header-notif-item__hint {
    margin-top: 6px;
}
.header-notif-item__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
}

/* Dashboard — ações acima do aviso 2FA (barra com Ocultar); tooltips claros com seta */
.dashboard-alerts-toolbar {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-top: 0.25rem;
    margin-bottom: 0.5rem;
    overflow: visible;
}
.dashboard-alerts-toolbar__actions {
    display: inline-flex;
    gap: 0.4rem;
    align-items: center;
    overflow: visible;
}
.dashboard-ctrl-wrap {
    position: relative;
    display: inline-flex;
    overflow: visible;
}
.dashboard-ctrl-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.42rem 0.62rem;
    min-height: 2.05rem;
    min-width: 2.05rem;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    background: #2f343d;
    color: #fff;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.dashboard-ctrl-btn:hover {
    background: #3a404c;
    color: #fff;
    border-color: rgba(255, 255, 255, 0.12);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
.dashboard-ctrl-btn:focus-visible {
    outline: 2px solid rgba(96, 165, 250, 0.45);
    outline-offset: 2px;
}
.dashboard-ctrl-tooltip {
    position: absolute;
    bottom: calc(100% + 10px);
    left: 50%;
    transform: translateX(-50%) translateY(6px);
    padding: 0.45rem 0.65rem;
    background: #e8eaed;
    color: #1f2937;
    font-size: 0.72rem;
    font-weight: 500;
    white-space: nowrap;
    border-radius: 6px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s ease;
    z-index: 50;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.28);
}
.dashboard-ctrl-tooltip::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -6px;
    border: 6px solid transparent;
    border-top-color: #e8eaed;
}
.dashboard-ctrl-wrap:hover .dashboard-ctrl-tooltip,
.dashboard-ctrl-wrap:focus-within .dashboard-ctrl-tooltip {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

/* Barra do dashboard: tooltip como referência — sino = caixa + seta central; engrenagem = caixa alinhada à direita + seta à direita (evita corte com overflow-x) */
.dashboard-alerts-toolbar .dashboard-ctrl-wrap--tip-center .dashboard-ctrl-tooltip {
    left: 50%;
    right: auto;
    transform: translateX(-50%) translateY(6px);
    white-space: nowrap;
    text-align: center;
    padding: 0.5rem 0.85rem;
    z-index: 2000;
    max-width: none;
    line-height: 1.35;
}
.dashboard-alerts-toolbar .dashboard-ctrl-wrap--tip-center .dashboard-ctrl-tooltip::after {
    left: 50%;
    right: auto;
    margin-left: -6px;
    margin-right: 0;
}
.dashboard-alerts-toolbar .dashboard-ctrl-wrap--tip-center:hover .dashboard-ctrl-tooltip,
.dashboard-alerts-toolbar .dashboard-ctrl-wrap--tip-center:focus-within .dashboard-ctrl-tooltip {
    transform: translateX(-50%) translateY(0);
}

.dashboard-alerts-toolbar .dashboard-ctrl-wrap--tip-end .dashboard-ctrl-tooltip {
    left: auto;
    right: 0;
    transform: translateY(6px);
    white-space: nowrap;
    text-align: center;
    padding: 0.5rem 0.85rem;
    z-index: 2000;
    max-width: none;
    line-height: 1.35;
}
.dashboard-alerts-toolbar .dashboard-ctrl-wrap--tip-end .dashboard-ctrl-tooltip::after {
    left: auto;
    right: 0.95rem;
    margin-left: 0;
}
.dashboard-alerts-toolbar .dashboard-ctrl-wrap--tip-end:hover .dashboard-ctrl-tooltip,
.dashboard-alerts-toolbar .dashboard-ctrl-wrap--tip-end:focus-within .dashboard-ctrl-tooltip {
    transform: translateY(0);
}

/* Coluna principal (lado do menu): flex para rodapé colado ao fundo com conteúdo curto */
.sigma-main-column {
    margin-left: var(--sigma-sidebar-width);
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

/* Content Area */
.main-content {
    margin-left: 0;
    padding: var(--sigma-main-padding-top) var(--sigma-main-padding-x) var(--sigma-main-padding-bottom);
    min-width: 0;
}

.main-content:not(.main-content--support) {
    flex: 1 0 auto;
}

/* Sessões ativas — botão à parte do título do header fixo, sempre legível */
.sessions-page-toolbar {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    width: 100%;
    margin-bottom: 1rem;
    clear: both;
}
.sessions-page-toolbar--split {
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.35rem;
}
.sessions-page .sessions-recent-filter,
.sessions-page label.sessions-recent-filter {
    color: rgba(226, 232, 240, 0.94) !important;
}
.sessions-recent-filter__label {
    color: rgba(241, 245, 249, 0.96) !important;
    font-weight: 500;
    white-space: nowrap;
}
.sessions-page-hint {
    color: rgba(203, 213, 225, 0.98) !important;
    line-height: 1.5;
    max-width: 52rem;
}
.sessions-page-hint strong {
    color: #7dd3fc !important;
    font-weight: 600;
}
.sessions-page-note {
    color: rgba(186, 198, 212, 0.95) !important;
}
.sessions-recent-select {
    min-width: 10.5rem;
    max-width: 100%;
    background-color: rgba(255, 255, 255, 0.06) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23a0a0a8' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.6rem center !important;
    background-size: 12px !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    color: #f0f2f5 !important;
    border-radius: 8px;
    color-scheme: dark;
    -webkit-appearance: none;
    appearance: none;
    padding: 0.4rem 2.25rem 0.4rem 0.75rem;
    line-height: 1.4;
    font-size: 0.875rem;
}
.sessions-recent-select:focus {
    border-color: rgba(96, 165, 250, 0.75) !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.25);
    outline: none;
}
.sessions-recent-select option,
.sessions-recent-select optgroup {
    background-color: #1a1d22;
    color: #f0f2f5;
}
.sigma-sessions-logout-others {
    border-width: 1.5px;
    font-weight: 600;
}
@media (max-width: 991.98px) {
    .sessions-page-toolbar {
        justify-content: stretch;
    }
    .sessions-page-toolbar--split {
        flex-direction: column;
        align-items: stretch;
    }
    .sessions-recent-filter {
        width: 100%;
        flex-direction: column;
        align-items: stretch !important;
    }
    .sessions-recent-select {
        width: 100%;
        min-width: 0;
    }
    .sessions-page-toolbar .sigma-sessions-logout-others {
        width: 100%;
    }
}

.sigma-app-footer.sigma-app-footer--tickets {
    margin-top: 0.35rem;
}

/* Rodapé global — discreto: sem barra/fundo, texto pequeno e afastado do conteúdo */
.sigma-app-footer {
    margin-left: 0;
    margin-top: 2.5rem;
    margin-bottom: 0;
    padding-top: 0.2rem;
    padding-bottom: var(--sigma-footer-padding-bottom);
    padding-left: calc(var(--sigma-main-padding-x) + var(--sigma-page-gutter-extra) + var(--sigma-footer-extra-inset-x));
    padding-right: calc(var(--sigma-main-padding-x) + var(--sigma-page-gutter-extra) + var(--sigma-footer-extra-inset-x));
    border: none;
    background: transparent;
    font-size: 0.72rem;
    line-height: 1.35;
    color: rgba(139, 148, 158, 0.92);
    flex-shrink: 0;
}
.sigma-app-footer__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.45rem 1rem;
    max-width: 100%;
}
.sigma-app-footer__left {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.3rem 0.45rem;
    min-width: 0;
}
.sigma-app-footer__right {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.3rem 0.4rem;
    min-width: 0;
}
.sigma-app-footer__brand {
    color: rgba(177, 186, 196, 0.95);
    font-weight: 500;
}
.sigma-app-footer__muted {
    opacity: 1;
    color: inherit;
}
.sigma-app-footer__sep {
    opacity: 0.35;
    user-select: none;
    padding: 0 0.05rem;
}
.sigma-app-footer__link {
    color: rgba(139, 148, 158, 0.9);
    text-decoration: none;
    transition: color 0.15s ease;
}
.sigma-app-footer__link:hover {
    color: var(--primary);
    text-decoration: none;
}
.sigma-app-footer__link:focus-visible {
    color: var(--primary);
    text-decoration: none;
    outline: none;
    box-shadow: 0 0 0 2px rgba(13, 110, 253, 0.35);
    border-radius: 2px;
}
.sigma-app-footer__accent {
    color: rgba(160, 170, 180, 0.95);
    font-weight: 500;
}

/* Conexões ao vivo — capa + título (filme/série) */
.table-premium thead th.live-conn-assistindo-col,
.table-premium tbody td.live-conn-assistindo-cell {
    vertical-align: middle;
    text-align: left;
}
.live-conn-watching {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
    max-width: 320px;
}
.live-conn-poster-slot {
    flex-shrink: 0;
    line-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.live-conn-poster {
    display: block;
    width: 20px;
    height: 30px;
    object-fit: cover;
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.04);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
    overflow: hidden;
}
.live-conn-poster--ph {
    width: 20px;
    height: 30px;
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.06);
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(139, 148, 158, 0.65);
    font-size: 0.6rem;
}
.live-conn-watching-text {
    min-width: 0;
}
.live-conn-title {
    color: #b1bac4;
    font-size: 0.85rem;
    font-weight: 500;
    line-height: 1.35;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.live-conn-watching--compact {
    max-width: 260px;
}
.live-conn-watching--compact .live-conn-poster,
.live-conn-watching--compact .live-conn-poster--ph {
    width: 17px;
    height: 25px;
    border-radius: 2px;
}
.live-conn-watching--compact .live-conn-poster--ph {
    font-size: 0.55rem;
}
.live-conn-watching--compact .live-conn-title {
    font-size: 0.8rem;
    -webkit-line-clamp: 2;
}

/* Migração de cliente — caixas de ajuda e formulário */
.sigma-migration-hints {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.sigma-migration-hint {
    border: 1px solid rgba(13, 110, 253, 0.55);
    background: rgba(13, 110, 253, 0.07);
    border-radius: 8px;
    padding: 12px 16px;
    color: rgba(147, 197, 255, 0.95);
    font-size: 0.875rem;
    line-height: 1.45;
}
.sigma-migration-hint strong {
    color: #fff;
    font-weight: 600;
}
.sigma-migration-empty {
    text-align: left;
    font-size: 0.9rem;
}
.sigma-migration-form-wrap {
    padding-bottom: 1.5rem;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}
/* Largura total da coluna principal; margens horizontais vêm só de .main-content */
.sigma-migration-form-card {
    background-color: var(--bg-card, #1a1a1e);
    border-radius: 12px;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    box-shadow: none !important;
}
.sigma-migration-back {
    color: rgba(196, 208, 220, 0.95) !important;
}
.sigma-migration-back:hover,
.sigma-migration-back:focus-visible {
    color: #fff !important;
}
.sigma-migration-form-tip {
    color: rgba(203, 213, 225, 0.95);
    font-size: 0.875rem;
    line-height: 1.55;
    margin-bottom: 0;
}
.sigma-migration-example {
    border: 1px solid rgba(13, 110, 253, 0.5);
    border-radius: 8px;
    padding: 12px 14px;
    background: rgba(13, 110, 253, 0.06);
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.sigma-migration-example__line {
    display: block;
    font-size: 0.72rem;
    line-height: 1.4;
    color: rgba(96, 165, 250, 0.98);
    word-break: break-all;
    white-space: pre-wrap;
    font-family: ui-monospace, 'Cascadia Code', 'Consolas', monospace;
}
.sigma-migration-textarea {
    resize: vertical;
    min-height: 200px;
    font-family: ui-monospace, 'Cascadia Code', 'Consolas', monospace;
    font-size: 0.8rem;
    line-height: 1.4;
}
.sigma-migration-warn {
    border: 1px solid rgba(220, 53, 69, 0.55);
    background: rgba(220, 53, 69, 0.08);
    border-radius: 8px;
    padding: 12px 16px;
    color: #f1aeb5;
    font-size: 0.85rem;
    line-height: 1.45;
}

/* Alertas na revisão de migração */
.sigma-migration-review-alerts {
    gap: 0.65rem !important;
}
.sigma-migration-alert {
    border-radius: 8px;
    padding: 12px 16px;
    font-size: 0.875rem;
    line-height: 1.45;
    border: 1px solid;
}
.sigma-migration-alert--info {
    border-color: rgba(13, 110, 253, 0.6);
    background: rgba(13, 110, 253, 0.09);
    color: rgba(147, 197, 255, 0.95);
}
.sigma-migration-alert--caution {
    border-color: rgba(202, 138, 4, 0.65);
    background: rgba(202, 138, 4, 0.1);
    color: rgba(253, 224, 139, 0.95);
}
.sigma-migration-alert--danger {
    border-color: rgba(220, 53, 69, 0.55);
    background: rgba(220, 53, 69, 0.1);
    color: #f1aeb5;
}
.sigma-migration-approve-hint {
    border: 1px solid rgba(202, 138, 4, 0.55);
    background: rgba(202, 138, 4, 0.08);
    border-radius: 8px;
    padding: 14px 16px;
    color: rgba(253, 224, 139, 0.92);
    font-size: 0.875rem;
    line-height: 1.5;
}
.sigma-migration-approve-hint strong {
    color: #fff;
    font-weight: 600;
}
.sigma-migration-th-check {
    width: 2.5rem;
    min-width: 2.5rem;
}
.sigma-migration-th-user-select {
    font-size: 0.75rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.5) !important;
    letter-spacing: 0.05em;
}
.sigma-migration-th-user-select span {
    color: inherit;
}
.sigma-migration-row-check {
    width: 1.1rem;
    height: 1.1rem;
    cursor: pointer;
    accent-color: var(--bs-primary, #0d6efd);
}
.sigma-migration-row-check:disabled {
    cursor: not-allowed;
    opacity: 0.45;
}

/* Tabela revisão migração — dados em cinza slate legível (referência visual) */
.sigma-migration-review-table tbody td.sigma-migration-review-data {
    color: rgba(148, 163, 184, 0.98);
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1.45;
}

/* Lista de migrações (CRIADO EM / ATUALIZADO EM) — evita text-muted do Bootstrap muito escuro */
.sigma-migration-jobs-table tbody td.sigma-migration-jobs-data {
    color: rgba(148, 163, 184, 0.98) !important;
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1.45;
}

.sigma-migration-review-table tbody td.sigma-migration-review-data--mono {
    font-family: ui-monospace, 'Cascadia Code', 'Consolas', monospace;
    font-variant-numeric: tabular-nums;
}

/* IP em conexões: só o texto, sem caixa */
.live-conn-ip-plain {
    font-family: ui-monospace, 'Cascadia Code', 'Consolas', monospace;
    white-space: nowrap;
}

/* Coluna TEMPO (conexões): largura fixa + números tabulares — evita “saltar” a tabela a cada segundo */
.table-premium thead th.live-conn-duration-col,
.table-premium tbody td.live-conn-duration-col {
    width: 8.75rem;
    min-width: 8.75rem;
    max-width: 8.75rem;
    text-align: center;
    vertical-align: middle;
    box-sizing: border-box;
}
.table-premium tbody td.live-conn-duration-col {
    color: var(--text-muted);
    font-size: 0.85rem;
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1;
    white-space: nowrap;
}

/* Planos (preço): main passa mesmo tom da tabela (sem halo mais escuro do body) */
.main-content.main-content--planos-preco {
    background-color: var(--bg-main);
}
/* Custom Cards */
.card {
    background-color: var(--bg-card);
    border: none;
    border-radius: 0.5rem;
    margin-bottom: 20px;
    color: #fff;
}
.card-header {
    background-color: transparent;
    border-bottom: 1px solid var(--border-color);
    padding: 1rem 1.5rem;
    font-weight: 600;
}
.card-body { padding: 1.5rem; }

/* Specific Widgets */
.alert-purple {
    background: linear-gradient(90deg, rgba(43,26,74,1) 0%, rgba(22,17,36,1) 100%);
    border: 1px solid #4a2b82;
    color: #fff;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
}
.alert-purple h5 { color: #ffc107; font-weight: 700; font-size: 1rem; margin-bottom: 10px;}
.alert-purple p { font-size: 0.85rem; font-weight: 600; margin-bottom: 5px; }
.alert-purple ul { list-style: none; padding-left: 0; margin-bottom: 0; font-size: 0.85rem; color: #d4cde3;}
.alert-purple li { margin-bottom: 5px; }
.alert-purple li i { color: #dc3545; margin-right: 5px; }
.alert-purple li i.fa-check { color: #00d26a; }
.alert-purple li i.fa-hand-point-right { color: #ffc107; }

.alert-red {
    background-color: rgba(220, 53, 69, 0.1);
    border: 1px solid rgba(220, 53, 69, 0.3);
    color: #ff8a95;
    padding: 15px 20px;
    border-radius: 8px;
    margin-bottom: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.85rem;
}
.alert-red .btn-hide {
    background-color: var(--danger);
    color: #fff;
    border: none;
    padding: 5px 15px;
    border-radius: 4px;
    font-size: 0.8rem;
    font-weight: 600;
}

.green-card {
    background-color: var(--green-bright);
    color: #000;
    padding: 20px;
    border-radius: 8px;
    position: relative;
    height: 110px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.green-card .icon { font-size: 1.5rem; margin-bottom: 5px; opacity: 0.6; }
.green-card h2 { font-weight: 700; margin: 0; font-size: 1.2rem; letter-spacing: -0.015em; color: #ffffff; }
.green-card p { font-size: 0.76rem; font-weight: 400; margin: 0; color: #9ca3af; line-height: 1.3; }
.green-card .refresh { position: absolute; top: 15px; right: 15px; cursor: pointer; opacity: 0.7; }

/* Lista de servidores (dashboard) — grid alinhado à referência */
.server-list--dashboard {
    position: relative;
    background-color: var(--bg-card);
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.02);
    overflow: hidden;
}
.server-list__refresh {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 1;
    border: none;
    background: transparent;
    color: #9ca3af;
    opacity: 0.5;
    padding: 0.2rem;
    line-height: 1;
    cursor: pointer;
    transition: opacity 0.15s ease, color 0.15s ease;
}
.server-list__refresh:hover {
    opacity: 0.9;
    color: #d1d5db;
}
.server-list__empty {
    text-align: center;
    padding: 2.5rem 2.75rem 2rem;
    padding-right: 2.5rem;
}
.server-list__rows {
    padding: 0;
}
.server-list--dashboard .server-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 3.75rem minmax(6.5rem, max-content) 1.125rem;
    align-items: center;
    gap: 0.65rem 0.85rem;
    padding: 14px 18px;
    position: relative;
    font-size: 0.875rem;
    transition: background 0.15s ease;
}
.server-list--dashboard .server-item:hover {
    background: rgba(255, 255, 255, 0.025);
}
.server-list__rows .server-item:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 0;
    height: 0;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.12);
}
.server-item__name {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
    font-weight: 600;
    color: #f3f4f6;
}
.server-item__name-text {
    min-width: 0;
}
.server-item__name-icon {
    flex-shrink: 0;
    font-size: 0.78rem;
    color: #9ca3af;
    opacity: 0.9;
}
.server-item__type {
    text-align: center;
    font-size: 0.72rem;
    font-weight: 600;
    color: #6b7280;
    letter-spacing: 0.02em;
}
.server-item__date {
    display: flex;
    justify-content: flex-end;
}
.server-item__date-pill {
    background: #15181f;
    color: #2ee59d;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    white-space: nowrap;
    line-height: 1.35;
}
.server-item__date-pill--pending {
    color: #9ca3af;
    font-weight: 600;
}
.server-item__status {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.server-item__dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    flex-shrink: 0;
}
.server-item__dot--online {
    background-color: #2ee59d;
    box-shadow: 0 0 8px rgba(46, 229, 157, 0.55);
}
.server-item__dot--offline {
    background-color: #4b5563;
    box-shadow: none;
}
.server-list__footer {
    padding: 12px 18px 14px;
    font-size: 0.75rem;
    color: #6b7280;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}
.status-dot {
    width: 8px;
    height: 8px;
    background-color: #00d26a;
    border-radius: 50%;
    display: inline-block;
    box-shadow: 0 0 6px rgba(0, 210, 106, 0.4);
}
.status-dot.pulse {
    animation: statusPulse 2s infinite;
}

/* Quick Test — alinhado ao .dashboard-card (padding ~18px, border-radius 12px, --bg-card) */
.quick-test-card-wrap {
    background-color: var(--bg-card);
    border: 1px solid rgba(255, 255, 255, 0.02);
    border-radius: 12px;
    overflow: hidden;
    flex-shrink: 0;
}
/* Dashboard: mosaico — duas pilhas flex (colunas independentes), gap uniforme */
.dashboard-mosaic {
    width: 100%;
}
.dashboard-mosaic--two {
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
    align-items: flex-start;
}
@media (max-width: 1199.98px) {
    .dashboard-mosaic--two {
        flex-direction: column;
    }
}
.dashboard-mosaic--one {
    display: block;
}
.dashboard-mosaic__col {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.dashboard-mosaic__col--full {
    flex: none;
    width: 100%;
}
.dashboard-mosaic__cell {
    min-width: 0;
}
.dashboard-mosaic__cell:has(.quick-test-card-wrap) {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.dashboard-mosaic.dashboard-main-columns .dashboard-mosaic__col > .dashboard-mosaic__cell > .dashboard-card,
.dashboard-mosaic.dashboard-main-columns .dashboard-mosaic__col > .dashboard-mosaic__cell > .quick-test-card-wrap {
    margin-bottom: 0 !important;
}

/* Modal — Configurações da Dashboard */
.dashboard-settings-backdrop {
    position: fixed;
    inset: 0;
    z-index: 2060;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(0, 0, 0, 0.65);
    -webkit-tap-highlight-color: transparent;
}
.dashboard-settings-modal {
    width: min(920px, 100%);
    max-height: min(90vh, 880px);
    display: flex;
    flex-direction: column;
    background: #0f0f12;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.55);
    color: #e5e7eb;
}
.dashboard-settings-modal__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.15rem 1.35rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.dashboard-settings-modal__title {
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0;
    color: #fff;
}
.dashboard-settings-modal__body {
    padding: 1.15rem 1.35rem 1.25rem;
    overflow-y: auto;
    flex: 1;
    min-height: 0;
}
.dashboard-settings-section-title {
    font-size: 0.95rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 0.85rem;
}
.dashboard-settings-section-title--with-icon {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}
.dashboard-settings-section-title--with-icon i {
    color: #6b7280;
    font-size: 0.85rem;
}
.dashboard-settings-layout-section {
    margin-bottom: 1.5rem;
}
.dashboard-settings-layout-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}
@media (max-width: 576px) {
    .dashboard-settings-layout-options {
        grid-template-columns: 1fr;
    }
}
.dashboard-settings-layout-card {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    padding: 0.9rem 1rem;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: #16161a;
    cursor: pointer;
    margin: 0;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.dashboard-settings-layout-card.is-selected {
    border-color: rgba(13, 110, 253, 0.55);
    box-shadow: 0 0 0 1px rgba(13, 110, 253, 0.35);
}
.dashboard-settings-layout-card:hover {
    border-color: rgba(255, 255, 255, 0.14);
}
.dashboard-settings-layout-icon {
    flex-shrink: 0;
    width: 40px;
    height: 44px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
    position: relative;
}
.dashboard-settings-layout-icon--one::after {
    content: '';
    position: absolute;
    inset: 8px 11px;
    border-radius: 3px;
    background: rgba(13, 110, 253, 0.35);
    border: 1px solid rgba(13, 110, 253, 0.5);
}
.dashboard-settings-layout-icon--two::after,
.dashboard-settings-layout-icon--two::before {
    content: '';
    position: absolute;
    top: 8px;
    bottom: 8px;
    width: 11px;
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.15);
}
.dashboard-settings-layout-icon--two::before {
    left: 8px;
}
.dashboard-settings-layout-icon--two::after {
    right: 8px;
}
.dashboard-settings-layout-card.is-selected .dashboard-settings-layout-icon--two::after,
.dashboard-settings-layout-card.is-selected .dashboard-settings-layout-icon--two::before {
    background: rgba(13, 110, 253, 0.35);
    border-color: rgba(13, 110, 253, 0.55);
}
.dashboard-settings-layout-text {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}
.dashboard-settings-layout-name {
    font-weight: 700;
    color: #fff;
    font-size: 0.88rem;
}
.dashboard-settings-layout-desc {
    font-size: 0.78rem;
    color: #9ca3af;
    line-height: 1.35;
}
.dashboard-settings-widgets-section {
    margin-top: 0.25rem;
}
.dashboard-settings-widgets-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 0.75rem;
}
.dashboard-settings-bulk-actions {
    display: flex;
    gap: 1rem;
}
.dashboard-settings-link-btn {
    background: none;
    border: none;
    padding: 0;
    color: #6ea8fe;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
}
.dashboard-settings-link-btn:hover {
    color: #9ec5fe;
    text-decoration: underline;
}
.dashboard-settings-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
@media (max-width: 768px) {
    .dashboard-settings-columns {
        grid-template-columns: 1fr;
    }
}
.dashboard-settings-col-label {
    font-size: 0.8rem;
    font-weight: 700;
    color: #0d6efd;
    letter-spacing: 0.02em;
    margin-bottom: 0.55rem;
}
.dashboard-settings-widget-list {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}
.dashboard-settings-widget-card {
    background: #16161a;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 11px;
    padding: 0.75rem 0.85rem 0.6rem;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas:
        'chk body'
        'act act';
    gap: 0.35rem 0.65rem;
}
.dashboard-settings-widget-check {
    grid-area: chk;
    display: flex;
    align-items: flex-start;
    padding-top: 0.1rem;
}
.dashboard-settings-widget-check input {
    width: 1.05rem;
    height: 1.05rem;
    border-radius: 3px;
    accent-color: #0d6efd;
    cursor: pointer;
}
.dashboard-settings-widget-body {
    grid-area: body;
    min-width: 0;
}
.dashboard-settings-widget-title {
    font-weight: 700;
    color: #fff;
    font-size: 0.84rem;
    line-height: 1.3;
    margin-bottom: 0.15rem;
}
.dashboard-settings-widget-desc {
    font-size: 0.74rem;
    color: #9ca3af;
    line-height: 1.35;
    margin-bottom: 0.35rem;
}
.dashboard-settings-widget-tag {
    display: inline-block;
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: lowercase;
    padding: 0.12rem 0.45rem;
    border-radius: 5px;
    background: rgba(13, 110, 253, 0.2);
    color: #6ea8fe;
    border: 1px solid rgba(13, 110, 253, 0.35);
}
.dashboard-settings-widget-actions {
    grid-area: act;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 0.35rem;
    margin-top: 0.1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}
.dashboard-settings-move-btns {
    display: inline-flex;
    gap: 4px;
}
.dashboard-settings-move-btns button {
    width: 30px;
    height: 30px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: #121216;
    color: #9ca3af;
    font-size: 0.7rem;
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease;
}
.dashboard-settings-move-btns button:hover:not(:disabled) {
    background: rgba(255, 255, 255, 0.06);
    color: #e5e7eb;
}
.dashboard-settings-move-btns button:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}
.dashboard-settings-modal__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.95rem 1.35rem;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    flex-wrap: wrap;
}
.dashboard-settings-footer-right {
    display: flex;
    gap: 0.55rem;
    margin-left: auto;
}
.dashboard-settings-btn-reset {
    background: #dc3545;
    border: none;
    color: #fff;
    font-weight: 600;
    font-size: 0.84rem;
    padding: 0.45rem 1rem;
    border-radius: 9px;
}
.dashboard-settings-btn-reset:hover {
    background: #e35d6a;
    color: #fff;
}
.dashboard-settings-btn-close {
    background: #2a2a30;
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #c4c9d4;
    font-weight: 600;
    font-size: 0.84rem;
    padding: 0.45rem 1.1rem;
    border-radius: 9px;
}
.dashboard-settings-btn-close:hover {
    background: #32323a;
    color: #fff;
}
.dashboard-settings-btn-save {
    background: #0d6efd;
    border: none;
    color: #fff;
    font-weight: 600;
    font-size: 0.84rem;
    padding: 0.45rem 1.15rem;
    border-radius: 9px;
}
.dashboard-settings-btn-save:hover {
    background: #3d8bfd;
    color: #fff;
}

.quick-test-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 18px 12px;
}
.quick-test-card-title {
    font-weight: 700;
    color: #fff;
    font-size: 0.95rem;
}
.quick-test-refresh {
    opacity: 0.45;
    color: #9ca3af;
    padding: 0.1rem;
}
.quick-test-refresh:hover {
    opacity: 0.85;
    color: #d1d5db;
}
.quick-test-card-body {
    padding: 12px 18px 18px;
    max-height: 320px;
    overflow-y: auto;
}
.quick-test-empty a {
    text-decoration: underline;
    text-underline-offset: 2px;
}
.quick-test-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    text-align: left;
    border: none;
    background: rgba(255, 255, 255, 0.04);
    color: #e5e7eb;
    border-radius: 10px;
    padding: 12px 14px;
    margin-bottom: 10px;
    font-size: 0.82rem;
    gap: 10px;
    transition: background 0.15s ease, box-shadow 0.15s ease;
}
.quick-test-row:last-child {
    margin-bottom: 0;
}
.quick-test-row:hover {
    background: rgba(255, 255, 255, 0.07);
}
.quick-test-row-label {
    font-weight: 600;
    flex: 1;
    min-width: 0;
    line-height: 1.3;
}
.quick-test-row-label-prefix {
    font-weight: 600;
}
.quick-test-row-label-sep {
    font-weight: 600;
    opacity: 0.5;
}
.quick-test-row-label-plan {
    font-weight: 600;
    transition: color 0.15s ease;
}
.quick-test-row:hover:not(:disabled) .quick-test-row-label-plan {
    color: #7dd3fc !important;
}
.quick-test-row:hover:not(:disabled) .quick-test-row-label-plan.text-primary {
    color: #93c5fd !important;
}
.quick-test-row-meta {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    font-size: 0.72rem;
    color: #9ca3af;
    font-weight: 500;
}
.quick-test-provider {
    max-width: 6.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.quick-test-brand-icon {
    margin-left: 6px;
    font-size: 0.95rem;
    color: #fbbf24;
    opacity: 0.9;
}
.quick-test-row:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}
.quick-test-row--highlight .quick-test-brand-icon {
    color: #ec4899;
}
/* Botão "Adicionar Cliente" — largura da coluna; altura discreta; no rodapé do card Teste Rápido no dashboard */
.dashboard-add-client-sidebar.btn {
    padding-top: 7px;
    padding-bottom: 7px;
    padding-left: 16px;
    padding-right: 16px;
    min-height: 0;
}
.dashboard-add-client-sidebar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 0;
    line-height: 1.2;
    background: #4b5563;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 12px;
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    transition: background 0.18s ease, border-color 0.18s ease;
    flex-shrink: 0;
}
.dashboard-add-client-sidebar:hover {
    background: #5c6578;
    color: #fff !important;
    border-color: rgba(255, 255, 255, 0.18);
}
.dashboard-add-client-sidebar__plus {
    width: 19px;
    height: 19px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.45);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.62rem;
    color: rgba(255, 255, 255, 0.92);
    flex-shrink: 0;
}
.trial-adult-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #dc2626;
    color: #fff;
    font-size: 0.65rem;
    font-weight: 800;
}
.client-card-badge-trial {
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    padding: 4px 8px;
    border-radius: 6px;
    border: 1px solid rgba(250, 204, 21, 0.55);
    color: #facc15;
    background: rgba(250, 204, 21, 0.08);
}

/* Quick Test List */
.quick-test-card { height: 100%; margin-bottom: 0; }
.quick-test-card .card-body { padding: 0; }
.test-item {
    display: flex;
    justify-content: space-between;
    padding: 15px 20px;
    border-bottom: 1px solid var(--border-color);
    font-size: 0.85rem;
    align-items: center;
}
.test-item:last-child { border-bottom: none; }
.test-item span { font-weight: 600; }
.test-item .text-muted { font-size: 0.75rem; font-weight: 500; }

.btn-add-client {
    background-color: #3b404b;
    color: #fff;
    border: 1px solid var(--border-color);
    width: 100%;
    padding: 15px;
    border-radius: 8px;
    font-weight: 600;
    margin-top: 20px;
    transition: 0.2s;
}
.btn-add-client:hover { background-color: #4b515d; }

/* 12 Pages Common UI Elements */

/* Tables */
.table-custom {
    color: #fff;
    margin-bottom: 0;
}
.table-custom th {
    background-color: transparent;
    color: var(--text-muted);
    font-weight: 600;
    font-size: 0.8rem;
    border-bottom: 1px solid var(--border-color);
    padding: 15px;
}
.table-custom td {
    background-color: transparent;
    border-bottom: 1px solid var(--border-color);
    padding: 15px;
    font-size: 0.85rem;
    vertical-align: middle;
}
.table-custom tbody tr:hover td {
    background-color: rgba(255, 255, 255, 0.02);
}

/* Pacotes de teste rápido — contraste no fundo escuro */
.sigma-qtp-page-intro {
    color: #c8cdd4;
    max-width: 52rem;
    line-height: 1.45;
}
.sigma-qtp-page-intro strong {
    color: #eef0f4;
    font-weight: 600;
}
.sigma-qtp-packages-table thead th {
    color: #adb5bd !important;
}
.sigma-qtp-packages-table tbody td {
    color: #e8eaed;
    font-size: 0.875rem;
}
.sigma-qtp-packages-table .sigma-qtp-packages-table__cell {
    color: #e2e5eb;
}
.sigma-qtp-packages-table .sigma-qtp-packages-table__sub {
    color: #b4bac6;
    font-size: 0.8125rem;
    margin-top: 0.2rem;
}
.sigma-qtp-packages-table .sigma-qtp-packages-table__empty {
    color: #9aa3b2;
}

/* Formulário «Pacotes de teste rápido» — selects legíveis (lista nativa / color-scheme) */
.sigma-quick-test-editor select.form-select-dark {
    color-scheme: dark;
    background-color: #1b1e27 !important;
    color: #f1f3f5 !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
}
.sigma-quick-test-editor select.form-select-dark:focus {
    border-color: #3b82f6 !important;
    box-shadow: 0 0 0 0.12rem rgba(59, 130, 246, 0.25);
}
.sigma-quick-test-editor select.form-select-dark option,
.sigma-quick-test-editor select.form-select-dark optgroup {
    background-color: #252830;
    color: #f1f3f5;
}
.sigma-quick-test-editor .form-control-dark {
    color-scheme: dark;
    color: #f1f3f5 !important;
}

/* Badges */
.badge-status {
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 0.75rem;
    font-weight: 600;
}
.badge-info { background-color: rgba(13, 110, 253, 0.1); color: var(--primary); }
.badge-success { background-color: rgba(25, 135, 84, 0.1); color: var(--success); }
.badge-danger { background-color: rgba(220, 53, 69, 0.1); color: var(--danger); }
.badge-warning { background-color: rgba(255, 193, 7, 0.1); color: var(--warning); }

/* Forms */
.form-label-custom {
    color: var(--text-muted);
    font-size: 0.85rem;
    font-weight: 600;
}
.form-control-custom {
    background-color: #1e212b;
    border: 1px solid var(--border-color);
    color: #fff;
    border-radius: 6px;
    padding: 12px;
}
.form-control-custom:focus {
    background-color: #2a3040;
    border-color: var(--primary);
    color: #fff;
    box-shadow: none;
}

/* Credit Packages */
.credit-pkg {
    border: 1px solid var(--border-color);
    border-radius: 10px;
    padding: 30px;
    text-align: center;
    background-color: var(--bg-card);
    transition: 0.3s;
    position: relative;
    overflow: hidden;
}
.credit-pkg:hover { border-color: var(--primary); transform: translateY(-5px); }
.credit-pkg.popular { border-color: var(--primary); }
.credit-pkg.popular::before {
    content: "MAIS VENDIDO";
    position: absolute;
    top: 15px; right: -35px;
    background-color: var(--primary);
    color: #fff;
    font-size: 0.6rem;
    font-weight: 800;
    padding: 5px 40px;
    transform: rotate(45deg);
}

/* Comprar Créditos — cartões em grelha full-width (margens vêm do .main-content) */
.credit-buy-page {
    width: 100%;
    max-width: none;
    margin: 0;
}

.credit-buy-empty {
    padding: 2.5rem 1.25rem;
    text-align: center;
    color: rgba(139, 139, 147, 0.95);
    font-size: 0.9rem;
    background: rgba(255, 255, 255, 0.03);
    border: 1px dashed rgba(255, 255, 255, 0.1);
    border-radius: 12px;
}

.credit-buy-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
    width: 100%;
}

@media (max-width: 991.98px) {
    .credit-buy-grid {
        grid-template-columns: 1fr;
    }
}

.credit-buy-card {
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 18px;
    background: var(--bg-card);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    cursor: pointer;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
    box-sizing: border-box;
}

.credit-buy-card:hover {
    border-color: rgba(13, 110, 253, 0.92);
    box-shadow: 0 0 0 1px rgba(13, 110, 253, 0.22);
}

.credit-buy-card:focus {
    outline: none;
}

.credit-buy-card:focus-visible {
    box-shadow: 0 0 0 2px rgba(13, 110, 253, 0.45);
    border-color: rgba(13, 110, 253, 0.65);
}

.credit-buy-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.65rem;
}

.credit-buy-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.28rem 0.58rem;
    font-size: 0.84rem;
    font-weight: 600;
    border-radius: 7px;
    white-space: nowrap;
    border: none;
    background: #1a222d;
    box-sizing: border-box;
}

.credit-buy-badge--credits {
    color: #ffffff;
    font-weight: 600;
}

.credit-buy-badge--total {
    color: var(--primary);
    font-weight: 600;
}

.credit-buy-dashed {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 4.5rem;
    margin-bottom: 0.65rem;
    padding: 0.55rem 0.65rem;
    border: 1px dashed rgba(13, 110, 253, 0.65);
    border-radius: 10px;
    background: rgba(13, 110, 253, 0.04);
}

.credit-buy-unit-line {
    font-size: clamp(1rem, 1.5vw, 1.2rem);
    font-weight: 700;
    color: #fff;
    text-align: center;
    line-height: 1.28;
}

.credit-buy-cta {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.48rem 0.75rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: #fff;
    background: var(--primary);
    border: none;
    border-radius: 8px;
    transition: background 0.15s ease, opacity 0.15s ease;
}

.credit-buy-cta:hover {
    background: #0b5ed7;
    color: #fff;
}

.credit-buy-cta__icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #fff;
    color: var(--primary);
    font-size: 0.65rem;
}

.credit-buy-cta__text {
    text-align: center;
    line-height: 1.35;
}

/* Switches / Toggles */
.custom-switch .form-check-input {
    width: 3em;
    height: 1.5em;
    background-color: #3b404b;
    border: none;
    cursor: pointer;
}
.custom-switch .form-check-input:checked { background-color: var(--success); }
.custom-switch .form-check-label { font-weight: 600; padding-left: 10px; cursor: pointer; }

/* Logs Terminal */
.terminal-log {
    background-color: #0d1117;
    color: #00ff00;
    font-family: monospace;
    padding: 20px;
    border-radius: 8px;
    font-size: 0.85rem;
    height: 200px;
    overflow-y: auto;
}

/* Login Page */
.login-page {
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--bg-main); /* Darker blue/black background */
    color: #fff;
}

.login-card {
    width: 100%;
    max-width: 520px;
    padding: 2rem;
    background: transparent;
}

.login-logo {
    text-align: center;
    margin-bottom: 2.5rem;
}
.login-logo h1 {
    font-weight: 800;
    font-size: 3rem;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.login-logo h1 span.white { color: #fff; }
.login-logo h1 span.red { color: #dc3545; }

.login-input {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    display: block;
    background-color: #2b3243 !important; /* Exact color requested */
    border: none;
    color: #fff !important;
    border-radius: 8px;
    padding: 10px 16px; /* Reduced vertical padding */
    font-size: 0.95rem;
    font-weight: 600;
}

/* Fix browser autofill changing input background to white */
.login-input:-webkit-autofill,
.login-input:-webkit-autofill:hover, 
.login-input:-webkit-autofill:focus, 
.login-input:-webkit-autofill:active{
    -webkit-box-shadow: 0 0 0 30px #2b3243 inset !important;
    -webkit-text-fill-color: #fff !important;
    transition: background-color 5000s ease-in-out 0s;
}

.login-input::placeholder {
    color: rgba(255, 255, 255, 0.7);
    font-weight: 500;
}
.login-input:focus {
    background-color: #31384a !important;
    color: #fff !important;
    box-shadow: none;
    border: none;
    outline: none;
}

.login-label {
    font-size: 0.95rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 10px;
    display: block;
}

.login-label-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.login-link {
    color: #0066ff; /* Blue link color */
    text-decoration: none !important;
    font-size: 0.8rem;
    font-weight: 500;
}
.login-link:hover,
.login-link:focus-visible {
    text-decoration: none !important;
    color: #4d94ff;
}

/* Botões estilizados como <a> no fluxo de login / redefinir senha — sem sublinhado */
.login-card a.btn,
.login-card a.btn:hover,
.login-card a.btn:focus,
.login-card a.btn:focus-visible {
    text-decoration: none !important;
}

.verified-box {
    background-color: #2b3243 !important; /* Matched exactly with text area */
    border: none;
    border-radius: 8px;
    padding: 10px 16px; /* Reduced vertical padding */
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 1.5rem;
}

/* Custom Checkbox */
.verified-box .form-check-input {
    background-color: #0066ff;
    border-color: #0066ff;
    border-radius: 4px;
    width: 1.2rem;
    height: 1.2rem;
    cursor: pointer;
}
.verified-box .form-check-input:checked {
    background-color: #0066ff;
    border-color: #0066ff;
}
.verified-box .form-check-label {
    color: #0066ff !important; /* Force override primary */
    font-weight: 600;
    font-size: 0.95rem !important;
    cursor: pointer;
}

.btn-login {
    background-color: #0066ff;
    color: #fff;
    border: none;
    padding: 10px; /* Reduced vertical padding */
    font-size: 1.05rem;
    font-weight: 600;
    border-radius: 8px;
}
.btn-login:hover {
    background-color: #0052cc;
    color: #fff;
}

.login-footer {
    text-align: center;
    font-size: 0.85rem;
    color: #636873; /* Muted gray */
    margin-top: 1.5rem;
    font-weight: 500;
}

.btn-primary {
    background-color: var(--primary);
    border-color: var(--primary);
    padding: 0.75rem 1.5rem;
    font-weight: 600;
}

.btn-primary:hover {
    background-color: #5d29d6;
    border-color: #5d29d6;
}

/* Animations */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.fade-in {
    animation: fadeIn 0.4s ease-out;
}

/* Dashboard Analytics Layout */
.dashboard-card {
    background-color: var(--bg-card);
    border-radius: 12px;
    padding: 18px;
    position: relative;
    border: 1px solid rgba(255,255,255,0.02);
}
.card-title-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
/* Cabeçalhos dos gráficos: refresh no canto sup. direito (meio apagado); KPIs compactos */
.card-title-header--analytics {
    align-items: flex-start;
    gap: 0.5rem;
    margin-bottom: 0.35rem !important;
}
.card-title-header--analytics + .chart-legend {
    margin-top: 0.35rem !important;
}
.dashboard-chart-header-right {
    flex: 1;
    min-width: 0;
    align-items: stretch;
}
.dashboard-chart-header-kpi-stack {
    position: relative;
    width: 100%;
    padding-right: 1.4rem;
    padding-top: 0;
}
.dashboard-chart-header-kpis {
    width: 100%;
}
.dashboard-chart-refresh-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    padding: 0.1rem;
    margin: 0;
    cursor: pointer;
    line-height: 1;
    border-radius: 4px;
    font-size: 0.8rem;
    color: #9ca3af;
    opacity: 0.45;
    transition: opacity 0.15s ease, color 0.15s ease;
}
.dashboard-chart-refresh-btn--corner {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
}
.dashboard-chart-refresh-btn:hover {
    opacity: 0.85;
    color: #d1d5db;
    background: transparent;
}
.dashboard-chart-refresh-btn:focus-visible {
    outline: 2px solid rgba(59, 130, 246, 0.45);
    outline-offset: 2px;
    opacity: 0.9;
}
.chart-icon-box {
    background-color: rgba(255,255,255,0.05);
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #a0a0a0;
    font-size: 1.2rem;
}
/* KPIs dos cartões Analytics — valor branco compacto; legenda cinza como referência */
.dashboard-analytics-kpi-value {
    font-size: 1.2rem;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.05;
    letter-spacing: -0.015em;
    margin: 0;
}
.dashboard-analytics-kpi-label {
    display: block;
    font-size: 0.76rem;
    font-weight: 400;
    color: #9ca3af;
    line-height: 1.25;
    margin: 0.1rem 0 0;
}
.dashboard-card .chart-legend .legend-item {
    color: #9ca3af;
    font-size: 0.78rem;
}
.legend-item {
    font-size: 0.75rem;
    color: var(--text-muted);
    display: flex;
    align-items: center;
    gap: 6px;
}
.legend-item .dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
}

/* Legenda — gráfico Créditos consumidos (cores alinhadas à série) */
.legend-dot-credits-current {
    background: #ff4d6d !important;
}
.legend-dot-credits-prev {
    background: #8e9aaf !important;
}

/* Cartão “Receita Perdida” — alinhamento como referência (ícone+legenda à esquerda; valor à direita; gráfico em destaque) */
.dashboard-card.dashboard-card--lost-revenue {
    padding: 18px 18px 16px;
    border: 1px solid rgba(255, 255, 255, 0.06);
}
.dashboard-chart-head-lost {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 0.25rem;
}
.dashboard-chart-head-lost-left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
}
.chart-icon-box.chart-icon-box--lost-revenue {
    background-color: rgba(74, 36, 38, 0.65);
    border: 1px solid rgba(200, 90, 98, 0.22);
    width: 46px;
    height: 46px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 1.15rem;
    flex-shrink: 0;
}
.dashboard-chart-head-lost .chart-legend-row {
    margin-top: 0.65rem;
}
.dashboard-chart-head-lost .chart-legend-row .legend-item {
    font-size: 0.78rem;
    color: #9ca3af;
    letter-spacing: 0.01em;
}
.dashboard-chart-head-lost .legend-dot-current {
    background-color: #e85d6f !important;
    box-shadow: 0 0 0 1px rgba(232, 93, 111, 0.35);
}
.dashboard-chart-head-lost .legend-dot-prev {
    background-color: #6f747c !important;
}
.dashboard-chart-head-lost-right {
    position: relative;
    flex: 1;
    min-width: 0;
    padding-right: 1.35rem;
    text-align: right;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}
.dashboard-chart-head-lost-right .dashboard-chart-refresh-btn--corner {
    top: 0;
}
.dashboard-chart-head-lost-right .dashboard-chart-kpi-caption-trailing {
    margin-top: 0.15rem;
    max-width: 19rem;
    text-align: right;
}
.dashboard-chart-canvas-lost {
    height: 200px;
    width: 100%;
    margin-top: 0.5rem;
    position: relative;
}

.status-box {
    display: flex;
    align-items: center;
}

/* Dashboard — cartões “Clientes - Subrevendas / Próprios / Total” + tabela de vencimentos + “Revendas” stats (escala única) */
.dashboard-card.dashboard-card--client-summary,
.dashboard-card.dashboard-card--client-expiry,
.dashboard-card.dashboard-card--revenda-summary {
    padding: 12px 14px 14px;
    border: 1px solid rgba(255, 255, 255, 0.06);
}
/* Revendas: respiro como referência (título e fila de stats na mesma régua à esquerda) */
.dashboard-card.dashboard-card--revenda-summary {
    padding: 14px 18px 16px;
}
.dashboard-card.dashboard-card--client-summary .card-title-header,
.dashboard-card.dashboard-card--client-expiry .card-title-header,
.dashboard-card.dashboard-card--revenda-summary .card-title-header {
    align-items: center;
}
.dashboard-card.dashboard-card--client-summary .card-title-header h6,
.dashboard-card.dashboard-card--client-expiry .card-title-header h6,
.dashboard-card.dashboard-card--revenda-summary .card-title-header h6 {
    font-size: 0.88rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 1.25;
}
.dashboard-card.dashboard-card--client-summary .dashboard-card-refresh-icon,
.dashboard-card.dashboard-card--client-expiry .dashboard-card-refresh-icon,
.dashboard-card.dashboard-card--revenda-summary .dashboard-card-refresh-icon {
    font-size: 0.78rem;
    opacity: 0.55;
}
.dashboard-card.dashboard-card--client-summary .card-title-header + .row.dashboard-client-stats-row {
    margin-top: 0.65rem !important;
}
.dashboard-card.dashboard-card--client-summary .dashboard-client-stats-row > [class*="col-"] {
    display: flex;
    justify-content: center;
}
.dashboard-card.dashboard-card--client-summary > .mt-3.pt-1 {
    margin-top: 0.45rem !important;
    padding-top: 0 !important;
}
.dashboard-card.dashboard-card--client-expiry .card-title-header {
    align-items: flex-start;
}
.dashboard-card.dashboard-card--client-expiry .dashboard-card-refresh-icon {
    margin-top: 0.12rem;
    flex-shrink: 0;
}
/* Revendas — mesma grelha que Clientes - Próprios: row g-2, cada coluna centra o bloco; 3 colunas (col-6 col-sm-4) */
.dashboard-card.dashboard-card--revenda-summary .card-title-header + .row.dashboard-revenda-stats-row {
    margin-top: 0.65rem !important;
}
.dashboard-card.dashboard-card--revenda-summary .dashboard-revenda-stats-row > [class*="col-"] {
    display: flex;
    justify-content: center;
}
.dashboard-card.dashboard-card--revenda-summary .dashboard-client-stat > .dashboard-revenda-picto {
    flex-shrink: 0;
    align-self: center;
}

/* Pictograma pessoa duas cores — escala próxima aos ícones .dashboard-client-stat (> i { ~1.18rem }) */
.dashboard-revenda-picto {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 30px;
    min-height: 32px;
    flex-shrink: 0;
}
.dashboard-revenda-picto__head {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    flex-shrink: 0;
}
.dashboard-revenda-picto__body {
    width: 22px;
    height: 9px;
    margin-top: 2px;
    flex-shrink: 0;
    border-radius: 10px 10px 0 0;
}
/* 1.º — Ativo: cabeça verde floresta escuro, corpo verde vivo */
.dashboard-revenda-picto--ativo .dashboard-revenda-picto__head {
    background-color: #14532d;
}
.dashboard-revenda-picto--ativo .dashboard-revenda-picto__body {
    background-color: #22c55e;
}
/* 2.º — Inativo: cabeça borgonha escura, corpo rosa-vermelho vivo */
.dashboard-revenda-picto--inativo .dashboard-revenda-picto__head {
    background-color: #661a2b;
}
.dashboard-revenda-picto--inativo .dashboard-revenda-picto__body {
    background-color: #e92c53;
}
/* 3.º — Total: cabeça cinza médio, corpo cinza claro (lavanda suave) */
.dashboard-revenda-picto--total .dashboard-revenda-picto__head {
    background-color: #6b7280;
}
.dashboard-revenda-picto--total .dashboard-revenda-picto__body {
    background-color: #b8c0d4;
}

/* Ícone à esquerda, número + legenda à direita (igual referência dashboard) */
.dashboard-client-stat {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5rem;
    padding: 0.2rem 0.15rem;
    min-width: 0;
    text-align: left;
}
.dashboard-client-stat-body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 0.08rem;
    min-width: 0;
}
.dashboard-client-stat > i {
    font-size: 1.18rem;
    line-height: 1;
    flex-shrink: 0;
    width: 1.35em;
    text-align: center;
}
.dashboard-client-stat-num {
    font-size: 1.02rem;
    font-weight: 700;
    color: #f4f6fb;
    line-height: 1.15;
}
.dashboard-client-stat-lbl {
    font-size: 0.65rem;
    font-weight: 500;
    color: rgba(154, 164, 184, 0.95);
    letter-spacing: 0.02em;
    line-height: 1.15;
}
.dashboard-client-stat-link {
    font-size: 0.76rem !important;
    font-weight: 500;
}
.dashboard-card.dashboard-card--client-expiry .card-title-header.mb-2 {
    margin-bottom: 0.5rem !important;
}
.dashboard-card.dashboard-card--client-expiry .card-title-header .text-muted {
    font-size: 0.68rem;
    margin-top: 0.15rem;
    display: block;
    line-height: 1.3;
}
.dashboard-card.dashboard-card--client-expiry .table-dark-custom th {
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 8px 8px !important;
    color: rgba(148, 156, 172, 0.95) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}
.dashboard-card.dashboard-card--client-expiry .table-dark-custom td {
    font-size: 0.78rem;
    padding: 8px 8px !important;
}
.dashboard-card.dashboard-card--client-expiry .table-dark-custom tbody td.border-0.py-4 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
    font-size: 0.74rem;
}

.table-dark-custom {
    color: var(--text-muted);
    margin: 0;
    border-collapse: collapse;
}
.table-dark-custom th {
    font-weight: 500;
    font-size: 0.8rem;
    border-bottom: 1px solid rgba(255,255,255,0.05) !important;
    padding: 12px 5px !important;
    color: #888;
    background: transparent !important;
}
.table-dark-custom td {
    border-bottom: 1px solid rgba(255,255,255,0.02) !important;
    padding: 12px 5px !important;
    font-size: 0.85rem;
    background: transparent !important;
    color: #ccc;
}

/* Dashboard — revendas criadas nos últimos 7 dias (referência visual) */
.dashboard-card.dashboard-card--recent-resellers {
    border: 1px solid rgba(255, 255, 255, 0.06);
}
.dashboard-recent-resellers-head-inner {
    position: relative;
    width: 100%;
    min-width: 0;
    padding-right: 1.5rem;
}
.dashboard-recent-resellers-sub {
    display: block;
    margin-top: 0.28rem;
    font-size: 0.8125rem;
    font-weight: 400;
    color: #9ca3af;
    line-height: 1.3;
}
.dashboard-recent-resellers-table-wrap {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-top: 0.35rem;
    margin-top: 0;
}
.dashboard-recent-resellers-table .dashboard-recent-resellers-th-user {
    text-align: left;
}
.dashboard-recent-reseller-userlink {
    display: block;
    width: fit-content;
    max-width: 100%;
    padding: 0;
    margin: 0 0 4px 0;
    border: none;
    background: transparent;
    cursor: pointer;
    font-size: 0.875rem;
    font-weight: 600;
    color: #a78bfa;
    text-align: left;
    text-decoration: none;
    line-height: 1.3;
}
.dashboard-recent-reseller-userlink:hover {
    color: #c4b5fd;
    text-decoration: underline;
}
.dashboard-recent-reseller-email-line {
    display: block;
    font-size: 0.875rem;
    font-weight: 400;
    color: #ffffff;
    line-height: 1.35;
    word-break: break-word;
}
.dashboard-recent-reseller-name-label {
    display: block;
    margin-top: 3px;
    font-size: 0.75rem;
    font-weight: 400;
    color: rgba(156, 163, 175, 0.95);
    line-height: 1.3;
}
.dashboard-recent-resellers-td-credits,
.dashboard-recent-resellers-td-date {
    text-align: center;
    vertical-align: middle !important;
    color: #ffffff !important;
    font-size: 0.875rem;
}
.dashboard-recent-reseller-mail-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    min-width: 34px;
    min-height: 34px;
    border-radius: 6px;
    background: #8b5cf6;
    color: #fff !important;
    text-decoration: none !important;
    border: none;
    padding: 0;
    font-size: 0.76rem;
    line-height: 1;
    flex-shrink: 0;
    transition: background 0.15s ease, transform 0.1s ease;
}
.dashboard-recent-reseller-mail-btn:hover {
    background: #7c3aed;
    color: #fff !important;
}
.dashboard-recent-reseller-mail-placeholder {
    display: inline-block;
    min-width: 34px;
    text-align: center;
    color: rgba(148, 163, 184, 0.75);
    font-size: 0.875rem;
}
.dashboard-recent-resellers-empty {
    color: rgba(148, 163, 184, 0.95) !important;
    font-size: 0.875rem;
}

/* Dashboard — revendas com menos de 10 créditos */
.dashboard-card.dashboard-card--low-credits {
    border: 1px solid rgba(255, 255, 255, 0.06);
}
.dashboard-low-credits-table th {
    text-align: left;
}
.dashboard-low-credits-table th.text-end {
    text-align: right;
}
.dashboard-low-credits-td-white {
    color: #ffffff !important;
    font-size: 0.875rem;
    vertical-align: middle !important;
}
.dashboard-low-credits-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
    flex-wrap: wrap;
}
.dashboard-lowc-act {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    min-width: 34px;
    min-height: 34px;
    border-radius: 6px;
    border: none;
    padding: 0;
    font-size: 0.76rem;
    line-height: 1;
    color: #fff !important;
    text-decoration: none !important;
    flex-shrink: 0;
    cursor: pointer;
    transition: filter 0.15s ease, opacity 0.15s ease;
}
.dashboard-lowc-act:hover:not(.dashboard-lowc-act--disabled) {
    filter: brightness(1.08);
}
.dashboard-lowc-act--copy {
    background: #2563eb;
}
.dashboard-lowc-act--wa {
    background: #22c55e;
}
.dashboard-lowc-act--mail {
    background: #8b5cf6;
}
.dashboard-lowc-act--disabled {
    opacity: 0.38;
    cursor: not-allowed;
    pointer-events: none;
}

.btn-add-client {
    background-color: #28283a;
    color: #fff;
    border: 1px solid rgba(255,255,255,0.05);
    padding: 15px;
    border-radius: 10px;
    font-weight: 600;
    width: 100%;
    transition: all 0.2s;
}

/* --- CLIENTS PAGE UI --- */
.clients-page-panel {
    display: block;
    box-sizing: border-box;
    width: 100%;
    background-color: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
}

.clients-filter-container {
    background-color: var(--bg-main) !important;
    padding: 0;
    margin-bottom: 20px;
    color-scheme: dark;
    /* Mesma paleta de texto do calendário (.revenda-recharge-day / presets) */
    --sigma-cal-text: rgba(248, 250, 255, 0.92);
    --sigma-cal-text-muted: rgba(180, 190, 210, 0.85);
    --sigma-dd-surface: #15151b;
    --sigma-dd-edge: #2d2d2d;
    --sigma-dd-hover: #2d2d2d;
}

/* Filtros clientes: select nativo em tema escuro (quando o browser permite) + chevron visível */
.clients-filter-container .form-select.form-select-dark {
    background-color: #1a1d24 !important;
    color: var(--sigma-cal-text) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    padding-right: 2.35rem !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23b4bed4' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.65rem center !important;
    background-size: 12px 10px !important;
}
.clients-filter-container .form-select.form-select-dark:focus {
    color: var(--sigma-cal-text) !important;
    border-color: #3b82f6 !important;
    box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.35) !important;
}
.clients-filter-container .form-select.form-select-dark option,
.clients-filter-container .form-select.form-select-dark optgroup {
    background-color: #15151b;
    color: var(--sigma-cal-text);
}

.clients-filter-container .form-select.form-select-dark option:hover,
.clients-filter-container .form-select.form-select-dark option:focus {
    background-color: #2d2d2d;
    color: var(--sigma-cal-text);
}

.clients-filter-container .search-box-premium input {
    color: var(--sigma-cal-text);
    font-size: 0.8125rem;
}

.clients-filter-container .search-box-premium input::placeholder {
    color: var(--sigma-cal-text-muted);
}

.clients-filter-container .search-box-premium i {
    color: var(--sigma-cal-text-muted);
}

.clients-filter-container .revenda-recharge-trigger {
    color: var(--sigma-cal-text);
}

.clients-filter-container .clients-expiry-trigger-ico {
    color: var(--sigma-cal-text-muted);
}
.clients-filter-container .clients-expiry-trigger-label.is-placeholder,
.clients-filter-container .clients-expiry-trigger-label.is-filled {
    color: var(--sigma-cal-text);
}
.clients-filter-container .clients-expiry-trigger-sep {
    color: var(--sigma-cal-text-muted);
}

.clients-filter-container .revenda-recharge-trigger:not(.is-open) > .clients-filter-chevron:not(.is-open) {
    color: var(--sigma-cal-text-muted);
}

.clients-filter-container textarea.form-control,
.clients-filter-container .form-control:not(.form-select) {
    color: var(--sigma-cal-text);
    font-size: 0.8125rem;
}

.clients-filter-container textarea.form-control::placeholder,
.clients-filter-container .form-control::placeholder {
    color: var(--sigma-cal-text-muted);
}

/* Filtros clientes: dropdown custom (substitui <select> — hover e borda nos padrões do tema escuro) */
.clients-filter-dd {
    position: relative;
    width: 100%;
}
.clients-filter-dd-trigger {
    position: relative;
    width: 100%;
    min-height: 38px;
    padding: 0.375rem 2.35rem 0.375rem 0.75rem;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.35rem;
    text-align: left;
    background-color: #1a1d24 !important;
    color: var(--sigma-cal-text) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 6px;
    font-size: 0.8125rem;
    line-height: 1.35;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.clients-filter-dd-trigger:hover {
    border-color: rgba(59, 130, 246, 0.45) !important;
}
.clients-filter-dd.is-open .clients-filter-dd-trigger {
    border-color: #3b82f6 !important;
    box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.35) !important;
}
.clients-filter-dd-label {
    flex: 1 1 auto;
    min-width: 0;
}
.clients-filter-dd-chevron {
    position: absolute;
    right: 0.65rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--sigma-cal-text-muted);
    font-size: 0.68rem;
    pointer-events: none;
    transition: transform 0.18s ease, color 0.18s ease;
}
.clients-filter-dd.is-open .clients-filter-dd-chevron {
    transform: translateY(-50%) rotate(180deg);
    color: #60a5fa;
}
.clients-filter-dd-menu {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 4px);
    z-index: 1080;
    max-height: 220px;
    overflow-y: auto;
    padding: 0.2rem 0;
    margin: 0;
    background: var(--sigma-dd-surface);
    border: 1px solid var(--sigma-dd-edge);
    border-radius: 8px;
    box-shadow: 0 16px 44px rgba(0, 0, 0, 0.55);
    scrollbar-width: thin;
    scrollbar-color: var(--sigma-dd-hover) #121214;
}
.clients-filter-dd-menu--scroll {
    max-height: min(52vh, 320px);
}
.clients-filter-dd-menu::-webkit-scrollbar {
    width: 6px;
}
.clients-filter-dd-menu::-webkit-scrollbar-track {
    background: #121214;
    border-radius: 0 8px 8px 0;
}
.clients-filter-dd-menu::-webkit-scrollbar-thumb {
    background: var(--sigma-dd-hover);
    border-radius: 4px;
}
.clients-filter-dd-item {
    display: block;
    width: 100%;
    text-align: left;
    padding: 0.42rem 0.9rem;
    border: none;
    background: transparent;
    color: var(--sigma-cal-text);
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1.35;
    cursor: pointer;
    transition: background-color 0.1s ease, color 0.1s ease;
}
.clients-filter-dd-item:hover,
.clients-filter-dd-item:focus-visible {
    background: var(--sigma-dd-hover);
    color: var(--sigma-cal-text);
    outline: none;
}

/* Lista de clientes em cards */
.clients-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 1rem 1.1rem;
    align-items: stretch;
}

.client-card {
    background-color: var(--bg-card);
    border: 1px solid rgba(255, 255, 255, 0.045);
    border-radius: 12px;
    padding: 1rem 1rem 0.85rem;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    min-width: 0;
    box-shadow: none;
}

/* Revendas — cards (botões compactos, meta legível abaixo com borda tracejada) */
.revenda-reseller-card {
    gap: 0.5rem;
}

.revenda-card-status-badge {
    flex-shrink: 0;
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    border-radius: 4px;
    padding: 3px 8px;
    line-height: 1.2;
}

.revenda-card-status-badge--active {
    color: #34d399;
    border: 1px solid rgba(52, 211, 153, 0.55);
    background: rgba(16, 185, 129, 0.1);
}

.revenda-card-status-badge--inactive {
    color: #d1d5db;
    border: 1px solid rgba(156, 163, 175, 0.45);
    background: rgba(75, 85, 99, 0.2);
}

.revenda-card-status-badge--suspended {
    color: #fcd34d;
    border: 1px solid rgba(251, 191, 36, 0.5);
    background: rgba(251, 191, 36, 0.08);
}

.revenda-card-actions-row {
    margin-top: 0.1rem;
}

.revenda-card-btn {
    font-size: 0.72rem !important;
    font-weight: 600;
    line-height: 1.2 !important;
    padding: 0.26rem 0.5rem !important;
    border-radius: 6px !important;
}

.revenda-card-meta-box {
    margin-top: 0.15rem;
    border: 1px dashed rgba(255, 255, 255, 0.22);
    border-radius: 8px;
    padding: 0.5rem 0.65rem;
    background: rgba(0, 0, 0, 0.14);
}

.revenda-card-meta {
    display: flex;
    flex-direction: column;
    gap: 0.38rem;
}

.revenda-card-meta-line {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.78rem;
    font-weight: 500;
    color: rgba(248, 250, 255, 0.92);
    line-height: 1.35;
}

.revenda-card-meta-ico {
    width: 1rem;
    flex-shrink: 0;
    text-align: center;
    font-size: 0.82rem;
    color: #fbbf24;
    opacity: 0.95;
}

.revenda-card-meta-line:nth-child(2) .revenda-card-meta-ico {
    color: #93c5fd;
}

/* Clientes excluídos (vista em cards) — borda alinhada ao vermelho do bloco "Excluído em" */
.client-card.client-card--excluido {
    border: 1px solid #f87171;
}

.client-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.client-card-title {
    font-size: 0.95rem;
    font-weight: 700;
    color: #fff;
    margin: 0;
    line-height: 1.25;
    flex: 1;
    min-width: 0;
}

.client-card-badge-ativo {
    flex-shrink: 0;
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: #198754;
    border: 1px solid #198754;
    border-radius: 4px;
    padding: 3px 8px;
    background: transparent;
}

.client-card-meta {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.client-card-meta-row {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.78rem;
    color: #8b94a8;
}

.client-card-meta-row > i {
    width: 14px;
    text-align: center;
    opacity: 0.85;
}

.client-card-meta-text {
    color: #9aa3b5;
    word-break: break-all;
}

.client-card-meta-muted {
    color: #6b7280;
}

.client-card-italic {
    font-style: italic;
}

.client-card-server {
    color: #e8a317;
    font-weight: 600;
}

.client-card-dashbox {
    border: 1px dashed rgba(255, 255, 255, 0.085);
    border-radius: 8px;
    padding: 0.65rem 0.75rem;
}

.client-card-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.55rem 1rem;
}

.client-card-field {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.client-card-label {
    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #5c6578;
}

.client-card-value {
    font-size: 0.78rem;
    font-weight: 600;
    color: #e8eaef;
    word-break: break-word;
}

.client-card-plan {
    color: #d4a012;
    font-weight: 600;
}

.client-card-price {
    color: #12a86a;
    font-weight: 700;
}

.client-card-offline-hint {
    font-size: 0.62rem;
    color: #5c6578;
    font-weight: 500;
    margin-top: 2px;
}

.client-card-actions {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-top: 0.25rem;
    padding-top: 0.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.04);
}

/* Uma grelha 9×N: barra completa no cartão deve ser um único .client-card-actions-row (18 botões → 2 linhas de 9) */
.client-card-actions-row {
    display: grid;
    grid-template-columns: repeat(9, minmax(0, 1fr));
    gap: 4px;
}

.client-card .btn-card-action {
    width: 100%;
    max-width: 38px;
    height: 34px;
    min-width: 0;
    min-height: 34px;
    margin: 0 auto;
    font-size: 0.74rem;
}

.btn-card-outline-red {
    background-color: transparent !important;
    border: 1px solid #dc3545 !important;
    color: #dc3545 !important;
}

.btn-card-outline-red:hover {
    background-color: rgba(220, 53, 69, 0.12) !important;
    filter: none;
    opacity: 1;
}

.form-control-dark, .form-select-dark {
    background-color: var(--bg-main) !important;
    border: 1px solid #28283a !important;
    color: #a0a0b0 !important;
    font-size: 0.85rem;
    padding: 8px 12px;
}
.form-control-dark:focus, .form-select-dark:focus {
    box-shadow: none;
    border-color: #3b82f6 !important;
}

/* Clientes excluídos — intervalo de datas (um único campo, estilo referência) */
.deleted-daterange-field {
    display: flex;
    align-items: center;
    min-height: 38px;
    gap: 0.35rem;
    flex-wrap: nowrap;
    padding: 6px 12px;
    cursor: default;
}
.deleted-daterange-field .deleted-daterange-ico {
    color: rgba(160, 160, 176, 0.9);
    font-size: 0.9rem;
    flex-shrink: 0;
    margin-right: 0.15rem;
}
.deleted-daterange-field .deleted-daterange-sep {
    flex-shrink: 0;
    color: rgba(160, 160, 176, 0.85);
    font-size: 0.8rem;
    padding: 0 0.2rem;
    user-select: none;
}
.deleted-daterange-slot {
    position: relative;
    flex: 1;
    min-width: 0;
    min-height: 24px;
    display: flex;
    align-items: center;
}
.deleted-daterange-slot--start {
    justify-content: flex-start;
}
.deleted-daterange-slot--end {
    justify-content: flex-end;
}
.deleted-daterange-slot input[type="date"] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    opacity: 0;
    cursor: pointer;
    z-index: 2;
    color-scheme: dark;
}
.deleted-daterange-slot input[type="date"]::-webkit-calendar-picker-indicator {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    cursor: pointer;
    opacity: 0;
}
.deleted-daterange-ph {
    font-size: 0.8rem;
    color: rgba(160, 160, 176, 0.95);
    pointer-events: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    z-index: 1;
}
.deleted-daterange-slot.has-value .deleted-daterange-ph {
    color: #e8e8ef;
    font-weight: 500;
}
.deleted-daterange-field:focus-within {
    border-color: #3b82f6 !important;
}

/* Pagination controls */
.pagination-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.8rem;
    color: #6c757d;
    padding: 10px 0;
}
.pagination-controls .page-item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    margin: 0 2px;
    border-radius: 4px;
    cursor: pointer;
}
.pagination-controls .page-item.active {
    background-color: #0d6efd;
    color: white;
}
.pagination-controls .page-item:hover:not(.active) {
    background-color: #28283a;
}

/* Badges */
.badge-outline {
    border: 1px solid;
    background-color: transparent;
    padding: 3px 8px;
    font-size: 0.7rem;
    border-radius: 4px;
    font-weight: 500;
}
.badge-outline.success { border-color: #198754; color: #198754; }
.badge-outline.purple { border-color: #8b5cf6; color: #8b5cf6; }
.badge-outline.info { border-color: #3b82f6; color: #60a5fa; }
.badge-outline.warning { border-color: #ca8a04; color: #facc15; }
.badge-outline.danger-soft { border-color: #f87171; color: #f87171; }

/* Table adjustments for clients */
.table-clients th {
    font-size: 0.7rem;
    text-transform: uppercase;
    color: #6c757d;
    letter-spacing: 0.5px;
    border-bottom: 1px solid #28283a !important;
}
.table-clients td {
    vertical-align: top;
    padding: 15px 5px !important;
}
.text-xxs { font-size: 0.7rem; }
.text-xs { font-size: 0.8rem; }
.user-id-link { color: #3b82f6; text-decoration: none; font-weight: 500; }
.user-id-link:hover { text-decoration: underline; }

/* Planos (preço): fundo único #16171d (área principal + tabela); separadores tracejados; linhas compactas */
.planos-preco-page {
    --planos-grid-bg: var(--bg-main);
    --planos-grid-row-bg: var(--bg-main);
    --planos-grid-line: rgba(255, 255, 255, 0.1);
    display: block;
    box-sizing: border-box;
    width: 100%;
    padding: 20px 22px 24px;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background-color: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
}

.planos-preco-controls {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 12px 20px;
    margin-bottom: 18px;
}

.planos-preco-controls__left {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    justify-self: start;
    min-width: 0;
}

.planos-preco-controls__left .planos-preco-search.search-box-premium {
    flex: 1 1 auto;
    min-width: 160px;
    max-width: 360px;
}

.planos-preco-controls__center {
    justify-self: center;
}

.planos-preco-controls__right {
    justify-self: end;
    min-width: 0;
}

@media (max-width: 991.98px) {
    .planos-preco-controls {
        grid-template-columns: 1fr;
        justify-items: stretch;
    }
    .planos-preco-controls__left,
    .planos-preco-controls__center,
    .planos-preco-controls__right {
        justify-self: stretch;
    }
    .planos-preco-controls__center {
        order: 3;
        display: flex;
        justify-content: center;
    }
    .planos-preco-controls__right {
        order: 2;
        text-align: center;
    }
    .planos-preco-controls__left .planos-preco-search.search-box-premium {
        max-width: none;
    }
}

.planos-preco-btn-new {
    border-radius: 4px;
    font-weight: 600;
    font-size: 0.8125rem;
    padding: 6px 14px;
    background-color: #007bff !important;
    border: none !important;
    box-shadow: none;
    color: #fff !important;
}

.planos-preco-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 6px;
}

.planos-preco-search.search-box-premium {
    flex: 1;
    min-width: 220px;
    max-width: 360px;
}

.planos-preco-search.search-box-premium input {
    background-color: #17181e !important;
    border: 1px dashed var(--planos-grid-line) !important;
    border-radius: 4px !important;
    color: #ffffff !important;
    font-size: 0.875rem !important;
}

.planos-preco-search.search-box-premium input::placeholder {
    color: #6e7681 !important;
}

.planos-preco-search.search-box-premium input:focus {
    background-color: #1e1e1e !important;
    border-color: #007bff !important;
    box-shadow: 0 0 0 1px rgba(0, 123, 255, 0.35);
}

.planos-preco-pagination {
    display: flex;
    align-items: center;
    gap: 8px;
}

.planos-preco-page-btn {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    color: #5a5a5a;
    border-radius: 4px;
    cursor: pointer;
    transition: color 0.15s ease, background 0.15s ease;
    padding: 0;
    font-size: 0.7rem;
}

.planos-preco-page-btn:hover:not(:disabled) {
    background: rgba(255, 255, 255, 0.06);
    color: #b0b0b0;
}

.planos-preco-page-btn:disabled {
    opacity: 0.28;
    cursor: not-allowed;
}

.planos-preco-page-current {
    min-width: 32px;
    height: 30px;
    padding: 0 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #007bff;
    color: #fff;
    border-radius: 4px;
    font-weight: 700;
    font-size: 0.78rem;
    border: none;
    box-shadow: none;
}

.planos-preco-range {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    font-size: 0.72rem;
    color: #888888;
    letter-spacing: 0.02em;
}

.planos-preco-table-wrap {
    margin-top: 2px;
    border-radius: 0;
    background: transparent;
    border: none;
    overflow-x: auto;
    width: 100%;
}

/* Tabela planos: linhas só horizontais (tracejadas), sem colunas verticais */
.table.table-planos-preco {
    --bs-table-bg: transparent;
    --bs-table-color: #ffffff;
    --bs-table-striped-bg: transparent;
    --bs-table-hover-bg: transparent;
    --bs-table-border-color: transparent;
    background-color: transparent !important;
    color: #ffffff;
    font-size: 0.875rem;
    line-height: 1.38;
    margin-bottom: 0;
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
}

.table.table-planos-preco > :not(caption) > * > * {
    background-color: transparent !important;
    box-shadow: none !important;
}

.table.table-planos-preco tbody tr > td {
    border-bottom: none !important;
    background-image: repeating-linear-gradient(
        90deg,
        var(--planos-grid-line, rgba(255, 255, 255, 0.12)) 0 4px,
        transparent 4px 8px
    );
    background-size: 8px 1px;
    background-repeat: repeat-x;
    background-position: 0 100%;
}

.table.table-planos-preco thead th {
    font-size: 0.68rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    color: #8d8d99 !important;
    background: var(--planos-grid-bg, #121214) !important;
    border-bottom: none !important;
    background-image: repeating-linear-gradient(
        90deg,
        var(--planos-grid-line, rgba(255, 255, 255, 0.1)) 0 5px,
        transparent 5px 11px
    );
    background-size: 11px 1px;
    background-repeat: repeat-x;
    background-position: 0 100%;
    padding: 8px 14px 7px !important;
    vertical-align: middle !important;
    white-space: nowrap;
}

.table.table-planos-preco tbody td {
    color: #ffffff !important;
    padding: 8px 14px !important;
    vertical-align: middle !important;
    background-color: var(--bg-main) !important;
}

.table.table-planos-preco tbody tr:hover > td {
    background-color: #23262f !important;
}

.table.table-planos-preco tbody tr:last-child > td {
    background-image: repeating-linear-gradient(
        90deg,
        var(--planos-grid-line, rgba(255, 255, 255, 0.12)) 0 4px,
        transparent 4px 8px
    );
    background-size: 8px 1px;
    background-repeat: repeat-x;
    background-position: 0 100%;
}

.planos-preco-td-num {
    font-variant-numeric: tabular-nums;
}

.planos-preco-cell {
    color: #ffffff;
}

.planos-preco-srv {
    flex-wrap: nowrap;
}

.planos-preco-srv-ico {
    font-size: 0.65rem;
    line-height: 1;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.planos-preco-srv-ico--badge {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: linear-gradient(145deg, #f4c430 0%, #e6a317 100%);
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.25) inset;
}

.planos-preco-srv-ico--badge i {
    font-size: 0.55rem;
    color: #1a1a1a;
}

/* Nome do plano: texto normal (sem “link”), hover leve só no elemento clicável */
.planos-preco-plan-name {
    color: #ffffff !important;
    font-weight: 600 !important;
    font-style: normal;
    text-decoration: none !important;
    border: 0 !important;
    outline: none;
    box-shadow: none !important;
    cursor: pointer;
    text-transform: uppercase;
    font-size: 0.78rem;
    letter-spacing: 0.02em;
    line-height: 1.35;
    border-radius: 3px;
    transition: color 0.12s ease, background-color 0.12s ease;
}

.planos-preco-plan-name:hover {
    color: #ffffff !important;
    background-color: rgba(255, 255, 255, 0.07) !important;
    text-decoration: none !important;
}

.planos-preco-plan-name:focus-visible {
    outline: none;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.2) inset !important;
    border-radius: 3px;
}

.table.table-planos-preco .planos-preco-plan-name.btn-link {
    --bs-btn-color: #ffffff;
    text-decoration: none !important;
}

.table.table-planos-preco .planos-preco-plan-name.btn-link:hover,
.table.table-planos-preco .planos-preco-plan-name.btn-link:focus {
    color: #ffffff !important;
    text-decoration: none !important;
}

.planos-preco-btn-edit {
    background: #007bff !important;
    border: none !important;
    color: #fff !important;
    font-weight: 600 !important;
    font-size: 0.8125rem !important;
    padding: 5px 15px !important;
    border-radius: 4px !important;
    line-height: 1.25;
    box-shadow: none !important;
    min-width: 0;
}

.planos-preco-btn-edit:hover {
    background: #0069d9 !important;
    color: #fff !important;
}

.planos-preco-td-acoes {
    vertical-align: middle !important;
}

.table.table-planos-preco tbody tr.planos-preco-empty-row td {
    border-bottom: none !important;
    background-image: none !important;
    padding-top: 1.35rem !important;
    padding-bottom: 1.35rem !important;
}

/* Cadastrar plano (preço) — formulário compacto, tipografia alinhada ao resto do painel */
.cadastro-plano-preco {
    --cp-gap: 0.6rem;
    --cp-label: 0.875rem;
    --cp-body: 0.875rem;
    --cp-hint: 0.875rem;
}

.cadastro-plano-preco-head {
    margin-bottom: 0.65rem;
}

.cadastro-plano-preco-title {
    font-size: 1.0625rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #e6edf3;
    line-height: 1.3;
}

.cadastro-plano-preco-title .fa-tag {
    font-size: 0.92em;
    opacity: 0.88;
    vertical-align: -0.05em;
}

.cadastro-plano-preco-back {
    font-size: var(--cp-body);
    padding: 0.32rem 0.7rem;
    line-height: 1.35;
}

.cadastro-plano-preco-card {
    padding: 1rem 1.2rem;
    border-radius: 10px;
}

.cadastro-plano-preco-field {
    margin-bottom: var(--cp-gap);
}

.cadastro-plano-preco-field--last {
    margin-bottom: 0.25rem;
}

.cadastro-plano-preco-label {
    display: block;
    font-size: var(--cp-label);
    font-weight: 600;
    color: var(--text-muted);
    margin-bottom: 0.25rem;
    line-height: 1.35;
}

.cadastro-plano-preco-label .text-danger {
    font-size: 0.95em;
    font-weight: 700;
}

.cadastro-plano-preco-form .form-control-custom,
.cadastro-plano-preco-form select.form-select.form-control-custom {
    padding: 0.42rem 0.55rem;
    font-size: var(--cp-body);
    line-height: 1.45;
    border-radius: 6px;
}

.cadastro-plano-preco-form select.form-select.form-control-custom {
    padding-top: 0.38rem;
    padding-bottom: 0.38rem;
}

.cadastro-plano-preco-hint {
    margin: 0.3rem 0 0;
    font-size: var(--cp-hint);
    line-height: 1.5;
    color: rgba(139, 139, 147, 0.95);
}

/* Editar pacote de créditos (preço) — cartão centralizado (referência UI) */
.credit-pkg-edit-page .add-client-form-centered {
    max-width: 100%;
}

.credit-pkg-edit-card {
    max-width: 900px;
    margin: 0 auto;
    padding: 1.35rem 1.45rem 1.2rem;
    background: #1a1b1e;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    box-sizing: border-box;
}

.credit-pkg-edit-row {
    margin-bottom: 1.1rem;
}

.credit-pkg-edit-row:last-of-type {
    margin-bottom: 1.25rem;
}

.credit-pkg-edit-label {
    display: block;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 0.35rem;
    line-height: 1.35;
}

.credit-pkg-edit-value {
    font-size: 0.9375rem;
    font-weight: 400;
    color: #fff;
    line-height: 1.45;
}

.credit-pkg-edit-value--credits {
    color: var(--primary);
    font-weight: 600;
}

.credit-pkg-edit-input {
    margin-top: 0.4rem;
    width: 100%;
    padding: 0.55rem 0.7rem;
    font-size: 0.875rem;
    line-height: 1.45;
    color: #fff;
    background: #141518;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    box-sizing: border-box;
}

.credit-pkg-edit-input::placeholder {
    color: rgba(139, 139, 147, 0.95);
}

.credit-pkg-edit-input:focus {
    outline: none;
    border-color: rgba(13, 110, 253, 0.55);
    box-shadow: 0 0 0 2px rgba(13, 110, 253, 0.2);
}

.credit-pkg-edit-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    padding-top: 0.2rem;
}

.credit-pkg-edit-btn-cancel {
    padding: 0.45rem 1.15rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: #e8e8ed;
    background: #2a2b31;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
}

.credit-pkg-edit-btn-cancel:hover {
    background: #32333a;
    color: #fff;
}

.credit-pkg-edit-btn-save {
    padding: 0.45rem 1.25rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: #fff;
    background: var(--primary);
    border: none;
    border-radius: 8px;
}

.credit-pkg-edit-btn-save:hover:not(:disabled) {
    background: #0b5ed7;
    color: #fff;
}

.credit-pkg-edit-btn-save:disabled {
    opacity: 0.65;
}

.cadastro-plano-preco-hint--warn {
    color: #e7b53a;
}

.cadastro-plano-preco-actions {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.45rem;
    padding-top: 0.6rem;
    margin-top: 0.45rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.cadastro-plano-preco-actions .btn-sm {
    font-size: var(--cp-body);
    padding: 0.35rem 0.85rem;
    line-height: 1.4;
    font-weight: 600;
}

.cadastro-plano-preco-submit {
    min-width: 5.5rem;
}

/* Ações na tabela de clientes (alinhamento ref. painel) */
.client-actions-td {
    vertical-align: top !important;
    padding-top: 15px !important;
    overflow: visible !important;
    min-width: 0;
}
.table-clients thead th.th-client-actions,
.table-clients td.client-actions-td {
    /* Largura mínima para 12–13 ícones + «Ações» + M/S/P sem barra de rolagem na toolbar */
    min-width: 720px;
    box-sizing: border-box;
}
.client-actions-cluster {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: visible;
}
.client-actions-top {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 6px;
    max-width: 100%;
    min-width: 0;
    overflow: visible;
}
.client-actions-icons-outer {
    flex: 0 0 auto;
    min-width: min-content;
    max-width: none;
}
/* Barra completa: uma linha (ícones + toggle + excluir se bloqueado), sem scroll interno */
.client-actions-icons--toolbar {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    overflow: visible;
    max-width: none;
    min-width: min-content;
}
.client-actions-icons--toolbar .btn-action-square {
    flex-shrink: 0;
}
/* Listas curtas de ações (sem barra completa) — não aplicar wrap à toolbar (senão o toggle cai para 2.ª linha) */
.client-actions-icons-outer > .client-actions-icons:not(.client-actions-icons--toolbar) {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 5px;
    max-width: 100%;
    min-width: 0;
}
.client-actions-aside {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 5px;
    flex-shrink: 0;
    min-width: 0;
    overflow: visible;
}
.client-actions-subrow {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 5px;
    justify-content: flex-end;
}

.btn-action-square {
    width: 34px;
    height: 34px;
    min-width: 34px;
    min-height: 34px;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    border: none;
    color: #fff;
    font-size: 0.76rem;
    cursor: pointer;
    padding: 0;
    line-height: 1;
    transition: opacity 0.15s ease, filter 0.15s ease;
}
.btn-action-square:hover {
    opacity: 0.92;
    filter: brightness(1.08);
}
.btn-action-letter {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.btn-sq-grey { background-color: #4e5568; }
.btn-sq-blue { background-color: #1c74f5; }
.btn-sq-yellow { background-color: #c9a000; color: #fff !important; }
.btn-sq-lilac { background-color: #a78bfa; color: #fff !important; }
/* Roxo / violeta — Faturas, etc. (antes inexistente no CSS → botões ficavam “brancos”) */
.btn-sq-purple { background-color: #7c3aed; color: #fff !important; }
.btn-sq-migrar { background-color: #0891b2; color: #fff !important; }
.btn-sq-baixar { background-color: #ea580c; color: #fff !important; }
.btn-sq-green { background-color: #12a86a; }

/* Bloquear cliente: verde quando ativo, coral ao bloquear (+ botão excluir ao lado) */
.btn-sq-block {
    background-color: #12a86a;
    color: #fff !important;
}
.btn-sq-block.btn-sq-block--locked {
    background: linear-gradient(180deg, #f0527c 0%, #d63d5e 100%);
    color: #fff !important;
}
.btn-sq-block-delete {
    background: linear-gradient(180deg, #f0527c 0%, #d63d5e 100%);
    color: #fff !important;
}

.btn-action-main {
    box-sizing: border-box;
    min-height: 34px;
    height: auto;
    padding: 8px 16px;
    font-size: 0.82rem;
    font-weight: 600;
    background-color: #0d6efd;
    color: #fff;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    line-height: 1;
    white-space: nowrap;
    transition: background 0.15s ease, filter 0.15s ease;
}
.btn-action-main:hover {
    background-color: #0b5ed7;
    filter: brightness(1.03);
}
/* Botão Ações na coluna de clientes: mesma largura que a linha M / S / P */
.client-actions-aside .btn-action-main {
    width: 100%;
    box-sizing: border-box;
}
.btn-action-main::after {
    display: none;
}

/* Dropdown do menu Ações (clientes) */
.client-actions-dropdown-wrap {
    position: relative;
    align-self: stretch;
    width: 100%;
    overflow: visible;
}
.client-actions-dropdown {
    position: absolute;
    z-index: 1080;
    top: calc(100% + 8px);
    right: 0;
    min-width: auto;
    width: max-content;
    max-width: min(280px, calc(100vw - 16px));
    background: #12121a;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.55);
    padding: 6px 0;
    /* Evita barra de rolagem interna (conteúdo + pseudoelemento / filter) */
    overflow: visible !important;
    max-height: none !important;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.client-actions-dropdown::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}
.client-actions-dropdown--body {
    position: fixed;
    margin: 0;
    max-width: calc(100vw - 16px);
}
/* Seta do painel apontando para o botão Ações (borda + preenchimento) */
.client-actions-dropdown::before,
.client-actions-dropdown::after {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    pointer-events: none;
}
.client-actions-dropdown::before {
    top: -9px;
    border-bottom: 9px solid rgba(255, 255, 255, 0.12);
    z-index: 0;
}
.client-actions-dropdown::after {
    top: -7px;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 8px solid #12121a;
    z-index: 1;
}
/* Menu aberto acima do botão (viewport) — seta na base do painel */
.client-actions-dropdown.client-actions-dropdown--above::before {
    top: auto;
    bottom: -9px;
    border-bottom: none;
    border-top: 9px solid rgba(255, 255, 255, 0.12);
}
.client-actions-dropdown.client-actions-dropdown--above::after {
    top: auto;
    bottom: -7px;
    border-bottom: none;
    border-top: 8px solid #12121a;
}
.client-actions-dropdown-section {
    display: flex;
    flex-direction: column;
    overflow: visible;
    position: relative;
    z-index: 2;
}
.client-actions-dropdown-divider {
    height: 1px;
    margin: 3px 0;
    background: rgba(255, 255, 255, 0.1);
    border: none;
}
.client-actions-dropdown-item {
    display: block;
    width: 100%;
    text-align: left;
    padding: 6px 12px;
    margin: 0;
    border: none;
    background: transparent;
    color: #e8e8ef;
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease;
}
.client-actions-dropdown-item:hover,
.client-actions-dropdown-item:focus-visible {
    background: #2d2d2d;
    color: #fff;
    outline: none;
}
.client-actions-dropdown-item--primary {
    color: #0d6efd;
    font-weight: 600;
}
.client-actions-dropdown-item--primary:hover,
.client-actions-dropdown-item--primary:focus-visible {
    background: #2d2d2d;
    color: #5a9cff;
}
/* Balão de dica nos botões de ação (revendas / clientes): caixa clara + seta contínua (sem “rasgo”) */
.sigma-action-tip {
    position: relative;
    overflow: visible;
    isolation: isolate;
}

.sigma-action-tip::after {
    content: attr(data-tip);
    position: absolute;
    left: 50%;
    bottom: calc(100% + 9px);
    transform: translateX(-50%);
    padding: 6px 12px;
    background: #ffffff;
    color: #1a1d24;
    font-size: 0.75rem;
    font-weight: 600;
    border-radius: 8px;
    white-space: nowrap;
    box-shadow:
        0 3px 14px rgba(0, 0, 0, 0.16),
        0 0 0 1px rgba(0, 0, 0, 0.04);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.14s ease, visibility 0.14s ease;
    z-index: 25000;
    line-height: 1.25;
}

.sigma-action-tip::before {
    content: '';
    position: absolute;
    left: 50%;
    /* Base do triângulo alinhada ao fundo do balão + leve sobreposição anti-rasgo */
    bottom: calc(100% + 3px);
    transform: translate(-50%, -1px);
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 6px solid #ffffff;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.14s ease, visibility 0.14s ease;
    z-index: 25001;
}

.sigma-action-tip:hover::after,
.sigma-action-tip:hover::before,
.sigma-action-tip:focus-visible::after,
.sigma-action-tip:focus-visible::before {
    opacity: 1;
    visibility: visible;
}

.btn-action-main.sigma-action-tip::after {
    display: block;
}

.revenda-act--actions-main.sigma-action-tip::after {
    display: block;
}

.table-responsive-clients {
    overflow-x: visible;
    overflow-y: visible;
}

/* Dropdown Menu Dark Theme for Actions */
.dropdown-menu-dark-custom {
    background-color: #14141a;
    border: 1px solid #28283a;
    border-radius: 6px;
    padding: 8px 0;
    min-width: 200px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.5);
}
.dropdown-menu-dark-custom .dropdown-item {
    color: #ccc;
    font-size: 0.82rem;
    padding: 8px 20px;
    transition: background 0.2s;
}
.dropdown-menu-dark-custom .dropdown-item:hover {
    background-color: #2d2d2d;
    color: #fff;
}
.dropdown-menu-dark-custom .dropdown-divider {
    border-top: 1px solid #28283a;
    margin: 4px 0;
}

/* Paleta de comandos / pesquisa rápida */
.command-palette-backdrop {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px 20px;
    background: rgba(0, 0, 0, 0.65);
    backdrop-filter: blur(6px);
    box-sizing: border-box;
}

.command-palette {
    width: 100%;
    max-width: 880px;
    background: #0d1117;
    border: 1px solid rgba(240, 246, 252, 0.12);
    border-radius: 12px;
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.04);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 56px);
}

.command-palette-animate {
    animation: cmdPaletteIn 0.18s ease-out;
}

@keyframes cmdPaletteIn {
    from {
        opacity: 0;
        transform: translateY(-8px) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.command-palette-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px 10px;
    border-bottom: 1px solid rgba(240, 246, 252, 0.08);
    flex-shrink: 0;
}

.command-palette-head-left {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.command-palette-prompt {
    font-family: ui-monospace, monospace;
    font-size: 0.95rem;
    font-weight: 600;
    color: #58a6ff;
    line-height: 1;
}

.command-palette-title {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: #f0f6fc;
    letter-spacing: -0.02em;
}

.command-palette-close {
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(240, 246, 252, 0.08);
    color: #8b949e;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
    flex-shrink: 0;
}

.command-palette-close:hover {
    background: rgba(240, 246, 252, 0.14);
    color: #f0f6fc;
}

.command-palette-search-wrap {
    padding: 12px 16px 10px;
    border-bottom: 1px solid rgba(240, 246, 252, 0.06);
    flex-shrink: 0;
}

.command-palette-input {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 14px;
    font-size: 0.9rem;
    color: #f0f6fc;
    background: #0b0e14;
    border: 1px solid rgba(59, 130, 246, 0.55);
    border-radius: 8px;
    outline: none;
    box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.14) inset, 0 1px 0 rgba(255, 255, 255, 0.03);
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.command-palette-input::placeholder {
    color: rgba(139, 148, 158, 0.85);
}

.command-palette-input:focus {
    border-color: #3b82f6;
    background: #0d1117;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.38), 0 0 22px rgba(59, 130, 246, 0.14);
}

.command-palette-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 6px 0 8px;
    /* Scroll sem barra visível (mantém teclado / roda) */
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.command-palette-body::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
}

.command-palette-section-label {
    padding: 12px 16px 6px;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #8b949e;
}

.command-palette-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 11px 14px 11px 12px;
    margin: 0 8px;
    border-radius: 8px;
    cursor: pointer;
    border-left: 3px solid transparent;
    transition: background 0.12s ease, border-color 0.12s ease;
}

.command-palette-item:hover,
.command-palette-item.active {
    background: rgba(22, 27, 34, 0.95);
    border-left-color: #1f6feb;
}

.command-palette-item.active {
    background: linear-gradient(90deg, rgba(26, 43, 75, 0.55) 0%, rgba(22, 27, 34, 0.92) 42%);
}

.command-palette-item-icon {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: rgba(240, 246, 252, 0.06);
    color: #8b949e;
    font-size: 0.95rem;
}

.command-palette-item.active .command-palette-item-icon,
.command-palette-item:hover .command-palette-item-icon {
    color: #58a6ff;
    background: rgba(31, 111, 235, 0.15);
}

.command-palette-item-main {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
    padding-top: 1px;
}

.command-palette-item-label {
    font-size: 0.88rem;
    font-weight: 600;
    color: #f0f6fc;
    line-height: 1.25;
}

.command-palette-item-sub {
    font-size: 0.75rem;
    color: #8b949e;
    line-height: 1.35;
}

.command-palette-empty {
    padding: 2.5rem 1.5rem;
    text-align: center;
    color: #8b949e;
    font-size: 0.88rem;
}

.command-palette-foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 8px 12px;
    row-gap: 10px;
    padding: 12px 16px 14px;
    flex-shrink: 0;
    border-top: 1px solid rgba(240, 246, 252, 0.1);
    background: #15171c;
    font-size: 0.72rem;
    color: #8b949e;
    position: relative;
    z-index: 2;
    box-shadow: 0 -12px 28px rgba(0, 0, 0, 0.55);
}

.command-palette-hint {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
}

.command-palette-foot .cmd-kbd {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    padding: 2px 7px;
    font-family: ui-sans-serif, system-ui, sans-serif;
    font-size: 0.68rem;
    font-weight: 600;
    color: #f0f6fc;
    background: #21262d;
    border: 1px solid rgba(240, 246, 252, 0.12);
    border-radius: 5px;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.35);
}

.swal2-popup .sig-kbd {
    display: inline-block;
    padding: 2px 6px;
    margin: 0 2px;
    font-size: 0.75rem;
    background: #21262d;
    border: 1px solid rgba(240, 246, 252, 0.15);
    border-radius: 4px;
    color: #f0f6fc;
}

.search-input-mock {
    background-color: #242731;
    border: none;
    color: #fff;
    border-radius: 8px;
    padding: 8px 14px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all 0.2s ease;
}

.search-input-mock:hover {
    background-color: #2c303d;
}
/* Avisos Timeline */
.avisos-timeline {
    position: relative;
    padding-left: 50px;
    margin-top: 20px;
}

.avisos-timeline::before {
    content: '';
    position: absolute;
    left: 20px;
    top: 0;
    bottom: 0;
    width: 2px;
    background-color: #2a3040;
}

.timeline-item {
    position: relative;
    margin-bottom: 40px;
}

.timeline-icon {
    position: absolute;
    left: -42px;
    top: 0;
    width: 26px;
    height: 26px;
    background-color: #1a1d26;
    border: 2px solid #2a3040;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    font-size: 0.8rem;
    z-index: 1;
}

.timeline-content {
    background-color: #1a1d26;
    border: 1px dashed #2a3040;
    border-radius: 8px;
    padding: 25px;
    color: #fff;
}

.timeline-content h5 {
    color: #ffc107;
    font-weight: 700;
    font-size: 1.1rem;
    margin-bottom: 15px;
}

.timeline-content p {
    font-size: 0.95rem;
    margin-bottom: 10px;
}

.timeline-content ul {
    list-style: none;
    padding-left: 0;
}

.timeline-content li {
    margin-bottom: 8px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.timeline-content li i {
    margin-top: 4px;
}

/* Quill Dark Theme Overrides */
.ql-toolbar.ql-snow {
    border: 1px solid rgba(255,255,255,0.05) !important;
    background-color: #1a1d26;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}
.ql-container.ql-snow {
    border: 1px solid rgba(255,255,255,0.05) !important;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
}
.ql-snow .ql-stroke { stroke: #fff !important; }
.ql-snow .ql-fill { fill: #fff !important; }
.ql-snow .ql-picker { color: #fff !important; }
.ql-editor {
    color: #fff;
    font-family: 'Inter', sans-serif;
    font-size: 0.95rem;
}
.ql-editor.ql-blank::before {
    color: rgba(255,255,255,0.3) !important;
}
.ql-snow .ql-picker-options {
    background-color: #1a1d26 !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
}

/* SweetAlert2 Custom Dark Theme - Compact & Discreet */
.swal2-popup {
    background: #1a1d26 !important;
    color: #fff !important;
    border-radius: 12px !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    font-family: 'Inter', sans-serif !important;
    width: 320px !important;
    padding: 1rem !important;
}
.swal2-title {
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
    margin: 0 !important;
}
.swal2-html-container {
    color: #d4cde3 !important;
    font-size: 0.85rem !important;
    margin: 8px 0 0 !important;
}
.swal2-confirm {
    background: #3b82f6 !important;
    border-radius: 6px !important;
    padding: 8px 16px !important;
    font-weight: 600 !important;
    font-size: 0.85rem !important;
}
.swal2-cancel {
    background: rgba(255,255,255,0.05) !important;
    color: #fff !important;
    border-radius: 6px !important;
    padding: 8px 16px !important;
    font-size: 0.85rem !important;
}
.swal2-icon {
    transform: scale(0.6) !important;
    margin: -10px auto 5px !important;
}
.swal2-actions {
    margin: 1.25rem auto 0 !important;
}
.swal2-icon.swal2-success {
    border-color: #00d26a !important;
    color: #00d26a !important;
}
.swal2-success-ring {
    border-color: rgba(0, 210, 106, 0.2) !important;
}
.swal2-icon.swal2-error {
    border-color: #ef4444 !important;
}
.swal2-icon.swal2-warning {
    border-color: #f59e0b !important;
    color: #f59e0b !important;
}

/* Status Dot - Static & Minimal */
.status-dot {
    width: 8px;
    height: 8px;
    background-color: #00d26a;
    border-radius: 50%;
    display: inline-block;
}
/* No animation as requested */

.url-text-visible {
    color: #a0a0a0;
    font-size: 0.85rem;
    font-family: 'Inter', sans-serif;
}

/* Add Client Form Styles — largura partilhada com cadastro revenda */
.add-client-form-centered,
.revenda-cadastro-page-inner {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}
.form-group-custom { margin-bottom: 25px; }
.form-label-custom { font-size: 0.9rem; font-weight: 700; color: #fff; margin-bottom: 8px; display: block; }
.form-label-custom .text-danger { font-size: 1rem; margin-left: 2px; }

.input-group-custom {
    display: flex;
    background: #1a1d26;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 6px;
    overflow: hidden;
}
.input-group-custom .form-control {
    background: transparent !important;
    border: none !important;
    color: #fff !important;
    padding: 10px 15px;
    flex-grow: 1;
}
.input-group-custom .btn-refresh {
    background: rgba(255,255,255,0.05);
    border: none;
    border-left: 1px solid rgba(255,255,255,0.1);
    color: #94999f;
    padding: 0 15px;
    cursor: pointer;
    transition: all 0.2s;
}
.input-group-custom .btn-refresh:hover { color: #fff; background: rgba(255,255,255,0.1); }

.info-box-blue {
    background: rgba(13, 110, 253, 0.05);
    border: 1px solid rgba(13, 110, 253, 0.4);
    border-radius: 6px;
    padding: 15px;
    color: #0d6efd;
    font-size: 0.85rem;
    margin-top: 10px;
}
.info-box-blue ul { margin: 0; padding-left: 15px; }
.info-box-blue li { margin-bottom: 5px; }

.info-box-orange {
    background: rgba(255, 193, 7, 0.05);
    border: 1px solid rgba(255, 193, 7, 0.4);
    border-radius: 6px;
    padding: 15px;
    color: #ffc107;
    font-size: 0.85rem;
    margin-top: 10px;
}

.info-box-green {
    background: rgba(25, 135, 84, 0.05);
    border: 1px solid rgba(25, 135, 84, 0.4);
    border-radius: 6px;
    padding: 15px;
    color: #198754;
    font-size: 0.85rem;
    margin-bottom: 15px;
}

.credit-detail-box {
    background: rgba(255,255,255,0.02);
    border-radius: 8px;
    padding: 20px;
    margin-top: 20px;
}
.credit-detail-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
    font-size: 0.8rem;
}
.credit-detail-label { color: #4e5d78; font-weight: 700; }
.credit-detail-value { color: #fff; font-weight: 700; }
.credit-detail-calc {
    border-top: 1px solid rgba(255,255,255,0.05);
    margin-top: 10px;
    padding-top: 10px;
    display: flex;
    justify-content: space-between;
    font-weight: 800;
    color: #0d6efd;
    font-size: 0.9rem;
}

.stepper-custom {
    display: flex;
    align-items: center;
    background: #1a1d26;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 6px;
    width: 150px;
    height: 40px;
}
.stepper-btn {
    width: 40px;
    height: 100%;
    border: none;
    background: transparent;
    color: #94999f;
    font-size: 1.2rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}
.stepper-btn:hover { color: #fff; }
.stepper-input {
    flex-grow: 1;
    background: transparent;
    border: none;
    border-left: 1px solid rgba(255,255,255,0.1);
    border-right: 1px solid rgba(255,255,255,0.1);
    color: #fff;
    text-align: center;
    width: 50px;
    font-weight: 700;
}

.personal-info-section {
    border: 1px dashed rgba(255,255,255,0.1);
    border-radius: 8px;
    padding: 25px;
    margin-top: 30px;
    position: relative;
}

.form-actions-custom {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-top: 30px;
}
.btn-cancel-custom {
    background: rgba(255,255,255,0.05);
    color: #94999f;
    border: none;
    padding: 10px 30px;
    border-radius: 6px;
    font-weight: 600;
}
.btn-save-custom {
    background: #0d6efd;
    color: #fff;
    border: none;
    padding: 10px 35px;
    border-radius: 6px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
}

.select-custom {
    background: #1a1d26 !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    color: #fff !important;
    padding: 10px 15px !important;
}

.form-control-custom {
    background: #1a1d26 !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    color: #fff !important;
    padding: 10px 15px !important;
}
.form-control-custom:focus {
    border-color: rgba(13, 110, 253, 0.5) !important;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.1) !important;
}

.text-muted-small {
    color: #94999f;
    font-size: 0.75rem;
    margin-top: 5px;
    display: block;
}

/* Dicas no formulário adicionar/editar cliente (fundo escuro — evitar text-muted ilegível) */
.add-client-form-centered .sigma-form-hint {
    color: #c9d1d9;
    font-size: 0.8125rem;
    line-height: 1.5;
}
.add-client-form-centered .text-muted-small {
    color: #aeb6c2;
}

/* Lista de conteúdo do pacote (tabela pacotes) — compacto, não domina o ecrã */
.package-content-cell {
    min-width: 220px;
    max-width: min(400px, 34vw);
    width: 1%;
    vertical-align: top;
}
@media (max-width: 1400px) {
    .package-content-cell {
        max-width: min(100%, 380px);
    }
}
@media (max-width: 1200px) {
    .package-content-cell {
        max-width: 100%;
    }
    .package-content-grid {
        grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
    }
}
.package-content-box {
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.22);
    overflow: hidden;
    max-width: 100%;
}
.package-content-sync-hint {
    font-size: 0.62rem !important;
    line-height: 1.35 !important;
    opacity: 0.92;
}
.package-content-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem 0.45rem;
    padding: 0.35rem 0.5rem;
    font-size: 0.68rem;
    color: rgba(232, 234, 240, 0.75);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.package-content-meta .sep {
    opacity: 0.35;
    user-select: none;
}
.package-content-meta .meta-pill {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    font-size: 0.7rem;
}
.package-content-meta .meta-pill i {
    opacity: 0.85;
    font-size: 0.65rem;
}
.package-content-meta .meta-live { color: #6ea8fe; }
.package-content-meta .meta-movie { color: #c29ffa; }
.package-content-meta .meta-series { color: #ffb86c; }

.package-content-meta .meta-pill-tab {
    cursor: pointer;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.04);
    border-radius: 999px;
    padding: 0.12rem 0.45rem;
    font-size: 0.62rem;
    font-weight: 600;
    line-height: 1.25;
    color: rgba(232, 234, 240, 0.85);
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.package-content-meta .meta-pill-tab:hover {
    background: rgba(255, 255, 255, 0.09);
    border-color: rgba(255, 255, 255, 0.2);
}
.package-content-meta .meta-pill-tab--active {
    background: rgba(13, 110, 253, 0.22);
    border-color: rgba(13, 110, 253, 0.55);
    box-shadow: 0 0 0 1px rgba(13, 110, 253, 0.25);
    color: #fff;
}
.package-content-meta .meta-pill-tab.meta-live.meta-pill-tab--active {
    background: rgba(61, 139, 253, 0.2);
    border-color: rgba(61, 139, 253, 0.5);
    box-shadow: 0 0 0 1px rgba(61, 139, 253, 0.2);
}
.package-content-meta .meta-pill-tab.meta-movie.meta-pill-tab--active {
    background: rgba(157, 125, 217, 0.22);
    border-color: rgba(157, 125, 217, 0.5);
    box-shadow: 0 0 0 1px rgba(157, 125, 217, 0.2);
}
.package-content-meta .meta-pill-tab.meta-series.meta-pill-tab--active {
    background: rgba(255, 159, 67, 0.18);
    border-color: rgba(255, 159, 67, 0.45);
    box-shadow: 0 0 0 1px rgba(255, 159, 67, 0.2);
}

.package-content-filter-empty {
    grid-column: 1 / -1;
}

.package-content-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(104px, 1fr));
    gap: 5px 6px;
    padding: 6px 8px;
    max-height: 168px;
    overflow-y: auto;
    overflow-x: hidden;
    align-content: start;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.2) transparent;
}
.package-content-grid::-webkit-scrollbar {
    width: 5px;
}
.package-content-grid::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.18);
    border-radius: 4px;
}

.package-content-chip {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 2px;
    padding: 4px 6px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-left-width: 2px;
    font-size: 0.65rem;
    line-height: 1.2;
    min-height: 0;
    min-width: 0;
    max-width: 100%;
    transition: background 0.15s ease;
}
.package-content-chip:hover {
    background: rgba(255, 255, 255, 0.07);
}
.package-content-chip[data-type="live"] { border-left-color: #3d8bfd; }
.package-content-chip[data-type="movie"] { border-left-color: #9d7dd9; }
.package-content-chip[data-type="series"] { border-left-color: #ff9f43; }

.package-content-chip .chip-type {
    font-size: 0.52rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: rgba(232, 234, 240, 0.6);
    line-height: 1;
}
.package-content-chip .chip-server {
    font-size: 0.55rem;
    color: rgba(110, 168, 254, 0.9);
    font-weight: 600;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.package-content-chip .chip-name {
    color: rgba(248, 249, 252, 0.92);
    font-weight: 500;
    font-size: 0.64rem;
    word-break: break-word;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.15;
    max-width: 100%;
}

.package-content-chip .chip-item-count {
    font-size: 0.55rem;
    font-weight: 600;
    margin-top: 1px;
    color: rgba(110, 168, 254, 0.85);
    line-height: 1;
}

/* —— Pacotes: listagem profissional (linha compacta + detalhe expandido) —— */
.packages-page-card {
    background: rgba(15, 17, 22, 0.65);
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    overflow: hidden;
}

.packages-table-wrap {
    border-radius: 12px;
}

.table-packages-pro thead th {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: rgba(232, 234, 240, 0.55);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 0.85rem 1rem;
    white-space: nowrap;
}

.table-packages-pro tbody td {
    padding: 0.85rem 1rem;
    vertical-align: middle;
    border-color: rgba(255, 255, 255, 0.05);
}

.packages-table-row:hover td {
    background: rgba(255, 255, 255, 0.02);
}

.packages-th-id,
.packages-td-id {
    width: 1%;
    white-space: nowrap;
}

.packages-name {
    font-size: 0.95rem;
    letter-spacing: -0.01em;
}

.package-content-cell.packages-td-content {
    max-width: min(260px, 30vw);
    vertical-align: middle;
}

.package-content-compact {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
}

.package-summary-line {
    display: flex;
    align-items: baseline;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.package-summary-count {
    font-size: 1.05rem;
    font-weight: 700;
    color: #f8f9fc;
    letter-spacing: -0.02em;
}

.package-summary-label {
    font-size: 0.75rem;
    color: rgba(232, 234, 240, 0.45);
    font-weight: 500;
}

.package-summary-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.summary-mini {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.65rem;
    font-weight: 600;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: rgba(232, 234, 240, 0.8);
}

.summary-mini i {
    font-size: 0.6rem;
    opacity: 0.85;
}

.summary-mini--live { border-left: 2px solid #3d8bfd; padding-left: 0.4rem; }
.summary-mini--movie { border-left: 2px solid #9d7dd9; padding-left: 0.4rem; }
.summary-mini--series { border-left: 2px solid #ff9f43; padding-left: 0.4rem; }

.btn-package-expand {
    margin-top: 0.15rem;
    display: inline-flex;
    align-items: center;
    font-size: 0.72rem;
    font-weight: 600;
    padding: 0.35rem 0.65rem;
    border-radius: 8px;
    border: 1px solid rgba(13, 110, 253, 0.35);
    background: rgba(13, 110, 253, 0.12);
    color: #9ec5fe;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
    position: relative;
    z-index: 2;
    touch-action: manipulation;
}

.btn-package-expand:hover {
    background: rgba(13, 110, 253, 0.22);
    border-color: rgba(13, 110, 253, 0.5);
    color: #cfe2ff;
}

.packages-detail-row td {
    padding: 0 !important;
    border-top: none !important;
    background: rgba(0, 0, 0, 0.28);
}

.packages-detail-cell {
    padding: 0 1rem 1rem !important;
}

.package-content-box--expanded {
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(10, 11, 14, 0.55);
}

.package-content-grid--expanded {
    max-height: min(320px, 45vh);
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 7px 8px;
    padding: 10px 12px;
}

.packages-credits-pill {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 600;
    padding: 0.3rem 0.65rem;
    border-radius: 999px;
    background: rgba(13, 110, 253, 0.14);
    border: 1px solid rgba(13, 110, 253, 0.28);
    color: #b6d4fe;
    white-space: nowrap;
}

.packages-status {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.78rem;
    font-weight: 600;
}

.packages-status-dot {
    font-size: 0.55rem;
}

.packages-status--on {
    color: #6ee7b7;
}

.packages-status--off {
    color: #fca5a5;
}

.packages-actions {
    display: inline-flex;
    gap: 0.35rem;
    justify-content: flex-end;
}

.table-packages-pro button {
    touch-action: manipulation;
}

.packages-act-btn {
    position: relative;
    z-index: 2;
    width: 34px;
    height: 34px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.04);
    color: rgba(232, 234, 240, 0.75);
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.packages-act-btn:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

.packages-act-btn--edit {
    border-color: rgba(250, 204, 21, 0.35);
    color: #fcd34d;
}

.packages-act-btn--edit:hover {
    border-color: rgba(250, 204, 21, 0.55);
    background: rgba(250, 204, 21, 0.08);
}

.packages-act-btn--del {
    border-color: rgba(248, 113, 113, 0.35);
    color: #fca5a5;
}

.packages-act-btn--del:hover {
    border-color: rgba(248, 113, 113, 0.55);
    background: rgba(248, 113, 113, 0.08);
}

@media (max-width: 1200px) {
    .package-content-cell.packages-td-content {
        max-width: 100%;
    }
}

/* Textos explicativos em fundo escuro — entre muted e branco puro */
.form-hint-text {
    color: rgba(232, 234, 240, 0.78);
    line-height: 1.55;
}
.form-hint-text em {
    color: rgba(232, 234, 240, 0.85);
    font-style: italic;
}

.form-hint-text--placeholder {
    color: rgba(220, 223, 230, 0.65);
}

/* Client Action Buttons */
.btn-action-refresh {
    background: #0d6efd;
    color: #fff;
    border: none;
    border-radius: 6px;
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    transition: all 0.2s;
}
.btn-action-refresh:hover { background: #0b5ed7; transform: translateY(-1px); }

.btn-action-edit {
    background: #1a1d26;
    color: #fff;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 4px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    transition: all 0.2s;
}
.btn-action-edit:hover { background: #2a3040; border-color: rgba(255,255,255,0.2); }

.btn-action-delete {
    background: #1a1d26;
    color: #dc3545;
    border: 1px solid rgba(220, 53, 69, 0.2);
    border-radius: 4px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    transition: all 0.2s;
}
.btn-action-delete:hover { background: rgba(220, 53, 69, 0.1); border-color: #dc3545; }

/* Specific Filter Styles */
.btn-dark-custom {
    background: #1e212b;
    border: 1px solid rgba(255,255,255,0.05);
    color: #fff;
    transition: 0.2s;
}

.btn-dark-custom:hover {
    background: #2a2e3d;
}

.form-select-dark {
    background-color: #1e212b !important;
    border-color: rgba(255,255,255,0.05) !important;
    color: #fff !important;
    font-size: 0.85rem !important;
}

/* Custom Date Picker Styles */
.datepicker-container {
    position: relative;
    width: 100%;
}

.calendar-popover {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    background: #11141d;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    padding: 15px;
    width: 320px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
    margin-top: 10px;
    overflow: visible;
}

/* Setinha padrão (popover ancorado abaixo do campo) */
.calendar-popover::before {
    content: '';
    position: absolute;
    top: -7px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-bottom: 7px solid #11141d;
    filter: drop-shadow(0 -1px 0 rgba(255, 255, 255, 0.1));
    pointer-events: none;
    z-index: 1;
}

.calendar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    color: #fff;
    font-weight: 700;
}

.calendar-nav-btn {
    background: transparent;
    border: none;
    color: #6c757d;
    cursor: pointer;
    font-size: 0.9rem;
    padding: 2px 8px;
    transition: 0.2s;
}

.calendar-nav-btn:hover {
    color: #fff;
}

.calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
    text-align: center;
}

.calendar-weekday {
    font-size: 0.75rem;
    color: #6c757d;
    padding-bottom: 10px;
    font-weight: 600;
}

.calendar-day {
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    color: #a0a0a0;
    cursor: pointer;
    border-radius: 4px;
    transition: 0.2s;
}

.calendar-day:hover {
    background: rgba(13, 110, 253, 0.1);
    color: #fff;
}

.calendar-day.not-current {
    color: #3a3f4b;
}

.calendar-day.selected {
    background: #0d6efd;
    color: #fff;
    font-weight: 700;
}

.calendar-time-inputs {
    display: flex;
    gap: 10px;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(255,255,255,0.05);
}

.calendar-time-input {
    background: #1e212b;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 4px;
    color: #fff;
    padding: 8px;
    font-size: 0.85rem;
    width: 50%;
}

.calendar-footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid rgba(255,255,255,0.05);
}

.btn-picker-now {
    background: transparent;
    border: none;
    color: #0d6efd;
    font-size: 0.85rem;
    font-weight: 600;
}

.btn-picker-ok {
    background: #1e212b;
    border: 1px solid rgba(255,255,255,0.1);
    color: #fff;
    padding: 4px 15px;
    border-radius: 4px;
    font-size: 0.85rem;
    font-weight: 600;
}


/* Table Clients - Premium Dark Style */
.table-clients {
    background-color: transparent !important;
    border-collapse: collapse;
    border-spacing: 0;
    margin-top: 10px;
    width: 100%;
    table-layout: fixed;
}

.table-clients thead th {
    background-color: transparent !important;
    border: none !important;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.14) !important;
    color: #4e5d78 !important;
    font-weight: 700;
    font-size: 0.65rem;
    text-transform: uppercase;
    padding: 10px 15px !important;
    letter-spacing: 0.5px;
}

.table-clients tbody tr {
    background-color: transparent !important;
    border: none !important;
}

.table-clients tbody tr:hover {
    background-color: transparent !important;
}

.table-clients tbody td {
    border: none !important;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.12) !important;
    vertical-align: middle;
    padding: 15px !important;
    color: #fff;
    background-color: transparent !important;
    overflow-wrap: anywhere;
    word-wrap: break-word;
}

.user-id-link {
    color: #0066ff !important;
    text-decoration: none;
    font-weight: 700;
    font-size: 0.95rem;
    letter-spacing: -0.2px;
}

.text-xxs { font-size: 0.65rem; color: #4e5d78 !important; }
.text-xs { font-size: 0.75rem; color: #6c7b91 !important; }

.table-clients .text-muted {
    color: #4e5d78 !important;
}

.table-clients .text-white {
    color: #7284a1 !important;
}

.table-clients .client-expiry-date {
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: -0.015em;
    color: #8f9aad !important;
    margin-bottom: 0.85rem;
}

/* Clientes excluídos — coluna DATAS (data principal acima; “Excluído em” menor, vermelho) */
.deleted-clients-dates-cell {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.35rem;
    width: 100%;
}
.table-clients .deleted-clients-dates-cell .client-expiry-date {
    margin-bottom: 0;
    text-align: right;
    width: 100%;
}
.deleted-clients-dates-cell .client-expiry-date {
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: -0.015em;
    color: #8f9aad !important;
    margin-bottom: 0;
    text-align: right;
    width: 100%;
}
.deleted-clients-dates-deleted {
    font-size: 0.62rem;
    font-weight: 600;
    line-height: 1.35;
    color: #f87171 !important;
    text-align: right;
}

.badge-outline {
    padding: 2px 10px;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 700;
    display: inline-block;
}

.badge-outline.success {
    border: 1px solid #198754;
    color: #198754;
}

.badge-outline.purple {
    border: 1px solid #6f42c1;
    color: #6f42c1;
}

/* Search Box Premium */
.search-box-premium {
    position: relative;
    width: 100%;
}

.search-box-premium i {
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: #4e5d78;
    font-size: 0.85rem;
}

.search-box-premium input {
    width: 100%;
    background-color: #15171e !important;
    border: 1px solid rgba(255,255,255,0.03);
    border-radius: 6px;
    padding: 8px 15px 8px 40px;
    color: #fff;
    font-size: 0.85rem;
    transition: 0.2s;
}

.search-box-premium input::placeholder {
    color: #4e5d78;
}

.search-box-premium input:focus {
    outline: none;
    background-color: #1a1d26 !important;
    border-color: rgba(255,255,255,0.1);
}

/* Custom Range Slider */
.custom-range { height: 1.5rem; padding: 0; background: transparent; }
.custom-range::-webkit-slider-runnable-track { background: rgba(255, 255, 255, 0.1); height: 6px; border-radius: 3px; }
.custom-range::-webkit-slider-thumb { background: #007bff; width: 16px; height: 16px; border-radius: 50%; margin-top: -5px; cursor: pointer; border: 2px solid #fff; box-shadow: 0 0 5px rgba(0,0,0,0.5); -webkit-appearance: none; }

/* Packages System CSS */
.server-content-picker { background: rgba(0,0,0,0.2); border: 1px solid rgba(255,255,255,0.1); border-radius: 8px; min-height: 150px; }
.selected-content-list { background: rgba(13, 110, 253, 0.05); border: 1px solid rgba(13, 110, 253, 0.2); border-radius: 8px; padding: 10px; }
.selected-content-item { display: flex; justify-content: space-between; align-items: center; padding: 6px 10px; background: rgba(255,255,255,0.03); border-radius: 6px; margin-bottom: 5px; border: 1px solid rgba(255,255,255,0.05); }
.btn-xs { padding: 2px 6px; font-size: 0.7rem; border-radius: 4px; }

/* ========== Responsivo (telemóveis e tablets) ========== */
.header-hamburger {
    display: none;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: none;
    border-radius: 10px;
    background: var(--bg-card);
    color: #fff;
    flex-shrink: 0;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}
.header-hamburger:hover {
    background: #3b404b;
    color: #fff;
}
.header-hamburger:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

.sidebar-backdrop {
    display: none;
}

@media (max-width: 991.98px) {
    body.body-sidebar-open {
        overflow: hidden;
    }

    .header-hamburger {
        display: inline-flex;
    }

    .sidebar {
        transform: translateX(-100%);
        transition: transform 0.28s ease;
        width: 100%;
        max-width: 100%;
        height: 100vh;
        height: 100dvh;
        z-index: 1050;
        box-shadow: none;
    }
    .sidebar.is-open {
        transform: translateX(0);
        box-shadow: none;
    }

    .sidebar-logo img {
        max-width: min(220px, 75vw);
        height: auto !important;
    }

    .sidebar-mobile-close {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        width: 40px;
        height: 40px;
        margin-top: 2px;
        padding: 0;
        border: none;
        border-radius: 10px;
        background: rgba(255, 255, 255, 0.08);
        color: rgba(255, 255, 255, 0.92);
        font-size: 1.1rem;
        line-height: 1;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        transition: background 0.15s ease, color 0.15s ease;
    }
    .sidebar-mobile-close:hover {
        background: rgba(255, 255, 255, 0.14);
        color: #fff;
    }
    .sidebar-mobile-close:focus-visible {
        outline: 2px solid var(--primary, #0d6efd);
        outline-offset: 2px;
    }

    /* Cabeçalhos de página (título + botão): empilhar e botões compactos no mobile */
    .sigma-mobile-page-head {
        flex-wrap: wrap;
    }
    .sigma-mobile-page-head > .btn,
    .sigma-mobile-page-head > button.btn,
    .sigma-mobile-page-head.btn-group > .btn {
        flex-shrink: 0;
    }
    @media (max-width: 575.98px) {
        .sigma-mobile-page-head {
            flex-direction: column !important;
            align-items: flex-start !important;
            gap: 0.65rem !important;
        }
        .sigma-mobile-page-head > .btn:not(.w-100),
        .sigma-mobile-page-head > button.btn:not(.w-100) {
            font-size: 0.75rem;
            font-weight: 600;
            padding: 0.35rem 0.65rem;
            border-radius: 6px;
            line-height: 1.25;
            align-self: flex-start;
        }
        .sigma-mobile-page-head > .btn i.me-1,
        .sigma-mobile-page-head > .btn i.me-2,
        .sigma-mobile-page-head > button.btn i.me-1,
        .sigma-mobile-page-head > button.btn i.me-2 {
            margin-right: 0.35rem !important;
        }
    }
    @media (min-width: 576px) and (max-width: 991.98px) {
        .sigma-mobile-page-head {
            gap: 0.5rem !important;
        }
        .sigma-mobile-page-head > .btn:not(.w-100),
        .sigma-mobile-page-head > button.btn:not(.w-100) {
            font-size: 0.78rem;
            padding: 0.4rem 0.75rem;
            border-radius: 6px;
        }
    }

    .sidebar-backdrop.is-visible {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 1040;
        background: rgba(0, 0, 0, 0.52);
        -webkit-tap-highlight-color: transparent;
    }

    .header {
        left: 0;
        right: 0;
        padding: 0 10px;
        z-index: 1060;
    }

    .header-title {
        font-size: 1rem;
        max-width: 100%;
    }

    .header-icons {
        gap: 8px;
        flex-shrink: 0;
        max-width: 52vw;
        padding-bottom: 2px;
        overflow: visible;
    }
    .header-icons-scroll {
        gap: 8px;
    }
    .header-icons-scroll--overflow {
        flex: 1 1 0;
        min-width: 0;
        overflow-x: auto;
        overflow-y: visible;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding-bottom: 2px;
    }
    .header-icons-scroll--overflow::-webkit-scrollbar {
        display: none;
    }

    .header-icon {
        width: 38px;
        height: 38px;
        flex-shrink: 0;
    }

    .main-content {
        margin-left: 0;
        padding: 80px var(--sigma-main-padding-x) 22px;
        max-width: 100vw;
        overflow-x: hidden;
    }

    body.sigma-mobile-shell .header {
        display: none !important;
    }
    body.sigma-mobile-shell .main-content {
        padding-top: 16px;
        padding-bottom: calc(1rem + 72px + env(safe-area-inset-bottom, 0px));
    }
    body.sigma-mobile-shell .sigma-app-footer {
        display: none !important;
    }

    .sigma-mobile-tabbar {
        position: fixed;
        z-index: 1040;
        left: max(12px, env(safe-area-inset-left, 0px));
        right: max(12px, env(safe-area-inset-right, 0px));
        bottom: max(12px, env(safe-area-inset-bottom, 0px));
        display: flex;
        justify-content: space-around;
        align-items: stretch;
        gap: 2px;
        padding: 8px 6px;
        border-radius: 999px;
        background: rgba(30, 32, 38, 0.94);
        -webkit-backdrop-filter: blur(14px);
        backdrop-filter: blur(14px);
        box-shadow: 0 10px 36px rgba(0, 0, 0, 0.5);
        border: 1px solid rgba(255, 255, 255, 0.07);
        font-family: inherit;
    }

    .sigma-mobile-tabbar__btn {
        flex: 1;
        min-width: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4px;
        padding: 6px 2px;
        border: none;
        border-radius: 999px;
        background: transparent;
        color: rgba(255, 255, 255, 0.9);
        font-size: 0.625rem;
        font-weight: 600;
        line-height: 1.1;
        letter-spacing: 0.01em;
        -webkit-tap-highlight-color: transparent;
        transition: color 0.15s ease, background 0.15s ease;
    }

    .sigma-mobile-tabbar__btn i {
        font-size: 1.05rem;
        opacity: 0.95;
    }

    .sigma-mobile-tabbar__btn:active {
        background: rgba(255, 255, 255, 0.08);
    }

    .sigma-mobile-tabbar__btn--active {
        color: #fff;
        background: rgba(255, 255, 255, 0.11);
    }

    .sigma-mobile-tabbar__btn span {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 100%;
    }

    .sigma-main-column {
        margin-left: 0;
        min-height: 100vh;
        min-height: 100dvh;
    }

    .sigma-app-footer {
        margin-left: 0;
        margin-top: 2rem;
        padding-bottom: max(var(--sigma-footer-padding-bottom), 1.25rem);
        padding-left: calc(var(--sigma-main-padding-x) + var(--sigma-page-gutter-extra) + max(var(--sigma-footer-extra-inset-x), 14px));
        padding-right: calc(var(--sigma-main-padding-x) + var(--sigma-page-gutter-extra) + max(var(--sigma-footer-extra-inset-x), 14px));
    }
    .sigma-app-footer__inner {
        justify-content: center;
        text-align: center;
    }
    .sigma-app-footer__left,
    .sigma-app-footer__right {
        justify-content: center;
    }

    .menu-item.active {
        margin-left: 6px;
        margin-right: 6px;
    }

    .clients-page-panel {
        padding: 14px 12px;
        border-radius: 10px;
    }

    .planos-preco-page {
        padding: 14px 12px;
        border-radius: 0;
    }

    .clients-cards-grid {
        grid-template-columns: 1fr;
        gap: 0.85rem;
    }

    .client-card-fields {
        grid-template-columns: 1fr;
    }

    .client-card-actions-row:not(.client-card-actions-row--toolbar) {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 5px;
    }
    .client-card-actions-row--toolbar {
        display: grid;
        grid-template-columns: repeat(9, minmax(0, 1fr));
        gap: 4px;
    }
    .client-card .btn-card-action {
        width: 34px;
        height: 34px;
        max-width: none;
        margin: 0;
    }

    .table-responsive-clients {
        margin-left: -2px;
        margin-right: -2px;
        border-radius: 8px;
        -webkit-overflow-scrolling: touch;
    }
    .table-responsive-clients .table-clients {
        min-width: 0;
        width: 100%;
    }

    .client-actions-top {
        flex-wrap: nowrap;
        align-items: flex-start;
        justify-content: flex-end;
        gap: 5px;
    }
    .client-actions-icons--toolbar {
        flex-wrap: nowrap;
        justify-content: flex-end;
        gap: 4px;
        overflow: visible;
        max-width: none;
        min-width: min-content;
    }
    .table-clients thead th.th-client-actions,
    .table-clients td.client-actions-td {
        min-width: 660px;
    }
    .client-actions-icons-outer > .client-actions-icons:not(.client-actions-icons--toolbar) {
        flex-wrap: wrap;
        justify-content: flex-end;
    }
    .client-actions-aside {
        align-items: stretch;
    }

    .btn-action-square {
        width: 31px;
        height: 31px;
        min-width: 31px;
        min-height: 31px;
        font-size: 0.72rem;
    }
    .dashboard-lowc-act,
    .dashboard-recent-reseller-mail-btn {
        width: 31px;
        height: 31px;
        min-width: 31px;
        min-height: 31px;
        border-radius: 6px;
        font-size: 0.72rem;
    }
    .dashboard-recent-reseller-mail-placeholder {
        min-width: 31px;
    }
    .btn-action-main {
        font-size: 0.78rem;
        padding: 7px 12px;
        min-height: 31px;
    }

    .pagination-controls--responsive {
        flex-direction: column;
        align-items: stretch !important;
        gap: 10px;
        text-align: center;
    }
    .pagination-controls--responsive > div {
        justify-content: center;
    }
}

@media (max-width: 575.98px) {
    .main-content {
        padding: 76px 8px 18px;
    }

    .clients-page-panel {
        padding: 10px 8px;
    }

    .planos-preco-page {
        padding: 10px 8px;
        border-radius: 0;
    }

    .sidebar-brand-row {
        padding-left: 16px;
        padding-right: 16px;
    }
    .sidebar-logo h1 {
        font-size: 1.35rem;
    }

    .modal-dialog {
        margin: 0.5rem;
    }
}

/* ========== Suporte / Tickets — fundo alinhado ao tema (--bg-main / --bg-card) ========== */
.main-content.main-content--support {
    background-color: var(--bg-main);
    box-sizing: border-box;
    /* Ocupa o espaço restante da coluna (header é fixed); evita height:100vh + footer = barra escura e scroll preso */
    flex: 1 1 auto;
    min-height: 0;
    height: auto;
    max-height: none;
    margin-bottom: 0;
    border-bottom: none;
    box-shadow: none;
    padding: 74px 0 10px !important;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.header.header--support {
    background-color: var(--bg-main);
    border-bottom: none;
}

.header.header--support .header-title {
    text-decoration: none;
    border-bottom: none;
    box-shadow: none;
}

.support-chat-page {
    max-width: none;
    margin: 0;
    width: 100%;
    flex: 1 1 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    padding: 0;
    box-sizing: border-box;
    background-color: var(--bg-main);
    overflow: hidden;
}

.support-chat-card {
    flex: 1 1 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    background-color: var(--bg-main);
    border: none;
    border-radius: 0;
    padding: 2px 0 0;
    margin: 0;
    box-shadow: none;
    width: 100%;
    overflow: hidden;
}

/* Painel único (Suporte + mensagens + input) */
.support-chat-panel {
    width: calc(100% - clamp(16px, 2.5vw, 28px));
    max-width: calc(100% - clamp(16px, 2.5vw, 28px));
    margin-left: auto;
    margin-right: auto;
    background-color: var(--bg-card);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    flex: 1 1 0;
    min-height: 0;
    max-height: 100%;
    min-width: 0;
    overflow: hidden;
    box-sizing: border-box;
}

.support-chat-panel-head {
    flex-shrink: 0;
    padding: 10px 16px 8px;
    background-color: var(--bg-card);
}

.support-chat-panel-title {
    font-size: 1.15rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
    letter-spacing: -0.02em;
    line-height: 1.2;
    text-decoration: none;
    border: none;
}

.support-chat-panel-divider {
    flex-shrink: 0;
    height: 1px;
    margin: 0;
    background: rgba(255, 255, 255, 0.06);
    border: none;
}

.support-chat-panel-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: 0 12px 14px;
    gap: 10px;
    background-color: var(--bg-card);
}

.support-chat-placeholder {
    color: #94a3b8;
    font-size: 0.95rem;
    margin: 0;
    padding: 0.75rem 0 0.25rem;
    line-height: 1.55;
}

/* Faixa no topo do histórico — "Sem mais mensagens" */
.support-chat-history-cap {
    flex-shrink: 0;
    width: 100%;
    box-sizing: border-box;
    margin: 0 0 4px;
    padding: 10px 14px;
    text-align: center;
    font-size: 0.82rem;
    font-weight: 500;
    color: #94a3b8;
    letter-spacing: 0.02em;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 6px;
}

.support-chat-stream {
    flex: 1 1 0;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    min-width: 0;
    padding: 4px 4px 6px 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.18) var(--bg-card);
    background-color: var(--bg-card);
    box-sizing: border-box;
}

.support-chat-stream::-webkit-scrollbar {
    width: 8px;
}
.support-chat-stream::-webkit-scrollbar-track {
    background: var(--bg-card);
}
.support-chat-stream::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 8px;
    border: 2px solid var(--bg-card);
}

.support-chat-msg {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.support-chat-msg--own {
    align-self: flex-end;
    align-items: flex-end;
    max-width: min(88%, 480px);
}

.support-chat-msg--them {
    align-self: flex-start;
    align-items: flex-start;
    max-width: min(88%, 480px);
}

.support-chat-sender {
    font-size: 0.8rem;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.2;
}

.support-chat-msg--own .support-chat-sender {
    text-align: right;
    align-self: flex-end;
    width: 100%;
}

.support-chat-msg--them .support-chat-sender {
    text-align: left;
    align-self: flex-start;
    color: #cbd5e1;
}

.support-chat-bubble {
    padding: 12px 14px;
    border-radius: 8px;
    line-height: 1.45;
    word-break: break-word;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.support-chat-text {
    font-size: 0.9375rem;
    color: #ffffff;
    white-space: pre-wrap;
    margin: 0;
}

.support-chat-msg--own .support-chat-bubble {
    background-color: #25252e;
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.support-chat-msg--them .support-chat-bubble {
    background-color: #25252e;
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.support-chat-time-in {
    display: block;
    margin-top: 8px;
    font-size: 0.72rem;
    line-height: 1.3;
    color: #6b7280;
    font-style: normal;
}

.support-chat-composer {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 100%;
    box-sizing: border-box;
}

.support-chat-composer-actions {
    display: flex;
    justify-content: flex-end;
    width: 100%;
}

#app .support-chat-composer textarea.support-chat-textarea,
.support-chat-composer .support-chat-textarea {
    -webkit-appearance: none;
    appearance: none;
    background-color: rgba(0, 0, 0, 0.25) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 6px !important;
    padding: 6px 10px !important;
    font-family: inherit !important;
    font-size: 0.9rem !important;
    line-height: 1.35 !important;
    resize: vertical;
    min-height: 36px;
    max-height: 160px;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    display: block !important;
    outline: none !important;
}

.support-chat-textarea::placeholder {
    color: #94a3b8;
    opacity: 1;
}

#app .support-chat-composer textarea.support-chat-textarea:focus,
#app .support-chat-composer textarea.support-chat-textarea:focus-visible {
    border-color: rgba(13, 110, 253, 0.55) !important;
    box-shadow: 0 0 0 1px rgba(13, 110, 253, 0.12) !important;
    outline: none !important;
}

#app .support-chat-composer button.support-chat-send {
    position: static !important;
    width: auto !important;
    background: #0d6efd !important;
    border: none !important;
    color: #fff !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
    padding: 9px 18px !important;
    border-radius: 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 0 !important;
    cursor: pointer;
    line-height: 1.2 !important;
    box-shadow: none !important;
    transition: background 0.15s ease, filter 0.15s ease;
}

#app .support-chat-composer button.support-chat-send:hover {
    background: #0b5ed7 !important;
    color: #fff !important;
    filter: brightness(1.02);
}

@media (max-width: 991.98px) {
    .main-content.main-content--support {
        flex: 1 1 auto;
        min-height: 0;
        height: auto;
        max-height: none;
        padding: 76px 0 10px !important;
        overflow: hidden;
    }

    .support-chat-page {
        flex: 1 1 0;
        min-height: 0;
        padding: 0;
        max-width: 100%;
    }

    .support-chat-card {
        flex: 1 1 0;
        min-height: 0;
        padding: 2px 0 0;
        border-radius: 0;
    }

    .support-chat-panel {
        flex: 1 1 0;
        min-height: 0;
        max-height: 100%;
    }

    .support-chat-msg--own,
    .support-chat-msg--them {
        max-width: min(92%, 440px);
    }
}

@media (max-width: 575.98px) {
    .main-content.main-content--support {
        padding-bottom: max(10px, env(safe-area-inset-bottom, 0px)) !important;
    }

    .support-chat-panel-title {
        font-size: 1.05rem;
    }

    .support-chat-card {
        padding: 0;
    }

    .support-chat-panel-head {
        padding: 12px 14px 10px;
    }

    .support-chat-panel-body {
        padding: 0 12px 12px;
    }

    #app .support-chat-composer textarea.support-chat-textarea {
        padding: 6px 9px !important;
        min-height: 34px;
        font-size: 0.88rem !important;
    }

    #app .support-chat-composer button.support-chat-send {
        padding: 9px 16px !important;
        font-size: 0.82rem !important;
    }
}

/* Revendas — modal */
.reseller-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 2050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(0, 0, 0, 0.55);
    -webkit-tap-highlight-color: transparent;
}

.reseller-modal-backdrop .reseller-modal {
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.revendas-page-panel .form-control-dark[type="date"] {
    color-scheme: dark;
}

/* Cadastro revenda — grid compacto (#15151b) */
.revenda-cadastro-page {
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 0 0.75rem 1.25rem;
    box-sizing: border-box;
}

.revenda-cadastro-card {
    background: #15151b;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    padding: 1.5rem;
    width: 100%;
    --revenda-field-bg: #1a1d24;
    --revenda-field-border: rgba(205, 214, 230, 0.24);
    --revenda-field-border-soft: rgba(205, 214, 230, 0.18);
    --revenda-hover-underline: rgba(110, 168, 254, 0.9);
    --revenda-hover-ring: #1e90ff;
}

.revenda-cadastro-card .revenda-form-tab {
    display: inline-block;
    color: #6ea8fe;
    font-weight: 700;
    font-size: 0.95rem;
    padding-bottom: 0.3rem;
    margin-bottom: 0.5rem;
    border-bottom: 3px solid #6ea8fe;
}

.revenda-cadastro-form {
    margin: 0;
}

.revenda-cadastro-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem 1rem;
}

@media (min-width: 768px) {
    .revenda-cadastro-grid {
        grid-template-columns: 1fr 1fr;
    }

    .revenda-field--full {
        grid-column: 1 / -1;
    }
}

.revenda-field-label {
    display: block;
    margin-bottom: 0.5rem;
    font-size: 0.9rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.88);
}

.revenda-help {
    font-size: 0.72rem;
    margin: 0.35rem 0 0;
    color: rgba(210, 218, 232, 0.88);
    line-height: 1.35;
}

/* Servidores (novo/editar): switches no porte dos demais formulários compactos */
.source-server-form-page .source-server-form-page__switch.form-switch {
    padding-left: 2.25em;
    min-height: 0;
}
.source-server-form-page .source-server-form-page__switch.form-switch .form-check-input {
    width: 1.85em;
    height: 1em;
    margin-top: 0.15em;
    margin-left: -2.25em;
}

.revenda-input-group .revenda-input-addon {
    padding: 0.25rem 0.5rem;
}

/* Campos no estilo compacto (#1a1d24 + borda prateada); stepper tipo imagem 2 */

.revenda-cadastro-card .input-group.revenda-input-group {
    flex-wrap: nowrap;
    border: 1px solid var(--revenda-field-border);
    border-radius: 6px;
    overflow: hidden;
    background: var(--revenda-field-bg);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.revenda-cadastro-card .input-group.revenda-input-group:hover,
.revenda-cadastro-card .input-group.revenda-input-group:focus-within {
    border-color: var(--revenda-hover-ring);
    box-shadow: 0 0 0 1px rgba(30, 144, 255, 0.38);
}

.revenda-cadastro-card .input-group.revenda-input-group > .btn {
    margin: 0;
    border: none !important;
    border-radius: 0 !important;
    background: var(--revenda-field-bg) !important;
    color: rgba(255, 255, 255, 0.82) !important;
}

.revenda-cadastro-card .input-group.revenda-input-group > *:not(:last-child) {
    border-right: 1px solid var(--revenda-field-border-soft) !important;
}

.revenda-cadastro-card .input-group.revenda-input-group > .form-control,
.revenda-cadastro-card .input-group.revenda-input-group > .input-group-text {
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: var(--revenda-field-bg) !important;
}

.revenda-cadastro-card .input-group.revenda-input-group > .input-group-text {
    color: rgba(255, 255, 255, 0.5) !important;
}

.revenda-cadastro-card .input-group .btn-outline-secondary {
    background: var(--revenda-field-bg);
    border-color: transparent;
    color: rgba(255, 255, 255, 0.78);
}

.revenda-cadastro-card .input-group .btn-outline-secondary:hover {
    background: #22262e;
    color: #fff;
}

.revenda-cadastro-card .input-group .btn-outline-primary {
    background: var(--revenda-field-bg);
    border-color: transparent;
    color: #6ea8fe;
}

.revenda-cadastro-card .input-group .btn-outline-primary:hover {
    background: rgba(13, 110, 253, 0.15);
    color: #fff;
}

.revenda-cadastro-card .revenda-input,
.revenda-cadastro-card select.revenda-input,
.revenda-cadastro-card textarea.revenda-input {
    background: var(--revenda-field-bg);
    border: 1px solid var(--revenda-field-border);
    color: rgba(248, 250, 255, 0.94);
    font-size: 0.875rem;
    padding: 0.38rem 0.65rem;
    border-radius: 6px;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.revenda-cadastro-card .revenda-input:focus,
.revenda-cadastro-card select.revenda-input:focus,
.revenda-cadastro-card textarea.revenda-input:focus {
    border-color: var(--revenda-hover-ring);
    box-shadow: 0 0 0 1px rgba(30, 144, 255, 0.42);
    background: #1e222b;
    color: #fff;
    text-decoration: none !important;
}

.revenda-cadastro-card .revenda-input::placeholder {
    color: rgba(255, 255, 255, 0.38);
}

/* Remove setas nativas do navegador em inputs numéricos (ficam só os botões ±) */
.revenda-cadastro-card input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
}
.revenda-cadastro-card input[type="number"]::-webkit-outer-spin-button,
.revenda-cadastro-card input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Stepper unificado: [ − | valor | + ] sem espaços */
.revenda-cadastro-card .revenda-stepper.d-flex {
    gap: 0 !important;
    display: inline-flex !important;
    align-items: stretch !important;
    border: 1px solid var(--revenda-field-border);
    border-radius: 6px;
    overflow: hidden;
    background: var(--revenda-field-bg);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.revenda-cadastro-card .revenda-stepper .revenda-step-btn {
    margin: 0;
    padding: 0.32rem 0.5rem;
    min-width: 2.2rem;
    line-height: 1;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: rgba(248, 250, 255, 0.9) !important;
}

.revenda-cadastro-card .revenda-stepper .revenda-step-btn:first-child {
    border-right: 1px solid var(--revenda-field-border-soft) !important;
    color: rgba(200, 210, 230, 0.45) !important;
}

.revenda-cadastro-card .revenda-stepper .revenda-stepper-input {
    max-width: 5.75rem;
    flex: 0 0 auto;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-right: 1px solid var(--revenda-field-border-soft) !important;
}

.revenda-cadastro-card .revenda-stepper .revenda-step-btn:last-child {
    border-left: none !important;
    color: rgba(110, 168, 254, 0.85) !important;
}

.revenda-cadastro-card .revenda-stepper-input--lg {
    max-width: 5.1rem;
}

.revenda-cadastro-card .revenda-stepper-input--md {
    max-width: 6.75rem;
}

/* Hover / foco: contorno azul vibrante (estilo referência) */
.revenda-cadastro-card .revenda-stepper.d-flex:hover,
.revenda-cadastro-card .revenda-stepper.d-flex:focus-within {
    border-color: var(--revenda-hover-ring);
    box-shadow: 0 0 0 1px rgba(30, 144, 255, 0.38);
}

.revenda-cadastro-card .revenda-stepper:hover .revenda-step-btn:last-child,
.revenda-cadastro-card .revenda-stepper:focus-within .revenda-step-btn:last-child {
    color: var(--revenda-hover-ring) !important;
}

.revenda-cadastro-card select.revenda-input:hover:not(:focus),
.revenda-cadastro-card textarea.revenda-input:hover:not(:focus) {
    border-color: var(--revenda-hover-ring);
    box-shadow: 0 0 0 1px rgba(30, 144, 255, 0.35);
}

.revenda-cadastro-card .revenda-servers-dropdown-trigger:hover:not(.is-open) {
    border-color: var(--revenda-hover-ring);
    box-shadow: 0 0 0 1px rgba(30, 144, 255, 0.35);
}

.revenda-cadastro-card .form-check:hover {
    outline: 1px solid var(--revenda-hover-ring);
    outline-offset: 2px;
    border-radius: 4px;
}

.revenda-form-check {
    margin-bottom: 0;
    font-size: 0.82rem;
}

.revenda-form-check .form-check-label {
    color: rgba(255, 255, 255, 0.82);
}

.revenda-box-dashed {
    border: 1px dashed rgba(110, 168, 254, 0.4);
    border-radius: 8px;
    padding: 0.45rem 0.6rem;
    background: rgba(13, 110, 253, 0.05);
}

.revenda-monthly-wrap.revenda-box-dashed {
    padding: 0.5rem 0.65rem 0.65rem;
}

.revenda-monthly-expand {
    margin-top: 0.65rem;
    padding-top: 0.55rem;
    border-top: 1px solid rgba(110, 168, 254, 0.18);
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.revenda-cadastro-card .revenda-radio-row .form-check-label {
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.82rem;
}

.revenda-cadastro-card .revenda-input-date {
    color-scheme: dark;
}

.revenda-inline-link {
    color: #6ea8fe !important;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.revenda-inline-link:hover {
    color: #9ec5fe !important;
}

.revenda-cadastro-card .reseller-hint-box--ghost {
    background: transparent;
    border: 1px solid rgba(13, 110, 253, 0.45);
    color: #9ec5fe;
    margin-top: 0.35rem;
}

.revenda-cadastro-card .reseller-warn-box {
    border: 1px solid rgba(234, 179, 8, 0.55);
    border-radius: 6px;
    padding: 0.45rem 0.65rem;
    margin-top: 0.35rem;
    color: #facc15;
    font-size: 0.72rem;
    line-height: 1.35;
    background: rgba(234, 179, 8, 0.06);
}

.revenda-cadastro-card .reseller-hint-box {
    border: 1px solid rgba(13, 110, 253, 0.45);
    border-radius: 6px;
    padding: 0.45rem 0.65rem;
    margin-top: 0.35rem;
    background: rgba(13, 110, 253, 0.08);
    color: #9ec5fe;
    font-size: 0.72rem;
    line-height: 1.35;
}

.revenda-cadastro-card .reseller-hint-box li {
    margin-bottom: 0.15rem;
}

.revenda-cadastro-card .reseller-hint-box li:last-child {
    margin-bottom: 0;
}

.revenda-cadastro-card .reseller-private-box {
    border: 1px solid rgba(25, 135, 84, 0.45);
    border-radius: 8px;
    padding: 0.55rem 0.65rem 0.65rem;
    background: rgba(25, 135, 84, 0.08);
    color: rgba(200, 230, 210, 0.95);
}

.revenda-private-intro {
    font-size: 0.72rem;
    color: rgba(200, 230, 210, 0.92);
    margin-bottom: 0.45rem !important;
}

.revenda-private-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.45rem 0.75rem;
}

@media (min-width: 576px) {
    .revenda-private-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.revenda-cadastro-card .reseller-private-box .revenda-field-label {
    color: rgba(255, 255, 255, 0.9);
}

.revenda-cadastro-card .revenda-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    justify-content: flex-end;
    padding-top: 0.35rem;
    margin-top: 0.15rem;
}

/* Adicionar revenda — respiro vertical e rodapé como mock (aba Detalhes, botões centrados) */
.revenda-adicionar-revenda-page .revenda-cadastro-card {
    padding: 2rem 2.25rem;
}

.revenda-adicionar-revenda-page .revenda-cadastro-grid {
    gap: 1.6rem 1.2rem;
}

@media (min-width: 768px) {
    .revenda-adicionar-revenda-page .revenda-cadastro-grid {
        gap: 1.75rem 1.35rem;
    }
}

.revenda-adicionar-revenda-page .revenda-form-tab {
    display: block;
    width: fit-content;
    margin-bottom: 1.15rem;
}

.revenda-adicionar-revenda-page .revenda-field-label {
    margin-bottom: 0.55rem;
}

.revenda-adicionar-revenda-page .revenda-help {
    margin-top: 0.5rem;
}

.revenda-adicionar-revenda-page .revenda-monthly-wrap.revenda-box-dashed {
    padding: 1rem 1.15rem 1.1rem;
}

.revenda-adicionar-revenda-page .revenda-monthly-expand {
    margin-top: 0.9rem;
    padding-top: 0.9rem;
    gap: 1rem;
}

.revenda-adicionar-revenda-page .reseller-private-grid {
    gap: 1rem 1.25rem;
}

.revenda-adicionar-revenda-page .reseller-private-box {
    padding: 1.05rem 1.2rem 1.2rem;
}

.revenda-adicionar-revenda-page .revenda-private-intro {
    margin-bottom: 0.65rem !important;
}

.revenda-adicionar-revenda-page .reseller-hint-box {
    padding: 0.6rem 0.85rem;
    margin-top: 0.5rem;
}

.revenda-adicionar-revenda-page .revenda-actions {
    justify-content: center;
    gap: 1rem;
    padding-top: 2rem;
    margin-top: 0.85rem;
}

.revenda-adicionar-revenda-page .revenda-stepper .revenda-step-btn {
    padding: 0.45rem 0.6rem;
    min-width: 2.45rem;
}

.revenda-adicionar-revenda-page .revenda-stepper .revenda-stepper-input {
    padding-top: 0.48rem;
    padding-bottom: 0.48rem;
}

/* Servidores — dropdown estilo painel (lista + IPTV) */
.revenda-servers-dropdown {
    position: relative;
    width: 100%;
    overflow: visible;
}

.revenda-cadastro-card .revenda-field--full:has(.revenda-servers-dropdown) {
    overflow: visible;
    z-index: 1;
}

.revenda-cadastro-card .revenda-field--full:has(.revenda-servers-dropdown-trigger.is-open) {
    z-index: 8;
}

.revenda-servers-dropdown-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 2.35rem;
    padding: 0.4rem 0.65rem;
    text-align: left;
    font-size: 0.875rem;
    color: rgba(248, 250, 255, 0.92);
    background: var(--revenda-field-bg, #1a1d24);
    border: 1px solid var(--revenda-field-border, rgba(205, 214, 230, 0.24));
    border-radius: 6px;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.revenda-servers-dropdown-trigger:hover {
    border-color: rgba(205, 214, 230, 0.32);
}

.revenda-servers-dropdown-trigger.is-open {
    border-color: rgba(59, 130, 246, 0.85);
    box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.35);
}

.revenda-servers-trigger-text {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding-right: 0.5rem;
}

.revenda-servers-chevron {
    flex-shrink: 0;
    font-size: 0.7rem;
    color: rgba(255, 255, 255, 0.45);
    transition: transform 0.2s;
}

.revenda-servers-chevron.is-collapsed {
    transform: rotate(180deg);
}

.revenda-servers-dropdown-panel {
    position: absolute;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    top: calc(100% + 10px);
    width: min(42rem, calc(100vw - 1.5rem));
    z-index: 1090;
    padding: 0;
    background: #1a1d26;
    border: 1px solid rgba(59, 130, 246, 0.35);
    border-radius: 10px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.55);
}

.revenda-servers-dropdown-caret {
    position: absolute;
    top: -7px;
    left: 50%;
    margin-left: -7px;
    width: 0;
    height: 0;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-bottom: 7px solid #1a1d26;
    filter: drop-shadow(0 -1px 0 rgba(59, 130, 246, 0.25));
    pointer-events: none;
}

.revenda-servers-dropdown-body {
    padding: 0.65rem 0.75rem 0.75rem;
}

.revenda-servers-dropdown-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(9.25rem, 1fr));
    gap: 0.5rem;
    justify-content: center;
    max-height: 340px;
    overflow-y: auto;
    padding: 0.1rem;
}

.revenda-servers-grid-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    gap: 0.35rem;
    min-height: 5.5rem;
    padding: 0.55rem 0.45rem 0.5rem;
    margin: 0;
    border: 1px solid rgba(205, 214, 230, 0.2);
    border-radius: 8px;
    background: rgba(20, 22, 28, 0.9);
    color: rgba(248, 250, 255, 0.95);
    font-size: 0.8rem;
    cursor: pointer;
    transition: background 0.12s, border-color 0.12s, box-shadow 0.12s;
}

.revenda-servers-grid-item:hover {
    background: rgba(30, 144, 255, 0.1);
    border-color: var(--revenda-hover-ring, #1e90ff);
    box-shadow: 0 0 0 1px rgba(30, 144, 255, 0.35);
}

.revenda-servers-grid-item.is-selected {
    border-color: rgba(59, 130, 246, 0.75);
    background: rgba(59, 130, 246, 0.2);
    box-shadow: inset 0 0 0 1px rgba(59, 130, 246, 0.2);
}

.revenda-servers-grid-icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 1.5rem;
    font-size: 1.2rem;
}

.revenda-servers-grid-icon-wrap .revenda-servers-emoji {
    font-size: 1.25rem;
    line-height: 1;
}

.revenda-servers-grid-icon-wrap i {
    font-size: 1.05rem;
}

.revenda-servers-grid-name {
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.3;
    word-break: break-word;
    hyphens: auto;
    max-width: 100%;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.revenda-servers-grid-tag {
    margin-top: auto;
    font-size: 0.65rem;
    color: rgba(255, 255, 255, 0.38);
    font-weight: 600;
    letter-spacing: 0.04em;
}

/* Datepicker vencimento mensalista (pop calendário + hora) */
.revenda-monthly-datepicker {
    width: 100%;
    position: relative;
}

.revenda-monthly-due-display {
    cursor: pointer;
}

.revenda-monthly-datepicker .calendar-popover.revenda-monthly-calendar-popover {
    z-index: 1100;
    width: 100%;
    max-width: 320px;
    background: #12141a;
    border: 1px solid rgba(13, 110, 253, 0.35);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.55);
}

.revenda-monthly-datepicker .calendar-popover.revenda-monthly-calendar-popover::before {
    border-bottom-color: #12141a;
    filter: drop-shadow(0 -1px 0 rgba(13, 110, 253, 0.35));
}

.revenda-monthly-calendar-popover .calendar-month-year {
    font-size: 0.95rem;
}

.revenda-monthly-calendar-popover .calendar-day.selected {
    background: #0d6efd;
    color: #fff;
}

.revenda-monthly-time-select,
.revenda-monthly-calendar-popover select.form-select.calendar-time-input {
    background: var(--revenda-field-bg, #1a1d24) !important;
    border: 1px solid var(--revenda-field-border, rgba(205, 214, 230, 0.24)) !important;
    color: rgba(248, 250, 255, 0.94);
    font-size: 0.85rem;
    width: 50%;
    flex: 1;
    cursor: pointer;
    border-radius: 4px;
}

.revenda-monthly-calendar-popover select.form-select.calendar-time-input:hover:not(:focus) {
    border-color: var(--revenda-hover-ring, #1e90ff) !important;
    box-shadow: 0 0 0 1px rgba(30, 144, 255, 0.35);
}

.revenda-monthly-time-select:focus,
.revenda-monthly-calendar-popover select.form-select.calendar-time-input:focus {
    border-color: var(--revenda-hover-ring, #1e90ff) !important;
    box-shadow: 0 0 0 1px rgba(30, 144, 255, 0.42);
    outline: none;
}

/* --- Revendas: paleta / variáveis (dropdowns e textos alinhados ao calendário / clientes) --- */
.revendas-page-panel {
    color-scheme: dark;
    --sigma-cal-text: rgba(248, 250, 255, 0.92);
    --sigma-cal-text-muted: rgba(180, 190, 210, 0.85);
    --sigma-dd-surface: #15151b;
    --sigma-dd-edge: #2d2d2d;
    --sigma-dd-hover: #2d2d2d;
}

.revendas-page-panel .form-hint-text {
    color: var(--sigma-cal-text-muted);
    font-size: 0.8125rem;
}

.revendas-page-panel .revendas-pagination-range {
    color: var(--sigma-cal-text-muted) !important;
}

/* --- Revendas: painel de filtros (grid referência) --- */
.revendas-filters-panel {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    margin-bottom: 0.35rem;
}

.revendas-filters-grid .form-select.form-select-dark {
    border-radius: 6px;
    font-size: 0.85rem;
}

.revendas-filters-panel.clients-filter-container .revenda-filter-check .form-check-label {
    color: var(--sigma-cal-text-muted);
    font-size: 0.8125rem;
    cursor: pointer;
}

.revendas-filters-panel.clients-filter-container .revenda-recharge-trigger {
    min-height: 38px;
    padding: 0.375rem 2.35rem;
}

.revendas-filters-grid .revenda-filter-search.search-box-premium {
    min-height: 38px;
    border-radius: 6px;
}

/* Menus Situação / Créditos: seta central + lista rolável (Créditos) como nas referências */
.revendas-filters-grid .clients-filter-dd.is-open .clients-filter-dd-menu.revendas-filter-dd-menu {
    top: calc(100% + 10px);
    padding: 0;
    overflow: visible;
    max-height: none;
}

.revendas-filters-grid .clients-filter-dd.is-open .clients-filter-dd-menu.revendas-filter-dd-menu::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%, -100%);
    width: 0;
    height: 0;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-bottom: 7px solid var(--sigma-dd-surface);
    filter: drop-shadow(0 -1px 0 var(--sigma-dd-edge));
    z-index: 2;
    pointer-events: none;
}

.revendas-filter-dd-menu-scroll {
    max-height: min(52vh, 320px);
    overflow-y: auto;
    padding: 0.2rem 0;
    scrollbar-width: thin;
    scrollbar-color: var(--sigma-dd-hover) #121214;
}

.revendas-filter-dd-menu-scroll::-webkit-scrollbar {
    width: 6px;
}

.revendas-filter-dd-menu-scroll::-webkit-scrollbar-track {
    background: #121214;
    border-radius: 0 8px 8px 0;
}

.revendas-filter-dd-menu-scroll::-webkit-scrollbar-thumb {
    background: var(--sigma-dd-hover);
    border-radius: 4px;
}

.revenda-recharge-trigger {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0.4rem 2.35rem;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: #1a1d24;
    color: #fff;
    font-size: 0.8125rem;
    line-height: 1.35;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.revenda-recharge-trigger:not(:has(.clients-filter-chevron)) {
    padding-right: 0.65rem;
}

.revenda-recharge-trigger > .fa-regular.fa-calendar,
.revenda-recharge-trigger > .clients-expiry-trigger-ico {
    position: absolute;
    left: 0.65rem;
    top: 50%;
    transform: translateY(-50%);
    margin: 0 !important;
}

.revenda-recharge-trigger > .clients-filter-chevron {
    position: absolute;
    right: 0.6rem;
    top: 50%;
    transform: translateY(-50%);
    margin: 0 !important;
    color: rgba(148, 163, 184, 0.95);
    transition: transform 0.18s ease, color 0.18s ease;
}

.revenda-recharge-trigger .revenda-recharge-trigger-label,
.revenda-recharge-trigger .clients-expiry-trigger-label {
    flex: 1 1 auto;
    min-width: 0;
    text-align: center;
    font-weight: 500;
    letter-spacing: 0.01em;
}

.revenda-recharge-trigger:hover {
    border-color: rgba(59, 130, 246, 0.45);
}

.revenda-recharge-trigger.is-open {
    border-color: rgba(59, 130, 246, 0.85);
    box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.35);
}

.revenda-recharge-trigger.is-open > .clients-filter-chevron,
.revenda-recharge-trigger > .clients-filter-chevron.is-open {
    transform: translateY(-50%) rotate(-180deg);
    color: #60a5fa;
}

.revenda-recharge-popover {
    z-index: 1100;
    width: min(288px, calc(100vw - 1.25rem));
    display: flex;
    flex-direction: column;
    background: #15151b;
    border: 1px solid rgba(59, 130, 246, 0.28);
    border-radius: 10px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.55);
    overflow: visible;
    /* Seta: app.js define --revenda-popover-caret-x (px) ao posicionar o popover; fallback 50% = centro */
}

.revenda-recharge-popover-caret {
    position: absolute;
    top: -7px;
    left: var(--revenda-popover-caret-x, 50%);
    transform: translateX(-50%);
    margin-left: 0;
    width: 0;
    height: 0;
    z-index: 2;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-bottom: 7px solid #15151b;
    filter: drop-shadow(0 -1px 0 rgba(59, 130, 246, 0.2));
    pointer-events: none;
}

.revenda-recharge-popover-body {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    max-height: min(85vh, 620px);
    overflow-y: auto;
    flex: 0 1 auto;
    min-height: 0;
}

.revenda-recharge-presets {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    padding: 0.45rem 0.55rem 0.5rem;
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.revenda-recharge-preset {
    text-align: left;
    padding: 0.4rem 0.6rem;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: rgba(248, 250, 255, 0.92);
    font-size: 0.825rem;
    cursor: pointer;
}

.revenda-recharge-preset:hover {
    background: #2d2d2d;
    color: rgba(248, 250, 255, 0.92);
}

.revenda-recharge-cal {
    flex: 0 0 auto;
    width: 100%;
    max-width: 260px;
    margin: 0 auto;
    padding: 0.4rem 0.55rem 0.5rem;
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.revenda-recharge-cal:last-child {
    border-bottom: none;
}

.revenda-recharge-cal-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
    margin-bottom: 0.45rem;
}

.revenda-recharge-nav-btn {
    width: 1.55rem;
    height: 1.55rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 5px;
    background: rgba(0, 0, 0, 0.2);
    color: rgba(248, 250, 255, 0.85);
    font-size: 0.65rem;
}

.revenda-recharge-nav-btn:hover {
    border-color: rgba(59, 130, 246, 0.45);
    color: #fff;
}

.revenda-recharge-cal-title {
    font-size: 0.76rem;
    font-weight: 600;
    color: #fff;
    text-transform: capitalize;
    flex: 1;
    text-align: center;
    padding: 0 0.25rem;
    line-height: 1.25;
}

.revenda-recharge-weekdays {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
    margin-bottom: 0.25rem;
    padding-bottom: 0.35rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.revenda-recharge-weekdays span {
    font-size: 0.62rem;
    color: rgba(180, 190, 210, 0.75);
    text-align: center;
}

.revenda-recharge-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
}

.revenda-recharge-day {
    aspect-ratio: 1;
    min-height: 1.65rem;
    max-height: 1.85rem;
    padding: 0;
    border: none;
    border-radius: 5px;
    background: transparent;
    color: rgba(248, 250, 255, 0.92);
    font-size: 0.72rem;
    cursor: pointer;
    line-height: 1;
}

.revenda-recharge-day.is-outside {
    color: rgba(255, 255, 255, 0.22);
}

.revenda-recharge-day:hover:not(:disabled) {
    background: rgba(59, 130, 246, 0.15);
}

.revenda-recharge-day.is-today {
    color: #60a5fa;
    font-weight: 700;
}

.revenda-recharge-day.is-in-range {
    background: rgba(59, 130, 246, 0.22);
    color: #fff;
}

.revenda-recharge-day.is-edge,
.revenda-recharge-day.is-anchor {
    background: #2563eb !important;
    color: #fff !important;
    font-weight: 600;
}

@media (max-width: 991.98px) {
    .revenda-recharge-popover {
        width: min(288px, calc(100vw - 1rem));
    }
}

/* Filtro vencimento — clientes: presets + dois meses lado a lado (desktop) */
.clients-expiry-range-popover.revenda-recharge-popover {
    width: min(720px, calc(100vw - 1.25rem));
    overflow: visible;
    border: 1px solid rgba(59, 130, 246, 0.85);
    box-shadow:
        0 0 0 1px rgba(59, 130, 246, 0.35),
        0 20px 50px rgba(0, 0, 0, 0.55);
}
.clients-expiry-range-popover .revenda-recharge-popover-caret {
    border-bottom-color: #15151b;
    filter: drop-shadow(0 -1px 0 rgba(59, 130, 246, 0.85));
}
.clients-expiry-range-popover .revenda-recharge-popover-body {
    flex-direction: row;
    align-items: stretch;
    flex-wrap: nowrap;
    max-height: none;
    overflow: visible;
    overflow-y: visible;
}
.clients-expiry-range-popover .revenda-recharge-presets {
    min-width: 132px;
    max-width: 160px;
    border-right: none;
    border-bottom: none;
    flex-shrink: 0;
}
.clients-expiry-range-popover .revenda-recharge-preset:hover {
    background: #2d2d2d;
    color: rgba(248, 250, 255, 0.92);
}
.clients-expiry-popover-divider {
    flex: 0 0 auto;
    align-self: stretch;
    width: 0;
    margin: 0;
    border: none;
    border-left: 1px solid rgba(255, 255, 255, 0.12);
}
.clients-expiry-range-popover .clients-expiry-calendars-wrap {
    flex: 1 1 auto;
    /* Bootstrap .min-w-0 permitia comprimir até os dois grids se sobreporem */
    min-width: min(100%, 560px) !important;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
    column-gap: 18px;
    row-gap: 0;
    box-sizing: border-box;
}
.clients-expiry-range-popover .clients-expiry-calendars-wrap .revenda-recharge-cal {
    flex: unset;
    max-width: none;
    min-width: 0;
    width: 100%;
    margin: 0;
    border-bottom: none;
    border-right: none;
    padding: 0.55rem 0.5rem 0.6rem;
    box-sizing: border-box;
}
.clients-expiry-range-popover .clients-expiry-calendars-wrap .revenda-recharge-cal:first-child {
    padding-right: 0.65rem;
    border-right: 1px solid rgba(255, 255, 255, 0.12);
}
.clients-expiry-range-popover .clients-expiry-calendars-wrap .revenda-recharge-cal:last-child {
    border-right: none;
    padding-left: 0;
}
.clients-expiry-range-popover .revenda-recharge-cal-title {
    font-size: 0.88rem;
}
.clients-expiry-range-popover .revenda-recharge-weekdays span {
    font-size: 0.76rem;
}
.clients-expiry-range-popover .revenda-recharge-day {
    min-height: 2rem;
    max-height: 2.2rem;
    font-size: 0.9rem;
    border-radius: 6px;
}
.clients-expiry-range-popover .revenda-recharge-nav-btn {
    min-width: 1.72rem;
    min-height: 1.72rem;
    font-size: 0.74rem;
}
.clients-expiry-range-popover .revenda-recharge-grid {
    gap: 3px;
}
.clients-expiry-range-popover .revenda-recharge-weekdays {
    gap: 3px;
}
@media (max-width: 767.98px) {
    .clients-expiry-range-popover.revenda-recharge-popover {
        width: min(340px, calc(100vw - 1rem));
    }
    .clients-expiry-range-popover .revenda-recharge-popover-body {
        flex-direction: column;
    }
    .clients-expiry-range-popover .revenda-recharge-presets {
        max-width: none;
        border-right: none;
        border-bottom: none;
    }
    .clients-expiry-popover-divider {
        width: 100%;
        height: 12px;
        border-left: none;
        border-top: 1px solid rgba(255, 255, 255, 0.12);
        margin: 0.2rem 0 0.1rem;
        align-self: stretch;
        background: linear-gradient(180deg, rgba(37, 99, 235, 0.5) 0, rgba(37, 99, 235, 0) 3px);
        position: relative;
    }
    .clients-expiry-popover-divider::after {
        content: '';
        position: absolute;
        left: 50%;
        top: -1px;
        transform: translateX(-50%);
        width: 0;
        height: 0;
        border-left: 7px solid transparent;
        border-right: 7px solid transparent;
        border-bottom: 7px solid #15151b;
        filter: drop-shadow(0 -1px 0 rgba(255, 255, 255, 0.18));
    }
    .clients-expiry-range-popover .clients-expiry-calendars-wrap {
        grid-template-columns: minmax(0, 1fr);
        column-gap: 0;
        min-width: 0 !important;
    }
    .clients-expiry-range-popover .clients-expiry-calendars-wrap .revenda-recharge-cal:first-child {
        border-right: none;
        padding-right: 0.5rem;
    }
    .clients-expiry-range-popover .clients-expiry-calendars-wrap .revenda-recharge-cal {
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }
    .clients-expiry-range-popover .clients-expiry-calendars-wrap .revenda-recharge-cal:last-child {
        border-bottom: none;
        padding-left: 0.5rem;
    }
}

/* Botão neutro "Limpar filtro" — padrão visual único no painel */
.btn-sigma-clear-filter {
    background: #2c2e33 !important;
    border: none !important;
    box-shadow: none !important;
    color: rgba(255, 255, 255, 0.88) !important;
    font-weight: 600;
    font-size: 0.8125rem;
    border-radius: 8px;
    min-height: 38px;
    padding: 0.375rem 0.9rem;
    box-sizing: border-box;
    gap: 0.35rem;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.btn-sigma-clear-filter:hover {
    background: #35383f !important;
    border: none !important;
    box-shadow: none !important;
    color: #fff !important;
}

.btn-sigma-clear-filter:focus,
.btn-sigma-clear-filter:focus-visible {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.btn-sigma-clear-filter:active {
    border: none !important;
    box-shadow: none !important;
}

.btn-sigma-clear-filter .fa-circle-xmark,
.btn-sigma-clear-filter .fa-xmark {
    opacity: 0.55;
}

.btn-sigma-clear-filter--compact {
    min-height: 32px;
    font-size: 0.8rem;
    padding: 0.25rem 0.75rem;
}

/* Primário / ações — altura, raio e tipo iguais em todo o painel */
.btn-sigma-standard {
    min-height: 38px !important;
    border-radius: 8px !important;
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    padding: 0.4rem 1rem !important;
    line-height: 1.25 !important;
    box-sizing: border-box !important;
}
.btn.btn-primary.btn-sigma-standard {
    border: none !important;
    box-shadow: none !important;
}
.btn.btn-primary.btn-sigma-standard:focus,
.btn.btn-primary.btn-sigma-standard:focus-visible {
    border: none !important;
    box-shadow: none !important;
}
.btn-sigma-standard--tight-y {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.revenda-plus-icon {
    width: 18px;
    height: 18px;
    font-size: 11px;
}

.revendas-pg-text-nav {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    vertical-align: middle;
}

.revendas-pg-text-nav .btn-link {
    font-size: 0.78rem;
    text-decoration: none;
}

.revendas-pg-text-nav .btn-link:hover:not(:disabled) {
    color: #fff !important;
    text-decoration: underline;
}

.revendas-pg-text-nav .btn-link:disabled {
    opacity: 0.35;
    pointer-events: none;
}

/* --- Revendas: tabela estilo referência --- */
.revendas-table-page {
    --rev-pro-blue: #3b82f6;
    --rev-pro-green: #10b981;
    --rev-pro-purple: #8b5cf6;
    --rev-pro-red: #ef4444;
}

.revendas-pagination-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.65rem;
    overflow: visible;
}

.revendas-per-page-dd {
    width: auto;
    min-width: 4.5rem;
}

.revendas-per-page-dd .clients-filter-dd-menu {
    min-width: 100%;
}

.revendas-per-page-select {
    width: auto !important;
    min-width: 4.5rem;
}

.revendas-pagination-center {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
    justify-content: center;
}

.revendas-page-current {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.1rem;
    height: 2.1rem;
    padding: 0 0.5rem;
    border-radius: 6px;
    background: var(--rev-pro-blue);
    color: #fff;
    font-weight: 600;
    font-size: 0.875rem;
}

.revendas-pagination-range {
    font-size: 0.8rem;
    white-space: nowrap;
}

.revendas-table-shell {
    border: none;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.revendas-table-pro th {
    text-transform: uppercase;
    letter-spacing: 0.02em;
    font-size: 0.68rem !important;
    white-space: nowrap;
    text-align: center;
    color: var(--sigma-cal-text-muted, rgba(180, 190, 210, 0.85)) !important;
    font-weight: 600;
}

.revendas-table-pro th.text-end {
    text-align: right;
}

/* Separadores de linha / cabeçalho — tracejados (alinhado à caixa de stats) */
.revendas-table-pro.table-dark-custom th {
    border-bottom: 1px dashed rgba(255, 255, 255, 0.16) !important;
}

.revendas-table-pro.table-dark-custom td {
    border-bottom: 1px dashed rgba(255, 255, 255, 0.14) !important;
}

.revenda-row-pro td {
    vertical-align: middle;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    text-align: center;
    font-size: 0.8125rem;
    color: var(--sigma-cal-text, rgba(248, 250, 255, 0.92));
}

.revenda-row-pro td.revenda-cell-user,
.revenda-row-pro td.revenda-cell-dates {
    text-align: left;
    vertical-align: top;
}

.revenda-row-pro td.revenda-cell-actions {
    text-align: right;
    vertical-align: top;
}

.revenda-row-pro td.revenda-cell-detalhes {
    text-align: left;
    vertical-align: top;
}

.revenda-username {
    color: var(--rev-pro-blue);
    font-weight: 600;
    font-size: 0.8125rem;
}

.revenda-user-badges {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex-wrap: nowrap;
    gap: 0.35rem;
    margin-top: 0.45rem;
}

.revenda-pill {
    display: inline-flex;
    align-items: center;
    font-size: 0.65rem;
    font-weight: 600;
    padding: 0.15rem 0.45rem;
    border-radius: 5px;
    line-height: 1.25;
}

.revenda-pill--master {
    background: rgba(16, 185, 129, 0.18);
    color: #34d399;
    border: 1px solid rgba(16, 185, 129, 0.35);
}

.revenda-pill--profile {
    background: rgba(59, 130, 246, 0.12);
    color: #93c5fd;
    border: 1px solid rgba(59, 130, 246, 0.3);
}

.revenda-pill--2fa-off {
    background: rgba(239, 68, 68, 0.15);
    color: #fca5a5;
    border: 1px solid rgba(239, 68, 68, 0.4);
}

.revenda-pill--2fa-on {
    background: rgba(16, 185, 129, 0.15);
    color: #6ee7b7;
    border: 1px solid rgba(16, 185, 129, 0.35);
}

.revenda-pill--level {
    background: rgba(59, 130, 246, 0.12);
    color: #bfdbfe;
    border: 1px solid rgba(59, 130, 246, 0.35);
}

.revenda-cell-credits {
    font-size: 0.8125rem;
    font-weight: 500;
}

.revenda-cell-dates {
    min-width: 200px;
    max-width: 240px;
    vertical-align: top;
}

.revenda-dates-stack {
    padding-top: 0;
    border-top: none;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.revenda-date-pair {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
}

.revenda-date-label {
    font-size: 0.62rem;
    color: var(--sigma-cal-text-muted, rgba(180, 190, 210, 0.85));
    line-height: 1.25;
}

.revenda-date-value {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--sigma-cal-text, rgba(248, 250, 255, 0.92));
    line-height: 1.3;
}

.revenda-sit-badge {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 600;
    padding: 0.28rem 0.55rem;
    border-radius: 6px;
    border: 1px solid transparent;
}

.revenda-sit--active {
    color: var(--rev-pro-green);
    border-color: rgba(16, 185, 129, 0.55);
    background: rgba(16, 185, 129, 0.1);
}

.revenda-sit--inactive {
    color: #9ca3af;
    border-color: rgba(156, 163, 175, 0.45);
    background: rgba(107, 114, 128, 0.1);
}

.revenda-sit--suspended {
    color: #fbbf24;
    border-color: rgba(251, 191, 36, 0.5);
    background: rgba(251, 191, 36, 0.08);
}

.revenda-cell-email {
    color: var(--sigma-cal-text, rgba(248, 250, 255, 0.92));
    font-size: 0.8125rem;
    max-width: 220px;
    word-break: break-word;
}

.revenda-email-fallback-muted {
    color: var(--sigma-cal-text-muted, rgba(180, 190, 210, 0.85));
}

.revenda-email-fallback-strong {
    color: var(--sigma-cal-text, rgba(248, 250, 255, 0.92));
    font-weight: 700;
}

.revenda-revenda-fallback {
    display: inline-block;
    line-height: 1.35;
}

.revenda-cell-detalhes {
    min-width: 220px;
    max-width: 320px;
    vertical-align: top;
}

.revenda-detalhes-stack {
    padding-top: 0;
    border-top: none;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.45rem;
}

.revenda-detail-name {
    font-weight: 600;
    color: rgba(230, 235, 245, 0.98);
    font-size: 0.88rem;
    margin-bottom: 0;
}

.revenda-detail-mailrow {
    display: block;
    margin-bottom: 0;
}

.revenda-detail-no-email {
    font-size: 0.78rem;
    color: rgba(160, 170, 188, 0.88);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.15rem;
}

.revenda-mail-link {
    color: var(--rev-pro-blue);
    text-decoration: none;
    font-size: 0.8rem;
}

.revenda-mail-link:hover {
    color: #60a5fa;
    text-decoration: underline;
}

.revenda-mail-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    padding: 0;
    border-radius: 8px;
    background: rgba(139, 92, 246, 0.4);
    border: 1px solid rgba(167, 139, 250, 0.65);
    color: #fff;
    font-size: 0.85rem;
}

.revenda-mail-btn:hover {
    background: rgba(139, 92, 246, 0.5);
    color: #fff;
}

.revenda-stats-box {
    border: 1px dashed rgba(255, 255, 255, 0.22);
    border-radius: 8px;
    padding: 0.6rem 0.7rem;
    background: rgba(0, 0, 0, 0.14);
    margin-top: 0.25rem;
}

.revenda-actions-stack {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.45rem;
    width: 100%;
}

.revenda-stats-below-actions {
    width: 100%;
    max-width: 22rem;
    min-width: min(22rem, 100%);
    margin-top: 0;
    text-align: left;
}

.revenda-stats-head {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.25rem 0.35rem;
    margin-bottom: 0.45rem;
    padding-bottom: 0;
    border-bottom: none;
}

.revenda-stats-section {
    display: flex;
    flex-direction: column;
    gap: 0.22rem;
}

.revenda-stats-pair-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.35rem 0.65rem;
    align-items: start;
}

.revenda-stats-pair-row .revenda-stats-line {
    min-width: 0;
}

.revenda-stats-dash-divider {
    height: 0;
    margin: 0.42rem 0;
    border: 0;
    border-top: 1px dashed rgba(255, 255, 255, 0.22);
    opacity: 1;
}

.revenda-stats-brand {
    font-size: 0.88rem;
    font-weight: 700;
    color: #fff;
}

.revenda-stats-head-sparkle {
    font-size: 0.9rem;
    line-height: 1;
    margin-left: 0.08rem;
}

.revenda-stats-singlecol {
    display: flex;
    flex-direction: column;
    gap: 0.14rem;
}

.revenda-stats-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.2rem 0.65rem;
    align-items: start;
}

.revenda-stats-left,
.revenda-stats-right {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    min-width: 0;
}

.revenda-stats-emoji {
    font-size: 1rem;
    line-height: 1;
}

.revenda-stats-line {
    font-size: 0.72rem;
    color: rgba(200, 210, 225, 0.88);
    line-height: 1.45;
}

.revenda-stats-line--strong {
    color: rgba(248, 250, 255, 0.95);
    font-weight: 600;
}

.revenda-stats-val {
    font-weight: 600;
    color: rgba(220, 230, 245, 0.95);
}

.revenda-stats-val--white {
    color: #fff;
}

.revenda-cell-actions {
    min-width: 200px;
}

.revenda-action-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.35rem;
}

.revenda-action-row--bar {
    gap: 0.45rem;
}

.revenda-act {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0 !important;
    border-radius: 6px;
    border: 1px solid transparent;
    font-size: 0.85rem;
}

.revenda-act--edit {
    background: rgba(75, 85, 99, 0.45);
    border-color: rgba(255, 255, 255, 0.12);
    color: #e5e7eb;
}

.revenda-act--edit:hover {
    background: rgba(75, 85, 99, 0.65);
    color: #fff;
}

.revenda-act--info {
    background: rgba(139, 92, 246, 0.28);
    border-color: rgba(139, 92, 246, 0.45);
    color: #ddd6fe;
}

.revenda-act--info:hover {
    background: rgba(139, 92, 246, 0.42);
    color: #fff;
}

.revenda-act--credits {
    background: rgba(16, 185, 129, 0.2);
    border-color: rgba(16, 185, 129, 0.45);
    color: #6ee7b7;
}

.revenda-act--credits:hover {
    background: rgba(16, 185, 129, 0.35);
    color: #fff;
}

.revenda-act--power {
    background: rgba(16, 185, 129, 0.2);
    border-color: rgba(16, 185, 129, 0.45);
    color: #86efac;
}

.revenda-act--power:hover {
    background: rgba(16, 185, 129, 0.35);
    color: #fff;
}

.revenda-act--toggle {
    width: 2rem;
    height: 2rem;
    padding: 0 !important;
    border-radius: 6px;
    border: 1px solid transparent;
    font-size: 1rem;
    line-height: 1;
}

.revenda-act--toggle-on {
    background: linear-gradient(180deg, rgba(34, 197, 94, 0.35) 0%, rgba(22, 163, 74, 0.45) 100%);
    border-color: rgba(74, 222, 128, 0.55);
    color: #bbf7d0;
}

.revenda-act--toggle-on:hover {
    background: linear-gradient(180deg, rgba(34, 197, 94, 0.5) 0%, rgba(22, 163, 74, 0.6) 100%);
    color: #fff;
}

.revenda-act--toggle-off {
    background: rgba(55, 65, 81, 0.5);
    border-color: rgba(255, 255, 255, 0.12);
    color: rgba(209, 213, 219, 0.85);
}

.revenda-act--toggle-off:hover {
    background: rgba(75, 85, 99, 0.55);
    color: #fff;
}

.revenda-act--toggle-suspended {
    background: rgba(245, 158, 11, 0.18);
    border-color: rgba(251, 191, 36, 0.45);
    color: #fcd34d;
}

.revenda-act--toggle-suspended:hover {
    background: rgba(245, 158, 11, 0.28);
    color: #fff;
}

.revenda-act--actions-main {
    width: auto !important;
    min-width: 5.75rem;
    padding: 0 0.7rem !important;
    height: 2rem;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    background: #22252e;
    border: 1px solid rgba(255, 255, 255, 0.28);
    color: #fff !important;
    border-radius: 6px;
}

.revenda-act--actions-main:hover {
    background: #2a2e38;
    border-color: rgba(255, 255, 255, 0.4);
    color: #fff !important;
}

.revenda-act--actions-main.dropdown-toggle::after {
    display: none;
}

/* Tooltip usa ::after; precisa vencer a regra do caret acima e reset do caret Bootstrap */
.revenda-act--actions-main.sigma-action-tip.dropdown-toggle::after {
    display: block;
    margin: 0;
    border: none;
    width: auto;
    height: auto;
    vertical-align: middle;
}

.revenda-act--more {
    width: auto !important;
    min-width: 5.2rem;
    padding: 0 0.55rem !important;
    height: 2rem;
    font-size: 0.72rem;
    font-weight: 700;
    background: var(--rev-pro-blue);
    border: 1px solid rgba(59, 130, 246, 0.85);
    color: #fff !important;
}

.revenda-act--more:hover {
    background: #2563eb;
    color: #fff !important;
}

.revenda-act--more.dropdown-toggle::after {
    display: none;
}

.revenda-actions-dropdown {
    position: relative;
}

.revenda-actions-menu {
    display: none;
    position: relative;
    overflow: visible;
    min-width: 13.75rem;
    padding: 0.45rem 0 0.35rem;
    margin: 0;
    background: #15151b;
    border: 1px solid var(--sigma-dd-edge, #2d2d2d);
    border-radius: 8px;
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.55);
    z-index: 2000;
}

.revenda-actions-menu::before,
.revenda-actions-menu::after {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    pointer-events: none;
}
.revenda-actions-menu::before {
    top: -8px;
    border-bottom: 8px solid var(--sigma-dd-edge, #2d2d2d);
    z-index: 0;
}
.revenda-actions-menu::after {
    top: -6px;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-bottom: 7px solid #15151b;
    z-index: 1;
}

.revenda-actions-divider {
    height: 0;
    margin: 0.28rem 0;
    border: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.55);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04);
    opacity: 1;
}

.revenda-actions-menu.show {
    display: block;
}

.revenda-actions-menu .dropdown-item {
    position: relative;
    z-index: 2;
    width: 100%;
    text-align: left;
    padding: 0.45rem 0.9rem;
    font-size: 0.82rem;
    color: rgba(248, 250, 255, 0.92);
    background: transparent;
    border: none;
    cursor: pointer;
}

.revenda-actions-menu .dropdown-item:hover {
    background: #2d2d2d;
}

.revenda-info-dl dt {
    padding-top: 0.35rem;
    font-weight: 500;
}

.revenda-info-dl dd {
    padding-top: 0.35rem;
    margin-bottom: 0;
}

@media (max-width: 1199.98px) {
    .revenda-action-row {
        justify-content: flex-start;
    }
    .revenda-cell-actions {
        text-align: left !important;
    }
}

/* Modal: Adicionar créditos (revendas) */
.add-credits-backdrop {
    z-index: 12050;
}

.add-credits-modal {
    background: #14151a;
    color: #e8eaef;
    max-width: 420px;
    width: 92%;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    overflow: hidden;
}

.add-credits-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.15rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.add-credits-modal__body {
    padding: 1.1rem 1.15rem 1.25rem;
}

.add-credits-modal__alert {
    border-radius: 6px;
    padding: 0.65rem 0.75rem;
    font-size: 0.82rem;
    line-height: 1.45;
    margin-bottom: 1rem;
}

.add-credits-modal__alert--info {
    border: 1px solid rgba(59, 130, 246, 0.55);
    color: #93c5fd;
    background: rgba(59, 130, 246, 0.08);
}

.add-credits-modal__field-label {
    display: block;
    font-size: 0.88rem;
    font-weight: 600;
    margin-bottom: 0.35rem;
}

.add-credits-stepper {
    display: flex;
    align-items: stretch;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 6px;
    overflow: hidden;
    background: #1e2028;
}

.add-credits-stepper__btn {
    flex: 0 0 2.5rem;
    border: none;
    background: #252830;
    color: #fff;
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
    border-right: 1px solid rgba(255, 255, 255, 0.12);
}

.add-credits-stepper__btn:last-child {
    border-right: none;
    border-left: 1px solid rgba(255, 255, 255, 0.12);
}

.add-credits-stepper__btn:hover {
    background: #323742;
}

.add-credits-stepper__input {
    flex: 1 1 auto;
    min-width: 0;
    border: none;
    background: transparent;
    color: #fff;
    text-align: center;
    font-size: 0.95rem;
    font-weight: 600;
    padding: 0.45rem 0.35rem;
}

.add-credits-stepper__input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
}

.add-credits-stepper__input::-webkit-outer-spin-button,
.add-credits-stepper__input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.add-credits-modal__summary {
    font-size: 0.84rem;
    color: rgba(200, 210, 220, 0.92);
    line-height: 1.5;
}

.add-credits-modal__confirm-box {
    border: 1px solid rgba(234, 179, 8, 0.45);
    border-radius: 6px;
    padding: 0.75rem 0.85rem;
    background: rgba(234, 179, 8, 0.06);
    font-size: 0.84rem;
}

.add-credits-modal__footer {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.6rem;
    padding: 0.85rem 1.15rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(0, 0, 0, 0.18);
}

.add-credits-modal__btn-cancel {
    background: #2d3139;
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #fff;
    font-size: 0.85rem;
    padding: 0.45rem 1rem;
    border-radius: 6px;
}

.add-credits-modal__btn-cancel:hover {
    background: #3a3f49;
    color: #fff;
}

.add-credits-modal__btn-submit {
    background: #2563eb;
    border: 1px solid rgba(96, 165, 250, 0.5);
    color: #fff;
    font-size: 0.85rem;
    font-weight: 600;
    padding: 0.45rem 1rem;
    border-radius: 6px;
}

.add-credits-modal__btn-submit:hover:not(:disabled) {
    background: #1d4ed8;
    color: #fff;
}

.add-credits-modal__btn-submit:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.add-credits-modal .form-check-input {
    margin-top: 0.2rem;
}

/* Menu inicial — Configurações do Sistema (ícones compactos, texto legível) */
.config-system-home-card .config-system-home-icon {
    width: 48px;
    height: 48px;
    margin-bottom: 0.85rem !important;
}
.config-system-home-card .config-system-home-icon > i {
    font-size: 1.2rem;
    line-height: 1;
}
.config-system-home-card .config-system-home-desc {
    color: #b8c5da !important;
    font-size: 0.88rem;
    line-height: 1.5;
    margin-bottom: 0;
    opacity: 1;
}
.config-system-home-card h5 {
    font-size: 1.05rem;
    margin-bottom: 0.5rem;
}

/* ==========================================================================
   STANDARD GRID SYSTEM - SIGMA PREMIUM
   ========================================================================== */

.sigma-grid-panel {
    background: var(--bg-main) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 20px;
    margin-top: 1rem;
    box-shadow: none !important;
}

.main-content .card.shadow-sm {
    box-shadow: none !important;
}

.main-content .card.shadow-lg:not(.reseller-modal):not(.add-credits-modal) {
    box-shadow: none !important;
}

.sigma-filter-container {
    padding: 0;
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: none !important;
    margin-bottom: 24px;
    box-shadow: none !important;
}

/* Planos (Preço): mesmo ritmo dos blocos da dashboard (gap 0.5rem, “card” como .dashboard-card) */
.sigma-grid-panel.sigma-grid-panel--dashboard-rhythm {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 18px;
    background: var(--bg-card) !important;
    border: 1px solid rgba(255, 255, 255, 0.02);
}
.sigma-grid-panel.sigma-grid-panel--dashboard-rhythm .sigma-filter-container {
    margin-bottom: 0;
}
.sigma-grid-panel.sigma-grid-panel--dashboard-rhythm .table-responsive {
    margin-top: 0 !important;
}
.sigma-grid-panel.sigma-grid-panel--dashboard-rhythm .table-premium thead th {
    padding: 14px 16px !important;
}
.sigma-grid-panel.sigma-grid-panel--dashboard-rhythm .table-premium tbody td {
    padding: 18px 16px !important;
}

/* Premium Table - Dark Style */
.table-premium {
    color: #e2e8f0 !important;
    border-collapse: separate;
    border-spacing: 0;
    background: transparent !important;
    --bs-table-bg: transparent !important;
    --bs-table-accent-bg: transparent !important;
    --bs-table-striped-bg: transparent !important;
    --bs-table-hover-bg: rgba(255, 255, 255, 0.02) !important;
    --bs-table-active-bg: transparent !important;
    --bs-table-border-color: rgba(255, 255, 255, 0.1) !important;
}

.table-premium thead,
.table-premium thead tr,
.table-premium thead th {
    background: transparent !important; /* Fix for white header */
    background-color: transparent !important;
}

.table-premium thead th {
    background: transparent !important;
    border-top: none;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.08) !important;
    color: rgba(255, 255, 255, 0.5) !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 12px 15px !important;
}

.table-premium tbody tr {
    background: transparent !important;
    transition: all 0.2s ease;
}

.table-premium tbody tr:hover {
    background: rgba(255, 255, 255, 0.02) !important;
}

.table-premium tbody td {
    padding: 16px 15px !important;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.08) !important;
    background: transparent !important;
}

/* Pacotes de créditos (preço): sem preenchimento escuro nas células; traços tracejados (grid) mantidos */
.table.table-planos-preco.credit-pkg-pricing-table thead th {
    font-size: 0.65rem !important;
    background-color: transparent !important;
    background-image: repeating-linear-gradient(
        90deg,
        var(--planos-grid-line, rgba(255, 255, 255, 0.1)) 0 5px,
        transparent 5px 11px
    ) !important;
    background-size: 11px 1px !important;
    background-repeat: repeat-x !important;
    background-position: 0 100% !important;
}

.table.table-planos-preco.credit-pkg-pricing-table tbody td {
    background-color: transparent !important;
}

.table.table-planos-preco.credit-pkg-pricing-table tbody tr:hover > td {
    background-color: transparent !important;
}

/* Tipografia compacta (créditos / valores) */
.table.table-planos-preco.credit-pkg-pricing-table tbody td.planos-preco-td-num {
    font-size: 0.75rem !important;
    font-weight: 600;
}

.table.table-planos-preco.credit-pkg-pricing-table .credit-pkg-pricing-credits {
    color: var(--primary) !important;
    font-weight: 700 !important;
    font-size: 0.8rem !important;
    font-variant-numeric: tabular-nums;
}

.table-premium tbody tr:last-child td {
    border-bottom: none !important;
}

/* Action Buttons Squares */
.sigma-actions-wrapper {
    display: flex;
    gap: 8px;
}

.btn-sigma-square {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #fff;
    transition: all 0.2s;
    cursor: pointer;
    padding: 0;
}

.btn-sigma-square:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.2);
    transform: translateY(-1px);
}

.btn-sigma-primary {
    background: #2563eb !important;
    border: none !important;
    color: #fff !important;
    font-weight: 600 !important;
    font-size: 0.8125rem !important;
    border-radius: 8px !important;
    min-height: 38px !important;
    padding: 0.4rem 1rem !important;
    line-height: 1.25 !important;
    box-sizing: border-box !important;
    transition: all 0.2s !important;
}

.btn-sigma-primary:hover {
    background: #1d4ed8 !important;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3);
}

/* --- Playlist Modal Styling --- */
.playlist-content-box {
    border: 1px solid rgba(13, 110, 253, 0.4);
    border-radius: 12px;
    padding: 24px;
    background: rgba(13, 110, 253, 0.05);
    font-family: 'Inter', sans-serif;
    font-size: 0.8rem;
    line-height: 1.3;
    color: #e6edf3;
}
.playlist-content-box b {
    color: #58a6ff;
    font-weight: 600;
}
.playlist-content-box .text-primary {
    color: #58a6ff !important;
    text-decoration: none;
}

/* Modal «Detalhes do Cliente» — secções, cópia e tipografia */
.sigma-client-detail-modal .modal-body {
    max-height: min(70vh, 640px);
}
/* Bootstrap .text-muted quase invisível em fundo #15171c — reforçar só neste modal */
.sigma-client-detail-modal .text-muted {
    color: rgba(203, 213, 225, 0.92) !important;
}
.sigma-client-detail-modal .sigma-client-detail-subtitle {
    color: rgba(203, 213, 225, 0.96) !important;
    font-size: 0.8rem;
    line-height: 1.4;
}
.sigma-client-detail-meta {
    color: rgba(226, 232, 240, 0.98);
    font-size: 0.78rem;
    line-height: 1.45;
}
.sigma-client-detail-body {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}
.sigma-client-detail-section {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
}
.sigma-client-detail-section + .sigma-client-detail-section {
    margin-top: 1rem;
}
.sigma-client-detail-section-title {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 700;
    color: #93c5fd;
    margin-bottom: 0.5rem;
    padding-bottom: 0;
    border-bottom: none;
}
.sigma-client-detail-row {
    display: grid;
    grid-template-columns: minmax(108px, 150px) 1fr;
    gap: 0.5rem 0.75rem;
    align-items: start;
    padding: 0.4rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    font-size: 0.82rem;
}
.sigma-client-detail-row:last-child {
    border-bottom: none;
}
.sigma-client-detail-label {
    color: #cbd5e1;
    font-weight: 600;
    font-size: 0.78rem;
    padding-top: 0.15rem;
}
.sigma-client-detail-value-cell {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    color: #f8fafc;
    min-width: 0;
}
.sigma-client-detail-value-cell--password {
    flex-wrap: wrap;
}
.sigma-client-detail-mono {
    font-family: ui-monospace, 'Cascadia Code', 'Consolas', monospace;
    font-size: 0.78rem;
    color: #f8fafc;
    background: rgba(0, 0, 0, 0.28);
    padding: 0.2rem 0.45rem;
    border-radius: 4px;
    word-break: break-all;
}
.sigma-client-detail-url {
    display: block;
    flex: 1 1 100%;
    min-width: 0;
    font-family: ui-monospace, 'Cascadia Code', 'Consolas', monospace;
    font-size: 0.74rem;
    line-height: 1.4;
    color: #bae6fd;
    background: rgba(0, 0, 0, 0.28);
    padding: 0.45rem 0.5rem;
    border-radius: 6px;
    word-break: break-all;
    max-height: 5.5rem;
    overflow-y: auto;
}
.sigma-client-detail-url-row {
    flex-direction: column;
    align-items: stretch;
}
.sigma-client-detail-url-row .sigma-client-detail-copy {
    align-self: flex-end;
}
.sigma-client-detail-copy {
    flex-shrink: 0;
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: rgba(255, 255, 255, 0.06);
    color: #e2e8f0;
    border-radius: 6px;
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.sigma-client-detail-copy:hover:not(:disabled) {
    background: rgba(59, 130, 246, 0.25);
    border-color: rgba(59, 130, 246, 0.5);
    color: #fff;
}
.sigma-client-detail-copy:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}
.sigma-client-detail-link {
    color: #7dd3fc;
    text-decoration: none;
}
.sigma-client-detail-link:hover {
    text-decoration: underline;
    color: #e0f2fe;
}
.sigma-client-detail-notes {
    white-space: pre-wrap;
    word-break: break-word;
    color: rgba(248, 250, 252, 0.98);
    font-size: 0.82rem;
}
.sigma-client-detail-hint {
    line-height: 1.45;
    color: rgba(203, 213, 225, 0.95) !important;
}
@media (max-width: 575.98px) {
    .sigma-client-detail-row {
        grid-template-columns: 1fr;
    }
    .sigma-client-detail-label {
        padding-top: 0;
    }
}
.btn-sq-blue.sigma-action-tip[data-tip="Playlist"] i {
    font-size: 0.9rem;
}

.bg-dark-custom {
    background-color: var(--bg-main) !important;
}

.modal-content.bg-dark-custom {
    background-color: var(--bg-card) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* SESSÕES ATIVAS — 2 colunas por linha (como referência UI) */
.sigma-sessions-active-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
    margin-bottom: 2rem;
    width: 100%;
    box-sizing: border-box;
}

@media (max-width: 767.98px) {
    .sigma-sessions-active-grid {
        grid-template-columns: 1fr;
    }
}

.session-card-premium {
    background: var(--bg-card);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 16px;
    padding: 1.25rem 1.25rem 1rem;
    transition: background 0.2s ease, border-color 0.2s ease;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    box-sizing: border-box;
}

.session-card-premium:hover {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.1);
}

.session-card-premium__body {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    flex: 1 1 auto;
    min-width: 0;
}

.session-card-premium__icon {
    font-size: 3.25rem;
    color: #a0a0a0;
    line-height: 1;
    flex-shrink: 0;
}

.session-card-premium__title {
    font-size: 1.35rem;
}

.session-card-premium__label {
    color: #a0a0a0;
    font-size: 0.85rem;
}

.session-card-premium__value {
    font-size: 0.9rem;
}

.session-card-premium__footer {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-top: 1rem;
    padding-top: 0.75rem;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.session-card-premium__badge-current {
    background: #25252b;
    color: #fff;
    border: 1px solid #35353b;
    font-size: 0.75rem;
    font-weight: 600;
}

.session-card-premium__btn-logout {
    min-width: 6.5rem;
}

.sigma-login-history-wrap {
    margin-top: 2.5rem;
    padding: 1.5rem;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 12px;
    background-color: var(--bg-card);
    scroll-margin-top: 88px;
}
.sigma-login-history-title {
    font-size: 1.15rem;
    letter-spacing: 0.02em;
}

.sigma-login-history-line {
    position: absolute;
    left: 15px;
    top: 0;
    bottom: 0;
    width: 1px;
    background: rgba(255, 255, 255, 0.1);
}

.sigma-login-history-dot {
    position: absolute;
    left: -41px;
    top: 5px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #000;
    border: 2px solid #198754;
    z-index: 2;
}

/* Data e hora do histórico — legível no fundo escuro (evita text-muted do Bootstrap) */
.sigma-login-history-datetime {
    color: rgba(226, 232, 240, 0.98) !important;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.01em;
}

.session-device-icon {
    width: 80px;
    height: 80px;
    background: rgba(110, 168, 254, 0.1);
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
    color: #6ea8fe;
    margin-right: 20px;
}
.session-meta-item {
    margin-bottom: 8px;
    font-size: 0.9rem;
}
.session-meta-item .label {
    color: #888;
    margin-right: 8px;
}
.session-meta-item .val {
    color: #fff;
    font-weight: 500;
}

/* LOGIN HISTORY TIMELINE */
.login-history-timeline {
    position: relative;
    padding-left: 30px;
}
.login-history-timeline::before {
    content: '';
    position: absolute;
    left: 7px;
    top: 5px;
    bottom: 5px;
    width: 2px;
    background: rgba(255, 255, 255, 0.05);
}
.login-timeline-item {
    position: relative;
    margin-bottom: 30px;
}
.timeline-marker {
    position: absolute;
    left: -30px;
    top: 5px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--bg-main);
    border: 3px solid #198754;
    z-index: 2;
}
.timeline-content {
    background: transparent;
}
.timeline-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 8px;
}
.timeline-header .status {
    font-weight: bold;
    font-size: 0.9rem;
    text-transform: uppercase;
}
.timeline-header .date {
    color: #888;
    font-size: 0.85rem;
}
.timeline-body {
    padding-left: 5px;
}
.timeline-body .device {
    color: #fff;
    font-weight: 600;
    font-size: 1rem;
    margin-bottom: 5px;
}
.timeline-body .meta {
    font-size: 0.85rem;
    color: #aaa;
    line-height: 1.6;
}
.timeline-body .meta b {
    color: #eee;
    font-weight: 500;
}

/* SweetAlert2 — toasts discretos (sem halo/brilho forte), texto compacto */
.swal2-container.swal2-top-end {
    padding: 0.75rem !important;
}
.swal2-container {
    background: transparent !important;
}
.swal2-popup.swal2-toast {
    box-shadow: none !important;
    filter: none !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    background: #1e2129 !important;
    padding: 8px 12px !important;
    border-radius: 8px !important;
    min-height: auto !important;
}
.swal2-popup.swal2-toast .swal2-title {
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    color: #e8eaed !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1.35 !important;
}
.swal2-popup.swal2-toast .swal2-html-container {
    font-size: 0.75rem !important;
    font-weight: 400 !important;
    color: #b8c0cc !important;
    padding: 2px 0 0 0 !important;
    margin: 0 !important;
    line-height: 1.35 !important;
}
.swal2-popup.swal2-toast .swal2-icon {
    width: 1.25rem !important;
    height: 1.25rem !important;
    min-width: 1.25rem !important;
    min-height: 1.25rem !important;
    margin: 0 8px 0 0 !important;
    border-width: 2px !important;
}
.swal2-popup.swal2-toast .swal2-success-line-tip,
.swal2-popup.swal2-toast .swal2-success-line-long {
    width: 0.28em !important;
}
.swal2-popup.swal2-toast .swal2-icon .swal2-icon-content {
    font-size: 0.55em !important;
}
.swal2-popup.swal2-toast .swal2-timer-progress-bar {
    background: rgba(13, 110, 253, 0.45) !important;
}

/* Link de indicação — tipografia alinhada ao restante do painel */
.link-indicacao-page .link-indicacao-prose {
    font-size: 0.8125rem;
    line-height: 1.55;
    color: #9aa3b2;
    margin-bottom: 1rem;
}
@media (min-width: 768px) {
    .link-indicacao-page .link-indicacao-prose {
        margin-bottom: 1.25rem;
    }
}
.link-indicacao-page .link-indicacao-prose--body {
    color: #aeb4bf;
}
.link-indicacao-page .link-indicacao-section-title {
    font-size: 0.875rem;
    font-weight: 600;
    color: #e8eaed;
    margin-bottom: 0.75rem;
}
.link-indicacao-page .link-indicacao-tags-label {
    font-size: 0.75rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.55);
    margin-bottom: 0.5rem;
}
.link-indicacao-exclusive {
    background: rgba(255, 193, 7, 0.06) !important;
    border: 1px solid rgba(255, 193, 7, 0.45) !important;
    color: #ffc107 !important;
    font-size: 0.8125rem !important;
    line-height: 1.45 !important;
    padding: 0.65rem 0.85rem !important;
    font-weight: 600;
    margin-bottom: 0;
}
.link-indicacao-url-field {
    font-size: 0.8rem !important;
    border-radius: 10px !important;
}
.link-indicacao-page .form-check-label {
    font-size: 0.8125rem;
}
.link-indicacao-page .form-label {
    font-size: 0.75rem !important;
}

/* Link de indicação (painel) */
.link-indicacao-page .link-indicacao-card {
    background: rgba(255, 255, 255, 0.02) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    border-radius: 12px;
}

/* Tipo de assinatura: sem hover; selecionado em azul fixo (rótulo igual ao rádio) */
.link-indicacao-page .link-indicacao-billing-radios .form-check {
    min-height: 0;
    margin-bottom: 0;
    padding-left: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}
.link-indicacao-page .link-indicacao-billing-radios .form-check-input {
    float: none;
    margin-left: 0;
    margin-top: 0;
    width: 1.05rem;
    height: 1.05rem;
    border: 2px solid rgba(255, 255, 255, 0.38);
    background-color: transparent;
    transition: none;
    cursor: pointer;
}
.link-indicacao-page .link-indicacao-billing-radios .form-check-input:checked {
    background-color: #3b82f6;
    border-color: #3b82f6;
    background-image: radial-gradient(circle, #fff 36%, transparent 37%);
    background-size: 100% 100%;
}
.link-indicacao-page .link-indicacao-billing-radios .form-check-input:focus {
    box-shadow: none;
    border-color: rgba(255, 255, 255, 0.38);
}
.link-indicacao-page .link-indicacao-billing-radios .form-check-input:checked:focus {
    border-color: #3b82f6;
}
.link-indicacao-page .link-indicacao-billing-radios .form-check-input:hover {
    filter: none;
    border-color: rgba(255, 255, 255, 0.38);
}
.link-indicacao-page .link-indicacao-billing-radios .form-check-input:checked:hover {
    background-color: #3b82f6;
    border-color: #3b82f6;
}
.link-indicacao-page .link-indicacao-billing-radios .form-check-label {
    color: rgba(225, 231, 241, 0.88) !important;
    cursor: pointer;
    user-select: none;
    transition: none;
}
.link-indicacao-page .link-indicacao-billing-radios .form-check:has(.form-check-input:checked) .form-check-label {
    color: #3b82f6 !important;
}
.link-indicacao-page .link-indicacao-billing-radios .form-check:hover .form-check-input:not(:checked) {
    border-color: rgba(255, 255, 255, 0.38);
}
.link-indicacao-page .link-indicacao-billing-radios .form-check:hover .form-check-input:checked {
    background-color: #3b82f6;
    border-color: #3b82f6;
}

.link-indicacao-page .link-indicacao-card.revenda-cadastro-card .form-check:hover {
    outline: none !important;
}

/* Remove hover ring deste cartão (select / stepper antigo se existir) */
.link-indicacao-page .link-indicacao-card.revenda-cadastro-card select.revenda-input:hover:not(:focus),
.link-indicacao-page .link-indicacao-card.revenda-cadastro-card textarea.revenda-input:hover:not(:focus) {
    border-color: var(--revenda-field-border, rgba(205, 214, 230, 0.24)) !important;
    box-shadow: none !important;
}
.link-indicacao-page .link-indicacao-card.revenda-cadastro-card .revenda-stepper.d-flex:hover,
.link-indicacao-page .link-indicacao-card.revenda-cadastro-card .revenda-stepper.d-flex:focus-within {
    border-color: var(--revenda-field-border, rgba(205, 214, 230, 0.24)) !important;
    box-shadow: none !important;
}
.link-indicacao-page .link-indicacao-card.revenda-cadastro-card .revenda-stepper:hover .revenda-step-btn:last-child,
.link-indicacao-page .link-indicacao-card.revenda-cadastro-card .revenda-stepper:focus-within .revenda-step-btn:last-child {
    color: rgba(110, 168, 254, 0.85) !important;
}

/* Cadastro por indicação em iframe: barra de endereço mantém #/rs/{token} */
.referral-public-shell {
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    background: #0f1014;
}
.referral-public-iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.link-indicacao-textarea {
    border-radius: 10px !important;
    font-size: 0.8125rem;
    line-height: 1.5;
}
.link-indicacao-tags-row {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 8px;
    margin-left: -2px;
    margin-right: -2px;
    -webkit-overflow-scrolling: touch;
    scrollbar-color: rgba(255, 255, 255, 0.2) transparent;
}
.link-indicacao-tags-row::-webkit-scrollbar {
    height: 6px;
}
.link-indicacao-tags-row::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 3px;
}
.link-indicacao-tags-row .link-indicacao-tag {
    flex: 1 1 0;
    min-width: 148px;
    width: auto;
}
.link-indicacao-tag {
    background: rgba(0, 0, 0, 0.25);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    padding: 10px 12px;
    color: #c8cdd5;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
}
.link-indicacao-tag:hover {
    background: rgba(13, 110, 253, 0.08);
    border-color: rgba(13, 110, 253, 0.35);
}
.link-indicacao-tag-key {
    display: inline-block;
    font-family: ui-monospace, monospace;
    font-size: 0.72rem;
    color: #6ea8fe;
    font-weight: 700;
    margin-bottom: 4px;
}
.link-indicacao-tag-desc {
    display: block;
    font-size: 0.68rem;
    color: #a8b0bd;
    line-height: 1.35;
}
.link-indicacao-tag-ex {
    display: block;
    font-size: 0.68rem;
    color: #c5ccd6;
    margin-top: 5px;
    font-weight: 500;
    opacity: 0.95;
}

/* Cadastro público por indicação */
.referral-signup-page {
    min-height: 100vh;
    background: #0f1014;
    color: #e8e8ed;
    padding: 2rem 1rem 3rem;
    font-family: 'Inter', system-ui, sans-serif;
}
.referral-signup-card {
    max-width: 520px;
    margin: 0 auto;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    padding: 1.75rem;
}
.referral-signup-welcome {
    white-space: pre-wrap;
    font-size: 0.88rem;
    color: #aeb4c0;
    line-height: 1.55;
    margin-bottom: 1.25rem;
}
.referral-signup .form-control {
    background: #16181f;
    border-color: rgba(255, 255, 255, 0.12);
    color: #fff;
    border-radius: 8px;
}
.referral-signup .form-label {
    color: #b8c0cc;
    font-size: 0.85rem;
}
.referral-signup .btn-submit {
    border: none;
    border-radius: 8px;
    min-height: 44px;
    font-weight: 600;
}

/* Cadastro público v2 — layout “Criar uma Conta” */
.referral-signup-page--v2 {
    color-scheme: dark;
    background: #0f1115;
    color: #f4f4f5;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    padding: 2.5rem 1rem 3rem;
    min-height: 100vh;
}
.referral-signup-v2-shell {
    max-width: 460px;
    margin: 0 auto;
}
.referral-signup-v2-brand {
    margin-bottom: 1rem;
}
.referral-signup-v2-logo {
    max-height: 76px;
    max-width: 300px;
    width: auto;
    height: auto;
    object-fit: contain;
    display: inline-block;
    vertical-align: middle;
}
.referral-signup-v2-logo-fallback {
    width: 72px;
    height: 72px;
    margin: 0 auto;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.06);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.6rem;
    color: #fff;
}
.referral-signup-v2-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 0.75rem;
    letter-spacing: -0.02em;
}
.referral-signup-v2-welcome {
    font-size: 0.82rem;
    color: #a1a1aa;
    line-height: 1.5;
    margin: 0 0 0.5rem;
    white-space: pre-wrap;
}
.referral-signup-v2-inviter {
    font-size: 0.78rem;
    color: #71717a;
    margin: 0 0 1.75rem;
}
.referral-signup-v2-inviter strong {
    color: #e4e4e7;
    font-weight: 600;
}
.referral-signup-v2-field {
    margin-bottom: 1.25rem;
}
.referral-signup-v2-label {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    color: #fff;
    margin-bottom: 0.45rem;
}
.referral-signup-v2-input {
    background: #1c1e22 !important;
    border: none !important;
    color: #e4e4e7 !important;
    border-radius: 10px !important;
    padding: 0.5rem 0.85rem;
    font-size: 0.9rem;
    min-height: 42px;
    box-shadow: none !important;
}
.referral-signup-v2-input:focus {
    border: none !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.55) !important;
}
.referral-signup-v2-input::placeholder {
    color: #71717a;
}
.referral-signup-v2-wa-row {
    display: flex;
    gap: 8px;
    align-items: flex-start;
}
.referral-signup-v2-wa-num-col {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}
.referral-signup-v2-ddl--55 {
    flex: 0 0 auto;
    min-width: 4.25rem;
}
.referral-signup-v2-ddl {
    position: relative;
    align-self: flex-start;
}
.referral-signup-v2-ddl-trigger {
    width: 100%;
    height: 100%;
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 0.75rem;
    margin: 0;
    background: #1c1e22;
    border: none;
    border-radius: 10px;
    color: #e4e4e7;
    font-size: 0.9rem;
    font-weight: 700;
    cursor: pointer;
    box-shadow: none;
}
.referral-signup-v2-ddl-value {
    white-space: nowrap;
    letter-spacing: 0.02em;
}
.referral-signup-v2-ddl-trigger:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.55);
}
.referral-signup-v2-ddl.is-open .referral-signup-v2-ddl-trigger {
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.55);
}
.referral-signup-v2-ddl-popover {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    min-width: 100%;
    width: max(100%, 5.5rem);
    background: #14151a;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.55);
    z-index: 100;
    overflow: visible;
}

.referral-signup-v2-ddl-popover::before {
    content: '';
    position: absolute;
    top: -7px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-bottom: 7px solid #14151a;
    filter: drop-shadow(0 -1px 0 rgba(255, 255, 255, 0.07));
    pointer-events: none;
    z-index: 2;
}
.referral-signup-v2-ddl-scroll {
    max-height: 220px;
    margin: 0;
    padding: 0.2rem 0;
    list-style: none;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #5a5a64 #1c1e22;
    border-radius: 10px;
}
.referral-signup-v2-ddl-scroll::-webkit-scrollbar {
    width: 6px;
}
.referral-signup-v2-ddl-scroll::-webkit-scrollbar-track {
    background: #1c1e22;
}
.referral-signup-v2-ddl-scroll::-webkit-scrollbar-thumb {
    background: #5a5a64;
    border-radius: 3px;
}
.referral-signup-v2-ddl-scroll::-webkit-scrollbar-thumb:hover {
    background: #6b6b78;
}
.referral-signup-v2-ddl-scroll::-webkit-scrollbar-button {
    display: none;
    width: 0;
    height: 0;
}
.referral-signup-v2-ddl-scroll::-webkit-scrollbar-corner {
    background: #1c1e22;
}
.referral-signup-v2-ddl-item {
    padding: 0.5rem 0.85rem;
    margin: 0;
    font-size: 0.92rem;
    color: #e4e4e7;
    cursor: pointer;
}
.referral-signup-v2-ddl-item:hover {
    background: #2d2d2d;
    color: #e4e4e7;
}
.referral-signup-v2-ddl-item.is-selected {
    background: rgba(59, 130, 246, 0.28);
    color: #fff;
}
.referral-signup-v2-wa-num {
    width: 100%;
}
.referral-signup-v2-hint-box {
    display: inline-block;
    padding: 0.28rem 0.6rem;
    border-radius: 8px;
    background: #27272f;
    border: none;
    font-size: 0.72rem;
    color: #a1a1aa;
}
.referral-signup-v2-hint-box--wa-num {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin-top: 0;
    text-align: center;
}
.referral-signup-v2-hint {
    font-size: 0.75rem;
    color: #a1a1aa;
    margin: 0.5rem 0 0;
    line-height: 1.4;
}
.referral-signup-v2-strength {
    display: flex;
    gap: 6px;
    margin-top: 0.55rem;
}
.referral-signup-v2-strength-bar {
    flex: 1;
    height: 4px;
    border-radius: 2px;
    background: #3f3f46;
    transition: background 0.15s ease;
}
.referral-signup-v2-strength-bar.is-on {
    background: #3b82f6;
}
.referral-signup-v2-toggle-pwd {
    font-size: 0.78rem;
    color: #3b82f6 !important;
    text-decoration: none !important;
}
.referral-signup-v2-toggle-pwd:hover {
    color: #60a5fa !important;
    text-decoration: underline !important;
}
.referral-signup-v2-submit {
    background: #0d6efd;
    color: #fff !important;
    border-radius: 10px;
    padding: 0.65rem 1.1rem;
    font-size: 0.95rem;
    font-weight: 700;
    min-height: 44px;
    transition: background 0.15s ease, opacity 0.15s ease;
}
.referral-signup-v2-submit:hover:not(:disabled) {
    background: #0b5ed7;
    color: #fff !important;
}
.referral-signup-v2-submit:disabled {
    opacity: 0.75;
}
.referral-signup-v2-link-login {
    color: #71717a;
}
.referral-signup-v2-link-login:hover {
    color: #a175ff;
}
.referral-signup-v2-card {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    padding: 2rem 1.5rem;
}
.referral-signup-v2-success-ico {
    font-size: 2.5rem;
}
.referral-signup-v2-muted {
    color: #a1a1aa;
    font-size: 0.9rem;
}

/* ——— Domínio do painel (guia + configuração) ——— */
.sigma-domain-guide {
    background: #15171c;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 12px;
    padding: 1.35rem 1.5rem 1.5rem;
    margin-bottom: 1.25rem;
}
.sigma-domain-guide__title {
    font-size: 1.05rem;
    font-weight: 700;
    color: #f8fafc;
    margin: 0 0 0.35rem;
    letter-spacing: 0.01em;
}
.sigma-domain-guide__lead {
    font-size: 0.8125rem;
    color: rgba(180, 190, 210, 0.92);
    line-height: 1.55;
    margin: 0 0 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.12);
}
.sigma-domain-guide__ol {
    margin: 0;
    padding: 0 0 0 1.35rem;
    list-style: decimal;
    list-style-position: outside;
}
.sigma-domain-guide__step {
    padding: 0 0 1.1rem 0.5rem;
    border-left: none;
    margin-left: 0;
}
.sigma-domain-guide__step:last-child {
    padding-bottom: 0;
}
.sigma-domain-guide__step h3 {
    font-size: 0.9rem;
    font-weight: 700;
    color: #e8eaef;
    margin: 0 0 0.4rem;
}
.sigma-domain-guide__step p,
.sigma-domain-guide__step li {
    font-size: 0.8125rem;
    color: rgba(200, 210, 225, 0.95);
    line-height: 1.55;
    margin: 0 0 0.35rem;
}
.sigma-domain-guide__step ul {
    margin: 0.35rem 0 0;
    padding-left: 1.1rem;
}
.sigma-domain-guide__step code {
    font-size: 0.78rem;
    color: #93c5fd;
    background: rgba(0, 0, 0, 0.35);
    padding: 0.12rem 0.35rem;
    border-radius: 4px;
}
.sigma-domain-guide__callout {
    margin-top: 0.5rem;
    padding: 0.55rem 0.7rem;
    border-radius: 8px;
    background: rgba(59, 130, 246, 0.1);
    border: 1px solid rgba(59, 130, 246, 0.28);
    font-size: 0.78rem;
    color: rgba(219, 234, 254, 0.95);
    line-height: 1.45;
}
.sigma-domain-guide__warn {
    margin-top: 0.5rem;
    padding: 0.55rem 0.7rem;
    border-radius: 8px;
    background: rgba(251, 191, 36, 0.08);
    border: 1px solid rgba(251, 191, 36, 0.35);
    font-size: 0.78rem;
    color: #fde68a;
    line-height: 1.45;
}

/* ——— Integrações (pixel-ref: separadores azuis, grelha 4 col, cartões #1a1d23) ——— */
.sigma-integracoes-page {
    width: 100%;
    max-width: 100%;
    font-family: Inter, system-ui, -apple-system, Segoe UI, sans-serif;
}

.sigma-int-tabs {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.1rem;
    margin-bottom: 0;
}
.sigma-int-tab {
    border: none;
    background: transparent;
    color: #6e7681;
    font-size: 0.8125rem;
    font-weight: 600;
    padding: 0.55rem 1rem 0.8rem;
    position: relative;
    transition: color 0.15s ease, background 0.15s ease;
    border-radius: 8px 8px 0 0;
    letter-spacing: 0.01em;
}
.sigma-int-tab:hover {
    color: #c9d1d9;
    background: rgba(255, 255, 255, 0.03);
}
.sigma-int-tab.is-active {
    color: #0d6efd;
}
.sigma-int-tab.is-active::after {
    content: "";
    position: absolute;
    left: 0.4rem;
    right: 0.4rem;
    bottom: 0;
    height: 3px;
    background: #0d6efd;
    border-radius: 3px 3px 0 0;
}
.sigma-int-tab-num {
    margin-left: 0.3rem;
    font-weight: 700;
    color: inherit;
}
.sigma-int-tab-badge {
    display: inline-block;
    margin-left: 0.35rem;
    font-size: 0.6rem;
    font-weight: 700;
    line-height: 1.2;
    padding: 0.18rem 0.48rem;
    border-radius: 999px;
    background: rgba(110, 118, 129, 0.25);
    color: #8b949e;
}
.sigma-int-tab.is-active .sigma-int-tab-badge {
    background: rgba(13, 110, 253, 0.22);
    color: #79b8ff;
}
.sigma-int-tabs-rule {
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    margin: 0 0 1.25rem;
    opacity: 1;
}

/* Grelha / painel: pesquisa + filtros no mesmo bloco */
.sigma-int-filters-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    gap: 0.75rem;
    padding: 1rem 1.125rem;
    margin-bottom: 1.65rem;
    background: #14151a;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 12px;
    box-sizing: border-box;
}
.sigma-int-filters-grid .sigma-int-search-wrap {
    margin-bottom: 0;
}
.sigma-int-filters-grid .sigma-int-pills {
    margin-bottom: 0;
}

.sigma-int-search-wrap {
    position: relative;
}
.sigma-int-search-icon {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #9ea3ae;
    font-size: 0.78rem;
    pointer-events: none;
}
.sigma-int-search-input {
    width: 100%;
    box-sizing: border-box;
    min-height: 44px;
    padding: 0.55rem 1rem 0.55rem 2.5rem;
    font-size: 0.8125rem;
    line-height: 1.35;
    color: #f0f6fc;
    background: #1a1b23;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 12px;
    outline: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.sigma-int-search-input::placeholder {
    color: #9ea3ae;
    opacity: 1;
}
.sigma-int-search-input:focus {
    border-color: rgba(13, 110, 253, 0.5);
    box-shadow: 0 0 0 2px rgba(13, 110, 253, 0.18);
}

.sigma-int-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
/* Ref. 2: inactivos = mesmo fundo que a pesquisa; texto azul; activo = azul sólido + branco */
.sigma-int-pill {
    border-radius: 10px;
    padding: 0.45rem 1.2rem;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.25;
    border: 1px solid rgba(255, 255, 255, 0.06);
    background: #1a1b23;
    color: #0d6efd;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.sigma-int-pill:hover {
    background: #22252e;
    color: #3d8bfd;
    border-color: rgba(255, 255, 255, 0.09);
}
.sigma-int-pill.is-active {
    background: #0d6efd;
    border-color: #0d6efd;
    color: #fff;
}

.sigma-int-section {
    margin-bottom: 2rem;
}
.sigma-int-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
}
.sigma-int-section-title {
    font-size: 1.0625rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
    letter-spacing: -0.01em;
    line-height: 1.25;
}
.sigma-int-section-count {
    flex-shrink: 0;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #e6edf3;
    background: rgba(255, 255, 255, 0.1);
    padding: 0.22rem 0.52rem;
    border-radius: 999px;
    min-width: 1.35rem;
    text-align: center;
    line-height: 1.3;
}
.sigma-int-section-rule {
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    margin: 0 0 1.1rem;
    opacity: 1;
}

.sigma-int-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.9rem;
    width: 100%;
    box-sizing: border-box;
}
@media (max-width: 1199.98px) {
    .sigma-int-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 575.98px) {
    .sigma-int-grid {
        grid-template-columns: 1fr;
    }
}

.sigma-int-card {
    box-sizing: border-box;
    background: #121214;
    border: 1px solid #1d1d20;
    border-radius: 14px;
    padding: 1.2rem 1.35rem 1.05rem;
    display: flex;
    flex-direction: column;
    gap: 0.48rem;
    min-height: 138px;
    transition: border-color 0.15s ease, background 0.15s ease;
}
.sigma-int-card:hover {
    border-color: #2a2a2e;
    background: #161618;
}
.sigma-int-card__top {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: start;
    gap: 0.48rem;
}
.sigma-int-card__icon-wrap {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    background: #18181b;
    display: flex;
    align-items: center;
    justify-content: center;
}
.sigma-int-card__icon {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    padding: 2px;
}
.sigma-int-card__name {
    font-size: 0.9375rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
    line-height: 1.18;
    letter-spacing: -0.01em;
    word-break: break-word;
}
/* «Suporte»: estado normal (imagem 1 — texto/link claros + pontilhado); hover azul (imagem 2) */
.sigma-int-card__support {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    font-size: 0.7rem;
    font-weight: 600;
    color: #e4e4e7 !important;
    text-decoration: none !important;
    white-space: nowrap;
    line-height: 1.15;
    padding: 0 0 2px !important;
    border-bottom: 1px dotted currentColor;
    box-decoration-break: clone;
    transition: color 0.15s ease, border-color 0.15s ease;
}
.sigma-int-card__support:hover {
    color: #2563eb !important;
    border-bottom-color: currentColor;
    border-bottom-style: dotted;
}
.sigma-int-card__support:focus-visible {
    color: #2563eb !important;
    border-bottom-color: currentColor;
    outline: 2px solid rgba(37, 99, 235, 0.35);
    outline-offset: 2px;
}
.sigma-int-card__support-ico {
    font-size: 0.55rem;
    opacity: 1;
    color: inherit;
}
.sigma-int-card__bottom {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.4rem;
    flex-wrap: wrap;
}
.sigma-int-card__cat {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 500;
    color: #71717a;
    line-height: 1.18;
    background: #18181b;
    border-radius: 6px;
    padding: 0.22rem 0.55rem;
}
.sigma-int-card__btn-ativar {
    border: none;
    border-radius: 8px;
    background: #006fee;
    color: #fff !important;
    font-weight: 600;
    font-size: 0.8125rem;
    padding: 0.3rem 0.95rem;
    line-height: 1.15;
    transition: background 0.15s ease;
}
.sigma-int-card__btn-ativar:hover {
    background: #0056c7;
    color: #fff !important;
}
.sigma-int-card__ativas-actions {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.sigma-int-card__btn-config {
    border-radius: 8px;
    background: rgba(13, 110, 253, 0.15);
    color: #79b8ff !important;
    border: 1px solid rgba(13, 110, 253, 0.4);
    font-weight: 600;
    font-size: 0.78rem;
    padding: 0.35rem 0.75rem;
}
.sigma-int-card__btn-config:hover {
    background: rgba(13, 110, 253, 0.28);
    color: #cfe4ff !important;
}
.sigma-int-card__btn-off {
    font-size: 0.78rem;
    font-weight: 600;
    color: #f85149 !important;
    text-decoration: none !important;
}
.sigma-int-card__btn-off:hover {
    color: #ff7b72 !important;
}

.sigma-int-config-panel {
    padding: 1.5rem;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    background: #16181d;
}

/* ——— Integrações: aba Configurações (preferências forma de pagamento) ——— */
/* Painel em grelha: todo o bloco de preferências */
.sigma-int-config-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    gap: 1.25rem;
    padding: 1.125rem 1.25rem;
    margin-bottom: 1.25rem;
    background: #14151a;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 12px;
    box-sizing: border-box;
}
.sigma-int-config {
    width: 100%;
    max-width: 100%;
    padding: 0;
}
.sigma-int-config-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem 1.5rem;
    margin-bottom: 0;
}
.sigma-int-config-head__titles {
    flex: 1 1 280px;
    min-width: 0;
}
.sigma-int-config-title {
    font-size: 1.35rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 0.4rem;
    letter-spacing: -0.02em;
    line-height: 1.25;
}
.sigma-int-config-sub {
    font-size: 0.8125rem;
    color: #8b949e;
    margin: 0;
    line-height: 1.45;
    max-width: 44rem;
}
.sigma-int-config-save {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border: none;
    border-radius: 8px;
    background: #0d6efd;
    color: #fff !important;
    font-weight: 600;
    font-size: 0.875rem;
    padding: 0.55rem 1.15rem;
    line-height: 1.25;
    cursor: pointer;
    transition: background 0.15s ease;
}
.sigma-int-config-save:hover {
    background: #0b5ed7;
    color: #fff !important;
}
.sigma-int-config-save i {
    font-size: 0.95rem;
    opacity: 0.95;
}
.sigma-int-config-form {
    margin-bottom: 0;
}
.sigma-int-config-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem 1.75rem;
    margin-bottom: 1.25rem;
    align-items: start;
}
@media (max-width: 767.98px) {
    .sigma-int-config-row {
        grid-template-columns: 1fr;
    }
}
.sigma-int-config-row--tail {
    margin-bottom: 0;
}
.sigma-int-config-field--filler {
    display: none;
}
@media (min-width: 768px) {
    .sigma-int-config-field--filler {
        display: block;
        visibility: hidden;
        pointer-events: none;
        min-height: 1px;
    }
}
.sigma-int-config-label {
    display: block;
    font-size: 0.75rem;
    font-weight: 500;
    color: #8b949e;
    margin: 0 0 0.4rem;
    line-height: 1.35;
}
.sigma-int-config-control {
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: #1a1d23;
    box-sizing: border-box;
}
.sigma-int-config-control--money {
    display: flex;
    align-items: center;
    min-height: 44px;
    overflow: hidden;
}
.sigma-int-config-money-prefix {
    flex-shrink: 0;
    padding: 0 0 0 0.9rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: #c9d1d9;
}
.sigma-int-config-input {
    width: 100%;
    box-sizing: border-box;
    min-height: 44px;
    padding: 0.5rem 0.85rem;
    font-size: 0.875rem;
    line-height: 1.35;
    color: #f0f6fc;
    background: transparent;
    border: none;
    outline: none;
}
.sigma-int-config-input--money {
    min-height: 42px;
    padding-left: 0.35rem;
}
.sigma-int-config-input:focus {
    outline: none;
}
.sigma-int-config-control:focus-within {
    border-color: rgba(13, 110, 253, 0.45);
    box-shadow: 0 0 0 2px rgba(13, 110, 253, 0.12);
}
.sigma-int-config-select {
    width: 100%;
    box-sizing: border-box;
    min-height: 44px;
    padding: 0.5rem 2.25rem 0.5rem 0.85rem;
    font-size: 0.875rem;
    line-height: 1.35;
    color: #f0f6fc;
    background-color: #1a1d23;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    outline: none;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%238b949e' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.sigma-int-config-select:hover {
    border-color: rgba(255, 255, 255, 0.14);
}
.sigma-int-config-select:focus {
    border-color: rgba(13, 110, 253, 0.45);
    box-shadow: 0 0 0 2px rgba(13, 110, 253, 0.12);
}
.sigma-int-config-info {
    font-size: 0.8125rem;
    line-height: 1.5;
    color: #58a6ff;
    background: rgba(13, 110, 253, 0.09);
    border: 1px solid rgba(13, 110, 253, 0.45);
    border-radius: 8px;
    padding: 0.85rem 1rem;
    margin: 0;
}
.sigma-int-config-sidebar-hint {
    font-size: 0.8125rem;
    line-height: 1.5;
    color: #8b949e;
    margin: 0;
    padding-top: 0.15rem;
}
.sigma-int-config-identidade {
    background: #1a1d23;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 10px;
    padding: 1rem 1.1rem;
    margin-bottom: 0;
}
.sigma-int-config-identidade__label {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin: 0;
    cursor: pointer;
}
.sigma-int-config-identidade__label.is-disabled {
    cursor: not-allowed;
    opacity: 0.85;
}
.sigma-int-config-checkbox {
    width: 1.05rem;
    height: 1.05rem;
    margin: 0.2rem 0 0;
    flex-shrink: 0;
    accent-color: #0d6efd;
    cursor: pointer;
}
.sigma-int-config-checkbox:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}
.sigma-int-config-identidade__text {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 0;
}
.sigma-int-config-identidade__title {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    color: #f0f6fc;
    line-height: 1.35;
}
.sigma-int-config-identidade__desc {
    display: block;
    font-size: 0.75rem;
    color: #8b949e;
    line-height: 1.45;
}
.sigma-int-config-alert {
    font-size: 0.8125rem;
    line-height: 1.45;
    color: #d4a72c;
    background: rgba(212, 167, 44, 0.08);
    border: 1px solid rgba(212, 167, 44, 0.45);
    border-radius: 8px;
    padding: 0.75rem 1rem;
}

/* ——— Integrações: painel lateral «Ativar» (desliza da direita) ——— */
.sigma-int-activate-drawer-root {
    position: fixed;
    inset: 0;
    z-index: 1080;
    pointer-events: none;
}
.sigma-int-activate-drawer-backdrop {
    pointer-events: auto;
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.52);
    animation: sigmaIntActivateBackdropIn 0.28s ease forwards;
}
@keyframes sigmaIntActivateBackdropIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
.sigma-int-activate-drawer-panel {
    pointer-events: auto;
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: min(100vw, 440px);
    max-width: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    background: #121318;
    border-left: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: -12px 0 40px rgba(0, 0, 0, 0.45);
    animation: sigmaIntActivateDrawerSlide 0.32s cubic-bezier(0.4, 0, 0.2, 1) forwards;
    font-family: Inter, system-ui, -apple-system, Segoe UI, sans-serif;
}
@keyframes sigmaIntActivateDrawerSlide {
    from {
        transform: translateX(100%);
    }
    to {
        transform: translateX(0);
    }
}
.sigma-int-activate-drawer-head {
    flex-shrink: 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1.15rem 1.15rem 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.sigma-int-activate-drawer-head__main {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    min-width: 0;
}
.sigma-int-activate-drawer-icon-wrap {
    width: 44px;
    height: 44px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    background: #0d0f12;
    display: flex;
    align-items: center;
    justify-content: center;
}
.sigma-int-activate-drawer-icon {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    padding: 3px;
}
.sigma-int-activate-drawer-head__text {
    min-width: 0;
}
.sigma-int-activate-drawer-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 0.4rem;
    line-height: 1.25;
    letter-spacing: -0.02em;
}
.sigma-int-activate-drawer-badge {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #c9d1d9;
    background: rgba(110, 118, 129, 0.28);
    padding: 0.2rem 0.5rem;
    border-radius: 6px;
    line-height: 1.2;
}
.sigma-int-activate-drawer-close {
    flex-shrink: 0;
    border: none;
    background: transparent;
    color: #8b949e;
    width: 2.25rem;
    height: 2.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    cursor: pointer;
    transition: color 0.15s ease, background 0.15s ease;
}
.sigma-int-activate-drawer-close:hover {
    color: #f0f6fc;
    background: rgba(255, 255, 255, 0.06);
}
.sigma-int-activate-drawer-body {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 1.15rem 1.15rem 1.35rem;
    display: flex;
    flex-direction: column;
    gap: 1.15rem;
}
.sigma-int-activate-drawer-instructions {
    font-size: 0.8125rem;
    line-height: 1.5;
    color: #58a6ff;
    background: rgba(13, 110, 253, 0.1);
    border: 1px solid rgba(13, 110, 253, 0.48);
    border-radius: 8px;
    padding: 0.85rem 1rem;
}
.sigma-int-activate-drawer-instructions--muted {
    color: #8b949e;
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.1);
}
.sigma-int-activate-drawer-instructions-list {
    margin: 0;
    padding-left: 1.15rem;
}
.sigma-int-activate-drawer-instructions-list li + li {
    margin-top: 0.5rem;
}
.sigma-int-activate-drawer-instructions strong {
    font-weight: 700;
    color: #79b8ff;
}
.sigma-int-activate-drawer-instructions--muted strong {
    color: #c9d1d9;
}
.sigma-int-activate-drawer-placeholder {
    font-size: 0.8125rem;
    line-height: 1.5;
}
.sigma-int-activate-drawer-lead {
    font-size: 0.8125rem;
    line-height: 1.5;
    margin: 0;
}
.sigma-int-activate-drawer-field {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}
.sigma-int-activate-drawer-label {
    font-size: 0.75rem;
    font-weight: 500;
    color: #8b949e;
    margin: 0;
}
.sigma-int-activate-drawer-input {
    width: 100%;
    box-sizing: border-box;
    min-height: 44px;
    padding: 0.55rem 0.85rem;
    font-size: 0.875rem;
    line-height: 1.35;
    color: #f0f6fc;
    background: #1a1d23;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    outline: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.sigma-int-activate-drawer-input::placeholder {
    color: #6e7681;
}
.sigma-int-activate-drawer-input:focus {
    border-color: rgba(13, 110, 253, 0.45);
    box-shadow: 0 0 0 2px rgba(13, 110, 253, 0.12);
}
.sigma-int-activate-drawer-actions {
    flex-shrink: 0;
    margin-top: 0.35rem;
    padding-top: 1.1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.sigma-int-activate-drawer-actions .sigma-int-activate-drawer-submit {
    width: auto;
}
.sigma-int-activate-drawer-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border: none;
    border-radius: 8px;
    background: #0d6efd;
    color: #fff !important;
    font-weight: 600;
    font-size: 0.875rem;
    padding: 0.55rem 1.15rem;
    line-height: 1.25;
    cursor: pointer;
    transition: background 0.15s ease;
}
.sigma-int-activate-drawer-submit:hover {
    background: #0b5ed7;
    color: #fff !important;
}
.sigma-int-activate-drawer-warn {
    font-size: 0.8125rem;
    line-height: 1.45;
    color: #d4a72c;
    background: rgba(212, 167, 44, 0.08);
    border: 1px solid rgba(212, 167, 44, 0.5);
    border-radius: 8px;
    padding: 0.75rem 0.85rem;
    margin-bottom: 0.85rem;
}
.sigma-int-activate-drawer-linkbtn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 0.85rem;
    padding: 0.55rem 1rem;
    border-radius: 8px;
    border: none;
    background: #0d6efd;
    color: #fff !important;
    font-weight: 600;
    font-size: 0.875rem;
    line-height: 1.25;
    text-decoration: none !important;
    cursor: pointer;
    transition: background 0.15s ease;
}
.sigma-int-activate-drawer-linkbtn:hover {
    background: #0b5ed7;
    color: #fff !important;
}
.sigma-int-activate-drawer-inline-link {
    color: #79b8ff !important;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.sigma-int-activate-drawer-inline-link:hover {
    color: #a5d6ff !important;
}
.sigma-int-activate-drawer-instructions-list em {
    font-style: italic;
    color: #79b8ff;
}
.sigma-int-activate-drawer-checkrow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.35rem 0;
}
.sigma-int-activate-drawer-checklabel {
    font-size: 0.875rem;
    font-weight: 500;
    color: #f0f6fc;
    margin: 0;
    cursor: pointer;
}
.sigma-int-activate-drawer-check {
    width: 1.1rem;
    height: 1.1rem;
    flex-shrink: 0;
    accent-color: #0d6efd;
    cursor: pointer;
}

/* BotBot — painel ativação */
.sigma-int-activate-drawer-instructions--botbot .sigma-int-activate-drawer-instructions-list {
    margin-bottom: 0.35rem;
}
.sigma-int-activate-drawer-botbot-heading {
    font-size: 0.875rem;
    font-weight: 700;
    color: #79b8ff;
    margin: 0 0 0.45rem;
    line-height: 1.35;
}
.sigma-int-activate-drawer-botbot-steps {
    margin: 0.65rem 0 0;
    padding-left: 1.2rem;
    color: #58a6ff;
    font-size: 0.8125rem;
    line-height: 1.45;
}
.sigma-int-activate-drawer-botbot-steps > li + li {
    margin-top: 0.75rem;
}
.sigma-int-activate-drawer-botbot-step-title {
    display: block;
    color: #79b8ff;
    margin-bottom: 0.35rem;
    font-weight: 500;
}
.sigma-int-activate-drawer-stepbtn {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    width: 100%;
    box-sizing: border-box;
    margin-top: 0.15rem;
    padding: 0.45rem 0.65rem;
    border-radius: 8px;
    background: #0d6efd;
    color: #fff !important;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none !important;
    word-break: break-all;
    transition: background 0.15s ease;
}
.sigma-int-activate-drawer-stepbtn:hover {
    background: #0b5ed7;
    color: #fff !important;
}
.sigma-int-activate-drawer-stepbtn i {
    flex-shrink: 0;
    font-size: 0.7rem;
    opacity: 0.95;
}

/* Barra de estado offline / fila de sincronização */
.sigma-offline-bar {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.55rem 1rem;
    background: rgba(234, 179, 8, 0.14);
    border-bottom: 1px solid rgba(234, 179, 8, 0.35);
    color: #fde68a;
    font-size: 0.82rem;
    line-height: 1.45;
    z-index: 10050;
}
.sigma-offline-bar .fa-solid {
    margin-top: 0.12rem;
    flex-shrink: 0;
    opacity: 0.95;
}

/* Modal Renovar (cliente) */
.sigma-renew-dialog {
    max-width: 460px;
}
.sigma-renew-modal-content {
    background: linear-gradient(180deg, #1a1c22 0%, #14151a 100%);
    color: #fff;
    border-radius: 12px;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.55);
}
.sigma-renew-select {
    background-color: #121318;
    border: 1px solid rgba(255, 255, 255, 0.14);
    color: #fff;
    border-radius: 8px;
    font-size: 0.875rem;
}
.sigma-renew-select:focus {
    border-color: rgba(13, 110, 253, 0.65);
    box-shadow: 0 0 0 0.15rem rgba(13, 110, 253, 0.22);
}
.sigma-renew-stepper {
    display: flex;
    align-items: stretch;
    gap: 0;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.1);
}
.sigma-renew-stepper-btn {
    flex: 0 0 40px;
    border: none;
    background: #2a2d38;
    color: rgba(255, 255, 255, 0.35);
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1;
    cursor: not-allowed;
}
.sigma-renew-stepper-input {
    flex: 1;
    border: none;
    border-radius: 0 !important;
    background: #1c1e26 !important;
    color: rgba(255, 255, 255, 0.45) !important;
    text-align: center;
    font-weight: 600;
    opacity: 1 !important;
}
.sigma-renew-warning {
    border: 1px solid rgba(234, 179, 8, 0.7);
    color: #fcd34d;
    border-radius: 8px;
    padding: 0.5rem 0.75rem;
    font-size: 0.8rem;
    line-height: 1.4;
    background: rgba(234, 179, 8, 0.06);
}
.sigma-renew-credit-panel {
    border: 2px solid rgba(13, 110, 253, 0.65);
    border-radius: 10px;
    padding: 0.85rem 1rem 1rem;
    background: rgba(13, 110, 253, 0.04);
}
.sigma-renew-credit-summary {
    font-size: 0.875rem;
    line-height: 1.45;
    color: #58a6ff;
}
.sigma-renew-credit-summary strong {
    color: #79b8ff;
}
.sigma-renew-credit-detail {
    margin-top: 0.85rem;
    padding: 0.65rem 0.75rem;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.28);
}
.sigma-renew-credit-detail-title {
    color: rgba(255, 255, 255, 0.52);
    font-size: 0.8rem;
    margin-bottom: 0.65rem;
    font-weight: 500;
}
.sigma-renew-detail-block {
    font-size: 0.8rem;
}
.sigma-renew-detail-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.75rem;
    margin-bottom: 0.35rem;
}
.sigma-renew-detail-line {
    margin-bottom: 0.35rem;
}
.sigma-renew-detail-sub {
    margin-top: 0.15rem;
    display: block;
}
.sigma-renew-text-blue {
    color: #58a6ff;
}
.sigma-renew-text-warn {
    color: #fcd34d;
}
.sigma-renew-detail-sep {
    border-color: rgba(255, 255, 255, 0.12);
    opacity: 1;
}
.sigma-renew-btn-cancel {
    background: #3a3f4c;
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #fff;
    font-weight: 600;
    border-radius: 8px;
    padding: 0.55rem 1rem;
}
.sigma-renew-btn-cancel:hover {
    background: #454a59ad;
    color: #fff;
}
.sigma-renew-btn-submit {
    background: #0d6efd;
    border: none;
    color: #fff;
    font-weight: 600;
    border-radius: 8px;
    padding: 0.55rem 1rem;
}
.sigma-renew-btn-submit:hover:not(:disabled) {
    background: #0b5ed7;
    color: #fff;
}
.sigma-renew-btn-submit:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

/* Modal Migrar Servidor (cliente) */
.sigma-migrate-dialog {
    max-width: 620px;
}
.sigma-migrate-modal-content {
    background: linear-gradient(180deg, #1a1c22 0%, #14151a 100%);
    color: #fff;
    border-radius: 12px;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.55);
}
.sigma-migrate-hint {
    border: 1px solid rgba(13, 110, 253, 0.65);
    border-radius: 10px;
    padding: 0.65rem 0.85rem;
    font-size: 0.81rem;
    line-height: 1.45;
    color: #79b8ff;
    background: rgba(13, 110, 253, 0.06);
}
.sigma-migrate-field-label {
    display: block;
    color: #fff;
    font-size: 0.82rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}
.sigma-migrate-options {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.sigma-migrate-option {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    margin: 0;
    padding: 0.65rem 0.85rem;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: #121318;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.sigma-migrate-option:hover {
    border-color: rgba(255, 255, 255, 0.2);
    background: #16181f;
}
.sigma-migrate-option--active {
    border-color: rgba(13, 110, 253, 0.85);
    box-shadow: 0 0 0 1px rgba(13, 110, 253, 0.35);
    background: rgba(13, 110, 253, 0.08);
}
.sigma-migrate-radio {
    margin-top: 0.2rem;
    flex-shrink: 0;
    width: 1rem;
    height: 1rem;
    cursor: pointer;
    accent-color: #0d6efd;
}
.sigma-migrate-option-text {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
    flex: 1;
}
.sigma-migrate-option-title {
    font-size: 0.88rem;
    font-weight: 600;
    color: #f0f3f8;
    line-height: 1.35;
}
.sigma-migrate-option-meta {
    font-size: 0.76rem;
    color: rgba(255, 255, 255, 0.45);
}
.sigma-migrate-btn-cancel {
    background: #3a3f4c;
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #fff;
    font-weight: 600;
    border-radius: 8px;
    padding: 0.55rem 1rem;
}
.sigma-migrate-btn-cancel:hover {
    background: #454a59ad;
    color: #fff;
}
.sigma-migrate-btn-submit {
    background: #0d6efd;
    border: none;
    color: #fff;
    font-weight: 600;
    border-radius: 8px;
    padding: 0.55rem 1rem;
}
.sigma-migrate-btn-submit:hover:not(:disabled) {
    background: #0b5ed7;
    color: #fff;
}
.sigma-migrate-btn-submit:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

/* Modal Alterar Conexões */
.sigma-alter-conn-dialog {
    max-width: 460px;
}
.sigma-alter-conn-modal-content {
    background: linear-gradient(180deg, #1a1c22 0%, #14151a 100%);
    color: #fff;
    border-radius: 12px;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.55);
}
.sigma-alter-conn-select {
    background-color: #121318;
    border: 1px solid rgba(255, 255, 255, 0.14);
    color: #fff;
    border-radius: 8px;
    font-size: 0.875rem;
}
.sigma-alter-conn-select:focus {
    border-color: rgba(13, 110, 253, 0.65);
    box-shadow: 0 0 0 0.15rem rgba(13, 110, 253, 0.22);
}
.sigma-alter-conn-package-notice {
    border: 1px solid rgba(234, 179, 8, 0.55);
    border-radius: 8px;
    padding: 0.6rem 0.75rem;
    font-size: 0.8rem;
    line-height: 1.45;
    color: #fcd34d;
    background: rgba(234, 179, 8, 0.08);
}
.sigma-change-plan-hint {
    border: 1px solid rgba(13, 110, 253, 0.45);
    border-radius: 8px;
    padding: 0.6rem 0.75rem;
    font-size: 0.85rem;
    line-height: 1.45;
    color: #6ea8fe;
    background: rgba(13, 110, 253, 0.08);
}
.sigma-alter-conn-warn {
    border: 1px solid rgba(234, 179, 8, 0.7);
    color: #fcd34d;
    border-radius: 8px;
    padding: 0.5rem 0.75rem;
    font-size: 0.8rem;
    line-height: 1.4;
    background: rgba(234, 179, 8, 0.06);
}
.sigma-alter-conn-credit-panel {
    border: 2px solid rgba(13, 110, 253, 0.65);
    border-radius: 10px;
    padding: 0.85rem 1rem 1rem;
    background: rgba(13, 110, 253, 0.04);
}
.sigma-alter-conn-credit-summary {
    font-size: 0.875rem;
    line-height: 1.45;
    color: #58a6ff;
}
.sigma-alter-conn-credit-summary strong {
    color: #79b8ff;
}
.sigma-alter-conn-btn-cancel {
    background: #3a3f4c;
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #fff;
    font-weight: 600;
    border-radius: 8px;
    padding: 0.55rem 1rem;
}
.sigma-alter-conn-btn-cancel:hover {
    background: #454a59ad;
    color: #fff;
}
.sigma-alter-conn-btn-submit {
    background: #0d6efd;
    border: none;
    color: #fff;
    font-weight: 600;
    border-radius: 8px;
    padding: 0.55rem 1rem;
}
.sigma-alter-conn-btn-submit:hover:not(:disabled) {
    background: #0b5ed7;
    color: #fff;
}
.sigma-alter-conn-btn-submit:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}
.sigma-alter-conn-modal-content .sigma-renew-stepper-btn:not(:disabled) {
    background: #2e3545;
    color: #fff;
    cursor: pointer;
}
.sigma-alter-conn-modal-content .sigma-renew-stepper-btn:not(:disabled):hover {
    background: #3d4659;
    color: #fff;
}

/* Modal Renovar em Confiança */
.sigma-trust-renew-dialog {
    max-width: 420px;
}
.sigma-trust-renew-content {
    background: #121214;
    color: #fff;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.55);
}
.sigma-trust-renew-header {
    padding: 1rem 1.25rem 0.85rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}
.sigma-trust-renew-body {
    padding: 1rem 1.25rem;
    max-height: min(260px, 48vh);
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.25) transparent;
}
.sigma-trust-renew-body::-webkit-scrollbar {
    width: 6px;
}
.sigma-trust-renew-body::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.22);
    border-radius: 4px;
}
.sigma-trust-renew-text {
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.92);
}
.sigma-trust-renew-footer {
    padding: 0.9rem 1.25rem 1.1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    justify-content: flex-end;
}
.sigma-trust-renew-btn-cancel {
    background: #3a3f4c;
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #fff;
    font-weight: 600;
    border-radius: 8px;
    padding: 0.5rem 1rem;
}
.sigma-trust-renew-btn-cancel:hover {
    background: #454a59;
    color: #fff;
}
.sigma-trust-renew-btn-submit {
    background: #0d6efd;
    border: none;
    color: #fff;
    font-weight: 600;
    border-radius: 8px;
    padding: 0.5rem 1rem;
}
.sigma-trust-renew-btn-submit:hover:not(:disabled) {
    background: #0b5ed7;
    color: #fff;
}
.sigma-trust-renew-btn-submit:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

/* Página Baixar — Detalhes (servidor / plano) */
.sigma-baixar-detalhes-page {
    max-width: 560px;
    margin: 0 auto;
}
.sigma-baixar-detalhes-title {
    font-size: 1.05rem;
    font-weight: 700;
    color: #58a6ff;
    padding-bottom: 0.35rem;
    border-bottom: 2px solid rgba(88, 166, 255, 0.85);
    display: inline-block;
    margin-bottom: 1rem !important;
}
.sigma-baixar-detalhes-card {
    background: #16161a;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 1.35rem 1.5rem 1.5rem;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
}
.sigma-baixar-detalhes-label {
    display: block;
    color: #fff;
    font-size: 0.88rem;
    font-weight: 600;
    margin-bottom: 0.45rem;
}
.sigma-baixar-detalhes-select {
    background-color: #121318;
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.88);
    border-radius: 8px;
    font-size: 0.875rem;
}
.sigma-baixar-detalhes-select:focus {
    border-color: rgba(13, 110, 253, 0.65);
    box-shadow: 0 0 0 0.15rem rgba(13, 110, 253, 0.2);
}
.sigma-baixar-detalhes-select option {
    background: #121318;
    color: #fff;
}
.sigma-baixar-detalhes-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
}
.sigma-baixar-detalhes-btn-cancel {
    background: #3a3f4c;
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #fff;
    font-weight: 600;
    border-radius: 8px;
    padding: 0.55rem 1.35rem;
    min-width: 120px;
}
.sigma-baixar-detalhes-btn-cancel:hover {
    background: #454a59;
    color: #fff;
}
.sigma-baixar-detalhes-btn-save {
    background: #0d6efd;
    border: none;
    color: #fff;
    font-weight: 600;
    border-radius: 8px;
    padding: 0.55rem 1.35rem;
    min-width: 120px;
}
.sigma-baixar-detalhes-btn-save:hover:not(:disabled) {
    background: #0b5ed7;
    color: #fff;
}
.sigma-baixar-detalhes-btn-save:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}
.sigma-baixar-detalhes-check .form-check-label {
    color: rgba(255, 255, 255, 0.75);
    font-size: 0.82rem;
    cursor: pointer;
}
.sigma-baixar-detalhes-check .form-check-input {
    cursor: pointer;
}

/* Modal Lembrete de Renovação (BotBot) */
.sigma-renewal-reminder-dialog {
    max-width: 640px;
}
.sigma-renewal-reminder-content {
    background: linear-gradient(180deg, #1a1c22 0%, #14151a 100%);
    color: #fff;
    border-radius: 12px;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.55);
}
.sigma-renewal-reminder-header {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding: 1rem 1.25rem 0.85rem;
}
.sigma-renewal-reminder-body {
    padding: 0.75rem 1.25rem 0.5rem;
}
.sigma-renewal-reminder-info {
    border: 1px solid rgba(13, 110, 253, 0.55);
    border-radius: 10px;
    padding: 0.65rem 0.85rem;
    font-size: 0.82rem;
    line-height: 1.45;
    color: #79b8ff;
    background: rgba(13, 110, 253, 0.06);
}
.sigma-renewal-reminder-link {
    color: #93c5fd;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.sigma-renewal-reminder-link:hover {
    color: #bfdbfe;
}
.sigma-renewal-reminder-textarea {
    background: #121318;
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.92);
    border-radius: 10px;
    font-size: 0.85rem;
    line-height: 1.45;
    resize: vertical;
    min-height: 280px;
}
.sigma-renewal-reminder-textarea:focus {
    border-color: rgba(13, 110, 253, 0.65);
    box-shadow: 0 0 0 0.15rem rgba(13, 110, 253, 0.2);
    color: #fff;
}
.sigma-renewal-reminder-footer {
    padding: 0 1.25rem 1.25rem;
}
.sigma-renewal-reminder-btn-cancel {
    background: #3a3f4c;
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #fff;
    font-weight: 600;
    border-radius: 8px;
    padding: 0.55rem 1.25rem;
    min-width: 120px;
}
.sigma-renewal-reminder-btn-cancel:hover {
    background: #454a59;
    color: #fff;
}
.sigma-renewal-reminder-btn-send {
    background: #0d6efd;
    border: none;
    color: #fff;
    font-weight: 600;
    border-radius: 8px;
    padding: 0.55rem 1.25rem;
    min-width: 120px;
}
.sigma-renewal-reminder-btn-send:hover:not(:disabled) {
    background: #0b5ed7;
    color: #fff;
}
.sigma-renewal-reminder-btn-send:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}
