/* =====================================================================
   PADRÃO VISUAL PCNET · REMOÇÕES PEDIDAS NO PEGAPROX

   Único arquivo do kit que esconde elemento; o pcnet-pegaprox.css é só tema.
   Cada bloco foi pedido pelo usuário. A trava (checar-layout.py --remocoes)
   só aceita `display: none` e recusa seletor que alcance o aviso de licença.

   Nada aqui toca os avisos que a AGPL §7(b) exige (NOTICE do PegaProx): a
   linha #pegaprox-legal-notice, o aviso de Configurações → Sobre e o
   "Powered by" do portal do cliente.
   ===================================================================== */


/* Rodapé: agradecimento, logos de patrocinadores e botão do Open Collective.
   Ficam a linha de versão e o #pegaprox-legal-notice. (O próprio PegaProx
   anota em dashboard.js que patrocínio não é coberto pelo §7.) */
footer.mt-8 > div > .text-center.mb-4,
footer.mt-8 > div > .flex.justify-center.gap-3,
footer.mt-8 > div > .flex.justify-center.mt-4,
.cloud-sponsors > div:not(#pegaprox-legal-notice) {
  display: none !important;
}


/* Seletor de idioma no topo, no login e no setup inicial. O de Configurações →
   Perfil fica, para ainda dar para trocar; sem escolha salva, vale o idioma do
   navegador. */
header div:has(> button[title="Deutsch"]),
#root > .min-h-screen.p-4 .flex.justify-center.mt-6:has(button[title="Deutsch"]),
.cloud-lang {
  display: none !important;
}


/* Pop-up de doação ("Ajude a manter o … vivo", Open Collective). Com o nome
   trocado ele passaria a falar em nome da PCNet pedindo dinheiro. Vem por
   portal direto no <body>. A cópia do aviso de licença que ele carrega sai
   junto; as obrigatórias (login, barra lateral, rodapé) continuam. */
body > div[style*="z-index: 99998"]:has(a[href*="opencollective.com"]) {
  display: none !important;
}


/* Configurações → Sobre: "Equipe de Desenvolvimento" (os desenvolvedores do
   PegaProx apareceriam como equipe da PCNet) e "Links" (pegaprox.com, GitHub,
   documentação, patrocínio, Open Collective). O bloco do aviso de licença, logo
   abaixo, é obrigatório e fica. */
div.rounded-xl.p-6:has(> h3):has(.w-12.h-12.rounded-full),
div.rounded-xl.p-6:has(> h3):has(a[href*="opencollective.com"]) {
  display: none !important;
}


/* "Donate" dentro da linha de licença. O próprio PegaProx anota em ui.js
   (LegalNotice): "Removing just this link is lawful; removing the element it
   lives in is not." Sai só o link; o "·" antes dele o pcnet-pegaprox.js apaga.
   A linha continua: PegaProx · © … PegaProx Team · AGPL-3.0 · Source. */
#pegaprox-legal-notice a[href*="opencollective.com"] {
  display: none !important;
}


/* Barra lateral: "Mapa Mundial" (localização dos clusters). O botão não tem classe
   própria; o pcnet-pegaprox.js o reconhece pelo rótulo e marca com data-pcnet-remover. */
button[data-pcnet-remover="mapa-mundial"] {
  display: none !important;
}


/* Barra lateral: "EVPN multi-cluster" (aparece com 2 ou mais clusters). Mesmo esquema
   do Mapa Mundial: marcado pelo pcnet-pegaprox.js a partir do rótulo. */
button[data-pcnet-remover="evpn-multicluster"] {
  display: none !important;
}


/* Perfis (pedido de 2026-09-30): três grupos — administradores veem tudo, técnicos só as
   telas do suporte às VMs, clientes só o portal (cloud.pcnet-it.com). O
   pcnet-pegaprox.js marca html[data-pcnet-perfil] pelo papel da sessão e marca com
   data-pcnet-tecnico as abas aprovadas para sair: Relatórios; em Automação, Regras de
   Afinidade, Scripts Personalizados, Replicação, Biblioteca Cloud-Init e Harden Node;
   em Recursos, Syslog e Topologia; no Datacenter, Subscriptions, CPU compat, Metric
   server, Ceph e SDN; e o link "Adicionar primeiro cluster" da tela sem clusters.
   Pedido de 2026-10-01: também Automação e Configurações do cluster.
   Pedido de 2026-10-07: também Datacenter e Datastore, o bloco "Nós" da Visão geral
   (trocado por um resumo de uso somado) e os botões de nó em qualquer lugar.
   Admin não é afetado. */
html[data-pcnet-perfil="tecnico"] [data-pcnet-tecnico] {
  display: none !important;
}

/* Pedido de 2026-10-01: o técnico fica só com os clusters no centro da tela inicial.
   Sai a barra lateral inteira (lista de clusters, servidores de backup e ESXi) e o botão
   que a abre no celular. Volta-se à tela inicial pelo logo. O aviso de licença da barra
   é uma cópia: o do rodapé continua visível (AGPL §7b). */
html[data-pcnet-perfil="tecnico"] .pp-sidebar,
html[data-pcnet-perfil="tecnico"] .pp-drawer-toggle,
html[data-pcnet-perfil="tecnico"] .pp-drawer-backdrop {
  display: none !important;
}


/* "Principais Recursos" na tela inicial (pedido de 2026-09-30): recolhida, fica só o
   cabeçalho com o botão "Ver" que o pcnet-pegaprox.js põe. */
[data-pcnet-recolhivel="fechado"] > :not(:first-child) {
  display: none !important;
}


/* Pedido de 2026-10-01: ação de VM cuja permissão o usuário não tem (Desligar, Migrar,
   Clonar, Excluir, abas Geral/Hardware/Discos/Rede/Opções da configuração). O
   pcnet-pegaprox.js marca pelas permissões de /api/auth/check; admin não é marcado.
   A API continua recusando de qualquer forma. */
[data-pcnet-semperm] {
  display: none !important;
}


/* Pedido de 2026-10-01, só no layout novo da tela inicial (pcnet-home.css):
   - o selo "Live" da visão geral, repetido do "Ao vivo" do cabeçalho;
   - a faixa colorida no topo de cada cartão de cluster (a situação já está no ponto
     verde do ícone e no selo de saúde; faixa colorida em cartão é proibida no padrão). */
html[data-pcnet-home="novo"] [data-pcnet-papel="cabeca"] .rounded-full:has(> .animate-pulse),
html[data-pcnet-home="novo"] [data-pcnet-cluster] > .h-1\.5 {
  display: none !important;
}


/* Pedido de 2026-10-01, barra lateral no layout novo (pcnet-home.css):
   - selo "Paused" (balanceamento automático desligado; não é alerta) e a linha de
     selos quando só ele existia;
   - os botões tracejados "Adicionar Servidor de Backup/ESXi": o mesmo está no menu
     "Adicionar Cluster" do cabeçalho;
   - os 4 ícones de ação do cluster (renomear, reconfigurar, excluir, mover de grupo)
     só aparecem com o mouse sobre a linha ou o foco do teclado nela. Em tela de toque
     (sem hover) continuam sempre visíveis. */
html[data-pcnet-home="novo"] .pp-sidebar [data-pcnet-selo="pausado"],
html[data-pcnet-home="novo"] .pp-sidebar .card-hover > .flex.gap-1.mt-2:not(:has(> :not([data-pcnet-selo="pausado"]))),
html[data-pcnet-home="novo"] .pp-sidebar .mt-4.pt-4:has(> button.border-dashed) {
  display: none !important;
}
@media (hover: hover) {
  html[data-pcnet-home="novo"] .pp-sidebar .card-hover:not(:hover):not(:focus-within) .flex.gap-0\.5.flex-shrink-0 {
    display: none !important;
  }
}


/* Pedido de 2026-10-01: só o layout Moderno, sem nenhuma escolha de estética. Saem de
   Meu Perfil a grade "Escolha seu tema", o "Estilo de Layout", a chave "Desativar
   sobreposição de ruído" e a nota sobre o tema; a janela de escolha do
   primeiro acesso não aparece (o pcnet-pegaprox.js já escolhe o Moderno nela). Em
   Configurações → Servidor saem "Tema Padrão" e "Fundo da tela de login". */
[data-pcnet-remover="tema"],
[data-pcnet-remover="tema-padrao"],
[data-pcnet-remover="ruido"],
[data-pcnet-remover="nota-tema"],
[data-pcnet-remover="fundo-login"],
[data-pcnet-remover="estilo-layout"],
[data-pcnet-remover="escolha-layout"] {
  display: none !important;
}

/* Pedido de 2026-10-13: a chave Hospedagem | Acesso remoto entrou no cabeçalho. Para caber
   em 1440 px sem quebrar a linha, sai o subtítulo do logo ("Gerenciamento de Cluster…");
   abaixo de 1180 px a chave fica só com os ícones (o nome vai no title). */
@media (max-width: 1500px) {
  html[data-pcnet-produtos] .pp-header-row h1 + p { display: none; }
}
@media (max-width: 1180px) {
  .pcnet-produto__rot { display: none; }
}

/* Pedido de 2026-10-16: até 1600 px a dica Ctrl+K da busca sai, para a busca não encostar na
   chave Hospedagem | Acesso remoto | Backup. */
@media (max-width: 1600px) {
  html[data-pcnet-produtos] .pp-header-search kbd { display: none; }
}
/* Pedido de 2026-10-16: até 1600 px a conta mostra só a inicial, como no /remoto e no /backup
   (o nome do usuário segue no menu da conta). */
@media (max-width: 1600px) {
  html[data-pcnet-produtos] .pp-header-actions .relative.z-50 > button > span.text-sm { display: none !important; }
}
