/* Correções de Contraste - Textos mais legíveis */

/* Textos secundários - de cinza claro para cinza escuro */
.admin-header p,
.empty-state p,
.raffle-header p,
.stat small,
.winner-info small,
.progress-text,
.modal-header .close,
.winner-details p,
.description p,
.stat-label,
.selection-info,
.purchase-details,
.purchase-details small,
.form-group small,
.success-message,
.label,
.draw-note,
.tip-content li,
.share-section p,
.user-info small,
.raffle-info small,
.date-info small,
.stat-label,
.section-title,
.security-btn small {
    color: #374151 !important; /* Cinza mais escuro para melhor contraste */
}

/* EXCEÇÕES - Não aplicar correção aos itens de navegação */
.nav-item,
.nav-item span,
.nav-item i,
.mobile-nav .nav-item,
.mobile-nav .nav-item span,
.mobile-nav .nav-item i {
    /* Deixar as cores originais do CSS principal */
}

/* Textos muito claros - para preto suave */
.auth-header p,
.form-group label,
.auth-footer p,
.toggle-password,
.close:hover,
.winner-details span,
.stat-value,
.detail-item span,
.form-group input::placeholder {
    color: #1f2937 !important; /* Quase preto para máximo contraste */
}

/* Textos em backgrounds escuros - manter brancos */
.mobile-header,
.btn-primary,
.status-confirmed,
.btn-success,
.share-btn {
    color: white !important;
}

/* Links e elementos interativos - azul mais escuro */
.auth-footer a,
.toggle-password:hover,
.stat-item i,
.selection-count,
.payment-id,
.modal-header h3 i,
.draw-details .fas,
.security-btn i {
    color: #1e40af !important; /* Azul mais escuro */
}

/* Textos de erro - vermelho mais escuro */
.error-message,
.status-cancelled,
.sold,
.legend-sold {
    color: #b91c1c !important; /* Vermelho mais escuro */
}

/* Textos de sucesso - verde mais escuro */
.status-confirmed,
.paid,
.value.highlight,
.amount {
    color: #059669 !important; /* Verde mais escuro */
}

/* Textos de aviso - laranja mais escuro */
.status-pending,
.pending,
.legend-pending {
    color: #d97706 !important; /* Laranja mais escuro */
}

/* Inputs desabilitados */
.form-group input:disabled {
    color: #4b5563 !important; /* Cinza médio para texto desabilitado */
    background: #f9fafb !important;
}

/* Placeholders mais visíveis */
input::placeholder,
textarea::placeholder {
    color: #6b7280 !important;
    opacity: 1;
}

/* Títulos principais */
h1, h2, h3, h4, h5, h6,
.admin-header h1,
.raffle-header h3,
.empty-state h3,
.modal-header h3,
.winner-announcement h3,
.success-content h1,
.detail-card h3,
.section-header h2,
.security-btn strong {
    color: #111827 !important; /* Preto suave para títulos */
}

/* Títulos em headers móveis - manter brancos */
.mobile-header h1,
.tickets-header h1,
.page-header h1,
.welcome-section h1,
.payment-header h1,
.auth-header h1,
.raffles-section h3,
.user-welcome h2 {
    color: white !important; /* Branco para melhor visibilidade em fundos escuros */
}

/* Títulos específicos que devem ser brancos */
.welcome-section h1,
.auth-header h1,
.mobile-header h1 {
    color: white !important;
}

/* Títulos em seções com fundo colorido */
.tickets-header h1,
.raffles-section h3,
.page-header h1 {
    color: white !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

/* Forçar branco em títulos específicos que estão sendo sobrescritos */
.mobile-header .header-content h1,
.tickets-container .tickets-header h1,
.raffles-section h3,
.page-header h1,
.welcome-section h1 {
    color: white !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
}

/* Títulos em páginas com fundo azul */
body .mobile-header h1,
body .tickets-header h1,
body .page-header h1,
body .welcome-section h1,
body .auth-header h1 {
    color: white !important;
    font-weight: 600 !important;
}

/* Correção específica para navegação móvel */
.mobile-nav .nav-item {
    color: #94a3b8 !important; /* Cinza médio para itens normais */
}

.mobile-nav .nav-item.active {
    color: #60a5fa !important; /* Azul claro para item ativo */
    background: #1e3a8a !important; /* Fundo azul escuro */
}

.mobile-nav .nav-item:hover {
    color: #60a5fa !important; /* Azul claro no hover */
    background: #334155 !important; /* Fundo cinza escuro */
}

/* Para desktop - navegação normal */
@media (min-width: 769px) {
    .nav-item {
        color: #64748b !important; /* Cinza médio para desktop */
    }
    
    .nav-item.active {
        color: #2563eb !important; /* Azul para item ativo */
        background: #eff6ff !important; /* Fundo azul claro */
    }
    
    .nav-item:hover {
        color: #2563eb !important; /* Azul no hover */
        background: #f1f5f9 !important; /* Fundo cinza claro */
    }
}

/* Correção para textos em cards */
.raffle-card,
.payment-card,
.user-card {
    color: #111827 !important;
}

.raffle-card p,
.payment-card p,
.user-card p {
    color: #374151 !important;
}

/* Correções específicas para página de usuários */
.detail-item,
.stat-name {
    color: #374151 !important; /* Cinza escuro em vez de cinza claro */
}

.detail-item i {
    color: #6b7280 !important; /* Ícones um pouco mais claros mas ainda legíveis */
}

.detail-item span {
    color: #1f2937 !important; /* Texto dos detalhes bem escuro */
}

/* Melhorar contraste em tabelas */
.table th {
    color: #111827 !important;
    background: #f8fafc !important;
}

.table td {
    color: #374151 !important;
}

/* Status badges com melhor contraste */
.status {
    font-weight: 600 !important;
}

.status-active {
    background: #dcfce7 !important;
    color: #14532d !important; /* Verde muito escuro */
}

.status-ready_to_draw {
    background: #dbeafe !important;
    color: #1e3a8a !important; /* Azul muito escuro */
}

.status-drawn {
    background: #fef3c7 !important;
    color: #78350f !important; /* Amarelo muito escuro */
}

/* Melhorar contraste em formulários */
.form-group input,
.form-group select,
.form-group textarea {
    color: #111827 !important;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    color: #111827 !important;
}

/* Formulários admin - fundo branco, texto escuro */
.admin-form .form-group label,
.form-group label,
.admin-container .form-group label,
html body .form-group label {
    color: #1f2937 !important; /* Cinza escuro para labels em fundo branco */
    font-weight: 600 !important;
    margin-bottom: 8px !important;
    -webkit-text-fill-color: #1f2937 !important;
    -webkit-text-stroke: 0.5px #1f2937 !important;
}

.admin-form .form-group input,
.admin-form .form-group select,
.admin-form .form-group textarea {
    background: #fafafa !important;
    border: 2px solid #e5e7eb !important;
    color: #111827 !important;
    padding: 12px 16px !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    -webkit-text-fill-color: #111827 !important;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
}

.admin-form .form-group input:focus,
.admin-form .form-group select:focus,
.admin-form .form-group textarea:focus {
    background: white !important;
    border-color: #2563eb !important;
    color: #111827 !important;
    outline: none !important;
    -webkit-text-fill-color: #111827 !important;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
}

.admin-form .form-group input[readonly] {
    background: #f3f4f6 !important;
    color: #6b7280 !important;
    cursor: not-allowed !important;
}

.admin-form .form-group small {
    color: #6b7280 !important;
    font-size: 0.875rem !important;
    margin-top: 5px !important;
}

.admin-form .form-group input::placeholder,
.admin-form .form-group textarea::placeholder {
    color: #9ca3af !important;
    opacity: 1 !important;
}

/* Cabeçalho do formulário admin */
.admin-header h1 {
    color: #1f2937 !important; /* Cinza escuro para título em fundo branco */
    font-weight: 700 !important;
    margin: 0 !important;
}

/* FORÇAR labels escuros - máxima especificidade */
html body .admin-container .form-group label,
html body .admin-form .form-group label,
html body .form-container .form-group label,
html body .admin-container .admin-form .form-group label {
    color: #1f2937 !important;
    font-weight: 600 !important;
    margin-bottom: 8px !important;
    -webkit-text-fill-color: #1f2937 !important;
    -webkit-text-stroke: 0.5px #1f2937 !important;
    text-shadow: none !important;
}

.admin-header .btn-secondary {
    background: #6b7280 !important;
    color: white !important;
    border: none !important;
    padding: 8px 16px !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-weight: 500 !important;
}

.admin-header .btn-secondary:hover {
    background: #4b5563 !important;
    color: white !important;
}

/* Container do formulário admin */
.form-container {
    background: white !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
    padding: 30px !important;
    max-width: 800px !important;
}

/* Ações do formulário */
.form-actions .btn-primary {
    background: #2563eb !important;
    color: white !important;
    border: none !important;
    padding: 12px 24px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.form-actions .btn-primary:hover {
    background: #1d4ed8 !important;
    color: white !important;
}

.form-actions .btn-secondary {
    background: #6b7280 !important;
    color: white !important;
    border: none !important;
    padding: 12px 24px !important;
    border-radius: 8px !important;
    font-weight: 500 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    text-decoration: none !important;
}

.form-actions .btn-secondary:hover {
    background: #4b5563 !important;
    color: white !important;
}

/* Mensagens de erro */
.error-message {
    color: #dc2626 !important;
    font-size: 0.875rem !important;
    margin-top: 5px !important;
    font-weight: 500 !important;
}

/* Preview de imagem */
.current-image p,
.image-preview p {
    color: #6b7280 !important;
    font-size: 0.9rem !important;
    margin-top: 10px !important;
    text-align: center !important;
}

/* Input de arquivo */
.admin-form input[type="file"] {
    background: #f9fafb !important;
    border: 2px dashed #d1d5db !important;
    color: #374151 !important;
    padding: 12px !important;
    border-radius: 8px !important;
    cursor: pointer !important;
}

.admin-form input[type="file"]:hover {
    border-color: #9ca3af !important;
    background: #f3f4f6 !important;
}

/* Textarea específico */
.admin-form textarea {
    resize: vertical !important;
    min-height: 100px !important;
    font-family: inherit !important;
}

/* Inputs numéricos */
.admin-form input[type="number"] {
    text-align: right !important;
}

/* Labels obrigatórios */
.admin-form .form-group label:after {
    content: " *" !important;
    color: #dc2626 !important;
    font-weight: bold !important;
}

/* Remover asterisco para labels não obrigatórios */
.admin-form .form-group label[for="description"]:after,
.admin-form .form-group label[for="image"]:after {
    content: "" !important;
}

/* CORREÇÃO FINAL - Labels obrigatórios escuros */
html body .admin-container .form-group label[for="title"]:after,
html body .admin-container .form-group label[for="total_numbers"]:after,
html body .admin-container .form-group label[for="price_per_number"]:after {
    content: " *" !important;
    color: #dc2626 !important;
    font-weight: bold !important;
}

/* FORÇAR TEXTO PRETO NOS INPUTS DO FORMULÁRIO DE ADMIN */
html body .admin-container .form-group input,
html body .admin-container .form-group textarea,
html body .admin-container .form-group select,
html body .admin-form .form-group input,
html body .admin-form .form-group textarea,
html body .admin-form .form-group select {
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
}

html body .admin-container .form-group input:focus,
html body .admin-container .form-group textarea:focus,
html body .admin-container .form-group select:focus,
html body .admin-form .form-group input:focus,
html body .admin-form .form-group textarea:focus,
html body .admin-form .form-group select:focus {
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
}

/* TEXTO BRANCO NA PÁGINA DE GERENCIAR USUÁRIOS */
html body .admin-container .admin-header .header-info p,
html body .admin-container .header-info p {
    color: white !important;
    -webkit-text-fill-color: white !important;
    -webkit-text-stroke: 0.5px white !important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5) !important;
}

html body .admin-container .admin-header .header-stats .stat-label,
html body .admin-container .header-stats .stat-label {
    color: white !important;
    -webkit-text-fill-color: white !important;
    -webkit-text-stroke: 0.5px white !important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5) !important;
}

/* TÍTULO "GERENCIAR USUÁRIOS" RESPONSIVO */
html body .admin-container .admin-header h1 {
    color: white !important;
    -webkit-text-fill-color: white !important;
    -webkit-text-stroke: 0.5px white !important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5) !important;
}

/* RESPONSIVIDADE PARA TELEFONES - TÍTULO GERENCIAR USUÁRIOS */
@media (max-width: 768px) {
    html body .admin-container .admin-header h1 {
        font-size: 1.4rem !important;
        line-height: 1.3 !important;
        margin: 8px 0 !important;
    }
}

@media (max-width: 480px) {
    html body .admin-container .admin-header h1 {
        font-size: 1.2rem !important;
        line-height: 1.25 !important;
        margin: 6px 0 !important;
    }
}

/* FORÇAR cor escura para TODOS os labels */
html body .form-group label,
html body .admin-form .form-group label,
html body .form-container .form-group label {
    color: #1f2937 !important;
    font-weight: 600 !important;
    -webkit-text-fill-color: #1f2937 !important;
    -webkit-text-stroke: 0.5px #1f2937 !important;
    text-shadow: none !important;
}

/* CORREÇÃO - Tela de Login - Título branco */
.auth-container .auth-header p {
    color: white !important; /* Branco para "Entre na sua conta" */
    font-weight: 500 !important;
    margin: 0 !important;
    font-size: 1rem !important;
    -webkit-text-fill-color: white !important;
    -webkit-text-stroke: 0.5px white !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

/* CORREÇÃO - Perfil do usuário - Informações Pessoais */
.profile-container .form-group label,
.profile-container .section .form-group label,
.profile-container .address-section .form-group label {
    color: #1f2937 !important; /* Cinza escuro para labels */
    font-weight: 600 !important;
    margin-bottom: 5px !important;
    font-size: 0.9rem !important;
    -webkit-text-fill-color: #1f2937 !important;
    -webkit-text-stroke: 0.5px #1f2937 !important;
    text-shadow: none !important;
}

.profile-container .form-group input {
    color: #111827 !important; /* Texto escuro nos inputs */
    background: #f9fafb !important;
    border: 1px solid #d1d5db !important;
    padding: 12px !important;
    border-radius: 8px !important;
    font-size: 1rem !important;
    -webkit-text-fill-color: #111827 !important;
    -webkit-text-stroke: 0.5px #111827 !important;
    text-shadow: none !important;
}

.profile-container .form-group input:focus {
    color: #111827 !important;
    background: white !important;
    border-color: #2563eb !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1) !important;
    -webkit-text-fill-color: #111827 !important;
    -webkit-text-stroke: 0.5px #111827 !important;
    text-shadow: none !important;
}

.profile-container .form-group input:disabled {
    color: #6b7280 !important; /* Cinza médio para campos desabilitados */
    background: #f9fafb !important;
    -webkit-text-fill-color: #6b7280 !important;
    -webkit-text-stroke: 0.5px #6b7280 !important;
    text-shadow: none !important;
}

.profile-container .address-section h3 {
    color: #1f2937 !important; /* Título da seção endereço */
    margin-bottom: 20px !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
}

.profile-container .section-header h2 {
    color: #1f2937 !important; /* Título da seção */
    margin: 0 !important;
    font-size: 1.3rem !important;
    font-weight: 600 !important;
}

.profile-container .btn-edit {
    color: #374151 !important; /* Texto do botão editar */
    background: #f3f4f6 !important;
    border: 1px solid #d1d5db !important;
}

.profile-container .btn-edit:hover {
    color: #1f2937 !important;
    background: #e5e7eb !important;
}

/* FORÇAR legibilidade dos dados nos inputs - máxima especificidade */
html body .profile-container .form-group input,
html body .profile-container .section .form-group input,
html body .profile-container .address-section .form-group input {
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
    -webkit-text-stroke: 0.5px #111827 !important;
    text-shadow: none !important;
    font-weight: 500 !important;
}

html body .profile-container .form-group input:disabled {
    color: #6b7280 !important;
    -webkit-text-fill-color: #6b7280 !important;
    -webkit-text-stroke: 0.5px #6b7280 !important;
    text-shadow: none !important;
    font-weight: 500 !important;
}

/* FORÇAR título branco na tela de login - máxima especificidade */
html body .auth-container .auth-header p,
html body .auth-header p {
    color: white !important;
    -webkit-text-fill-color: white !important;
    -webkit-text-stroke: 0.5px white !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
    font-weight: 500 !important;
    margin: 0 !important;
    font-size: 1rem !important;
}

/* FORÇAR labels brancos na tela de login */
html body .auth-container .form-group label,
html body .auth-form .form-group label {
    color: white !important;
    -webkit-text-fill-color: white !important;
    -webkit-text-stroke: 0.5px white !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
    font-weight: 500 !important;
    margin-bottom: 5px !important;
    font-size: 0.9rem !important;
}

/* FORÇAR texto "Não tem conta?" branco */
html body .auth-container .auth-footer p,
html body .auth-footer p {
    color: white !important;
    -webkit-text-fill-color: white !important;
    -webkit-text-stroke: 0.5px white !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
    font-weight: 400 !important;
    margin: 0 !important;
    font-size: 0.9rem !important;
}

/* FORÇAR link "Cadastre-se" branco */
html body .auth-container .auth-footer a,
html body .auth-footer a {
    color: #93c5fd !important; /* Azul claro para o link */
    -webkit-text-fill-color: #93c5fd !important;
    -webkit-text-stroke: 0.5px #93c5fd !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

html body .auth-container .auth-footer a:hover,
html body .auth-footer a:hover {
    color: white !important;
    -webkit-text-fill-color: white !important;
    -webkit-text-stroke: 0.5px white !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
}

/* CORREÇÕES ESPECÍFICAS PARA TELA DE CADASTRO */
/* Título "Crie sua conta" */
html body .auth-container .auth-header p {
    color: white !important;
    -webkit-text-fill-color: white !important;
    -webkit-text-stroke: 0.5px white !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
    font-weight: 500 !important;
    margin: 0 !important;
    font-size: 1rem !important;
}

/* Labels do formulário de cadastro */
html body .auth-container .form-group label {
    color: white !important;
    -webkit-text-fill-color: white !important;
    -webkit-text-stroke: 0.5px white !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
    font-weight: 500 !important;
    margin-bottom: 5px !important;
    font-size: 0.9rem !important;
}

/* Texto "Já tem conta?" */
html body .auth-container .auth-footer p {
    color: white !important;
    -webkit-text-fill-color: white !important;
    -webkit-text-stroke: 0.5px white !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
    font-weight: 400 !important;
    margin: 0 !important;
    font-size: 0.9rem !important;
}

/* Link "Entre aqui" */
html body .auth-container .auth-footer a {
    color: #93c5fd !important; /* Azul claro para o link */
    -webkit-text-fill-color: #93c5fd !important;
    -webkit-text-stroke: 0.5px #93c5fd !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

html body .auth-container .auth-footer a:hover {
    color: white !important;
    -webkit-text-fill-color: white !important;
    -webkit-text-stroke: 0.5px white !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
}

/* CORREÇÃO - Tela inicial responsiva */
.welcome-section h1 {
    font-size: 2.5rem !important;
    margin-bottom: 10px !important;
    line-height: 1.2 !important;
}

.welcome-section p {
    font-size: 1.2rem !important;
    margin-bottom: 30px !important;
    opacity: 0.9 !important;
    line-height: 1.4 !important;
}

/* Responsivo para mobile */
@media (max-width: 768px) {
    .welcome-section h1 {
        font-size: 1.8rem !important;
        margin-bottom: 8px !important;
        line-height: 1.1 !important;
    }
    
    .welcome-section p {
        font-size: 1rem !important;
        margin-bottom: 25px !important;
        line-height: 1.3 !important;
    }
    
    .welcome-section {
        padding: 30px 15px !important;
        margin-bottom: 20px !important;
    }
}

/* Responsivo para telas muito pequenas */
@media (max-width: 480px) {
    .welcome-section h1 {
        font-size: 1.5rem !important;
        margin-bottom: 6px !important;
        line-height: 1.1 !important;
    }
    
    .welcome-section p {
        font-size: 0.9rem !important;
        margin-bottom: 20px !important;
        line-height: 1.2 !important;
    }
    
    .welcome-section {
        padding: 25px 10px !important;
        margin-bottom: 15px !important;
    }
    
    .welcome-actions {
        flex-direction: column !important;
        gap: 10px !important;
    }
    
    .welcome-actions .btn-primary,
    .welcome-actions .btn-secondary {
        width: 100% !important;
        min-width: auto !important;
    }
}

/* Correções adicionais para elementos específicos */
.search-input,
.filter-btn,
.pagination-info,
.empty-message,
.loading-text,
.modal-body p,
.card-subtitle,
.breadcrumb,
.help-text {
    color: #374151 !important;
}

/* Correção para links secundários */
.secondary-link,
.nav-link,
.dropdown-item {
    color: #1f2937 !important;
}

.secondary-link:hover,
.nav-link:hover,
.dropdown-item:hover {
    color: #1e40af !important;
}

/* Melhorar contraste em alertas e notificações */
.alert,
.notification,
.toast {
    color: #1f2937 !important;
}

/* Correção para textos em fundos coloridos */
.bg-gray .text,
.bg-light .text,
.card-light .text {
    color: #1f2937 !important;
}

/* FORÇA MÁXIMA - Títulos que DEVEM ser brancos */
html body .mobile-header h1,
html body .tickets-header h1,
html body .page-header h1,
html body .welcome-section h1,
html body .auth-header h1,
html body .raffles-section h3,
html body .mobile-header .header-content h1 {
    color: white !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
    font-weight: 600 !important;
}

/* Específico para cada seção problemática */
.mobile-container .mobile-header h1 {
    color: white !important;
}

.tickets-container .tickets-header h1 {
    color: white !important;
}

.home-container .raffles-section h3 {
    color: white !important;
}

/* CORREÇÃO - Página de Compra de Números */

/* Legendas dos números - textos visíveis */
.legend-item span {
    color: #1f2937 !important; /* Preto escuro para legendas */
    font-weight: 500 !important;
}

.legend-item {
    color: #1f2937 !important;
}

/* Resumo de compra - textos visíveis */
.purchase-summary .summary-item span {
    color: #374151 !important; /* Cinza escuro */
    font-weight: 500 !important;
}

.purchase-summary .summary-item strong {
    color: #111827 !important; /* Preto forte para valores */
    font-weight: 600 !important;
}

/* Total destacado */
.purchase-summary .summary-item.total span {
    color: #111827 !important;
    font-weight: 600 !important;
}

.purchase-summary .summary-item.total strong {
    color: #2563eb !important; /* Azul para destaque do total */
    font-weight: 700 !important;
}

/* Números da grade - melhor contraste */
.number-btn {
    color: #111827 !important; /* Preto forte para todos os números */
    font-weight: 600 !important;
    border: 2px solid #d1d5db !important;
    background: #f8fafc !important; /* Fundo cinza muito claro */
}

.number-btn.available {
    background: #f8fafc !important; /* Fundo cinza muito claro */
    color: #111827 !important; /* Texto preto forte */
    border-color: #d1d5db !important;
}

.number-btn.available:hover {
    background: #e2e8f0 !important; /* Fundo cinza claro no hover */
    border-color: #9ca3af !important;
    color: #111827 !important; /* Manter texto preto */
}

/* Forçar visibilidade dos números disponíveis */
.numbers-grid .number-btn:not(.selected):not(.pending):not(.sold) {
    background: #f8fafc !important;
    color: #111827 !important;
    border: 2px solid #d1d5db !important;
}

.numbers-grid .number-btn:not(.selected):not(.pending):not(.sold):hover {
    background: #e2e8f0 !important;
    color: #111827 !important;
    border-color: #6b7280 !important;
}

/* Stats da rifa */
.stat-label {
    color: #6b7280 !important;
    font-weight: 500 !important;
}

.stat-number {
    color: #111827 !important;
    font-weight: 600 !important;
}

/* FORÇA MÁXIMA - Números sempre visíveis */
html body .numbers-grid button,
html body .numbers-grid .number-btn,
html body .number-btn,
.numbers-grid button,
.numbers-grid .number-btn,
button.number-btn,
.raffle-container .numbers-grid button,
.raffle-container .number-btn {
    color: #111827 !important;
    background: #f8fafc !important;
    border: 2px solid #d1d5db !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Estados específicos dos números */
html body .number-btn.selected {
    background: #2563eb !important;
    color: white !important;
    border-color: #1d4ed8 !important;
}

html body .number-btn.pending {
    background: #fef3c7 !important;
    color: #d97706 !important;
    border-color: #f59e0b !important;
}

html body .number-btn.sold {
    background: #fee2e2 !important;
    color: #b91c1c !important;
    border-color: #ef4444 !important;
}

/* Hover para números disponíveis */
html body .number-btn:not(.selected):not(.pending):not(.sold):hover {
    background: #e2e8f0 !important;
    color: #111827 !important;
    border-color: #6b7280 !important;
    transform: scale(1.05);
}

/* CORREÇÃO SIMPLES - Números disponíveis visíveis */
.numbers-grid .number {
    color: #111827 !important; /* Texto preto para números disponíveis */
}

/* Não interferir nos outros estados - deixar como estão */

/* CORREÇÃO - Dashboard Admin e Home */

/* Títulos do Dashboard Admin - apenas para dashboard, não formulários */
.admin-container .admin-header h1 {
    color: #1e293b !important; /* Texto escuro para admin headers */
}

.admin-container .admin-header p {
    color: #64748b !important; /* Cinza médio para subtítulos */
}

/* Home - Saudação do usuário */
.user-welcome h2 {
    color: #1e293b !important; /* Texto escuro */
}

.user-welcome p {
    color: #64748b !important; /* Cinza médio */
}

/* Seção de rifas na home */
.raffles-section h3 {
    color: #1e293b !important; /* Texto escuro para títulos de seção */
}

/* Forçar visibilidade em fundos brancos */
.admin-container h1,
.admin-container h2,
.admin-container h3,
.admin-container p {
    color: #1e293b !important;
}

.user-welcome * {
    color: #1e293b !important;
}

/* CORREÇÃO - Título da Rifa em Detalhes */
.raffle-header h1,
.raffle-container .raffle-header h1 {
    color: white !important; /* Branco para título da rifa */
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
    font-weight: 600 !important;
}

/* Botão Voltar na página da rifa */
.raffle-header .back-btn {
    color: #f1f5f9 !important; /* Branco/cinza claro */
}

.raffle-header .back-btn:hover {
    color: white !important;
    background: rgba(255, 255, 255, 0.1) !important;
}

/* CORREÇÃO - Formulários de Login e Cadastro */

/* Labels dos campos - texto branco */
.auth-form label,
.form-group label {
    color: white !important; /* Branco para labels */
    font-weight: 500 !important;
    margin-bottom: 5px !important;
    display: block !important;
}

/* Placeholders mais visíveis */
.auth-form input::placeholder,
.form-group input::placeholder {
    color: #9ca3af !important; /* Cinza claro para placeholders */
    opacity: 1 !important;
}

/* Inputs com melhor contraste */
.auth-form input,
.form-group input,
.auth-form select,
.form-group select {
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    color: white !important;
}

.auth-form input:focus,
.form-group input:focus,
.auth-form select:focus,
.form-group select:focus {
    background: rgba(255, 255, 255, 0.15) !important;
    border-color: #60a5fa !important;
    color: white !important;
}

/* Mensagens de erro */
.error-message {
    color: #fca5a5 !important; /* Vermelho claro para erros */
    font-size: 0.875rem !important;
}

/* Botão toggle de senha */
.toggle-password {
    color: #9ca3af !important;
}

.toggle-password:hover {
    color: white !important;
}

/* Links nos formulários */
.auth-form a,
.form-group a {
    color: #93c5fd !important; /* Azul claro para links */
}

.auth-form a:hover,
.form-group a:hover {
    color: white !important;
}

/* =====================================
   VISUAL CONSISTENTE - TODOS OS DISPOSITIVOS
   ===================================== */

/* Formulários escuros em todos os dispositivos */
.auth-form {
    background: #1e293b !important;
    border-radius: 15px !important;
    padding: 30px !important;
    margin: 20px !important;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1) !important;
}

/* Inputs escuros em todos os dispositivos */
.auth-form input,
.form-group input {
    background: #334155 !important;
    border: 1px solid #475569 !important;
    color: #f1f5f9 !important;
    -webkit-text-fill-color: #f1f5f9 !important;
    font-size: 16px !important; /* Evita zoom no iOS */
}

.auth-form input:focus,
.form-group input:focus {
    background: #475569 !important;
    border-color: #3b82f6 !important;
    color: #f1f5f9 !important;
    -webkit-text-fill-color: #f1f5f9 !important;
}

/* Labels sempre visíveis */
.auth-form label,
.form-group label {
    color: white !important;
    -webkit-text-fill-color: white !important;
    font-weight: 500 !important;
}

/* Placeholders visíveis */
.auth-form input::placeholder,
.form-group input::placeholder {
    color: #9ca3af !important;
    -webkit-text-fill-color: #9ca3af !important;
    opacity: 1 !important;
}

/* =====================================
   CORREÇÃO DOS BOTÕES - TEXTO SEM QUEBRA
   ===================================== */

/* Botões principais - sem quebra de texto */
.btn-primary,
.btn-secondary {
    white-space: nowrap !important; /* Impede quebra de linha */
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 12px 16px !important;
    font-size: 14px !important; /* Fonte menor para caber melhor */
    font-weight: 600 !important;
    line-height: 1.2 !important;
    min-height: 44px !important;
    border-radius: 8px !important;
}

/* Ações da rifa - layout melhorado */
.raffle-actions {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: nowrap !important; /* Não quebra linha */
    align-items: stretch !important;
}

.raffle-actions .btn-primary,
.raffle-actions .btn-secondary {
    flex: 1 !important;
    min-width: 0 !important; /* Permite encolher */
    font-size: 13px !important; /* Fonte ainda menor para cards */
    padding: 10px 12px !important;
}

/* Ícones dos botões - tamanho consistente */
.btn-primary i,
.btn-secondary i {
    font-size: 12px !important;
    flex-shrink: 0 !important; /* Ícone não encolhe */
}

/* Texto específico dos botões problemáticos */
.raffle-actions .btn-primary {
    font-size: 12px !important; /* Ainda menor para "Entre para Participar" */
}

/* Mobile - ajustes específicos */
@media (max-width: 480px) {
    .raffle-actions {
        flex-direction: column !important;
        gap: 6px !important;
    }
    
    .raffle-actions .btn-primary,
    .raffle-actions .btn-secondary {
        width: 100% !important;
        font-size: 14px !important;
        padding: 12px 16px !important;
    }
}

/* Telas muito pequenas - texto ainda menor */
@media (max-width: 360px) {
    .raffle-actions .btn-primary,
    .raffle-actions .btn-secondary {
        font-size: 11px !important;
        padding: 8px 10px !important;
    }
}
