/* Portal Campeonato - Estilos Otimizados */

/* ===== IMPORTAÇÃO FONT AWESOME ===== */
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700;900&display=swap');

/* ===== CABEÇALHOS AUTOMÁTICOS COM TEMA ===== */

/* Classe específica para cabeçalhos que devem receber cor automática do tema */
.campeonato-header {
    background: var(--portal-primary) !important;
    color: #ffffff !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
    padding: 1.25rem !important;
    font-weight: 600 !important;
    position: relative !important;
}

/* Garantir que todos os elementos dentro dos cabeçalhos automáticos sejam brancos */
.campeonato-header *,
.campeonato-header h1,
.campeonato-header h2,
.campeonato-header h3,
.campeonato-header h4,
.campeonato-header h5,
.campeonato-header h6,
.campeonato-header i,
.campeonato-header span,
.campeonato-header a {
    color: #ffffff !important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3) !important;
}

/* ===== GARANTIA GLOBAL DE FONTES BRANCAS EM CABEÇALHOS ===== */

/* Força específica para cabeçalhos de campeonatos */
.campeonato-card .card-header h3,
.campeonato-card .card-header h3 i,
.campeonato-card .card-header .text-white {
    color: #ffffff !important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5) !important;
}

/* Todos os cabeçalhos de cards */
.card-header,
.card-header *,
.card-header h1,
.card-header h2,
.card-header h3,
.card-header h4,
.card-header h5,
.card-header h6,
.card-header i,
.card-header span,
.card-header a {
    color: #ffffff !important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3) !important;
}

/* Cards de campeonatos - padrão específico */
.campeonato-card .card-header,
.campeonato-card .card-header.bg-primary {
    background: var(--portal-primary) !important;
    color: #ffffff !important;
}

.campeonato-card .card-header *,
.campeonato-card .card-header .card-title,
.campeonato-card .card-header i,
.campeonato-card .card-header .badge {
    color: #ffffff !important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3) !important;
}

/* Cabeçalhos com classes específicas */
.portal-card-header,
.campeonato-card-header,
.phase-card .card-header,
.resultado-card .card-header,
.stats-card .card-header {
    background: var(--portal-primary) !important;
    color: #ffffff !important;
}

.portal-card-header *,
.campeonato-card-header *,
.phase-card .card-header *,
.resultado-card .card-header *,
.stats-card .card-header * {
    color: #ffffff !important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3) !important;
}

/* Cabeçalhos de páginas principais - COR SÓLIDA */
.portal-page-header,
.campeonato-page-header,
.welcome-section,
.hero-section {
    background: var(--portal-primary) !important;
    background-image: none !important;
    color: #ffffff !important;
    border: none !important;
}

/* GARANTIR que TODOS os elementos dentro dos cabeçalhos sejam BRANCOS */
.portal-page-header *,
.campeonato-page-header *,
.welcome-section *,
.hero-section *,
.portal-page-header h1,
.portal-page-header h2,
.portal-page-header h3,
.portal-page-header h4,
.portal-page-header h5,
.portal-page-header h6,
.portal-page-header i,
.portal-page-header span,
.portal-page-header a,
.portal-page-header .breadcrumb-item,
.portal-page-header .breadcrumb-item a {
    color: #ffffff !important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3) !important;
}

/* Remover TODOS os gradientes globalmente */
.bg-gradient,
.bg-gradient-primary,
.bg-gradient-secondary,
.portal-gradient,
.campeonato-gradient,
*[class*="gradient"] {
    background: var(--portal-primary) !important;
    background-image: none !important;
}

/* Forçar remoção de gradientes em cabeçalhos */
.portal-page-header,
.campeonato-page-header,
.card-header,
.portal-card-header,
.campeonato-header,
.welcome-section,
.hero-section {
    background: var(--portal-primary) !important;
    background-image: none !important;
    background-attachment: initial !important;
    background-blend-mode: initial !important;
    background-clip: initial !important;
    background-origin: initial !important;
    background-position: initial !important;
    background-repeat: initial !important;
    background-size: initial !important;
    color: #ffffff !important;
}

/* Forçar remoção de pseudo-elementos com gradientes */
*::before,
*::after {
    background-image: none !important;
}

/* Cabeçalhos específicos por cor */
.card-header.bg-success,
.card-header[style*="--portal-success"] {
    background: var(--portal-success) !important;
    color: #ffffff !important;
}

.card-header.bg-info,
.card-header[style*="--portal-info"] {
    background: var(--portal-info) !important;
    color: #ffffff !important;
}

.card-header.bg-warning,
.card-header[style*="--portal-warning"] {
    background: var(--portal-warning) !important;
    color: #ffffff !important;
}

.card-header.bg-danger,
.card-header[style*="--portal-danger"] {
    background: var(--portal-danger) !important;
    color: #ffffff !important;
}

/* ===== GARANTIR VISIBILIDADE DOS ÍCONES FONT AWESOME ===== */
.fas, .far, .fab, .fa, i[class*="fa-"] {
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Pro", "Font Awesome 5 Free", "Font Awesome 5 Pro", "FontAwesome" !important;
    font-style: normal !important;
    font-variant: normal !important;
    text-rendering: auto !important;
    line-height: 1 !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: inline-block !important;
    font-weight: 900 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* Forçar exibição de ícones nos cards de estatísticas */
.card .fas, .card .far, .card .fab {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    display: inline-block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Garantir que os ícones dos botões apareçam */
.btn .fas, .btn .far, .btn .fab {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    display: inline-block !important;
    margin-right: 0.5rem !important;
}

/* Forçar carregamento específico para ícones de estatísticas */
.stats-icon .fas,
.stats-icon .far,
.stats-icon .fab,
.stats-icon i[class*="fa-"] {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    display: inline-block !important;
    font-style: normal !important;
    font-variant: normal !important;
    text-rendering: auto !important;
    line-height: 1 !important;
    opacity: 1 !important;
    visibility: visible !important;
    color: inherit !important;
}

/* Garantir que ícones não sejam substituídos por fallbacks */
.stats-icon i:before {
    content: none !important;
}

/* Remover regra que força fallback em todos os ícones */
.stats-icon i:empty[data-fallback]:before {
    content: none !important;
}

/* ===== VARIÁVEIS CSS ÚNICAS ===== */
:root {
    /* Cores Primárias */
    --portal-primary: var(--bs-primary, var(--odoo-primary-color, #714B67));
    --portal-primary-dark: color-mix(in srgb, var(--portal-primary) 80%, black);
    --portal-primary-light: color-mix(in srgb, var(--portal-primary) 70%, white);
    --portal-secondary: var(--bs-secondary, #8F7985);
    
    /* Cores de Background */
    --portal-bg-primary: var(--bs-body-bg, #ffffff);
    --portal-bg-secondary: var(--bs-secondary-bg, #f8f9fa);
    --portal-card-bg: var(--bs-body-bg, #ffffff);
    
    /* Cores de Texto */
    --portal-text-primary: var(--bs-body-color, #212529);
    --portal-text-secondary: var(--bs-secondary-color, #6c757d);
    --portal-text-muted: var(--bs-text-muted, #6c757d);
    --portal-text-light: #ffffff;
    
    /* Cores do Sistema */
    --portal-success: var(--bs-success, #28a745);
    --portal-warning: var(--bs-warning, #ffc107);
    --portal-danger: var(--bs-danger, #dc3545);
    --portal-info: var(--bs-info, #17a2b8);
    
    /* Bordas e Sombras */
    --portal-border-color: var(--bs-border-color, #dee2e6);
    --portal-border-radius: var(--bs-border-radius, 0.375rem);
    --portal-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    --portal-shadow-medium: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    --portal-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
    
    /* Transições */
    --portal-transition: all 0.3s ease;
    --portal-transition-fast: all 0.15s ease;
    
    /* Gradientes */
    --portal-gradient-primary: linear-gradient(135deg, var(--portal-primary) 0%, var(--portal-primary-dark) 100%);
    --portal-gradient-header: linear-gradient(135deg, var(--portal-primary) 0%, var(--portal-primary-dark) 50%, #4a1a6b 100%);
}

/* ===== RESET E BASE ===== */
body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
    background-color: var(--portal-bg-primary) !important;
    color: var(--portal-text-primary) !important;
    line-height: 1.6 !important;
}

/* ===== TIPOGRAFIA ===== */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: var(--portal-text-primary) !important;
}

/* ===== FONTES DO TEMA DO PORTAL ===== */
.campeonato-portal h1,
.campeonato-portal h2,
.campeonato-portal h3,
.campeonato-portal h4,
.campeonato-portal h5,
.campeonato-portal h6 {
    font-family: var(--o-we-font-family, 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif) !important;
    font-weight: var(--o-we-font-weight, 500);
}

.campeonato-portal .card-title {
    font-family: var(--o-we-font-family, 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif) !important;
    font-weight: var(--o-we-font-weight, 600);
}

.campeonato-portal .card-text {
    font-family: var(--o-we-font-family, 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif) !important;
    font-weight: var(--o-we-font-weight, 400);
}

a {
    color: var(--portal-primary) !important;
    text-decoration: none !important;
    transition: var(--portal-transition) !important;
}

a:hover {
    color: var(--portal-primary-dark) !important;
    text-decoration: none !important;
}

/* ===== BOTÕES CONSOLIDADOS ===== */
.btn-primary,
.portal-btn,
.portal-btn-primary {
    background-color: var(--portal-primary) !important;
    border-color: var(--portal-primary) !important;
    color: var(--portal-text-light) !important;
    font-weight: 500 !important;
    padding: 0.5rem 1rem;
    border-radius: var(--portal-border-radius);
    text-decoration: none;
    display: inline-block;
    transition: var(--portal-transition);
    cursor: pointer;
}

.btn-primary:hover,
.portal-btn:hover,
.portal-btn-primary:hover {
    background-color: var(--portal-primary-dark) !important;
    border-color: var(--portal-primary-dark) !important;
    color: var(--portal-text-light) !important;
    transform: translateY(-1px);
    box-shadow: var(--portal-shadow-medium);
}

.portal-btn-secondary {
    background-color: var(--portal-bg-secondary);
    color: var(--portal-text-primary);
    border: 1px solid var(--portal-border-color);
    padding: 0.5rem 1rem;
    border-radius: var(--portal-border-radius);
    transition: var(--portal-transition);
}

.portal-btn-lg {
    padding: 0.75rem 1.5rem;
    font-size: 1.125rem;
}

.portal-btn-sm {
    padding: 0.375rem 0.75rem;
    font-size: 0.875rem;
}

/* ===== CARDS CONSOLIDADOS ===== */
.card,
.portal-card {
    background-color: var(--portal-card-bg) !important;
    color: var(--portal-text-primary) !important;
    border: 1px solid var(--portal-border-color) !important;
    border-radius: 0.5rem !important;
    box-shadow: var(--portal-shadow-sm) !important;
    transition: var(--portal-transition);
    overflow: hidden;
}

.card:hover,
.portal-card:hover,
.portal-card-hover:hover {
    transform: translateY(-2px);
    box-shadow: var(--portal-shadow-medium);
}

.card-header,
.portal-card-header {
    background-color: var(--portal-primary) !important;
    color: var(--portal-text-light) !important;
    font-weight: 600 !important;
    padding: 1rem;
    border-radius: 0.5rem 0.5rem 0 0 !important;
    border-bottom: none;
}

.card-body,
.portal-card-body {
    padding: 1rem;
    color: var(--portal-text-primary);
    background-color: var(--portal-card-bg) !important;
}

.card-footer,
.portal-card-footer {
    padding: 1rem;
    border-top: 1px solid var(--portal-border-color);
    background-color: var(--portal-bg-secondary);
}

/* ===== TABELAS ===== */
.table {
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: var(--portal-shadow-sm) !important;
}

.table thead th {
    background: var(--portal-gradient-primary) !important;
    color: var(--portal-text-light) !important;
    border: none !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 1rem !important;
}

.table tbody tr {
    transition: var(--portal-transition) !important;
}

.table tbody tr:hover {
    background: rgba(113, 75, 103, 0.05) !important;
    transform: scale(1.01) !important;
}

/* ===== NAVEGAÇÃO ===== */
.navbar-brand {
    font-weight: 600 !important;
    color: var(--portal-primary) !important;
}

.sidebar {
    background-color: var(--portal-card-bg) !important;
    box-shadow: var(--portal-shadow-sm) !important;
    border-radius: 0.5rem !important;
    min-height: calc(100vh - 200px) !important;
}

.sidebar .nav-link {
    color: var(--portal-text-secondary) !important;
    padding: 0.75rem 1rem !important;
    border-radius: 0.25rem !important;
    margin-bottom: 0.25rem !important;
    transition: var(--portal-transition);
}

.sidebar .nav-link:hover,
.sidebar .nav-link.active {
    background-color: var(--portal-primary) !important;
    color: var(--portal-text-light) !important;
}

/* ===== SEÇÕES ESPECIAIS ===== */
.portal-hero-section {
    background: var(--portal-gradient-primary);
    color: var(--portal-text-light);
    padding: 3rem;
    border-radius: 0.75rem;
    margin-bottom: 2rem;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.portal-hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, rgba(255,255,255,0.1) 0%, transparent 50%, rgba(255,255,255,0.05) 100%);
    pointer-events: none;
}

.portal-hero-title {
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 1rem;
    color: #ffffff !important;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
    position: relative;
    z-index: 2;
}

.portal-hero-subtitle {
    font-size: 1.25rem;
    margin-bottom: 1rem;
    opacity: 0.9;
    color: #ffffff !important;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.2);
    position: relative;
    z-index: 2;
}

.portal-page-header {
    background: var(--portal-primary);
    color: var(--portal-text-light);
    padding: 2rem 0;
    margin-bottom: 2rem;
    position: relative;
    overflow: hidden;
    text-align: center;
}

.portal-page-header::before {
    display: none;
}

.portal-page-title,
.page-title {
    font-size: 2.5rem;
    font-weight: 700;
    margin: 0;
    color: #ffffff !important;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
    position: relative;
    z-index: 2;
}

.portal-section-title {
    font-size: 2rem;
    font-weight: 600;
    color: #ffffff !important;
    margin-bottom: 1.5rem;
    text-align: center;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}

/* ===== CONTADORES E ESTATÍSTICAS ===== */
.hero-stats,
.stats-container,
.portal-stats {
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 1.5rem 0;
    gap: 1rem;
    flex-wrap: wrap;
}

.stat-circle,
.hero-stats .stat-circle,
.counter-circle {
    background: rgba(255, 255, 255, 0.15);
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    width: 120px;
    height: 120px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(10px);
    transition: var(--portal-transition);
    text-align: center;
    padding: 0.5rem;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
    position: relative;
}

.stat-circle:hover,
.hero-stats .stat-circle:hover {
    background: rgba(255, 255, 255, 0.25);
    transform: scale(1.05);
    border-color: rgba(255, 255, 255, 0.5);
}

.stat-number,
.counter-number,
.hero-stats .stat-number {
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 2rem !important;
    line-height: 1 !important;
    margin-bottom: 0.25rem !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5) !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 10 !important;
    position: relative !important;
}

.stat-label,
.counter-label,
.hero-stats .stat-label {
    color: rgba(255, 255, 255, 0.95) !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    text-align: center !important;
    line-height: 1.2 !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7) !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-top: 0.25rem !important;
    z-index: 10 !important;
    position: relative !important;
    max-width: 100px !important;
    word-wrap: break-word !important;
}

/* ===== LOGO E ÍCONES ===== */
.campeonato-logo,
.portal-logo,
.campeonato-icon-large {
    border-radius: 50% !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2) !important;
    border: 4px solid rgba(255, 255, 255, 0.3) !important;
    transition: var(--portal-transition) !important;
    background: var(--portal-bg-secondary) !important;
    padding: 8px !important;
    width: 120px !important;
    height: 120px !important;
    max-width: 120px !important;
    max-height: 120px !important;
    object-fit: cover !important;
    display: block !important;
    margin: 0 auto !important;
}

.campeonato-logo:hover,
.portal-logo:hover,
.campeonato-icon-large:hover {
    transform: scale(1.05) !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3) !important;
    border-color: rgba(255, 255, 255, 0.5) !important;
}

.campeonato-icon-placeholder {
    width: 120px !important;
    height: 120px !important;
    background: var(--portal-gradient-primary) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25) !important;
    border: 4px solid rgba(255, 255, 255, 0.3) !important;
    color: #ffffff !important;
    font-size: 2.5rem !important;
    font-weight: 700 !important;
    text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.4) !important;
    transition: var(--portal-transition) !important;
    margin: 0 auto !important;
}

.campeonato-icon-placeholder:hover {
    transform: scale(1.05) !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35) !important;
}

/* ===== ALERTAS CONSOLIDADOS ===== */
.alert,
.portal-alert {
    padding: 1rem;
    border-radius: 0.5rem !important;
    border: 1px solid transparent;
}

.portal-alert-info {
    background-color: color-mix(in srgb, var(--portal-info) 10%, var(--portal-bg-primary));
    border-color: color-mix(in srgb, var(--portal-info) 30%, var(--portal-bg-primary));
    color: color-mix(in srgb, var(--portal-info) 80%, black);
}

/* ===== CORREÇÕES DE VISIBILIDADE DAS FONTES NOS CARDS ===== */

/* Cards de Campeonatos - Melhorar Contraste dos Textos */
.campeonato-card .card-title,
.campeonato-card h5,
.campeonato-card h6 {
    color: #212529 !important;
    font-weight: 700 !important;
    text-shadow: none !important;
}

.campeonato-card .card-text,
.campeonato-card p {
    color: #495057 !important;
    font-weight: 500 !important;
}

.campeonato-card .text-muted {
    color: #6c757d !important;
    font-weight: 500 !important;
}

/* Estatísticas nos Cards - Textos Visíveis */
.stat-item .stat-number,
.stat-item .fw-bold {
    color: #212529 !important;
    font-weight: 700 !important;
    font-size: 1.5rem !important;
}

.stat-item .stat-label,
.stat-item small {
    color: #495057 !important;
    font-weight: 600 !important;
    font-size: 0.85rem !important;
}

/* Badges de Status - Melhor Contraste */
.badge.bg-success {
    background: #28a745 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
}

.badge.bg-warning {
    background: #fd7e14 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
}

.badge.bg-primary {
    background: #0d6efd !important;
    color: #ffffff !important;
    font-weight: 600 !important;
}

.badge.bg-secondary {
    background: #6c757d !important;
    color: #ffffff !important;
    font-weight: 600 !important;
}

/* Cards de Estatísticas - Fundo e Texto */
.stats-card {
    background: #ffffff !important;
    border: 1px solid #dee2e6 !important;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.stats-card .stats-number {
    color: #212529 !important;
    font-weight: 700 !important;
    font-size: 2rem !important;
}

.stats-card .stats-label {
    color: #6c757d !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
}

/* Cards de Modalidade - Textos Legíveis */
.modalidade-card h5 {
    color: #212529 !important;
    font-weight: 700 !important;
}

.modalidade-card .fw-bold {
    color: #212529 !important;
    font-weight: 700 !important;
}

/* Cards de Ranking - Contraste Adequado */
.ranking-card h5 {
    color: #212529 !important;
    font-weight: 700 !important;
}

.ranking-card .display-6 {
    color: #212529 !important;
    font-weight: 700 !important;
}

/* Cards de Resultados - Textos Visíveis */
.resultado-card h6 {
    color: #212529 !important;
    font-weight: 700 !important;
}

.resultado-card .team-name {
    color: #212529 !important;
    font-weight: 600 !important;
}

.resultado-card .score-display .fw-bold {
    color: #212529 !important;
    font-weight: 700 !important;
}

/* Cards de Fase - Headers com Contraste */
.phase-card .card-header h5 {
    color: #ffffff !important;
    font-weight: 700 !important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3) !important;
}

.phase-card .display-4 {
    font-weight: 700 !important;
}

/* Tabelas - Melhor Legibilidade */
.table th {
    color: #ffffff !important;
    font-weight: 600 !important;
    background: var(--portal-primary) !important;
}

.table td {
    color: #212529 !important;
    font-weight: 500 !important;
}

.table .fw-bold {
    color: #212529 !important;
    font-weight: 700 !important;
}

.table .team-name {
    color: #212529 !important;
    font-weight: 600 !important;
}

/* Seções de Título - Contraste Adequado */
.section-title {
    color: var(--portal-primary) !important;
    font-weight: 700 !important;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}

/* Cards de Campeonatos Detalhados - Página Principal */
.campeonato-card .card-header {
    background: var(--portal-primary) !important;
    color: #ffffff !important;
}

.campeonato-card .card-body {
    background: #ffffff !important;
    color: #212529 !important;
}

.campeonato-card .card-body h5,
.campeonato-card .card-body h6 {
    color: #212529 !important;
    font-weight: 700 !important;
}

.campeonato-card .card-body p {
    color: #495057 !important;
    font-weight: 500 !important;
}

.campeonato-card .card-body .fw-bold {
    color: #212529 !important;
    font-weight: 700 !important;
}

/* Estatísticas de Partidas - Cores Específicas */
.match-stat .fw-bold.text-success {
    color: #198754 !important;
    font-weight: 700 !important;
}

.match-stat .fw-bold.text-warning {
    color: #fd7e14 !important;
    font-weight: 700 !important;
}

.match-stat .fw-bold.text-info {
    color: #0dcaf0 !important;
    font-weight: 700 !important;
}

.match-stat small {
    color: #6c757d !important;
    font-weight: 600 !important;
}

/* Classificação por Grupos - Textos Legíveis */
.group-header {
    background: rgba(13, 110, 253, 0.1) !important;
    color: #0d6efd !important;
    font-weight: 700 !important;
}

.group-teams {
    background: #f8f9fa !important;
}

.team-position .team-name {
    color: #212529 !important;
    font-weight: 600 !important;
}

.team-position .points {
    color: #0d6efd !important;
    font-weight: 700 !important;
}

/* Informações de Inscrição - Contraste */
.inscription-info h6 {
    color: #212529 !important;
    font-weight: 700 !important;
}

.inscription-info small {
    color: #6c757d !important;
    font-weight: 500 !important;
}

/* Botões - Melhor Visibilidade */
.portal-btn-primary {
    background: var(--portal-primary) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    border: none !important;
    padding: 0.75rem 1.5rem !important;
    border-radius: 0.5rem !important;
    text-decoration: none !important;
    display: inline-block !important;
    text-align: center !important;
    transition: all 0.3s ease !important;
}

.portal-btn-primary:hover {
    background: var(--portal-primary-dark) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

/* Página de Detalhes do Campeonato - Hero Section */
.bg-gradient .stat-item .h4 {
    color: #ffffff !important;
    font-weight: 700 !important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3) !important;
}

.bg-gradient .stat-item small {
    color: rgba(255, 255, 255, 0.8) !important;
    font-weight: 600 !important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2) !important;
}

.campeonato-card .card-header * {
    color: #ffffff !important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3) !important;
}

/* Garantir que todos os textos em cards brancos sejam escuros */
.card .card-body,
.portal-card .card-body,
.campeonato-card .card-body {
    color: #212529 !important;
}

.card .card-body *:not(.badge):not(.btn),
.portal-card .card-body *:not(.badge):not(.btn),
.campeonato-card .card-body *:not(.badge):not(.btn) {
    color: inherit !important;
}

/* Garantir que elementos text-white mantenham cor branca em campeonato-card */
.campeonato-card .text-white,
.portal-card .text-white {
    color: #ffffff !important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3) !important;
}

/* Forçar cor escura para textos em fundos claros */
.bg-light,
.bg-white,
.card-body,
.portal-card-body {
    color: #212529 !important;
}

.bg-light *:not(.badge):not(.btn):not(.text-white):not(.text-light),
.bg-white *:not(.badge):not(.btn):not(.text-white):not(.text-light),
.card-body *:not(.badge):not(.btn):not(.text-white):not(.text-light),
.portal-card-body *:not(.badge):not(.btn):not(.text-white):not(.text-light) {
    color: #212529 !important;
}

/* Responsividade - Manter Contraste */
@media (max-width: 768px) {
    .stats-card .stats-number {
        font-size: 2rem !important;
        letter-spacing: normal !important;
        word-spacing: normal !important;
        white-space: nowrap !important;
    }
    
    .stat-item .stat-number {
        font-size: 1.3rem !important;
    }
}

@media (max-width: 576px) {
    .stats-card .stats-number {
        font-size: 1.75rem !important;
        letter-spacing: normal !important;
        word-spacing: normal !important;
        white-space: nowrap !important;
    }
    
    .stat-item .stat-number {
        font-size: 1.1rem !important;
    }
}

/* ===== CORREÇÕES ESPECÍFICAS PARA CABEÇALHOS ===== */

/* Garantir visibilidade dos botões no hover dos cards */
.card:hover .btn-group .btn,
.portal-card:hover .btn-group .btn,
.campeonato-card:hover .btn-group .btn {
    background-color: #ffffff !important;
    border-color: var(--portal-primary) !important;
    color: var(--portal-primary) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.card:hover .btn-group .btn:hover,
.portal-card:hover .btn-group .btn:hover,
.campeonato-card:hover .btn-group .btn:hover {
    background-color: var(--portal-primary) !important;
    color: #ffffff !important;
}

/* Cabeçalho da Página de Detalhes - Melhor Visibilidade */
.campeonato-card.bg-gradient .card-body {
    background: var(--portal-primary) !important;
    position: relative !important;
    overflow: hidden !important;
}

.campeonato-card.bg-gradient .card-body::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, rgba(255,255,255,0.1) 0%, transparent 50%, rgba(255,255,255,0.05) 100%);
    pointer-events: none;
    z-index: 1;
}

.campeonato-card.bg-gradient .card-body > * {
    position: relative;
    z-index: 2;
}

/* Correções para Cards de Times - Prevenir Overflow */
.campeonato-card {
    overflow: hidden !important;
    word-wrap: break-word !important;
    word-break: break-word !important;
}

.campeonato-card .card-header {
    background: var(--portal-primary) !important;
    color: #ffffff !important;
}

.campeonato-card .card-header .card-title {
    /* Removendo limitações que cortam o texto */
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 0;
    color: #ffffff !important;
    word-wrap: break-word;
    white-space: normal;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3) !important;
    /* Comentando as linhas que causam o corte:
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    max-width: 200px !important;
    display: inline-block !important; */
}

.campeonato-card .card-body {
    overflow: hidden !important;
    word-wrap: break-word !important;
    word-break: break-word !important;
    padding: 1rem !important;
}

.campeonato-card .card-body h5,
.campeonato-card .card-body h6 {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    margin-bottom: 0.5rem !important;
}

.campeonato-card .card-body p {
    overflow: hidden !important;
    word-wrap: break-word !important;
    word-break: break-word !important;
    line-height: 1.4 !important;
}

.campeonato-card .card-body .text-muted {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 0.875rem !important;
}

/* Responsive Grid para Times - Melhor Controle */
.responsive-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0.75rem !important;
    width: 100% !important;
    overflow: hidden !important;
}

.responsive-grid .stats-card {
    min-width: 0 !important;
    overflow: hidden !important;
    padding: 0.75rem !important;
    text-align: center !important;
}

.responsive-grid .stats-card .stats-number {
    font-size: 1.5rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.25rem !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.responsive-grid .stats-card .stats-label {
    font-size: 0.8rem !important;
    line-height: 1.2 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* Card Footer - Botões Responsivos */
.campeonato-card .card-footer {
    overflow: hidden !important;
    padding: 0.75rem 1rem !important;
}

.campeonato-card .card-footer .btn-group {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.25rem !important;
}

.campeonato-card .card-footer .btn {
    flex: 1 !important;
    min-width: 0 !important;
    font-size: 0.8rem !important;
    padding: 0.375rem 0.5rem !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* Responsividade para Cards de Times */
@media (max-width: 768px) {
    .campeonato-card .card-header .card-title {
        max-width: 150px !important;
        font-size: 0.9rem !important;
    }
    
    .responsive-grid {
        grid-template-columns: 1fr !important;
        gap: 0.5rem !important;
    }
    
    .responsive-grid .stats-card {
        padding: 0.5rem !important;
    }
    
    .responsive-grid .stats-card .stats-number {
        font-size: 1.25rem !important;
    }
    
    .responsive-grid .stats-card .stats-label {
        font-size: 0.75rem !important;
    }
    
    .campeonato-card .card-footer .btn {
        font-size: 0.75rem !important;
        padding: 0.25rem 0.375rem !important;
    }
}

@media (max-width: 576px) {
    .campeonato-card .card-header .card-title {
        max-width: 120px !important;
        font-size: 0.85rem !important;
    }
    
    .campeonato-card .card-body {
        padding: 0.75rem !important;
    }
    
    .responsive-grid .stats-card .stats-number {
        font-size: 1.1rem !important;
    }
    
    .responsive-grid .stats-card .stats-label {
        font-size: 0.7rem !important;
    }
    
    .campeonato-card .card-footer .btn-group {
        flex-direction: column !important;
    }
    
    .campeonato-card .card-footer .btn {
        width: 100% !important;
        margin-bottom: 0.25rem !important;
    }
}

/* Texto de Descrição - Mais Visível */
.campeonato-card.bg-gradient .lead {
    color: rgba(255, 255, 255, 0.95) !important;
    font-weight: 600 !important;
    font-size: 1.25rem !important;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5) !important;
    background: rgba(0, 0, 0, 0.2) !important;
    padding: 0.75rem 1.5rem !important;
    border-radius: 25px !important;
    border: 2px solid rgba(255, 255, 255, 0.3) !important;
    backdrop-filter: blur(10px) !important;
    display: inline-block !important;
    margin: 0.5rem 0 !important;
}

/* Badge de Status - Mais Destacado */
.campeonato-card.bg-gradient .badge {
    background: rgba(255, 255, 255, 0.9) !important;
    color: var(--portal-primary) !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    padding: 0.75rem 1.5rem !important;
    border-radius: 25px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    border: 2px solid rgba(255, 255, 255, 0.5) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2) !important;
}

/* Título Principal - Mais Destacado */
.campeonato-card.bg-gradient .display-5 {
    color: #ffffff !important;
    font-weight: 800 !important;
    text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.6) !important;
    font-size: 3rem !important;
    line-height: 1.2 !important;
    margin-bottom: 1rem !important;
}

/* Logo do Campeonato - Maior e Mais Destacado */
.campeonato-card.bg-gradient .campeonato-icon-large,
.campeonato-card.bg-gradient .campeonato-icon-placeholder {
    width: 150px !important;
    height: 150px !important;
    border: 6px solid rgba(255, 255, 255, 0.8) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4) !important;
    transition: all 0.3s ease !important;
}

.campeonato-card.bg-gradient .campeonato-icon-large:hover,
.campeonato-card.bg-gradient .campeonato-icon-placeholder:hover {
    transform: scale(1.1) !important;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.5) !important;
    border-color: rgba(255, 255, 255, 1) !important;
}

/* Estatísticas no Cabeçalho de Detalhes - Mais Visíveis */
.campeonato-card.bg-gradient .stat-item {
    background: rgba(255, 255, 255, 0.25) !important;
    border: 2px solid rgba(255, 255, 255, 0.4) !important;
    border-radius: 15px !important;
    backdrop-filter: blur(15px) !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2) !important;
}

.campeonato-card.bg-gradient .stat-item:hover {
    background: rgba(255, 255, 255, 0.35) !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.3) !important;
}

.campeonato-card.bg-gradient .stat-item .h4 {
    color: #ffffff !important;
    font-weight: 800 !important;
    font-size: 2rem !important;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6) !important;
    margin-bottom: 0.5rem !important;
}

.campeonato-card.bg-gradient .stat-item small {
    color: rgba(255, 255, 255, 0.9) !important;
    font-weight: 600 !important;
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.4) !important;
}

/* ===== MELHORIAS PARA O PORTAL PÚBLICO ===== */

/* Cabeçalho de Boas-vindas - Mais Impactante */
.welcome-section .portal-card-gradient {
    background: var(--portal-primary) !important;
    border-radius: 20px !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2) !important;
    border: 3px solid rgba(255, 255, 255, 0.2) !important;
    position: relative !important;
    overflow: hidden !important;
}

.welcome-section .portal-card-gradient::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, rgba(255,255,255,0.1) 0%, transparent 50%, rgba(255,255,255,0.05) 100%);
    pointer-events: none;
}

.welcome-section .portal-card-gradient > * {
    position: relative;
    z-index: 2;
}

.welcome-section h2 {
    font-size: 2.5rem !important;
    font-weight: 800 !important;
    text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.4) !important;
    margin-bottom: 1.5rem !important;
}

.welcome-section .fas.fa-handshake {
    animation: shake 2s infinite;
    filter: drop-shadow(0 4px 8px rgba(255, 255, 255, 0.3));
}

@keyframes shake {
    0%, 50%, 100% { transform: rotate(0deg); }
    10%, 30% { transform: rotate(-10deg); }
    20%, 40% { transform: rotate(10deg); }
}

/* Cards de Estatísticas - Ícones Mais Destacados */
.stats-card {
    background: #ffffff !important;
    border: 2px solid #f8f9fa !important;
    border-radius: 15px !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1) !important;
    transition: all 0.3s ease !important;
    position: relative !important;
    overflow: hidden !important;
}

.stats-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--portal-primary), var(--portal-primary-dark));
}

.stats-card:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15) !important;
    border-color: var(--portal-primary) !important;
}

/* Ícones das Estatísticas - Mais Visíveis */
.stats-icon {
    margin-bottom: 1rem !important;
    position: relative !important;
}

.stats-icon i {
    display: inline-block !important;
    font-size: 3rem !important;
    margin-bottom: 1rem !important;
    transition: all 0.3s ease !important;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1)) !important;
}

.stats-card:hover .stats-icon i {
    transform: scale(1.2) !important;
    filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.2)) !important;
}

/* Cores específicas para cada tipo de estatística */
.stats-icon .fa-users {
    color: var(--portal-primary) !important;
}

.stats-icon .fa-running {
    color: var(--portal-success) !important;
}

.stats-icon .fa-futbol {
    color: var(--portal-warning) !important;
}

.stats-icon .fa-calendar-check {
    color: var(--portal-info) !important;
}

.stats-icon .fa-trophy {
    color: #ffd700 !important;
}

.stats-icon .fa-medal {
    color: #c0392b !important;
}

.stats-icon .fa-chart-line {
    color: #8e44ad !important;
}

.stats-icon .fa-star {
    color: #f39c12 !important;
}

/* Números das Estatísticas - Mais Destacados */
.stats-number {
    color: var(--portal-text-primary) !important;
    font-weight: 800 !important;
    font-size: 2.5rem !important;
    line-height: 1 !important;
    margin-bottom: 0.5rem !important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1) !important;
}

.stats-label {
    color: var(--portal-text-secondary) !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin: 0 !important;
}

/* Garantir que valores zerados sejam exibidos apenas quando realmente vazios */
.stats-number:empty::after {
    content: '0' !important;
}

/* Remover regras que causam concatenação incorreta */
/* .stats-card .stats-number[t-esc=""]::after,
.stats-card .stats-number:not([t-esc])::after {
    content: '0' !important;
} */

/* Garantir que números com conteúdo não tenham pseudo-elementos */
.stats-card .stats-number:not(:empty)::after {
    content: none !important;
}

/* Remover qualquer formatação que possa separar dígitos */
.stats-card .stats-number {
    color: var(--portal-primary) !important;
    font-weight: 700 !important;
    font-size: 2.5rem !important;
    letter-spacing: normal !important;
    word-spacing: normal !important;
    white-space: nowrap !important;
    display: block !important;
    text-align: center !important;
}

/* Padronização para todos os títulos de seção principais */
.section-title {
    color: var(--portal-primary) !important;
    font-weight: 700 !important;
    font-size: 2.25rem !important;
    margin-bottom: 1rem !important;
    text-align: center !important;
}

.section-title i {
    color: var(--portal-primary) !important;
    margin-right: 0.75rem !important;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1)) !important;
}

/* Seção de Título das Estatísticas */
.stats-section .section-title {
    color: var(--portal-primary) !important;
    font-weight: 700 !important;
    font-size: 2.25rem !important;
    margin-bottom: 1rem !important;
    text-align: center !important;
}

.stats-section .section-title i {
    color: var(--portal-primary) !important;
    margin-right: 0.75rem !important;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1)) !important;
}

/* ===== PADRONIZAÇÃO DE IDENTIDADE VISUAL ===== */

/* Headers Padrão para Todas as Páginas */
.portal-page-header,
.campeonato-page-header {
    background: var(--portal-primary) !important;
    color: #ffffff !important;
    padding: 3rem 0 !important;
    margin-bottom: 2rem !important;
    position: relative !important;
    overflow: hidden !important;
    border-radius: 0 0 25px 25px !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15) !important;
}

.portal-page-header::before,
.campeonato-page-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, rgba(255,255,255,0.1) 0%, transparent 50%, rgba(255,255,255,0.05) 100%);
    pointer-events: none;
}

.portal-page-header > *,
.campeonato-page-header > * {
    position: relative;
    z-index: 2;
}

/* Cards de Estatísticas - Fundo Cor Primária e Fontes Brancas */
.stats-section .stats-card {
    background: var(--portal-primary) !important;
    border: none !important;
    color: #ffffff !important;
}

.stats-section .stats-card .stats-number {
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 2.5rem !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;
}

.stats-section .stats-card .stats-label {
    color: rgba(255, 255, 255, 0.9) !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
}

.stats-section .stats-card .stats-icon i {
    color: rgba(255, 255, 255, 0.8) !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;
}

/* Forçar todos os elementos de texto dentro dos cards a serem brancos */
.stats-section .stats-card *,
.stats-section .stats-card span,
.stats-section .stats-card p,
.stats-section .stats-card h1,
.stats-section .stats-card h2,
.stats-section .stats-card h3,
.stats-section .stats-card h4,
.stats-section .stats-card h5,
.stats-section .stats-card h6 {
    color: #ffffff !important;
}

.stats-section .stats-card:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2) !important;
    background: var(--portal-primary-dark) !important;
}

.stats-section .stats-card:hover .stats-icon i {
    color: #ffffff !important;
    transform: scale(1.1) !important;
}

/* Remover a linha superior colorida dos cards de estatísticas */
.stats-section .stats-card::before {
    display: none !important;
}

/* Títulos Padrão */
.portal-page-title,
.campeonato-page-title {
    font-size: 3rem !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.4) !important;
    margin: 0 !important;
    text-align: center !important;
}

/* Subtítulos Padrão */
.portal-page-subtitle,
.campeonato-page-subtitle {
    font-size: 1.25rem !important;
    color: rgba(255, 255, 255, 0.9) !important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3) !important;
    text-align: center !important;
    margin-top: 0.5rem !important;
}

/* Responsividade para Cabeçalhos */
@media (max-width: 768px) {
    .campeonato-card.bg-gradient .display-5 {
        font-size: 2rem !important;
    }
    
    .campeonato-card.bg-gradient .lead {
        font-size: 1rem !important;
        padding: 0.5rem 1rem !important;
    }
    
    .campeonato-card.bg-gradient .campeonato-icon-large,
    .campeonato-card.bg-gradient .campeonato-icon-placeholder {
        width: 120px !important;
        height: 120px !important;
    }
    
    .welcome-section h2 {
        font-size: 2rem !important;
    }
    
    .portal-page-title,
    .campeonato-page-title {
        font-size: 2.25rem !important;
    }
    
    .stats-number {
        font-size: 2rem !important;
    }
    
    .stats-icon i {
        font-size: 2.5rem !important;
    }
}

@media (max-width: 576px) {
    .campeonato-card.bg-gradient .display-5 {
        font-size: 1.75rem !important;
    }
    
    .campeonato-card.bg-gradient .campeonato-icon-large,
    .campeonato-card.bg-gradient .campeonato-icon-placeholder {
        width: 100px !important;
        height: 100px !important;
    }
    
    .welcome-section h2 {
        font-size: 1.75rem !important;
    }
    
    .portal-page-title,
    .campeonato-page-title {
        font-size: 2rem !important;
    }
    
    .stats-number {
        font-size: 1.75rem !important;
    }
    
    .stats-icon i {
        font-size: 2rem !important;
    }
    
    .stats-card {
        margin-bottom: 1rem !important;
    }
}

/* ===== SISTEMA DE CONTRASTE ADAPTATIVO ===== */

/* Fundos Escuros - Texto e Ícones Brancos */
.bg-dark,
.bg-primary,
.bg-secondary,
.bg-success,
.bg-danger,
.bg-warning,
.bg-info,
.card-header.bg-primary,
.card-header.bg-secondary,
.card-header.bg-success,
.card-header.bg-danger,
.card-header.bg-warning,
.card-header.bg-info,
.portal-card-gradient,
.portal-page-header {
    color: #ffffff !important;
}

.bg-dark *,
.bg-primary *,
.bg-secondary *,
.bg-success *,
.bg-danger *,
.bg-warning *,
.bg-info *,
.card-header.bg-primary *,
.card-header.bg-secondary *,
.card-header.bg-success *,
.card-header.bg-danger *,
.card-header.bg-warning *,
.card-header.bg-info *,
.portal-card-gradient *,
.portal-page-header * {
    color: #ffffff !important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3) !important;
}

.bg-dark i,
.bg-primary i,
.bg-secondary i,
.bg-success i,
.bg-danger i,
.bg-warning i,
.bg-info i,
.card-header.bg-primary i,
.card-header.bg-secondary i,
.card-header.bg-success i,
.card-header.bg-danger i,
.card-header.bg-warning i,
.card-header.bg-info i,
.portal-card-gradient i,
.portal-page-header i {
    color: #ffffff !important;
    filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.5)) !important;
}

/* Fundos Claros - Texto e Ícones na Cor do Tema */
.bg-light,
.bg-white,
.card-body,
.portal-card,
.stats-card,
.modalidade-card,
.ranking-card,
.resultado-card,
.phase-card .card-body {
    background-color: #ffffff !important;
    color: var(--portal-text-primary) !important;
}

.bg-light *,
.bg-white *,
.card-body *,
.portal-card *,
.stats-card *,
.modalidade-card *,
.ranking-card *,
.resultado-card *,
.phase-card .card-body * {
    color: var(--portal-text-primary) !important;
}

.bg-light i,
.bg-white i,
.card-body i,
.portal-card i,
.stats-card i,
.modalidade-card i,
.ranking-card i,
.resultado-card i,
.phase-card .card-body i {
    color: var(--portal-primary) !important;
}

/* Números e Labels - Contraste Adequado */
.stats-number {
    font-weight: 800 !important;
    font-size: 2.5rem !important;
    line-height: 1 !important;
    margin-bottom: 0.5rem !important;
}

.stats-label {
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    opacity: 0.8 !important;
}

/* Cores Específicas para Diferentes Contextos */
.portal-text-primary { color: #007bff !important; }
.portal-text-success { color: #28a745 !important; }
.portal-text-warning { color: #ffc107 !important; }
.portal-text-info { color: #17a2b8 !important; }
.portal-text-purple { color: #6f42c1 !important; }
.portal-text-muted { color: #6c757d !important; }
.portal-text-white { color: #ffffff !important; }
.portal-text-white-50 { color: rgba(255, 255, 255, 0.5) !important; }

/* ===== ESTILOS PARA PÁGINA DE CONVITES ===== */

/* Wrapper do ícone no cabeçalho */
.portal-icon-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    backdrop-filter: blur(10px);
}

.portal-icon-wrapper i {
    font-size: 2.5rem !important;
    color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Wizard Steps */
.portal-wizard-steps {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    padding: 1.5rem 0;
    background: var(--portal-bg-secondary);
    border-radius: var(--portal-border-radius);
    margin-bottom: 2rem;
}

.portal-wizard-steps .step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    position: relative;
    opacity: 0.5;
    transition: var(--portal-transition);
}

.portal-wizard-steps .step.active {
    opacity: 1;
}

.portal-wizard-steps .step.active .step-icon {
    background: var(--portal-primary);
    color: white;
    transform: scale(1.1);
}

.step-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    background: var(--portal-border-color);
    border-radius: 50%;
    color: var(--portal-text-secondary);
    transition: var(--portal-transition);
}

.step-icon i {
    font-size: 1.2rem !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Seções do Portal */
.portal-section {
    margin-bottom: 2rem;
}

.portal-section-header {
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid var(--portal-border-color);
}

.portal-section-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--portal-primary) !important;
    margin-bottom: 0.5rem;
    display: flex;
    align-items: center;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}

.portal-section-title i {
    margin-right: 0.75rem;
    opacity: 1 !important;
    visibility: visible !important;
}

.portal-section-subtitle {
    color: var(--portal-text-secondary);
    font-size: 1rem;
    margin: 0;
}

/* Cards do Portal */
.portal-card {
    border: 1px solid var(--portal-border-color);
    border-radius: var(--portal-border-radius);
    box-shadow: var(--portal-shadow-sm);
    transition: var(--portal-transition);
    background: var(--portal-card-bg);
}

.portal-card:hover {
    box-shadow: var(--portal-shadow-medium);
    transform: translateY(-2px);
}

/* Sidebar */
.portal-sidebar .card {
    margin-bottom: 1.5rem;
}

/* Help Steps */
.help-steps {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.help-step {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.step-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    background: var(--portal-primary);
    color: white;
    border-radius: 50%;
    font-weight: 600;
    font-size: 0.9rem;
    flex-shrink: 0;
}

.step-content {
    flex: 1;
}

.step-content strong {
    display: block;
    margin-bottom: 0.25rem;
    color: var(--portal-text-primary);
}

.step-content p {
    margin: 0;
    color: var(--portal-text-secondary);
    font-size: 0.9rem;
}

/* Stats Grid */
.stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    text-align: center;
}

.stat-item {
    padding: 1rem 0.5rem;
}

.stat-value {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--portal-primary);
    margin-bottom: 0.25rem;
}

.stat-label {
    font-size: 0.8rem;
    color: var(--portal-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Mini Stats no Header */
.portal-stats-mini {
    display: flex;
    justify-content: flex-end;
}

.portal-stats-mini .stat-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.9rem;
}

.portal-stats-mini .stat-item i {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Responsividade */
@media (max-width: 768px) {
    .portal-wizard-steps {
        gap: 1rem;
    }
    
    .portal-wizard-steps .step span {
        font-size: 0.8rem;
    }
    
    .step-icon {
        width: 40px;
        height: 40px;
    }
    
    .step-icon i {
        font-size: 1rem !important;
    }
    
    .portal-icon-wrapper {
        width: 60px;
        height: 60px;
    }
    
    .portal-icon-wrapper i {
        font-size: 2rem !important;
    }
    
    .stats-grid {
        grid-template-columns: 1fr;
        gap: 0.5rem;
    }
}

/* Garantir que todos os ícones da página de convites sejam visíveis */
.campeonato-portal-wrapper i[class*="fa-"],
.portal-form i[class*="fa-"],
.portal-section i[class*="fa-"],
.portal-card i[class*="fa-"],
.portal-sidebar i[class*="fa-"] {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    font-style: normal !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: inline-block !important;
}

/* Forçar exibição de ícones específicos da página de convites */
.fa-paper-plane:before { content: "\f1d8" !important; }
.fa-envelope:before { content: "\f0e0" !important; }
.fa-users:before { content: "\f0c0" !important; }
.fa-user:before { content: "\f007" !important; }
.fa-check:before { content: "\f00c" !important; }
.fa-at:before { content: "\f1fa" !important; }
.fa-shield-alt:before { content: "\f3ed" !important; }
.fa-map-marker-alt:before { content: "\f3c5" !important; }
.fa-clock:before { content: "\f017" !important; }
.fa-info-circle:before { content: "\f05a" !important; }
.fa-comment-alt:before { content: "\f27a" !important; }
.fa-cog:before { content: "\f013" !important; }
.fa-arrow-left:before { content: "\f060" !important; }
.fa-question-circle:before { content: "\f059" !important; }
.fa-chart-bar:before { content: "\f080" !important; }

/* ===== CORREÇÃO CRÍTICA: SUBSTITUIÇÃO DE ÍCONES PROBLEMÁTICOS ===== */
/* Remover forçamento de Font Awesome 5+ e implementar ícones nativos */

/* Configurações corretas para Font Awesome */
/* Forçar ícones Font Awesome em TODOS os contextos */
.stats-card .fa,
.stats-card .fas,
.stats-card .far,
.stats-card .fab,
.stats-card i[class*="fa-"],
.stats-icon .fa,
.stats-icon .fas,
.stats-icon .far,
.stats-icon .fab,
.stats-icon i[class*="fa-"] {
    font-family: "Font Awesome 5 Free", "Font Awesome 5 Pro", "FontAwesome" !important;
    font-weight: 900 !important;
    display: inline-block !important;
    font-style: normal !important;
    font-variant: normal !important;
    text-rendering: auto !important;
    line-height: 1 !important;
    opacity: 1 !important;
    visibility: visible !important;
    color: inherit !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* Garantir que ícones de estatísticas sejam sempre visíveis */
.stats-icon i {
    display: inline-block !important;
    font-size: 3rem !important;
    margin-bottom: 1rem !important;
    transition: all 0.3s ease !important;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1)) !important;
    font-family: inherit !important;
    font-weight: normal !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Ícones nativos para estatísticas - REMOVIDO PARA USAR FONT AWESOME ORIGINAL */
/* .stats-icon .fa-users:before { content: "👥" !important; font-family: inherit !important; font-size: 0.8em !important; }
.stats-icon .fa-running:before { content: "🏃" !important; font-family: inherit !important; font-size: 0.8em !important; }
.stats-icon .fa-futbol:before { content: "⚽" !important; font-family: inherit !important; font-size: 0.8em !important; }
.stats-icon .fa-calendar-check:before { content: "📅" !important; font-family: inherit !important; font-size: 0.8em !important; }
.stats-icon .fa-building:before { content: "🏢" !important; font-family: inherit !important; font-size: 0.8em !important; }
.stats-icon .fa-clock:before { content: "🕐" !important; font-family: inherit !important; font-size: 0.8em !important; }
.stats-icon .fa-check-circle:before { content: "✅" !important; font-family: inherit !important; font-size: 0.8em !important; }
.stats-icon .fa-play-circle:before { content: "▶️" !important; font-family: inherit !important; font-size: 0.8em !important; }
.stats-icon .fa-trophy:before { content: "🏆" !important; font-family: inherit !important; font-size: 0.8em !important; }
.stats-icon .fa-medal:before { content: "🥇" !important; font-family: inherit !important; font-size: 0.8em !important; }
.stats-icon .fa-chart-line:before { content: "📈" !important; font-family: inherit !important; font-size: 0.8em !important; }
.stats-icon .fa-star:before { content: "⭐" !important; font-family: inherit !important; font-size: 0.8em !important; } */

/* Cores específicas mais contrastantes para ícones */
/* REMOVIDO - Regras duplicadas que causam conflito */

/* Garantir Visibilidade dos Ícones FontAwesome */
.fas,
.far,
.fab,
i[class*="fa-"] {
    display: inline-block !important;
    font-family: "Font Awesome 5 Free", "Font Awesome 5 Pro", "FontAwesome" !important;
    font-style: normal !important;
    font-variant: normal !important;
    text-rendering: auto !important;
    line-height: 1 !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-weight: 900 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}


/* REMOVER esta regra que força fallback em todos os ícones */
/* .stats-icon i:before {
    content: attr(data-fallback) !important;
    font-family: inherit !important;
    font-size: 2rem !important;
    color: #6c757d !important;
} */

/* Fallback específico apenas quando data-fallback existe E o ícone está vazio */
.stats-icon i:empty[data-fallback]:before {
    content: attr(data-fallback) !important;
    font-family: inherit !important;
    font-size: 2rem !important;
    color: #6c757d !important;
}

/* ===== CORREÇÕES ESPECÍFICAS PARA ESTATÍSTICAS NOS CABEÇALHOS ===== */

/* Estatísticas nos cabeçalhos devem ter fontes PRETAS */
.portal-page-header .stats-number,
.portal-page-header .stat-number,
.campeonato-page-header .stats-number,
.campeonato-page-header .stat-number,
.header-stats-grid .stats-number,
.header-stats-grid .stat-number,
.header-stats-wrapper .stats-number,
.header-stats-wrapper .stat-number {
    color: #000000 !important;
    text-shadow: none !important;
}

/* Garantir que os números das estatísticas sejam sempre pretos nos cabeçalhos */
.portal-page-header .stats-card .stats-number,
.portal-page-header .stat-card .stat-number,
.campeonato-page-header .stats-card .stats-number,
.campeonato-page-header .stat-card .stat-number {
    color: #000000 !important;
    text-shadow: none !important;
}

/* Exceção específica para estatísticas em cards dentro de cabeçalhos */
.portal-page-header .stats-card,
.campeonato-page-header .stats-card {
    background: rgba(255, 255, 255, 0.9) !important;
    color: #000000 !important;
}

.portal-page-header .stat-card,
.campeonato-page-header .stat-card {
    background: rgba(255, 255, 255, 0.15) !important;
    border-color: rgba(255, 255, 255, 0.25) !important;
}

/* Garantir que ícones das estatísticas nos cabeçalhos sejam visíveis */
.portal-page-header .stats-card i,
.portal-page-header .stat-card i,
.campeonato-page-header .stats-card i,
.campeonato-page-header .stat-card i,
.header-stats-grid i,
.header-stats-wrapper i {
    color: #ffffff !important;
}

/* Labels das estatísticas nos cabeçalhos também devem ser legíveis */
.portal-page-header .stats-label,
.portal-page-header small,
.campeonato-page-header .stats-label,
.campeonato-page-header small,
.header-stats-grid .stats-label,
.header-stats-grid small,
.header-stats-wrapper .stats-label,
.header-stats-wrapper small {
    color: rgba(255, 255, 255, 0.8) !important;
}

/* ===== ESTATÍSTICAS EM CARDS ABAIXO DOS CABEÇALHOS ===== */

/* Cards de estatísticas que ficam logo abaixo dos cabeçalhos */
.stats-card .stats-number,
.stats-card .stat-number {
    color: var(--portal-primary) !important;
    text-shadow: none !important;
}

/* Garantir que os cards de estatísticas tenham fundo branco e números coloridos */
.stats-card {
    background: #ffffff !important;
    border: 1px solid #dee2e6 !important;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.stats-card .card-body {
    background: transparent !important;
}

/* Ícones das estatísticas devem manter suas cores originais */
.stats-card .stats-icon i {
    color: inherit !important;
}

.stats-card .text-primary {
    color: var(--portal-primary) !important;
}

.stats-card .text-info {
    color: #0dcaf0 !important;
}

.stats-card .text-warning {
    color: #ffc107 !important;
}

.stats-card .text-success {
    color: #198754 !important;
}

/* Labels das estatísticas devem ser cinza escuro */
.stats-card .stats-label,
.stats-card .text-muted {
    color: #6c757d !important;
}

/* ===== MELHORIAS DE VISIBILIDADE DOS CARDS E ÍCONES ===== */

/* Cards Principais - Bordas e Sombras Mais Definidas */
.card,
.portal-card,
.campeonato-card {
    background-color: #ffffff !important;
    border: 2px solid #e9ecef !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
    transition: all 0.3s ease !important;
    overflow: hidden !important;
    margin-bottom: 1.5rem !important;
}

.card:hover,
.portal-card:hover,
.campeonato-card:hover {
    /* background: var(--portal-primary) !important; */  /* Removido - causava problema nos botões */
    transform: translateY(-4px) !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15) !important;
    border-color: var(--portal-primary) !important;
}

/* Headers dos Cards - Mais Destacados */
.card-header,
.portal-card-header,
.campeonato-card .card-header {
    background: var(--portal-primary) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    padding: 1.25rem !important;
    border-bottom: 3px solid var(--portal-primary-dark) !important;
    position: relative !important;
}

.card-header::after,
.portal-card-header::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
}

/* Body dos Cards - Melhor Separação */
.card-body,
.portal-card-body,
.campeonato-card .card-body {
    padding: 1.5rem !important;
    background: #ffffff !important;
    position: relative !important;
}

/* Títulos nos Cards - Mais Visíveis */
.card-title,
.portal-card-title,
.campeonato-card .card-title,
.card-body h5,
.card-body h6 {
    color: #212529 !important;
    font-weight: 700 !important;
    font-size: 1.25rem !important;
    margin-bottom: 1rem !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

/* Títulos dos Cards - Garantir Cor Branca */
.portal-card-header h5,
.portal-card-header .portal-card-title,
.card-header h5,
.card-header .card-title,
.campeonato-card .card-header h5,
.campeonato-card .card-header .card-title {
    color: #ffffff !important;
    font-weight: 700 !important;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3) !important;
    margin-bottom: 0 !important;
}

/* Exceção: Card-titles em headers com fundo branco devem ter texto escuro */
.card-header.bg-white .card-title,
.card-header.bg-white h5,
.campeonato-card .card-header.bg-white .card-title,
.campeonato-card .card-header.bg-white h5 {
    color: #212529 !important;
    text-shadow: none !important;
}

/* Exceção: Card-titles em headers com fundo branco devem ter texto escuro */
.card-header.bg-white .card-title,
.card-header.bg-white h5,
.campeonato-card .card-header.bg-white .card-title,
.campeonato-card .card-header.bg-white h5 {
    color: #212529 !important;
    text-shadow: none !important;
}

/* Garantir que elementos com text-white mantenham cor branca */
.campeonato-card .text-white,
.campeonato-card .card-body .text-white,
.portal-card .text-white,
.portal-card .card-body .text-white {
    color: #ffffff !important;
}

/* Textos dos Cards - Contraste Melhorado */
.card-text,
.portal-card-text,
.card-body p,
.card-body .text-muted {
    color: #495057 !important;
    font-weight: 500 !important;
    line-height: 1.6 !important;
    margin-bottom: 1rem !important;
}

/* Ícones e Logos - Mais Visíveis */
.campeonato-logo,
.portal-logo,
.campeonato-icon-large {
    border: 4px solid #ffffff !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15) !important;
    background: #ffffff !important;
    padding: 8px !important;
    width: 100px !important;
    height: 100px !important;
    border-radius: 50% !important;
    transition: all 0.3s ease !important;
    display: block !important;
    margin: 0 auto 1rem auto !important;
}

.campeonato-logo:hover,
.portal-logo:hover,
.campeonato-icon-large:hover {
    transform: scale(1.1) !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2) !important;
    border-color: var(--portal-primary) !important;
}

/* Placeholder para Ícones Ausentes */
.campeonato-icon-placeholder {
    width: 100px !important;
    height: 100px !important;
    background: linear-gradient(135deg, var(--portal-primary) 0%, var(--portal-primary-dark) 100%) !important;
    border: 4px solid #ffffff !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto 1rem auto !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15) !important;
    color: #ffffff !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3) !important;
    transition: all 0.3s ease !important;
}

.campeonato-icon-placeholder:hover {
    transform: scale(1.1) !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2) !important;
}

/* Ícones FontAwesome - Garantir Visibilidade */
.fa,
.fas,
.far,
.fab,
.fal,
.fad {
    display: inline-block !important;
    font-style: normal !important;
    font-variant: normal !important;
    text-rendering: auto !important;
    line-height: 1 !important;
    color: inherit !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Ícones em Cards - Mais Destacados */
.card .fa,
.card .fas,
.portal-card .fa,
.portal-card .fas {
    color: var(--portal-primary) !important;
    font-size: 1.2rem !important;
    margin-right: 0.5rem !important;
}

/* Badges - Mais Visíveis */
.badge {
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    padding: 0.5rem 0.75rem !important;
    border-radius: 20px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

.badge.bg-success {
    background: linear-gradient(135deg, #28a745, #20c997) !important;
    color: #ffffff !important;
}

.badge.bg-warning {
    background: linear-gradient(135deg, #ffc107, #fd7e14) !important;
    color: #212529 !important;
}

.badge.bg-primary {
    background: linear-gradient(135deg, var(--portal-primary), var(--portal-primary-dark)) !important;
    color: #ffffff !important;
}

/* Estatísticas - Cards Destacados */
.stat-item,
.stats-card {
    background: #ffffff !important;
    border: 2px solid #e9ecef !important;
    border-radius: 12px !important;
    padding: 1.5rem !important;
    text-align: center !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
    transition: all 0.3s ease !important;
    margin-bottom: 1rem !important;
}

.stat-item:hover,
.stats-card:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12) !important;
    border-color: var(--portal-primary) !important;
}

.stat-number,
.stats-number {
    color: var(--portal-primary) !important;
    font-weight: 700 !important;
    font-size: 2.5rem !important;
    line-height: 1 !important;
    margin-bottom: 0.5rem !important;
    display: block !important;
    /* Corrigir problemas de separação de dígitos */
    letter-spacing: normal !important;
    word-spacing: normal !important;
    white-space: nowrap !important;
    text-align: center !important;
}

.stat-label,
.stats-label {
    color: #6c757d !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* Tabelas - Bordas Mais Definidas */
.table {
    border: 2px solid #e9ecef !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
    background: #ffffff !important;
}

.table thead th {
    background: linear-gradient(135deg, var(--portal-primary) 0%, var(--portal-primary-dark) 100%) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    border: none !important;
    padding: 1rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.table tbody tr {
    border-bottom: 1px solid #f8f9fa !important;
    transition: all 0.2s ease !important;
}

.table tbody tr:hover {
    background: rgba(113, 75, 103, 0.05) !important;
    transform: scale(1.01) !important;
}

.table tbody td {
    padding: 1rem !important;
    color: #212529 !important;
    font-weight: 500 !important;
    vertical-align: middle !important;
}

/* Botões - Mais Destacados */
.btn,
.portal-btn {
    font-weight: 600 !important;
    padding: 0.75rem 1.5rem !important;
    border-radius: 8px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    transition: all 0.3s ease !important;
    border: none !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
}

.btn-primary,
.portal-btn-primary {
    background: linear-gradient(135deg, var(--portal-primary) 0%, var(--portal-primary-dark) 100%) !important;
    color: #ffffff !important;
}

.btn-primary:hover,
.portal-btn-primary:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2) !important;
}

/* Seções - Melhor Agrupamento */
.portal-section {
    background: #ffffff !important;
    border: 2px solid #f8f9fa !important;
    border-radius: 12px !important;
    padding: 2rem !important;
    margin-bottom: 2rem !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
}

.portal-section-title {
    font-size: 2rem;
    font-weight: 600;
    color: #ffffff !important;
    margin-bottom: 1.5rem;
    text-align: center;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}

/* Responsividade - Manter Visibilidade */
@media (max-width: 768px) {
    .card,
    .portal-card,
    .campeonato-card {
        margin-bottom: 1rem !important;
    }
    
    .card-body,
    .portal-card-body {
        padding: 1rem !important;
    }
    
    .campeonato-logo,
    .portal-logo,
    .campeonato-icon-large,
    .campeonato-icon-placeholder {
        width: 80px !important;
        height: 80px !important;
    }
    
    .stat-number,
    .stats-number {
        font-size: 2rem !important;
    }
}

@media (max-width: 576px) {
    .portal-section {
        padding: 1rem !important;
    }
    
    .card-header,
    .portal-card-header {
        padding: 1rem !important;
    }
    
    .stat-number,
    .stats-number {
        font-size: 1.75rem !important;
    }
}

/* ===== CORREÇÕES ESPECÍFICAS PARA ESTATÍSTICAS NOS CABEÇALHOS ===== */

/* Estatísticas nos cabeçalhos devem ter fontes PRETAS */
.portal-page-header .stats-number,
.portal-page-header .stat-number,
.campeonato-page-header .stats-number,
.campeonato-page-header .stat-number,
.header-stats-grid .stats-number,
.header-stats-grid .stat-number,
.header-stats-wrapper .stats-number,
.header-stats-wrapper .stat-number {
    color: #000000 !important;
    text-shadow: none !important;
}

/* Garantir que os números das estatísticas sejam sempre pretos nos cabeçalhos */
.portal-page-header .stats-card .stats-number,
.portal-page-header .stat-card .stat-number,
.campeonato-page-header .stats-card .stats-number,
.campeonato-page-header .stat-card .stat-number {
    color: #000000 !important;
    text-shadow: none !important;
}

/* Exceção específica para estatísticas em cards dentro de cabeçalhos */
.portal-page-header .stats-card,
.campeonato-page-header .stats-card {
    background: rgba(255, 255, 255, 0.9) !important;
    color: #000000 !important;
}

.portal-page-header .stat-card,
.campeonato-page-header .stat-card {
    background: rgba(255, 255, 255, 0.15) !important;
    border-color: rgba(255, 255, 255, 0.25) !important;
}

/* Garantir que ícones das estatísticas nos cabeçalhos sejam visíveis */
.portal-page-header .stats-card i,
.portal-page-header .stat-card i,
.campeonato-page-header .stats-card i,
.campeonato-page-header .stat-card i,
.header-stats-grid i,
.header-stats-wrapper i {
    color: #ffffff !important;
}

/* Labels das estatísticas nos cabeçalhos também devem ser legíveis */
.portal-page-header .stats-label,
.portal-page-header small,
.campeonato-page-header .stats-label,
.campeonato-page-header small,
.header-stats-grid .stats-label,
.header-stats-grid small,
.header-stats-wrapper .stats-label,
.header-stats-wrapper small {
    color: rgba(255, 255, 255, 0.8) !important;
}

/* ===== ESTATÍSTICAS EM CARDS ABAIXO DOS CABEÇALHOS ===== */

/* Cards de estatísticas que ficam logo abaixo dos cabeçalhos */
.stats-card .stats-number,
.stats-card .stat-number {
    color: var(--portal-primary) !important;
    text-shadow: none !important;
}

/* Garantir que os cards de estatísticas tenham fundo branco e números coloridos */
.stats-card {
    background: #ffffff !important;
    border: 1px solid #dee2e6 !important;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.stats-card .card-body {
    background: transparent !important;
}

/* Ícones das estatísticas devem manter suas cores originais */
.stats-card .stats-icon i {
    color: inherit !important;
}

.stats-card .text-primary {
    color: var(--portal-primary) !important;
}

.stats-card .text-info {
    color: #0dcaf0 !important;
}

.stats-card .text-warning {
    color: #ffc107 !important;
}

.stats-card .text-success {
    color: #198754 !important;
}

/* Labels das estatísticas devem ser cinza escuro */
.stats-card .stats-label,
.stats-card .text-muted {
    color: #6c757d !important;
}