


.btn-subscriptions {
    padding: 6px 12px;
    border-color: #4a5568 !important;
    color: #cbd5e0 !important;
    background: rgba(74, 85, 104, 0.3);
    border: solid 1px;
    font-size: 0.75rem !important;
    font-weight: 500;
    text-transform: uppercase;
    transition: all 0.2s ease !important;
    letter-spacing: 0.3px;
    opacity: 0.3;
}

.btn-subscriptions.active {
    /* border-color: #3182ce !important; */
    background: #f0b90bc7;
    color: black !important;
    opacity: 1 !important;
    /* font-weight: 600; */
    /* box-shadow: 0 2px 4px rgb(254 204 0 / 20%);*/
}
.btn-subscriptions:hover {
    opacity: 1;
}
.btn-subscriptions.active:hover {
    background: #f0b90b !important;
    color: #050505 !important;
    box-shadow: 0px 1px 6px 0px rgb(254 204 0 / 50%);
}

/* ConfiguraÃ§Ãµes Premium - Bordas Arredondadas */
.premium-settings-container {
    border-radius: 8px;
}

.premium-settings-header {
    border-radius: 8px;
}

.premium-status-badge {
    border-radius: 6px;
}

.text-body {
   color: var(--bs-card-bg) !important; 
}
 
.spinner-border.text-warning {
    --bs-spinner-color: var(--shop-accent);
}

.editor-icon-box {
    background: radial-gradient(circle, rgba(139, 92, 246, 0.4) 0%, rgba(139, 92, 246, 0) 70%);
    border-radius: 50%; /* Torna o brilho circular em vez de quadrado */
    padding: 20px;
}
.fixedWidth130Button {
    width: 130px !important;
}
.fixedWidth140Button {
    width: 140px !important;
}
.fixedWidth170Button {
    width: 170px !important;
}
.toolbar-left {
    display: flex;
    width: 100%;
    gap: 6px;
    flex-wrap: wrap;
}

.toolbar-left .btn-square-outline,
.toolbar-left .btn-control {
    flex: 0 0 auto;
    width: 100px;
    height: 36px;
    padding: 0 12px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;

    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    white-space: nowrap;
    
    /* ConfiguraÃ§Ã£o de Borda e Fundo */
    border-width: 1px;
    border-style: solid;
}

@media (max-width: 992px) {
    .toolbar-left {
        flex-wrap: wrap;
    }
    .toolbar-left .btn-square-outline {
        min-width: 45%;
    }
}

.btn-default-amber {
    background: var(--text-gray-dark) !important;
    border-color: rgba(240, 185, 11, 0.5) !important;
    color: rgba(240, 185, 11, 0.8) !important;
    transition: all 0.3s ease, opacity 0.3s ease !important;
}

.btn-default-amber:hover {
    background: var(--accent-hover) !important;
    border-color: rgba(240, 185, 11, 0.7) !important;
    color: var(--accent-text) !important;
}

.btn-default-amber.active {
    background: #F0B90B !important; /* Amber */
    border-color: #F0B90B !important;
    color: var(--accent-text) !important;
}



.green-outline-btn {
    color: oklch(79.2% .209 151.711) !important;
    background-color: color-mix(in oklab, oklch(79.2% .209 151.711) 5%, transparent) !important;
    border-color: color-mix(in oklab, oklch(79.2% .209 151.711) 50%, transparent) !important;
}
.green-outline-btn:hover {
    background-color: color-mix(in oklab, oklch(76.5% .177 163.223) 15%, transparent) !important;
    color: oklch(79.2% .209 151.711) !important;
}

.add-server-button {
    cursor: default;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 16px;
    background: #363940;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 0;
    color: #D1D5DB;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-decoration: none;
    width: 100%;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;

}

.add-server-button:hover {
    background: color-mix(in oklab, #363940 90%, white);
    color: #FFFFFF;
    border-color: rgba(255, 255, 255, 0.15);
}

/* 3. EFEITO DE CLIQUE (ACTIVE) */
.add-server-button:active {
    filter: brightness(0.9);
}

.btn-square-outline.active svg,
#navbar-favorites-toggle.active svg {
    filter: none;
}



/* 5. ESTADO DESABILITADO (MUTED) */
.btn-square-outline.muted,
.transparent-button.muted,
.btn-control.muted,
.disabled-state {
    opacity: 0.25 !important;
    cursor: not-allowed !important;
    pointer-events: none;
}

.btn-square-outline svg,
.transparent-button svg,
.btn-control svg {
    width: 14px;
    height: 14px;
    stroke-width: 2;
    transition: all 0.2s ease;
    opacity: 0.8;
}

.btn-control i {
    font-size: 13px;
    transition: all 0.2s ease;
    opacity: 0.8;
}

.btn-square-outline:hover svg,
.btn-control:hover svg {
    transform: none;
    opacity: 1;
}

.btn-control:hover i {
    opacity: 1;
}

.btn-control.active svg,
.btn-control.active i {
    opacity: 1;
}


/* ============================================================================
   LIVE DATA DOT (Estilo Radar)
   ============================================================================ */

.status-pulse-icon {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin-right: 6px;
    vertical-align: middle;
    position: relative;
    /* Removemos o background-color daqui para definir nas subclasses */
}

/* --- ONLINE (Verde) --- */
.status-pulse-icon.online {
    background-color: var(--status-up, #0ECB81);
    box-shadow: 0 0 0 0 rgba(14, 203, 129, 0.7);
    animation: pulse-green-radar 2s infinite cubic-bezier(0.66, 0, 0, 1);
}

/* --- OFFLINE (Vermelho) --- */
.status-pulse-icon.offline {
    background-color: var(--status-down, #F6465D);
    box-shadow: 0 0 0 0 rgba(246, 70, 93, 0.7);
    animation: pulse-red-radar 2s infinite cubic-bezier(0.66, 0, 0, 1);
}

/* --- ANIMAÃ‡Ã•ES --- */
@keyframes pulse-green-radar {
    0% {
        box-shadow: 0 0 0 0 rgba(14, 203, 129, 0.7);
    }
    70% {
        box-shadow: 0 0 0 6px rgba(14, 203, 129, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(14, 203, 129, 0);
    }
}
@keyframes pulse-red-radar {
    0% {
        box-shadow: 0 0 0 0 rgba(246, 70, 93, 0.7);
    }
    70% {
        box-shadow: 0 0 0 6px rgba(246, 70, 93, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(246, 70, 93, 0);
    }
}
@keyframes pulse-yellow-radar {
    0% {
        box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.7);
    }
    70% {
        box-shadow: 0 0 0 6px rgba(245, 158, 11, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(245, 158, 11, 0);
    }
}

/* Garante que o Ã­cone de check fique visÃ­vel e alinhado */
.check-indicator {
    color: var(--tibialist-cyan);
}


/* Apenas em telas grandes (lg) */
@media (min-width: 992px) {
    .menu-col-divider {
        border-right: 1px solid var(--border-color-light);
        
        /* Ajuste fino: garante que o conteÃºdo nÃ£o cole na linha.
           O Bootstrap jÃ¡ dÃ¡ padding por causa do 'g-4', mas isso reforÃ§a visualmente */
        padding-right: calc(var(--bs-gutter-x) * 0.5 + 15px) !important; 
    }

    /* Ajusta a coluna SEGUINTE para dar espaÃ§o da linha */
    .menu-col-divider + div[class^="col-"] {
         padding-left: calc(var(--bs-gutter-x) * 0.5 + 15px) !important;
    }
}

/* Limita a altura da lista e customiza a barra de rolagem */
#location-list-options {
    max-height: 60vh; /* Ocupa no mÃ¡ximo 60% da altura da tela */
    overflow-y: auto; /* Habilita rolagem */
    padding-right: 5px; /* EspaÃ§o para nÃ£o colar na barra */
}

/* Cores Muted (Itens anteriores) */
.icon-muted {
    color: #64748B; /* Cinza slate */
    font-size: 0.9rem;
}

.label-muted {
    color: #94A3B8;
}

/* Separador elegante */
.separator {
    color: #475569; /* Cinza escuro para o separador */
    font-size: 0.65rem;
    margin: 0 8px;
}

/* Item Ativo (Destaque Ciano da Screenshot 56) */
.icon-active, .label-active {
    color: #00E5FF !important; /* Azul Cyan da marca */
    gap: 6px;
    display: flex;
    align-items: center;
    font-weight: 700;
}
.icon-muted, .label-muted {
    color: #94A3B8; /* Slate gray para profundidade */
}
.black-bg {
    background: color-mix(in oklab, var(--bg-body) 68%, transparent);
}

.hightech-input {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    background: var(--text-gray-dark) !important; /* var(--bg-body) */
    border: 1px solid var(--border-color) !important;
    padding: 5px 0px 0px 8px;
    transition: all 0.2s ease;
    /* Sombra interna para parecer que estÃ¡ "afundado" no painel */
    box-shadow: inset 0 3px 6px rgba(0,0,0,0.8) !important;    
    border-radius: 0px !important; /* Um pouco mais quadrado = mais tech */
    overflow: hidden; /* Garante que o input nÃ£o vase as bordas */
}

/* Estilo para o label dentro do flex container */
.hightech-input .auth-label {
    color: var(--text-secondary);
    white-space: nowrap;
    padding-right: 12px;
    font-weight: 500;
    font-size: 0.9rem;
    margin-bottom: 0; /* Reset bootstrap label margin */
}

.hightech-input:focus-within {
    border-color: var(--accent-primary) !important; /* #FCD535 */
    /*box-shadow: 0 0 0 1px var(--accent-primary) !important;*/
    background: rgba(252, 213, 53, 0.05);
    box-shadow: 
        inset 0 0 8px rgba(252, 213, 53, 0.2), 
        0 0 10px rgba(252, 213, 53, 0.5),
        0 0 20px rgba(252, 213, 53, 0.2);
}
.hightech-input:focus-within {
    color: var(--accent-primary) !important; /* Emerald */
}
.hightech-input:focus-within svg {
    stroke: var(--accent-primary) !important;
}
.hightech-input:focus {
    border-color: var(--accent-color) !important;
}

/* Aplica o estilo transparente tanto para INPUT quanto para TEXTAREA */
input,
textarea {
    background: transparent;
    /*border: none !important;*/            /* Remove a borda padrÃ£o */
    outline: none !important;           /* Remove o outline azul */
    box-shadow: none !important;        /* Remove sombras */
    
    color: var(--accent-white) !important; /* Cor do texto */
    width: 100%;                        /* Largura total */
    
    /* Fontes: Textareas as vezes usam Courier por padrÃ£o, isso forÃ§a a fonte do site */
    font-family: inherit; 
    font-size: 0.9rem;
}
 

input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus, 
input:-webkit-autofill:active,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 30px var(--bg-body) inset !important; 
    
    /* Garante que o texto fique branco */
    -webkit-text-fill-color: var(--accent-white) !important;
    caret-color: var(--accent-white);
    
    /*border-radius: 8px !important; */
    transition: background-color 5000s ease-in-out 0s;
}

.input-wrapper-ticket input:-webkit-autofill, .input-wrapper-ticket input:-webkit-autofill:hover, .input-wrapper-ticket input:-webkit-autofill:focus, .input-wrapper-ticket input:-webkit-autofill:active, .input-wrapper-ticket textarea:-webkit-autofill, .input-wrapper-ticket textarea:-webkit-autofill:hover, .input-wrapper-ticket textarea:-webkit-autofill:focus, .input-wrapper-ticket select:-webkit-autofill, .input-wrapper-ticket select:-webkit-autofill:hover, .input-wrapper-ticket select:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 30px var(--bg-body) inset !important;
}
/* Ajuste para alinhar lista e chat horizontalmente */
.ticket-layout-wrapper {
    display: flex;
    height: 500px; /* Altura fixa para permitir scroll interno */
    background: rgba(0,0,0,0.2);
    border-radius: 8px;
    overflow: hidden;
}

.ticket-list-col {
    width: 350px; /* Largura fixa para a lista lateral */
    border-right: 1px solid rgba(255,255,255,0.1);
    display: flex;
    flex-direction: column;
    background: rgba(255,255,255,0.02);
}

.ticket-chat-col {
    flex: 1; /* O chat ocupa todo o resto do espaÃ§o */
    display: flex;
    flex-direction: column;
    background: transparent;
}

/* Garante que a lista tenha scroll se crescer muito */
.ticket-list-scroll {
    flex: 1;
    overflow-y: auto;
}
/* Estilo para o ticket selecionado na lista lateral */
.ticket-list-scroll .list-group-item.active {
    background-color: rgba(252, 213, 53, 0.1) !important; /* Amarelo bem suave */
    border-left: 3px solid #FCD535 !important; /* Barra lateral amarela */
    color: #fff !important;
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}

/* Ajuste das cores de texto quando ativo para nÃ£o ficarem cinzas */
.ticket-list-scroll .list-group-item.active h6,
.ticket-list-scroll .list-group-item.active small {
    color: #fff !important;
}

/* Hover simples para os tickets nÃ£o selecionados */
.ticket-list-scroll .list-group-item:hover:not(.active) {
    background-color: rgba(255, 255, 255, 0.05) !important;
}
#chatMessages {
    padding: 20px;
    background-image: url('https://www.transparenttextures.com/patterns/carbon-fibre.png'); /* Opcional: textura leve */
}

.bg-primary {
    background-color: #005c4b !important; /* Estilo WhatsApp Dark */
    border-radius: 15px 15px 0 15px !important;
    margin-left: 20%;
}
 
.ticket-trigger.active {
    background-color: rgba(252, 213, 53, 0.1) !important;
    border-left: 3px solid #FCD535 !important;
}


/* BotÃ£o de limpar texto (X) */
.clear-text-btn {
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: var(--text-secondary);
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    z-index: 20;
    transition: color 0.2s;
}

.clear-text-btn:hover {
    color: var(--accent-white);
}
 

@keyframes slideInRight {
    from { transform: translateX(100%); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}

/*controls start*/


/* --- RATE CONTROL (INTELLIGENT BUTTONS) --- */
.rate-control-row {
    display: grid;
    grid-template-columns: 40px 1fr 20px 1fr;
    align-items: center;
    gap: 6px;
    margin-bottom: 12px;
}

.rate-label {
    font-size: 0.7rem;
    color: rgba(0, 229, 255, 0.7);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rate-sep {
    text-align: center;
    color: rgba(255, 255, 255, 0.3);
    font-weight: 600;
    font-size: 0.75rem;
}

.rate-control-group {
    display: flex;
    align-items: stretch;
    background: rgba(0, 229, 255, 0.03);
    border: 1px solid rgba(0, 229, 255, 0.15);
    border-radius: 0px;
    overflow: hidden;
    transition: all 0.2s ease;
}

.rate-control-group:hover {
    border-color: rgba(0, 229, 255, 0.3);
    background: rgba(0, 229, 255, 0.05);
}

.rate-btn {
    width: 28px;
    height: 32px;
    border: none;
    background: rgba(0, 229, 255, 0.08);
    color: rgba(0, 229, 255, 0.7);
    font-size: 0.7rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: default;
    transition: all 0.2s ease;
    border-radius: 0px;
    flex-shrink: 0;
}

.rate-btn svg {
    width: 12px;
    height: 12px;
    stroke: currentColor;
    stroke-width: 2.5;
}

.rate-btn:hover {
    background: rgba(0, 229, 255, 0.15);
    color: rgba(0, 229, 255, 0.95);
}

.rate-btn:active {
    background: rgba(0, 229, 255, 0.2);
    transform: scale(0.95);
}

.rate-btn.minus {
    border-right: 1px solid rgba(0, 229, 255, 0.1);
}

.rate-btn.plus {
    border-left: 1px solid rgba(0, 229, 255, 0.1);
}

.rate-input {
    flex: 1;
    min-width: 0;
    border: none;
    background: transparent;
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.75rem;
    font-weight: 600;
    text-align: center;
    padding: 0 8px;
    height: 32px;
    appearance: textfield;
    -moz-appearance: textfield;
}

.rate-input::placeholder {
    color: rgba(255, 255, 255, 0.25);
    font-weight: 400;
}

.rate-input:focus {
    outline: none;
    color: rgba(0, 229, 255, 0.95);
}

.rate-input::-webkit-outer-spin-button,
.rate-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.rate-control-wrapper {
    display: flex;
    align-items: stretch; /* Garante altura igual para todos */
    width: 100%;
    position: relative;
}

.rate-control-wrapper .port-btn,
.rate-control-wrapper .rate-input {
    background-color: transparent;
    border: 1px solid var(--border-color, #333); /* Borda PadrÃ£o */
    color: var(--text-primary, #fff);
    transition: border-color 0.2s ease, color 0.2s ease;
    height: 38px; /* Altura fixa para alinhar */
    display: flex;
    align-items: center;
    justify-content: center;
}

.rate-control-wrapper .port-btn.minus {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    border-right: none; /* Remove borda dupla com o input */
    width: 30px; /* Largura fixa para o botÃ£o */
}

/* --- INPUT DO MEIO --- */
.rate-control-wrapper .rate-input {
    border-radius: 0 !important;
    text-align: center;
    width: 100%;
    outline: none;
    /* Input mantÃ©m suas bordas laterais para garantir o visual, 
       mas o botÃ£o cobre a borda duplicada visualmente */
}

/* --- BOTÃƒO DIREITO (PLUS) --- */
.rate-control-wrapper .port-btn.plus {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-left: none; /* Remove borda dupla com o input */
    width: 30px;
}

/* --- EFEITOS DE HOVER E FOCO (Sincronizados) --- */

/* Quando passar o mouse no GRUPO todo, pinta as bordas de amarelo */
.rate-control-wrapper:hover .port-btn,
.rate-control-wrapper:hover .rate-input {
    border-color: var(--accent-hover, #FCD535);
    color: var(--accent-hover, #FCD535); /* Opcional: Pinta o Ã­cone/texto tambÃ©m */
}

/* Quando o input estÃ¡ focado (clicado) */
.rate-control-wrapper .rate-input:focus {
    border-color: var(--accent-hover, #FCD535);
    z-index: 2; /* Traz para frente */
    /* Recria a borda esquerda/direita visualmente se necessÃ¡rio */
    box-shadow: 0 0 0 1px var(--accent-hover, #FCD535); 
}

.rate-sep { text-align: center; color: var(--text-secondary); font-weight: bold; }

/* --- CUSTOM DROPDOWNS --- */
.custom-dropdown-wrapper {
    position: relative;
}

.custom-dropdown-trigger {
    width: 100%;
    background: rgba(0, 229, 255, 0.03);
    border: 1px solid rgba(0, 229, 255, 0.15);
    border-radius: 0px;
    color: rgba(255, 255, 255, 0.7);
    font-weight: 600;
    padding: 10px 12px;
    font-size: 0.75rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: default;
    text-align: left;
    transition: all 0.2s ease;
}

.custom-dropdown-trigger:hover {
    background: rgba(0, 229, 255, 0.08);
    border-color: rgba(0, 229, 255, 0.3);
    color: rgba(255, 255, 255, 0.9);
}

.custom-dropdown-trigger.active {
    border-color: rgba(0, 229, 255, 0.5);
    background: rgba(0, 229, 255, 0.12);
}

.custom-dropdown-trigger svg {
    color: rgba(0, 229, 255, 0.6);
    transition: transform 0.2s ease;
}

.custom-dropdown-trigger.active svg {
    transform: rotate(180deg);
}

.custom-dropdown-menu {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    width: 100%;
    max-height: 220px;
    overflow-y: auto;
    background: rgba(15, 20, 28, 0.98);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(0, 229, 255, 0.2);
    border-radius: 0px;
    z-index: 1000;
    display: none;
    box-shadow: 
        0 8px 24px rgba(0, 0, 0, 0.6),
        inset 0 1px 0 rgba(0, 229, 255, 0.1);
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 229, 255, 0.3) transparent;
}

.custom-dropdown-menu::-webkit-scrollbar {
    width: 6px;
}

.custom-dropdown-menu::-webkit-scrollbar-track {
    background: transparent;
}

.custom-dropdown-menu::-webkit-scrollbar-thumb {
    background: rgba(0, 229, 255, 0.2);
    border-radius: 0px;
}

.custom-dropdown-menu.show { display: block; }

.custom-option {
    padding: 10px 12px;
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.6);
    cursor: default;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: all 0.15s ease;
    border-bottom: 1px solid rgba(255, 255, 255, 0.02);
}

.custom-option:hover {
    background: rgba(0, 229, 255, 0.08);
    color: rgba(255, 255, 255, 0.95);
    padding-left: 16px;
}

.custom-option.selected {
    color: rgba(0, 229, 255, 0.95);
    font-weight: 700;
    background: rgba(0, 229, 255, 0.08);
    border-left: 3px solid rgba(0, 229, 255, 0.8);
    padding-left: 9px;
}

/*controls end*/

.restricted-access-card {
    border: 1px solid rgba(252, 213, 53, 0.3);
    border-radius: var(--radius-big, 20px);
    padding: 40px 30px;
    text-align: center;
    position: relative;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
}

/* Efeito de brilho no topo */
.restricted-access-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, #FCD535, transparent);
    opacity: 0.8;
}

/* Container do Ãcone Neon */
.neon-lock-wrapper {
    display: flex;
    justify-content: center;
    margin-bottom: 25px;
}

.neon-lock-svg {
    width: 64px;
    height: 64px;
    fill: none;
    stroke: #FCD535; /* Cor Neon Principal */
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    filter: drop-shadow(0 0 10px rgba(252, 213, 53, 0.6)); /* O Brilho Neon */
    animation: pulse-neon 3s infinite alternate;
}

@keyframes pulse-neon {
    from { filter: drop-shadow(0 0 5px rgba(252, 213, 53, 0.4)); }
    to { filter: drop-shadow(0 0 15px rgba(252, 213, 53, 0.8)); }
}

.restricted-title {
    color: #fff;
    font-weight: 700;
    font-size: 1.5rem;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Layout da Frase + BotÃ£o */
.action-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap; /* Garante responsividade em telas muito pequenas */
}

.restricted-text {
    color: #b7bdc6;
    font-size: 1rem;
    margin: 0;
}
.menu-icon-wrapper {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.03);
    margin-right: 16px;
    transition: all 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.neon-svg {
    width: 22px;
    height: 22px;
    transition: all 0.3s ease;
    filter: drop-shadow(0 0 2px rgba(255,255,255,0.1));
}

.menu-grid-item {
    padding: 12px 16px;
    border-radius: 12px;
    transition: all 0.2s ease;
    border: 1px solid transparent;
}

.menu-grid-item:hover {
    background: rgba(255, 255, 255, 0.03);
    border-color: rgba(255, 255, 255, 0.08);
    transform: translateX(4px);
}

/* Quando passa o mouse no item, o Ã­cone brilha */
.menu-grid-item:hover .menu-icon-wrapper {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.1);
    box-shadow: 0 0 15px rgba(0,0,0,0.2);
}

.menu-grid-item:hover .neon-svg {
    transform: scale(1.1);
    filter: drop-shadow(0 0 6px currentColor); /* O Ã­cone brilha na prÃ³pria cor */
}
 
/* BotÃ£o de Fechar (X) - Ajuste para ficar discreto */
.btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
    opacity: 0.5;
    position: absolute;
    right: 20px;
    top: 20px;
    z-index: 10;
}
.btn-close:hover { opacity: 1; }

.form-select {
    width: auto;
    min-width: 60px;
    color: var(--text-primary);
    background-color: var(--bg-input);
    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='%23808286' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
    background-position: right 8px center !important;
    background-repeat: no-repeat !important;
    background-size: 12px 12px !important;
    padding: 4px 30px 4px 10px !important; 
    font-size: 0.85rem !important;
    line-height: 1.5 !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 0 !important;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    transition: all 0.2s ease;
}

.form-select:focus {
    border-color: var(--accent-primary) !important;
    outline: none;
    box-shadow: none;
    background-color: var(--bg-input-focus);
}

.form-select:hover {
    border-color: color-mix(in oklab, var(--border-color) 100%, white 30%) !important;
}

.select-archives {
    background: var(--bg-card-secondary);
    border: 1px solid var(--border-color);
    height: 42px;
    border-radius: 0;
}

/* 2. Ãcone de CalendÃ¡rio/RelÃ³gio (Inputs de Data) */
/* Aplica-se a date, datetime-local, time, month, week */
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator {
    cursor: pointer;
    
    /* A mÃ¡gica acontece aqui: O filtro inverte o Ã­cone preto padrÃ£o 
       e ajusta a cor para chegar no Amarelo Dourado (#FCD535)
    */
    filter: invert(80%) sepia(45%) saturate(700%) hue-rotate(355deg) brightness(105%) contrast(105%);
    
    /* Aumenta um pouco para ficar mais fÃ¡cil de clicar */
    width: 20px;
    height: 20px;
    opacity: 0.8;
    transition: opacity 0.2s, transform 0.2s;
}

/* Efeito Hover no Ã­cone do calendÃ¡rio */
input[type="date"]::-webkit-calendar-picker-indicator:hover,
input[type="datetime-local"]::-webkit-calendar-picker-indicator:hover,
input[type="time"]::-webkit-calendar-picker-indicator:hover {
    opacity: 1;
    transform: scale(1.1);
}


/* Garante que o corpo do modal nÃ£o crie uma segunda barra de rolagem */
#clientsModal .modal-body {
    overflow: hidden; 
    padding-bottom: 0 !important; /* Remove padding inferior para colar no footer */
}

/* Header Estilizado */
.border-bottom-subtle {
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
}

.header-icon-container {
    width: 38px;
    height: 38px;
    background: rgba(247, 78, 97, 0.1); /* Fundo vermelho sutil */
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #f74e61;
    font-size: 1.2rem;
}

.card-title {
    font-size: 1rem;
    font-weight: 600;
    color: #FFFFFF;
    letter-spacing: 0.3px;
}

/* Texto e CÃ³digo */
.description-text {
    line-height: 1.6;
    color: var(--text-primary);
}

.code-highlight {
    background: rgba(247, 78, 97, 0.15);
    color: #f74e61;
    padding: 2px 6px;
    border-radius: 4px;
    font-family: 'Fira Code', monospace;
    font-weight: 600;
}

/* Inputs Otimizados */
.claim-input {
    background-color: #1A1D21 !important;
    border: 1.5px solid #3F444E !important;
    color: #FFFFFF !important;
    border-radius: 8px !important;
    padding: 0.6rem !important;
    font-size: 14px !important;
    transition: border-color 0.2s ease;
}

.claim-input:focus {
    border-color: #f74e61 !important;
    box-shadow: none !important;
}

/* CorreÃ§Ã£o do Input de Remover Servidor */
.claim-input {
    background-color: #1e2227 !important;
    border: 1.5px solid #3f444e !important;
    height: 38px;
    padding-left: 10px !important;
    border-radius: var(--radius-std);
}
.claim-input:focus {
    background-color: #1e2227 !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important; /* Ou use var(--accent-color) se quiser brilho */
    box-shadow: none !important; /* Remove o brilho azul/cinza padrÃ£o */
}

/* Opcional: Efeito hover sutil para saber que estÃ¡ ativo */
.claim-input:hover {
    border-color: rgba(255, 255, 255, 0.3) !important;
}
.modal-compact .modal-body {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}

.modal-compact .modal-status-icon {
    width: 48px !important;  /* Reduzido de 72px */
    height: 48px !important;
    margin-bottom: 10px !important;
}

.modal-compact .modal-status-icon i, 
.modal-compact .modal-status-icon svg {
    font-size: 1.5rem !important; /* Ãcone menor */
}

.modal-compact .modal-hero-text {
    font-size: 1.2rem !important; /* TÃ­tulo menor */
    margin-bottom: 2px !important;
}

.modal-compact {
    font-size: 0.8rem !important;
    margin-bottom: 16px !important;
}

/* ForÃ§a inputs menores no modo compacto */
.modal-compact .form-control, 
.modal-compact .form-select {
    padding: 0.35rem 0.6rem !important;
    font-size: 0.85rem !important;
}

.modal-compact .form-label {
    font-size: 0.75rem !important;
    margin-bottom: 2px !important;
}
.clients-list-container {
    max-height: 40vh; /* Reduzi para 40% da tela */
    overflow-y: auto;
    padding-right: 4px;
    margin-top: 10px;
}

/* Item da lista mais fino */
.client-item-row {
    background-color: var(--bg-tertiary);
    border: 1px solid transparent;
    color: var(--text-primary);
    transition: all 0.2s ease;
    margin-bottom: 6px; /* Menos margem entre itens */
    padding: 8px 12px !important; /* Padding reduzido drasticamente */
}

.client-item-row:hover {
    background-color: #363c45;
    border-color: #FCD535;
    transform: translateX(2px);
}
/* ============================================================================
   MODAL STANDARDIZATION  - END
   ============================================================================ */

.btn-primary, button.action {
    background-color: var(--accent-primary) !important;
    color: var(--clean-bg-pages) !important; /* Texto preto no amarelo */
    font-weight: 600;
    border-radius: 4px;
}
.server-list-row {
    border-bottom: 1px solid var(--border-color-light) !important;
}
.server-list-row:hover {
    background-color: var(--bg-tertiary) !important;
}
/* --- SERVER LOGO / BANNER STYLES --- */
.server-logo-container {
    width: 100%;
    height: 120px; /* Altura fixa para manter o layout estÃ¡vel */
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid var(--sd-border);
    border-radius: var(--radius-std);
    margin-bottom: 20px;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.server-logo-container:hover {
    border-color: var(--accent-color);
    box-shadow: 0 0 15px rgba(252, 213, 53, 0.1);
}

.server-logo-media {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    z-index: 2;
    filter: drop-shadow(0 0 5px rgba(0,0,0,0.5));
}

/* Modal Preview Style */
.logo-upload-preview {
    width: 100%;
    height: 100px;
    border: 2px dashed var(--border-color);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    overflow: hidden;
    background: rgba(0,0,0,0.2);
    cursor: pointer;
    transition: all 0.2s;
}
.logo-upload-preview:hover {
    border-color: var(--accent-color);
    background: rgba(255,255,255,0.02);
}
.logo-upload-preview img, 
.logo-upload-preview video {
    max-height: 100%;
    max-width: 100%;
}

/* Garantir que table e elementos relacionados tenham background escuro */
/* 1. Aplica o fundo base APENAS na tabela e linhas normais (nÃ£o destacadas) */
table,
tbody,
thead,
tr:not(.highlighted) {
    /*background-color: var(--bg-base-server-list);*/
}

/* 2. CRUCIAL: As cÃ©lulas devem ser transparentes para mostrar o fundo da linha (inclusive o destaque) */
td, th {
    background-color: transparent !important;
}
/* Remover limitaÃ§Ãµes de largura em filtros e search */
.filtersClass {
    display: flex;
    margin-top: 15px;
    width: 100%;
    max-width: 100%;
    justify-content: space-between;
}
.search-wrapper {
    width: 100%;
    max-width: 100%;
}

/* Stats Harmonizados em Grid 4 Colunas */
.stats-section-integrated {
    margin: 0;
    position: relative;
    z-index: 2;
    flex-shrink: 0;
    margin-top: auto;
}

.stats-top-row-integrated {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 6px !important;
}

/* Ãcones Binance Style - Emerald */
.stat-icon-wrapper-modern {
    width: 20px !important;
    height: 20px !important;
    margin: 0;
    position: relative;
    order: -1;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.stat-icon-modern {
    font-size: 14px !important;
    transition: all 0.2s ease;
    color: var(--accent-color) !important;
}

.stat-item-integrated:hover .stat-icon-modern {
    transform: scale(1.15);
    color: var(--accent-color) !important;
    filter: drop-shadow(0 0 6px rgba(252, 213, 53, 0.6));
}

.stat-icon-servers {
    color: var(--accent-primary) !important; /* #FCD535 - Amarelo */
}
.stat-icon-servers svg {
    stroke: var(--accent-primary) !important;
}
.stat-icon-players {
    color: var(--status-up) !important; /* #0ECB81 - Verde */
}
.stat-icon-players svg {
    stroke: var(--status-up) !important;
}
.stat-icon-uptime {
    color: #3B82F6 !important; /* Azul - para uptime */
}
.stat-icon-uptime svg {
    stroke: #3B82F6 !important;
}
.stat-icon-countries {
    color: #F6465D !important; /* Vermelho Binance - para paÃ­ses */
}
.stat-icon-countries svg {
    stroke: #F6465D !important;
}

/* Estilos para os Ã­cones de estatÃ­sticas */
.stat-card-micro {
    position: relative;
    min-height: 50px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    padding: 10px 15px;
    min-width: 120px;
    box-sizing: border-box;
}
.widget-card-header {
    margin-bottom: 20px;
    border-radius: var(--radius-std);
}

.stat-icon {
    margin: 0px;
    padding: 0px;
    width: 30px;
    height: 30px;
    position: relative;
    top: 27px;
    right: 7px;
    /* display: flex; */
    justify-content: center;
    background: rgba(252, 213, 53, 0.1);
    border-radius: 50%;
    flex-shrink: 0;
}

.stat-icon svg {
    width: 18px;
    height: 18px;
}

/* Ajustes para os cards de estatÃ­sticas */
.stat-card-micro {
    position: relative;
    padding-left: 30px;
}

.stat-card-micro::before {
    content: '';
    position: absolute;
    left: 6;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.stat-card-micro:nth-child(1)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23FCD535'%3E%3Cpath d='M4 1h16a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1zm0 8h16a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1zm0 8h16a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1z'/%3E%3C/svg%3E");
}

.stat-card-micro:nth-child(2)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23FCD535'%3E%3Cpath d='M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8zm1-14h-2v8h2V6zm0 10h-2v2h2v-2z'/%3E%3C/svg%3E");
}

.stat-card-micro:nth-child(3)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23FCD535'%3E%3Cpath d='M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z'/%3E%3Cpath d='M13 7h-2v6h6v-2h-4z'/%3E%3C/svg%3E");
}

.stat-card-micro:nth-child(4)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23FCD535'%3E%3Cpath d='M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z'/%3E%3Cpath d='M12 6c-3.309 0-6 2.691-6 6s2.691 6 6 6 6-2.691 6-6-2.691-6-6-6zm0 10c-2.206 0-4-1.794-4-4s1.794-4 4-4 4 1.794 4 4-1.794 4-4 4z'/%3E%3Cpath d='M12 10c-1.103 0-2 .897-2 2s.897 2 2 2 2-.897 2-2-.897-2-2-2z'/%3E%3C/svg%3E");
}

/* Ajustes para os cards de estatÃ­sticas */
.banner-stats-section {
    display: flex;
    gap: 15px;
    align-items: center;
    flex-wrap: wrap;
}

.stat-card-micro {
    background: rgba(30, 35, 41, 0.7);
    border: 1px solid rgba(252, 213, 53, 0.2);
    border-radius: var(--radius-std); /* 8px */
    padding: 10px 15px;
    min-width: 120px;
    position: relative;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 10px;
}

.stat-card-micro:hover {
    background: rgba(30, 35, 41, 0.9);
    border-color: var(--accent-color);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.stat-change-indicator-integrated.positive {
    color: #0ecb81;
    background: rgba(14, 203, 129, 0.15);
}

.stat-change-indicator-integrated.negative {
    color: #f6465d;
    background: rgba(246, 70, 93, 0.15);
}


@keyframes fadeInScale {
    0% {
        opacity: 0;
        transform: scale(0.5);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

/* Seta de Subida - Verde Binance (Trading) */
.stat-change-indicator-integrated.change-up,
.stat-change-indicator-integrated[data-change="up"] {
    color: var(--status-up) !important;
}

.stat-change-indicator-integrated.change-up i,
.stat-change-indicator-integrated[data-change="up"] i {
    color: var(--status-up) !important;
    filter: drop-shadow(0 0 4px rgba(14, 203, 129, 0.5));
}

/* Seta de Descida - Vermelho Binance (Trading) */
.stat-change-indicator-integrated.change-down,
.stat-change-indicator-integrated[data-change="down"] {
    color: var(--status-down) !important;
}

.stat-change-indicator-integrated.change-down i,
.stat-change-indicator-integrated[data-change="down"] i {
    color: var(--status-down) !important;
    filter: drop-shadow(0 0 4px rgba(246, 70, 93, 0.4));
}

/* Esconder quando nÃ£o hÃ¡ mudanÃ§a */
.stat-change-indicator-integrated.change-none,
.stat-change-indicator-integrated[data-change="0"] {
    display: none;
}

.stat-label-integrated {
    font-size: 0.6rem;
    color: var(--text-secondary) !important;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 600 !important;
    transition: color 0.2s;
    white-space: nowrap;
    line-height: 1.3;
}

.stat-item-integrated:hover .stat-label-integrated {
    color: var(--accent-color) !important;
}

/* Divider Compacto */
.promotional-divider {
    display: none;
}
.server-website {
    display: inline-block;
    font-size: 0.75rem;
    line-height: 1.2;
    color: var(--text-secondary);
    text-align: left; /* Alinhar Ã  esquerda */
    flex: 1 1 auto; /* Permitir expansÃ£o */
    min-width: 0; /* Permitir shrink se necessÃ¡rio */
    max-width: none; /* Remover limite mÃ¡ximo */
    width: max-content;
}
.server-website a {
    color: var(--text-secondary);
    text-decoration: none;
    transition: color 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: flex-start; /* Alinhar Ã  esquerda */
    gap: 8px;
    width: 100%;
    text-align: left; /* Alinhar Ã  esquerda */
}
.server-website a:hover { 
    color: var(--accent-color);
}
.server-name a:hover { 
    color: var(--accent-color);
}
.server-website-text {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: left; /* Alinhar Ã  esquerda */
    color: var(--bs-gray-400);
}
.server-website-text:hover {
    color: var(--accent-color);
}

/* Galaxy NÃƒO deve ser escondida pela classe simple-tooltip-container */
#mini-galaxy-container.simple-tooltip-container {
    display: flex !important;
}

.border-solid {
    border: 1px solid var(--color-Line) !important;
}


/* COLUNA DIREITA - Ãrea de Propagandas Compacta */
.top-panel-item[data-panel="advertising"],
.top-panel-item[data-panel="featured2"] {
    background: var(--bg-darker);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-std);
    height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    flex: 1;
}

/* Placeholder para propagandas - Binance Style */
.top-panel-item[data-panel="advertising"]::before,
.top-panel-item[data-panel="featured2"]::before {
    content: 'AD SPACE\AAVAILABLE';
    white-space: pre;
    text-align: center;
    font-size: 0.7rem;
    font-weight: 700;
    color: var(--text-muted);
    letter-spacing: 2px;
    line-height: 1.6;
}

.box-panel,
.banner-panel {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.panel-header {
    padding: 12px 16px;
    background: var(--bg-tertiary);
    border-bottom: 1px solid var(--border-color);
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.panel-content {
    flex: 1;
    padding: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Section Header - Browse Text */
.section-header {
    text-align: left;
    margin-bottom: 24px;
    position: relative;
    z-index: 2;
    background: transparent !important;
    margin-bottom: 15px;
    margin-top: 15px;
}


.section-subtitle {
    font-size: 0.9rem;
    color: var(--text-secondary) !important;
    font-weight: 400;
    background: transparent !important;
}

#active-servers-count {
    color: var(--accent-color);
    font-weight: 700;
}

/* Responsive */

/* Telas Ultra-Largas - Aproveitar ao mÃ¡ximo o espaÃ§o */
@media (min-width: 1920px) {
    .container-fluid[style*="min-height"] {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
    
    aside.col-xl-2,
    aside.col-lg-2 {
        max-width: 400px !important;
        min-width: 320px !important;
    }
    
    main.col-xl-10,
    main.col-lg-10 {
        padding-left: 24px !important;
    }
}

@media (min-width: 1600px) and (max-width: 1919px) {
    .container-fluid[style*="min-height"] {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    
    aside.col-xl-2,
    aside.col-lg-2 {
        max-width: 400px !important;
        min-width: 300px !important;
    }
}

/* Tablets em landscape - otimizar espaÃ§o */
@media (min-width: 1024px) and (max-width: 1399px) {
    .container-fluid[style*="min-height"] {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    
    aside.col-xl-2,
    aside.col-lg-2 {
        max-width: 380px !important;
        min-width: 260px !important;
    }
    
    main.col-xl-10,
    main.col-lg-10 {
        padding-left: 12px !important;
    }
}

@media (max-width: 1400px) {
    .banners-row {
        grid-template-columns: 320px 1fr;
    }
    
    .top-panel-item.promotional-panel {
        max-width: 100% !important;
        width: 100% !important;
    }
    
    .promotional-text-wrapper {
        display: block;
    }
    
    /* Sidebar ajusta para telas mÃ©dias */
    aside.col-xl-2,
    aside.col-lg-2 {
        max-width: 360px !important;
        min-width: 240px !important;
        flex-shrink: 0; /* Garante que o menu nÃ£o encolha demais */
    }

    main.col-xl-10,
    main.col-lg-10 {
        min-width: 0; /* Permite que o main encolha abaixo do conteÃºdo mÃ­nimo */
    }
}

@media (max-width: 1200px) {
    .banners-row {
        grid-template-columns: 1fr;
        max-height: 55px;
    }
    
    .banners-row > *:not(#mini-galaxy-container) {
        height: 55px;
        max-height: 55px;
    }
    
    .top-panel-item.promotional-panel {
        max-width: 100% !important;
        width: 100% !important;
        height: 55px;
        max-height: 55px;
        min-height: 55px;
        padding: 6px 10px;
    }
    
    .promotional-text-wrapper {
        display: block;
    }
    
    .promotional-title .title-text {
        font-size: 1rem;
    }
    
    .promotional-subtitle {
        font-size: 0.75rem !important;
    }
    
    .stats-top-row-integrated {
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 8px !important;
    }
    
    .stat-item-integrated {
        padding: 8px 6px !important;
    }
    
    .stat-icon-wrapper-modern {
        width: 24px !important;
        height: 24px !important;
    }
    
    .stat-icon-modern {
        font-size: 16px !important;
    }
    
    .stat-value-integrated {
        font-size: 1.1rem !important;
    }
}

@media (max-width: 992px) {
    .stats-top-row-integrated {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    
    /* Sidebar fica menor em tablets */
    aside.col-xl-2,
    aside.col-lg-2 {
        max-width: 340px !important;
        min-width: 240px !important;
    }
    
    /* Main usa mais espaÃ§o */
    main.col-xl-10,
    main.col-lg-10 {
        padding-left: 12px !important;
    }
}

@media (max-width: 768px) {
    .promotional-title .title-text {
        font-size: 0.65rem;
    }
    
    .promotional-subtitle {
        font-size: 0.6rem !important;
    }
    
    .stat-value-integrated {
        font-size: 0.75rem !important;
    }
    
    .stat-label-integrated {
        font-size: 0.4rem !important;
    }
    
    .stat-icon-wrapper-modern {
        width: 14px !important;
        height: 14px !important;
    }
    
    .stat-icon-modern {
        font-size: 10px !important;
    }
    
    .stat-item-integrated {
        padding: 3px 2px !important;
    }
    
    /* Sidebar some em mobile ou fica em modo collapse */
    aside.col-xl-2,
    aside.col-lg-2 {
        position: fixed;
        left: -100%;
        top: 0;
        height: 100vh;
        z-index: 9999;
        transition: left 0.3s ease;
        max-width: 380px !important;
        min-width: 280px !important;
        width: 280px !important;
        background: var(--accent-text);
        box-shadow: 2px 0 20px rgba(0, 0, 0, 0.5);
        overflow-y: auto;
        padding: 20px;
    }
    
    aside.col-xl-2.show-mobile,
    aside.col-lg-2.show-mobile {
        left: 0;
    }
    
    /* Main usa toda largura em mobile */
    main.col-xl-10,
    main.col-lg-10 {
        max-width: 100% !important;
        width: 100% !important;
        flex: 1 1 100% !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
    
    /* Container ajusta padding em mobile */
    .container-fluid[style*="min-height"] {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
    
    /* Toolbar vira coluna em mobile */
    .toolbar-layout {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }
    
    .toolbar-left,
    .toolbar-right {
        justify-content: center;
        width: 100%;
    }
    
    .toolbar-center {
        order: -1; /* Search vai pro topo */
    }
    
    .search-container {
        max-width: 100% !important;
    }
}

/* Telas muito pequenas */
@media (max-width: 480px) {
    .container-fluid[style*="min-height"] {
        padding-left: 4px !important;
        padding-right: 4px !important;
    }
    
    main.col-xl-10,
    main.col-lg-10 {
        padding-left: 4px !important;
        padding-right: 4px !important;
    }
    
    .toolbar-panel {
        padding: 10px !important;
    }
    
    /* BotÃµes da toolbar menores */
    .toolbar-left button,
    .toolbar-right button {
        font-size: 0.8rem;
        padding: 6px 10px !important;
    }
    
    .top-panel-item.promotional-panel {
        padding: 8px;
        min-height: 100px;
    }
}



/* ===== FILTER ROW & BUTTONS - Binance Style ===== */
.filter-toggle-row {
    background: var(--bg-card-secondary) !important;
    border-bottom: 1px solid var(--border-color) !important;
}

.filter-toggle-row td {
    padding: 12px 14px !important;
}

.filter-toggle-left,
.filter-toggle-right {
    gap: 10px !important;
}


.form-control, .input-group-text {
    border-radius: 0 !important;
    background: var(--bg-input);
    border: 1px solid var(--border-color);
    color: var(--text-primary);
    transition: all 0.2s ease;
}

.form-control:focus {
    background: var(--bg-input-focus);
    border-color: var(--accent-primary);
    outline: none;
    box-shadow: none;
}

.toolbar-right {
    flex-shrink: 0;
    margin-left: auto;
}

.server-toolbar .modern-menu-toggle,
.server-toolbar {
    display: inline-flex;
    justify-content: center;

    font-size: 0.75rem !important;
    font-weight: 500 !important;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    border-radius: var(--radius-std) !important;
    width: 32%;
}

.server-toolbar .modern-menu-toggle.active,
.server-toolbar .modern-menu-toggle:active,
.server-toolbar .modern-menu-toggle.active i {
    color: var(--bs-navbar-active-color) !important;
    background: var(--accent-primary) !important;

    border-color: var(--accent-color) !important;
    box-shadow: 0 0 0 1px var(--accent-color);
}

.input-group:hover {
    background-color: var(--bg-card-secondary) !important;
    /*border: 1px solid var(--accent-color) !important;*/
}

/* Efeito hover para os botÃµes */
.server-toolbar .modern-menu-toggle:hover {
    background: var(--bg-tertiary) !important;
    color: var(--accent-white) !important;
}

/* Estilo especÃ­fico para o botÃ£o de favoritos */
#favorites-only i {
    color: var(--text-danger) !important;
}

#favorites-only.active i {
    color: var(--accent-color) !important;
}

/* Estilo para o modal de filtros */
#filters-top-drawer {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: var(--bg-primary);
    z-index: 1050;
    max-height: 80vh;
    overflow-y: auto;
    transform: translateY(-100%);
    transition: transform 0.3s ease-in-out;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
    border-bottom: 1px solid var(--border-color);
}

#filters-top-drawer.open {
    transform: translateY(0);
}

#filters-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    z-index: 1040;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}

#filters-backdrop.show {
    opacity: 1;
    visibility: visible;
}

.filters-drawer-content {
    padding: 20px;
    max-width: 1200px;
    margin: 0 auto;
}

.filters-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--border-color);
}

.filters-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--accent-white);
    margin: 0;
}

.filters-close-btn {
    background: none;
    border: none;
    color: var(--text-muted);
    font-size: 1.5rem;
    cursor: pointer;
    padding: 5px;
    line-height: 1;
}

.filters-close-btn:hover {
    color: var(--accent-white);
}

.filters-footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 20px;
    padding-top: 15px;
    border-top: 1px solid var(--border-color);
}


.filter-checkbox {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    font-size: 0.85rem;
    color: var(--text-muted);
    transition: color 0.2s ease;
}

.filter-checkbox:hover {
    color: var(--accent-white);
}

.filter-checkbox input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 0;
    cursor: pointer;
    accent-color: var(--accent-color);
}

.filter-checkbox i {
    font-size: 0.9em;
}

/* Ajustes para telas menores */
@media (max-width: 768px) {
    .server-toolbar .modern-menu-toggle {
        padding: 6px 10px !important;
        font-size: 0.7rem !important;
    }
    
    .filters-drawer-content {
        padding: 15px;
    }
    
    .filters-body {
        padding: 10px 0;
    }
    
    .filters-footer {
        flex-direction: column;
        gap: 10px;
        padding: 15px 0 0;
        margin-top: 15px;
    }
    
    .btn-filter {
        width: 100%;
        padding: 10px;
    }
    
    .filter-checkbox {
        font-size: 0.8rem;
    }
    
    .filter-select, 
    .filter-checkbox input[type="checkbox"] {
        font-size: 0.8rem;
    }
}

/* Responsive - Ajustar campo de pesquisa em telas menores */
@media (max-width: 1400px) {
    .search-wrapper-left {
        width: 320px !important;
        max-width: 320px !important;
    }
}

@media (max-width: 1200px) {
    .search-wrapper-left {
        width: 100% !important;
        max-width: 100% !important;
        margin-right: 0;
        margin-bottom: 12px;
    }
    
    .server-toolbar {
        flex-direction: column;
        align-items: stretch !important;
    }
    
    .toolbar-right {
        margin-left: 0;
        justify-content: flex-start !important;
        flex-wrap: wrap;
    }
}



.search-icon-panel {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--accent-color);
    font-size: 0.85rem;
    pointer-events: none;
}


/* Rate Input Groups */
.rate-range-group {
    display: flex;
    align-items: center;
    gap: 8px;
}

.rate-separator {
    color: var(--text-muted);
    font-weight: 700;
}

/* ===== HERO SECTION ===== */
.hero-section {
    text-align: center;
    padding: 80px 20px 60px;
    position: relative;
    overflow: hidden;
    min-height: 500px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.hero-title {
    font-size: 3.5rem;
    font-weight: 800;
    color: var(--accent-white);
    margin-bottom: 20px;
    letter-spacing: -0.02em;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
    position: relative;
    z-index: 2;
}

.hero-subtitle {
    font-size: 1.3rem;
    color: var(--text-secondary);
    margin-bottom: 50px;
    position: relative;
    z-index: 2;
}

.stat-label {
    font-size: 0.6rem;
    color: var(--text-muted) !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Browse Text */
.browse-text {
    font-size: 1.15rem;
    color: var(--text-secondary);
    margin-bottom: 0;
    position: relative;
    z-index: 2;
}

/* ===== FILTERS SECTION ===== */
.filters-section {
    background: var(--bg-card-secondary);
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
    padding: 24px 0;
    position: sticky;
    top: var(--navbar-height);
    z-index: 100;
    backdrop-filter: blur(10px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.filters-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}

.filter-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 16px;
    background: var(--bg-card-secondary);
    border: 1px solid var(--border-color);
    border-radius: 0;
    color: var(--text-secondary);
    font-size: 0.8rem;
    font-weight: 600;
    transition: all 0.2s ease;
    position: relative;
    width: 100px;
    height: 36px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.filter-btn:hover {
    background: var(--bg-tertiary);
    border-color: color-mix(in oklab, var(--border-color) 100%, white 30%);
    color: var(--text-primary);
}

.filter-btn.active {
    background: var(--accent-primary);
    border-color: var(--accent-primary);
    color: #000;
}

.filter-btn i {
    font-size: 0.9rem;
}

.filter-btn span {
    display: none;
}

.filter-btn-badge {
    position: absolute;
    top: -6px;
    right: -6px;
    background: var(--accent-primary);
    color: #000;
    font-size: 0.65rem;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 0;
    min-width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--bg-body);
    line-height: 1;
}

.filter-btn.premium {
    border-color: color-mix(in oklab, var(--accent-primary) 40%, transparent);
    color: var(--accent-primary);
}

.filter-btn.premium:hover {
    background: color-mix(in oklab, var(--accent-primary) 10%, transparent);
    border-color: var(--accent-primary);
}

.filter-btn.premium.active {
    background: var(--accent-primary);
    border-color: var(--accent-primary);
    color: #000;
}

.filter-btn.group {
    border-color: color-mix(in oklab, var(--accent-primary) 40%, transparent);
    color: var(--accent-primary);
}

.filter-btn.group:hover {
    background: color-mix(in oklab, var(--accent-primary) 10%, transparent);
    border-color: var(--accent-primary);
}

.filter-btn.group.active {
    background: var(--accent-primary);
    border-color: var(--accent-primary);
    color: #000;
}

.filter-btn.favorite {
    border-color: color-mix(in oklab, var(--status-down) 40%, transparent);
    color: var(--status-down);
}

.filter-btn.favorite:hover {
    background: color-mix(in oklab, var(--status-down) 10%, transparent);
    border-color: var(--status-down);
}

.filter-btn.favorite.active {
    background: var(--status-down);
    border-color: var(--status-down);
    color: #fff;
}

.filter-btn.shuffle {
    border-color: color-mix(in oklab, var(--status-blue) 40%, transparent);
    color: var(--status-blue);
}

.filter-btn.shuffle:hover {
    background: color-mix(in oklab, var(--status-blue) 10%, transparent);
    border-color: var(--status-blue);
}

.filter-btn.shuffle.active {
    background: var(--status-blue);
    border-color: var(--status-blue);
    color: #fff;
}

.filter-btn.reset {
    border-color: color-mix(in oklab, var(--text-muted) 40%, transparent);
    color: var(--text-muted);
}

.filter-btn.reset:hover {
    background: color-mix(in oklab, var(--text-muted) 10%, transparent);
    border-color: var(--text-muted);
    color: var(--text-primary);
}

.server-row-actions {
    display: flex;
    flex-direction: row-reverse;
}

/* Fallback para PNG (caso ainda exista) */
.server-flag {
    width: 24px; /* Aumentado */
    height: 18px; /* Aumentado */
    object-fit: cover;
    flex-shrink: 0;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: var(--radius-std);
}

.server-info {
    flex: 1;
    min-width: 0;
}

.server-name {
    font-weight: 700 !important; /* Aumentado para mais nitidez */
    color: #FFFFFF !important; /* Branco Absoluto para nitidez */
    font-size: 0.75rem !important; /* Compacto */
    margin-bottom: 0;
    display: inline-flex;
    align-items: center;
    flex: 1;
    min-width: 0;
    gap: 0px; /* Reduzido de 6px para 4px */
    justify-content: flex-start !important;
    position: relative; /* NecessÃ¡rio para posicionamento absoluto do filho */
}

.server-name a {
    color: #FFFFFF !important; /* Branco Absoluto para nome do servidor */
    text-decoration: none;
    font-weight: 700 !important; /* Mais pesado para nitidez */
}

.server-name a:hover {
    color: var(--accent-primary) !important; /* Amarelo no hover */
    text-shadow: none;
}
.server-name-wrapper {
    display: flex;
    align-items: center;
    gap: 0 !important; /* Importante: Gap zero para nÃ£o deixar buraco quando o Ã­cone estiver fechado */
    width: 100%;
}

/* 2. Configura o botÃ£o do Ã­cone para OCUPAR ESPAÃ‡O sempre */
.server-link-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    
    /* ComeÃ§a invisÃ­vel e sem ocupar espaÃ§o */
    width: 0px;
    opacity: 0;
    margin: 0;
    padding: 0;
    overflow: hidden; /* Importante para nÃ£o mostrar pedaÃ§o do Ã­cone */
    
    color: var(--text-muted) !important;
    border-radius: 50%;
    /* Altura fixa igual ao tamanho do Ã­cone desejado */
    height: 19px; 
    
    font-size: 0.6rem;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    
    /* Remove bordas e background padrÃ£o */
    background: transparent;
    border: none;
    z-index: 10;
    flex-shrink: 0;

    cursor: pointer;
}

.server-site {
    margin: 0 !important;
    transition: transform 0.3s ease;
    font-size: 0.75rem !important;
    color: var(--text-secondary) !important;
    font-weight: 400;
    white-space: nowrap;
    font-family: 'Rajdhani', sans-serif !important;
    flex-shrink: 0;
}

.server-link-btn svg {
    width: 14px;
    height: 14px;
    display: block;
    color: #bababa;
}
.server-link-btn svg:hover {
    color: var(--status-up);
}

.server-link-btn-index {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    
    margin: 0;
    padding: 0;
    overflow: hidden; /* Importante para nÃ£o mostrar pedaÃ§o do Ã­cone */
    
    color: var(--text-muted) !important;
    border-radius: 50%;
    /* Altura fixa igual ao tamanho do Ã­cone desejado */
    height: 19px; 
    
    font-size: 0.6rem;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    
    /* Remove bordas e background padrÃ£o */
    background: transparent;
    border: none;
    z-index: 10;
    flex-shrink: 0;

    cursor: pointer;
}


.server-title {
    font-size: 0.65rem !important; /* Compacto */
    color: #848E9C !important; /* Cinza mais visÃ­vel */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 2px;
    font-weight: 500 !important;
}

/* Badges na linha do nome */
.server-badges {
    display: inline-flex;
    gap: 4px;
    margin-left: 8px;
}

.server-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 6px;
    font-size: 0.6rem !important; /* Compacto */
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: var(--radius-std);
}

.server-badge.premium {
    background: rgba(14, 203, 129, 0.2) !important; /* Emerald */
    color: #0ECB81 !important; /* Emerald */
    border: 1px solid rgba(14, 203, 129, 0.4) !important;
    text-shadow: 0 0 6px rgba(14, 203, 129, 0.4);
}

.server-badge.new {
    background: rgba(14, 203, 129, 0.25) !important; /* Emerald */
    color: #0ECB81 !important; /* Emerald */
    border: 1px solid rgba(14, 203, 129, 0.5) !important;
    text-shadow: 0 0 6px rgba(14, 203, 129, 0.5);
}
.server-badge.online {
    background: rgb(14 203 129 / 9%) !important;
    color: #0ECB81 !important; /* Emerald */
    border: 1px solid rgba(14, 203, 129, 0.5) !important;
    text-shadow: 0 0 6px rgba(14, 203, 129, 0.5);
}

.server-badge.offline {
    background: #f6465d12;
    color: var(--status-down);
    border: 1px solid rgb(203 14 14 / 50%) !important;
}

.server-badge.starting-soon {
    background: rgba(14, 203, 129, 0.2) !important; /* Emerald */
    color: #0ECB81 !important; /* Emerald */
    border: 1px solid rgba(14, 203, 129, 0.4) !important;
    text-shadow: 0 0 6px rgba(14, 203, 129, 0.4);
}

/* Status Column */
.server-status {
    width: 120px;
}

.status-indicator {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    text-align: right;
}

.status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.status-dot.online {
    background: var(--status-online);
    box-shadow: 0 0 8px var(--status-online);
    animation: pulse-status 2s infinite;
}

.status-dot.offline {
    background: var(--status-offline);
}

@keyframes pulse-status {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

.status-text {
    font-weight: 500;
    font-size: 0.85rem;
}

.status-text.online {
    color: var(--status-online);
}

.status-text.offline {
    color: var(--status-offline);
}

.online-count {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.7rem !important; /* Compacto */
    color: #EAECEF !important; /* Branco puro */
    font-weight: 700 !important;
    margin-top: 0;
}

/* Seta de mudanÃ§a de players (â†‘/â†“) - Binance Trading Colors */
.player-change {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    font-size: 0.7rem;
    font-weight: 500;
}

.player-change.up {
    color: #0ECB81 !important; /* Verde vibrante */
    text-shadow: 0 0 6px rgba(14, 203, 129, 0.5);
    font-weight: 600 !important;
}

.player-change.down {
    color: #F6465D !important; /* Vermelho vibrante */
    text-shadow: 0 0 6px rgba(246, 70, 93, 0.5);
    font-weight: 600 !important;
}

/* Exp Rate Column - Estilo da Imagem (Branco) */
.server-exp {
    width: 100px;
    text-align: left;
}

.exp-value {
    font-weight: 600 !important; /* Mais negrito */
    font-size: 0.7rem !important; /* Compacto */
    color: #EAECEF !important; /* Branco puro */
}

.exp-label {
    font-size: 0.65rem !important; /* Compacto */
    color: #848E9C !important; /* Cinza mais visÃ­vel */
    text-transform: uppercase;
}

/* PVP Type Column - Estilo da Imagem (Texto Simples Branco) */
.server-pvp {
    width: 100px;
    text-align: left;
}

.pvp-badge {
    display: inline-block;
    padding: 0;
    background: transparent;
    color: var(--accent-white);
    border: none;
    font-size: 0.85rem;
    font-weight: 500;
    text-transform: uppercase;
}

.pvp-badge.optional-pvp {
    background: rgba(252, 213, 53, 0.15);
    color: var(--accent-color);
    border-color: rgba(252, 213, 53, 0.3);
}

.pvp-badge.no-pvp {
    background: rgba(14, 203, 129, 0.15);
    color: var(--status-up);
    border-color: rgba(14, 203, 129, 0.3);
}

.pvp-badge.retro-open-pvp {
    background: rgba(252, 213, 53, 0.15);
    color: var(--accent-color);
    border-color: rgba(252, 213, 53, 0.3);
}

/* Uptime Column */
.server-uptime {
    width: 100px;
    text-align: center;
}

.uptime-value.high {
    color: var(--status-up);
}

.uptime-value.medium {
    color: #F0B90B; /* Amarelo Binance para mÃ©dio */
}

.uptime-value.low {
    color: var(--status-down);
}

.uptime-bar {
    width: 100%;
    height: 4px;
    background: var(--bg-primary);
    margin-top: 6px;
    overflow: hidden;
}

.uptime-fill {
    height: 100%;
    background: var(--accent-color);
    transition: width var(--transition-normal);
}

/* Client Version Column - Estilo da Imagem */
.server-version {
    width: 90px;
    text-align: left;
    font-family: 'Courier New', monospace;
    font-weight: 500;
    color: #ffffff;
    font-size: 0.85rem;
}

/* Bot/MC Rules Column - Estilo da Imagem (FEAT com Ã­cones verdes) */
.server-rules {
    width: 80px;
    text-align: left;
}

.rules-icons {
    display: flex;
    justify-content: flex-start;
    gap: 6px;
}

.rule-icon {
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    font-size: 0.85rem;
    color: #10b981;
}

.rule-icon.allowed {
    color: #10b981;
}

.rule-icon.forbidden {
    color: #80848e;
    opacity: 0.5;
}
.group-parent-row {
    background: linear-gradient(90deg, rgba(252, 213, 53, 0.1), transparent);
    border-left: 3px solid var(--accent-color);
}

.group-parent-row:hover {
    background: linear-gradient(90deg, rgba(252, 213, 53, 0.15), transparent);
}

.group-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 8px;
    background: rgba(252, 213, 53, 0.1);
    border: 1px solid var(--accent-color);
    border-radius: var(--radius-std);
    color: var(--accent-color);
    font-size: 0.75rem;
    font-weight: 600;
    transition: all var(--transition-fast);
}

.group-toggle:hover {
    background: rgba(252, 213, 53, 0.2);
}

.group-toggle i {
    transition: transform var(--transition-normal);
}

.group-toggle.collapsed i {
    transform: rotate(-90deg);
}

.group-child-row {
    background: rgba(252, 213, 53, 0.03);
    border-left: 2px solid var(--accent-color);
    margin-left: 20px;
}

.group-child-row .server-name::before {
    content: 'â””â”€';
    color: var(--accent-color);
    margin-right: 8px;
    font-weight: 400;
}

/* ===== EMPTY STATE ===== */
.server-list-empty {
    text-align: center;
    padding: 80px 20px;
    background: var(--bg-card-secondary);
}

.empty-icon {
    font-size: 4rem;
    color: var(--text-muted);
    margin-bottom: 20px;
    opacity: 0.5;
}

.empty-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--accent-white);
    margin-bottom: 12px;
}

.empty-description {
    font-size: 1rem;
    color: var(--text-secondary);
}

/* ===== PAGINATION ===== */
.pagination-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 32px 0;
}

.pagination-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    background: var(--bg-tertiary);
    border: 1px solid var(--border-color-light);
    border-radius: var(--radius-std);
    color: var(--accent-white);
    font-size: 0.9rem;
    font-weight: 500;
    transition: all var(--transition-fast);
}

.pagination-btn:hover:not(:disabled) {
    background: var(--bg-card);
    border-color: var(--accent-color);
    color: var(--accent-color);
}

.pagination-btn.active {
    background: var(--accent-color);
    border-color: var(--accent-color);
    color: #000;
}

.pagination-btn:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

@media (max-width: 992px) {
    .hero-title {
        font-size: 2.5rem;
    }
    
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    .stat-card {
        padding: 24px 16px;
    }
}

@media (max-width: 768px) {
    .hero-section {
        padding: 60px 20px 40px;
        min-height: 400px;
    }
    
    .hero-title {
        font-size: 2rem;
    }
    
    .hero-subtitle {
        font-size: 1rem;
        margin-bottom: 30px;
    }
    
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
    
    .stat-card {
        padding: 20px 12px;
    }
    
    .stat-icon {
        font-size: 1.5rem;
    }
    
    .stat-value {
        font-size: 2rem;
    }
    
    .stat-label {
        font-size: 0.7rem;
    }
    
    .filters-container {
        flex-direction: column;
        align-items: stretch;
    }
    
    .filter-btn {
        width: 100%;
        justify-content: center;
    }
    
    .server-name-cell,
    .server-rank,
    .server-status,
    .server-exp,
    .server-pvp,
    .server-uptime,
    .server-version,
    .server-rules,
    .server-ping {
        width: 100%;
        text-align: left;
    }
}

.server-name-cell {
    padding-left: 0px !important;
}

/* Toolbar Buttons */
.btn-dark {
    background-color: #1a1b1e;
    border: 1px solid #2b2d31;
    color: #b5bac1;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.5px;
    padding: 10px 20px;
    border-radius: var(--radius-std) !important;
    transition: all 0.2s;
}

.btn-dark:hover {
    background-color: #2b2d31;
    color: #fff;
    border-color: #3f4148;
}

/* BotÃ£o Live com ponto verde */
.active-live {
    color: #10b981 !important;
    border-color: rgba(16, 185, 129, 0.3) !important;
    background-color: rgba(16, 185, 129, 0.1) !important;
}

.live-dot {
    width: 6px;
    height: 6px;
    background-color: #10b981;
    border-radius: 50%;
    box-shadow: 0 0 5px #10b981;
}

.col-rank-box {
    background: #202225;
    color: #72767d;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-std);
    font-size: 0.75rem;
    margin: 0 auto;
}

.sort-icon {
    margin-left: 6px;
    font-size: 0.75em;
    color: var(--text-muted) !important; /* #848E9C - Inativo */
    transition: all 0.2s ease;
    display: inline-block;
    vertical-align: middle;
    opacity: 0.6;
}

/* BotÃµes de AÃ§Ã£o na Direita (Group, Fav, Prem) */
.btn-dark-action {
    background-color: #1a1b1e;
    border: 1px solid #2b2d31;
    border-radius: var(--radius-std) !important;
    color: #9ca3af;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 10px 20px;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-dark-action:hover {
    background-color: #2b2d31;
    border-color: #4b5563;
    color: #fff;
}

/* Estado Ativo (Checked/On) */
.btn-dark-action.active {
    background-color: rgba(16, 185, 129, 0.1); /* Fundo verde bem suave */
    border-color: #10b981;
    color: #fff;
}

/* Inputs do Painel de Filtro */
.label-xs {
    font-size: 0.7rem;
    text-transform: uppercase;
    color: #6b7280;
    font-weight: 700;
    margin-bottom: 4px;
    display: block;
}

.feat-icon-wrapper {
    top: 5px;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 2px;
    height: 100%;
    padding: 0 !important;
    margin: 0 !important;
    cursor: help;
}
.feat-icon-wrapper svg {
    /* filter: drop-shadow(0px 0px 1px rgba(0, 0, 0, 1)); */
    width: 20px;
    height: 20px;
}
.feat-icon-wrapper.denied svg {
    stroke: var(--text-secondary);
    color: var(--text-secondary);
}
.feat-icon-wrapper.allowed svg {
    stroke: var(--status-up) !important;
    color: var(--status-up) !important;
}
.feat-icon-wrapper.denied.highlighted svg {
    color: var(--accent-white) !important;
}

.feat-label {
    position: absolute;
    bottom: -8px;
    font-size: 7px;
    line-height: 1;
    font-weight: 600;
    color: currentColor;
    opacity: 0.7;
}

.select-dark {
    background-color: #111 !important;
    border-color: #2b2d31 !important;
    color: #d1d5db !important;
    font-size: 0.85rem;
}

.select-dark:focus, 
.form-control:focus {
    box-shadow: none !important;
}

.ls-1 { letter-spacing: 1px; }



.expand-cell {
    width: 40px !important;
    max-width: 40px !important;
    padding: 0 !important;
    text-align: center;
    vertical-align: middle;
    
    /* MUDANÃ‡A: 'relative' para o botÃ£o respeitar o fluxo, 
       mas 'overflow: visible' para deixar o radar sair */
    position: relative !important;
    overflow: visible !important;
    
    /* TRUQUE: Removemos o z-index alto daqui para nÃ£o bugar o scroll 
       com o cabeÃ§alho (th), mas deixamos o overflow livre */
}

/* --- ANIMAÃ‡ÃƒO RADAR --- */
@keyframes radar-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(0, 229, 255, 0.7);
    }
    70% {
        box-shadow: 0 0 0 10px rgba(0, 229, 255, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(0, 229, 255, 0);
    }
}

/* AnimaÃ§Ã£o radar usando pseudo-elemento para evitar cortes */
@keyframes radar-pulse-ring {
    0% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 0.7;
    }
    70% {
        transform: translate(-50%, -50%) scale(2.5);
        opacity: 0;
    }
    100% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 0;
    }
}

.btn-group-toggle {
    top: 3px;
    position: relative !important;
    z-index: 100;
    background: rgba(0, 229, 255, 0.05);
    /* border: 1px solid var(--tibialist-cyan); */
    color: var(--tibialist-cyan);
    width: 16px;
    height: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer !important;
    border-radius: 50%;
    transform: translateZ(0);
    overflow: visible !important;
    margin: 0 12px;
}

/* AnimaÃ§Ã£o radar usando ::before para evitar cortes de overflow */
.btn-group-toggle::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 1px solid var(--status-up);
    animation: radar-pulse-ring 3s infinite cubic-bezier(0.66, 0, 0, 1);
    pointer-events: none;
    z-index: -1;
}

.btn-group-toggle:hover {
    background: rgba(0, 229, 255, 0.2);
    transform: scale(1.1);
    box-shadow: 0 0 10px rgba(0, 229, 255, 0.3);
    color: #ffffff; /* Ãcone fica branco no hover */
}

.btn-group-toggle.expanded {
    background: rgba(0, 229, 255, 0.2);
    color: var(--tibialist-cyan);
    border-color: var(--tibialist-cyan);
    /* box-shadow: 0 0 10px var(--tibialist-cyan-glow), inset 0 0 10px rgba(0, 229, 255, 0.1); */
}

/* Para a animaÃ§Ã£o radar quando expandido */
.btn-group-toggle.expanded::before {
    animation: none;
    opacity: 0;
}

.btn-group-toggle.expanded:hover {
    background: rgba(0, 229, 255, 0.4); /* Fica mais forte ao passar o mouse */
    box-shadow: 0 0 20px var(--tibialist-cyan-glow);
}

/* AnimaÃ§Ã£o pulse discreta */
@keyframes pulse-expand {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(0, 210, 255, 0.4);
        border-color: rgba(0, 210, 255, 0.3);
    }
    50% {
        box-shadow: 0 0 0 4px rgba(0, 210, 255, 0);
        border-color: rgba(0, 210, 255, 0.6);
    }
}
 
/* Ãcones + e - */
.expand-icon,
.collapse-icon {
    background: transparent;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: opacity 0.2s ease, transform 0.2s ease;
    stroke: currentColor;
}

.expand-icon.active,
.collapse-icon.active {
    opacity: 1;
}
/* Ajuste para o Ã­cone de seta quando expandido */
.fa-rotate-90 {
    transform: rotate(90deg);
}












/* =========================================
   TOP FILTERS DRAWER (Gaveta Superior)
   ========================================= */

.filters-drawer {
    position: fixed;
    top: var(--navbar-height, 70px); /* ComeÃ§a logo abaixo da navbar */
    left: 0;
    width: 100%;
    background-color: var(--bg-card-secondary); /* Fundo cinza Binance */
    border-bottom: 1px solid var(--border-color);
    border-radius: 0 0 var(--radius-std) var(--radius-std);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
    z-index: 1040; /* Acima do conteÃºdo, abaixo de modais full */
    
    /* Estado Inicial: Escondido para cima */
    transform: translateY(-150%);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    
    max-height: 80vh; /* NÃ£o ocupar a tela toda */
    overflow-y: auto;
}

.filters-drawer.open {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
}

/* Backdrop Escuro */
.filters-backdrop {
    position: fixed;
    top: var(--navbar-height, 70px);
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(2px);
    z-index: 1039; /* Logo abaixo do drawer */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease;
}

.filters-backdrop.show {
    opacity: 1;
    visibility: visible;
}

/* ConteÃºdo Interno */
.filters-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
    border-bottom: 1px solid var(--border-color-light);
}

.filters-title {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--accent-white);
}

.filters-close-btn {
    background: transparent;
    border: none;
    color: var(--text-secondary);
    font-size: 1.2rem;
    cursor: pointer;
    transition: color 0.2s;
}
.filters-close-btn:hover { color: var(--accent-white); }

.filters-body {
    padding: 24px 0;
}

/* Inputs Estilo Binance */
.filter-label {
    display: block;
    font-size: 0.75rem;
    color: var(--text-secondary);
    margin-bottom: 6px;
    font-weight: 600;
    text-transform: uppercase;
}

.filter-select {
    width: 100%;
    background-color: var(--input-bg);
    border: 1px solid transparent;
    border-radius: var(--radius-std);
    color: var(--accent-white);
    padding: 10px 12px;
    font-size: 0.9rem;
    outline: none;
    transition: border 0.2s;
}

.filter-select:focus {
    border-color: var(--accent-color);
    background-color: var(--bg-card);
}

/* Checkboxes Customizados */
.filter-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    color: var(--accent-white);
    font-size: 0.9rem;
    user-select: none;
}

.filter-checkbox input {
    accent-color: var(--accent-color);
    width: 16px;
    height: 16px;
    cursor: pointer;
}

/* RodapÃ© */
.filters-footer {
    padding: 20px 0 24px;
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    border-top: 1px solid var(--border-color-light);
}

.btn-filter-reset {
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-std);
    color: var(--text-secondary);
    padding: 8px 20px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}
.btn-filter-reset:hover { border-color: var(--accent-white); color: var(--accent-white); }

.btn-filter-apply {
    background: var(--accent-color); /* Amarelo Binance */
    color: var(--accent-text, #000);
    border: none;
    border-radius: var(--radius-std);
    padding: 8px 24px;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.1s;
}
.btn-filter-apply:hover {
    filter: brightness(0.9);
}



















/* =========================================
   BINANCE COMPACT BANNER (Layout Horizontal Fixo)
   ========================================= */

/* Container Principal */
.top-panel-item.promotional-panel.binance-banner-compact {
    grid-column: span 2; /* Ocupa 2 colunas no grid pai */
    width: 100%;
    margin-left: 0px;
    /* Altura fixa compacta */
    height: 55px !important;
    min-height: 55px !important;
    max-height: 55px !important;
    aspect-ratio: auto !important;
    
    background-color: rgb(108 108 108 / 7%);
    border-color: rgba(252, 213, 53, .4);
    border-radius: var(--radius-std);
    padding: 0;
    overflow: hidden;
    position: relative;
    display: block;
    margin-bottom: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* InformaÃ§Ã£o sobre altura mÃ¡xima no banner compacto */
.top-panel-item.promotional-panel.binance-banner-compact::after {
    content: 'Max: 55px';
    position: absolute;
    top: 2px;
    right: 8px;
    font-size: 0.6rem;
    color: var(--text-muted);
    opacity: 0.5;
    font-weight: 600;
    z-index: 10;
    pointer-events: none;
}

/* Flex Container que segura os 3 blocos */
.banner-flex-container-compact {
    display: flex;
    flex-direction: row;
    align-items: center; /* Centraliza verticalmente */
    justify-content: space-between; /* Espalha horizontalmente */
    padding: 0 12px;
    height: 100%;
    max-height: 55px;
    gap: 10px;
}

/* --- BLOCO 1: TEXTO (Esquerda) --- */
.banner-text-section {
    flex: 0 0 35%; /* Ocupa ~35% da largura */
    display: flex;
    flex-direction: column;
    justify-content: center;
    line-height: 1.1;
    z-index: 2;
}

.promotional-title-compact {
    font-family: 'Inter', sans-serif;
    font-size: 1.1rem; /* Tamanho controlado */
    font-weight: 700;
    color: #fff;
    margin: 0 0 4px 0;
}

.text-highlight {
    color: #FCD535; /* Amarelo Binance */
}

.promotional-subtitle-compact {
    font-size: 0.75rem;
    color: #848e9c;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* --- BLOCO 2: ESTATÃSTICAS (Meio - Grid 2x2) --- */
.banner-stats-section {
    flex: 1; /* Ocupa o espaÃ§o que sobrar no meio */
    display: grid;
    grid-template-columns: 1fr 1fr; /* 2 colunas */
    grid-template-rows: 1fr 1fr;    /* 2 linhas */
    gap: 6px 12px; /* Gap pequeno vertical, mÃ©dio horizontal */
    justify-content: center;
    max-width: 400px; /* NÃ£o deixa esticar demais */
}

/* Os Micro Cards com Borda */
.stat-card-micro {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 120px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--radius-std);
    padding: 4px 10px; /* Padding interno pequeno */
    
    height: 42px; /* Altura fixa para alinhar o grid */
    transition: all 0.2s ease;
}
.stat-card-micro:hover {
    border-color: rgba(252, 213, 53, 0.4);
    background: rgba(255, 255, 255, 0.05);
}

#threejs-galaxy-container {
    width: 100%;
    height: 350px; /* Altura ajustÃ¡vel conforme necessidade */
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: -40px; /* Puxa o banner de baixo um pouco para cima para integrar */
    z-index: 1; /* Fica atrÃ¡s do banner se sobrepor */
}

.stat-label-micro {
    font-size: 0.55rem;
    color: #5e6673;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 2px;
    top: 0px;
    position: relative;
    z-index: 13;
}

.stat-content {
    display: flex;
    flex-direction: column;
    min-width: 60px;
    width: 100%;
    /* overflow: hidden; */
    text-align: right;
}

/* AnimaÃ§Ãµes */
.floating-group { animation: serverFloat 6s ease-in-out infinite; transform-origin: center; }
@keyframes serverFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
.pulsing-core { animation: corePulse 3s infinite; }
@keyframes corePulse { 0%, 100% { opacity: 0.8; r: 8; } 50% { opacity: 0.4; r: 6; } }
.floating-particle { opacity: 0.8; }
.p1 { animation: particleFloat 4s ease-in-out infinite alternate; }
@keyframes particleFloat { 0% { transform: translate(0, 0); opacity: 0.4; } 100% { transform: translate(0, -5px); opacity: 1; } }

/* --- BACKGROUND ANIMADO DE REDE (Global) --- */
#digital-network-bg {
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    z-index: -1;
    background: linear-gradient(135deg, var(--bg-body) 0%, var(--bg-body-secondary) 100%);
    pointer-events: none;
}

/* --- MOBILE --- */
@media (max-width: 768px) {
    .top-panel-item.promotional-panel.binance-banner-compact {
        height: 55px !important;
        max-height: 55px !important;
        min-height: 55px !important;
        padding: 0 10px;
        grid-column: span 1;
    }
    
    .banner-flex-container-compact {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
    
    .banner-text-section {
        max-width: 100%;
        text-align: left;
    }
    
    .banner-stats-section {
        width: 100%;
        max-width: 100%;
    }
}

#toggle-filters-btn {
    position: relative !important; /* Segura o Ã­cone dentro do botÃ£o */
    overflow: visible !important;  /* Permite que o Ã­cone "saia" um pouquinho da borda sem ser cortado */
}


.form-select-square {
    border-radius: var(--square-radius) !important;
    border: 1px solid var(--panel-border);
    font-size: 0.8rem;
}

.btn-square {
    border-radius: var(--square-radius) !important;
}

.btn-cta-yellow {
    background: var(--accent-primary) !important;
    color: var(--accent-text) !important;
    border: 1px solid var(--accent-primary) !important;
    transition: all 0.2s;
}
.btn-cta-yellow:hover {
    background: #F0B90B !important;
    border-color: #F0B90B !important;
    color: var(--accent-text) !important;
}

/* Ads Banners */
.holographic-ad {
    position: relative;
    height: 55px;
    max-height: 55px;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    transition: all 0.3s ease;
    box-shadow: none !important;
}

.holographic-ad:hover {
    transform: scale(1.01);
}

/* Wrapper do banner com imagem */
.ad-banner-wrapper {
    border-radius: var(--side-padding);
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

/* Imagem do banner - cobre toda Ã¡rea */
.ad-banner-image {
    /*filter: grayscale(100%);*/
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    
    /* Cursor Lupa Premium: Amarelo com Borda Preta e sinal de + */
    cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24" fill="none"><defs><filter id="a" x="0" y="0" width="24" height="24"><feDropShadow dx="1" dy="1" stdDeviation="1" flood-opacity="0.5"/></filter></defs><path d="M15 15L21 21" stroke="black" stroke-width="5" stroke-linecap="round"/><circle cx="10" cy="10" r="7" stroke="black" stroke-width="5"/><path d="M15 15L21 21" stroke="%23FCD535" stroke-width="2" stroke-linecap="round"/><circle cx="10" cy="10" r="7" fill="rgba(0,0,0,0.2)" stroke="%23FCD535" stroke-width="2"/><path d="M7 10H13M10 7V13" stroke="%23FCD535" stroke-width="2" stroke-linecap="round"/></svg>') 10 10, zoom-in;
    
    transition: transform 0.3s ease;
}

.ad-banner-wrapper:hover .ad-banner-image {
    transform: scale(1.02);
}

/* Efeito Shimmer/Brilho Moderno */
.ad-shimmer {
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.2) 30%,
        rgba(255, 255, 255, 0.4) 50%,
        rgba(255, 255, 255, 0.2) 70%,
        transparent 100%
    );
    transform: skewX(-25deg);
    animation: shimmer 5s ease-in-out infinite;
    pointer-events: none;
    z-index: 2;
    filter: blur(1px);
}

@keyframes shimmer {
    0% {
        left: -100%;
        opacity: 0;
    }
    10% {
        opacity: 1;
    }
    90% {
        opacity: 1;
    }
    100% {
        left: 100%;
        opacity: 0;
    }
}

/* Delay para o segundo banner */
.holographic-ad:nth-child(2) .ad-shimmer {
    animation-delay: 2.5s;
}

/* Texto "Announce Here" com efeitos */
.ad-announce-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    pointer-events: none;
    text-align: center;
}

.ad-announce-word {
    font-size: 0.7rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #EAECEF;
    text-shadow: 
        0 0 10px rgba(252, 213, 53, 0.8),
        0 0 20px rgba(252, 213, 53, 0.6),
        0 0 30px rgba(252, 213, 53, 0.4),
        0 2px 4px rgba(0, 0, 0, 0.8),
        0 0 0 1px rgba(0, 0, 0, 0.5);
    filter: drop-shadow(0 0 8px rgba(252, 213, 53, 0.9));
    animation: announceGlow 2s ease-in-out infinite alternate;
    line-height: 1.2;
}

.ad-announce-word:nth-child(2) {
    animation-delay: 0.1s;
}

@keyframes announceGlow {
    0% {
        text-shadow: 
            0 0 10px rgba(252, 213, 53, 0.8),
            0 0 20px rgba(252, 213, 53, 0.6),
            0 0 30px rgba(252, 213, 53, 0.4),
            0 2px 4px rgba(0, 0, 0, 0.8),
            0 0 0 1px rgba(0, 0, 0, 0.5);
        filter: drop-shadow(0 0 8px rgba(252, 213, 53, 0.9));
    }
    100% {
        text-shadow: 
            0 0 15px rgba(252, 213, 53, 1),
            0 0 25px rgba(252, 213, 53, 0.8),
            0 0 35px rgba(252, 213, 53, 0.6),
            0 2px 4px rgba(0, 0, 0, 0.8),
            0 0 0 1px rgba(0, 0, 0, 0.5);
        filter: drop-shadow(0 0 12px rgba(252, 213, 53, 1));
    }
}

.holographic-ad:hover .ad-announce-word {
    color: var(--accent-primary);
    text-shadow: 
        0 0 20px rgba(252, 213, 53, 1),
        0 0 30px rgba(252, 213, 53, 0.9),
        0 0 40px rgba(252, 213, 53, 0.7),
        0 2px 4px rgba(0, 0, 0, 0.8),
        0 0 0 1px rgba(0, 0, 0, 0.5);
    filter: drop-shadow(0 0 15px rgba(252, 213, 53, 1));
}

/* Badge de tamanho no canto direito - Discreto */
.ad-size-badge {
    position: absolute;
    bottom: 3px;
    right: 4px;
    background: rgba(11, 14, 17, 0.6);
    border: 1px solid rgba(132, 142, 156, 0.3);
    border-radius: var(--radii-xs);
    padding: 1px 4px;
    z-index: 4;
    pointer-events: none;
    opacity: 0.5;
    transition: opacity 0.2s ease;
}

.holographic-ad:hover .ad-size-badge {
    opacity: 0.8;
}

.ad-size-badge small {
    font-size: 0.55rem;
    color: rgba(132, 142, 156, 0.8);
    font-weight: 500;
    font-family: monospace;
    letter-spacing: 0.5px;
}

.banner-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(11, 14, 17, 0.95);
    backdrop-filter: blur(10px);
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    animation: fadeIn 0.3s ease forwards;
}

@keyframes fadeIn {
    to { opacity: 1; }
}

.banner-modal-container {
    position: relative;
    width: 90%;
    max-width: 1200px;
    height: 90vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

.banner-modal-content {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

.banner-modal-content .banner-modal-info {
    position: absolute;
    bottom: 100px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    z-index: 5;
    width: 100%;
}

.banner-modal-image {
    max-width: 100%;
    max-height: calc(90vh - 150px);
    object-fit: contain;
    object-position: center;
    border-radius: var(--radius-std);
    box-shadow: 0 0 50px rgba(252, 213, 53, 0.3);
    border: 2px solid var(--accent-primary);
    background: var(--accent-text);
    padding: 10px;
}

.banner-modal-info {
    text-align: center;
    color: var(--accent-white);
}

.banner-modal-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--accent-primary);
    margin-bottom: 8px;
}

.banner-modal-size {
    font-size: 0.9rem;
    color: var(--text-muted);
    font-family: monospace;
}

/* BotÃµes do modal */
.banner-modal-close {
    position: absolute;
    top: 0;
    right: 0;
    width: 45px;
    height: 45px;
    background: var(--text-gray-dark);
    border: 1px solid var(--border-color);
    border-top: none;
    border-right: none;
    color: var(--accent-white);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: default;
    transition: all 0.3s ease;
    z-index: 10;
    font-size: 1.2rem;
}

.banner-modal-close:hover {
    background: var(--accent-primary);
    border-color: var(--accent-primary);
    color: var(--accent-text);
    transform: scale(1.1);
}

.banner-modal-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    background: var(--text-gray-dark);
    border: 1px solid var(--border-color);
    border-radius: var(--radii-xs);
    color: var(--accent-white);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: default;
    transition: all 0.3s ease;
    z-index: 10;
    font-size: 1.2rem;
}

.banner-modal-nav:hover {
    background: var(--accent-primary);
    border-color: var(--accent-primary);
    color: var(--accent-text);
    transform: translateY(-50%) scale(1.1);
}

.banner-modal-prev {
    left: 20px;
}

.banner-modal-next {
    right: 20px;
}

.banner-modal-actions {
    position: absolute;
    bottom: 30px;
    display: flex;
    gap: 15px;
    z-index: 10;
}

.banner-modal-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: var(--accent-primary);
    color: var(--accent-text);
    border: none;
    border-radius: var(--radii-xs);
    font-weight: 700;
    text-decoration: none;
    cursor: default;
    transition: all 0.3s ease;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.banner-modal-link:hover {
    background: var(--accent-hover);
    transform: translateY(-2px);
    box-shadow: 0 5px 20px rgba(252, 213, 53, 0.4);
}

/* Responsive - Modal */
@media (max-width: 768px) {
    .banner-modal-container {
        width: 95%;
        height: 95vh;
    }
    
    .banner-modal-image {
        max-height: calc(95vh - 200px);
    }
    
    .banner-modal-nav {
        width: 40px;
        height: 40px;
        font-size: 1rem;
    }
    
    .banner-modal-prev {
        left: 10px;
    }
    
    .banner-modal-next {
        right: 10px;
    }
    
    .banner-modal-close {
        top: 0;
        right: 0;
        width: 40px;
        height: 40px;
    }
    
    .banner-modal-content .banner-modal-info {
        bottom: 80px;
    }
    
    .banner-modal-actions {
        bottom: 15px;
    }
    
    .banner-modal-link {
        padding: 10px 20px;
        font-size: 0.8rem;
    }
}

/* --- TOOLBAR PANEL (ONDE FICAM OS BOTÃ•ES DE FILTRO E PAGINAÃ‡Ã•ES) --- */
.toolbar-panel {
    background: var(--panel-bg);
    border: 1px solid var(--panel-border);
    border-radius: var(--side-padding);
    width: 100%;
    max-width: 100%;
}

.toolbar-layout {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 16px;
    align-items: center;
    width: 100%;
    max-width: 100%;
}

.toolbar-center {
    display: none;
}

.toolbar-right {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    min-width: 120px;
}

/* Custom Search Input */
.search-container {
    max-width: 600px; /* Aumentado de 450px */
    width: 100%;
}

/* Em telas ultra-largas, search pode ser ainda maior */
@media (min-width: 1920px) {
    .search-container {
        max-width: 800px;
    }
}

@media (min-width: 1600px) and (max-width: 1919px) {
    .search-container {
        max-width: 700px;
    }
}

/* --- FILTER TAGS (PILLS) --- */
.filter-tags-container {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}

.btn-filter-tag.active {
    background: linear-gradient(135deg, rgb(0 255 154 / 20%) 0%, rgb(0 255 166 / 15%) 100%);
    color: rgb(0 255 137 / 95%) !important;
    border: 1px solid rgb(0 165 59 / 50%);
    font-weight: 800 !important;
}

.filter-section-title {
    font-family: 'Inter', 'Rajdhani', sans-serif;
    font-size: 0.65rem;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
    font-weight: 700;
    margin-bottom: 8px;
    display: block;
    letter-spacing: 1.2px;
}

.rate-input-row {
    display: grid;
    grid-template-columns: 40px 1fr 10px 1fr;
    align-items: center;
    gap: 5px;
    margin-bottom: 6px;
}
.rate-label { font-size: 0.75rem; color: var(--text-secondary); }
.rate-dash { text-align: center; color: var(--text-muted); }

/* --- CUSTOM RANGE SLIDER (COM PREENCHIMENTO CYAN) --- */
.custom-range {
    appearance: none;
    -webkit-appearance: none;
    width: 100%;
    height: 4px;
    background: linear-gradient(to right, rgba(0, 229, 255, 0.8) 0%, rgba(255, 255, 255, 0.1) 0%);
    border-radius: 0px;
    outline: none;
    margin-top: 8px;
    margin-bottom: 12px;
    padding: 0;
    cursor: default;
    position: relative;
}

.custom-range:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 229, 255, 0.1);
}

.custom-range::-webkit-slider-runnable-track {
    width: 100%;
    height: 4px;
    cursor: default;
    background: transparent;
    border: 1px solid rgba(0, 229, 255, 0.2);
    border-radius: 0px;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3);
}

.custom-range::-moz-range-track {
    width: 100%;
    height: 4px;
    cursor: default;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(0, 229, 255, 0.2);
    border-radius: 0px;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3);
}

.custom-range::-moz-range-progress {
    background: linear-gradient(90deg, 
        rgba(0, 229, 255, 0.9) 0%, 
        rgba(0, 229, 255, 0.7) 100%);
    height: 4px;
    border-radius: 0px;
    box-shadow: 0 0 8px rgba(0, 229, 255, 0.4);
}

.custom-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    height: 14px;
    width: 14px;
    border-radius: 0px;
    background: rgba(0, 229, 255, 0.95);
    border: 2px solid rgba(10, 14, 20, 0.9);
    cursor: default;
    margin-top: -6px;
    box-shadow: 
        0 0 0 1px rgba(0, 229, 255, 0.3),
        0 0 12px rgba(0, 229, 255, 0.5),
        0 2px 4px rgba(0, 0, 0, 0.3);
    transition: all 0.2s ease;
}

.custom-range::-moz-range-thumb {
    height: 14px;
    width: 14px;
    border: 2px solid rgba(10, 14, 20, 0.9);
    border-radius: 0px;
    background: rgba(0, 229, 255, 0.95);
    cursor: default;
    box-shadow: 
        0 0 0 1px rgba(0, 229, 255, 0.3),
        0 0 12px rgba(0, 229, 255, 0.5),
        0 2px 4px rgba(0, 0, 0, 0.3);
    transition: all 0.2s ease;
}

.custom-range::-webkit-slider-thumb:hover {
    transform: scale(1.15);
    box-shadow: 
        0 0 0 2px rgba(0, 229, 255, 0.5),
        0 0 20px rgba(0, 229, 255, 0.7),
        0 3px 6px rgba(0, 0, 0, 0.4);
    background: rgba(0, 229, 255, 1);
}

.custom-range::-moz-range-thumb:hover {
    transform: scale(1.15);
    box-shadow: 
        0 0 0 2px rgba(0, 229, 255, 0.5),
        0 0 20px rgba(0, 229, 255, 0.7),
        0 3px 6px rgba(0, 0, 0, 0.4);
    background: rgba(0, 229, 255, 1);
}
    transform: scale(1.2);
    box-shadow: 0 0 10px var(--tibialist-cyan-glow);
}

















.filter-flag-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 6px;
}

/* Fallback para PNG se ainda existir */
.filter-flag-icon img {
    width: 20px;
    height: 15px;
    object-fit: cover;
    border-radius: 1px;
}

/* Heart icon favoritos - SVG outline */
.heart-icon {
    stroke: var(--text-muted);
    transition: all 0.2s ease;
}

.heart-icon.heart-favorited {
    stroke: #F6465D !important; /* Vermelho Binance quando favoritado */
    filter: drop-shadow(0 0 4px rgba(246, 70, 93, 0.5));
}

/* Uptime cell */
.uptime-cell {
    text-align: center;
    height: 32px !important; /* Altura fixa padronizada */
    padding: 0 !important; /* Remove padding para centralizar verticalmente */
}

/* Verde para uptime alto (>= 90%) */
.uptime-cell[data-uptime]:not([data-uptime="-"]) .uptime-value {
    color: var(--status-up);
}

.filter-badge.badge-green {
    background-color: var(--status-up) !important;
    color: #000 !important;
    border: 1px solid var(--bg-body);
    box-shadow: none;
    position: absolute;
    top: -6px;
    right: -6px;
    z-index: 10;
    min-width: 18px;
    height: 18px;
    border-radius: 50%;
    font-size: 0.65rem;
    font-weight: 700;
    display: flex; /* Importante para centralizar o nÃºmero */
    align-items: center;
    justify-content: center;
    padding: 0 4px;
}


/* =========================================
   2. STATS BAR (COMPACT & DISCRETA)
   ========================================= */
.stats-section-compact {
    background: rgba(26, 29, 33, 0.6); /* Mais transparente/discreto */
    border: 1px solid var(--sd-border);
    border-radius: 8px;
    padding: 12px 15px;
    margin-bottom: 20px;
    backdrop-filter: blur(5px);
}

.stats-compact-row {
    display: flex;
    justify-content: space-around; /* Espalha os itens */
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
}

.stat-item-compact {
    display: flex;
    align-items: center;
    gap: 12px;
}

.stat-icon-wrapper-compact {
    width: 32px;
    height: 32px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    background: rgba(255, 255, 255, 0.03);
}

/* Cores dos Ãcones */
.stat-icon-servers { color: #3b82f6; }
.stat-icon-players { color: #10b981; }
.stat-icon-uptime { color: var(--accent-hover); }
.stat-icon-countries { color: #8b5cf6; }

.stat-content-compact {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}

.stat-value-compact {
    font-size: 1rem;
    font-weight: 700;
    color: var(--sd-text-main);
}

.stat-label-compact {
    font-size: 0.6rem;
    text-transform: uppercase;
    color: var(--sd-text-muted);
    font-weight: 600;
}

/* =========================================
   3. SIDEBAR & RIBBON (BANDEIRA)
   ========================================= */


/* RIBBON STYLE (Faixa de Canto) */
.ribbon-wrapper {
    position: absolute;
    top: 0;
    right: 0;
    width: 75px;
    height: 75px;
    overflow: unset;
    z-index: 10;
    pointer-events: none;
    opacity: 0.7;
}

.ribbon {
    position: absolute;
    top: 34px;
    right: -44px;
    width: 130%;
    height: 60%;
    z-index: 400;
    background-color: #333;
    background-size: cover;
    background-position: center;
    transform: rotate(44deg) translateY(-20px) translateX(-35px);
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.5);
    border: none;
}

/* CSS Extra para o Ribbon */
.server-card-left {
    position: relative;
    overflow: hidden; /* Importante para cortar a ponta da faixa */
}

.sidebar-divider {
    border: 0;
    height: 1px;
    background-image: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0));
    margin: 15px 0;
}


.heart-icon-details {
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.rate-icon-loot i {
    color: #e91e63;
}
.disabled-favorite {
    cursor: not-allowed;
}
.ribbon .fi {
    display: none;
}


/* =========================================
   BANDEIRA ANIMADA NO LOGO
   ========================================= */
.server-flag-animated {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    opacity: 1;
    transform: scale(1);
    transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.server-flag-animated.fade-out {
    opacity: 0;
    transform: scale(0.8) rotate(-10deg);
}

.flag-image-animated {
    width: 80px;
    height: 60px;
    border-radius: 8px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
    border: 2px solid rgba(255, 255, 255, 0.2);
    animation: flagWave 2s ease-in-out infinite;
}

@keyframes flagWave {
    0%, 100% { transform: rotate(0deg) scale(1); }
    25% { transform: rotate(-2deg) scale(1.02); }
    75% { transform: rotate(2deg) scale(1.02); }
}

.submenu-container { max-height: 0; overflow: hidden; transition: max-height 0.3s ease-out; }
.nav-item.active .submenu-container { max-height: 500px; }
.submenu-inner {
    padding: 2px 0 2px 20px;
    display: flex;
    flex-direction: column;
    border-left: 1px solid rgba(255,255,255,0.05);
    margin-left: 20px;
}
.sub-nav-link {
    padding: 6px 10px;
    color: var(--sd-text-muted);
    text-decoration: none;
    font-size: 0.75rem;
    transition: color 0.2s;
}
.sub-nav-link:hover { color: var(--sd-text-main); }
.sub-nav-link.active { color: var(--sd-accent); font-weight: 500; }

/* Status */
.server-details-status { border-top: 1px solid var(--sd-border); padding-top: 15px; margin-top: 10px; }
.server-status-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 5px; }
.server-status-title { font-size: 0.7rem; text-transform: uppercase; color: var(--sd-text-muted); font-weight: 700; margin: 0; }
.server-status-badge { padding: 2px 8px; border-radius: 4px; font-weight: 700; }
.status-online { 
    color: #10b981 !important; /* Verde Sucesso */
    border-color: rgba(16, 185, 129, 0.3);
    background: rgba(16, 185, 129, 0.1);
}
.status-offline { background: rgba(218, 54, 51, 0.15); color: #da3633; border: 1px solid rgba(218, 54, 51, 0.3); }
.server-status-time { font-size: 0.7rem; color: var(--sd-text-muted); margin: 0; }

/* =========================================
   6. CARDS & PANELS (Right Side)
   ========================================= */
.server-card-modern {
    border: 1px solid var(--border-color);
    border-radius: 0;
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--bg-card);
    transition: border-color 0.2s ease;
}

.server-card-modern:hover {
    border-color: color-mix(in oklab, var(--border-color) 100%, white 20%);
}

.card-header-modern {
    padding: 12px 15px;
    border-bottom: 1px solid var(--border-color);
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 58px;
    background: transparent;
}

.card-title-modern {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text-primary);
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}

.card-body-modern {
    padding: 15px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* Info Grid (Grid system fix) */
.info-grid-modern {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 15px;
    margin-bottom: 15px;
}

.info-item-modern { display: flex; flex-direction: column; gap: 2px; }
.info-label { font-size: 0.65rem; text-transform: uppercase; color: var(--text-muted); font-weight: 600; }
.info-value { font-size: 0.85rem; color: var(--text-primary); font-weight: 500; display: flex; align-items: center; gap: 5px; }

/* Rates Grid - Estilo Horizontal Compacto */
.rates-container {
    display: grid;
    /* Ajusta automaticamente: mÃ­nimo 110px, mÃ¡ximo 1fr */
    grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
    gap: 8px;
    margin-top: auto;
}

.rate-box {
    background: var(--bg-card-secondary);
    border: 1px solid var(--border-color);
    border-radius: 0;
    padding: 6px 10px;
    display: flex;
    flex-direction: row; 
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    transition: all 0.2s ease;
}

.rate-box:hover {
    border-color: var(--accent-primary);
    background: color-mix(in oklab, var(--accent-primary) 8%, transparent);
}

/* Ãcone na esquerda */
.rate-icon-svg {
    font-size: 1.1rem;
    color: var(--accent-primary);
    margin-bottom: 0;
    width: 24px; 
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
}

.rate-content-wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1;
}

.rate-num {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--text-primary);
}

.rate-name {
    font-size: 0.6rem;
    text-transform: uppercase;
    color: var(--text-muted);
    font-weight: 600;
    margin-top: 2px;
}

/* Boosted Creatures */
.boosted-display {
    display: flex;
    align-items: center;
    justify-content: space-around;
    height: 100%;
    padding-bottom: 6px;
}
.creature-slot { display: flex; flex-direction: column; align-items: center; gap: 8px; flex: 1; }
.creature-frame {
    width: 54px;
    height: 54px;
    background: var(--bg-card-secondary);
    border: 1px solid var(--border-color);
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: all 0.2s ease;
}
.creature-slot:hover .creature-frame { border-color: var(--accent-primary); }
.creature-img { max-width: 40px; max-height: 40px; object-fit: contain; }
.creature-tag { font-size: 0.6rem; color: var(--accent-primary); text-transform: uppercase; letter-spacing: 0.5px; }
.creature-name { font-size: 0.75rem; font-weight: 600; color: var(--text-primary); text-align: center; }

.boosted-btn {
    width: 100%;
    background: var(--bg-card-secondary);
    border: 1px solid var(--border-color);
    color: var(--text-secondary);
    font-size: 0.75rem;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border-radius: 0;
    padding: 6px 10px;
    height: 40px;
}
.boosted-btn:hover { background: var(--accent-primary); color: #000; border-color: var(--accent-primary); }

/* Latency Widget */
.latency-widget-modern {
    background: var(--bg-card-secondary);
    border: 1px solid var(--border-color);
    border-radius: 0;
    padding: 4px 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.latency-dot { width: 6px; height: 6px; border-radius: 50%; background-color: var(--text-muted); animation: pulse-green-radar 2s infinite cubic-bezier(0.66, 0, 0, 1); }
.latency-dot.good { background-color: var(--status-up); }
.latency-dot.medium { background-color: var(--accent-primary); }
.latency-dot.bad { background-color: var(--status-down); }
.latency-content { display: flex; flex-direction: column; line-height: 1; }
.latency-label { font-size: 0.55rem; text-transform: uppercase; color: var(--text-muted); font-weight: 600; margin-bottom: 1px; }
.latency-value-row { display: flex; align-items: baseline; gap: 2px; }
.latency-number { font-family: 'Roboto Mono', monospace; font-weight: 600; font-size: 0.8rem; color: var(--text-primary); }
.latency-unit { font-size: 0.65rem; color: var(--text-muted); }

.copy-btn { background: none; border: none; color: var(--accent-primary); cursor: pointer; padding: 0 4px; opacity: 0.7; transition: opacity 0.2s ease; }
.copy-btn:hover { opacity: 1; }

@media (max-width: 991px) {
    .rates-container { grid-template-columns: repeat(2, 1fr); }
    .server-details-sidebar { z-index: 5; margin-bottom: 20px; }
}

/* --- Header Compact Stats --- */
.header-stats-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 8px;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 0;
    padding: 8px;
}

.h-stat-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 4px;
    position: relative;
}

/* Linha divisÃ³ria entre itens (opcional) */
.h-stat-item:not(:last-child)::after {
    content: '';
    position: absolute;
    right: -4px;
    top: 10%;
    height: 80%;
    width: 1px;
    background: var(--sd-border);
    opacity: 0.5;
}

.h-stat-icon-wrapper {
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.h-stat-icon-wrapper svg {
    width: 14px;
    height: 14px;
    fill: currentColor;
}

.h-stat-info {
    display: flex;
    flex-direction: column;
    line-height: 1;
}

.h-stat-value {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--sd-text-main);
    font-family: 'Roboto Condensed', sans-serif;
}

.h-stat-label {
    font-size: 0.6rem;
    text-transform: uppercase;
    color: var(--sd-text-muted);
    font-weight: 600;
    margin-top: 2px;
}

/* Estilo DEV para Embed Code (Mesmo do Widget Ping Map) */
.dev-embed-wrapper { background: var(--bg-body); border: 1px solid var(--border-color); border-radius: 0; padding: 20px; margin-top: 15px; }
.dev-controls-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; flex-wrap: wrap; gap: 15px; }
.dev-label-title { font-size: 0.9rem; font-weight: 600; color: #e6edf3; display: flex; align-items: center; gap: 8px; }
.dev-controls-group { display: flex; gap: 10px; }
.dev-select-box { display: flex; align-items: center; gap: 8px; background: #161a1e; padding: 4px 12px; border-radius: 4px; border: 1px solid rgba(255,255,255,0.05); }
.dev-select-label { font-size: 11px; font-weight: 700; color: #848e9c; text-transform: uppercase; }
.dev-select { background: transparent; border: none; color: #FCD535; font-size: 13px; font-weight: 500; cursor: pointer; outline: none; }
.dev-select option { background: #161a1e; color: #fff; }
.dev-code-wrap { position: relative; background: #161a1e; border: 1px solid rgba(255,255,255,0.05); border-radius: 8px; padding: 0; overflow: hidden; }
.dev-code-pre { background: #161a1e !important; padding: 1.25rem !important; padding-right: 5rem !important; margin: 0; font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace; font-size: 0.85rem; color: #a9b7c6; line-height: 1.5; white-space: pre-wrap; word-break: break-all; max-height: 120px; overflow-y: auto !important; }
.dev-btn-copy { position: absolute; top: 12px; right: 12px; z-index: 10; background: rgba(255, 193, 7, 0.1); border: 1px solid rgba(255, 193, 7, 0.2); color: #FCD535; font-size: 0.75rem; font-weight: 600; padding: 4px 12px; border-radius: 4px; cursor: pointer; transition: all 0.2s; display: flex; align-items: center; gap: 6px; }
.dev-btn-copy:hover { background: rgba(255, 193, 7, 0.2); transform: translateY(-1px); color: #fff; }
.dev-copy-feedback { position: absolute; top: 15px; right: 90px; font-size: 11px; color: #2ea043; font-weight: 600; opacity: 0; transition: opacity 0.3s; pointer-events: none; }
.dev-copy-feedback.show { opacity: 1; }

/* Estilo para Host Information */
.host-info-detailed .info-card {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 6px;
    padding: 10px;
    margin-bottom: 8px;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 10px;
}
.host-info-detailed .info-card:hover {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
    transform: translateY(-1px);
}
.host-info-detailed .info-icon {
    font-size: 1rem;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}
.host-info-detailed .info-icon.ip { background: rgba(0, 255, 136, 0.2); color: #00ff88; box-shadow: 0 0 8px rgba(0, 255, 136, 0.4); }
.host-info-detailed .info-icon.port { background: rgba(255, 215, 0, 0.2); color: #ffd700; box-shadow: 0 0 8px rgba(255, 215, 0, 0.4); }
.host-info-detailed .info-icon.isp { background: rgba(52, 152, 219, 0.2); color: #3498db; box-shadow: 0 0 8px rgba(52, 152, 219, 0.4); }
.host-info-detailed .info-icon.org { background: rgba(155, 89, 182, 0.2); color: #9b59b6; box-shadow: 0 0 8px rgba(155, 89, 182, 0.4); }
.host-info-detailed .info-icon.country { background: rgba(46, 204, 113, 0.2); color: #2ecc71; box-shadow: 0 0 8px rgba(46, 204, 113, 0.4); }
.host-info-detailed .info-icon.region { background: rgba(231, 76, 60, 0.2); color: #e74c3c; box-shadow: 0 0 8px rgba(231, 76, 60, 0.4); }
.host-info-detailed .info-icon.city { background: rgba(241, 196, 15, 0.2); color: #f1c40f; box-shadow: 0 0 8px rgba(241, 196, 15, 0.4); }
.host-info-detailed .info-icon.timezone { background: rgba(155, 89, 182, 0.2); color: #9b59b6; box-shadow: 0 0 8px rgba(155, 89, 182, 0.4); }
.host-info-detailed .info-icon.coords { background: rgba(231, 76, 60, 0.2); color: #e74c3c; box-shadow: 0 0 8px rgba(231, 76, 60, 0.4); }
.host-info-detailed .info-icon.asn { background: rgba(52, 73, 94, 0.2); color: #34495e; box-shadow: 0 0 8px rgba(52, 73, 94, 0.4); }
.host-info-detailed .info-content {
    flex: 1;
}
.host-info-detailed .info-label {
    font-size: 0.65rem;
    color: rgba(255, 255, 255, 0.5);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: 2px;
    font-weight: 600;
}
.host-info-detailed .info-value {
    font-size: 0.8rem;
    color: #fff;
    font-weight: 500;
}

/* Experience Stages Styles */
.stage-card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    padding: 15px;
    transition: all 0.3s ease;
    margin-bottom: 10px;
}
.stage-card:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.15);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
.stage-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}
.stage-level {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.7);
    font-weight: 500;
}
.stage-multiplier {
    font-size: 0.9rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.1);
}
.stage-multiplier.text-success {
    color: #28a745;
    background: rgba(40, 167, 69, 0.2);
}
.stage-multiplier.text-warning {
    color: #ffc107;
    background: rgba(255, 193, 7, 0.2);
}
.stage-multiplier.text-info {
    color: #17a2b8;
    background: rgba(23, 162, 184, 0.2);
}
.stage-multiplier.text-secondary {
    color: var(--text-secondary);
    background: rgba(108, 117, 125, 0.2);
}
.stage-progress {
    margin-top: 8px;
}
.progress-bar.bg-gradient {
    background: linear-gradient(90deg, #28a745, #ffc107, #dc3545) !important;
}

/* ===== CARDS ===== */
.card {
    background: var(--clean-bg-pages);
    border: solid 1px #333b47d4;
    border-radius: var(--radius-big);
    padding: 20px;
    transition: all var(--transition-fast);
}
.card:hover {
    /*border-color: var(--accent-color);*/
}

/* ===== BUTTONS ===== */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 20px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    border: 1px solid transparent;
}
.btn:hover {
    background: var(--bg-tertiary);
    border-color: var(--accent-color);
    color: var(--accent-white);
}

/* ===== BADGES ===== */
.mini-badge {
    padding: 1px 8px;
    border-radius: 4px;
    font-size: 0.6rem;
    font-weight: 600;
}

.badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: rgba(255, 255, 255, 0.05);
    color: var(--text-secondary);
    line-height: 1.2;
    border-radius: var(--radius-std);
    padding: 4px 8px;
    font-size: 0.7rem;
    font-weight: 600;
}

.badge.online {
    background: rgba(16, 185, 129, 0.1);
    color: var(--accent-color);
}

.badge.offline {
    background: rgba(239, 68, 68, 0.1);
    color: #ef4444;
}

.badge.highlighted {
    background: linear-gradient(135deg, rgba(0, 229, 255, 0.1), rgba(0, 208, 255, 0.1));
    color: var(--tibialist-cyan);
}

/* ===== FORMS ===== */
.form-group {
    margin-bottom: 20px;
}

.form-label {
    display: block;
    margin-bottom: 8px;
    color: var(--accent-white);
    font-weight: 500;
    font-size: 0.9rem;
}

/* ===== DROPDOWNS ===== */
.dropdown-menu {
    background: var(--bg-card-secondary);
    border: 1px solid var(--border-color);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
    padding: 8px;
}

.dropdown-item {
    padding: 10px 12px;
    color: var(--accent-white);
    text-decoration: none;
    display: block;
    transition: all var(--transition-fast);
}

.dropdown-item:hover {
    background: var(--bg-tertiary);
    color: var(--accent-color);
}

/* ===== ALERTS ===== */
.alert {
    padding: 16px 20px;
    border: 1px solid;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
}

.alert-success {
    background: #000000;
    border-color: var(--accent-color);
    color: var(--accent-color);
}

.alert-error {
    background: rgba(239, 68, 68, 0.1);
    border-color: #ef4444;
    color: #ef4444;
}

.alert-warning {
    background: rgba(251, 191, 36, 0.1);
    border-color: #fbbf24;
    color: #fbbf24;
}

.alert-info {
    background: rgba(59, 130, 246, 0.1);
    border-color: #3b82f6;
    color: #3b82f6;
}

/* ===== SPINNERS ===== */
.spinner {
    width: 24px;
    height: 24px;
    border: 3px solid var(--border-color);
    border-top-color: var(--accent-color);
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* ===== DIVIDERS ===== */
hr, .divider {
    border: 0;
    height: 1px;
    background: var(--border-color);
    margin: 20px 0;
}

.divider-accent {
    background: linear-gradient(
        to right,
        transparent,
        var(--accent-color),
        transparent
    );
    opacity: 0.3;
}

/* ===== TOOLTIPS ===== */
[data-tooltip] {
    position: relative;
}

[data-tooltip]::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(-8px);
    background: var(--bg-primary);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-std);
    padding: 6px 12px;
    font-size: 0.75rem;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--transition-fast);
}

[data-tooltip]:hover::after {
    opacity: 1;
}

/* ============================================================================
   FOOTER
   ============================================================================ */
 

.site-footer {
    background: linear-gradient(180deg, var(--bg-body) 0%, #050505 100%);
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    position: relative;
    padding-top: 80px;
    overflow: hidden; /* Garante que a watermark não crie scroll lateral */
}
.site-footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 20%;
    right: 20%;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, var(--tibialist-cyan) 50%, transparent 100%);
    opacity: 0.3;
}
.footer-brand-col {
    padding-right: 40px;
}

.footer-content {
    width: 100%;
}
.footer-description {
    font-size: 0.9rem;
    color: #848e9c;
    line-height: 1.6;
    margin-bottom: 25px;
    font-weight: 400;
}
/* Footer Sections */
.footer-section {
    margin-bottom: 50px;
    margin-top: 50px;
}

.footer-section-header {
    text-align: center;
    margin-bottom: 60px;
}

.section-title-group {
    gap: 12px;
    margin-bottom: 8px;
}

.section-icon {
    color: var(--accent-primary);
    flex-shrink: 0;
}

.section-title {
    margin-top: 20px;
    color: var(--accent-white);
    /* margin: 0; */
    text-transform: uppercase;
    letter-spacing: 1px;
    /*font-family: 'Montserrat';*
    font-weight: 900;
    font-size: 1.4rem;
}

.section-subtitle {
    font-size: 0.875rem;
    color: var(--text-muted);
    margin: 0;
    padding-left: 32px; /* Alinha com o tÃ­tulo */
}

.footer-divider {
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent 0%,
        var(--border-color) 20%,
        var(--border-color) 80%,
        transparent 100%
    );
    margin: 50px 0;
}

.ribbon-wrapper-left {
    position: absolute;
    top: 0;
    left: 0;
    width: 85px;
    height: 85px;
    overflow: hidden;
    z-index: 5;
    pointer-events: none;
}

.ribbon-left {
    position: absolute;
    top: 5px;
    left: -46px;
    width: 120px;
    height: 30px;
    background-color: #333;
    background-size: cover;
    background-position: center;
    transform: rotate(-45deg);
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.5);
    z-index: 10;
}

.text-cyan {
    color: #00E5FF !important;
    font-weight: 800;
}

/* Estilo para o TÃ­tulo Centralizado (Mais fino e moderno) */
.promotional-title-compact {
    font-family: 'Rajdhani', sans-serif !important;
    font-weight: 500 !important;
    letter-spacing: 4px !important; /* Estilo futurista */
    text-transform: uppercase;
    color: #FFFFFF;
}

.artifact-mini-container {
    width: 80px; /* Aumentado de 60px */
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    perspective: 1000px;
    margin-right: -10px;

    perspective: 1000px; /* Essencial para o 3D não "achatar" */
    transform-style: preserve-3d;
}

.micro-universe {
    top: -6px;
    position: relative;
    width: 65px;
    height: 65px;
    transform: rotateX(65deg) rotateY(-15deg);
    transform-style: preserve-3d;
    transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.center-star {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 12px;
    height: 12px;
    background: #FFD700;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    box-shadow: 0 0 10px rgba(255, 215, 0, 0.6);
    z-index: 10;
}

.orbit-path {
    position: absolute;
    top: 50%;
    left: 50%;
    border-radius: 50%;
    
    /* SOLUÇÃO 1: Use RGBA. Uma borda sólida de 1px parece grossa em 3D. 
       0.2 de opacidade faz ela parecer "super fina" e elegante. */
    border: 1px solid rgba(255, 255, 255, 0.2);
    
    /* SOLUÇÃO 2: Hacks de Renderização para tirar o serrilhado */
    box-shadow: 0 0 0 0 transparent; /* Remove sombras residuais */
    backface-visibility: hidden; /* Força antialiasing no Chrome/Webkit */
    outline: 1px solid transparent; /* Hack antigo que ainda funciona para limpar bordas 3D */
    transform-style: preserve-3d;
    transform: translate(-50%, -50%); /* Centralização padrão */
}

.ring-1 { width: 22px; height: 22px; animation: rotatePlanets 5s linear infinite; }
.ring-2 { width: 42px; height: 42px; animation: rotatePlanets 9s linear infinite reverse; }
.ring-3 { width: 62px; height: 62px; animation: rotatePlanets 15s linear infinite; }

.planet {
    position: absolute;
    top: 0;
    left: 50%;
    width: 6px;
    height: 6px;
    background: var(--tibialist-cyan, #00e5ff);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    /* Hack para o planeta não ficar "achatado" quando a órbita gira */
    /* Você precisará de um contra-rotação se quiser que eles sejam esferas perfeitas, 
       mas para ícones pequenos, isso basta */
}

.p1 { width: 5px; height: 5px; }
.p2 { width: 4px; height: 4px; }
.p3 { width: 3px; height: 3px; opacity: 0.8; } /* Planeta externo menor e sutil */

.artifact-mini-container:hover .micro-universe {
    transform: rotateX(0deg) rotateY(0deg) scale(1.1);
}

.artifact-mini-container:hover .center-star {
    background: #F0B90B;
    box-shadow: 0 0 15px rgba(252, 213, 53, 0.8), 0 0 30px rgba(252, 213, 53, 0.4);
    transform: translate(-50%, -50%) scale(1.2); 
}

.artifact-mini-container:hover .orbit-path {
    border-color: rgba(0, 229, 255, 0.5);
    box-shadow: 0 0 10px rgba(0, 229, 255, 0.1); /* Glow suave na linha */
}

.artifact-mini-container:hover .planet {
    background: var(--tibialist-cyan);
    box-shadow: 0 0 12px var(--tibialist-cyan), 0 0 20px var(--tibialist-cyan-glow);
    transform: translateX(-50%) scale(1.3);
}
@keyframes rotatePlanets {
    from { transform: translate(-50%, -50%) rotate(0deg); }
    to { transform: translate(-50%, -50%) rotate(360deg); }
}
.ot-badge-highlight {
    background-color: #00E5FF; /* Fundo Ciano sÃ³lido */
    color: #0b0e11;            /* Texto escuro para contraste mÃ¡ximo */
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    font-size: 1.80rem;
    padding: 2px 6px;
    border-radius: 4px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    /*box-shadow: 0 0 15px rgba(0, 229, 255, 0.4);*/
    position: relative;
    top: -1px;
}

/* Efeito extra: Um brilho interno sutil no badge */
.ot-badge-highlight::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255,255,255,0.2) 0%, transparent 100%);
    border-radius: inherit;
    pointer-events: none;
}

/* Ajuste no alinhamento da linha do Cockpit */
.cockpit-header-row {
    padding: 18px 0 0 0;
}
.tech-server-svg {
    shape-rendering: geometricPrecision;
    width: 100%;
    max-height: 90px !important;
    filter: drop-shadow(0 0 10px rgba(0, 229, 255, 0.3));
    cursor: pointer;
}

.brand-icon {
    color: var(--accent-primary);
}

.brand-text {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--accent-white);
    letter-spacing: 1px;
}

.brand-highlight {
    color: var(--accent-primary);
}

.copyright {
    font-size: 0.8rem;
    color: var(--text-muted);
    margin: 0;
}

.visitor-stats {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8rem;
    color: var(--text-muted);
}

.stat-item {
    display: flex;
    align-items: center;
    gap: 6px;
}

.stat-item svg {
    color: var(--accent-primary);
}

.stat-separator {
    color: var(--border-color);
}

/* ===== PARTNERS SECTION ===== */
.partners-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 20px;
    margin-top: 20px;
}

.partner-item {
    display: flex;
    align-items: center;
    justify-content: center;
    /* padding: 20px; */
    /*background: var(--bg-card-secondary);*/
    /* border: 1px solid var(--border-color); */
    /* border-radius: var(--radius-std); */
    transition: all var(--transition-fast);
}
.partner-item:hover {
    border-color: var(--accent-color);
}
.partner-image {
    max-width: 100%;
    height: auto;
    max-height: 60px;
    object-fit: contain;
    filter: grayscale(100%);
    opacity: 0.6;
    transition: all var(--transition-fast);
}
.partner-item:hover .partner-image {
    filter: grayscale(0%);
    opacity: 1;
}





/* Quando expandido, remover o translateX */
.favorites-sidebar:not(.collapsed) {
    transform: translateX(0);
}

/* Mostrar sidebar quando JavaScript estiver pronto */
body.favorites-sidebar-ready .favorites-sidebar {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Container com scroll para o conteÃºdo do sidebar */
.favorites-sidebar-content {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0;
    gap: 0;
    border-right: 1px solid rgb(255 255 255 / 7%) !important;
    box-shadow: 4px 0px 20px rgb(0 0 0 / 21%);

    overflow-y: auto;
    overflow-x: hidden;
    
    /* ESCONDER SCROLLBAR (Firefox) */
    scrollbar-width: none; 
    
    /* ESCONDER SCROLLBAR (IE e Edge antigo) */
    -ms-overflow-style: none;
}
.favorites-sidebar.collapsed {
    transform: translateX(-70px) !important;
    overflow: visible; /* Manter visÃ­vel para a seta */
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.favorites-sidebar-logo .cssLogo {
    width: 50px !important;
    height: 50px !important;
    /*
    filter: drop-shadow(0 0 10px rgba(0, 229, 255, 0.8)) 
            drop-shadow(0 0 20px rgba(0, 229, 255, 0.6))
            drop-shadow(0 0 30px rgba(0, 229, 255, 0.4));
    animation: logo-pulse 2s ease-in-out infinite alternate;
    */
    transition: all 0.3s ease;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
}

.logo-neon-box {
    width: 40px;
    height: 40px;
    /* border: 1px solid #00E5FF; */
    border-radius: 8px;
    /* box-shadow: 0 0 15px rgba(0, 229, 255, 1), inset 0 0 15px rgba(0, 229, 255, 0.4); */
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    position: relative;
}

.logo-text {
    font-size: 16px;
    font-weight: 900;
    color: #FFFFFF !important;
    text-shadow: 
        0 0 10px #00E5FF,
        0 0 20px #00E5FF,
        0 0 30px #00E5FF;
    font-family: 'Arial Black', Arial, sans-serif;
    letter-spacing: 2px;
    line-height: 1;
    display: block !important;
}


@keyframes logo-pulse {
    0% {
        filter: drop-shadow(0 0 10px rgba(0, 229, 255, 0.8)) 
                drop-shadow(0 0 20px rgba(0, 229, 255, 0.6))
                drop-shadow(0 0 30px rgba(0, 229, 255, 0.4));
    }
    100% {
        filter: drop-shadow(0 0 15px rgba(0, 229, 255, 1)) 
                drop-shadow(0 0 30px rgba(0, 229, 255, 0.8))
                drop-shadow(0 0 45px rgba(0, 229, 255, 0.6));
    }
}

.favorites-divider {
    height: 1px;
    background: linear-gradient(90deg, 
        transparent 0%, 
        var(--border-color) 20%, 
        var(--border-color) 80%, 
        transparent 100%
    );
    margin: 0 16px 16px 16px;
    opacity: 0.6;
    position: relative;
}

.favorites-divider::before {
    content: '';
    position: absolute;
    top: -1px;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    height: 2px;
    background: linear-gradient(90deg, 
        transparent, 
        rgba(0, 229, 255, 0.3), 
        transparent
    );
    border-radius: 1px;
}

.favorites-sidebar.collapsed .favorites-list,
.favorites-sidebar.collapsed .useful-links-section,
.favorites-sidebar.collapsed .favorites-divider {
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.favorites-list,
.useful-links-section,
.favorites-divider,
.favorites-sidebar-logo {
    transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Garantir que a seta sempre fique visÃ­vel mesmo quando colapsado - apenas pontinha */
.favorites-sidebar.collapsed .favorites-sidebar-toggle {
    background-color: var(--bg-primary) !important;
    border-right: 1px solid var(--border-color) !important;
    backdrop-filter: blur(6px);
    position: fixed !important;
    left: 69px !important;
    top: 50vh !important;
    transform: translateY(-50%) !important;
    z-index: 1000 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;
    cursor: default;
    /* transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important; */
    display: flex !important;
    visibility: visible !important;
}



.favorites-sidebar.collapsed .favorites-sidebar-toggle .toggle-icon {
    transform: rotate(180deg) !important;
    margin-left: 0 !important;
    width: 16px !important;
    height: 16px !important;
    color: var(--text-secondary) !important;
}

.favorites-sidebar-toggle {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    pointer-events: none !important;
}

.favorites-sidebar-toggle .toggle-icon {
    width: 20px;
    height: 20px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    transform-origin: center;
    position: relative;
    z-index: 2;
}

/* Efeito de hover com gradiente sutil */
.favorites-sidebar-toggle:hover {
    background: var(--bg-primary);
    border-color: var(--accent-color);
    /*width: 40px;*/
}

.favorites-sidebar-toggle:hover .toggle-icon {
    transform: scale(1.15) translateX(2px);
    filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.2));
    color: var(--accent-color);
}

/* Classe para destacar a borda da sidebar */
.favorites-sidebar.highlight-border {
    border-right: 1px solid var(--accent-color) !important;
}

.favorites-sidebar-toggle:active {
    transform: translateY(calc(-50% + 1px));
    box-shadow: 0 2px 6px rgba(252, 213, 53, 0.2);
}

/* Quando colapsado, ajustar estilo do botÃ£o */
.favorites-sidebar.collapsed .favorites-sidebar-toggle {
    left: 0;
    border-radius: 0 12px 12px 0;
    background: rgba(252, 213, 53, 0.1);
    border: 1px solid rgba(252, 213, 53, 0.2);
    border-left: none;
    box-shadow: 4px 0 12px rgba(0, 0, 0, 0.1);
}

/* RotaÃ§Ã£o do Ã­cone quando colapsado */
.favorites-sidebar.collapsed .favorites-sidebar-toggle .toggle-icon {
    transform: rotate(180deg);
}
/* Efeito de hover quando colapsado */
.favorites-sidebar.collapsed .favorites-sidebar-toggle:hover {
    width: 40px !important;
    color: var(--text-secondary) !important;
    /* background: linear-gradient(135deg, rgba(252, 213, 53, 0.9) 0%, rgba(252, 213, 53, 0.7) 100%) !important; */
    border-color: var(--accent-color) !important;
    /* box-shadow: 0 0 20px rgba(252, 213, 53, 0.4) !important; */
}

/* Ajuste do Ã­cone no hover quando colapsado */
.favorites-sidebar.collapsed .favorites-sidebar-toggle:hover .toggle-icon {
    color: var(--text-secondary) !important;
    /* color: var(--bg-primary) !important; */
    transform: rotate(180deg) scale(1.15) translateX(2px);
    filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.2));
}
 
.bg-success-subtle-custom {
    background-color: #00ff4024;
}
.bg-danger-subtle-custom {
    background-color: #ff03031f;
}
.text-muted {
    color: var(--text-secondary) !important;
}
.text-secondary {
    color: var(--text-secondary) !important;
}


/* Menu compacto */
#panel-nav .card-body {
    padding: 0.75rem !important;
}

#panel-nav .card-title {
    font-size: 1rem !important;
    margin-bottom: 0.5rem !important;
    line-height: 1.3 !important;
}

/* Separadores compactos */
#panel-nav hr {
    margin: 0.5rem 0 !important;
}

/* Alertas compactos */
.alert {
    padding: 0.75rem 1rem !important;
    margin-bottom: 0.75rem !important;
}

.alert-heading {
    font-size: 1rem !important;
    margin-bottom: 0.25rem !important;
    line-height: 1.3 !important;
}

.alert p {
    margin-bottom: 0.5rem !important;
    font-size: 0.85rem !important;
    line-height: 1.3 !important;
}

/* Activity section - compactaÃ§Ã£o */
#activity .d-flex.justify-content-between {
    margin-bottom: 0.75rem !important;
}

#activity .card-title {
    margin-bottom: 0.25rem !important;
}

/* Lista de atividades compacta */
.activity-list {
    max-height: 500px !important;
}

.activity-item {
    padding: 0.5rem 0.75rem !important;
    margin-bottom: 0.5rem !important;
}

/* Uso horizontal otimizado */
.panel-section .d-flex {
    flex-wrap: nowrap !important;
}

.panel-section .d-flex.align-items-center {
    gap: 0.5rem !important;
}

/* Textos inline compactos */
.panel-section .d-flex.justify-content-between {
    margin-bottom: 0.5rem !important;
}

.panel-section .d-flex.justify-content-between:last-child {
    margin-bottom: 0 !important;
}

/* Dropdown Admin */
.admin-dropdown {
    position: relative;
}

.admin-dropdown-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: default;
    width: 100%;
    color: #FCD535 !important;
    font-weight: 600 !important;
    background: rgba(252, 213, 53, 0.1) !important;
    border-left: 2px solid #FCD535 !important;
    margin-bottom: 0 !important;
    padding: 0.5rem 0.75rem !important;
    transition: background-color 0.2s ease, box-shadow 0.2s ease !important;
    border-radius: 0 !important;
    box-shadow: inset 0 0 0 0 transparent;
    font-size: 0.9rem !important;
    line-height: 1.3 !important;
}

.admin-dropdown-toggle:hover {
    background: rgba(252, 213, 53, 0.15) !important;
    box-shadow: inset 1px 0 0 0 #FCD535;
}

.admin-dropdown-arrow {
    font-size: 0.7rem;
    margin-left: auto;
    pointer-events: none;
    color: #FCD535;
    transition: opacity 0.2s ease;
}

.admin-dropdown.active .admin-dropdown-arrow {
    opacity: 0.7;
}

.admin-dropdown-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-top: none;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.25s ease, opacity 0.25s ease;
    opacity: 0;
}

.admin-dropdown.active .admin-dropdown-menu {
    max-height: 500px;
    opacity: 1;
    overflow-y: visible;
}

.admin-dropdown-item {
    display: flex;
    align-items: center;
    padding: 0.5rem 0.75rem;
    color: var(--text-secondary);
    text-decoration: none;
    font-size: 0.85rem;
    transition: background-color 0.2s ease, border-left-width 0.2s ease, color 0.2s ease, padding-left 0.2s ease;
    border-left: 2px solid transparent;
    background: transparent;
    border-radius: 0 !important;
    line-height: 1.3 !important;
}

.admin-dropdown-item:hover {
    background: rgba(252, 213, 53, 0.1);
    color: #FCD535;
    border-left-width: 3px;
    border-left-color: #FCD535;
    padding-left: calc(1rem + 1px);
}

.admin-dropdown-item.active {
    background: rgba(252, 213, 53, 0.15);
    color: #FCD535;
    border-left-width: 3px;
    border-left-color: #FCD535;
    font-weight: 600;
    padding-left: calc(1rem + 1px);
}

.admin-dropdown-item i {
    width: 16px;
    text-align: center;
    font-size: 0.75rem;
    margin-right: 0.5rem;
    transition: color 0.2s ease;
}

.admin-dropdown-item:hover i,
.admin-dropdown-item.active i {
    color: #FCD535;
}

/* Menu Principal - Links de NavegaÃ§Ã£o (CORRIGIDO PARA O NOVO PAINEL) */
/* Aplica tanto para o menu de usuÃ¡rio quanto admin */
#panel-nav-user .nav-item,
#panel-nav-admin .nav-item {
    margin-bottom: 0;
}

#panel-nav-user .nav-link,
#panel-nav-admin .nav-link {
    display: flex;
    align-items: center;
    padding: 0.5rem 0.75rem;
    color: var(--text-secondary);
    text-decoration: none;
    font-size: 0.85rem;
    transition: background-color 0.2s ease, border-left-width 0.2s ease, color 0.2s ease, padding-left 0.2s ease;
    border-left: 2px solid transparent;
    background: transparent;
    border-radius: 0 !important;
    cursor: pointer; /* Garante o cursor de mÃ£ozinha */
    line-height: 1.3 !important;
}

#panel-nav-user .nav-link:hover,
#panel-nav-admin .nav-link:hover {
    background: rgba(252, 213, 53, 0.1);
    color: #FCD535;
    border-left-width: 3px;
    border-left-color: #FCD535;
    padding-left: calc(1rem + 1px);
}

#panel-nav-user .nav-link.active,
#panel-nav-admin .nav-link.active {
    background: rgba(252, 213, 53, 0.15);
    color: #FCD535;
    border-left-width: 3px;
    border-left-color: #FCD535;
    font-weight: 600;
    padding-left: calc(1rem + 1px);
}

#panel-nav-user .nav-link i,
#panel-nav-admin .nav-link i {
    margin-right: 0.5rem;
    transition: color 0.2s ease;
    width: 16px;
    text-align: center;
}

#panel-nav-user .nav-link:hover i,
#panel-nav-admin .nav-link:hover i,
#panel-nav-user .nav-link.active i,
#panel-nav-admin .nav-link.active i {
    color: #FCD535;
}

#panel-nav .btn,
.panel-section .btn,
.card .btn {
    border-radius: 0;
    border: 1px solid transparent;
    transition: all 0.2s ease;
    box-shadow: none;
    transform: none;
}

.btn-primary,
.btn-buy-credits {
    background-color: var(--accent-primary) !important;
    border-color: var(--accent-primary) !important;
    color: #000 !important;
    font-weight: 600;
}

.btn-primary:hover,
.btn-buy-credits:hover {
    background-color: color-mix(in oklab, var(--accent-primary) 90%, white) !important;
    border-color: color-mix(in oklab, var(--accent-primary) 90%, white) !important;
}

.btn-outline-primary, .btn-outline-secondary, .btn-modern-clean {
    border-color: var(--border-color) !important;
    color: var(--text-secondary) !important;
    background: var(--bg-card-secondary) !important;
    border: 1px solid var(--border-color) !important;
}

.btn-outline-primary:hover,
.btn-outline-secondary:hover,
.btn-modern-clean:hover,
.btn-secondary:hover {
    background: var(--bg-tertiary) !important;
    border-color: color-mix(in oklab, var(--border-color) 100%, white 30%) !important;
    color: var(--text-primary) !important;
}

.btn-danger,
.btn-outline-danger {
    background-color: transparent !important;
    border-color: var(--status-down) !important;
    color: var(--status-down) !important;
}

.btn-danger:hover,
.btn-outline-danger:hover {
    background-color: color-mix(in oklab, var(--status-down) 10%, transparent) !important;
    border-color: color-mix(in oklab, var(--status-down) 80%, white) !important;
}

.btn-success {
    background-color: var(--status-up) !important;
    border-color: var(--status-up) !important;
    color: #000 !important;
}

.btn-success:hover {
    background-color: color-mix(in oklab, var(--status-up) 90%, white) !important;
    border-color: color-mix(in oklab, var(--status-up) 90%, white) !important;
}

.btn-info {
    background-color: transparent !important;
    border-color: var(--status-blue) !important;
    color: var(--status-blue) !important;
}

.btn-info:hover {
    background-color: color-mix(in oklab, var(--status-blue) 10%, transparent) !important;
    border-color: color-mix(in oklab, var(--status-blue) 80%, white) !important;
}

.btn-warning {
    background-color: var(--accent-primary) !important;
    border-color: var(--accent-primary) !important;
    color: #000 !important;
}

.btn-warning:hover {
    background-color: color-mix(in oklab, var(--accent-primary) 90%, white) !important;
    border-color: #F0B90B !important;
}

/* OtimizaÃ§Ã£o de espaÃ§o horizontal - usar toda largura disponÃ­vel */
.panel-section .row {
    margin-left: 0;
    margin-right: 0;
}

.panel-section .col,
.panel-section [class*="col-"] {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

/* Textos inline compactos - usar espaÃ§o horizontal */
.panel-section .d-flex.align-items-center {
    flex-wrap: nowrap;
    gap: 0.5rem;
}

/* Inputs e form controls compactos */
.panel-section .form-control,
.panel-section .form-select {
    padding: 0.4rem 0.75rem;
    font-size: 0.85rem;
    line-height: 1.3;
    border-radius: 0;
}

/* Tabelas compactas */
.panel-section table {
    font-size: 0.85rem;
}

.panel-section table th,
.panel-section table td {
    padding: 0.5rem 0.75rem;
    vertical-align: middle;
}

/* Spinners e loaders compactos */
.panel-section .spinner-border {
    width: 1.5rem;
    height: 1.5rem;
    border-width: 0.15rem;
}

/* GrÃ¡ficos compactos */
#activity-chart-container {
    margin-bottom: 1rem !important;
}

/* Listas compactas */
.panel-section ul,
.panel-section ol {
    margin-bottom: 0.5rem;
    padding-left: 1.25rem;
}

.panel-section li {
    margin-bottom: 0.25rem;
    line-height: 1.3;
}

/* =========================================
   SWITCH DE MODO (USER / ADMIN)
   ========================================= */
.panel-mode-switch-container {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Estilizando o Checkbox como um Switch Moderno */
.custom-mode-switch {
    position: relative;
    display: inline-block;
    width: 50px;
    height: 24px;
}

.custom-mode-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.mode-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--bg-gray-checkbox); /* Cor Fundo Desativado */
    border: 1px solid var(--border-color);
    transition: .4s;
    border-radius: 34px;
}
.mode-slider:hover {
    background-color: #5e6269;  
}

.mode-slider:before {
    position: absolute;
    content: "\f007"; /* FontAwesome User Icon */
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 2px;
    background-color: #b7bdc6;
    color: var(--bg-card);
    transition: .4s;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
}

/* Estado Ativo (Admin) */
.custom-mode-switch input:checked + .mode-slider {
    background-color: rgba(252, 213, 53, 0.15);
    border-color: #FCD535;
}

.custom-mode-switch input:checked + .mode-slider:before {
    transform: translateX(24px);
    background-color: #FCD535;
    content: "\f3ed"; /* FontAwesome Shield Icon */
    color: #000;
}

/* RÃ³tulo do Switch */
.switch-label {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-secondary);
    text-transform: uppercase;
    transition: color 0.3s ease;
}

.custom-mode-switch input:checked ~ .switch-label.admin-label {
    color: #FCD535;
}

.custom-mode-switch input:not(:checked) ~ .switch-label.user-label {
    color: var(--accent-white);
}

/* AnimaÃ§Ã£o de fade para as listas */
.menu-list-container {
    transition: opacity 0.3s ease, transform 0.3s ease;
}
.menu-list-container.hidden {
    display: none;
    opacity: 0;
    transform: translateX(-10px);
}
.menu-list-container.visible {
    display: block;
    opacity: 1;
    transform: translateX(0);
    animation: fadeInList 0.3s forwards;
}

@keyframes fadeInList {
    from { opacity: 0; transform: translateY(5px); }
    to { opacity: 1; transform: translateY(0); }
}

/* =========================================
   MENU HORIZONTAL ACIMA DA COL-MD-9
   ========================================= */

/* Container do Menu Horizontal */
.horizontal-menu-container {
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.horizontal-menu-container.hidden {
    display: none;
    opacity: 0;
    transform: translateY(-10px);
}

.horizontal-menu-container.visible {
    display: block;
    opacity: 1;
    transform: translateY(0);
}

/* NavegaÃ§Ã£o Horizontal */
.horizontal-nav {
    width: 100%;
}

.horizontal-nav .nav {
    gap: 0.5rem;
    flex-wrap: wrap;
}

.horizontal-nav .nav-item {
    flex: 1;
    min-width: 0;
}

.horizontal-nav .nav-link {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 0.75rem;
    color: var(--text-secondary);
    text-decoration: none;
    font-size: 0.8rem;
    font-weight: 500;
    transition: all 0.2s ease;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-big);
    background: transparent;
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 38px;
}

.horizontal-nav .nav-link:hover {
    background: rgba(252, 213, 53, 0.1);
    color: #FCD535;
    border-color: #FCD535;
}

.horizontal-nav .nav-link.active {
    background: rgba(252, 213, 53, 0.15);
    color: #FCD535;
    border-color: #FCD535;
    font-weight: 600;
}

.horizontal-nav .nav-link i {
    margin-right: 0.25rem;
    font-size: 0.75rem;
    transition: color 0.2s ease;
}

.horizontal-nav .nav-link:hover i,
.horizontal-nav .nav-link.active i {
    color: #FCD535;
}

/* Responsividade do Menu Horizontal */
@media (max-width: 768px) {
    .horizontal-nav .nav {
        gap: 0.25rem;
    }
    
    .horizontal-nav .nav-link {
        padding: 0.4rem 0.5rem;
        font-size: 0.75rem;
        min-height: 34px;
    }
    
    .horizontal-nav .nav-link i {
        margin-right: 0.2rem;
        font-size: 0.7rem;
    }
    
    .horizontal-nav .nav-link span.d-none.d-md-inline {
        display: none !important;
    }
}

@media (max-width: 576px) {
    .horizontal-nav .nav {
        gap: 0.2rem;
    }
    
    .horizontal-nav .nav-link {
        padding: 0.3rem 0.4rem;
        font-size: 0.7rem;
        min-height: 30px;
        flex: 1;
    }
    
    .horizontal-nav .nav-link i {
        margin-right: 0.1rem;
        font-size: 0.65rem;
    }
}

/* Ajuste para cards com menu horizontal */
.col-md-9 .card:first-child {
    margin-top: 0;
}

/* SincronizaÃ§Ã£o visual com menu lateral */
.horizontal-nav .nav-link.active {
    box-shadow: inset 0 0 0 1px rgba(252, 213, 53, 0.3);
}

/* Indicador de verificaÃ§Ã£o de email */
#email-verification-status {
    transition: opacity 0.2s ease;
    user-select: none;
}

#email-verification-status.email-not-verified-clickable {
    cursor: pointer;
}

#email-verification-status.email-not-verified-clickable:hover {
    opacity: 0.8;
    text-decoration: underline;
}

#user-activity-list {
    max-height: 500px; /* Altura mÃ¡xima */
    overflow-y: auto;  /* Barra de rolagem se passar disso */
    padding-right: 5px; /* EspaÃ§o para a barra nÃ£o colar no texto */
}

#user-activity-list::-webkit-scrollbar-thumb {
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
}
.activity-item-hover {
    transition: background-color 0.2s ease;
}
.activity-item-hover:hover {
    background-color: rgba(255, 255, 255, 0.03) !important; /* Leve brilho ao passar o mouse */
}

.email-row-container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100%;
    gap: 12px; /* Garante um respiro entre o email e o status */
}

.email-truncate-wrapper {
    display: flex;
    align-items: center;
    min-width: 0; /* ESSENCIAL: Permite que o flex item encolha */
    flex: 1;      /* Ocupa todo o espaÃ§o sobrando */
}

.email-text-content {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; /* Adiciona ... se o email for gigante */
    color: #b7bdc6 !important;
    font-size: 0.8rem !important;
}

/* Status do Email */
#email-verification-status {
    white-space: nowrap !important; /* Impede que "NÃ£o verificado" quebre em 2 linhas */
    flex-shrink: 0; /* Garante que o status nunca seja esmagado */
    font-size: 0.75rem !important;
    margin-left: auto;
}


.binance-card {
    background-color: var(--header-primary) !important;
    border: 1px solid rgba(255,255,255,0.05);
    border-radius: var(--radius-big);
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    display: flex;
    flex-direction: column;
    height: 100%;
}

.binance-header {
    border-bottom: 1px solid rgba(255,255,255,0.05);
    padding: 16px 20px;
    flex-shrink: 0;
}
.binance-title {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
}
.binance-table-wrapper {
    overflow-x: auto;
}
.binance-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem; /* Fonte menor para densidade */
}
.binance-table th {
    text-align: left;
    color: var(--text-muted);
    font-weight: 500;
    padding: 0.5rem;
    border-bottom: 1px solid var(--border-color);
}
.binance-table td {
    padding: 0.6rem 0.5rem; /* Compacto */
    color: var(--text-primary);
    border-bottom: 1px solid var(--border-color-light);
    transition: background 0.2s;
}
.binance-table tr:hover td {
    background: var(--bg-hover); /* Efeito hover estilo Binance */
    cursor: pointer;
}
/* Status Badges */
.badge-binance {
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
}
.badge-open { background: rgba(14, 203, 129, 0.15); color: #0ecb81; } /* Verde Binance */
.badge-closed { background: rgba(112, 122, 138, 0.15); color: #707a8a; } /* Cinza */
.badge-pending { background: rgba(240, 185, 11, 0.15); color: #f0b90b; } /* Amarelo Binance */
/* Tabela de Tickets Estilo Binance */
.binance-ticket-table {
    width: 100%;
    border-collapse: collapse;
}

.binance-ticket-table th {
    background: rgba(255,255,255,0.02);
    color: var(--text-muted);
    font-size: 0.75rem;
    text-transform: uppercase;
    font-weight: 600;
    border-bottom: 1px solid var(--border-color);
    padding: 12px 15px;
}

.binance-ticket-table td {
    color: var(--text-main);
    font-size: 0.85rem;
    padding: 12px 15px;
    border-bottom: 1px solid rgba(255,255,255,0.05);
    vertical-align: middle;
    cursor: pointer;
}

/* Hover Effect na Linha */
.binance-ticket-table tr:hover td {
    background-color: rgba(252, 213, 53, 0.05); /* Amarelo muito suave */
    color: #fff;
}


#connection-instructions-content pre::-webkit-scrollbar-track,
#boosted-instructions-content pre::-webkit-scrollbar-track {
background: rgba(0, 0, 0, 0.1); /* Fundo da trilha (escuro/transparente) */
border-radius: 10px;
}

#connection-instructions-content pre::-webkit-scrollbar-thumb,
#boosted-instructions-content pre::-webkit-scrollbar-thumb {
background: var(--accent-hover);
border-radius: 10px;
}

#connection-instructions-content pre::-webkit-scrollbar-thumb:hover,
#boosted-instructions-content pre::-webkit-scrollbar-thumb:hover {
background: #d97706;      /* Cor um pouco mais escura ao passar o mouse */
}

/* Garantir que todos os inputs de rate tenham o mesmo tamanho */
#register-step-3 .rate-input {
    border: 1px solid var(--border-color) !important;
}
#register-step-3 .rate-input:hover {
    border: 1px solid var(--accent-hover) !important;
}

#register-step-3 .rate-btn {
    width: 32px !important;
    height: 36px !important;
}
/* 1. Garante que o select fechado tenha fundo escuro */
#register-step-3 select.auth-input,
select.register-input {
    color: #ffffff !important;
}

/* 2. Garante que as OPÃ‡Ã•ES (ao abrir) sejam escuras */
#register-step-3 select.auth-input option,
select.register-input option {
    background-color: var(--bg-body);
    color: #ffffff;
    padding: 10px;
}

/* 3. CorreÃ§Ã£o para hover nas opÃ§Ãµes (funciona melhor no Chrome/Edge) */
#register-step-3 select.auth-input option:checked,
#register-step-3 select.auth-input option:hover {
    background-color: var(--bg-tertiary);
    color: var(--accent-primary);
}


.register-step-content::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.1); /* Fundo da trilha (escuro/transparente) */
    border-radius: 10px;
}

.register-step-content::-webkit-scrollbar-thumb {
    background: var(--accent-hover); 
    border-radius: 10px; 
}

.register-step-content::-webkit-scrollbar-thumb:hover {
    background: #d97706;      /* Cor um pouco mais escura ao passar o mouse */
}

/* ConteÃºdo do registro - ocupa o espaÃ§o principal */
.register-step {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0; /* Permite que o conteÃºdo encolha */
}

/* Ãrea de botÃµes sempre fixa embaixo */
.register-step-buttons {
    width: 100%;
    margin-top: auto;
    padding-top: 20px;
    border-top: 1px solid var(--border-color);
}

/* Remove setas nativas do Chrome, Safari, Edge e Firefox */
.port-input-clean::-webkit-outer-spin-button,
.port-input-clean::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.port-input-clean {
    -moz-appearance: textfield;
    border-left: none !important;
    border-right: none !important;
    border-radius: 0;
}

/* Estilo dos BotÃµes laterais conforme a foto */
.port-btn {
    width: 32px;
    height: 40px;
    background: var(--bg-body); /* Fundo escuro da imagem */
    border: 1px solid var(--panel-border);
    color: var(--accent-hover); /* Amarelo dos Ã­cones */
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s;
}

.port-btn.minus {
    border-radius: 8px 0 0 8px !important; /* Arredondado na esquerda */
}
.port-btn.plus {
    border-radius: 0 8px 8px 0 !important; /* Arredondado na direita */
}
.port-btn:hover {
    background: var(--bg-tertiary);
    color: var(--text-primary);
}

.rate-btn.register.minus {
    border-radius: 8px 0 0 8px !important; /* Arredondado na esquerda */
    position: relative;
    left: 5px;
}
.rate-btn.register.plus {
    border-radius: 0 8px 8px 0 !important; /* Arredondado na direita */
    position: relative;
    right: 5px;
}


/* Aplica apenas aos selects que usam sua classe de input */
select.auth-input {
    /* 1. Remove a seta padrÃ£o feia do navegador */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

    /* 2. Adiciona o SVG Amarelo via cÃ³digo (Data URI) */
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23facc15' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    
    /* 3. Posicionamento da seta */
    background-repeat: no-repeat;
    background-position: right 15px center; /* 15px da direita, centralizado verticalmente */
    background-size: 16px; /* Tamanho do Ã­cone */
    
    /* 4. Garante que o texto nÃ£o escreva em cima da seta */
    padding-right: 40px !important; 
    cursor: pointer;
}

/* Opcional: MudanÃ§a de cor ao passar o mouse para dar feedback */
select.auth-input:hover {
    border-color: #facc15; /* Borda amarela ao passar o mouse */
}

/* =========================================
   ESTILO GLOBAL DO MASCOTE (TIBIALIST)
   VERSÃƒO: HOLOGRAMA SCI-FI (ESTÃTICO)
   ========================================= */

/* --- ANIMAÃ‡Ã•ES --- */

/* Piscar de olhos (Normal) */
@keyframes blink {
    0%, 96%, 100% { opacity: 1; }
    98% { opacity: 0.1; }
}

/* Piscar de olhos (Triste) */
@keyframes mascotSadBlink {
    0%, 90%, 100% { opacity: 1; }
    95% { opacity: 0.3; }
}

/* Flutuar do Zzz (Dormindo) */
@keyframes zzz-drift {
    0% { transform: translate(0, 0) scale(0.8); opacity: 0; }
    30% { transform: translate(5px, -15px) scale(1.1); opacity: 1; }
    100% { transform: translate(10px, -30px) scale(1); opacity: 0; }
}

/* Pop-in dos balÃµes */
@keyframes popIn {
    from { opacity: 0; transform: scale(0.8) translateY(10px); }
    to { opacity: 1; transform: scale(1) translateY(0); }
}

/* Efeito de Scanline (Linhas descendo - opcional, bem sutil) */
@keyframes scanline-scroll {
    0% { background-position: 0 0; }
    100% { background-position: 0 100%; }
}

.text-danger {
    color: #ef4444 !important;
    background: #ff00001f;
}
 .text-danger:hover { 
    color: #ff4d45 !important; 
}
 
#hud-search-btn:hover {
    background: rgba(59, 130, 246, 0.2);
    color: #fff;
}

.hud-search-results {
    position: absolute;
    top: calc(100% + 12px); /* Deslocado para baixo para nÃ£o cobrir o HUD */
    left: -15px; /* Alinha com o inÃ­cio do container arredondado */
    width: calc(100% + 30px);
    background: #0f1118;
    border: 1px solid #3b82f6;
    border-radius: 8px;
    max-height: 300px;
    overflow-y: auto;
    display: none;
    flex-direction: column;
    z-index: 2147483660;
    box-shadow: 0 10px 20px rgba(0,0,0,0.5);
}


.rank-cell-content {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
}

.search-result-item {
padding: 10px 15px;
color: #cbd5e1;
font-size: 13px;
cursor: pointer !important;
border-bottom: 1px solid rgba(255,255,255,0.05);
display: flex;
justify-content: space-between;
align-items: center;
transition: background 0.2s;
}

.search-result-item:last-child { border-bottom: none; }
.search-result-item:hover { background: rgba(59, 130, 246, 0.1); color: #fff; }

.search-result-name { font-weight: 700; color: #fff; }
.search-result-info { font-size: 11px; color: #64748b; }
.search-result-highlight { color: #3b82f6; } /* Texto coincidente */

/* Adicione ao final do galaxy.css */
.planet-green {
background-color: #2ecc71 !important; /* Verde */
box-shadow: 0 0 10px #2ecc71, 0 0 20px #2ecc71; /* Brilho */
}

.planet-orange {
background-color: #f1c40f !important; /* Laranja */
box-shadow: 0 0 10px #f1c40f, 0 0 20px #f1c40f;
    background-color: #f1c40f !important; /* Laranja */
    box-shadow: 0 0 10px #f1c40f, 0 0 20px #f1c40f;
}

.planet-red {
    background-color: #e74c3c !important; /* Vermelho */
    box-shadow: 0 0 10px #e74c3c, 0 0 20px #e74c3c;
}

/* Brilho especial para o HUD quando estiver focado em um Buraco Negro */
.search-result-name i.fa-circle-notch {
    color: #fff;
    text-shadow: 0 0 10px #3b82f6;
}
/*ok*/

/* Estilo especÃ­fico para o menu de filtros */
/* --- HUD FILTER MENU (CLEAN & COMPACT) --- */
#hud-filter-menu {
    position: absolute;
    top: 52px; /* Ajuste fino da distÃ¢ncia do botÃ£o */
    left: 50%;
    transform: translateX(-50%);
    width: 200px; /* Largura levemente reduzida para ficar mais elegante */
    padding: 4px 0; /* Padding vertical mÃ­nimo no container */
    
    background: #0f1118;
    border: 1px solid #3b82f6;
    border-radius: var(--radius-std);
    box-shadow: 0 10px 25px rgba(0,0,0,0.7); /* Sombra mais forte para destaque */
    
    z-index: 2147483660;
    display: none;
    flex-direction: column;
}

/* --- SETA (ARROW) NO TOPO --- */
#hud-filter-menu::before, 
#hud-filter-menu::after {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    pointer-events: none; /* Garante que o clique passe */
}

/* Parte de trÃ¡s da seta (Borda Azul) */
#hud-filter-menu::before {
    top: -7px;
    border-width: 0 7px 7px 7px; /* TriÃ¢ngulo apontando pra cima */
    border-color: transparent transparent #3b82f6 transparent;
    z-index: 1;
}

/* Parte da frente da seta (Fundo Preto - Cobre a borda do menu) */
#hud-filter-menu::after {
    top: -6px; /* 1px abaixo para criar a espessura da borda */
    border-width: 0 6px 6px 6px;
    border-color: transparent transparent #0f1118 transparent;
    z-index: 2;
}

/* --- ITENS DO MENU (ESPAÃ‡AMENTO REDUZIDO) --- */
#hud-filter-menu .search-result-item {
    padding: 6px 12px; /* Reduzido de 10px 15px */
    font-size: 12px;   /* Fonte um pouco menor */
    border-bottom: 1px solid rgba(255,255,255,0.03); /* Divisor mais sutil */
    min-height: 28px;
    transition: background 0.15s ease;
}

#hud-filter-menu .search-result-item:last-child {
    border-bottom: none;
}

#hud-filter-menu .search-result-item:hover {
    background: rgba(59, 130, 246, 0.15);
}

/* Ajuste dos Ãcones e Texto */
#hud-filter-menu .search-result-name {
    display: flex;
    align-items: center;
    gap: 8px; /* EspaÃ§o consistente entre checkbox/radio e texto */
    font-weight: 600;
}

/* Ãcones (Checkboxes/Radios) */
#hud-filter-menu i {
    width: 14px; /* Largura fixa para alinhar texto verticalmente */
    text-align: center;
}

/* Separador (Linha horizontal dentro do menu) */
#hud-filter-menu div[style*="border-top"] {
    margin: 4px 0 !important; /* Reduz a margem do separador */
    border-color: rgba(255,255,255,0.1) !important;
}

#location-hud-panel {
    position: fixed;
    bottom: 30px;
    left: 30px;
    width: 280px;
    background: rgb(9 12 22 / 47%);
    /* backdrop-filter: blur(10px); */
    border: 1px solid rgba(0, 210, 255, 0.3); /* Borda azul tech */
    border-left: 4px solid #00d2ff; /* Detalhe lateral */
    padding: 15px;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    color: #fff;
    z-index: 2147483647 !important;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
    border-radius: 0 10px 0 0; /* Canto cortado estilo sci-fi */
    animation: slideIn 1s ease-out;
    pointer-events: none; /* Deixa clicar atravÃ©s dele se necessÃ¡rio */
    display: none;
}

.hud-header {
    font-size: 10px;
    color: #00d2ff;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 10px;
    font-weight: bold;
    display: flex;
    align-items: center;
    gap: 8px;
}

.hud-header i { animation: pulse 2s infinite; }

.hud-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
    margin-bottom: 2px !important;
}

.hud-label { color: #8899aa; text-transform: uppercase; font-size: 10px; }
.hud-value { font-weight: 600; text-align: right; }
.hud-value.text-blue { color: #00d2ff; }
.hud-value.text-yellow { color: #fbbf24; font-size: 15px; }
.hud-value.big { font-size: 14px; color: #fff; }

.hud-flag {
    width: 20px;
    height: auto;
    margin-right: 8px;
    border-radius: 2px;
}

.hud-row.highlight {
    justify-content: flex-end; /* Alinha cidade Ã  direita */
    margin-top: 5px;
}

.hud-divider {
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    margin: 8px 0;
}

@keyframes slideIn {
    from { transform: translateX(50px); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}
@keyframes pulse {
    0% { opacity: 0.5; } 50% { opacity: 1; } 100% { opacity: 0.5; }
}

/* =======================================================
   REGISTER PAGE - FINAL SCI-FI REDESIGN (FIXED)
   ======================================================= */

/* --- 1. ESTRUTURA E FUNDO --- */
.register-card {
    background: var(--bg-card) !important; /* #25282D para dark, #FFFFFF para light */
    border: 1px solid var(--border-color) !important; /* #2D333B para dark, #E2E8F0 para light */
    box-shadow: none !important; /* Sem shadow pesado - estilo minimalista */
    border-radius: 10px !important; /* Cantos arredondados modernos */
    position: relative !important;
    overflow: visible !important; 
    z-index: 10;
}

/* Remover linha de luz decorativa - estilo mais limpo */
.register-card::before {
    display: none;
}


/* --- 2. INPUTS --- */
.register-input, 
.form-control, 
select.register-input,
textarea.form-control {
    text-align: left;
    background-color: var(--bg-card-transparent) !important;
    color: var(--accent-white) !important; /* #F2F5F7 para dark, #0F172A para light */
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important; /* Fonte sem serifa */
    font-size: 0.875rem !important;
    padding: 8px 12px;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

/* Foco - Verde esmeralda */
.register-input:focus, 
.form-control:focus {
    background-color: var(--bg-card-transparent) !important;
    color: var(--accent-white) !important;
    outline: none !important;
}

/* Select (Dropdown) Customizado - Verde esmeralda */
select.register-input {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%232ECC71'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 1rem center !important;
    background-size: 1.2em !important;
    padding-right: 2.5rem !important;
}

.form-check-input {
    background-color: var(--bg-gray-checkbox) !important;
    border: 1px solid rgba(255, 255, 255, 0.05);
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    border-radius: 5px !important;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: all 0.2s ease;
    border-radius: 46% !important;
    width: 18px !important;
}
.form-check-input:checked {
    border-color: var(--accent-primary) !important;
}
.form-check-input:not(#toggleServerTooltips):checked::after {
    content: '';
    width: 5px;
    height: 10px;
    border: solid var(--accent-white);
    border-width: 0 1.5px 1.5px 0;
    transform: rotate(45deg);
    margin-bottom: 2px;
    display: block;
    position: relative;
    left: 6px;
}
.fa-star.featured-active {
    color: var(--accent-primary) !important;
    transition: all 0.3s ease;
}

.error-side-mascot {
    position: absolute !important;
    top: 150px; /* Fixa a altura em relaÃ§Ã£o ao topo do card */
    left: -140px; /* Puxa para a esquerda (fora do card) */
    width: 120px;
    height: auto;
    z-index: 5; /* AtrÃ¡s do card (que Ã© 10), mas visÃ­vel */
    
    display: flex;
    flex-direction: column;
    align-items: center;
    pointer-events: none; /* Deixa clicar atravÃ©s se necessÃ¡rio, mas ativamos nos filhos */
    
    opacity: 0;
    transform: translateX(30px); 
}

/* Estado VisÃ­vel */
.error-side-mascot.show {
    opacity: 1;
    transform: translateX(0);
    pointer-events: auto;
}

/* O BalÃ£o de Fala do Erro */
.error-side-mascot .mascot-bubble {
    position: relative !important; /* Relativo ao container do mascote */
    top: auto !important; 
    right: auto !important;
    left: auto !important;
    bottom: 10px !important; /* EspaÃ§o entre balÃ£o e cabeÃ§a */
    
    background: rgba(40, 10, 10, 0.95) !important; /* Fundo avermelhado escuro */
    border: 1px solid #ef4444 !important;
    color: #fca5a5 !important;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 0.8rem;
    box-shadow: 0 5px 15px rgba(239, 68, 68, 0.2);
    min-width: 180px;
    text-align: center;
    margin-bottom: 5px;
}

/* Seta do BalÃ£o */
.error-side-mascot .mascot-bubble::after {
    content: '';
    position: absolute;
    bottom: -6px; /* Seta para baixo */
    left: 50%;
    transform: translateX(-50%);
    border-width: 6px 6px 0;
    border-style: solid;
    border-color: #ef4444 transparent transparent transparent !important;
}

/* O Corpo do Mascote */
.error-side-mascot .mascot-body {
    position: relative !important;
    left: 0 !important;
    right: auto !important;
    width: 80px;
    height: 80px;
    filter: drop-shadow(0 0 10px rgba(239, 68, 68, 0.3)); /* Glow vermelho de erro */
}

/* Esconder elementos desnecessÃ¡rios no modo erro */
.error-side-mascot .mascot-connector-line { display: none !important; }

/* Responsividade: No mobile, esconde o mascote lateral para nÃ£o quebrar a tela */
@media (max-width: 992px) {
    .error-side-mascot { display: none !important; }
}

/* --- 4. DEMAIS ESTILOS --- */
.register-label { 
    color: var(--text-secondary) !important; /* #94A3B8 para dark, #64748B para light */
    font-weight: 600; 
    font-size: 0.875rem; 
    letter-spacing: 0.3px; 
}
.register-label i { 
    color: var(--text-secondary) !important; /* Ãcones minimalistas */
    transition: color 0.2s ease;
}
.register-label.input-focused i {
    color: var(--accent-color) !important; /* Verde esmeralda no foco */
}
.btn-register-server { 
    width: 100%; 
    font-weight: 600; 
    text-transform: none; /* Sem uppercase */
    letter-spacing: 0.3px; 
    padding: 12px; 
    background: var(--palette-primary-transparent) !important; /* Background transparente */
    border: 1px solid var(--accent-color) !important; /* Borda verde esmeralda */
    color: var(--accent-color) !important; /* Texto verde esmeralda */
    border-radius: 10px !important;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
    box-shadow: none !important; /* Sem shadow */
    transform: none !important; /* Sem transform */
}
.btn-register-server:hover:not(:disabled) {
    background: var(--palette-primary-semi-transparent) !important; /* Background mais opaco */
    border-color: var(--accent-color) !important;
    color: var(--accent-color) !important;
    box-shadow: none !important; /* Sem shadow */
    transform: none !important; /* Sem transform */
}

/* ============================================================================
   HERO MODERN - Hero Section ExtraordinÃ¡rio
   ============================================================================ */

/* Hero Section com Galaxy */
.hero-section {
    position: relative;
    min-height: 600px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 100px 20px 80px;
    overflow: hidden;
    background: linear-gradient(180deg, var(--bg-darker) 0%, var(--bg-primary) 100%);
}

/* Galaxy Background */
.hero-galaxy-container {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
}

#mini-galaxy-container {
    position: absolute;
    right: 7%;
    pointer-events: auto;
    transition: opacity var(--transition-normal);
}

#mini-galaxy-container canvas,
#mini-galaxy-canvas {
    width: 100% !important;
    height: 100% !important;
    animation: galaxy-breathe 4s ease-in-out infinite, galaxy-glow 6s ease-in-out infinite;
    display: block !important;
    border: none !important;
    background: transparent !important;
    image-rendering: -webkit-optimize-contrast !important;
    image-rendering: crisp-edges !important;
    filter: contrast(1.6) brightness(1.4) saturate(1.6) drop-shadow(0 0 20px rgba(252, 213, 53, 0.4)) drop-shadow(0 0 40px rgba(14, 203, 129, 0.3)) !important;
    -webkit-filter: contrast(1.6) brightness(1.4) saturate(1.6) drop-shadow(0 0 20px rgba(252, 213, 53, 0.4)) drop-shadow(0 0 40px rgba(14, 203, 129, 0.3)) !important;
    position: relative;
    opacity: 1 !important;
}
@keyframes galaxy-breathe {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
}
@keyframes galaxy-glow {
    0%, 100% {
        filter: contrast(1.6) brightness(1.4) saturate(1.6) drop-shadow(0 0 20px rgba(252, 213, 53, 0.4)) drop-shadow(0 0 40px rgba(14, 203, 129, 0.3));
    }
    50% {
        filter: contrast(1.7) brightness(1.5) saturate(1.7) drop-shadow(0 0 30px rgba(252, 213, 53, 0.6)) drop-shadow(0 0 60px rgba(14, 203, 129, 0.5));
    }
}


#mini-galaxy-container:hover {
    /*transform: scale(1.3);*/
}

.hero-galaxy-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(
        ellipse at center,
        transparent 0%,
        rgba(30, 31, 34, 0.6) 100%
    );
    z-index: 1;
}

/* Content */
.hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    max-width: 1200px;
    width: 100%;
}

/* Title com Gradiente */
.hero-title {
    font-size: 4rem;
    font-weight: 900;
    line-height: 1.1;
    margin-bottom: 24px;
    background: linear-gradient(135deg, #f2f3f5 0%, #10b981 50%, #22d3ee 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-shadow: 0 0 80px rgba(16, 185, 129, 0.3);
    letter-spacing: -0.03em;
}

/* Subtitle */
.hero-subtitle {
    font-size: 1.4rem;
    color: var(--text-secondary);
    margin-bottom: 60px;
    font-weight: 400;
}

/* Browse Text */
.browse-text {
    font-size: 1.2rem;
    color: var(--text-secondary);
    margin-top: 20px;
}

/* Animated Gradient Line */
.hero-divider {
    width: 100%;
    max-width: 600px;
    height: 1px;
    margin: 40px auto 0;
    background: linear-gradient(
        90deg,
        transparent 0%,
        var(--accent-color) 25%,
        var(--color-cyan-400) 50%,
        var(--accent-color) 75%,
        transparent 100%
    );
    background-size: 200% 100%;
    animation: shimmer 3s linear infinite;
}

@keyframes shimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}

/* Responsive */
@media (max-width: 992px) {
    .hero-title {
        font-size: 3rem;
    }
    
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    #mini-galaxy-container {
        width: 600px;
        height: 400px;
    }
}

@media (max-width: 768px) {
    .hero-section {
        min-height: 500px;
        padding: 80px 20px 60px;
    }
    
    .hero-title {
        font-size: 2.2rem;
    }
    
    .hero-subtitle {
        font-size: 1.1rem;
        margin-bottom: 40px;
    }
    
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
    
    .stat-card {
        padding: 24px 16px;
    }
    
    .stat-icon {
        width: 36px;
        height: 36px;
    }
    
    .stat-label {
        font-size: 0.75rem;
    }
    
    #mini-galaxy-container {
        width: 400px;
        height: 300px;
    }
}

/* Container da GalÃ¡xia (O que recebe o hover) */
.galaxy-container {
    /* Tamanho mais compacto */
    width: 200px; /* Reduzido de tamanhos maiores */
    height: 200px;
    position: relative;
    /* TransiÃ§Ã£o SUAVE para o hover (Importante: requisito 2) */
    transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* Hover lento que vocÃª pediu */
.galaxy-container:hover {
    transform: scale(1.15); /* Amplia lentamente */
}

/* O Sol Central */
.galaxy-sun {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /* Sol menor e mais compacto (Requisito 1) */
    width: 40px;
    height: 40px;
    border-radius: 50%;
    /* Brilho intenso e compacto, sem "muito shadow" espalhado */
    background: radial-gradient(circle at center, #ffffff, #fbbf24);
    box-shadow: 
        0 0 10px 2px rgba(251, 191, 36, 0.8), /* Brilho interno forte */
        0 0 20px 5px rgba(245, 158, 11, 0.4); /* Brilho externo contido */
    z-index: 10;
}

/* PartÃ­culas/Orbitas */
.galaxy-particle {
    /* ... animaÃ§Ãµes de Ã³rbita ... */

    /* Deixar as partÃ­culas mais nÃ­tidas com shadow (Requisito 1) */
    box-shadow: 0 0 4px 1px rgba(255, 255, 255, 0.6);
    background-color: #fff; /* Garante que o nÃºcleo Ã© branco nÃ­tido */
}

/* O Container das Barrinhas */
.loader-bars {
    display: flex;
    align-items: center;
    gap: 6px;
    height: 30px;
}

/* As Barrinhas Amarelas */
.bar {
    width: 4px;
    height: 12px;
    background-color: var(--accent-primary, #FCD535);
    animation: binance-pulse 0.8s ease-in-out infinite;
    border-radius: 2px;
}

/* Delays para criar a "onda" */
.bar:nth-child(1) { animation-delay: 0.0s; }
.bar:nth-child(2) { animation-delay: 0.15s; }
.bar:nth-child(3) { animation-delay: 0.3s; }

/* AnimaÃ§Ã£o de Crescer/Encolher */
@keyframes binance-pulse {
    0%, 100% {
        height: 12px;
        opacity: 0.6;
        transform: scaleY(1);
    }
    50% {
        height: 24px;
        opacity: 1;
        transform: scaleY(1.2);
        box-shadow: 0 0 10px rgba(252, 213, 53, 0.4);
    }
}

/* Texto opcional abaixo (Loading...) */
.loader-text {
    margin-top: 20px;
    color: var(--text-secondary, #848e9c);
    font-family: 'Inter', sans-serif;
    font-size: 0.85rem;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
    animation: fade-text 1.5s infinite;
}

@keyframes fade-text {
    0%, 100% { opacity: 0.5; }
    50% { opacity: 1; }
}


/* --- Feature Toggles (Step 3) --- */
.feature-toggle-wrapper {
    display: block;
    cursor: pointer;
    user-select: none;
    position: relative;
}

/* Esconde o checkbox real */
.feature-toggle-wrapper input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.feature-toggle-content {
    background: var(--bg-card-transparent);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-std);
    padding: 8px 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: all 0.2s ease;
    height: 42px; /* Mesma altura dos inputs padrÃ£o */
}

.feature-toggle-wrapper:hover .feature-toggle-content {
    border-color: var(--accent-hover);
}

/* Ãcone na esquerda */
.feature-icon {
    color: var(--text-muted);
    font-size: 1rem;
    transition: color 0.2s;
}

/* Texto central */
.feature-info {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    line-height: 1;
    justify-content: center;
}

.feature-title {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--accent-white);
}

.feature-status {
    font-size: 0.6rem;
    color: var(--text-secondary);
    text-transform: uppercase;
    font-weight: 700;
    margin-top: 2px;
}

/* O Switch Visual (Bolinha) */
.feature-switch {
    width: 32px;
    height: 18px;
    background: #333;
    border-radius: 20px;
    position: relative;
    transition: background 0.3s;
}

.feature-switch::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 14px;
    height: 14px;
    background: #fff;
    border-radius: 50%;
    transition: transform 0.3s;
}

/* --- ESTADOS ATIVOS (CHECKED) --- */
.feature-toggle-wrapper input:checked ~ .feature-toggle-content {
    background: rgba(16, 185, 129, 0.1); /* Fundo verde bem suave */
    border-color: #10b981;
}

.feature-toggle-wrapper input:checked ~ .feature-toggle-content .feature-icon {
    color: #10b981;
}

.feature-toggle-wrapper input:checked ~ .feature-toggle-content .feature-switch {
    background: #10b981;
}

.feature-toggle-wrapper input:checked ~ .feature-toggle-content .feature-switch::after {
    transform: translateX(14px);
}

/* LÃ³gica para mudar o texto de Illegal para Allowed via CSS p/ performance */
.feature-toggle-wrapper input:checked ~ .feature-toggle-content .feature-status {
    color: #10b981;
}
.feature-toggle-wrapper input:checked ~ .feature-toggle-content .feature-status::before {
    content: attr(data-on);
}
.feature-toggle-wrapper input:not(:checked) ~ .feature-toggle-content .feature-status::before {
    content: attr(data-off);
}
/* Esconde o texto original para usar o ::before */
.feature-status {
    font-size: 0; 
}
.feature-status::before {
    font-size: 0.6rem;
}


 


/* ==========================================================================
   2. MODERN COUNTDOWN CARD
   ========================================================================== */
.modern-countdown-card {
    display: block;
    position: relative;
    width: 100%;
    height: 120px; /* Altura fixa imponente */
    background-color: #151515;
    border: 1px solid #333;
    text-decoration: none;
    overflow: hidden;
    border-radius: 0px;
    
    /* TransiÃ§Ã£o apenas da borda */
    transition: border-color 0.3s ease;
}

.modern-countdown-card:hover {
    border-color: var(--accent-cyan);
}

/* Imagem de Fundo */
.countdown-bg {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background-size: cover;
    background-position: center;
    z-index: 0;
    /* Opcional: Zoom suave na imagem de fundo (mantÃ©m texto parado) */
    transition: transform 0.8s ease; 
}

.modern-countdown-card:hover .countdown-bg {
    transform: scale(1.05);
}

/* Overlay com TINT (A mÃ¡gica da cor) */
.countdown-overlay {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    z-index: 1;
    pointer-events: none;
    
    background: linear-gradient(90deg, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.4) 60%, transparent 100%);
    /*
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 0.2) 50%,
        rgba(11, 14, 17, 0.7) 75%,
        rgba(11, 14, 17, 0.95) 90%,
        rgba(11, 14, 17, 1) 100%
    ); */
}
/* Container do ConteÃºdo */
.countdown-content {
    position: relative;
    z-index: 2; /* Acima do overlay */
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end; /* Joga texto para baixo */
    color: #fff;
    /* Fonte padrÃ£o para textos comuns */
    font-family: 'Inter', sans-serif; 
}
/* Badge "FEATURED" */
.featured-badge {
    display: none;
}
.featured-badge::after {
    /*
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(
        90deg, 
        transparent, 
        rgba(255, 255, 255, 0.4), 
        transparent
    );
    transform: skewX(-20deg);
    animation: shine 3s infinite;
    */
}

@keyframes shine {
    0% { left: -100%; }
    20% { left: 150%; }
    100% { left: 150%; }
}
/* Nome do Servidor FEATURED */
.server-name-display {
    padding-left: 10px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    font-size: 1.4rem;
    line-height: 0.9;
    margin: 0;
    text-transform: uppercase;
    color: #fff;
    text-shadow: 2px 2px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
    letter-spacing: -1px;
}
.server-desc-display {
    padding-left: 10px;
    font-family: 'Inter', sans-serif;
    font-size: 0.85rem;
    font-weight: 400;
    color: #ddd;
    margin-bottom: 8px;
    text-shadow: 1px 1px 2px #000;
}
.launch-label {
    font-size: 10px;
    font-family: 'Rajdhani', sans-serif;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    line-height: 1;
    margin-bottom: 3px;
    background: transparent;
    color: var(--accent-cyan);
    padding: 2px 0px;
    margin-left: 10px;
}
.timer-wrapper {
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding-top: 8px;
    align-items: center;
    background-image: radial-gradient(rgb(53 212 252 / 25%) 1px, #00000000 1px), linear-gradient(90deg, rgb(53 252 219 / 10%) 0%, #00000000 100%) !important;
}
.timer-wrapper i {
    color: #FCD535;
    font-size: 1.5rem;
    left: 12px;
    top: -4px;
    position: relative;
}
.timer-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
    right: 6px;
    top: -3px;
}
.minimal-timer {
    font-family: 'Rajdhani', sans-serif;
    font-weight: 700;
    font-size: 1.45rem;
    color: #fff;
    line-height: 1;
    font-variant-numeric: tabular-nums; /* A mÃ¡gica acontece aqui */
    display: flex; /* Alinha os blocos internamente */
    align-items: baseline;
}

.days,
.seconds,
.minutes,
.hours {
    display: inline-block; /* Permite que o width funcione */
    min-width: 1.55rem;    /* Garante espaÃ§o fixo para 2 dÃ­gitos */
    text-align: center;    /* MantÃ©m o nÃºmero centralizado no espaÃ§o dele */
}

.minimal-timer .u {
    font-size: 0.9rem;
    color: #fff;
    margin-right: 8px; /* EspaÃ§o apÃ³s a unidade (ex: d, h, m) */
    margin-left: 1px;
    font-weight: 600;
    flex-shrink: 0;    /* Impede que a unidade seja espremida */
}



/* banners esquerda end */



/* tickets start */
.chat-footer-wrapper {
    background-color: #16191f; /* Um pouco mais claro que o fundo do chat */
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    padding: 15px 20px;
    flex-shrink: 0; /* Impede que seja esmagado */
}

.chat-input-container {
    display: flex;
    align-items: center;
    background-color: var(--bg-body);
    border: 1px solid var(--border-color);
    border-radius: 0;
    padding: 4px 6px 4px 20px; /* Padding para o texto */
    transition: border-color 0.2s, box-shadow 0.2s;
}

.chat-input-container:focus-within {
    border-color: var(--accent-primary); /* Amarelo ao focar */
    box-shadow: 0 0 0 2px rgba(252, 213, 53, 0.1);
}

.chat-input-field {
    flex: 1;
    background: transparent !important;
    border: none !important;
    color: #fff !important;
    font-size: 0.95rem;
    padding: 8px 0;
    outline: none !important;
    box-shadow: none !important;
}

.chat-input-field::placeholder {
    color: #5e6673;
}

.chat-send-btn {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background-color: var(--accent-primary); /* Amarelo */
    color: #000;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.2s, background-color 0.2s;
    margin-left: 10px;
}

.chat-send-btn:hover {
    background-color: var(--accent-hover);
    transform: scale(1.05);
}

.chat-send-btn:active {
    transform: scale(0.95);
}

.chat-send-btn i {
    font-size: 1rem;
    margin-right: 2px; /* Ajuste Ã³tico para o Ã­cone do aviÃ£o */
    margin-top: 2px;
}


/* Ãrea de mensagens */
#modalChatMessages {
    background-color: var(--bg-body) !important;
    background-image: radial-gradient(color-mix(in oklab, var(--bg-body) 90%, white) 1px, transparent 1px);
    background-size: 20px 20px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-bottom: 20px;
    overflow-y: auto;
}
/* Avatar no Chat */
.chat-avatar-circle {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background-color: rgba(0,0,0,0.3);
    border: 1px solid rgba(255,255,255,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 4px; /* Alinha levemente com o topo do balÃ£o */
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

.chat-avatar-circle i {
    font-size: 1rem;
}

/* Seta do balÃ£o (opcional, mas fica legal) */
.bubble-user::after {
    content: '';
    position: absolute;
    top: 12px;
    right: -6px;
    width: 0; 
    height: 0; 
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 6px solid rgba(252, 213, 53, 0.3);
}

.bubble-staff::after {
    content: '';
    position: absolute;
    top: 12px;
    left: -6px;
    width: 0; 
    height: 0; 
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-right: 6px solid rgba(0, 229, 255, 0.2); /* Cor da borda do staff */
}
/* BalÃ£o GenÃ©rico */
.ticket-bubble {
    position: relative;
    padding: 12px 16px;
    border-radius: 12px;
    font-size: 0.9rem;
    line-height: 1.5;
    position: relative;
    word-wrap: break-word;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

/* BalÃ£o do USUÃRIO (Direita - Amarelo/Dourado) */
.bubble-user {
    align-self: flex-end;
    background: linear-gradient(135deg, rgba(252, 213, 53, 0.1) 0%, rgba(252, 213, 53, 0.05) 100%);
    border: 1px solid rgba(252, 213, 53, 0.3);
    color: #fff;
    border-bottom-right-radius: 2px;
}
.bubble-user .bubble-header {
    color: #FCD535; /* Amarelo */
    text-align: right;
}

/* BalÃ£o do SUPORTE (Esquerda - Ciano/Azul ou Cinza Profissional) */
.bubble-staff {
    align-self: flex-start;
    background: linear-gradient(135deg, rgba(32, 34, 37, 0.9) 0%, rgba(40, 44, 52, 0.9) 100%);
    border: 1px solid rgba(0, 229, 255, 0.2); /* Borda Cyan */
    color: #e6edf3;
    border-bottom-left-radius: 2px;
}
.bubble-staff .bubble-header {
    color: #00E5FF; /* Cyan */
    text-align: left;
    display: flex;
    align-items: center;
    gap: 6px;
}

/* CabeÃ§alho do BalÃ£o (Nome e Data) */
.bubble-header {
    font-size: 0.7rem;
    font-weight: 700;
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    opacity: 0.9;
}
.bubble-time {
    font-size: 0.65rem;
    color: #848E9C;
    font-weight: 400;
    margin-left: 8px;
    text-transform: none;
}

/* Badge de Staff no balÃ£o */
.staff-badge-icon {
    background: rgba(0, 229, 255, 0.1);
    color: #00E5FF;
    border-radius: 4px;
    padding: 1px 4px;
    font-size: 0.6rem;
    border: 1px solid rgba(0, 229, 255, 0.3);
}

/* Tabela de Tickets Admin */
.admin-ticket-row:hover {
    background-color: rgba(255, 255, 255, 0.03);
    cursor: pointer;
}
.admin-ticket-row.status-open {
    border-left: 3px solid #0ECB81; /* Verde para novos */
}
.admin-ticket-row.status-answered {
    border-left: 3px solid #FCD535; /* Amarelo para respondidos (aguardando user) */
}
.admin-ticket-row.status-closed {
    border-left: 3px solid #333;
    opacity: 0.6;
}
#admin-ticket-badge {
    background-color: #F6465D !important; /* Vermelho Binance */
    color: #fff;
    box-shadow: 0 0 8px rgba(246, 70, 93, 0.4);
    transition: all 0.3s ease;
    min-width: 20px; /* Garante que fique redondo mesmo com 1 dÃ­gito */
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 6px;
    animation: pulse-badge 2s infinite;
}

@keyframes pulse-badge {
    0% { box-shadow: 0 0 0 0 rgba(246, 70, 93, 0.4); }
    70% { box-shadow: 0 0 0 6px rgba(246, 70, 93, 0); }
    100% { box-shadow: 0 0 0 0 rgba(246, 70, 93, 0); }
}
/* tickets end */


.info-grid-modern {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
}


/* Removemos o fundo e bordas pesadas no hover */
.stat-card {
    background: rgba(255, 255, 255, 0.02);
    backdrop-filter: blur(8px);
    /* background: var(--bg-card); */
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

/* Ajuste para o texto nÃ£o ficar colado na linha */
.stat-card .value-md {
    position: relative;
    display: inline-block;
    width: fit-content;
    padding-bottom: 4px;
    transition: color 0.3s ease;
}

/* O Sublinhado Moderno (Direita para Esquerda) */
.stat-card .value-md::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0; /* ComeÃ§a da direita */
    width: 0;
    height: 2px;
    background-color: #FCD535; /* Cor amarela padrÃ£o, pode ser var(--accent-blue) */
    transition: width 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* Estado de Hover */
.stat-card:hover {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.25);
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3);
}

.stat-card:hover .value-md::after {
    width: 100%;
    left: 0; /* Expande preenchendo para a esquerda */
    right: auto;
}

/* Sublinhado herda a cor do status se for o card de IP */
.stat-card:has(#info-ping-status.online) .value-md::after { background-color: var(--status-up); }
.stat-card:has(#info-ping-status.warning) .value-md::after { background-color: #f59e0b; }
.stat-card:has(#info-ping-status.offline) .value-md::after { background-color: var(--status-down); }


/* Container do Status */
#info-ping-status {
    font-weight: 700;
    font-size: 0.75rem;
    transition: color 0.3s ease;
}

/* Cores do Texto sincronizadas com o Dot */
#latency-badge-wrapper {
    background: rgb(12 12 12 / 5%); 
    border-radius: 20px; 
    height: 28px; 
    transition: all 0.3s ease;
}
#info-ping-status.online { color: #10b981; }
#latency-badge-wrapper.online {
    background: color-mix(in oklab, #10b981 10%, transparent);
    border: 1px solid color-mix(in oklab, #10b981 25%, transparent);
}

/* Estado AtenÃ§Ã£o (Laranja) */
#info-ping-status.warning { color: #f59e0b; }
#latency-badge-wrapper.warning {
    background: color-mix(in oklab, #f59e0b 10%, transparent);
    border: 1px solid color-mix(in oklab, #f59e0b 25%, transparent);
}

/* Estado Offline/Waiting (Cinza) */
#info-ping-status.offline { color: #6f6a6b; }
#latency-badge-wrapper.offline {
    background: color-mix(in oklab, #6b7280 8%, transparent);
    border: 1px solid color-mix(in oklab, #6b7280 15%, transparent);
}
/* Dot Base */
.ping-dot-radar {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
}
.swal2-confirm, .swal2-cancel {
  width: 150px !important;  
}

/* Container do BotÃ£o */
.btn-vote-minimal {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--text-secondary);
    border-radius: 6px;
    padding: 4px 10px;
    font-size: 0.85rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: all 0.2s ease;
    min-width: 70px; /* Evita pulo de largura */
    justify-content: center;
}
.icon-normal,
.icon-slash {
    position: relative;
    top: -3px;
}
.btn-vote-minimal:hover {
    color: #10b981; /* Verde Sucesso */
    border-color: rgba(16, 185, 129, 0.3);
    background: rgba(16, 185, 129, 0.1);
}

/* --- ESTADO VOTADO (VERDE) --- */
.btn-vote-minimal.voted {
    border-color: #10b981; /* Verde */
    color: #10b981;
    background: rgba(16, 185, 129, 0.1);
}

.btn-vote-minimal.voted .icon-normal svg {
    fill: #10b981; /* Preenche a mÃ£ozinha */
}

/* --- INTERAÃ‡ÃƒO DE ÃCONES --- */
.btn-vote-minimal .icon-slash {
    display: none; /* Escondido por padrÃ£o */
}

/* Quando passar o mouse num botÃ£o JÃ VOTADO: */
.btn-vote-minimal.voted:hover {
    border-color: #ff4d4d; /* Vermelho */
    background: rgba(255, 77, 77, 0.1);
    color: #ff4d4d;
}

/* Troca mÃ¡gica dos Ã­cones no Hover do Voted */
.btn-vote-minimal.voted:hover .icon-normal {
    display: none; /* Esconde o joinha verde */
}
.btn-vote-minimal.voted:hover .icon-slash {
    display: block; /* Mostra o riscado vermelho */
}

/* Contadorzinho ao lado do Ã­cone */
.vote-count-mini {
    font-size: 0.8rem;
    font-family: 'Rajdhani', sans-serif;
}


.favorite-btn.active {
    background: #3e3336 !important; /* BordÃ´ discreto */
    color: #ff5a5a !important;
}

.favorite-btn.active:hover {
    background: #4a3d40 !important;
    filter: brightness(1.1);
}

/* Ajuste de Ã­cones */
.server-details-button i, 
.server-details-button svg {
    opacity: 0.7;
    transition: transform 0.2s;
}

.server-details-button:hover i,
.server-details-button:hover svg {
    opacity: 1;
    transform: scale(1.1);
}
/* AplicaÃ§Ã£o das animaÃ§Ãµes que vocÃª jÃ¡ possui */
.ping-dot-radar.online {
    background-color: var(--status-up, #0ECB81) !important;
    box-shadow: 0 0 0 0 rgba(14, 203, 129, 0.7);
    animation: pulse-green-radar 2s infinite cubic-bezier(0.66, 0, 0, 1);
}

.ping-dot-radar.warning {
    background-color: #f59e0b !important;
    box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.7);
    animation: pulse-yellow-radar 2s infinite cubic-bezier(0.66, 0, 0, 1);
}

.ping-dot-radar.offline {
    background-color: var(--status-down, #F6465D) !important;
    box-shadow: 0 0 0 0 rgba(246, 70, 93, 0.7);
    animation: pulse-red-radar 2s infinite cubic-bezier(0.66, 0, 0, 1);
}
.label-tiny {
    font-size: 0.7rem;
    text-transform: uppercase;
    color: var(--text-secondary);
    font-weight: 600;
    margin-bottom: 4px;
}

.value-md {
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
}

.t-segment { height: 35px; cursor: pointer; }
.bg-on { background: var(--success); }
.bg-off { background: var(--danger); }

.desc-btn {
    background: rgba(255,255,255,0.05);
    border: 1px solid var(--border-color);
    color: #fff;
    padding: 4px 12px;
    border-radius: 6px;
    font-size: 0.75rem;
    transition: 0.2s;
}
.desc-btn:hover { background: rgba(255,255,255,0.1); }

.top-stats-container {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    padding: 0px 0px;
    backdrop-filter: blur(4px);
    position: relative;
    top: -4px;
}

/* Item individual */
.top-meta-item {
    width: 100px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 4px 8px;
    border-radius: 8px;
    transition: background 0.3s ease;
}

/* Estado base dos Ã­cones */
.top-meta-item i, 
.top-meta-svg {
    color: #888; /* Cinza mÃ©dio para nÃ£o sumir no fundo */
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.top-meta-svg {
    width: 14px;
    height: 14px;
}

/* Efeito ao passar o mouse no item (Acende Ã­cone e dÃ¡ brilho leve) */
.top-meta-item:hover {
   /* background: rgba(255, 255, 255, 0.05);*/
}

.top-meta-item:hover i.fa-server { color: #ffc107; filter: drop-shadow(0 0 5px rgba(255, 193, 7, 0.4)); }
.top-meta-item:hover i.fa-users { color: #2ecc71; filter: drop-shadow(0 0 5px rgba(46, 204, 113, 0.4)); }
.top-meta-item:hover i.fa-chart-line { color: #3498db; filter: drop-shadow(0 0 5px rgba(52, 152, 219, 0.4)); }
.top-meta-item:hover .top-meta-svg { color: #e600ff; filter: drop-shadow(0 0 5px rgba(230, 0, 255, 0.4)); }
/* informations.php end */


.btn-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    margin: 0 2px;
    background-color: #383c41;
    border: 1px solid rgba(255, 255, 255, 0.05); /* Borda quase invisÃ­vel */
    border-radius: 8px;
    color: #94A3B8; /* Cor neutra para o Ã­cone */
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none;
}

.btn-action:hover {
    background-color: #373D44;
    color: #FFFFFF; /* Ãcone acende no hover */
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

/* Opcional: Feedback visual de perigo no delete */
.btn-action[title="Delete"]:hover {
    background-color: rgba(239, 68, 68, 0.1);
    color: #EF4444;
    border-color: rgba(239, 68, 68, 0.2);
}



/* ============================================================================
   EXCLUSIVE FOOTER FEATURES & ECOSYSTEM
   ============================================================================ */

.footer-features-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid rgba(255, 255, 255, 0.03);
    border-bottom: 1px solid rgba(255, 255, 255, 0.03);
}

.footer-feature-item {
    padding: 25px 20px;
    border-right: 1px solid rgba(255, 255, 255, 0.03);
    transition: background 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.footer-feature-item:last-child {
    border-right: none;
}
.footer-feature-item:hover {
    background: rgba(255, 255, 255, 0.02);
}

.feature-icon-mini {
    color: var(--tibialist-cyan);
    font-size: 1.4rem;
    margin-bottom: 15px;
    filter: drop-shadow(0 0 8px rgba(0, 229, 255, 0.4));
    transition: transform 0.3s ease;
}

.footer-feature-item:hover .feature-icon-mini {
    transform: scale(1.1) translateY(-2px);
}
.feature-title-mini {
    color: #fff;
    font-size: 0.85rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 10px;
    font-family: 'Inter', sans-serif;
}
.feature-text-mini {
    color: #64748b;
    font-size: 0.75rem;
    line-height: 1.5;
    margin: 0;
}
.footer-action-buttons {
    display: flex;
    justify-content: flex-start;
    gap: 15px;
    margin-top: 30px;
    margin-bottom: 40px;
}

.btn-footer-outline {
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #fff;
    padding: 12px 24px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none !important;
    border-radius: 4px;
    transition: all 0.2s;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.btn-footer-outline:hover {
    background: rgba(255, 255, 255, 0.05);
    border-color: #fff;
    color: #fff;
}
.btn-footer-gold {
    background: var(--accent-primary); /* #FCD535 */
    color: #000 !important;
    padding: 12px 24px;
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none !important;
    border-radius: 4px;
    transition: all 0.2s;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--accent-primary);
}

.btn-footer-gold:hover {
    background: #F0B90B;
    border-color: #F0B90B;
    transform: translateY(-1px);
    box-shadow: 0 4px 15px rgba(252, 213, 53, 0.3);
}
.footer-ecosystem-section {
    margin-top: 0;
    padding: 25px 30px;
    background: rgba(15, 18, 22, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 60px;
    position: relative;
    z-index: 5;
}

.ecosystem-heading {
    color: var(--tibialist-cyan);
    font-size: 0.9rem;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 4px;
    letter-spacing: 0.5px;
}

.ecosystem-desc {
    color: #5e6673;
    font-size: 0.75rem;
    margin-bottom: 0;
    max-width: 500px;
}

.ecosystem-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
}
.badge-tech {
    display: inline-block;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #848e9c;
    font-size: 0.65rem;
    font-weight: 700;
    padding: 6px 12px;
    border-radius: 2px;
    letter-spacing: 0.5px;
    transition: all 0.2s ease;
    cursor: default;
}

.badge-tech:hover {
    color: #fff;
    border-color: var(--tibialist-cyan);
    background: rgba(0, 229, 255, 0.05);
    box-shadow: 0 0 10px rgba(0, 229, 255, 0.1);
}
@media (max-width: 768px) {
    .footer-feature-item { border-right: none; }
    .footer-action-buttons { flex-direction: column; padding-left: 0; }
    .footer-ecosystem-section { text-align: center; }
}
.footer-bottom-container {
    position: relative;
    padding-bottom: 20px;
    min-height: 200px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.footer-bg-text {
    position: absolute;
    bottom: 30px;
    left: -20px;
    width: 100%;
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    font-size: clamp(6rem, 14vw, 12rem); /* Responsivo */
    line-height: 0.8;
    letter-spacing: -0.05em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.015); /* Quase invisível */
    user-select: none;
    pointer-events: none;
    z-index: 1;
    white-space: nowrap;
}

.footer-bg-text span {
    color: rgba(0, 229, 255, 0.02); /* Toque Cyan */
}

.footer-legal-row {
    position: relative;
    z-index: 5;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.legal-left {
    display: flex;
    align-items: center;
    gap: 0; /* Gaps removidos para usar bordas dos itens */
}

.est-tag {
    background: var(--tibialist-cyan);
    color: #000;
    padding: 2px 12px;
    /* border-radius: 2px; */
    font-weight: 800;
    /* font-size: 0.7rem; */
    /* box-shadow: 0 0 15px rgba(0, 229, 255, 0.3); */
    margin-right: 15px;
}

.copyright-tag, .brand-slug {
    border: 1px solid rgba(0, 229, 255, 0.15);
    padding: 4px 12px;
}

.sql-query-dev {
    font-family: 'JetBrains Mono', monospace;
    color: #0ECB81;
    opacity: 0.6;
    margin-left: 10px;
    font-style: italic;
    font-size: 9px;
}
.copyright-tag {
    color: #5e6673;
    font-size: 0.75rem;
    font-weight: 500;
}

.legal-right {
    display: flex;
    gap: 25px;
}

.legal-right a {
    color: #5e6673;
    text-decoration: none;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.2s ease;
    position: relative;
}

.legal-right a:hover {
    color: var(--tibialist-cyan);
}
.footer-ecosystem-section {
    margin-top: 50px;
    padding: 30px;
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.03);
    border-radius: 4px;
}
/* RESPONSIVIDADE DO FOOTER */
@media (max-width: 992px) {
    .footer-features-grid {
        grid-template-columns: 1fr 1fr; /* 2 colunas em tablet */
    }
    
    .footer-ecosystem-section {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }
    
    .ecosystem-badges {
        justify-content: flex-start;
    }
    
    .footer-action-buttons {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}

@media (max-width: 768px) {
    .site-footer {
        padding-top: 40px;
    }

    .footer-brand-col {
        padding-right: 0;
        margin-bottom: 40px;
        text-align: center;
    }
    
    .footer-socials {
        justify-content: center;
    }
    
    .footer-features-grid {
        grid-template-columns: 1fr; /* 1 coluna em mobile */
        border: none;
    }
    
    .footer-feature-item {
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.03);
        padding: 20px 0;
    }
    
    .footer-legal-row {
        flex-direction: column;
        gap: 20px;
        align-items: center;
        text-align: center;
    }
    
    .legal-left {
        flex-direction: column;
        gap: 10px;
    }
    
    .legal-right {
        flex-wrap: wrap;
        justify-content: center;
        gap: 15px;
    }
    
    .est-tag {
        margin-right: 0;
    }
}

/* Nova query SQL personalizada */
.sql-query-dev {
    font-family: 'JetBrains Mono', 'Courier New', monospace;
    color: #0ECB81; /* Verde esmeralda */
    font-size: 10px;
    letter-spacing: 0.5px;
    opacity: 0.8;
    margin-left: 15px;
}

/* Ajuste da Watermark para nÃ£o conflitar com a barra legal */
.footer-bottom-container {
    margin-top: 40px; /* Reduzido pois agora o ecossistema estÃ¡ acima dela */
}

/* Deixa os badges um pouco mais discretos para o layout de base */
.badge-tech {
    background: rgba(0, 229, 255, 0.05);
    border: 1px solid rgba(0, 229, 255, 0.15);
    transition: all 0.2s ease;
    cursor: default;
}

.badge-tech:hover {
    border-color: var(--tibialist-cyan);
    background: rgba(0, 229, 255, 0.1);
    color: var(--tibialist-cyan);
    box-shadow: 0 0 10px rgba(0, 229, 255, 0.2);
}

.footer-socials {
    display: flex;
    gap: 10px;
}
.social-btn {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 6px;
    color: #848e9c;
    transition: all 0.2s ease;
    text-decoration: none;
    font-size: 1.1rem;
}

.social-btn:hover {
    color: var(--tibialist-cyan);
    border-color: var(--tibialist-cyan);
    background: rgba(0, 229, 255, 0.05);
    box-shadow: 0 0 15px rgba(0, 229, 255, 0.2);
    transform: translateY(-2px);
}

/* FOOTER end */


/* ============================================================================
   FOOTER BRANDING & LAYOUT
   ============================================================================ */

.footer-main-grid {
    padding-top: 60px;
    padding-bottom: 40px;
}

.footer-logo {
    margin-bottom: 20px;
}

.footer-logo .brand-main-text {
    font-size: 1.8rem;
    font-weight: 900;
    font-family: 'Montserrat', sans-serif;
    letter-spacing: 1px;
    color: #fff;
    display: inline-block;
    margin-bottom: 15px;
}

.footer-logo .text-cyan-gradient {
    background: linear-gradient(90deg, var(--tibialist-cyan) 0%, #00b8d4 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

@media (max-width: 768px) {
    .footer-brand-col {
        text-align: center;
    }
    
    .footer-socials {
        justify-content: center;
    }
}


.wu-title {
    font-size: 2rem;
    font-weight: 800;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: -0.5px;
    margin-bottom: 0.5rem;
}
.text-gradient-cyan {
    background: linear-gradient(90deg, #22d3ee 0%, #0ea5e9 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.wu-subtitle {
    color: var(--wu-text-muted);
    font-size: 1rem;
    max-width: 700px;
}

/* Section Headers */
.wu-section-title {
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--wu-text-muted);
    letter-spacing: 1px;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 10px;
}
.wu-section-title::after {
    content: '';
    height: 1px;
    background: var(--wu-border);
    flex-grow: 1;
    opacity: 0.5;
}
/* Cards Estilo Why Us (Atualizado com efeito de sublinhado) */
.wu-card {
    border-radius: var(--radius-std); 
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05);
    padding: 10px;
    height: 100%;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    display: flex;
    flex-direction: column;
}

.wu-card:hover {
    border-color: var(--card-color, var(--wu-text-muted));
}

.wu-card-title {
    color: var(--wu-text-main);
    font-size: 1.1rem;
    font-weight: 600;
    left: 85px;
    top: 36px;
    margin-bottom: 1px;
    position: absolute;
    display: inline-block;
    align-self: flex-start;
}

.wu-card-title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 0;
    height: 2px;
    background-color: var(--card-color, var(--wu-accent-cyan));
    transition: width 0.3s ease;
    border-radius: 2px;
}

.wu-card:hover .wu-card-title::after,
.wu-card.active .wu-card-title::after {
    width: 100%;
}
.wu-card.disabled::before {
    content: 'DISABLED';
    position: absolute;
    top: 25px;
    right: 23px;
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    padding: 4px 8px;
    border-radius: 4px;
    letter-spacing: 1px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(4px);
    z-index: 10;
}

/* Ajuste no tÃ­tulo para nÃ£o sublinhar quando desativado */
.wu-card.disabled:hover .wu-card-title::after {
    width: 0;
}
.wu-card.disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Ãcone usando a variÃ¡vel de cor */
.wu-icon-box {
    font-size: 1.5rem;
    margin-bottom: 16px;
    color: var(--card-color);
}

.wu-card:hover .wu-icon-box {
}

/* Estado Ativo Otimizado */
.wu-card.active {
    border-color: var(--card-color);
    box-shadow: 0 0 15px -5px var(--card-color);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.05) 0%, rgba(0, 0, 0, 0) 100%);
}

/* Icon Box (Quadrado colorido no topo) */
.wu-icon-box {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    margin-bottom: 10px;
}

/* Cores EspecÃ­ficas dos Ãcones */
.icon-pix { background: rgba(46, 160, 67, 0.15); color: #3fb950; } /* Verde GitHub */
.icon-stripe { background: rgba(56, 139, 253, 0.15); color: #58a6ff; } /* Azul GitHub */
.icon-paypal { background: rgba(219, 97, 162, 0.15); color: #f778ba; } /* Rosa/Roxo leve */

.wu-detail-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.85rem;
    padding: 3px 0;
    border-bottom: 1px solid rgba(48, 54, 61, 0.5);
}
.wu-detail-row:last-child { border-bottom: none; }

.wu-label { color: var(--wu-text-muted); }

.wu-badge {
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 0.75rem;
    font-weight: 600;
    border: 1px solid transparent;
}
.badge-success { color: #3fb950; border-color: rgba(46, 160, 67, 0.4); background: rgba(46, 160, 67, 0.1); }
.badge-info { color: #58a6ff; border-color: rgba(56, 139, 253, 0.4); background: rgba(56, 139, 253, 0.1); }

/* Pacotes de CrÃ©ditos (Simplificado) */
.wu-coin-icon {
    font-size: 2rem;
    margin-bottom: 10px;
    color: #e3b341; /* Amarelo ouro */
    filter: drop-shadow(0 0 10px rgba(227, 179, 65, 0.3));
}

.wu-price-tag {
    background: var(--bs-border-color-translucent);
    border: 1px solid var(--wu-border);
    color: var(--wu-text-main);
    padding: 6px 12px;
    border-radius: 6px;
    font-weight: 600;
    font-size: 0.9rem;
    margin-top: auto;
}

/* tibialist.css */

/* Removemos o travamento do body pois o footer nÃ£o Ã© mais fixo */
body:has(.wu-floating-footer) {
    padding-bottom: 0 !important;
}

.wu-floating-footer {
    /* Transformado em um painel estÃ¡tico de Checkout */
    position: relative;
    bottom: auto;
    left: auto;
    transform: none;
    width: 100%;
    max-width: 100%;
    background: rgba(255, 255, 255, 0.02);
    backdrop-filter: none; /* Blur nÃ£o Ã© necessÃ¡rio em elemento estÃ¡tico */
    border: 1px solid var(--wu-border);
    border-radius: 12px;
    padding: 25px;
    margin-top: 30px;
    margin-bottom: 40px;
    display: flex;
    align-items: center;
    gap: 20px;
    box-shadow: none;
}

@media (max-width: 768px) {
    .wu-floating-footer {
        flex-direction: column;
        align-items: stretch;
        padding: 20px;
    }
}

.wu-input {
    background: #1a1f2591 !important;
    border: 1px solid var(--wu-border);
    color: #fff;
    border-radius: 0px 10px 10px 0px;
    padding: 10px 12px !important;
}
.wu-input:focus {
    border-color: var(--wu-accent-cyan);
    outline: none;
    box-shadow: 0 0 0 2px rgba(34, 211, 238, 0.2);
}

.wu-btn-pay {
    background: var(--accent-color);
    color: #0d1117;
    border: none;
    font-weight: 700;
    border-radius: 6px;
    padding: 8px 24px;
    text-transform: uppercase;
    font-size: 0.9rem;
    transition: all 0.2s;
}
.wu-btn-pay:hover:not(:disabled) {
    background: var(--accent-hover);
    transform: scale(1.02);
}
.wu-btn-pay:disabled {
    background: #30363d;
    color: #8b949e;
    cursor: not-allowed;
}

/* Checkmark de seleÃ§Ã£o */
.card-check {
    position: absolute;
    top: 15px;
    right: 15px;
    color: var(--wu-accent-cyan);
    display: none;
    font-size: 1.2rem;
}

/* Mobile adjustments */
@media (max-width: 768px) {
    .wu-floating-footer {
        flex-direction: column;
        bottom: 0;
        width: 100%;
        border-radius: 12px 12px 0 0;
        padding: 20px;
    }
    .wu-floating-footer > div { width: 100%; }
}

.general-pages-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    font-size: 2rem;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: -1px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.pay-page-subtitle {
    color: var(--text-muted);
    font-size: 0.9rem;
    max-width: 600px;
}

.dark-transparent {
        background: var(--bs-border-color-translucent);
}
/* PAYMENT END */



.auth-page-layout {
    display: flex;
    flex-direction: column;
    min-height: 100vh; /* Ocupa a altura total da tela */
}

.auth-content-container {
    flex: 1 0 auto; /* Empurra o footer para baixo */
    display: flex;
    flex-direction: column;
}

.auth-copyright {
    flex-shrink: 0;
    width: 100%;
    
    /* ConfiguraÃ§Ã£o de Altura Fixa */
    height: 60px;      /* Altura fixa */
    min-height: 60px;  /* Garante que nÃ£o diminua */
    padding: 0;        /* Remove padding para o alinhamento ser exato pela altura */
    
    margin-top: auto;  /* MÃ¡gica do Flexbox: Empurra o footer para o final da pÃ¡gina */
    
    display: flex;
    align-items: center; /* Centraliza o conteÃºdo verticalmente na altura fixa */
    justify-content: center;
    gap: 12px;
    
    color: #666;
    font-size: 0.82rem;
    
    /* Linha fina sutil */
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.auth-language-divider {
    opacity: 0.3;
    font-weight: 300;
}

.auth-language-btn {
    background: none;
    border: none;
    color: inherit;
    padding: 4px;
    cursor: pointer;
    display: flex;
    align-items: center;
    transition: color 0.2s;
}

.auth-language-btn:hover { color: #00E5FF; }





/* =========================================================================
   SEARCH ANIMATION: SCANNER ALIGNMENT
   ========================================================================= */
/* 1. ANIMAÃ‡ÃƒO DA BORDA */
@keyframes neonSolidOverride {
    0% { border-color: rgba(0, 229, 255, 0.3) !important; box-shadow: 0 0 0 0 rgba(0, 229, 255, 0); }
    50% { border-color: #00E5FF !important; box-shadow: 0 0 10px rgba(0, 229, 255, 0.5), inset 0 0 5px rgba(0, 229, 255, 0.2); }
    100% { border-color: rgba(0, 229, 255, 0.3) !important; box-shadow: 0 0 0 0 rgba(0, 229, 255, 0); }
}

.search-input-wrapper.pulsing-border {
    position: relative;
    border: 1px solid #00E5FF !important; 
}

/* 2. TEXTO "SCAN_" AGORA NA DIREITA */
.search-try-prefix {
    position: absolute;
    left: auto !important;  /* Anula qualquer left anterior */
    right: 15px !important; /* Fixa na direita */
    top: 50%;
    transform: translateY(-50%);
    color: #00E5FF !important;
    font-weight: 700;
    font-size: 0.75rem; /* Um pouco menor para ficar elegante como status */
    font-family: 'Rajdhani', sans-serif;
    letter-spacing: 1px;
    pointer-events: none;
    z-index: 10;
    display: none;
    text-shadow: 0 0 10px rgba(0, 229, 255, 0.4);
    opacity: 0.8;
}

/* 3. LUPA ACESA (MANTÃ‰M POSIÃ‡ÃƒO ORIGINAL) */
.search-input-wrapper.pulsing-border .search-icon {
    color: #00E5FF !important;
    filter: drop-shadow(0 0 5px rgba(0, 229, 255, 0.6));
    transform: scale(1.1);
    /* left: 12px; -> Removemos o left forÃ§ado para usar o padrÃ£o do site */
    z-index: 11;
    transition: all 0.3s ease;
}

/* 4. AJUSTE DO INPUT (AGORA COM PADDING NA DIREITA) */
.search-input-wrapper.pulsing-border #search-input,
.search-input-wrapper.pulsing-border input.search-input-field {
    /* Padding Left normal (para a lupa) */
    padding-left: 40px !important; 
    
    /* Padding Right Grande (para nÃ£o escrever em cima do Scan na direita) */
    padding-right: 70px !important; 
    
    transition: padding 0.2s ease;
}

.search-input-wrapper input.search-input-field {
    transition: padding 0.2s ease;
}


/* Layout da Header da Sidebar para comportar o Breadcrumb Ã  direita */
.sidebar-header-flex {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;
    width: 100%;
}

.breadcrumb-sidebar-inline {
    flex: 1;
    margin-bottom: 0 !important;
}

.breadcrumb-sidebar-inline .breadcrumb-clean-wrapper {
    margin-bottom: 0 !important;
}

.breadcrumb-sidebar-inline .breadcrumb-divider-line {
    display: none; /* Remove a linha decorativa para caber no box */
}

.submenu-label {
    font-size: 0.65rem;
    text-transform: uppercase;
    color: var(--text-secondary);
    font-weight: 700;
    letter-spacing: 0.5px;
    padding: 12px 15px 5px 15px;
    border-top: 1px solid rgba(255,255,255,0.03);
    margin-top: 5px;
}
.sub-nav-link {
    display: flex !important;
    align-items: center;
    gap: 10px;
}
/* SERVER DETAILS END */


/* --- SERVER DETAILS INTEGRATED HEADER --- */

.server-info-integrated-header {
    /* Ajuste de margens negativas para anular o padding do container pai (.tab-content-section) */
    margin: -20px -20px 20px -20px;
    background: var(--header-primary);
    padding: 15px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    display: flex;
    justify-content: space-between;
    align-items: center;
    
    /* Garante que o fundo acompanhe o arredondamento do card pai */
    border-radius: calc(var(--radius-big) - 1px) calc(var(--radius-big) - 1px) 0 0;
    width: auto; /* Permite que as margens negativas funcionem corretamente */
}

.header-icon-box {
    width: 36px;
    height: 36px;
    background: var(--btn-secondary-border);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-secondary);
    font-size: 1rem;
}

.title-main { font-size: 1.1rem; font-weight: 700; color: #fff; }
.subtitle-tiny { font-size: 0.75rem; opacity: 0.5; }

/* Grid integrada que cola nas laterais */
.info-grid-integrated {
    margin: 0 -20px 0 -20px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.stat-card-clean {
    padding: 15px;
    border-right: 1px solid rgba(255, 255, 255, 0.05);
    position: relative;
    overflow: hidden;
}

.stat-card-clean:last-child { border-right: none; }

/* BotÃ£o discreto de descriÃ§Ã£o */
.btn-description-discreet {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    padding: 4px 8px;
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.75rem;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-subscriptions:hover {
    opacity: 1 !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
}

.stat-card-clean::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background-color: var(--card-accent, transparent);
    opacity: 0.8;
}

.btn-description-minimal {
    background: var(--bg-tertiary);
    border: 1px solid var(--border-color);
    color: var(--text-muted);
    padding: 8px 16px;
    border-radius: 6px;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.5px;
    transition: all 0.2s;
}

.btn-description-minimal:hover {
    background: #333b47;
    color: #fff;
    border-color: var(--accent-primary);
}


/* INFORMATIONS.PHP START */

.info-section {
    background: rgba(255,255,255,0.02);
    border-radius: 8px;
    padding: 20px;
    border: 1px solid rgba(255,255,255,0.05);
}


.section-mini-title {
    font-weight: 600;
    margin-bottom: 8px;
    color: rgba(255, 255, 255, 0.7);
    transition: color 0.3s ease;
    position: relative;
    display: inline-block;
}

.section-mini-title:hover {
    color: rgba(255, 255, 255, 1);
}

.section-mini-title::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, #8b5cf6, #a78bfa);
    transition: width 0.6s ease;
}

.section-mini-title:hover::after {
    width: 100%;
}

.section-divider {
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0.05) 100%);
    width: 100%;
}

.info-grid-detailed {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 15px;
}

.info-item {
    background: color-mix(in oklab, #00f2ea 3%, transparent);
    border: 1px solid color-mix(in oklab, #00f2ea 8%, transparent);
    border-radius: 0px;
    padding: 15px;
    transition: all 0.2s ease;
}

.info-item:hover {
    background: color-mix(in oklab, #00f2ea 5%, transparent);
    border-color: color-mix(in oklab, #00f2ea 15%, transparent);
}

.info-label {
    font-size: 0.7rem;
    color: rgba(255,255,255,0.5);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 600;
}

.info-value {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.8);
    font-weight: 500;
}

.header-action-icon {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 8px;
    padding: 10px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.header-action-icon:hover {
    background: rgba(255,255,255,0.1);
    border-color: rgba(255,255,255,0.2);
    transform: translateY(-2px);
}

.header-action-icon svg {
    color: rgba(255,255,255,0.7);
    transition: color 0.3s ease;
}

.header-action-icon:hover svg {
    color: rgba(255,255,255,1);
}

.rates-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 15px;
}

.rate-item {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 12px;
    padding: 20px;
    text-align: center;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.rate-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--rate-color);
    opacity: 0.8;
}

.rate-item:hover {
    background: rgba(255,255,255,0.06);
    border-color: var(--rate-color);
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

.rate-icon {
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rate-icon svg {
    color: var(--rate-color);
    width: 20px;
    height: 20px;
}

.rate-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.rate-label-small {
    font-size: 0.7rem;
    color: rgba(255,255,255,0.6);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 600;
}

.rate-value-large {
    font-size: 1.8rem;
    font-weight: 700;
    color: rgba(255,255,255,0.9);
}

.motd-box {
    background: rgba(255,255,255,0.03);
    border-radius: 6px;
    padding: 15px;
    border-left: 3px solid var(--accent-primary);
}

.motd-text {
    margin: 0;
    line-height: 1.6;
    font-size: 0.9rem;
    color: #FFEB3B !important;
}

.description-trigger {
    display: flex;
    justify-content: center;
    padding: 10px 0;
}

.btn-description-trigger {
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.1) 0%, rgba(139, 92, 246, 0.05) 100%);
    border: 1px solid rgba(139, 92, 246, 0.2);
    border-radius: 6px;
    padding: 10px 20px;
    color: #8b5cf6;
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    text-decoration: none;
}

.btn-description-trigger:hover {
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.2) 0%, rgba(139, 92, 246, 0.1) 100%);
    border-color: rgba(139, 92, 246, 0.4);
    color: #a78bfa;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.1);
}

.bg-success {
    background-color: #0ecb811f !important;
    color: white;
}

.bg-danger {
    background-color: #ff6b6b !important;
    color: white;
}

.bg-primary {
    background-color: #4a90e2 !important;
    color: white;
}

.bg-secondary {
    background-color: #f6465d33 !important;
    color: var(--status-down) !important;
    border: solid 1px var(--status-down) !important;
}
.bg-red {
    background-color: #ff00001a !important;
    color: #ff878796 !important;
    border: solid 1px #ff878796;
}

/* Modal Styles */
.description-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    opacity: 0;
    animation: fadeIn 0.3s ease forwards;
}

.description-modal {
    background: #1a1a1a;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    max-width: 600px;
    width: 90%;
    max-height: 80vh;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
    transform: scale(0.9);
    animation: scaleIn 0.3s ease forwards;
}

.description-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.02);
}

.description-modal-header h5 {
    color: #fff;
    font-weight: 600;
    margin: 0;
}

.btn-close-modal {
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.6);
    font-size: 1.2rem;
    cursor: pointer;
    padding: 5px;
    border-radius: 4px;
    transition: all 0.2s;
}

.btn-close-modal:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.description-modal-body {
    padding: 20px;
    max-height: 60vh;
    overflow-y: auto;
}

.description-modal-text {
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.6;
    margin: 0;
    white-space: pre-wrap;
}
 
#filtersSidebar .filter-section-title {
    color: rgba(0, 229, 255, 0.85);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 1.5px;
    margin-bottom: 12px;
    margin-top: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
    text-transform: uppercase;
    padding: 8px 12px;
    background: rgba(0, 229, 255, 0.04);
    border: 1px solid rgba(0, 229, 255, 0.1);
    border-radius: 0px;
    position: relative;
    overflow: hidden;
}

#filtersSidebar .filter-section-title::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: linear-gradient(180deg, 
        rgba(0, 229, 255, 0.8) 0%, 
        rgba(0, 229, 255, 0.3) 100%);
}

#filtersSidebar .mb-4 {
    margin-bottom: 24px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(0, 229, 255, 0.06);
}

#filtersSidebar .mb-4:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

#filtersSidebar .mb-2 {
    margin-bottom: 20px;
}

#filtersSidebar .mt-3 {
    margin-top: 20px;
}

#filtersSidebar .d-flex.gap-2 {
    gap: 10px;
}

#filtersSidebar form {
    position: relative;
}

#filtersSidebar .text-white {
    color: rgba(0, 229, 255, 0.9) !important;
    font-weight: 700;
    text-shadow: 0 0 8px rgba(0, 229, 255, 0.3);
}

#filtersSidebar [style*="font-size: 11px"] {
    font-size: 0.65rem !important;
    color: rgba(255, 255, 255, 0.4) !important;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
    display: block;
}

.fallback-banner-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.6));
    pointer-events: none;
    z-index: 1;
}

.fallback-server-name {
    font-family: 'Rajdhani', sans-serif;
    font-size: 0.95rem;
    font-weight: 800;
    color: #FFFFFF;
    text-align: center;
    text-shadow: 
        0 0 20px rgba(0, 229, 255, 0.6),
        0 0 40px rgba(0, 229, 255, 0.4),
        2px 2px 4px rgba(0, 0, 0, 0.8);
    letter-spacing: 2px;
    padding: 0 15px;
    line-height: 1.2;
    text-transform: uppercase;
    animation: fallbackNameGlow 3s ease-in-out infinite;
}

@keyframes fallbackNameGlow {
    0%, 100% {
        text-shadow: 
            0 0 20px rgba(0, 229, 255, 0.6),
            0 0 40px rgba(0, 229, 255, 0.4),
            2px 2px 4px rgba(0, 0, 0, 0.8);
    }
    50% {
        text-shadow: 
            0 0 30px rgba(0, 229, 255, 0.8),
            0 0 60px rgba(0, 229, 255, 0.6),
            2px 2px 4px rgba(0, 0, 0, 0.8);
    }
}

.paid-banner-link:hover .fallback-banner-overlay {
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.5));
}

.paid-banner-link:hover .fallback-server-name {
    transform: scale(1.05);
    transition: transform 0.3s ease-in-out;
}



/* ===== STATS GRID 2x2 - COMPACTO 110PX MAX ===== */
.stats-grid-2x2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 0px;
    padding: 6px;
    margin: 5px 0;
    max-height: 110px;
}

.stat-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 6px 8px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 4px;
    transition: all 0.2s ease-in-out;
    min-height: 0;
}

.stat-card:hover {
    background: rgba(255, 255, 255, 0.04);
    transform: translateY(-1px);
}

.stat-icon {
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 3px;
    flex-shrink: 0;
    transition: all 0.2s ease-in-out;
}

.stat-icon svg {
    width: 12px;
    height: 12px;
}

.stat-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    text-align: center;
}

.stat-label {
    font-family: 'Inter', sans-serif;
    font-size: 0.5rem;
    font-weight: 600;
    color: #848e9c;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    line-height: 1;
    white-space: nowrap;
}

.stat-value {
    font-family: 'Rajdhani', sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    color: #FFFFFF;
    line-height: 1;
    display: flex;
    align-items: center;
    gap: 3px;
}

/* Players Online - Verde */
.stat-players-online .stat-icon {
    background: rgba(14, 203, 129, 0.1);
    border: 1px solid rgba(14, 203, 129, 0.2);
    color: #0ECB81;
}

.stat-players-online:hover .stat-icon {
    background: rgba(14, 203, 129, 0.15);
    border-color: rgba(14, 203, 129, 0.4);
    box-shadow: 0 0 6px rgba(14, 203, 129, 0.2);
}

.stat-players-online:hover {
    border-color: rgba(14, 203, 129, 0.3);
}

/* Players Total - Azul Ciano */
.stat-players-total .stat-icon {
    background: rgba(0, 229, 255, 0.1);
    border: 1px solid rgba(0, 229, 255, 0.2);
    color: #00E5FF;
}

.stat-players-total:hover .stat-icon {
    background: rgba(0, 229, 255, 0.15);
    border-color: rgba(0, 229, 255, 0.4);
    box-shadow: 0 0 6px rgba(0, 229, 255, 0.2);
}

.stat-players-total:hover {
    border-color: rgba(0, 229, 255, 0.3);
}

/* Servers Online - Amarelo */
.stat-servers-online .stat-icon {
    background: rgba(255, 193, 7, 0.1);
    border: 1px solid rgba(255, 193, 7, 0.2);
    color: #FFC107;
}

.stat-servers-online:hover .stat-icon {
    background: rgba(255, 193, 7, 0.15);
    border-color: rgba(255, 193, 7, 0.4);
    box-shadow: 0 0 6px rgba(255, 193, 7, 0.2);
}

.stat-servers-online:hover {
    border-color: rgba(255, 193, 7, 0.3);
}

/* Servers Total - Laranja */
.stat-servers-total .stat-icon {
    background: rgba(255, 159, 64, 0.1);
    border: 1px solid rgba(255, 159, 64, 0.2);
    color: #FF9F40;
}

.stat-servers-total:hover .stat-icon {
    background: rgba(255, 159, 64, 0.15);
    border-color: rgba(255, 159, 64, 0.4);
    box-shadow: 0 0 6px rgba(255, 159, 64, 0.2);
}

.stat-servers-total:hover {
    border-color: rgba(255, 159, 64, 0.3);
}

/* Trend icons dentro do valor */
.stat-value .stat-trend-icon {
    width: 10px;
    height: 10px;
    flex-shrink: 0;
}

.stat-value .stat-trend-up {
    color: #0ECB81;
}

.stat-value .stat-trend-down {
    color: #F6465D;
}

.stat-value .stat-trend-value {
    font-size: 0.65rem;
    font-weight: 600;
    opacity: 0.8;
    flex-shrink: 0;
}

.stat-value .stat-trend-value.trend-up {
    color: #0ECB81;
}

.stat-value .stat-trend-value.trend-down {
    color: #F6465D;
}

/* =========================================
   5. OUTROS MASCOTES (REGRAS / LOGIN)
   ========================================= */

.rules-mascot-container,
.login-error-mascot-container {
    position: absolute;
    bottom: 50%;
    z-index: 1;
    display: flex;
    align-items: center;
    opacity: 0;
    pointer-events: none;
    /* transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); */
}

.rules-mascot-container { left: 0; transform: translateX(50px); }
.login-error-mascot-container { right: 0; transform: translateX(-50px); }

.rules-mascot-container.show,
.login-error-mascot-container.show {
    opacity: 1;
    transform: translateX(0);
    pointer-events: auto;
}

.mascot-body {
    width: 80px;
    height: 80px;
    position: absolute;
    cursor: pointer;
    transition: transform 0.3s ease;
    /* Filtro para dar um brilho extra no corpo holográfico */
    filter: drop-shadow(0 0 5px rgba(0, 210, 255, 0.2)); 
}

.rules-mascot-container .mascot-body { transform: rotate(-10deg); }
.login-error-mascot-container .mascot-body { right: -50px; transform: rotate(10deg); }

.rules-mascot-container .mascot-body:hover { transform: rotate(-5deg) translateX(-5px); }
.login-error-mascot-container .mascot-body:hover { transform: rotate(5deg) translateX(5px); }

.mascot-communication-group {
    position: absolute;
    bottom: 0px;
    opacity: 0;
    /* transition: all 0.4s ease 0.2s; */
}

.rules-mascot-container .mascot-communication-group { right: 8px; transform: scale(0.8) translateX(20px); }
.login-error-mascot-container .mascot-communication-group { left: 35px; transform: scale(0.8) translateX(-20px); }

.rules-mascot-container.show .mascot-communication-group,
.login-error-mascot-container.show .mascot-communication-group {
    opacity: 1;
    transform: scale(1) translateX(0);
}

/* Balões Flutuantes (Regras/Login) */
.mascot-bubble, .login-error-bubble {
    width: max-content;
}

.mascot-bubble::after {
    content: '';
    position: absolute;
    right: -10px;
    margin-top: -10px;
    border-width: 0px 0px 10px 10px;
    border-style: solid;
    border-color: transparent transparent transparent rgba(0, 210, 255, 0.5) !important;
}

.login-error-bubble {
    top: -80px;
    left: 80px;
    animation: popIn 0.5s ease-out 1s forwards;
}

/* Linhas conectoras (se houver SVG) */
.mascot-connector-line {
    display: block !important;
    margin-top: -45px;
    margin-right: 30px;
    z-index: 2;
    filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.2));
    overflow: visible;
    position: absolute;
    top: 60px;
}
.rules-mascot-container .mascot-connector-line { right: 0; }
.login-error-mascot-container .mascot-connector-line { left: 0; }

 
 