*{box-sizing:border-box;margin:0;padding:0;font-family:'Poppins',sans-serif}
body.bg-app{
    min-height:100vh;
    background: radial-gradient(circle at top,#f4c06b22,#050308 60%);
    color:#f7f2e9;
}
.app-container,.painel-container{max-width:1200px;margin:0 auto;padding:20px;}
.glass{
    background: rgba(15,7,2,0.8);
    border-radius:24px;
    border:1px solid rgba(244,192,107,0.35);
    box-shadow:0 18px 45px rgba(0,0,0,0.6);
    backdrop-filter:blur(18px);
    padding:20px;
}
.topo{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;}
.top-left{display:flex;gap:15px;align-items:center;}
.logo-app{width:56px;height:56px;border-radius:16px;object-fit:cover;}
.titulo-app{font-size:1.4rem;font-weight:600;}
.subtitulo-app{font-size:.8rem;color:#f4c06bcc;}
.top-right{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.btn-top,.btn-principal,.btn-pequeno{
    border:none;cursor:pointer;border-radius:999px;
    padding:8px 18px;font-size:.85rem;
    background:linear-gradient(135deg,#f4c06b,#f29e3a);
    color:#1a0e06;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;
}
.btn-top{background:rgba(244,192,107,0.08);color:#f4c06b;border:1px solid rgba(244,192,107,0.6);}
.btn-top.aurora{background:linear-gradient(135deg,#f4c06b,#f29e3a);color:#1a0e06;}
.player-linha{display:flex;gap:20px;flex-wrap:wrap;margin-top:10px;}
.player-box{flex:1 1 260px;}
.player-radio{width:100%;}
.grid-botoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:15px;margin-top:20px;}
.botao-app{
    text-decoration:none;color:#f7f2e9;
    padding:16px;border-radius:20px;
    background:rgba(244,192,107,0.06);
    border:1px solid rgba(244,192,107,0.35);
    display:flex;flex-direction:column;gap:6px;
    transition:.2s transform,.2s box-shadow,.2s background;
}
.botao-app:hover{
    transform:translateY(-2px);
    box-shadow:0 16px 35px rgba(0,0,0,0.7);
    background:rgba(244,192,107,0.12);
}
.botao-app .icone{font-size:1.6rem;}
.icone-img{width:32px;height:32px;border-radius:12px;object-fit:contain;display:block;}
.botao-app .titulo{font-size:.9rem;}
.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.7);align-items:center;justify-content:center;z-index:999;}
.modal-conteudo{max-width:720px;width:90%;position:relative;}
.modal .fechar{position:absolute;right:10px;top:10px;border:none;background:transparent;color:#f7f2e9;font-size:1.2rem;cursor:pointer;}

.login-painel,.painel-login-ministro{max-width:420px;margin:60px auto;}
.login-painel h1,.painel-login-ministro h1{text-align:center;margin-bottom:20px;}
form label{font-size:.8rem;margin-top:10px;display:block;}
form input[type=text],form input[type=password],form input[type=file],form input[type=number],form textarea,form select{
    width:100%;padding:10px;border-radius:14px;border:1px solid rgba(244,192,107,0.4);
    background:rgba(5,3,8,0.8);color:#f7f2e9;margin-top:5px;
}
form button{margin-top:16px;}
.alerta{margin-bottom:10px;padding:10px;border-radius:12px;font-size:.8rem;}
.alerta.erro{background:#8b1e2b;border:1px solid #ff6b81;}
.alerta.sucesso{background:#0f3b24;border:1px solid #3ad174;}

.painel-container{display:flex;gap:20px;}
.sidebar{
    width:260px;min-height:100vh;
}
.sidebar .logo-painel{margin-bottom:20px;font-size:1.1rem;font-weight:600;}
.sidebar ul{list-style:none;}
.sidebar a{
    color:#f4c06b;text-decoration:none;display:block;padding:8px 6px;border-radius:12px;font-size:.85rem;
}
.sidebar a:hover{background:rgba(244,192,107,0.12);}
.painel-main{flex:1;}

.tabela{width:100%;border-collapse:collapse;font-size:.8rem;margin-top:10px;}
.tabela th,.tabela td{padding:8px;border-bottom:1px solid rgba(244,192,107,0.2);}
.btn-pequeno{font-size:.7rem;padding:4px 10px;}

.painel-ministro{margin-top:20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:15px;}
.bloco-modulo{min-height:120px;}
.avatar-ministro{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid #f4c06b;}
.qr-img{margin-top:10px;border-radius:12px;}

.grid-modulos{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:15px;}
.chk-modulo{display:flex;align-items:center;gap:6px;font-size:.8rem;}

.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.7rem;}
.badge-ok{background:#0f3b24;border:1px solid #3ad174;}
.badge-pendente{background:#8b1e2b;border:1px solid #ff6b81;}

.card-rede{padding:12px;border-radius:16px;border:1px solid rgba(244,192,107,0.35);margin-bottom:10px;}
.card-rede strong{display:block;margin-bottom:4px;}

.lista-materiais{margin-top:10px;}
.material-item{padding:10px;border-radius:14px;border:1px solid rgba(244,192,107,0.35);margin-bottom:8px;font-size:.85rem;}

@media (max-width:900px){
    .topo{flex-direction:column;align-items:flex-start;gap:10px;}
    .painel-container{flex-direction:column;}
    .sidebar{width:100%;min-height:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;}
    .painel-main{width:100%;}
}
.player-moderno {
    padding: 20px;
    border-radius: 18px;
    margin-bottom: 20px;
}

.player-info {
    display: flex;
    align-items: center;
    gap: 12px;
}

.player-info h2 {
    margin: 0;
    color: #fff;
    font-size: 22px;
}

.onda {
    width: 28px;
    height: 28px;
    background: radial-gradient(circle, #39ff14, #0f0);
    border-radius: 50%;
    animation: pulse 1.5s infinite alternate;
}

@keyframes pulse {
    0% {
        transform: scale(0.8);
        box-shadow: 0 0 4px #39ff14;
    }

    100% {
        transform: scale(1.1);
        box-shadow: 0 0 12px #39ff14;
    }
}

.player-controles {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 15px;
}

.btn-play,
.btn-pause {
    background: rgba(255, 255, 255, 0.1);
    border: 2px solid #39ff14;
    color: #39ff14;
    width: 52px;
    height: 52px;
    font-size: 22px;
    border-radius: 50%;
    cursor: pointer;
    transition: 0.2s;
}

.btn-play:hover,
.btn-pause:hover {
    transform: scale(1.1);
    background: rgba(255, 255, 255, 0.2);
}

#volumeRadio {
    width: 140px;
}
.player-linha-flex {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}

/* Ajustes de largura */
.player-moderno {
    width: 58%;
    min-width: 280px;
}

.box-tv {
    width: 38%;
    min-width: 250px;
    padding: 20px;
    border-radius: 18px;
    text-align: center;
}
.botao-app {
    background: var(--cor-botao-fundo);
    border: 2px solid var(--cor-botao-borda);
    color: var(--cor-botao-texto);
}

.botao-app .icone {
    color: var(--cor-botao-icone) !important;
}
.grid-botoes {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    /* sempre 3 colunas */
    gap: 12px;
    /* espaçamento entre botões */
    padding: 15px;
}

.botao-app {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    background: var(--cor-botao-fundo);
    color: var(--cor-botao-texto);
    border: 2px solid var(--cor-botao-borda);
    border-radius: 14px;

    text-decoration: none;
    padding: 12px 6px;

    font-size: 14px;
    font-weight: bold;

    min-height: 90px;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);

    transition: 0.2s;
}

.botao-app:hover {
    transform: scale(1.05);
}

.botao-app .icone-img {
    width: 38px;
    height: 38px;
    margin-bottom: 8px;
}

.botao-app .icone {
    font-size: 32px;
    margin-bottom: 5px;
}