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
 
(124 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
/* ==========================================  Container do Card     ========================================== */
/* ==========================================================================
/* Container do Card com Sombra Sutil e Borda Escura */
  PAINEL DIGITAL DELOREAN - VERSÃO FINAL SIMPLIFICADA (nr.wiki.br)
  ========================================================================== */
 
/* 1. Importação da Fonte Física Local (CORRIGIDA A URL COMPLETA COM A PASTA) */
@font-face {
    font-family: 'DeLoreanDigital';
    src: url('/fonts/digital-7 (mono italic).ttf') format('truetype'),
        url('https://nr.wiki.br (mono italic).ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}
 
/* 2. Placa de Metal Traseira (Cinza Alumínio Escovado com Toque de Ferrugem) */
.delorean-panel-container {
    background: linear-gradient(135deg, #cccccc 0%, #b3b3b3 50%, #999999 100%) !important;
    border: 5px double #555555 !important; /* Borda dupla simulando placa rebitada */
    border-radius: 12px !important;
    padding: 20px 15px !important;
    /* Sombra externa para flutuar na sidebar + sombra interna âmbar simulando pátina/ferrugem sutil nas bordas */
    box-shadow: 0 10px 25px rgba(0,0,0,0.4), inset 0 0 20px rgba(139, 90, 43, 0.25) !important;
    display: inline-block;
    width: 330px;
    box-sizing: border-box;
    margin: 0 25px !important;
}
 
/* 3. Fendas dos Visores (Efeito de Recorte Profundo no Metal) */
.delorean-display {
    background: #000000 !important;
    /* Borda escura interna simula o relevo e a profundidade do corte na chapa metálica */
    border-top: 3px solid #333333 !important;
    border-left: 3px solid #333333 !important;
    border-bottom: 2px solid #ffffff !important; /* Brilho de metal na borda inferior */
    border-right: 2px solid #ffffff !important;
    margin-bottom: 16px;
    padding: 10px 14px;
    border-radius: 6px;
    box-sizing: border-box;
    box-shadow: inset 0 4px 10px rgba(0,0,0,0.9) !important; /* Escuridão interna do visor */
}
 
/* Placas de Identificação sob os Visores (Estilo Retrô e Seguro) */
.delorean-display .display-label {
    font-family: 'Arial Black', sans-serif !important;
    font-size: 9px !important;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
   
    /* Moldura preta idêntica ao filme */
    background-color: #0c0c0c !important;
    background: #0c0c0c !important;
    color: #dddddd !important;
    border: 1px solid #555555 !important;
    border-radius: 2px !important;
    padding: 2px 8px !important;
    box-shadow: 1px 1px 3px rgba(0,0,0,0.4) !important;
 
    /* 🌟 FIX DE ESTABILIDADE: Posicionamento nativo centralizado */
    display: table !important;        /* Força a caixinha a abraçar apenas o texto */
    margin: 6px auto 0 auto !important; /* Centraliza horizontalmente e cria espaço no topo */
    position: relative !important;    /* Desativa o absolute que jogava o texto para o rodapé */
    left: 0 !important;
    transform: none !important;
    z-index: 10 !important;
    white-space: nowrap !important;
}
 
/* Ajusta o espaçamento dos visores de forma segura */
.delorean-display {
    margin-bottom: 16px !important;
    padding-bottom: 12px !important; /* Cria um respiro interno para a plaqueta preta */
}
 
/* 4. Caixa Internas e Motores de Visores (DESBLOQUEADO PARA ENTRADA) */
.display-led-values {
    position: relative !important;
    background-color: #050505 !important;
    background: #050505 !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 3px;
    display: flex !important;          /* 🌟 ALTERADO: Transforma em Flexbox */
    align-items: center !important;    /* 🌟 NOVO: Centraliza verticalmente de forma matemática */
    justify-content: center !important; /* 🌟 NOVO: Centraliza horizontalmente */
    height: 42px !important;
    box-sizing: border-box !important;
    overflow: hidden;
}
 
/* Garante o posicionamento relativo apenas para o dock receptivo do JS */
.delorean-panel-container .delorean-input-dock {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    background: transparent !important;
    display: block !important;
}
 
/* 5. Aplicação Unificada da Fonte de 7 Segmentos e Desbloqueio Físico */
.led-digits,
.led-input-field,
.delorean-panel-container .delorean-input-dock input {
    font-family: 'DeLoreanDigital', monospace !important;
    font-size: 36px !important;
    letter-spacing: 2px !important;
    margin: 0 !important;
    outline: none !important;
    box-sizing: border-box !important;
    display: block !important;          /* 🌟 ALTERADO: De table para block */
    text-align: center !important;      /* 🌟 NOVO: Garante centralização horizontal do texto */
   
    /* Configuração absoluta para o input flutuar na frente e receber cliques */
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: 100% !important;
    line-height: 42px !important;      /* Alinha verticalmente o texto interno do input */
    padding: 0 !important;              /* 🌟 ALTERADO: Remove o padding que causava desvio */
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    z-index: 5 !important;
    pointer-events: auto !important;
}
 
/* Ajuste específico apenas para as datas textuais estáticas dos dois primeiros painéis */
div.led-digits {
    position: relative !important;
    width: 100% !important;            /* 🌟 NOVO: Ocupa a largura total */
    height: 100% !important;            /* 🌟 NOVO: Ocupa a altura total do pai */
    line-height: 42px !important;      /* 🌟 NOVO: Centraliza verticalmente o texto da div */
    z-index: 1 !important;
    pointer-events: none !important;
}
 
/* 6. Estilização do Placeholder (Efeito Fantasma 88/88/8888 e Controle de Foco) */
.delorean-panel-container input::placeholder,
.delorean-panel-container .delorean-input-dock input::placeholder,
.led-input-field::placeholder {
    font-family: 'DeLoreanDigital', monospace !important;
    color: rgba(255, 255, 255, 0.8) !important;
    text-shadow: none !important;
    opacity: 1 !important; /* Garante que o navegador não esconda o valor */
}
 
/* Anula qualquer tentativa do navegador de restaurar caixas brancas ao clicar */
.delorean-panel-container input::-webkit-input-placeholder,
.delorean-panel-container .delorean-input-dock input::-webkit-input-placeholder {
    font-family: 'DeLoreanDigital', monospace !important;
    color: rgba(255, 255, 255, 0.8) !important;
    text-shadow: none !important;
}
 
/* Desativa as setas do seletor nativo do navegador para não quebrar os números do painel */
.delorean-panel-container input::-webkit-calendar-picker-indicator,
.delorean-panel-container input::-webkit-inner-spin-button {
    display: none !important;
    -webkit-appearance: none !important;
}
 
/* 7. Esquema de Cores e Brilhos dos LEDs acesos */
 
/* Visor Vermelho (Data Nascimento - Estático) */
.display-red .display-label { color: #ff3333 !important; }
.display-red .led-digits {
    color: #ff1111 !important;
    text-shadow: 0 0 10px rgba(255, 0, 0, 0.7);
}
 
/* Visor Amarelo/Âmbar (Tempo Presente - Estático) */
.display-amber .display-label { color: #ffaa00 !important; }
.display-amber .led-digits {
    color: #ff9900 !important;
    text-shadow: 0 0 10px rgba(255, 170, 0, 0.7);
}
 
/* Visor Verde (Destino Pretendido - Campo Editável) */
.display-green .display-label { color: #00ff66 !important; }
.display-green .led-digits,
.display-green input,
.led-input-field {
    color: #00ff66 !important;
    text-shadow: 0 0 10px rgba(0, 255, 51, 0.7);
}
 
/* 8. Alavanca Industrial de Ativação */
..delorean-controls {
    display: block !important;
    width: 100% !important;
    padding: 5px 14px 0 14px !important;
    box-sizing: border-box !important;
    clear: both !important;
}
 
.delorean-button-dock {
    display: block !important;
    width: 100% !important;
}
 
.delorean-panel-container .delorean-lever-btn {
    width: 100% !important;
    background: linear-gradient(135deg, #cc1111, #880000) !important;
    color: #ffffff !important;
    border: 2px solid #555555 !important;
    padding: 10px !important;
    font-weight: bold !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    cursor: pointer !important;
    border-radius: 4px !important;
    text-shadow: 1px 1px 2px #000000 !important;
    transition: background 0.2s, transform 0.1s !important;
    font-family: sans-serif !important;
    margin-top: 5px !important;
    display: block !important;
    box-shadow: 0 3px 6px rgba(0,0,0,0.4) !important;
}
 
.delorean-panel-container .delorean-lever-btn:hover {
    background: linear-gradient(135deg, #ff2222, #aa0000) !important;
}
 
.delorean-panel-container .delorean-lever-btn:active {
    transform: scale(0.98) !important;
}
 
 
 
 
 
 
 
 
/* ==========================================================================
  RESTAURAÇÃO DO LAYOUT EM CAIXAS DA PÁGINA PRINCIPAL (COM BORDA SUAVE)
  ========================================================================== */
 
.page-Página_principal table,
.rootpage-Página_principal table {
    border-collapse: separate !important;
    border-spacing: 0 12px !important; /* Aumentei levemente para acomodar a borda respirando */
    width: 100% !important;
    background: transparent !important;
}
 
/* Aplica o preenchimento, arredondamento e a borda suave em cada bloco de NR */
.page-Página_principal table tr td,
.rootpage-Página_principal table tr td {
    padding: 14px 18px !important;
    border-radius: 6px !important; /* Arredondamento levemente maior para combinar com a borda */
    border: 1px solid var(--border-color-subtle, #eaecf0) !important; /* 🌟 BORDA SUAVE */
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important; /* Sombra quase invisível para dar profundidade */
    box-sizing: border-box !important;
}
 
.page-Página_principal table tr,
.rootpage-Página_principal table tr {
    display: table-row !important;
}
 
 
 
/* ==========================================================================
  PÁGINA NORMAS - PROPRIEDADES DOS ELEMENTOS GRÁFICOS (TABELAS E MÍDIAS)
  ========================================================================== */
 
/* 1. Oculta completamente o bloco do gráfico se o valor vier nulo/vazio do banco */
.elemento-grafico.grafico-val- {
    display: none !important;
}
 
/* 2. Mostra o contêiner se houver valor vindo do banco */
.elemento-grafico:not(.grafico-val-) {
    display: block !important;
    clear: both !important;        /* 🌟 Limpa os limites e impede altura esmagada */
    width: 100% !important;
    height: auto !important;        /* 🌟 Força o cálculo real da tabela interna */
    min-height: 20px !important;    
    margin: 0px auto !important;
    box-sizing: border-box !important;
    background: transparent !important;
    border: none !important;
}
 
/* 3. Força a remoção de textos fantasmas de regras antigas */
.elemento-grafico::before,
.elemento-grafico:not(.grafico-val-)::before {
    content: "" !important;
    display: none !important;
}
 
/* 4. Oculta todos os blocos internos por padrão para gerenciar via regra ativa */
.bloco-midia-renderizado > div {
    display: none !important;
}
 
/* ==========================================================================
  ATIVAÇÃO ESPECÍFICA POR TIPO DE REGRA
  ========================================================================== */
 
/* REGRA: TABELA (Força comportamento de bloco amplo e visível) */
.regra-ativa-tabela .render-regra-tabela {
    display: block !important;
}
 
/* REGRA: IMAGEM */
.regra-ativa-imagem .render-regra-imagem {
    display: block !important;
}
 
/* REGRA: FÓRMULA (Transforma apenas a fórmula em texto fluido/normal) */
.regra-ativa-formula .render-regra-formula {
    display: inline !important;
}
 
/* Se for uma fórmula, altera o contêiner pai para inline com segurança (sem afetar tabelas) */
.elemento-grafico:has(.regra-ativa-formula) {
    display: inline !important;
    clear: none !important;
}
 
/* ==========================================================================
  FORMATAÇÃO DE IMAGENS E TABELAS INTERNAS
  ========================================================================== */
 
/* Garante que imagens nunca ultrapassem a largura útil do texto */
.render-regra-tabela img,
.elemento-grafico img,
.conteudo-itens-norma img {
    max-width: 100% !important;
    height: auto !important;
    display: block;
}
 
/* Ajuste para que tabelas de dados calculem suas colunas pelo texto em telas grandes */
.render-regra-tabela table,
.conteudo-itens-norma table {
    max-width: 100% !important;
    width: auto !important;
}
 
/* Força as linhas internas da tabela de dados a aparecerem quando a tabela estiver ativa */
.render-regra-tabela table tr {
    display: table-row !important;
}
 
/* Ocultação padrão para elementos fora das tabelas ativas */
.linha-nivel-2, .linha-nivel-3, .linha-nivel-4 {
     display: none;
}
 
/* ==========================================================================
  RESPONSIVIDADE (CELULAR / TELAS MENORES QUE 1000PX)
  ========================================================================== */
/*
@media screen and (max-width: 1200px) {
    .norma-page-layout {
        display: block !important;
        width: 100% !important;
    }
 
    .norma-main-column {
        width: 100% !important;
        margin-bottom: 25px;
    }
 
    .norma-sidebar-column {
        width: 100% !important;
        display: flex;
        flex-direction: column;
        gap: 15px;
    }
 
    /* Adiciona a rolagem com o dedo para tabelas largas no celular */
    .render-regra-tabela,
    .elemento-grafico {
        max-width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }
}
 
*/
 
/* Página Principal Container do Card com Sombra Sutil e Borda Escura */
.norma-container {
.norma-container {
     display: block;  
     display: block;  
Linha 13: Linha 401:
}
}


/* Cores Unificadas por Classe (Cabeçalho e Conteúdo) */
/* Página Principal  Cores Unificadas por Classe (Cabeçalho e Conteúdo) */
.norma-box-Geral th, .norma-box-Geral td {
.norma-box-Geral th, .norma-box-Geral td {
     background-color: #e3f2fd !important;
     background-color: #e3f2fd !important;
Linha 26: Linha 414:
     background-color: #ffebee !important;
     background-color: #ffebee !important;
}
}
/* Container Principal: Divide em duas colunas (70% para o texto, 30% para a barra lateral) */
 
/* Página Normas Container Principal: Divide em duas colunas (70% para o texto, 30% para a barra lateral) */
.norma-page-layout {
.norma-page-layout {
     display: flex;
     display: flex;
Linha 34: Linha 423:
}
}


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


/* Coluna da Direita (Painéis Laterais) */
/* Página Normas Coluna da Direita: (Painéis Laterais) */
.norma-sidebar-column {
.norma-sidebar-column {
     flex: 30%;
     flex: 30%;
Linha 47: Linha 436:
}
}


/* Estilo padrão de cada caixa/bloco desenhado */
 
.norma-block-box {
/* Página Normas - Texto Principal Layout base dos itens da norma */
     background: #ffffff;
.conteudo-itens-norma {
     border: 3px solid #000000; /* Borda grossa preta do desenho */
    font-family: sans-serif;
     border-radius: 4px;
    line-height: 1.6;
     padding: 5px;
    text-align: justify;
     box-sizing: border-box;
     color: #2d3748;
   
    /* Hifenização por dicionário */
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
     hyphens: auto;
   
    /* Fallback anti-esburacamento (Se o hífen falhar, ele distribui melhor ou força a quebra) */
     word-break: break-word;
     text-justify: inter-word;
}
 
.item-nr { margin-bottom: 3px; }
 
/* Página Normas - Texto Principal 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; }
.item-nr.nv-11 { padding-left: 43px; }
 
/* Página Normas - Texto Principal Formatação baseada no campo Forma */
.item-nr.f-1 span { display: block; text-align: center; font-weight: bold;  }
.item-nr.f-2 span { display: block; font-weight: bold;  }
.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; }
.item-nr.f-9 { margin-bottom: 6px; }
 
/* Página Normas - Texto Principal Notas sobrescritas */
.nota-sup {
    font-size: 70%;            /* Reduz ligeiramente para não sobrecarregar a linha */
     color: #3182ce;
    font-weight: bold;
    margin-left: 4px;
    vertical-align: super; 
    line-height: 0;          
}
}


/* Títulos internos de cada caixa */
/* Página Normas - Texto Principal Estilo geral do bloco de infração no fim da linha */
.norma-block-box h4 {
.infracao-nr28 {
    margin-top: 0;
     font-size: 75%;
     font-size: 1.3em;
     font-weight: bold;
     font-weight: bold;
     border-bottom: 2px solid #000000;
     color: #FF0000;
     padding-bottom: 8px;
    margin-left: 12px;      
     white-space: nowrap;
}
 
 
/* Página Normas - Texto Principal Oculta completamente o bloco do gráfico se o valor vier nulo/vazio do banco */
.elemento-grafico.grafico-val- {
    display: none !important;
}
 
/* Página Normas - Texto Principal Oculta o bloco INTEIRO de infração se o campo [infra] vier vazio ou nulo */
.infracao-nr28.status-infra- {
    display: none !important;
}
}




/* ==========================================  Container infográfico    ========================================== */
/* Página Normas - Texto Principal Oculta especificamente o texto do Código se o campo [code] vier nulo */
.status-code- {
    display: none !important;
}


/* Container principal do infográfico */
 
.info-historico-infografico {
/* Página Normas - Texto Principal Oculta especificamente o texto do Tipo se o campo [classe] vier nulo */
  display: flex;
.status-classe- {
  flex-direction: column;
    display: none !important;
  width: 100%;
}
  max-width: 220px;
 
  margin: 5px auto;
/* Página Normas - Texto Principal Ajuste de espaçamento interno entre os elementos da infração */
  gap: 10px; /* Espaço entre as grandes caixas unificadas */
.infracao-nr28 span {
  font-family: sans-serif;
    margin-right: 3px;
}
 
 
/* ==========================================================================
  PÁGINA NORMAS - PROPRIEDADES DOS ELEMENTOS GRÁFICOS (TABELAS E MÍDIAS)
  ========================================================================== */
 
/* 1. Oculta completamente o bloco do gráfico se o valor vier nulo/vazio do banco */
.elemento-grafico.grafico-val- {
    display: none !important;
}
 
/* 2. Mostra o contêiner se houver valor vindo do banco */
.elemento-grafico:not(.grafico-val-) {
    display: block !important;
    clear: both !important;        /* 🌟 Limpa os limites e impede altura esmagada */
    width: 100% !important;
    height: auto !important;        /* 🌟 Força o cálculo real da tabela interna */
    min-height: 20px !important;  
    margin: 0px auto !important;
    box-sizing: border-box !important;
    background: transparent !important;
    border: none !important;
}
 
/* 3. Força a remoção de textos fantasmas de regras antigas */
.elemento-grafico::before,
.elemento-grafico:not(.grafico-val-)::before {
    content: "" !important;
    display: none !important;
}
 
/* 4. Oculta todos os blocos internos por padrão para gerenciar via regra ativa */
.bloco-midia-renderizado > div {
    display: none !important;  
}
}


/* Título "Vigências" no topo do Bloco Verde */
/* ==========================================================================
.titulo-bloco-vigencias {
  ATIVAÇÃO ESPECÍFICA POR TIPO DE REGRA
    display: block;
  ========================================================================== */
    width: 100%;
 
    text-align: center;
/* REGRA: TABELA (Força comportamento de bloco amplo e visível) */
    font-size: 13px;
.regra-ativa-tabela .render-regra-tabela {
    font-weight: bold;
     display: block !important;  
    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 */
/* REGRA: IMAGEM */
.bloco-grupo {
.regra-ativa-imagem .render-regra-imagem {
  display: flex;
    display: block !important;  
  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 */
/* REGRA: FÓRMULA (Transforma apenas a fórmula em texto fluido/normal) */
.timeline-item {
.regra-ativa-formula .render-regra-formula {
  display: flex;
    display: inline !important;  
  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 --- */
/* Se for uma fórmula, altera o contêiner pai para inline com segurança (sem afetar tabelas) */
.timeline-item.tipo-R {
.elemento-grafico:has(.regra-ativa-formula) {
  align-self: flex-start !important;
    display: inline !important;
  margin-right: auto !important;
    clear: none !important;
  margin-left: 0 !important;
}
}


.timeline-item.tipo-A {
/* ==========================================================================
  align-self: flex-end !important;
  FORMATAÇÃO DE IMAGENS E TABELAS INTERNAS
  margin-left: auto !important;
  ========================================================================== */
  margin-right: 0 !important;
 
/* Garante que imagens nunca ultrapassem a largura útil do texto */
.render-regra-tabela img,
.elemento-grafico img,
.conteudo-itens-norma img {
    max-width: 100% !important;
    height: auto !important;
    display: block;
}
}


/* Remove fundos individuais e define cor do texto padrão interna */
/* Ajuste para que tabelas de dados calculem suas colunas pelo texto em telas grandes */
.timeline-item .timeline-text {
.render-regra-tabela table,
  color: inherit;
.conteudo-itens-norma table {
    max-width: 100% !important;
    width: auto !important;
}
}


/* --- CORES APLICADAS DIRETAMENTE NAS CAIXAS MAIORES --- */
/* Força as linhas internas da tabela de dados a aparecerem quando a tabela estiver ativa */
/* Bloco 1: Verde Vigente (Texto Branco) */
.render-regra-tabela table tr {
.bloco-grupo.bloco-1 {
    display: table-row !important;
  background-color: #2ecc71 !important;
  color: #ffffff !important;
}
}


/* Bloco 2: Cinza Claro (Texto Escuro para Contraste) */
/* Página Normas - Tabelas - 7. Estilo conteúdo de dentro da tabela (regras ativas) NÃO fique invisível */
.bloco-grupo.bloco-2 {
/* 1. Visibilidade Inicial: Apenas Nível 1 aparece */
  background-color: #00C4BB !important;
.linha-nivel-2:not(.show), .linha-nivel-3:not(.show), .linha-nivel-4:not(.show) {
  color: #1f2937 !important;
    display: none !important;
}
}


/* Bloco 3: Cinza Médio (Texto Branco) */
/* 2. Propriedades visuais e interação */
.bloco-grupo.bloco-3 {
/* Nível 1: sem cursor de clique */
  background-color: #C9C9CA !important;
.linha-nivel-1 { cursor: default; background-color: #ffffff; }
  color: #ffffff !important;
 
/* Níveis 2 e 3: interativos */
.linha-nivel-2, .linha-nivel-3 {
    cursor: pointer !important;
}
}


/* Bloco 4: Cinza Escuro (Texto Branco) */
.linha-nivel-2:hover, .linha-nivel-3:hover {
.bloco-grupo.bloco-4 {
    background-color: #e0e0e0 !important;
  background-color: #9D9D9E !important;
  color: #ffffff !important;
}
}


/* Bloco 5 em diante: Tons escuros profundos (Texto Branco) */
/* Cores de fundo por nível */
.bloco-grupo.bloco-5 {
.linha-nivel-1 { background-color: #ffffff; }
  background-color: #737474 !important;
.linha-nivel-2 { background-color: #f7f7f7; }
  color: #ffffff !important;
.linha-nivel-3 { background-color: #f0f0f0; }
.linha-nivel-4 { background-color: #e8e8e8; }


/* 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;


.show {
    display: table-row !important;
}


/* Página Normas - Sistema Orbital - Container Geral da Caixa */
.caixa-orbital-container {
    overflow: hidden;
}
/* Força os links das luas e do sol a ocuparem 100% do espaço redondo e herdar as cores certas */
.caixa-orbital-container #sistema-orbital a {
    color: inherit !important;
    text-decoration: none !important;
    background: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    justify-content: center !important;
    align-items: center !important;
}
}
/* Garante que o link nativo herde as cores corretas do infográfico e ocupe o espaço correto */
/* Remove a cor azul padrão se o link for considerado externo ou interno pela Wiki */
.timeline-item .timeline-text a {
.caixa-orbital-container #sistema-orbital a:link,
.caixa-orbital-container #sistema-orbital a:visited,
.caixa-orbital-container #sistema-orbital a:hover,
.caixa-orbital-container #sistema-orbital a:active {
     color: inherit !important;
     color: inherit !important;
     text-decoration: none !important;
     text-decoration: none !important;
     display: inline-block;
}
/* Página Normas - Sistema Orbital - 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;
    animation: rotacionarDireita 160s linear infinite !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 por coordenadas fixa garantida pelas bordas */
    top: 50% !important;
    left: 50% !important;
   
    /* O REMÉDIO: Removemos o !important para permitir que os keyframes apliquem o rotate */
    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;
}
 
 
/* Página Normas - Sistema Orbital - Remove qualquer caixa de parágrafo residual do MediaWiki dentro do Sol */
.bolha-centro *, .bolha-centro p, .bolha-centro span {
    background: transparent !important;
    background-color: transparent !important;
    color: #ffffff !important;
    font-family: sans-serif !important;
    font-weight: bold !important;
    font-size: 14px !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
     display: block !important;
    text-align: center !important;
    white-space: nowrap !important;
}
 
/* Página Normas - Sistema Orbital - As Luas Orbitando (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;
    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;
    margin: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    animation: rotacionarEsquerda 160s linear infinite !important;
 
    /* A MÁGICA DO ALINHAMENTO HORIZONTAL SEM VERTICALIZAR AS LETRAS */
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
}
 
 
/* Página Normas - Sistema Orbital - Texto das Luas */
.planeta-satelite span {
    display: block !important;
    flex-direction: unset !important;
    justify-content: unset !important;
    align-items: unset !important;
    width: 100% !important;
    height: auto !important; /* CORREÇÃO: Remove a altura total para o texto subir */
    text-align: center !important;
    line-height: 1.2 !important; /* Ajuste sutil de espaçamento entre as duas linhas */
    font-family: sans-serif !important;
    font-size: 8px !important; /* Tamanho calibrado para encaixe perfeito */
    font-weight: bold !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    color: inherit !important;
    white-space: nowrap !important; /* Mantém as palavras deitadas na horizontal */
    box-sizing: border-box !important;
}
 
 
/* Página Normas - Sistema Orbital - Hover Verde */
.planeta-satelite:hover {
    transform: scale(1.18) !important;
    background-color: #27ae60 !important;
    background: #27ae60 !important;
    color: #ffffff !important;
    border-radius: 50% !important;
}
 
/* Página Normas - Sistema Orbital - Congela o movimento no Hover */
.caixa-orbital-container:hover .espaco-orbital,
.caixa-orbital-container:hover .planeta-satelite,
.caixa-orbital-container:hover .bolha-centro {
    animation-play-state: paused !important;
}
 
/* Página Normas - Sistema Orbital - Animações de Eixo */
@keyframes rotacionarDireita {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
@keyframes rotacionarEsquerda {
    from { transform: rotate(0deg); }
    to { transform: rotate(-360deg); }
}
@keyframes rotacionarEsquerdaSol {
    from { transform: translate(-50%, -50%) rotate(0deg); }
    to { transform: translate(-50%, -50%) rotate(-360deg); }
}
 
/* Página Normas - Sistema Orbital -Limpeza do Cargo */
.caixa-orbital-container .cargoMoreLinks,
.caixa-orbital-container .cargo-more-links {
    display: none !important;
}
/* Estilo para a Lua correspondente à página que já está aberta */
.planeta-satelite.pagina-ativa {
    border: 2px solid #34495e !important; /* Muda a borda para a cor escura do SOL */
    color: #ffffff !important;
    background-color: #34495e !important; /* Fundo levemente cinza */
    cursor: default !important; /* Remove o cursor de mãozinha (link) */
    pointer-events: none !important; /* Desativa qualquer clique físico no elemento */
}
 
/* Garante que o hover de expansão não aconteça na lua ativa */
.planeta-satelite.pagina-ativa:hover {
    transform: scale(1) !important;
    background-color: #f4f6f7 !important;
    color: #2c3e50 !important;
}
/* Acende o LED do planeta correspondente ao Anexo Ativo */
.container-satelites .planeta-satelite.pagina-ativa {
    background-color: #27ae60 !important;
    border: 2px solid #2ecc71 !important;
    box-shadow: 0 0 12px rgba(46, 204, 113, 0.8) !important;
    color: #ffffff !important;
    cursor: default !important;
}
 
/* Garante o contraste do texto interno do LED ativo */
.container-satelites .planeta-satelite.pagina-ativa span {
    color: #ffffff !important;
    font-weight: bold !important;
}
 
 
 
 
 
 
 
/* Caixa 2: Estilização da Máquina do Tempo */
.maquina-tempo-container {
    background-color: #fdfbf7;
    border: 1px solid #e2d7c3;
}
.maquina-tempo-container .tempo-item {
    font-family:'LED Digital 7';
    font-size: 13px;
    color: #2c3e50;
    line-height: 1.6;
    margin-bottom: 6px;
    padding-left: 5px;
}
.maquina-tempo-container .tempo-item strong {
    color: #34495e;
}
 
 
/* Container do Histórico */
.info-historico-infografico {
    display: flex !important;
    flex-direction: column !important;
    width: 85% !important;
    gap: 15px !important;
    margin: 0 25px !important;
}
 
/* Título superior sutil */
.titulo-bloco-vigencias {
    display: block;
     width: 100%;
     width: 100%;
     text-align: center;
     text-align: center;
    font-size: 11px;
    font-weight: bold;
    color: #7f8c8d;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-family: sans-serif;
}
/* A caixa mãe que envolve o grupo de R e A */
.bloco-grupo {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    border-radius: 6px !important;
    padding: 2px !important;
    box-sizing: border-box !important;
    gap: 2px !important;
}
/* Base de cada item empilhado */
.timeline-item {
    display: flex !important;
    align-items: center !important;
    padding: 4px 10px !important;
    font-size: 14px !important;
    font-weight: bold !important;
    box-sizing: border-box !important;
    width: 50% !important; /* Ocupa metade da largura para permitir a divisão */
}
}


/* Efeito visual ao passar o mouse sobre o ano com link */
/* --- REGRAS DE ALINHAMENTO SOLICITADAS --- */
/* R (Redação) alinha na Esquerda */
.timeline-item.tipo-R {
    align-self: flex-start !important;
    margin-right: auto !important;
    margin-left: 0 !important;
    justify-content: flex-start !important;
}
 
/* A (Alteração) alinha na Direita */
.timeline-item.tipo-A {
    align-self: flex-end !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    justify-content: flex-end !important;
}
 
/* Garante que o link ocupe todo o espaço e herde a cor */
.timeline-item .timeline-text a {
    color: inherit !important;
    text-decoration: none !important;
    display: inline-block !important;
    width: auto !important;
    text-align: inherit !important;
}
.timeline-item .timeline-text a:hover {
.timeline-item .timeline-text a:hover {
     text-decoration: underline !important;
     text-decoration: underline !important;
    opacity: 0.85;
}
}
 
/* Remove a seta de link externo padrão do MediaWiki dentro do histórico */
/* Remove o ícone padrão de link externo do MediaWiki apenas dentro do infográfico */
.timeline-item .timeline-text a.external {
.timeline-item .timeline-text a.external {
     background: none !important;
     background: none !important;
Linha 197: Linha 943:
}
}


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


/*  */
/* Container do Preview Histórico */
/* Container do Preview Histórico */
.container-preview-historico {
.container-preview-historico {
     display: flex;
     display: flex !important;
     justify-content: center;
     justify-content: center !important;
     align-items: center;
     align-items: center !important;
     padding: 0;
     padding: 20px 0 !important;
     background: #fdfbf7;  
     background: #fdfbf7 !important; /* Fundo tom de papel antigo sutil */
     border-radius: 4px;
     border-radius: 6px !important;
     border: 1px dashed #bba887;
     border: 1px dashed #bba887 !important; /* Borda pontilhada cor de linho */
     margin-top: 10px;
     margin: 0 25px !important;
    overflow: hidden !important;
}
}


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


/* A Imagem Real */
/* A Imagem Real gerada pelo MediaWiki */
.preview-velho-wrapper img {
.preview-velho-wrapper img {
     max-width: 130px !important; /* Limita o tamanho na barra lateral */
     max-width: 140px !important; /* Reduz o tamanho físico na barra lateral */
     height: auto !important;
     height: auto !important;
     border: 1px solid #c2b49a;
     border: 1px solid #c2b49a !important; /* Moldura envelhecida */
     box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.2);
     box-shadow: 4px 4px 12px rgba(0, 0, 0, 0.15) !important; /* Sombra de folha sobreposta */
     background-color: #ffffff;
     background-color: #ffffff !important;
     padding: 5px;
     padding: 6px !important;
     display: block;
     display: block !important;
     filter: sepia(0.1);  
     filter: sepia(0.25) contrast(0.95) !important; /* Efeito visual de papel antigo amarelecido */
    transition: filter 0.4s ease, box-shadow 0.4s ease !important;
}
}


/* Interação ao passar o mouse */
/* INTERAÇÃO SENSACIONAL AO PASSAR O MOUSE (Efeito de aproximar da mesa) */
.preview-velho-wrapper:hover {
.preview-velho-wrapper:hover {
     transform: rotate(0deg) scale(1.12); /* Alinha e aplica o zoom */
     transform: rotate(0deg) scale(1.12) !important; /* Desfaz a inclinação e aplica o zoom */
     cursor: default;
     cursor: zoom-in !important; /* Muda o cursor para lupa de zoom */
}
}


.preview-velho-wrapper:hover img {
.preview-velho-wrapper:hover img {
     box-shadow: 0 12px 24px rgba(65, 50, 30, 0.25);
     box-shadow: 0 15px 30px rgba(65, 50, 30, 0.25) !important; /* Sombra projeta para cima (efeito flutuante) */
     filter: sepia(0); /* Revela a cor real do Diário Oficial */
     filter: sepia(0) contrast(1) !important; /* Revela a cor original e nítida do Diário Oficial */
}
}


/* ==========================================================================
  AJUSTE DE ANCORAGEM - ESTUDO TRANSVERSAL (nr.wiki.br)
  ========================================================================== */
/* Garante que as propriedades da órbita datada herdem as mesmas configurações do sistema principal */
.caixa-orbital-container #sistema-orbital-historico a {
    color: inherit !important;
    text-decoration: none !important;
    background: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    justify-content: center !important;
    align-items: center !important;
}


/* ==========================================  Container do Caixa Orbital     ========================================== */
/* Força a ocultação física da estrutura vazia no passado se o JS disparar o recuo */
.caixa-orbital-container[style*="display: none"] {
     display: none !important;
}


/
/* ==========================================================================
  ANIMAÇÃO DO VELHO LEGISLADOR (nr.wiki.br)
  ========================================================================== */
.alquimista-loading-box {
    text-align: center;
    padding: 60px 20px;
    background-color: var(--background-color-neutral-subtle, #f8f9fa);
    border: 1px dashed var(--border-color-muted, #dadde3);
    border-radius: 8px;
    margin: 20px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}


.alquimista-texto {
    font-family: 'Courier New', Courier, monospace;
    font-size: 13px;
    color: var(--color-subtle, #54595d);
    margin-top: 20px;
    font-weight: bold;
    letter-spacing: 0.5px;
}


 
/* O Pergaminho Cenográfico */
/* ==========================================  Container itens da norma    ========================================== */
.pergaminho-animado {
 
    width: 140px;
/* Layout base dos itens da norma */
    position: relative;
.conteudo-itens-norma { font-family: sans-serif; line-height: 1.6; text-align: justify; color: #2d3748; }
    display: flex;
.item-nr { margin-bottom: 3px; }
    flex-direction: column;
 
    align-items: center;
/* Indentação baseada no Nível */
    animation: pulsarPergaminho 1.8s ease-in-out infinite;
.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 */
.corpo-pergaminho {
.elemento-grafico.grafico-val- {
    width: 120px;
     display: none !important;
    height: 70px;
    background: #fdf6e2; /* Cor de papel envelhecido suave */
    border-left: 2px solid #e6cfa3;
    border-right: 2px solid #e6cfa3;
    padding: 10px;
    box-sizing: border-box;
     display: flex;
    flex-direction: column;
    justify-content: space-around;
}
}


/* Quando o campo [grafico] possuir um valor (ex: 5), esta regra entra em ação */
.rolo {
.elemento-grafico:not(.grafico-val-) {
     width: 136px;
     display: block;
     height: 10px;
    margin: 15px auto;
     background: linear-gradient(to bottom, #d2b48c, #8b5a2b, #d2b48c);
     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;
     border-radius: 4px;
     max-width: 400px;
     box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
}


/* Injeta dinamicamente o texto padrão sem precisar de código de programação */
/* Linhas de escrita antigas simuladas (Texto Fantasma) */
.elemento-grafico:not(.grafico-val-)::before {
.linha-texto-fantasma {
     content: "ELEMENTO GRÁFICO Nº " attr(class);
    height: 4px;
    background-color: #dfcfad;
    border-radius: 2px;
     animation: escreverLinhas 1.8s ease-in-out infinite;
}
}
.lf-1 { width: 85%; }
.lf-2 { width: 65%; animation-delay: 0.2s; }
.lf-3 { width: 75%; animation-delay: 0.4s; }


/* Ajuste fino para limpar o nome da classe do texto visível */
/* Animações de Efeito Visual Loop */
.elemento-grafico {
@keyframes pulsarPergaminho {
     font-size: 0px; /* Esconde o texto bruto das classes */
    0%, 100% { transform: translateY(0) scale(1); opacity: 0.85; }
     50% { transform: translateY(-6px) scale(1.02); opacity: 1; }
}
}
.elemento-grafico:not(.grafico-val-)::before {
 
     font-size: 14px; /* Devolve o tamanho correto apenas para a mensagem */
@keyframes escreverLinhas {
    0%, 100% { opacity: 0.4; transform: scaleX(0.95); }
     50% { opacity: 0.9; transform: scaleX(1); }
}
}


/* Estilo geral do bloco de infração no fim da linha */
 
.infracao-nr28 {
/* ==========================================================================
     font-size: 75%;
/*  FORMATAR H1 DOS TÍTULOS DAS PÁGINAS */
     font-weight: bold;
========================================================================== */
     color: #FF0000; /* Vermelho padrão para alertas/multas */
 
     margin-left: 8px;
/* 1. Remove qualquer borda cinza, caixas ou linhas nativas do cabeçalho da Wiki */
     white-space: nowrap; /* Evita que quebre em várias linhas se houver espaço */
#firstHeading,
.firstHeading,
#firstHeading div,
#titulo-cargo-injetado {
     background: none !important;
    background-color: transparent !important;
     border: none !important;
     border-bottom: none !important; /* Remove a linha cinza nativa do MediaWiki */
     box-shadow: none !important;
    padding: 0 !important;
     text-align: left !important;
}
}


/* 🌟 Oculta o bloco INTEIRO de infração se o campo [infra] vier vazio ou nulo */
/* 2. Controla o tamanho e o espaçamento para o CENÁRIO 3 (Páginas Atuais Presente) */
.infracao-nr28.status-infra- {
/* Reduz o tamanho gigante do H1 para o mesmo padrão elegante de 22px */
     display: none !important;
#firstHeading {
    font-family: sans-serif !important;
    font-size: 22px !important;
    font-weight: bold !important;
    color: #2d3748 !important;
    margin-top: 10px !important;
    margin-bottom: 15px !important; /* Espaço confortável para o texto de baixo começar */
     text-align: left !important; /* Alinha com a margem do texto da norma */
}
}


/* 🌟 Oculta especificamente o texto do Código se o campo [code] vier nulo */
/* 3. Controla o comportamento do Bloco Injetado pelo JS nos CENÁRIOS 1 e 2 (Passado) */
.status-code- {
#firstHeading #titulo-cargo-injetado {
     display: none !important;
     display: block !important;
    width: 100% !important;
    font-family: sans-serif !important;
    font-size: 18px !important; /* Tamanho ajustado dos cenários datados */
    font-weight: bold !important;
    text-align: center !important; /* Mantém centralizado combinando com o DeLorean */
    color: #2d3748 !important;
    letter-spacing: normal !important;
    line-height: 1.4 !important;
    margin-top: 8px !important; /* Distância ideal aproximada do relógio digital */
}
}


/* Esconde o fragmento da Infração se o valor estiver vazio */
/* Formatação da linha do Anexo no título principal */
.status-infra-val- {
#firstHeading .titulo-anexo-verde {
     display: none !important;
    color: #27ae60 !important;      /* Verde padrão do sistema orbital */
    font-size: 0.85em !important;    /* Ligeiramente menor que o título da NR */
    font-weight: bold !important;    /* Mantém em negrito */
     display: inline-block !important;
    margin-top: 4px !important;      /* Ajuste fino de espaçamento após a quebra */
    text-align: left !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 */
/* Define o tamanho, cor e o espaçamento controlado dos títulos no Passado */
.infracao-nr28 span {
.topo-titulo-norma-datada {
     margin-right: 3px;
    font-family: sans-serif !important;
    font-size: 18px !important;
    font-weight: bold !important;
    text-align: left !important;
    color: #2d3748 !important;
    letter-spacing: normal !important;
    line-height: 1.5 !important; /* Dá um respiro excelente se houver duas linhas */
    margin-top: 10px !important;
     margin-bottom: 5px !important;
    white-space: normal !important; /* 🌟 ESSENCIAL: Permite a quebra de linha <br> funcionar aqui também */
}
}

Edição atual tal como às 21h50min de 20 de agosto de 2026

/* ==========================================================================
   PAINEL DIGITAL DELOREAN - VERSÃO FINAL SIMPLIFICADA (nr.wiki.br)
   ========================================================================== */

/* 1. Importação da Fonte Física Local (CORRIGIDA A URL COMPLETA COM A PASTA) */
@font-face {
    font-family: 'DeLoreanDigital';
    src: url('/fonts/digital-7 (mono italic).ttf') format('truetype'),
         url('https://nr.wiki.br (mono italic).ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

/* 2. Placa de Metal Traseira (Cinza Alumínio Escovado com Toque de Ferrugem) */
.delorean-panel-container {
    background: linear-gradient(135deg, #cccccc 0%, #b3b3b3 50%, #999999 100%) !important;
    border: 5px double #555555 !important; /* Borda dupla simulando placa rebitada */
    border-radius: 12px !important;
    padding: 20px 15px !important;
    /* Sombra externa para flutuar na sidebar + sombra interna âmbar simulando pátina/ferrugem sutil nas bordas */
    box-shadow: 0 10px 25px rgba(0,0,0,0.4), inset 0 0 20px rgba(139, 90, 43, 0.25) !important;
    display: inline-block;
    width: 330px;
    box-sizing: border-box;
    margin: 0 25px !important;
}

/* 3. Fendas dos Visores (Efeito de Recorte Profundo no Metal) */
.delorean-display {
    background: #000000 !important;
    /* Borda escura interna simula o relevo e a profundidade do corte na chapa metálica */
    border-top: 3px solid #333333 !important;
    border-left: 3px solid #333333 !important;
    border-bottom: 2px solid #ffffff !important; /* Brilho de metal na borda inferior */
    border-right: 2px solid #ffffff !important;
    margin-bottom: 16px;
    padding: 10px 14px;
    border-radius: 6px;
    box-sizing: border-box;
    box-shadow: inset 0 4px 10px rgba(0,0,0,0.9) !important; /* Escuridão interna do visor */
}

/* Placas de Identificação sob os Visores (Estilo Retrô e Seguro) */
.delorean-display .display-label {
    font-family: 'Arial Black', sans-serif !important;
    font-size: 9px !important;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
    
    /* Moldura preta idêntica ao filme */
    background-color: #0c0c0c !important;
    background: #0c0c0c !important;
    color: #dddddd !important; 
    border: 1px solid #555555 !important;
    border-radius: 2px !important;
    padding: 2px 8px !important;
    box-shadow: 1px 1px 3px rgba(0,0,0,0.4) !important;

    /* 🌟 FIX DE ESTABILIDADE: Posicionamento nativo centralizado */
    display: table !important;        /* Força a caixinha a abraçar apenas o texto */
    margin: 6px auto 0 auto !important; /* Centraliza horizontalmente e cria espaço no topo */
    position: relative !important;    /* Desativa o absolute que jogava o texto para o rodapé */
    left: 0 !important;
    transform: none !important;
    z-index: 10 !important;
    white-space: nowrap !important;
}

/* Ajusta o espaçamento dos visores de forma segura */
.delorean-display {
    margin-bottom: 16px !important;
    padding-bottom: 12px !important; /* Cria um respiro interno para a plaqueta preta */
}

/* 4. Caixa Internas e Motores de Visores (DESBLOQUEADO PARA ENTRADA) */
.display-led-values {
    position: relative !important;
    background-color: #050505 !important;
    background: #050505 !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 3px;
    display: flex !important;          /* 🌟 ALTERADO: Transforma em Flexbox */
    align-items: center !important;     /* 🌟 NOVO: Centraliza verticalmente de forma matemática */
    justify-content: center !important; /* 🌟 NOVO: Centraliza horizontalmente */
    height: 42px !important;
    box-sizing: border-box !important;
    overflow: hidden;
}

/* Garante o posicionamento relativo apenas para o dock receptivo do JS */
.delorean-panel-container .delorean-input-dock {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    background: transparent !important;
    display: block !important;
}

/* 5. Aplicação Unificada da Fonte de 7 Segmentos e Desbloqueio Físico */
.led-digits,
.led-input-field,
.delorean-panel-container .delorean-input-dock input {
    font-family: 'DeLoreanDigital', monospace !important;
    font-size: 36px !important;
    letter-spacing: 2px !important;
    margin: 0 !important;
    outline: none !important;
    box-sizing: border-box !important;
    display: block !important;          /* 🌟 ALTERADO: De table para block */
    text-align: center !important;      /* 🌟 NOVO: Garante centralização horizontal do texto */
    
    /* Configuração absoluta para o input flutuar na frente e receber cliques */
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: 100% !important;
    line-height: 42px !important;       /* Alinha verticalmente o texto interno do input */
    padding: 0 !important;              /* 🌟 ALTERADO: Remove o padding que causava desvio */
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    z-index: 5 !important;
    pointer-events: auto !important; 
}

/* Ajuste específico apenas para as datas textuais estáticas dos dois primeiros painéis */
div.led-digits {
    position: relative !important;
    width: 100% !important;             /* 🌟 NOVO: Ocupa a largura total */
    height: 100% !important;            /* 🌟 NOVO: Ocupa a altura total do pai */
    line-height: 42px !important;       /* 🌟 NOVO: Centraliza verticalmente o texto da div */
    z-index: 1 !important;
    pointer-events: none !important;
}

/* 6. Estilização do Placeholder (Efeito Fantasma 88/88/8888 e Controle de Foco) */
.delorean-panel-container input::placeholder,
.delorean-panel-container .delorean-input-dock input::placeholder,
.led-input-field::placeholder {
    font-family: 'DeLoreanDigital', monospace !important;
    color: rgba(255, 255, 255, 0.8) !important;
    text-shadow: none !important;
    opacity: 1 !important; /* Garante que o navegador não esconda o valor */
}

/* Anula qualquer tentativa do navegador de restaurar caixas brancas ao clicar */
.delorean-panel-container input::-webkit-input-placeholder,
.delorean-panel-container .delorean-input-dock input::-webkit-input-placeholder {
    font-family: 'DeLoreanDigital', monospace !important;
    color: rgba(255, 255, 255, 0.8) !important;
    text-shadow: none !important;
}

/* Desativa as setas do seletor nativo do navegador para não quebrar os números do painel */
.delorean-panel-container input::-webkit-calendar-picker-indicator,
.delorean-panel-container input::-webkit-inner-spin-button {
    display: none !important;
    -webkit-appearance: none !important;
}

/* 7. Esquema de Cores e Brilhos dos LEDs acesos */

/* Visor Vermelho (Data Nascimento - Estático) */
.display-red .display-label { color: #ff3333 !important; }
.display-red .led-digits { 
    color: #ff1111 !important; 
    text-shadow: 0 0 10px rgba(255, 0, 0, 0.7); 
}

/* Visor Amarelo/Âmbar (Tempo Presente - Estático) */
.display-amber .display-label { color: #ffaa00 !important; }
.display-amber .led-digits { 
    color: #ff9900 !important; 
    text-shadow: 0 0 10px rgba(255, 170, 0, 0.7); 
}

/* Visor Verde (Destino Pretendido - Campo Editável) */
.display-green .display-label { color: #00ff66 !important; }
.display-green .led-digits,
.display-green input,
.led-input-field { 
    color: #00ff66 !important; 
    text-shadow: 0 0 10px rgba(0, 255, 51, 0.7); 
}

/* 8. Alavanca Industrial de Ativação */
..delorean-controls {
    display: block !important;
    width: 100% !important;
    padding: 5px 14px 0 14px !important;
    box-sizing: border-box !important;
    clear: both !important;
}

.delorean-button-dock {
    display: block !important;
    width: 100% !important;
}

.delorean-panel-container .delorean-lever-btn {
    width: 100% !important;
    background: linear-gradient(135deg, #cc1111, #880000) !important;
    color: #ffffff !important;
    border: 2px solid #555555 !important;
    padding: 10px !important;
    font-weight: bold !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    cursor: pointer !important;
    border-radius: 4px !important;
    text-shadow: 1px 1px 2px #000000 !important;
    transition: background 0.2s, transform 0.1s !important;
    font-family: sans-serif !important;
    margin-top: 5px !important;
    display: block !important;
    box-shadow: 0 3px 6px rgba(0,0,0,0.4) !important;
}

.delorean-panel-container .delorean-lever-btn:hover { 
    background: linear-gradient(135deg, #ff2222, #aa0000) !important; 
}

.delorean-panel-container .delorean-lever-btn:active { 
    transform: scale(0.98) !important; 
}








/* ==========================================================================
   RESTAURAÇÃO DO LAYOUT EM CAIXAS DA PÁGINA PRINCIPAL (COM BORDA SUAVE)
   ========================================================================== */

.page-Página_principal table,
.rootpage-Página_principal table {
    border-collapse: separate !important;
    border-spacing: 0 12px !important; /* Aumentei levemente para acomodar a borda respirando */
    width: 100% !important;
    background: transparent !important;
}

/* Aplica o preenchimento, arredondamento e a borda suave em cada bloco de NR */
.page-Página_principal table tr td,
.rootpage-Página_principal table tr td {
    padding: 14px 18px !important;
    border-radius: 6px !important; /* Arredondamento levemente maior para combinar com a borda */
    border: 1px solid var(--border-color-subtle, #eaecf0) !important; /* 🌟 BORDA SUAVE */
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important; /* Sombra quase invisível para dar profundidade */
    box-sizing: border-box !important;
}

.page-Página_principal table tr,
.rootpage-Página_principal table tr {
    display: table-row !important;
}



/* ==========================================================================
   PÁGINA NORMAS - PROPRIEDADES DOS ELEMENTOS GRÁFICOS (TABELAS E MÍDIAS)
   ========================================================================== */

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

/* 2. Mostra o contêiner se houver valor vindo do banco */
.elemento-grafico:not(.grafico-val-) {
    display: block !important;
    clear: both !important;         /* 🌟 Limpa os limites e impede altura esmagada */
    width: 100% !important;
    height: auto !important;        /* 🌟 Força o cálculo real da tabela interna */
    min-height: 20px !important;   
    margin: 0px auto !important;
    box-sizing: border-box !important;
    background: transparent !important;
    border: none !important;
}

/* 3. Força a remoção de textos fantasmas de regras antigas */
.elemento-grafico::before,
.elemento-grafico:not(.grafico-val-)::before {
    content: "" !important;
    display: none !important;
}

/* 4. Oculta todos os blocos internos por padrão para gerenciar via regra ativa */
.bloco-midia-renderizado > div { 
    display: none !important; 
}

/* ==========================================================================
   ATIVAÇÃO ESPECÍFICA POR TIPO DE REGRA
   ========================================================================== */

/* REGRA: TABELA (Força comportamento de bloco amplo e visível) */
.regra-ativa-tabela .render-regra-tabela { 
    display: block !important; 
}

/* REGRA: IMAGEM */
.regra-ativa-imagem .render-regra-imagem { 
    display: block !important; 
}

/* REGRA: FÓRMULA (Transforma apenas a fórmula em texto fluido/normal) */
.regra-ativa-formula .render-regra-formula { 
    display: inline !important; 
}

/* Se for uma fórmula, altera o contêiner pai para inline com segurança (sem afetar tabelas) */
.elemento-grafico:has(.regra-ativa-formula) {
    display: inline !important;
    clear: none !important;
}

/* ==========================================================================
   FORMATAÇÃO DE IMAGENS E TABELAS INTERNAS
   ========================================================================== */

/* Garante que imagens nunca ultrapassem a largura útil do texto */
.render-regra-tabela img,
.elemento-grafico img,
.conteudo-itens-norma img {
    max-width: 100% !important;
    height: auto !important;
    display: block;
}

/* Ajuste para que tabelas de dados calculem suas colunas pelo texto em telas grandes */
.render-regra-tabela table,
.conteudo-itens-norma table {
    max-width: 100% !important;
    width: auto !important;
}

/* Força as linhas internas da tabela de dados a aparecerem quando a tabela estiver ativa */
.render-regra-tabela table tr {
    display: table-row !important;
}

/* Ocultação padrão para elementos fora das tabelas ativas */
.linha-nivel-2, .linha-nivel-3, .linha-nivel-4 {
    display: none;
}

/* ==========================================================================
   RESPONSIVIDADE (CELULAR / TELAS MENORES QUE 1000PX)
   ========================================================================== */
/*
@media screen and (max-width: 1200px) {
    .norma-page-layout {
        display: block !important;
        width: 100% !important;
    }

    .norma-main-column {
        width: 100% !important;
        margin-bottom: 25px;
    }

    .norma-sidebar-column {
        width: 100% !important;
        display: flex;
        flex-direction: column;
        gap: 15px;
    }

    /* Adiciona a rolagem com o dedo para tabelas largas no celular */
    .render-regra-tabela,
    .elemento-grafico {
        max-width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }
}

*/

/* Página Principal 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;
}

/*  Página Principal  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;
}

/*  Página Normas 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;
}

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

/* Página Normas 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 */
}


/* Página Normas - Texto Principal Layout base dos itens da norma */
.conteudo-itens-norma { 
    font-family: sans-serif; 
    line-height: 1.6; 
    text-align: justify; 
    color: #2d3748; 
    
    /* Hifenização por dicionário */
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
    
    /* Fallback anti-esburacamento (Se o hífen falhar, ele distribui melhor ou força a quebra) */
    word-break: break-word;
    text-justify: inter-word;
}

.item-nr { margin-bottom: 3px; }

/* Página Normas - Texto Principal 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; }
.item-nr.nv-11 { padding-left: 43px; }

/* Página Normas - Texto Principal Formatação baseada no campo Forma */
.item-nr.f-1 span { display: block; text-align: center; font-weight: bold;  }
.item-nr.f-2 span { display: block; font-weight: bold;  }
.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; }
.item-nr.f-9 { margin-bottom: 6px; }

/* Página Normas - Texto Principal Notas sobrescritas */
.nota-sup { 
    font-size: 70%;            /* Reduz ligeiramente para não sobrecarregar a linha */
    color: #3182ce; 
    font-weight: bold; 
    margin-left: 4px;
    vertical-align: super;   
    line-height: 0;           
}

/* Página Normas - Texto Principal Estilo geral do bloco de infração no fim da linha */
.infracao-nr28 {
    font-size: 75%;
    font-weight: bold;
    color: #FF0000; 
    margin-left: 12px;        
    white-space: nowrap; 
}


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

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


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


/* Página Normas - Texto Principal Oculta especificamente o texto do Tipo se o campo [classe] vier nulo */
.status-classe- {
    display: none !important;
}

/* Página Normas - Texto Principal Ajuste de espaçamento interno entre os elementos da infração */
.infracao-nr28 span {
    margin-right: 3px;
}


/* ==========================================================================
   PÁGINA NORMAS - PROPRIEDADES DOS ELEMENTOS GRÁFICOS (TABELAS E MÍDIAS)
   ========================================================================== */

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

/* 2. Mostra o contêiner se houver valor vindo do banco */
.elemento-grafico:not(.grafico-val-) {
    display: block !important;
    clear: both !important;         /* 🌟 Limpa os limites e impede altura esmagada */
    width: 100% !important;
    height: auto !important;        /* 🌟 Força o cálculo real da tabela interna */
    min-height: 20px !important;   
    margin: 0px auto !important;
    box-sizing: border-box !important;
    background: transparent !important;
    border: none !important;
}

/* 3. Força a remoção de textos fantasmas de regras antigas */
.elemento-grafico::before,
.elemento-grafico:not(.grafico-val-)::before {
    content: "" !important;
    display: none !important;
}

/* 4. Oculta todos os blocos internos por padrão para gerenciar via regra ativa */
.bloco-midia-renderizado > div { 
    display: none !important; 
}

/* ==========================================================================
   ATIVAÇÃO ESPECÍFICA POR TIPO DE REGRA
   ========================================================================== */

/* REGRA: TABELA (Força comportamento de bloco amplo e visível) */
.regra-ativa-tabela .render-regra-tabela { 
    display: block !important; 
}

/* REGRA: IMAGEM */
.regra-ativa-imagem .render-regra-imagem { 
    display: block !important; 
}

/* REGRA: FÓRMULA (Transforma apenas a fórmula em texto fluido/normal) */
.regra-ativa-formula .render-regra-formula { 
    display: inline !important; 
}

/* Se for uma fórmula, altera o contêiner pai para inline com segurança (sem afetar tabelas) */
.elemento-grafico:has(.regra-ativa-formula) {
    display: inline !important;
    clear: none !important;
}

/* ==========================================================================
   FORMATAÇÃO DE IMAGENS E TABELAS INTERNAS
   ========================================================================== */

/* Garante que imagens nunca ultrapassem a largura útil do texto */
.render-regra-tabela img,
.elemento-grafico img,
.conteudo-itens-norma img {
    max-width: 100% !important;
    height: auto !important;
    display: block;
}

/* Ajuste para que tabelas de dados calculem suas colunas pelo texto em telas grandes */
.render-regra-tabela table,
.conteudo-itens-norma table {
    max-width: 100% !important;
    width: auto !important;
}

/* Força as linhas internas da tabela de dados a aparecerem quando a tabela estiver ativa */
.render-regra-tabela table tr {
    display: table-row !important;
}

/* Página Normas - Tabelas - 7. Estilo conteúdo de dentro da tabela (regras ativas) NÃO fique invisível */
/* 1. Visibilidade Inicial: Apenas Nível 1 aparece */
.linha-nivel-2:not(.show), .linha-nivel-3:not(.show), .linha-nivel-4:not(.show) {
    display: none !important;
}

/* 2. Propriedades visuais e interação */
/* Nível 1: sem cursor de clique */
.linha-nivel-1 { cursor: default; background-color: #ffffff; }

/* Níveis 2 e 3: interativos */
.linha-nivel-2, .linha-nivel-3 {
    cursor: pointer !important;
}

.linha-nivel-2:hover, .linha-nivel-3:hover {
    background-color: #e0e0e0 !important;
}

/* Cores de fundo por nível */
.linha-nivel-1 { background-color: #ffffff; }
.linha-nivel-2 { background-color: #f7f7f7; }
.linha-nivel-3 { background-color: #f0f0f0; }
.linha-nivel-4 { background-color: #e8e8e8; }



.show {
    display: table-row !important;
}

/* Página Normas - Sistema Orbital - Container Geral da Caixa */
.caixa-orbital-container {
    overflow: hidden;
}
/* Força os links das luas e do sol a ocuparem 100% do espaço redondo e herdar as cores certas */
.caixa-orbital-container #sistema-orbital a {
    color: inherit !important;
    text-decoration: none !important;
    background: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    justify-content: center !important;
    align-items: center !important;
}
/* Remove a cor azul padrão se o link for considerado externo ou interno pela Wiki */
.caixa-orbital-container #sistema-orbital a:link,
.caixa-orbital-container #sistema-orbital a:visited,
.caixa-orbital-container #sistema-orbital a:hover,
.caixa-orbital-container #sistema-orbital a:active {
    color: inherit !important;
    text-decoration: none !important;
}
/* Página Normas - Sistema Orbital - 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; 
    animation: rotacionarDireita 160s linear infinite !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 por coordenadas fixa garantida pelas bordas */
    top: 50% !important;
    left: 50% !important;
    
    /* O REMÉDIO: Removemos o !important para permitir que os keyframes apliquem o rotate */
    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;
}


/* Página Normas - Sistema Orbital - Remove qualquer caixa de parágrafo residual do MediaWiki dentro do Sol */
.bolha-centro *, .bolha-centro p, .bolha-centro span {
    background: transparent !important;
    background-color: transparent !important;
    color: #ffffff !important;
    font-family: sans-serif !important;
    font-weight: bold !important;
    font-size: 14px !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
    text-align: center !important;
    white-space: nowrap !important;
}

/* Página Normas - Sistema Orbital - As Luas Orbitando (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; 
    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;
    margin: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    animation: rotacionarEsquerda 160s linear infinite !important;

    /* A MÁGICA DO ALINHAMENTO HORIZONTAL SEM VERTICALIZAR AS LETRAS */
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
}


/* Página Normas - Sistema Orbital - Texto das Luas */
.planeta-satelite span {
    display: block !important;
    flex-direction: unset !important;
    justify-content: unset !important;
    align-items: unset !important;
    width: 100% !important;
    height: auto !important; /* CORREÇÃO: Remove a altura total para o texto subir */
    text-align: center !important;
    line-height: 1.2 !important; /* Ajuste sutil de espaçamento entre as duas linhas */
    font-family: sans-serif !important;
    font-size: 8px !important; /* Tamanho calibrado para encaixe perfeito */
    font-weight: bold !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    color: inherit !important;
    white-space: nowrap !important; /* Mantém as palavras deitadas na horizontal */
    box-sizing: border-box !important;
}


/* Página Normas - Sistema Orbital - Hover Verde */
.planeta-satelite:hover {
    transform: scale(1.18) !important;
    background-color: #27ae60 !important; 
    background: #27ae60 !important;
    color: #ffffff !important; 
    border-radius: 50% !important; 
}

/* Página Normas - Sistema Orbital - Congela o movimento no Hover */
.caixa-orbital-container:hover .espaco-orbital,
.caixa-orbital-container:hover .planeta-satelite,
.caixa-orbital-container:hover .bolha-centro {
    animation-play-state: paused !important;
}

/* Página Normas - Sistema Orbital - Animações de Eixo */
@keyframes rotacionarDireita {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
@keyframes rotacionarEsquerda {
    from { transform: rotate(0deg); }
    to { transform: rotate(-360deg); }
}
@keyframes rotacionarEsquerdaSol {
    from { transform: translate(-50%, -50%) rotate(0deg); }
    to { transform: translate(-50%, -50%) rotate(-360deg); }
}

/* Página Normas - Sistema Orbital -Limpeza do Cargo */
.caixa-orbital-container .cargoMoreLinks, 
.caixa-orbital-container .cargo-more-links {
    display: none !important;
}
/* Estilo para a Lua correspondente à página que já está aberta */
.planeta-satelite.pagina-ativa {
    border: 2px solid #34495e !important; /* Muda a borda para a cor escura do SOL */
    color: #ffffff !important;
    background-color: #34495e !important; /* Fundo levemente cinza */
    cursor: default !important; /* Remove o cursor de mãozinha (link) */
    pointer-events: none !important; /* Desativa qualquer clique físico no elemento */
}

/* Garante que o hover de expansão não aconteça na lua ativa */
.planeta-satelite.pagina-ativa:hover {
    transform: scale(1) !important;
    background-color: #f4f6f7 !important;
    color: #2c3e50 !important;
}
/* Acende o LED do planeta correspondente ao Anexo Ativo */
.container-satelites .planeta-satelite.pagina-ativa {
    background-color: #27ae60 !important;
    border: 2px solid #2ecc71 !important;
    box-shadow: 0 0 12px rgba(46, 204, 113, 0.8) !important;
    color: #ffffff !important;
    cursor: default !important;
}

/* Garante o contraste do texto interno do LED ativo */
.container-satelites .planeta-satelite.pagina-ativa span {
    color: #ffffff !important;
    font-weight: bold !important;
}







/* Caixa 2: Estilização da Máquina do Tempo */
.maquina-tempo-container {
    background-color: #fdfbf7;
    border: 1px solid #e2d7c3;
}
.maquina-tempo-container .tempo-item {
    font-family:'LED Digital 7';
    font-size: 13px;
    color: #2c3e50;
    line-height: 1.6;
    margin-bottom: 6px;
    padding-left: 5px;
}
.maquina-tempo-container .tempo-item strong {
    color: #34495e;
}


/* Container do Histórico */
.info-historico-infografico {
    display: flex !important;
    flex-direction: column !important;
    width: 85% !important;
    gap: 15px !important;
    margin: 0 25px !important;
}

/* Título superior sutil */
.titulo-bloco-vigencias {
    display: block;
    width: 100%;
    text-align: center;
    font-size: 11px;
    font-weight: bold;
    color: #7f8c8d;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-family: sans-serif;
}

/* A caixa mãe que envolve o grupo de R e A */
.bloco-grupo {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    border-radius: 6px !important;
    padding: 2px !important;
    box-sizing: border-box !important;
    gap: 2px !important;
}

/* Base de cada item empilhado */
.timeline-item {
    display: flex !important;
    align-items: center !important;
    padding: 4px 10px !important;
    font-size: 14px !important;
    font-weight: bold !important;
    box-sizing: border-box !important;
    width: 50% !important; /* Ocupa metade da largura para permitir a divisão */
}

/* --- REGRAS DE ALINHAMENTO SOLICITADAS --- */
/* R (Redação) alinha na Esquerda */
.timeline-item.tipo-R {
    align-self: flex-start !important;
    margin-right: auto !important;
    margin-left: 0 !important;
    justify-content: flex-start !important;
}

/* A (Alteração) alinha na Direita */
.timeline-item.tipo-A {
    align-self: flex-end !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    justify-content: flex-end !important;
}

/* Garante que o link ocupe todo o espaço e herde a cor */
.timeline-item .timeline-text a {
    color: inherit !important;
    text-decoration: none !important;
    display: inline-block !important;
    width: auto !important;
    text-align: inherit !important;
}
.timeline-item .timeline-text a:hover {
    text-decoration: underline !important;
}
/* Remove a seta de link externo padrão do MediaWiki dentro do histórico */
.timeline-item .timeline-text a.external {
    background: none !important;
    padding-right: 0 !important;
}


/*  */
/* Container do Preview Histórico */
.container-preview-historico {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 20px 0 !important;
    background: #fdfbf7 !important; /* Fundo tom de papel antigo sutil */
    border-radius: 6px !important;
    border: 1px dashed #bba887 !important; /* Borda pontilhada cor de linho */
    margin: 0 25px !important;
    overflow: hidden !important;
}

/* O Envelopador que centraliza e gerencia a física da inclinação */
.preview-velho-wrapper {
    display: block !important;
    margin: 0 auto !important;
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    transform: rotate(3deg) !important; /* Inclina ligeiramente para a direita */
}

/* A Imagem Real gerada pelo MediaWiki */
.preview-velho-wrapper img {
    max-width: 140px !important; /* Reduz o tamanho físico na barra lateral */
    height: auto !important;
    border: 1px solid #c2b49a !important; /* Moldura envelhecida */
    box-shadow: 4px 4px 12px rgba(0, 0, 0, 0.15) !important; /* Sombra de folha sobreposta */
    background-color: #ffffff !important;
    padding: 6px !important;
    display: block !important;
    filter: sepia(0.25) contrast(0.95) !important; /* Efeito visual de papel antigo amarelecido */
    transition: filter 0.4s ease, box-shadow 0.4s ease !important;
}

/* INTERAÇÃO SENSACIONAL AO PASSAR O MOUSE (Efeito de aproximar da mesa) */
.preview-velho-wrapper:hover {
    transform: rotate(0deg) scale(1.12) !important; /* Desfaz a inclinação e aplica o zoom */
    cursor: zoom-in !important; /* Muda o cursor para lupa de zoom */
}

.preview-velho-wrapper:hover img {
    box-shadow: 0 15px 30px rgba(65, 50, 30, 0.25) !important; /* Sombra projeta para cima (efeito flutuante) */
    filter: sepia(0) contrast(1) !important; /* Revela a cor original e nítida do Diário Oficial */
}

/* ==========================================================================
   AJUSTE DE ANCORAGEM - ESTUDO TRANSVERSAL (nr.wiki.br)
   ========================================================================== */
/* Garante que as propriedades da órbita datada herdem as mesmas configurações do sistema principal */
.caixa-orbital-container #sistema-orbital-historico a {
    color: inherit !important;
    text-decoration: none !important;
    background: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    justify-content: center !important;
    align-items: center !important;
}

/* Força a ocultação física da estrutura vazia no passado se o JS disparar o recuo */
.caixa-orbital-container[style*="display: none"] {
    display: none !important;
}

/* ==========================================================================
   ANIMAÇÃO DO VELHO LEGISLADOR (nr.wiki.br)
   ========================================================================== */
.alquimista-loading-box {
    text-align: center;
    padding: 60px 20px;
    background-color: var(--background-color-neutral-subtle, #f8f9fa);
    border: 1px dashed var(--border-color-muted, #dadde3);
    border-radius: 8px;
    margin: 20px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.alquimista-texto {
    font-family: 'Courier New', Courier, monospace;
    font-size: 13px;
    color: var(--color-subtle, #54595d);
    margin-top: 20px;
    font-weight: bold;
    letter-spacing: 0.5px;
}

/* O Pergaminho Cenográfico */
.pergaminho-animado {
    width: 140px;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    animation: pulsarPergaminho 1.8s ease-in-out infinite;
}

.corpo-pergaminho {
    width: 120px;
    height: 70px;
    background: #fdf6e2; /* Cor de papel envelhecido suave */
    border-left: 2px solid #e6cfa3;
    border-right: 2px solid #e6cfa3;
    padding: 10px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
}

.rolo {
    width: 136px;
    height: 10px;
    background: linear-gradient(to bottom, #d2b48c, #8b5a2b, #d2b48c);
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* Linhas de escrita antigas simuladas (Texto Fantasma) */
.linha-texto-fantasma {
    height: 4px;
    background-color: #dfcfad;
    border-radius: 2px;
    animation: escreverLinhas 1.8s ease-in-out infinite;
}
.lf-1 { width: 85%; }
.lf-2 { width: 65%; animation-delay: 0.2s; }
.lf-3 { width: 75%; animation-delay: 0.4s; }

/* Animações de Efeito Visual Loop */
@keyframes pulsarPergaminho {
    0%, 100% { transform: translateY(0) scale(1); opacity: 0.85; }
    50% { transform: translateY(-6px) scale(1.02); opacity: 1; }
}

@keyframes escreverLinhas {
    0%, 100% { opacity: 0.4; transform: scaleX(0.95); }
    50% { opacity: 0.9; transform: scaleX(1); }
}


/* ==========================================================================
/*  FORMATAR H1 DOS TÍTULOS DAS PÁGINAS */
========================================================================== */

/* 1. Remove qualquer borda cinza, caixas ou linhas nativas do cabeçalho da Wiki */
#firstHeading, 
.firstHeading,
#firstHeading div,
#titulo-cargo-injetado {
    background: none !important;
    background-color: transparent !important;
    border: none !important;
    border-bottom: none !important; /* Remove a linha cinza nativa do MediaWiki */
    box-shadow: none !important;
    padding: 0 !important;
    text-align: left !important;
}

/* 2. Controla o tamanho e o espaçamento para o CENÁRIO 3 (Páginas Atuais Presente) */
/* Reduz o tamanho gigante do H1 para o mesmo padrão elegante de 22px */
#firstHeading {
    font-family: sans-serif !important;
    font-size: 22px !important; 
    font-weight: bold !important;
    color: #2d3748 !important;
    margin-top: 10px !important;
    margin-bottom: 15px !important; /* Espaço confortável para o texto de baixo começar */
    text-align: left !important; /* Alinha com a margem do texto da norma */
}

/* 3. Controla o comportamento do Bloco Injetado pelo JS nos CENÁRIOS 1 e 2 (Passado) */
#firstHeading #titulo-cargo-injetado {
    display: block !important;
    width: 100% !important;
    font-family: sans-serif !important;
    font-size: 18px !important; /* Tamanho ajustado dos cenários datados */
    font-weight: bold !important;
    text-align: center !important; /* Mantém centralizado combinando com o DeLorean */
    color: #2d3748 !important;
    letter-spacing: normal !important;
    line-height: 1.4 !important;
    margin-top: 8px !important; /* Distância ideal aproximada do relógio digital */
}

/* Formatação da linha do Anexo no título principal */
#firstHeading .titulo-anexo-verde {
    color: #27ae60 !important;       /* Verde padrão do sistema orbital */
    font-size: 0.85em !important;    /* Ligeiramente menor que o título da NR */
    font-weight: bold !important;    /* Mantém em negrito */
    display: inline-block !important;
    margin-top: 4px !important;      /* Ajuste fino de espaçamento após a quebra */
    text-align: left !important;
}


/* Define o tamanho, cor e o espaçamento controlado dos títulos no Passado */
.topo-titulo-norma-datada {
    font-family: sans-serif !important;
    font-size: 18px !important;
    font-weight: bold !important;
    text-align: left !important;
    color: #2d3748 !important;
    letter-spacing: normal !important;
    line-height: 1.5 !important; /* Dá um respiro excelente se houver duas linhas */
    margin-top: 10px !important;
    margin-bottom: 5px !important;
    white-space: normal !important; /* 🌟 ESSENCIAL: Permite a quebra de linha <br> funcionar aqui também */
}