Ir para o conteúdo

MediaWiki:Common.css: mudanças entre as edições

De Normas Regulamentadoras
Sem resumo de edição
Sem resumo de edição
Linha 505: Linha 505:
/* 🌟 Oculta especificamente o texto do Código se o campo [code] vier nulo */
/* 🌟 Oculta especificamente o texto do Código se o campo [code] vier nulo */
.status-code- {
.status-code- {
    display: none !important;
}
/* Esconde o fragmento da Infração se o valor estiver vazio */
.status-infra-val- {
     display: none !important;
     display: none !important;
}
}

Edição das 16h49min de 12 de julho de 2026

/* ==========================================   Container do Card     ========================================== */
/* Container do Card com Sombra Sutil e Borda Escura */
.norma-container {
    display: block; 
    clear: both; 
    width: 100%; 
    margin-bottom: 16px; 
    box-sizing: border-box;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05), 0 1px 3px rgba(0, 0, 0, 0.1);
    border: 1px solid #bbb !important;
    border-radius: 6px;
    overflow: hidden;
}

/* Cores Unificadas por Classe (Cabeçalho e Conteúdo) */
.norma-box-Geral th, .norma-box-Geral td {
    background-color: #e3f2fd !important;
}
.norma-box-Especial th, .norma-box-Especial td {
    background-color: #fff3e0 !important;
}
.norma-box-Setorial th, .norma-box-Setorial td {
    background-color: #e8f5e9 !important;
}
.norma-box-Revogada th, .norma-box-Revogada td {
    background-color: #ffebee !important;
}
/* Container Principal: Divide em duas colunas (70% para o texto, 30% para a barra lateral) */
.norma-page-layout {
    display: flex;
    gap: 5px;
    width: 100%;
    box-sizing: border-box;
}

/* Coluna da Esquerda (Texto Principal) */
.norma-main-column {
    flex: 70%;
}

/* Coluna da Direita (Painéis Laterais) */
.norma-sidebar-column {
    flex: 30%;
    display: flex;
    flex-direction: column;
    gap: 15px; /* Espaço vertical entre as caixas da direita */
}

/* Estilo padrão de cada caixa/bloco desenhado */
.norma-block-box {
    background: #ffffff;
    border: 3px solid #000000; /* Borda grossa preta do desenho */
    border-radius: 4px;
    padding: 5px;
    box-sizing: border-box;
}

/* Títulos internos de cada caixa */
.norma-block-box h4 {
    margin-top: 0;
    font-size: 1.3em;
    font-weight: bold;
    border-bottom: 2px solid #000000;
    padding-bottom: 8px;
}


/* ==========================================   Container infográfico     ========================================== */

/* Container principal do infográfico */
.info-historico-infografico {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 220px;
  margin: 5px auto;
  gap: 10px; /* Espaço entre as grandes caixas unificadas */
  font-family: sans-serif;
}

/* Título "Vigências" no topo do Bloco Verde */
.titulo-bloco-vigencias {
    display: block;
    width: 100%;
    text-align: center;
    font-size: 13px;
    font-weight: bold;
    color: #7f8c8d; /* Cinza sutil corporativo */
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 6px; /* Espaço sutil entre o título e a caixa verde */
    font-family: sans-serif;
}

/* A grande caixa mãe que envolve o R e seus A */
.bloco-grupo {
  display: flex;
  flex-direction: column;
  width: 100%;
  border-radius: 8px; /* Cantos arredondados na caixa maior */
  padding: 1px;
  box-sizing: border-box;
  gap: 1px; /* Espaçamento fino entre as linhas internas */
}

/* Base de cada item/ano empilhado internamente */
.timeline-item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px 12px;
  font-size: 16px;
  font-weight: bold;
  box-sizing: border-box;
  width: 50% !important; /* Mantém a divisão das duas colunas */
}

/* --- POSICIONAMENTO LATERAL INTERNO --- */
.timeline-item.tipo-R {
  align-self: flex-start !important;
  margin-right: auto !important;
  margin-left: 0 !important;
}

.timeline-item.tipo-A {
  align-self: flex-end !important;
  margin-left: auto !important;
  margin-right: 0 !important;
}

/* Remove fundos individuais e define cor do texto padrão interna */
.timeline-item .timeline-text {
  color: inherit;
}

/* --- CORES APLICADAS DIRETAMENTE NAS CAIXAS MAIORES --- */
/* Bloco 1: Verde Vigente (Texto Branco) */
.bloco-grupo.bloco-1 {
  background-color: #2ecc71 !important;
  color: #ffffff !important;
}

/* Bloco 2: Cinza Claro (Texto Escuro para Contraste) */
.bloco-grupo.bloco-2 {
  background-color: #00C4BB !important;
  color: #1f2937 !important;
}

/* Bloco 3: Cinza Médio (Texto Branco) */
.bloco-grupo.bloco-3 {
  background-color: #C9C9CA !important;
  color: #ffffff !important;
}

/* Bloco 4: Cinza Escuro (Texto Branco) */
.bloco-grupo.bloco-4 {
  background-color: #9D9D9E !important;
  color: #ffffff !important;
}

/* Bloco 5 em diante: Tons escuros profundos (Texto Branco) */
.bloco-grupo.bloco-5 {
  background-color: #737474 !important;
  color: #ffffff !important;

/* Bloco 6 em diante: Tons escuros profundos (Texto Branco) */
.bloco-grupo.bloco-6 {
  background-color: #4C4D4D !important;
  color: #ffffff !important;

/* Bloco 5 em diante: Tons escuros profundos (Texto Branco) */
.bloco-grupo.bloco-7 {
  background-color: #28292A !important;
  color: #ffffff !important;


}
/* Garante que o link nativo herde as cores corretas do infográfico e ocupe o espaço correto */
.timeline-item .timeline-text a {
    color: inherit !important;
    text-decoration: none !important;
    display: inline-block;
    width: 100%;
    text-align: center;
}

/* Efeito visual ao passar o mouse sobre o ano com link */
.timeline-item .timeline-text a:hover {
    text-decoration: underline !important;
    opacity: 0.85;
}

/* Remove o ícone padrão de link externo do MediaWiki apenas dentro do infográfico */
.timeline-item .timeline-text a.external {
    background: none !important;
    padding-right: 0 !important;
}

/* ==========================================   Container Preview Histórico     ========================================== */

/* Container do Preview Histórico */
.container-preview-historico {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    background: #fdfbf7; 
    border-radius: 4px;
    border: 1px dashed #bba887;
    margin-top: 10px;
}

/* O Envelopador que centraliza e aplica os efeitos de inclinação */
.preview-velho-wrapper {
    display: block;
    margin: 0 auto;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: rotate(3deg); /* Mantém a inclinação de lauda */
}

/* A Imagem Real */
.preview-velho-wrapper img {
    max-width: 130px !important; /* Limita o tamanho na barra lateral */
    height: auto !important;
    border: 1px solid #c2b49a;
    box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.2);
    background-color: #ffffff;
    padding: 5px;
    display: block;
    filter: sepia(0.1); 
}

/* Interação ao passar o mouse */
.preview-velho-wrapper:hover {
    transform: rotate(0deg) scale(1.12); /* Alinha e aplica o zoom */
    cursor: default;
}

.preview-velho-wrapper:hover img {
    box-shadow: 0 12px 24px rgba(65, 50, 30, 0.25);
    filter: sepia(0); /* Revela a cor real do Diário Oficial */
}




/* Container Geral da Caixa */
.caixa-orbital-container {
    overflow: hidden;
}

/* O Espaço onde os anexos orbitam */
.espaco-orbital {
    position: relative;
    width: 240px; 
    height: 240px; 
    margin: 25px auto;
    background: #fcfcfc;
    border-radius: 50% !important;
    border: 1px dashed #dcdcdc !important; 
}

/* Garante o Sol perfeitamente estático e centralizado no meio do sistema solar */
.bolha-centro {
    position: absolute !important;
    width: 76px !important;
    height: 76px !important;
    background-color: #34495e !important; 
    background: #34495e !important;
    border-radius: 50% !important;
    
    /* Centralização matemática estável */
    top: 50% !important;
    left: 50% !important;
    
    /* O REMÉDIO TÉCNICO: Sem o !important aqui, a animação consegue rodar o eixo livremente */
    transform: translate(-50%, -50%); 
    animation: rotacionarEsquerdaSol 160s linear infinite !important;
    
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
    z-index: 10 !important;
    border: 3px solid #ffffff !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important; 
    box-sizing: border-box !important;
}

/* Pausa a rotação do Sol também ao passar o mouse */
.caixa-orbital-container:hover .bolha-centro {
    animation-play-state: paused !important;
}

/* Regra matemática exclusiva para girar o Sol ao contrário sem perder a centralização */
@keyframes rotacionarEsquerdaSol {
    from { transform: translate(-50%, -50%) rotate(0deg); }
    to { transform: translate(-50%, -50%) rotate(-360deg); }
}

/* Destrói qualquer caixa, parágrafo ou link cinza que o MediaWiki crie lá dentro */
.bolha-centro *,
.bolha-centro p,
.bolha-centro span,
.bolha-centro a {
    background: transparent !important;
    background-color: transparent !important;
    color: #ffffff !important;
    font-family: sans-serif !important;
    font-weight: bold !important;
    font-size: 18px !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
    text-align: center !important;
    text-decoration: none !important;
}

.nome-norma-centro {
    display: block !important;
    width: 100% !important;
    white-space: nowrap !important; /* Impede o NR-1 de quebrar linha */
}


/* Ajusta as bolhas dos anexos no estado normal (Fundo Branco) */
.planeta-satelite {
    position: absolute !important;
    width: 44px !important;
    height: 44px !important;
    background-color: #ffffff !important;
    background: #ffffff !important;
    border: 2px solid #27ae60 !important;
    color: #2c3e50 !important;
    border-radius: 50% !important; /* Garante que a base seja redonda */
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important; 
    box-shadow: 0 3px 8px rgba(0,0,0,0.1) !important;
    transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease !important;
    z-index: 5 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important; /* Impede qualquer elemento interno de vazar os cantos redondos */
}

/* Alinha o texto interno "Anexo X" em linhas equilibradas e centralizadas */
.planeta-satelite span {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    line-height: 1.2 !important;
    font-family: sans-serif !important;
    font-size: 9px !important; 
    font-weight: bold !important;
    padding: 0 2px !important;
    margin: 0 !important;
    background: transparent !important; /* Remove qualquer caixa branca ou cinza do texto */
    color: inherit !important; /* Herda a cor do texto do elemento pai */
}

/* INTERAÇÃO AO PASSAR O MOUSE (Seu efeito verde mantido e corrigido) */
.planeta-satelite:hover {
    transform: scale(1.18) !important;
    background-color: #27ae60 !important; /* Força o fundo a ficar verde */
    background: #27ae60 !important;
    color: #ffffff !important; /* Força o texto interno a ficar branco para contraste */
    border-radius: 50% !important; /* Mantém o efeito estritamente redondo */
}

/* Esconde o link "Mais..." do Cargo */
.caixa-orbital-container a, 
.container-satelites a,
.cargoMoreLinks,
.cargo-more-links {
    display: none !important;
}

/* Esconde mensagens automáticas de busca vazia do Cargo dentro do sistema solar */
.caixa-orbital-container .cargoNoResults,
.caixa-orbital-container .cargo-no-results,
.container-satelites:empty {
    display: none !important;
}


/* --- MOTOR DE ROTAÇÃO INFINITA DO SISTEMA SOLAR --- */

/* Faz o espaço sideral inteiro girar suavemente para a direita */
.espaco-orbital {
    animation: rotacionarDireita 160s linear infinite !important;
}

/* Faz as luas girarem para a esquerda para o texto ficar sempre de pé */
.planeta-satelite {
    animation: rotacionarEsquerda 160s linear infinite !important;
}

/* Pausa a rotação se o usuário colocar o mouse em cima de qualquer anexo */
.caixa-orbital-container:hover .espaco-orbital,
.caixa-orbital-container:hover .planeta-satelite {
    animation-play-state: paused !important;
}

/* --- REGRAS MATEMÁTICAS DOS MOVIMENTOS (keyframes) --- */
@keyframes rotacionarDireita {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes rotacionarEsquerda {
    from { transform: rotate(0deg); }
    to { transform: rotate(-360deg); }
}




/* ==========================================   Container itens da norma     ========================================== */

/* Layout base dos itens da norma */
.conteudo-itens-norma { font-family: sans-serif; line-height: 1.6; text-align: justify; color: #2d3748; }
.item-nr { margin-bottom: 3px; }

/* Indentação baseada no Nível */
.item-nr.nv-2 { padding-left: 0px; }
.item-nr.nv-3 { padding-left: 5px; }
.item-nr.nv-4 { padding-left: 10px; }
.item-nr.nv-5 { padding-left: 15px; }
.item-nr.nv-6 { padding-left: 20px; }
.item-nr.nv-7 { padding-left: 25px; }
.item-nr.nv-8 { padding-left: 30px; }
.item-nr.nv-9 { padding-left: 35px; }
.item-nr.nv-10 { padding-left: 40px; }

/* Formatação baseada no campo Forma */
.item-nr.f-1 span { font-weight: bold; }
.item-nr.f-2 span { text-decoration: line-through; color: #a0aec0; }
.item-nr.f-3 span { font-style: italic; }
.item-nr.f-4 span { vertical-align: super; font-size: 80%; }
.item-nr.f-5 { text-align: center; }
.item-nr.f-6 span { font-variant: small-caps; }
.item-nr.f-7 span { text-transform: uppercase; }
.item-nr.f-8 { margin-left: 30px; }

/* Notas sobrescritas */
.nota-sup { font-size: 75%; color: #3182ce; font-weight: bold; margin-left: 2px; }

/* Oculta completamente o bloco do gráfico se o valor vier nulo/vazio do banco */
.elemento-grafico.grafico-val- {
    display: none !important;
}

/* Oculta completamente o bloco do gráfico se o valor vier nulo/vazio do banco */
.elemento-grafico.grafico-val- {
    display: none !important;
}

/* Quando o campo [grafico] possuir um valor (ex: 5), esta regra entra em ação */
.elemento-grafico:not(.grafico-val-) {
    display: block;
    margin: 15px auto;
    padding: 10px;
    text-align: center;
    font-weight: bold;
    color: #2b6cb0; /* Azul institucional */
    background-color: #ebf8ff; /* Fundo azul bem sutil para destacar o elemento */
    border: 1px dashed #bee3f8;
    border-radius: 4px;
    max-width: 400px;
}

/* Injeta dinamicamente o texto padrão sem precisar de código de programação */
.elemento-grafico:not(.grafico-val-)::before {
    content: "ELEMENTO GRÁFICO Nº " attr(class);
}

/* Ajuste fino para limpar o nome da classe do texto visível */
.elemento-grafico {
    font-size: 0px; /* Esconde o texto bruto das classes */
}
.elemento-grafico:not(.grafico-val-)::before {
    font-size: 14px; /* Devolve o tamanho correto apenas para a mensagem */
}

/* Estilo geral do bloco de infração no fim da linha */
.infracao-nr28 {
    font-size: 75%;
    font-weight: bold;
    color: #FF0000; /* Vermelho padrão para alertas/multas */
    margin-left: 8px;
    white-space: nowrap; /* Evita que quebre em várias linhas se houver espaço */
}

/* 🌟 Oculta o bloco INTEIRO de infração se o campo [infra] vier vazio ou nulo */
.infracao-nr28.status-infra- {
    display: none !important;
}

/* 🌟 Oculta especificamente o texto do Código se o campo [code] vier nulo */
.status-code- {
    display: none !important;
}

/* Esconde o fragmento da Infração se o valor estiver vazio */
.status-infra-val- {
    display: none !important;
}

/* 🌟 Oculta especificamente o texto do Tipo se o campo [classe] vier nulo */
.status-classe- {
    display: none !important;
}

/* Pequeno ajuste de espaçamento interno entre os elementos da infração */
.infracao-nr28 span {
    margin-right: 3px;
}