:root { 
    --navy: #005088; 
    --bg: #f2eadf; 
    --text: #121212; 
    --success: #11CAA0; 
    --danger: #c9302c; 
}

body { 
    font-family: 'Poppins', sans-serif; 
    margin: 0; 
    background-color: var(--bg); 
    color: var(--text); 
    min-height: 100vh; 
}

.slide-container { 
    display: none; 
    width: 100%; 
    max-width: 1000px; 
    min-height: 100vh; 
    margin: 0 auto; 
    background: rgba(255,255,255,0.85); 
    padding: 30px; 
    box-sizing: border-box; 
    position: relative; 
}
.slide-container.ativa { display: flex; flex-direction: column; }

.header-main { 
    display: flex; justify-content: space-between; align-items: center; 
    border-bottom: 2px solid var(--navy); padding-bottom: 15px; margin-bottom: 30px; 
}
.logo-text { font-size: 22px; font-weight: 700; color: var(--navy); text-transform: uppercase; letter-spacing: -1px; }

/* Estilos dos Painéis Isolados */
.coluna-admin { 
    background: #fff; border: 1px solid var(--navy); border-radius: 8px; 
    padding: 25px; box-shadow: 0 4px 10px rgba(0,0,0,0.05); width: 100%; 
}
.coluna-admin h3 { 
    border-bottom: 2px solid var(--navy); padding-bottom: 10px; color: var(--navy); 
    font-size: 16px; text-align: center; text-transform: uppercase; margin-top: 0; 
}

/* Estilo do Menu Central Admin */
.menu-admin-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
.menu-admin-card { 
    background: #fff; border-left: 8px solid var(--navy); padding: 20px; 
    border-radius: 8px; display: flex; align-items: center; gap: 20px; cursor: pointer; 
    box-shadow: 0 4px 6px rgba(0,0,0,0.05); transition: 0.3s; 
}
.menu-admin-card:hover { transform: translateY(-3px); box-shadow: 0 8px 15px rgba(0,0,0,0.1); }
.menu-admin-card i { font-size: 32px; color: var(--navy); width: 40px; text-align: center; }
.menu-admin-card b { font-size: 15px; color: var(--navy); text-transform: uppercase; display: block;}
.menu-admin-card span { font-size: 11px; color: #666; line-height: 1.2; display: block; margin-top: 3px; }

label { font-size: 11px; font-weight: bold; color: #555; display: block; margin-top: 10px; }
input, select { padding: 10px; border: 1px solid #ccc; border-radius: 4px; font-size: 14px; width: 100%; margin-bottom: 5px; box-sizing: border-box; }
button { border: none; padding: 12px; border-radius: 4px; cursor: pointer; font-weight: bold; font-family: 'Poppins'; transition: 0.3s; width: 100%; margin-top: 10px; }

.btn-navy { background-color: var(--navy); color: #fff; }
.btn-outline { background: transparent; border: 1px solid var(--navy); color: var(--navy); }
.btn-mini { padding: 5px 10px; font-size: 11px; width: auto; margin: 0; }
.btn-danger { background-color: var(--danger); color: #fff; }
.btn-link { background: none; border: none; color: var(--navy); text-decoration: underline; font-size: 12px; cursor: pointer; margin-top: 5px; padding: 0; }

.lista-item { display: flex; justify-content: space-between; align-items: center; padding: 10px; border-bottom: 1px solid #eee; font-size: 13px; }
.btn-seletor-dias { text-align: left; background: #fff; border: 1px solid #ccc; color: #555; font-size: 14px; padding: 10px; cursor: pointer; border-radius: 4px; margin-bottom: 10px; width: 100%; display: block; }

.card-ativacao { background: #f9f9f9; border: 1px solid #ddd; border-radius: 6px; padding: 15px; margin-bottom: 15px; }
.nome-jogador-card { font-weight: bold; color: var(--navy); text-transform: uppercase; font-size: 14px; display: flex; justify-content: space-between; align-items: center; }
.extrato-apostas { margin-top: 10px; font-size: 12px; color: #444; }
.linha-extrato { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px dashed #ccc; padding: 6px 0; font-family: 'Azeret Mono'; }

#lista-ap-global { max-height: 100px; overflow-y: auto; transition: max-height 0.4s ease; }
#lista-ap-global.expandido { max-height: 800px; }
#lista-cards-apostadores { max-height: 400px; overflow-y: auto; transition: max-height 0.4s ease; padding-right: 5px; }
#lista-cards-apostadores.expandido { max-height: 1200px; }

.modal-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.8); z-index: 1000; align-items: center; justify-content: center; }
.modal-content { background: var(--bg); padding: 25px; width: 90%; max-width: 400px; border: 2px solid var(--navy); border-radius: 8px; position: relative; }
.grade-dias, .grade-numeros { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin: 15px 0; }
.btn-tag { padding: 10px 5px; background: #fff; border: 1px solid var(--navy); border-radius: 4px; font-weight: bold; cursor: pointer; font-size: 12px; text-align: center; color: #000; }
.btn-tag.selecionado { background: var(--navy); color: #fff; }
.btn-num { padding: 10px 5px; background: #fff; border: 2px solid #ccc; border-radius: 4px; font-weight: bold; cursor: pointer; font-size: 14px; text-align: center; color: #000; transition: 0.2s; }

.item-participante { background: #fff; padding: 15px; border-radius: 6px; border: 1px solid #ddd; margin-bottom: 10px; }
.nome-destaque { font-weight: bold; font-size: 16px; text-transform: uppercase; color: var(--navy); margin-bottom: 10px; }
.linha-aposta { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; border-top: 1px dashed #eee; }

.container-acertos-perfil { display: flex; gap: 20px; } 
.bloco-acerto { display: flex; flex-direction: column; align-items: center; gap: 3px; }
.info-concurso-usuario { font-size: 9px; color: #666; text-align: center; line-height: 1.1; margin-bottom: 4px; font-weight: bold; }
.quadrado-resultado { width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; font-weight: 900; font-size: 14px; background: #fff; border-radius: 4px; border: 1px solid #444; }
.bola-status { width: 8px; height: 8px; border-radius: 50%; }

.linha-input-sorteio { display: flex; gap: 8px; align-items: center; }
.linha-input-sorteio input[type="text"].input-concurso { width: 80px; padding: 8px; margin: 0; }
.linha-input-sorteio input[type="date"] { width: 125px; margin: 0; padding: 8px; font-size: 12px; }
.linha-input-sorteio input[type="text"].input-nums { flex-grow: 1; margin: 0; padding: 8px; }

@media print {
    body { background: #fff; }
    body * { visibility: hidden; }
    .no-print { display: none !important; }
    #conteudo-imprimir, #conteudo-imprimir * { visibility: visible; }
    #conteudo-imprimir { position: absolute; left: 0; top: 0; width: 100%; padding: 0; margin: 0; }
    .slide-container { background: transparent !important; box-shadow: none !important; margin: 0; padding: 0; max-width: 100% !important; }
}