Ir para o conteúdo

MediaWiki:Common.css

De Normas Regulamentadoras

Nota: Após publicar, você pode ter que limpar o "cache" do seu navegador para ver as alterações.

  • Firefox / Safari: Pressione Shift enquanto clica Recarregar, ou pressione Ctrl-F5 ou Ctrl-R (⌘-R no Mac)
  • Google Chrome: Pressione Ctrl-Shift-R (⌘-Shift-R no Mac)
  • Edge: Pressione Ctrl enquanto clica Recarregar, ou pressione Ctrl-F5.
  • Opera: Pressione Ctrl-F5.
/* ==========================================================================
   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 */
/* ==========================================================================
CORREÇÃO DEFINITIVA DE TÍTULOS (CENÁRIOS 1, 2 E 3)
========================================================================== */

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

/* 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 */
}
#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 */
}


/* Define o tamanho, cor e o espaçamento controlado dos títulos */
.topo-titulo-norma-datada {
    font-family: sans-serif !important;
    font-size: 18px !important;
    font-weight: bold !important;
    text-align: center !important;
    color: #2d3748 !important;
    letter-spacing: normal !important;
    line-height: 1.4 !important; /* Controla o espaço entre a Norma e o Anexo */
    
    /* ABORDAGEM DE ESPAÇAMENTO: Ajuste este valor para aproximar ou afastar do relógio digital */
    margin-top: 10px !important; 
    margin-bottom: 0 !important;
}