﻿/* =========================================================================
   Audithec Thermal Pro v3.2 â€” TEMA V2  Â·  "INDUSTRIAL BLUE PREMIUM"
   RDC Industrial â€” Camada de sobreposiÃ§Ã£o visual
   -------------------------------------------------------------------------
   â€¢ NÃƒO altera nenhum arquivo existente.
   â€¢ Carrega DEPOIS de styles.css e re-estiliza as MESMAS classes.
   â€¢ Ativado apenas quando <body class="v2"> (index-v2.html).
   â€¢ Cobre os 10 mÃ³dulos automaticamente (mesma nomenclatura de classes).
   ========================================================================= */

/* ---- Tipografia (fonte do sistema — sem dependência de rede) ------------
   Era um @import do Google Fonts (Saira/IBM Plex Sans/IBM Plex Mono). Em
   toda tela nova, até a fonte baixar (ou falhar, sem internet/atrás de
   firewall corporativo), o navegador mostrava a fonte do sistema como
   fallback — resultado: cada aba podia renderizar com uma fonte diferente
   dependendo do timing do download, mesmo com o CSS idêntico em todo canto
   (confirmado inspecionando o font-family computado). Decisão do PO: tirar
   a dependência externa, ficar só com a fonte do sistema — sans-serif pros
   textos, monospace pros valores numéricos (mesmo padrão visual, sem rede). */

/* =========================================================================
   1. PALETA / TOKENS V2  (sobrescreve as variÃ¡veis do tema base)
   ========================================================================= */
/* Tokens do shell da auditoria.
   ATENÇÃO À CASCATA: até 23/09/2026 este bloco redefinia os tokens com valores
   ESCUROS fixos direto em `body.v2`, o que vencia o tema claro — a tela da
   auditoria continuava escura com data-theme="light" corretamente aplicado
   (110 elementos medidos). O bloco nasceu antes do tema existir.
   Agora os valores escuros valem só quando o tema É escuro, e há o par claro
   logo abaixo; o que NÃO muda entre temas (laranja, ciano, molduras, tipografia)
   fica fora dos blocos condicionais, aqui. */
body.v2{
  --rdc-orange:    #FF6B35;
  --rdc-orange-br: #FF8C52;
  --rdc-orange-dp: #E05A28;
  --rdc-cyan:      #4FC6E0;

  /* frame laranja padrÃ£o (moldura de todos os blocos) */
  --v2-frame: rgba(255,107,53,0.55);
  --v2-frame-soft: rgba(255,107,53,0.06);
  --v2-head-bg: linear-gradient(180deg,#0A1F35,#051018);

  font-family:system-ui,sans-serif;
  /* var() e não cor fixa: o #0A2E5C cravado aqui pintava a tela inteira de
     azul escuro mesmo no tema claro. */
  background: var(--rdc-bg-deep);
}

/* ── Escuro (padrão do produto e escolha explícita) ────────────────────────
   :not([data-theme="light"]) e não [data-theme="dark"]: cobre também a opção
   "Sistema" num SO escuro, onde o atributo não existe. */
:root:not([data-theme="light"]) body.v2{
  --rdc-bg-deep:   #0A2E5C;
  --rdc-bg-card:   rgba(10,32,56,0.60);
  --rdc-bg-input:  rgba(3,18,33,0.72);
  --rdc-border:    rgba(94,150,205,0.16);
  --rdc-text-light:#DCE8F5;
  --rdc-text-muted:#8FAAC6;
  /* Texto e placeholder de TODO campo de entrada — ver bloco 12.2. */
  --campo-txt:        #DCE8F5;
  --campo-placeholder:#5F7C9C;
  /* Diz ao navegador que a página é escura: calendário, relógio e o
     preenchimento automático nativos se desenham no escuro. Morava numa regra
     solta do bloco 12.1, fixa em dark, que valia também no tema claro — o
     Chrome pintava o campo autopreenchido de cinza com texto branco. */
  color-scheme: dark;
  --v2-head-bg: linear-gradient(180deg,#0A1F35,#051018);
  --v2-grade:       rgba(94,150,205,0.045);
  --v2-halo-quente: rgba(242,90,10,0.09);
  --v2-halo-frio:   rgba(0,47,91,0.5);
  --v2-base:        linear-gradient(160deg,#0A2E5C 0%, #0D3A6E 50%, #091F35 100%);
  --v2-painel-bg: linear-gradient(180deg, rgba(4,22,40,0.92), rgba(3,12,24,0.96));
  --v2-rodape-bg: linear-gradient(180deg, rgba(3,17,31,0.95), rgba(2,10,20,0.98));
  --v2-classe-bg: linear-gradient(160deg, rgba(242,90,10,0.1), rgba(7,28,49,0.85));
  /* Selo = letra do bloco e número do módulo. Numa primeira tentativa ficou
     navy nos DOIS temas, com a justificativa de que o laranja-claro do texto
     não passaria em contraste sobre fundo claro. Era falso dilema: bastava
     escurecer o texto junto com o fundo. O PO viu na hora — 26 selos navy
     cravados no meio da tela clara. */
  --v2-selo-bg:   linear-gradient(160deg,#0A2544,#030E1A);
  --v2-selo-txt:  var(--rdc-orange-br);
}

/* ── Claro ────────────────────────────────────────────────────────────────
   Valores iguais aos de :root[data-theme="light"] em styles.css, para a tela
   de auditoria não divergir das demais. Os painéis do shell eram translúcidos
   sobre fundo escuro; no claro viram sólidos — translucidez escura sobre
   branco resultaria em cinza sujo, não em um painel claro. */
:root[data-theme="light"] body.v2{
  --rdc-bg-deep:   #EEF2F9;
  --rdc-bg-card:   #FFFFFF;
  --rdc-bg-input:  #F7F9FC;
  --rdc-border:    #D7E0EF;
  --rdc-text-light:#33465F;
  --rdc-text-muted:#5B6B85;
  --campo-txt:        #33465F;
  --campo-placeholder:#94A3B8;
  color-scheme: light;
  --v2-head-bg: linear-gradient(180deg,#FFFFFF,#F2F6FC);
  /* Mesma linguagem visual, em claro: grade mais discreta (linha escura sobre
     fundo claro salta mais que o inverso) e halos suaves. */
  --v2-grade:       rgba(10,34,61,0.055);
  --v2-halo-quente: rgba(242,90,10,0.05);
  --v2-halo-frio:   rgba(0,47,91,0.05);
  --v2-base:        linear-gradient(160deg,#F4F7FC 0%, #EEF2F9 50%, #E7EDF7 100%);
  --v2-painel-bg: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(240,244,250,0.98));
  --v2-rodape-bg: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(238,242,249,0.98));
  --v2-classe-bg: linear-gradient(160deg, rgba(242,90,10,0.12), rgba(255,255,255,0.92));
  /* Mesma leitura de "chip laranja", em claro: fundo quente bem lavado e o
     laranja escurecido para #9A3412 — 6,3:1 na ponta mais escura do gradiente. */
  --v2-selo-bg:   linear-gradient(160deg,#FFF6F1,#FFE9DD);
  --v2-selo-txt:  #9A3412;
}

/* "Sistema" com o SO no claro: mesmo conjunto do bloco acima. */
@media (prefers-color-scheme: light){
  :root:not([data-theme="dark"]) body.v2{
    --rdc-bg-deep:   #EEF2F9;
    --rdc-bg-card:   #FFFFFF;
    --rdc-bg-input:  #F7F9FC;
    --rdc-border:    #D7E0EF;
    --rdc-text-light:#33465F;
    --rdc-text-muted:#5B6B85;
    --campo-txt:        #33465F;
    --campo-placeholder:#94A3B8;
    color-scheme: light;
    --v2-head-bg: linear-gradient(180deg,#FFFFFF,#F2F6FC);
    --v2-grade:       rgba(10,34,61,0.055);
    --v2-halo-quente: rgba(242,90,10,0.05);
    --v2-halo-frio:   rgba(0,47,91,0.05);
    --v2-base:        linear-gradient(160deg,#F4F7FC 0%, #EEF2F9 50%, #E7EDF7 100%);
    --v2-painel-bg: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(240,244,250,0.98));
    --v2-rodape-bg: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(238,242,249,0.98));
    --v2-classe-bg: linear-gradient(160deg, rgba(242,90,10,0.12), rgba(255,255,255,0.92));
    --v2-selo-bg:   linear-gradient(160deg,#FFF6F1,#FFE9DD);
    --v2-selo-txt:  #9A3412;
  }
}

/* =========================================================================
   2. FUNDO INDUSTRIAL (blueprint grid + glow) â€” aplicado Ã s Ã¡reas visÃ­veis
   ========================================================================= */
body.v2 .content-area{
  /* Token e nao #0A2E5C: era esta linha que mantinha a area de trabalho azul
     escura no tema claro, mesmo com os tokens ja corrigidos. */
  background-color:var(--rdc-bg-deep);
  /* A "planta industrial": grade fina + dois halos + gradiente de base. As
     cores vivem em tokens proprios (--v2-grade, --v2-halo-quente,
     --v2-halo-frio, --v2-base) porque o gradiente de base era escuro e fixo:
     no tema claro ele pintava a area de trabalho inteira de azul por CIMA do
     background-color ja corrigido — e passava despercebido numa medicao que
     olhasse so backgroundColor. */
  background-image:
    linear-gradient(var(--v2-grade) 1px, transparent 1px),
    linear-gradient(90deg, var(--v2-grade) 1px, transparent 1px),
    radial-gradient(1100px 680px at 82% -8%, var(--v2-halo-quente), transparent 60%),
    radial-gradient(1000px 760px at 6% 112%, var(--v2-halo-frio), transparent 60%),
    var(--v2-base);
  background-size:46px 46px, 46px 46px, 100% 100%, 100% 100%, 100% 100%;
  background-attachment:local, local, scroll, scroll, scroll;
}

/* =========================================================================
   3. HEADER â€” preto premium + filete laranja
   ========================================================================= */
body.v2 .header{
  background:var(--v2-head-bg);
  border-bottom:1px solid var(--v2-frame);
  box-shadow:0 1px 0 rgba(120,175,225,0.06), 0 14px 40px -22px #000;
}
body.v2 .header::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;
  background:linear-gradient(90deg,var(--rdc-orange),rgba(242,90,10,0));
}
body.v2 .header-logo-wrap img{filter:drop-shadow(0 4px 12px rgba(242,90,10,0.35))}
body.v2 .brand-name{font-family:sans-serif;font-weight:800;letter-spacing:.04em}
/* A barra "Módulo N de 10" saiu do cabeçalho em 23/09 (pedido do PO: gerava
   confusão — mostrava progresso de NAVEGAÇÃO e era lida como progresso de
   PREENCHIMENTO). Com ela foram todas as regras do shell que a decoravam:
   trilho de 16px, botão branco na ponta, balão de valor flutuante e os
   ajustes que reduziam tudo isso para caber no cabeçalho. Nenhuma delas tinha
   outro usuário — conferido em JS e HTML antes de remover. */

/* =========================================================================
   4. SIDEBAR â€” premium
   ========================================================================= */
body.v2 .sidebar{
  background:var(--v2-painel-bg);
  border-right:1px solid var(--rdc-border);
}
body.v2 .sidebar-title{font-family:sans-serif;letter-spacing:.18em}
body.v2 .nav-item.active{
  background:linear-gradient(90deg, rgba(242,90,10,0.16), rgba(242,90,10,0.02));
  border-color:var(--v2-frame);
}
body.v2 .nav-item.active::before{
  content:"";position:absolute;left:-1px;top:8px;bottom:8px;width:3px;border-radius:3px;
  background:var(--rdc-orange);box-shadow:0 0 12px var(--rdc-orange);
}
body.v2 .nav-item.active .nav-num{box-shadow:0 4px 14px rgba(242,90,10,0.45)}
body.v2 .nav-label{font-weight:600}

/* =========================================================================
   5. MOLDURA LARANJA + CABEÃ‡ALHO PRETO â€” TODOS OS BLOCOS
   ========================================================================= */

/* ---- 5.1 SeÃ§Ãµes de formulÃ¡rio (Aâ€“H em todos os mÃ³dulos) ---------------- */
body.v2 .secao{
  background:var(--rdc-bg-card);
  border:1px solid var(--v2-frame);
  border-radius:14px;
  box-shadow:0 24px 60px -36px #000, 0 0 0 1px var(--v2-frame-soft), inset 0 1px 0 rgba(140,190,235,0.05);
  backdrop-filter:blur(8px);
  overflow:hidden;
}
body.v2 .secao-header{
  position:relative;
  background:var(--v2-head-bg);
  border-bottom:1px solid var(--v2-frame);
  border-left:none;
}
body.v2 .secao-header::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;
  background:linear-gradient(90deg,var(--rdc-orange),rgba(242,90,10,0));
}
/* --rdc-text-pure e nao #fff: no tema claro o titulo do bloco ficava branco
   sobre fundo branco — 12 titulos invisiveis, medidos em 23/09. */
body.v2 .secao-header h3{font-family:sans-serif;font-weight:700;color:var(--rdc-text-pure);letter-spacing:.02em}
body.v2 .secao-letra{
  background:var(--v2-selo-bg);
  border:1px solid var(--v2-frame);color:var(--v2-selo-txt);
  box-shadow:0 0 16px -8px rgba(242,90,10,0.7);
}

/* ---- 5.2 SeÃ§Ã£o Vapor (IAPWS-IF97) -------------------------------------- */
body.v2 .secao-vapor{
  background:var(--rdc-bg-card);
  border:1px solid var(--v2-frame);
  border-radius:14px;
  box-shadow:0 0 0 1px var(--v2-frame-soft), inset 0 1px 0 rgba(140,190,235,0.05);
}
body.v2 .vapor-header{
  position:relative;background:var(--v2-head-bg);
  border-bottom:1px solid var(--v2-frame);
}
body.v2 .vapor-header::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;
  background:linear-gradient(90deg,var(--rdc-orange),rgba(242,90,10,0));
}
body.v2 .vapor-title{font-family:sans-serif}
body.v2 .vapor-card{
  background:linear-gradient(160deg,var(--rdc-orange-br),var(--rdc-orange) 55%,var(--rdc-orange-dp));
  box-shadow:0 8px 22px -12px rgba(242,90,10,0.7);
}
body.v2 .vapor-val{font-family:monospace}

/* ---- 5.3 Painel de resultado (M2 etc.) --------------------------------- */
body.v2 .painel-resultado{
  border:1px solid var(--v2-frame);
  border-radius:14px;
  box-shadow:0 24px 60px -34px #000, 0 0 36px -20px rgba(242,90,10,0.5);
}
body.v2 .painel-resultado-titulo{
  /* --rdc-text-pure e nao #fff: o fundo aqui e --v2-head-bg, que no tema claro
     e branco — o titulo sumia. Mesmo defeito de .secao-header h3. */
  position:relative;background:var(--v2-head-bg);color:var(--rdc-text-pure);
  font-family:sans-serif;border-bottom:1px solid var(--v2-frame);
}
body.v2 .painel-resultado-titulo::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;
  background:linear-gradient(90deg,var(--rdc-orange),rgba(242,90,10,0));
}
body.v2 .pr-eta-nom,body.v2 .pr-eta-real,body.v2 .pr-eco-val,
body.v2 .resultado-val,body.v2 .resultado-val-sm,
body.v2 .tgas-val-grande,body.v2 .co2-val,body.v2 .incert-u-val{font-family:monospace}

/* ---- 5.4 Subblocos instrumentaÃ§Ã£o (vazÃ£o / tÃ©rmico) -------------------- */
body.v2 .instr-subbloco{
  border:1px solid var(--v2-frame);border-radius:10px;
  box-shadow:inset 0 0 24px -18px rgba(242,90,10,0.5);
}
body.v2 .instr-subbloco-hdr{
  background:var(--v2-head-bg);border-bottom:1px solid var(--v2-frame);
  font-family:sans-serif;letter-spacing:.06em;
}

/* ---- 5.5 Cards de relatÃ³rio (M9) --------------------------------------- */
body.v2 .relatorio-card{
  background:var(--rdc-bg-card);
  border:1px solid var(--v2-frame);
  border-radius:14px;
  box-shadow:0 24px 60px -36px #000, 0 0 0 1px var(--v2-frame-soft);
}
body.v2 .relatorio-card:hover{
  border-color:var(--rdc-orange);
  box-shadow:0 0 26px -12px rgba(242,90,10,0.6);
}
body.v2 .relatorio-card h3{font-family:sans-serif}

/* ---- 5.6 Boxes auxiliares (resumo, contexto, fÃ³rmulas, avisos) --------- */
body.v2 .resumo-box,
body.v2 .ctx-banner,
body.v2 .pci-calc-box,
body.v2 .eqip-total-bar,
body.v2 .formula-siegert-box,
body.v2 .formula-cinzas-box,
body.v2 .incert-u-box,
body.v2 .cor-fumaca-wrap{
  border:1px solid var(--v2-frame) !important;
  border-radius:10px;
  box-shadow:inset 0 0 24px -18px rgba(242,90,10,0.45);
}

/* =========================================================================
   6. PAINEL KPI GLOBAL (direita, todos os mÃ³dulos)
   ========================================================================= */
body.v2 .kpi-panel-global{
  background:var(--v2-painel-bg);
  border-left:1px solid var(--rdc-border);
}
body.v2 .kpi-g-card{
  background:var(--rdc-bg-card);
  border:1px solid var(--v2-frame) !important;
  border-radius:12px;
  box-shadow:0 0 0 1px var(--v2-frame-soft), inset 0 0 26px -18px rgba(242,90,10,0.5);
}
body.v2 .kpi-g-lbl,body.v2 .kpi-g-custo-hdr,body.v2 .kpi-g-custo-total-hdr{
  font-family:sans-serif;letter-spacing:.04em;
}
body.v2 .kpi-g-val-nom,body.v2 .kpi-g-val-real,body.v2 .kpi-g-val-dev,
body.v2 .kpi-g-custo-total-val,body.v2 .kpi-g-eco-val,body.v2 .kpi-g-custo-item strong{
  font-family:monospace;
}
body.v2 .kpi-g-classe-card{
  background:var(--v2-classe-bg) !important;
  border-color:var(--v2-frame) !important;
}

/* =========================================================================
   7. PAINEL DIREITO M2 (rp-cards)
   ========================================================================= */
body.v2 .m2-rpainel,body.v2 .m1-rpainel{
  background:var(--v2-painel-bg);
  border-left:1px solid var(--v2-frame);
}
body.v2 .rp-card{
  border:1px solid var(--v2-frame);
  border-radius:12px;
  margin:.55rem .7rem;
  box-shadow:inset 0 0 24px -18px rgba(242,90,10,0.5);
}
body.v2 .rp-card-tit{font-family:sans-serif;letter-spacing:.1em}
body.v2 .rp-eta-nom-val,body.v2 .rp-eta-real-val,body.v2 .rp-desvio-val,
body.v2 .rp-eco-val,body.v2 .rp-custo-total-val{font-family:monospace}

/* =========================================================================
   8. CAMPOS DE FORMULÃRIO â€” foco laranja, mono nos valores
   ========================================================================= */
body.v2 .fg label{font-family:sans-serif;letter-spacing:.08em}
body.v2 .fg input[type=text],
body.v2 .fg input[type=number],
body.v2 .fg input[type=date],
body.v2 .fg select{
  font-family:monospace;
  border:1px solid var(--rdc-border);
  background:var(--rdc-bg-input);
}
body.v2 .fg input:focus,body.v2 .fg select:focus,body.v2 .fg textarea:focus{
  border-color:var(--rdc-orange);
  box-shadow:0 0 0 3px rgba(242,90,10,0.15);
}
body.v2 .unidade-badge{
  color:var(--rdc-orange-br-txt);background:rgba(242,90,10,0.1);
  border-color:rgba(242,90,10,0.3);
}

/* =========================================================================
   9. MÃ“DULO HEADER (tÃ­tulo do mÃ³dulo)
   ========================================================================= */
body.v2 .modulo-header{border-bottom:1px solid var(--rdc-border)}
body.v2 .modulo-title-wrap h2{font-family:sans-serif;font-weight:800;letter-spacing:.02em}
body.v2 .modulo-num-badge{
  background:var(--v2-selo-bg);
  border:2px solid var(--rdc-orange);color:var(--v2-selo-txt);
  box-shadow:0 0 18px -8px rgba(242,90,10,0.7);
}

/* =========================================================================
   10. BOTÃ•ES â€” gradiente laranja premium
   ========================================================================= */
body.v2 .btn-proximo,
body.v2 .btn-gerar-global,
body.v2 .btn-gerar-calculos,
body.v2 .btn-rel:not(.btn-sec){
  background:linear-gradient(135deg,var(--rdc-orange-br),var(--rdc-orange) 50%,var(--rdc-orange-dp));
  font-family:sans-serif;letter-spacing:.05em;
  box-shadow:0 12px 28px -14px rgba(242,90,10,0.75), inset 0 1px 0 rgba(255,255,255,0.25);
}
body.v2 .btn-proximo:hover,
body.v2 .btn-gerar-global:hover,
body.v2 .btn-gerar-calculos:hover{filter:brightness(1.08);transform:translateY(-1px)}
body.v2 .footer-nav{
  background:var(--v2-rodape-bg);
  border-top:1px solid var(--rdc-border);
}
body.v2 .footer-modname{font-family:sans-serif}

/* =========================================================================
   11. SCROLLBARS premium
   ========================================================================= */
body.v2 .content-area::-webkit-scrollbar{width:10px}
body.v2 .content-area::-webkit-scrollbar-thumb{
  background:rgba(94,150,205,0.22);border-radius:10px;
  border:2px solid transparent;background-clip:padding-box;
}
body.v2 .content-area::-webkit-scrollbar-thumb:hover{background:rgba(94,150,205,0.4);background-clip:padding-box}

/* Badges de VALOR em barras (temperatura, eficiência, custos).
   O :not() existe porque o curinga [class*="-badge"] também pegava
   .modulo-num-badge — o número do módulo, que não é valor — e o pintava de
   #FF6B35 por cima do par de tema. Mesma especificidade das duas regras, então
   quem estava depois no arquivo vencia: no tema claro dava laranja sobre o selo
   claro, 2,66:1. Cor por token e não cravada, pelo mesmo motivo. */
body.v2 .kpi-g-ici-pct,
body.v2 [class*="-val"],
body.v2 [class*="-badge"]:not(.modulo-num-badge){
  font-family:monospace;font-weight:700;color:var(--rdc-orange-txt);
}

/* =========================================================================
   12. CORREÃ‡Ã•ES DE PADRÃƒO  (fundos brancos + cores fora da paleta RDC)
   ========================================================================= */

/* 12.1 — color-scheme saiu daqui para os blocos de tema no topo do arquivo:
         aqui ele era `dark` fixo e valia também no tema claro. */

/* 12.2 â€” TODOS os tipos de input/textarea (inclui type=time, tel, emailâ€¦) */
body.v2 .fg input,
body.v2 .fg textarea,
body.v2 .fg select,
body.v2 input[type=time],
body.v2 input[type=text],
body.v2 input[type=number],
body.v2 input[type=date],
body.v2 input[type=email],
body.v2 input[type=tel],
body.v2 input[type=search],
body.v2 textarea,
body.v2 select{
  background:var(--rdc-bg-input) !important;
  border:1px solid var(--rdc-border) !important;
  color:var(--campo-txt) !important;
  font-family:monospace;
}
body.v2 input::placeholder,
body.v2 textarea::placeholder{ color:var(--campo-placeholder) !important; }
body.v2 input:focus,
body.v2 textarea:focus,
body.v2 select:focus{
  border-color:var(--rdc-orange) !important;
  box-shadow:0 0 0 3px rgba(242,90,10,0.15) !important;
}

/* 12.2a — Campo preenchido pelo navegador (autofill).
   O Chrome pinta esse campo com a folha dele, em !important, e o `background`
   da página não vence — foi o cinza com texto branco que o PO viu em 24/09 em
   Fabricante, Série, TAG, Modelo e Prontuário, ao lado de PMTA e Área brancos.
   A sombra interna cobre o fundo do navegador com o do tema; a transição
   longa impede o flash do fundo nativo. Sem este bloco, qualquer campo com
   histórico no navegador foge da padronização, nos dois temas. */
body.v2 input:-webkit-autofill,
body.v2 input:-webkit-autofill:hover,
body.v2 input:-webkit-autofill:focus,
body.v2 textarea:-webkit-autofill,
body.v2 select:-webkit-autofill{
  -webkit-text-fill-color:var(--campo-txt) !important;
  caret-color:var(--campo-txt);
  box-shadow:0 0 0 1000px var(--rdc-bg-input) inset !important;
  transition:background-color 99999s ease-out 0s;
}
body.v2 input:-webkit-autofill:focus{
  box-shadow:0 0 0 1000px var(--rdc-bg-input) inset, 0 0 0 3px rgba(242,90,10,0.15) !important;
}

/* 12.2b — Campo travado (identidade da caldeira, espelho de outro módulo,
   bloco técnico na auditoria Visual). Decisão do PO em 24/09 (opção "a"):
   MESMO fundo e MESMO texto do editável; o que o distingue é a borda
   tracejada, o cursor e o cadeado na dica. As regras .campo-de-origem e
   .campo-bloqueado de styles.css não chegam aqui porque o 12.2 acima usa
   !important — sem este bloco o travado ficava idêntico ao editável e o
   auditor clicava achando que a tela tinha travado. O `.fg` e o `:is()`
   existem para empatar/vencer `body.v2 .fg input` e `body.v2 input[type=text]`
   em especificidade; vindo depois no arquivo, o empate é nosso. */
body.v2 .fg .campo-de-origem,
body.v2 .fg .campo-bloqueado,
body.v2 :is(input,select,textarea).campo-de-origem,
body.v2 :is(input,select,textarea).campo-bloqueado{
  border-style:dashed !important;
  cursor:not-allowed;
  caret-color:transparent;
}
body.v2 .fg .campo-de-origem:focus,
body.v2 .fg .campo-bloqueado:focus,
body.v2 :is(input,select,textarea).campo-de-origem:focus,
body.v2 :is(input,select,textarea).campo-bloqueado:focus{
  border-color:var(--rdc-border) !important;
  box-shadow:none !important;
}
/* Ícones nativos (calendário/relógio): filter:invert() só clareava pra
   branco/cinza — ficava escuro demais sobre o fundo navy e lia como "preto".
   Ícone próprio na laranja da marca (mesma cor do badge de unidade e do ⓘ)
   resolve de vez, sem depender de aproximação de matriz de filtro. */
body.v2 input[type=date]::-webkit-calendar-picker-indicator{
  filter:none; opacity:1; cursor:pointer;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Crect x='2' y='3' width='12' height='11' rx='1' fill='none' stroke='%23FF8C52' stroke-width='1.3'/%3E%3Cline x1='2' y1='6.3' x2='14' y2='6.3' stroke='%23FF8C52' stroke-width='1.3'/%3E%3Cline x1='5' y1='1.5' x2='5' y2='4' stroke='%23FF8C52' stroke-width='1.3'/%3E%3Cline x1='11' y1='1.5' x2='11' y2='4' stroke='%23FF8C52' stroke-width='1.3'/%3E%3C/svg%3E") no-repeat center / 16px 16px;
}
body.v2 input[type=time]::-webkit-calendar-picker-indicator{
  filter:none; opacity:1; cursor:pointer;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='6' fill='none' stroke='%23FF8C52' stroke-width='1.3'/%3E%3Cline x1='8' y1='8' x2='8' y2='4.5' stroke='%23FF8C52' stroke-width='1.3'/%3E%3Cline x1='8' y1='8' x2='10.5' y2='9.5' stroke='%23FF8C52' stroke-width='1.3'/%3E%3C/svg%3E") no-repeat center / 16px 16px;
}

/* 12.3 â€” TÃ­tulos "navy" (#1A237E) â†’ claro com identidade RDC */
body.v2 .section-title-navy,
body.v2 .efic-slider-label{
  color:var(--rdc-text-light) !important;
  font-family:sans-serif; letter-spacing:.02em;
  border-left:3px solid var(--rdc-orange);
  padding-left:.6rem;
}

/* 12.4 â€” BotÃµes de eficiÃªncia: tudo na paleta RDC (sem verde fora do padrÃ£o) */
body.v2 .efic-btn-orange,
body.v2 .efic-btn-green{
  background:var(--rdc-bg-input) !important;
  border:1.5px solid var(--v2-frame) !important;
  color:var(--rdc-text-light) !important;
  font-family:monospace;
  transition:.15s;
}
body.v2 .efic-btn-orange:hover,
body.v2 .efic-btn-green:hover{
  border-color:var(--rdc-orange) !important;
  background:rgba(242,90,10,0.08) !important;
}
/* selecionado â†’ laranja sÃ³lido RDC */
body.v2 .efic-btn-orange.active,
body.v2 .efic-btn-green.active{
  background:linear-gradient(135deg,var(--rdc-orange-br),var(--rdc-orange) 55%,var(--rdc-orange-dp)) !important;
  border-color:var(--rdc-orange) !important;
  color:#fff !important;
  box-shadow:0 8px 20px -10px rgba(242,90,10,0.7);
}
/* faixa "alta eficiÃªncia" sinalizada com ciano tÃ©cnico (nÃ£o verde) */
body.v2 .efic-btn-green{ border-color:rgba(79,198,224,0.45) !important; }

/* =========================================================================
   13. PADRONIZAÃ‡ÃƒO UNIVERSAL DE BARRAS
   Todas as variaÃ§Ãµes de barra (KPI global, painÃ©is, sliders) usam o padrÃ£o:
   - Barra laranja SÃ“LIDA (#FF6B35)
   - CÃ­rculo branco com borda laranja
   - Badge flutuante com valor
   ========================================================================= */

/* KPI Global - Indicador de Conformidade */
body.v2 .kpi-g-ici-bar-wrap{
  position:relative;background:var(--panel-recesso);border:1px solid var(--rdc-border);
  height:16px;border-radius:8px;overflow:visible;margin-bottom:36px;
}
body.v2 .kpi-g-ici-bar-fill{
  position:relative;background:#FF6B35;height:100%;border-radius:8px;transition:width .3s ease;
}
body.v2 .kpi-g-ici-bar-fill::after{
  content:"";position:absolute;right:-10px;top:50%;transform:translateY(-50%);
  width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid #FF6B35;
  box-shadow:0 2px 8px rgba(255,107,53,0.5);
}

/* Todas as otras classes de barra herdam o padrÃ£o */
body.v2 [class*="bar-wrap"]{
  position:relative;background:var(--panel-recesso);border:1px solid var(--rdc-border);
  height:16px;border-radius:8px;overflow:visible;margin-bottom:36px;
}
body.v2 [class*="bar-fill"]{
  position:relative;background:#FF6B35;height:100%;border-radius:8px;transition:width .3s ease;
}
body.v2 [class*="bar-fill"]::after{
  content:"";position:absolute;right:-10px;top:50%;transform:translateY(-50%);
  width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid #FF6B35;
  box-shadow:0 2px 8px rgba(255,107,53,0.5);
}

/* Sliders de eficiÃªncia e outros componentes de intervalo */
body.v2 input[type=range]{
  accent-color:#FF6B35;
}
body.v2 input[type=range]::-webkit-slider-thumb{
  background:#fff;border:3px solid #FF6B35;box-shadow:0 2px 8px rgba(255,107,53,0.5);
}
body.v2 input[type=range]::-moz-range-thumb{
  background:#fff;border:3px solid #FF6B35;box-shadow:0 2px 8px rgba(255,107,53,0.5);
}
body.v2 .efic-btn-green .efic-pct,
body.v2 .efic-btn-green:not(.active){ color:var(--rdc-cyan-txt) !important; }

/* 12.5 â€” Slider de eficiÃªncia â†’ gradiente RDC (laranja â†’ ciano), sem verde */
body.v2 .efic-slider{
  background:linear-gradient(to right, var(--rdc-orange), var(--rdc-cyan)) !important;
}
body.v2 .efic-slider::-webkit-slider-thumb{ background:var(--rdc-orange) !important; }
body.v2 .efic-slider::-moz-range-thumb{ background:var(--rdc-orange) !important; border:none; }

/* 12.6 â€” Valores/â€œstatâ€ laranja material (#FF9800) â†’ laranja RDC */
body.v2 .stat-val-orange{ color:var(--rdc-orange-br-txt) !important; }

/* 12.7 â€” Qualquer container que tenha ficado branco/claro herda superfÃ­cie escura */
body.v2 .secao-body,
body.v2 .card-body,
body.v2 .secao-body.grid-1,
body.v2 .secao-body.grid-2,
body.v2 .secao-body.grid-3{ background:transparent !important; }

/* =========================================================================
   14. TEMA CLARO — texto que não passa por token
   Dicas pintadas com laranja translúcido (rgba(255,107,53,.6/.7)) ou cinza
   translúcido, e textos "muted" com opacity:.7 por cima. No escuro a
   translucidez só suaviza; no claro derruba o contraste para 1,7-2,7:1 — o
   texto some. Aqui só o claro muda: o escuro fica exatamente como estava.
   ========================================================================= */
:root[data-theme="light"] body.v2 .analisador-hint{ color:var(--rdc-orange-txt) !important; }
:root[data-theme="light"] body.v2 .m10-ctrl-hint,
:root[data-theme="light"] body.v2 .m10-ref-tag{ color:var(--rdc-orange-txt); }
:root[data-theme="light"] body.v2 .equip-hint{ color:var(--rdc-text-muted); }
:root[data-theme="light"] body.v2 .preset-bar-hint,
:root[data-theme="light"] body.v2 .qr-sub{ opacity:1; }
@media (prefers-color-scheme: light){
  :root:not([data-theme="dark"]) body.v2 .analisador-hint{ color:var(--rdc-orange-txt) !important; }
  :root:not([data-theme="dark"]) body.v2 .m10-ctrl-hint,
  :root:not([data-theme="dark"]) body.v2 .m10-ref-tag{ color:var(--rdc-orange-txt); }
  :root:not([data-theme="dark"]) body.v2 .equip-hint{ color:var(--rdc-text-muted); }
  :root:not([data-theme="dark"]) body.v2 .preset-bar-hint,
  :root:not([data-theme="dark"]) body.v2 .qr-sub{ opacity:1; }
}
