* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:root {
  --verde: #0b4f45;
  --verde-escuro: #073b34;
  --verde-claro: #e7f2ef;
  --azul: #17324d;
  --texto: #25313c;
  --cinza: #66727d;
  --fundo: #f4f7f8;
  --branco: #ffffff;
  --borda: #dfe6e9;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  background: var(--fundo);
  color: var(--texto);
  min-height: 100vh;
  zoom: 87.5%;
}

.ambiente-teste {
  background: #f2b84b;
  color: #3a2a08;
  padding: 8px 16px;
  text-align: center;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1px;
}

.acesso-supabase {
  background: #e8f3f1;
  border-bottom: 1px solid #c9dfda;
  padding: 24px 30px;
}

.acesso-conteudo {
  width: min(1320px, 100%);
  margin: auto;
  display: grid;
  grid-template-columns: minmax(230px, 1fr) minmax(420px, 1.4fr);
  align-items: center;
  gap: 22px;
}

.acesso-conteudo strong {
  color: var(--verde-escuro);
}

.acesso-conteudo p {
  color: var(--cinza);
  font-size: 13px;
  margin-top: 5px;
}

.form-login {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  align-items: end;
  gap: 10px;
}

.form-login[hidden] {
  display: none !important;
}

.campo-senha-login {
  display: flex;
  flex-direction: column;
}

.esqueci-senha {
  align-self: flex-start;
  border: 0;
  background: transparent;
  color: var(--verde);
  cursor: pointer;
  font-size: 11px;
  font-weight: 700;
  margin-top: 7px;
  padding: 0;
  text-decoration: underline;
}

.form-login label {
  color: var(--verde-escuro);
  font-size: 11px;
  font-weight: 700;
}

.form-login input {
  width: 100%;
  border: 1px solid #b8d2cc;
  border-radius: 8px;
  margin-top: 5px;
  min-height: 46px;
  padding: 8px 10px;
}

.campo-senha-com-olho {
  display: block;
  width: 100%;
  position: relative;
}

.campo-senha-com-olho input[type="password"],
.campo-senha-com-olho input[type="text"] {
  padding-right: 38px;
}

.botao-olho-senha {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  background: transparent;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  padding: 4px;
  opacity: 0.65;
}

.botao-olho-senha:hover {
  opacity: 1;
}

.form-login button,
.sessao-ativa button {
  border: 0;
  border-radius: 8px;
  min-height: 40px;
  padding: 9px 14px;
  background: var(--verde);
  color: white;
  font-weight: 700;
  cursor: pointer;
}

.form-login .esqueci-senha {
  min-height: auto;
  color: var(--verde);
  background: transparent;
  padding: 0;
}

.sessao-ativa {
  background: white;
  border: 1px solid #c9dfda;
  border-radius: 10px;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--verde-escuro);
  font-size: 12px;
  min-height: 58px;
}

.sessao-ativa[hidden] {
  display: none;
}

.sessao-ativa #resumoBase {
  flex: 1;
  color: var(--cinza);
}

@media (max-width: 850px) {
  .acesso-conteudo,
  .form-login {
    grid-template-columns: 1fr;
  }

  .sessao-ativa {
    align-items: flex-start;
    flex-direction: column;
  }
}

.topo {
  background: linear-gradient(135deg, var(--verde-escuro), var(--verde));
  color: white;
  padding: 24px 30px;
  box-shadow: 0 3px 15px rgba(0,0,0,.12);
  position: sticky;
  top: 0;
  z-index: 100;
}

.topo-conteudo {
  max-width: 1500px;
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}

.marca {
  display: flex;
  align-items: center;
  gap: 14px;
}

.marca-icone {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: rgba(255,255,255,.14);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 25px;
}

.marca-icone.marca-cejam {
  width: 77px;
  height: 77px;
  padding: 6px;
  background: rgba(255,255,255,.96);
}

.marca-cejam img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.marca h1 {
  font-size: 25px;
  font-weight: 650;
}

.marca p {
  margin-top: 4px;
  font-size: 13px;
  opacity: .78;
}

.status-sistema {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  background: rgba(255,255,255,.10);
  padding: 8px 12px;
  border-radius: 30px;
}

.topo-acoes {
  display: flex;
  align-items: center;
  gap: 12px;
}

.topo-data,
.topo-temperatura {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  line-height: 1.2;
}

.topo-data strong,
.topo-temperatura strong { font-size: 17px; }
.topo-data span { font-size: 10px; opacity: .82; margin-top: 3px; }
.topo-temperatura { flex-direction: row; align-items: center; gap: 6px; padding: 7px 10px; border-left: 1px solid rgba(255,255,255,.18); }

.container {
  width: min(1500px, calc(100% - 40px));
  margin: 0 auto;
  padding: 30px 0 38px;
}

.titulo-area {
  max-width: 1050px;
  margin: 0 auto;
  text-align: center;
}

.hospital-destaque {
  color: var(--verde-escuro);
  font-size: 15px;
  font-weight: 850;
  letter-spacing: .7px;
  text-transform: uppercase;
}

.titulo-area .titulo-central {
  color: var(--azul);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(30px, 3vw, 43px);
  font-style: italic;
  font-weight: 700;
  margin: 8px 0 7px;
}

.titulo-area p {
  color: var(--cinza);
  font-size: 15px;
  line-height: 1.5;
}

.dashboard-entrada {
  display: grid;
  grid-template-columns: 1.25fr repeat(4, minmax(0,1fr));
  gap: 12px;
  margin: 24px 0 4px;
}

.dashboard-entrada[hidden] { display: none; }
.dashboard-titulo, .mini-indicador { background:#fff; border:1px solid var(--borda); border-radius:13px; padding:14px; min-height:82px; }
.dashboard-titulo { display:flex; flex-direction:column; justify-content:center; color:var(--azul); }
.dashboard-titulo strong { font-size:15px; }
.dashboard-titulo span { color:var(--cinza); font-size:11px; margin-top:5px; }
.mini-indicador { display:flex; align-items:center; gap:11px; }
.mini-indicador > div:last-child { display:flex; flex-direction:column; min-width:0; }
.mini-indicador span { color:var(--cinza); font-size:10px; line-height:1.25; }
.mini-indicador strong { color:var(--azul); font-size:23px; margin-top:3px; }
.mini-grafico { width:47px; height:47px; flex:0 0 47px; display:grid; place-items:center; border-radius:50%; color:var(--azul); font-size:10px; font-weight:800; background:conic-gradient(var(--verde) var(--progresso,0%), #e4eeec 0); position:relative; }
.mini-grafico::after { content:""; position:absolute; inset:7px; border-radius:50%; background:#fff; }
.mini-grafico { text-indent:-9999px; }
.mini-abertas .mini-grafico { background:conic-gradient(#d88a25 var(--progresso,0%), #f6ead8 0); }
.mini-preventivas .mini-grafico { background:conic-gradient(#3e77a8 var(--progresso,0%), #e5edf4 0); }
.mini-backlog .mini-grafico { background:conic-gradient(#8a5cd8 var(--progresso,0%), #ece4f7 0); }
.mini-backlog-aberto .mini-grafico { background:conic-gradient(#c0392b var(--progresso,0%), #f6dcd8 0); }
.mini-indicador[role="button"] { cursor: pointer; }
.mini-indicador[role="button"]:hover, .mini-indicador[role="button"]:focus-visible { box-shadow: inset 0 0 0 1px #8a5cd8; outline: none; }
.botao-icone-nav { border: 1px solid var(--borda); background: #fff; border-radius: 6px; width: 24px; height: 24px; cursor: pointer; font-size: 11px; line-height: 1; color: var(--azul); }
.botao-icone-nav:hover { background: #eaf3f1; }

.grupo-titulo { margin-top: 28px !important; }

.status-ponto {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #66e0a3;
}

.principal {
  width: min(1200px, calc(100% - 40px));
  margin: 0 auto;
  padding: 55px 0 40px;
}

.apresentacao {
  max-width: 720px;
  margin-bottom: 38px;
}

.etiqueta {
  display: inline-block;
  color: var(--verde);
  background: var(--verde-claro);
  padding: 6px 10px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  margin-bottom: 15px;
}

.apresentacao h2 {
  color: var(--azul);
  font-size: clamp(28px, 4vw, 40px);
  line-height: 1.1;
  margin-bottom: 14px;
}

.apresentacao p {
  color: var(--cinza);
  font-size: 16px;
  line-height: 1.65;
  max-width: 650px;
}

.cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.card {
  background: var(--branco);
  border: 1px solid var(--borda);
  border-radius: 16px;
  padding: 26px;
  min-height: 310px;
  display: flex;
  flex-direction: column;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.card:hover {
  transform: translateY(-4px);
  box-shadow: 0 15px 35px rgba(30,50,60,.10);
  border-color: #cbd8d8;
}

.card-destaque {
  border-top: 4px solid var(--verde);
}

.card-icone {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: var(--verde-claro);
  color: var(--verde);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 25px;
  font-weight: 500;
  margin-bottom: 24px;
}

.card-conteudo {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.card-categoria {
  color: var(--verde);
  font-size: 10px;
  letter-spacing: 1.1px;
  font-weight: 750;
  margin-bottom: 8px;
}

.card h3 {
  color: var(--azul);
  font-size: 21px;
  margin-bottom: 10px;
}

.card p {
  color: var(--cinza);
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 24px;
}

.card button {
  margin-top: auto;
  width: 100%;
  border: 0;
  background: #eef3f4;
  color: var(--azul);
  padding: 13px 15px;
  border-radius: 9px;
  font-size: 13px;
  font-weight: 650;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: .2s ease;
}

.card-destaque button {
  background: var(--verde);
  color: white;
}

.card button:hover {
  background: var(--azul);
  color: white;
}

.informacoes {
  margin-top: 28px;
  background: white;
  border: 1px solid var(--borda);
  border-radius: 14px;
  padding: 18px 24px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.informacoes div {
  padding: 5px 22px;
  border-right: 1px solid var(--borda);
}

.informacoes div:first-child {
  padding-left: 0;
}

.informacoes div:last-child {
  border-right: 0;
}

.informacoes strong {
  display: block;
  color: var(--azul);
  font-size: 13px;
  margin-bottom: 4px;
}

.informacoes span {
  color: var(--cinza);
  font-size: 11px;
}

footer {
  width: min(1200px, calc(100% - 40px));
  margin: auto;
  padding: 20px 0 30px;
  border-top: 1px solid var(--borda);
  display: flex;
  justify-content: space-between;
  color: #87919a;
  font-size: 11px;
}

.central-grid-interno {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cartao-contingencia {
  border: 1px solid var(--borda);
  border-radius: 14px;
  background: #f8fafb;
  padding: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 25px;
}

.conteudo-aba.resumo-administracao {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 14px;
}
.conteudo-aba.resumo-administracao[hidden] { display:none; }
.conteudo-aba.resumo-administracao button { appearance:none; border:1px solid #d8e3e5; border-top:4px solid var(--verde); border-radius:14px; background:#fff; padding:20px; min-height:150px; text-align:left; cursor:pointer; display:flex; flex-direction:column; align-items:flex-start; gap:8px; box-shadow:0 8px 22px rgba(23,50,77,.06); transition:.2s ease; }
.conteudo-aba.resumo-administracao button:hover { transform:translateY(-3px); border-color:#8db6ad; box-shadow:0 14px 28px rgba(23,50,77,.11); }
.conteudo-aba.resumo-administracao button span { width:45px; height:45px; border-radius:11px; display:grid; place-items:center; background:var(--verde-claro); font-size:22px; }
.conteudo-aba.resumo-administracao button strong { color:var(--azul); font-size:17px; }
.conteudo-aba.resumo-administracao button small { color:var(--cinza); font-size:12px; line-height:1.45; }
.cartao-contingencia h3 { color:var(--azul); margin:8px 0 6px; }
.cartao-contingencia p { color:var(--cinza); max-width:760px; line-height:1.5; }
.cartao-contingencia button { border:0; border-radius:9px; padding:12px 16px; background:var(--verde); color:#fff; font-weight:750; cursor:pointer; white-space:nowrap; }
.os-contingencia-impressao { display:none; }

.modulo[hidden],
.painel-restrito[hidden],
.conteudo-aba[hidden],
#telaAnalise[hidden],
#telaNovaSolicitacao[hidden],
#telaAdministracao[hidden],
#telaRelatorios[hidden],
#telaDocumentos[hidden],
#telaImpressao[hidden],
#telaEquipamentos[hidden],
#telaPreventivas[hidden],
#telaProgramacao[hidden],
#telaOperacional[hidden] {
  display: none;
}

.barra-biblioteca { grid-template-columns:220px minmax(280px,1fr) auto; }
.grade-documentos { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:18px; }
.documento-card { border:1px solid var(--borda); border-radius:13px; background:#fff; padding:18px; display:flex; flex-direction:column; gap:8px; min-height:170px; }
.documento-card small { color:var(--verde); font-weight:800; text-transform:uppercase; }
.documento-card h3 { color:var(--azul); }
.documento-card p { color:var(--cinza); font-size:12px; line-height:1.45; }
.documento-card a,.documento-card button { margin-top:auto; align-self:flex-start; padding:9px 12px; border:0; border-radius:8px; background:var(--verde); color:#fff; text-decoration:none; font-weight:750; cursor:pointer; }
.aviso-migracao { margin-top:15px; padding:13px 15px; border-radius:9px; color:#72520b; background:#fff7df; border:1px solid #eed48b; }
.busca-os-impressao { display:grid; grid-template-columns:minmax(280px,1fr) auto; align-items:end; gap:12px; max-width:720px; padding:20px; border:1px solid var(--borda); border-radius:13px; background:#f8fafb; }
.filtros-equipamentos { display:grid; grid-template-columns:repeat(3,minmax(160px,1fr)) auto; align-items:end; gap:12px; max-width:900px; margin-top:12px; }
.filtros-equipamentos label { color:var(--azul); font-size:12px; font-weight:800; }
.filtros-equipamentos select { display:block; width:100%; min-height:44px; margin-top:5px; padding:8px 10px; border:1px solid var(--borda); border-radius:8px; background:#fff; }
@media (max-width:700px) { .filtros-equipamentos { grid-template-columns:1fr; } }
.busca-os-impressao label { color:var(--azul); font-weight:750; }
.busca-os-impressao input { width:100%; min-height:42px; margin-top:6px; border:1px solid #cad8dc; border-radius:8px; padding:9px 11px; }
.busca-os-impressao button { min-height:42px; border:0; border-radius:8px; padding:9px 16px; background:var(--verde); color:#fff; font-weight:750; cursor:pointer; }
.resultado-os-impressao { width:100%; display:grid; grid-template-columns:120px minmax(0,1fr) 180px 120px; gap:12px; align-items:center; border:1px solid var(--borda); border-radius:10px; background:#fff; padding:13px; text-align:left; cursor:pointer; }
.resultado-os-impressao strong { color:var(--azul); }
.resultado-os-impressao span,.resultado-os-impressao small { color:var(--cinza); }
.os-ficha-impressao { display:none; }
.campo-largo { grid-column:1/-1; }
.formulario-documento textarea { width:100%; resize:vertical; }
.formulario-solicitacao textarea { width:100%; resize:vertical; }
.bloco-patrimonio { padding:16px; border:1px solid var(--borda); border-radius:12px; background:#fff; }
.mensagem-patrimonio { margin:8px 0 0; color:var(--cinza); font-size:13px; }
.resumo-patrimonio { display:grid; grid-template-columns:1fr auto; gap:5px 18px; margin-top:12px; padding:14px; border-left:5px solid var(--verde); border-radius:9px; background:#eef7f5; }
.resumo-patrimonio strong,.resumo-patrimonio span { display:block; }
.resumo-patrimonio b { grid-column:2; grid-row:1/3; align-self:center; padding:7px 10px; border-radius:999px; background:#fff; }
.resumo-patrimonio .botao-abrir-os { grid-column:1/-1; margin-top:8px; padding:11px 14px; border:0; border-radius:8px; background:var(--azul); color:#fff; font-weight:800; cursor:pointer; }
.gestao-setores { display:grid; gap:14px; padding:20px; border:1px solid var(--borda); border-radius:14px; background:#f7fafb; align-content:start; }
#abaImportacaoAdmin { align-items: stretch; }
.cabecalho-conferencia { display:block; padding:0; border:0; background:transparent; }
.cabecalho-conferencia h3,.cabecalho-conferencia p { margin:0 0 5px; }
.pesquisa-setores-admin { display:grid; grid-template-columns:minmax(280px,1fr) auto; align-items:end; gap:12px; }
.pesquisa-setores-admin label,.consolidacao-setores label { color:var(--azul); font-size:12px; font-weight:800; }
.pesquisa-setores-admin input,.consolidacao-setores input { display:block; width:100%; min-height:44px; margin-top:5px; padding:10px 12px; border:1px solid var(--borda); border-radius:8px; background:#fff; }
.pesquisa-setores-admin button,.consolidacao-setores button { min-height:44px; padding:11px 17px; border:0; border-radius:8px; background:var(--verde); color:#fff; font-weight:800; cursor:pointer; }
.consolidacao-setores { display:grid; grid-template-columns:minmax(230px,.8fr) minmax(300px,1.4fr) auto; align-items:end; gap:14px; padding-top:14px; border-top:1px solid var(--borda); }
.consolidacao-setores strong,.consolidacao-setores small { display:block; }
.consolidacao-setores strong { color:var(--azul); }
.consolidacao-setores small { margin-top:4px; color:var(--cinza); line-height:1.35; }
.consolidacao-setores button:disabled { opacity:.45; cursor:not-allowed; }
.conferencia-setor small { display:block; margin-top:5px; }
.opcao-setor { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-top:8px; padding:11px 13px; border:1px solid var(--borda); border-radius:8px; background:#fff; }
.opcao-setor.selecionado { border-color:var(--verde); background:#eef7f5; box-shadow:inset 4px 0 var(--verde); }
.opcao-setor label { display:flex; align-items:center; gap:11px; width:100%; cursor:pointer; }
.opcao-setor input[type="checkbox"] { width:19px; height:19px; accent-color:var(--verde); }
.opcao-setor .dados-setor { display:flex; flex-direction:column; gap:3px; }
.opcao-setor .dados-setor strong { color:var(--azul); }
.opcao-setor .status-setor { flex:0 0 auto; padding:5px 9px; border-radius:999px; background:#e8f4f1; color:var(--verde); font-size:10px; font-weight:850; }
.opcao-setor .status-setor.inativo { background:#f7e8e8; color:#a02b2b; }
.opcao-setor small { margin:0; }
@media (max-width:900px) { .consolidacao-setores { grid-template-columns:1fr; } .pesquisa-setores-admin { grid-template-columns:1fr; } }
.registro-documento-admin { min-height:auto; }
.registro-documento-admin div { display:flex; flex-direction:column; gap:5px; }
.registro-documento-admin small { color:var(--cinza); }
.barra-preventivas { grid-template-columns:220px 220px auto; }
.atalhos-operacionais { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.atalhos-operacionais button { min-height:150px; padding:22px; border:1px solid var(--borda); border-top:4px solid var(--verde); border-radius:14px; background:#fff; text-align:left; cursor:pointer; display:flex; flex-direction:column; align-items:flex-start; gap:8px; box-shadow:0 8px 22px rgba(23,50,77,.07); }
.atalhos-operacionais button span { font-size:25px; }
.atalhos-operacionais button strong { color:var(--azul); font-size:18px; }
.atalhos-operacionais button small { color:var(--cinza); }
.nota-operacional { margin-top:18px; padding:14px; color:var(--cinza); background:#f4f8f8; border-radius:10px; }
.cabecalho-equipamentos,.linha-equipamento { display:grid; grid-template-columns:minmax(220px,1.5fr) minmax(145px,.8fr) minmax(150px,.8fr) 120px 145px; gap:12px; align-items:center; }
.cabecalho-equipamentos { position:sticky; top:0; z-index:2; margin-top:14px; padding:11px 14px; background:var(--azul); color:#fff; border-radius:9px 9px 0 0; font-size:12px; font-weight:800; }
.linha-equipamento { width:100%; padding:13px 14px; border:1px solid var(--borda); border-radius:8px; background:#fff; color:var(--cinza); text-align:left; cursor:pointer; margin-top:7px; }
.linha-equipamento:hover { background:#f4f9f8; transform:translateX(2px); }
.linha-equipamento strong { color:var(--azul); }
.linha-equipamento span { display:flex; flex-direction:column; gap:3px; }
.linha-equipamento small { color:#76848f; }
.selo-criticidade { font-weight:850; text-transform:uppercase; }
.criticidade-critica,.criticidade-crítica { border-left:6px solid #8f1f2d !important; }
.criticidade-muito-alta { border-left:6px solid #8f1f2d !important; }
.modal-ficha-equipamento { width:min(1180px,96vw); max-width:none; }
.ficha-ativo-resumo { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid var(--borda); border-radius:12px; overflow:hidden; margin:14px 0 18px; }
.ficha-ativo-resumo article,.dados-ativo article { padding:12px; display:flex; flex-direction:column; gap:4px; background:#f8fafb; }
.ficha-ativo-resumo span,.dados-ativo span { color:var(--cinza); font-size:11px; text-transform:uppercase; font-weight:750; }
.ficha-ativo-resumo strong,.dados-ativo strong { color:var(--azul); font-size:13px; }
.dados-ativo>div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:var(--borda); border:1px solid var(--borda); border-radius:10px; overflow:hidden; }
.dados-ativo h4,.historicos-ativo>h4 { color:var(--azul); margin:18px 0 10px; }
.historico-ativo { margin-top:14px; border:1px solid var(--borda); border-radius:10px; overflow:hidden; }
.historico-ativo h4 { margin:0; padding:12px 14px; color:var(--azul); background:#edf4f4; }
.historico-ativo h4 small { color:var(--verde); }
.historico-ativo>article,.historico-ativo>.historico-os-link { width:100%; display:grid; grid-template-columns:130px 180px minmax(250px,1fr) 120px; gap:12px; padding:11px 14px; border:0; border-top:1px solid var(--borda); align-items:center; font-size:12px; text-align:left; background:#fff; }
.historico-ativo>.historico-os-link { cursor:pointer; transition:.15s ease; }
.historico-ativo>.historico-os-link:hover { background:#edf7f4; box-shadow:inset 4px 0 var(--verde); }
.historico-ativo>article strong,.historico-ativo>.historico-os-link strong { color:var(--azul); }.historico-ativo>article b,.historico-ativo>.historico-os-link b { color:var(--verde); }
.historico-ativo>p { padding:14px; color:var(--cinza); }
.barra-programacao { grid-template-columns:260px auto; }
.resumo-programacao { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:16px 0; }
.resumo-programacao article { padding:14px; border:1px solid var(--borda); border-radius:10px; background:#fff; display:flex; flex-direction:column; }
.resumo-programacao span { color:var(--cinza); font-size:11px; text-transform:uppercase; font-weight:750; }.resumo-programacao strong { color:var(--azul); font-size:24px; }
.agenda-programacao { display:grid; gap:14px; }
.dia-programacao { border:1px solid var(--borda); border-radius:11px; overflow:hidden; }
.dia-programacao>header { display:flex; justify-content:space-between; padding:12px 15px; background:var(--azul); color:#fff; }
.dia-programacao>.atividade-programada { width:100%; display:grid; grid-template-columns:120px minmax(240px,1fr) 190px 140px; gap:12px; padding:11px 14px; border:0; border-top:1px solid var(--borda); align-items:center; background:#fff; color:var(--texto); text-align:left; font:inherit; cursor:pointer; }
.dia-programacao>.atividade-programada:hover,.dia-programacao>.atividade-programada:focus-visible { background:#f2f8f6; outline:2px solid #83bcae; outline-offset:-2px; }
.tipo-programacao { color:var(--verde); font-weight:850; font-size:11px; }
.cronograma-anual { margin-top:0; }
.agenda-mensal-detalhes { margin-top:28px; border:1px solid var(--borda); border-radius:12px; background:#fff; padding:16px; }
.agenda-mensal-detalhes>summary { color:var(--azul); font-weight:800; cursor:pointer; }
.agenda-mensal-detalhes[open]>summary { margin-bottom:16px; }
.cronograma-anual-cabecalho { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:14px; }
.cronograma-anual-cabecalho span { color:var(--verde); font-size:11px; font-weight:850; letter-spacing:1.4px; }
.cronograma-anual-cabecalho h3 { color:var(--azul); margin:4px 0; font-size:24px; }
.cronograma-anual-cabecalho p { color:var(--cinza); font-size:12px; }
.cronograma-anual-cabecalho>div:last-child { display:flex; align-items:end; gap:9px; }
.cronograma-anual-cabecalho label { color:var(--azul); font-size:11px; font-weight:800; }
.cronograma-anual-cabecalho input,.cronograma-anual-cabecalho select { display:block; min-width:110px; min-height:40px; margin-top:5px; padding:8px; border:1px solid var(--borda); border-radius:8px; background:#fff; color:var(--texto); }
.cronograma-anual-cabecalho input { width:100px; }
.cronograma-anual-cabecalho [hidden] { display:none !important; }
.cronograma-anual-cabecalho button { min-height:40px; padding:9px 13px; border:0; border-radius:8px; background:var(--verde); color:#fff; font-weight:800; cursor:pointer; }
.legenda-cronograma { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:22px; margin:4px 0 14px; color:var(--texto); font-size:12px; }
.legenda-cronograma span { display:flex; align-items:center; gap:7px; }
.legenda-cronograma i,.mes-status b { display:inline-grid; place-items:center; width:19px; height:19px; border-radius:50%; color:#fff; font-style:normal; font-size:12px; }
.legenda-cronograma .programado,.mes-status.programado b { width:12px; height:12px; background:#1769e8; }
.legenda-cronograma .executado,.mes-status.executado b { background:#07824f; }
.legenda-cronograma .pendente,.mes-status.pendente b { background:#ee8b00; }
.legenda-cronograma .nao-conforme,.mes-status.nao-conforme b { background:#d83d43; }
.nivel-calibracao { margin-top:18px; border:1px solid #d5e0e5; border-radius:13px; overflow:hidden; background:#fff; }
.nivel-calibracao>header { display:flex; justify-content:space-between; align-items:center; padding:13px 16px; background:#f8fbfa; color:#087b46; border-bottom:1px solid #d5e0e5; }
.nivel-calibracao>header span { font-size:9px; font-weight:850; letter-spacing:1.2px; opacity:.78; }
.nivel-calibracao>header h4 { margin:2px 0 0; font-size:18px; }
.nivel-calibracao>header>strong { font-size:12px; }
.tabela-cronograma-wrap { overflow-x:auto; }
.tabela-cronograma { width:100%; min-width:1180px; border-collapse:collapse; table-layout:fixed; }
.tabela-cronograma th,.tabela-cronograma td { border:1px solid #d6e0e7; padding:9px 6px; text-align:center; height:56px; }
.tabela-cronograma thead th { background:#263465; color:#fff; font-size:10px; letter-spacing:.4px; }
.tabela-cronograma th:first-child { width:260px; text-align:left; }
.tabela-cronograma tbody th { padding:10px 12px; background:#fff; color:var(--azul); }
.tabela-cronograma tbody th strong,.tabela-cronograma tbody th small { display:block; }
.tabela-cronograma tbody th small { margin-top:3px; color:var(--cinza); font-size:10px; }
.tabela-cronograma td { background:#fff; color:var(--azul); }
.tabela-cronograma .mes-status b { margin:auto; }
.tabela-cronograma .mes-status small { display:block; margin-top:3px; font-size:8px; color:var(--cinza); }
.tabela-cronograma .mes-status.executado { background:#edf8f2; }
.tabela-cronograma .mes-status.pendente { background:#fff7e6; }
.tabela-cronograma .mes-status.nao-conforme { background:#fff0f0; }
.linha-cronograma-clicavel { cursor:pointer; transition:filter .15s ease,box-shadow .15s ease; }
.linha-cronograma-clicavel:hover th,.linha-cronograma-clicavel:hover td,.linha-cronograma-clicavel:focus-visible th,.linha-cronograma-clicavel:focus-visible td { filter:brightness(.97); box-shadow:inset 0 0 0 1px #79b9aa; }
.linha-cronograma-clicavel:focus-visible { outline:3px solid #79b9aa; outline-offset:-3px; }
.tabela-cronograma .mes-programado { background:#fff7df; }
.tabela-cronograma .mes-programado.concluido { background:#e5f5ee; color:#08745f; }
.tabela-cronograma .mes-programado strong,.tabela-cronograma .mes-programado small { display:block; }
.tabela-cronograma .mes-programado small { margin-top:2px; font-size:9px; }
.cronograma-vazio { padding:18px; color:var(--cinza); }
.modal-familia-cronograma { width:min(1180px,calc(100% - 36px)); }
.lista-familia-cronograma { display:grid; gap:9px; max-height:65vh; overflow:auto; padding-right:4px; }
.equipamento-cronograma { width:100%; display:grid; grid-template-columns:minmax(260px,1fr) 130px 130px 110px; gap:14px; align-items:center; padding:13px 15px; border:1px solid var(--borda); border-left-width:6px; border-radius:10px; background:#fff; color:var(--azul); text-align:left; cursor:pointer; }
.equipamento-cronograma:hover,.equipamento-cronograma:focus-visible { background:#f3f8f7; outline:2px solid #83bcae; }
.equipamento-cronograma span:first-child strong,.equipamento-cronograma span:first-child small { display:block; }
.equipamento-cronograma span:first-child small { margin-top:4px; color:var(--cinza); font-weight:500; }
.equipamento-cronograma>b { text-align:right; font-size:11px; }
.estado-cronograma { justify-self:start; border-radius:999px; padding:6px 9px; font-size:10px; font-weight:850; }
.estado-cronograma.programado { background:#e7f0ff; color:#1769d2; }
.estado-cronograma.executado { background:#dff3e9; color:#08745f; }
.estado-cronograma.pendente { background:#fff0ce; color:#a86200; }
.estado-cronograma.nao-conforme { background:#fde5e5; color:#b52c2c; }
.valor-conformidade { color:#07834f; }
.valor-nc { color:#bf2f2f; }
.formulario-cronograma { grid-template-columns:repeat(3,minmax(0,1fr)); }
.barra-cronograma-admin { grid-template-columns:220px auto; margin-top:18px; }
.linha-cronograma-admin { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.linha-cronograma-admin>div { display:flex; flex-direction:column; gap:4px; }
.linha-cronograma-admin strong { color:var(--azul); }
.linha-cronograma-admin small { color:var(--cinza); }
.nivel-admin { width:max-content; padding:3px 7px; border-radius:999px; background:#e8f3f1; color:var(--verde); font-size:9px; font-weight:850; }
.linha-cronograma-admin button { border:1px solid #e4b5b5; border-radius:8px; background:#fff7f7; color:#9b2929; padding:8px 11px; cursor:pointer; font-weight:750; }

.modulo-interno {
  border-top: 4px solid var(--azul);
}

.painel-restrito {
  width: min(1200px, calc(100% - 40px));
  margin: 32px auto 42px;
  background: #fff;
  border: 1px solid var(--borda);
  border-radius: 18px;
  padding: 28px;
  box-shadow: 0 18px 45px rgba(23,50,77,.09);
}

.painel-cabecalho {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--borda);
  margin-bottom: 24px;
}

.painel-cabecalho h2 {
  color: var(--azul);
  margin: 10px 0 5px;
}

.painel-cabecalho p,
.formulario-titulo p {
  color: var(--cinza);
  font-size: 13px;
}

.botao-secundario,
.barra-acoes button,
.modal-acoes button {
  border: 1px solid #cdd9dc;
  background: #fff;
  color: var(--azul);
  border-radius: 9px;
  padding: 10px 14px;
  font-weight: 700;
  cursor: pointer;
}

.indicadores {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 14px;
  margin-bottom: 22px;
}

.kpi-clicavel { cursor: pointer; transition: .15s ease; }
.kpi-clicavel:hover, .kpi-clicavel:focus-visible { box-shadow: inset 0 0 0 1px var(--verde); outline: none; transform: translateY(-1px); }

.paginacao { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 16px; }
.paginacao button { border: 1px solid var(--borda); background: #fff; border-radius: 8px; padding: 8px 14px; font-weight: 700; color: var(--azul); cursor: pointer; }
.paginacao button:hover:not(:disabled) { background: #eaf3f1; }
.paginacao button:disabled { opacity: .4; cursor: default; }
.paginacao span { color: var(--cinza); font-size: 13px; font-weight: 700; }

.indicadores article,
.indicadores .indicador-clicavel {
  border: 1px solid var(--borda);
  border-radius: 12px;
  padding: 18px;
  background: #f8fafb;
  text-align: left;
}

.indicadores .indicador-clicavel { cursor: pointer; font: inherit; transition: .15s ease; }
.indicadores .indicador-clicavel:hover,
.indicadores .indicador-clicavel:focus-visible { background: #eaf3f1; border-color: #83bcae; transform: translateY(-1px); outline: none; }
.indicadores .indicador-clicavel:disabled { cursor: default; opacity: .62; transform: none; }

.indicadores span {
  display: block;
  color: var(--cinza);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .7px;
  margin-bottom: 8px;
}

.indicadores strong {
  color: var(--azul);
  font-size: 28px;
}

.barra-acoes {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 14px;
  background: #f5f8f9;
  border-radius: 12px;
  padding: 14px;
  margin-bottom: 16px;
}

.barra-acoes label,
.formulario-painel label,
.modal-decisao label {
  color: var(--azul);
  font-size: 12px;
  font-weight: 700;
}

.barra-acoes select,
.formulario-painel input,
.formulario-painel select,
.formulario-painel textarea,
.modal-decisao textarea {
  width: 100%;
  min-height: 42px;
  margin-top: 6px;
  border: 1px solid #cbd7da;
  border-radius: 8px;
  background: #fff;
  padding: 9px 11px;
  color: var(--texto);
}

.modal-decisao input[type="password"] {
  width: 100%;
  min-height: 42px;
  margin-top: 7px;
  padding: 9px 11px;
  border: 1px solid #cbd7da;
  border-radius: 8px;
}

.modal-decisao select {
  width: 100%;
  min-height: 42px;
  margin-top: 7px;
  padding: 9px 11px;
  border: 1px solid #cbd7da;
  border-radius: 8px;
  background: #fff;
}

.bloco-rastreio-equipamento {
  margin: 12px 0;
  padding: 10px 12px;
  border: 1px solid #f0c987;
  border-radius: 8px;
  background: #fff8ec;
}

.rastreio-info {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 600;
  color: #7a5200;
}

.rastreio-opcoes {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.rastreio-opcoes label {
  color: var(--texto) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  display: flex;
  align-items: center;
  gap: 6px;
}

.rastreio-setor-real {
  display: block;
  margin-top: 10px;
}

.campo-assinatura {
  display: block;
  margin: 14px 0;
}

.rotulo-campo {
  display: block;
  color: var(--azul);
  font-size: 12px;
  font-weight: 700;
}

.quadro-assinatura-wrap {
  margin-top: 7px;
  border: 1px dashed #b5c2c5;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.quadro-assinatura {
  display: block;
  width: 100%;
  height: 130px;
  touch-action: none;
  cursor: crosshair;
}

.botao-limpar-assinatura {
  margin-top: 6px;
  font-size: 12px;
  padding: 5px 10px;
}

.grupo-avaliacao {
  margin: 14px 0;
}

.grupo-avaliacao > span {
  display: block;
  font-weight: 600;
  margin-bottom: 4px;
}

.estrelas {
  display: flex;
  gap: 4px;
}

.estrelas button {
  background: none;
  border: none;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
  color: #cbd7da;
  padding: 2px;
}

.estrelas button.selecionada {
  color: #e0a800;
}

.historico-atendimentos {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 8px;
}

.item-atendimento {
  border: 1px solid #e2e8e9;
  border-radius: 8px;
  padding: 10px 12px;
  background: #f9fbfb;
}

.item-atendimento.item-atendimento-final {
  border-color: #0b4f6c;
  background: #eef6f8;
}

.item-atendimento-topo {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  font-size: 12px;
  color: var(--cinza);
  margin-bottom: 4px;
}

.secao-indicadores-publicos {
  margin-top: 18px;
}

.filtro-indicadores-publicos {
  margin-bottom: 14px;
}

.filtro-indicadores-publicos label {
  display: inline-flex;
  flex-direction: column;
  gap: 4px;
  color: var(--azul);
  font-size: 12px;
  font-weight: 700;
}

.filtro-indicadores-publicos select {
  min-height: 38px;
  padding: 7px 10px;
  border: 1px solid #cbd7da;
  border-radius: 8px;
  background: #fff;
}

.grade-indicadores-publicos {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

@media (max-width: 1100px) {
  .grade-indicadores-publicos { grid-template-columns: 1fr; }
}

.modulo-indicador-publico {
  min-height: auto;
}

.modulo .anotacao-indicador-publico {
  margin: -6px 0 12px;
  color: var(--cinza);
  font-size: 11px;
  line-height: 1.4;
}

.mini-barras {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 4px;
}

.linha-mini-barra {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
}

.linha-mini-barra .rotulo-mini-barra {
  flex: 0 0 42%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--texto);
}

.linha-mini-barra .fundo-mini-barra {
  flex: 1;
  background: #eef2f3;
  border-radius: 5px;
  height: 10px;
  overflow: hidden;
}

.linha-mini-barra .preenchido-mini-barra {
  display: block;
  height: 100%;
  background: #0b4f6c;
  border-radius: 5px;
}

.linha-mini-barra .valor-mini-barra {
  flex: 0 0 auto;
  font-weight: 700;
  color: var(--azul);
  min-width: 34px;
  text-align: right;
}

.grade-servico-solicitacao {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 13px;
}

.grade-servico-solicitacao[hidden] {
  display: none;
}

.dica-busca-os {
  margin: 6px 0 0;
  font-size: 12px;
  color: var(--cinza);
}

.rastreio-divergencia {
  margin: 6px 0;
  padding: 6px 9px;
  border-radius: 6px;
  background: #fff3d6;
  color: #7a5200;
  font-size: 12px;
}

.item-atendimento-assinaturas {
  display: flex;
  gap: 12px;
  margin-top: 8px;
  flex-wrap: wrap;
}

.item-atendimento-assinaturas img {
  height: 50px;
  border: 1px solid #e2e8e9;
  border-radius: 6px;
  background: #fff;
}

.mensagem-painel {
  min-height: 20px;
  color: var(--cinza);
  font-size: 12px;
  margin: 10px 0;
}

.mensagem-painel.erro { color: #a32929; }
.mensagem-painel.sucesso { color: #08745f; }

.lista-registros {
  display: grid;
  gap: 12px;
}

.registro {
  border: 1px solid var(--borda);
  border-radius: 12px;
  padding: 17px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 18px;
  align-items: center;
}

.registro-card {
  border: 1px solid var(--borda);
  border-radius: 12px;
  padding: 17px;
  background: #fff;
}
.registro-card-clicavel { width:100%; border-left-width:6px; color:var(--texto); text-align:left; cursor:pointer; font:inherit; transition:.15s ease; }
.registro-card-clicavel:hover,.registro-card-clicavel:focus-visible { background:#f2f8f6; outline:2px solid #83bcae; }

.dica-abrir-os {
  margin: 8px 0 0;
  font-size: 12px;
  font-weight: 600;
  color: #0b4f6c;
}

.registro-topo,
.registro-compacto {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

.registro-card h3 {
  color: var(--azul);
  margin: 12px 0 6px;
}

.registro-card p {
  color: var(--cinza);
  font-size: 13px;
  line-height: 1.5;
}

.registro-detalhes {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  color: #72808c;
  font-size: 11px;
  margin: 12px 0;
}

.status-registro {
  display: inline-block;
  border-radius: 99px;
  padding: 5px 9px;
  background: var(--verde-claro);
  color: var(--verde);
  font-size: 10px;
  font-weight: 800;
}

.registro-acoes .botao-rejeitar {
  background: #a33b3b;
}

.motivo-rejeicao {
  border-left: 3px solid #a33b3b;
  padding-left: 10px;
  margin: 10px 0;
}

.registro h4 {
  color: var(--azul);
  margin-bottom: 6px;
}

.registro p {
  color: var(--cinza);
  font-size: 13px;
  line-height: 1.5;
}

.registro-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  margin-top: 9px;
  color: #72808c;
  font-size: 11px;
}

.registro-acoes {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.nome-arquivo-selecionado { margin: -6px 0 4px; font-size: 12px; color: #5f6b76; font-weight: 600; }

.registro-acoes button,
.formulario-painel > button,
.modal-acoes button[type="submit"] {
  border: 0;
  border-radius: 8px;
  padding: 10px 13px;
  background: var(--verde);
  color: #fff;
  font-weight: 750;
  cursor: pointer;
}

.registro-acoes .rejeitar,
.registro-acoes .desativar {
  background: #a33b3b;
}

.etiqueta-status {
  display: inline-block;
  border-radius: 99px;
  padding: 5px 9px;
  background: var(--verde-claro);
  color: var(--verde);
  font-size: 10px;
  font-weight: 800;
}

.abas-painel {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}

.abas-painel button {
  border: 1px solid var(--borda);
  background: #fff;
  color: var(--cinza);
  border-radius: 9px;
  padding: 10px 14px;
  font-weight: 700;
  cursor: pointer;
}

.abas-painel button.ativa {
  background: var(--azul);
  border-color: var(--azul);
  color: #fff;
}

.conteudo-aba {
  display: grid;
  grid-template-columns: minmax(300px,.8fr) minmax(0,1.2fr);
  gap: 22px;
  align-items: start;
}

.formulario-painel {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 13px;
  border: 1px solid var(--borda);
  border-radius: 13px;
  padding: 18px;
  background: #f8fafb;
}

.formulario-titulo,
.formulario-painel > button,
.formulario-painel > .mensagem-painel,
.formulario-painel fieldset {
  grid-column: 1 / -1;
}

.formulario-titulo h3 {
  color: var(--azul);
  margin-bottom: 4px;
}

.formulario-painel fieldset {
  border: 1px solid #cbd7da;
  border-radius: 9px;
  padding: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.formulario-painel legend {
  padding: 0 6px;
  color: var(--azul);
  font-size: 12px;
  font-weight: 750;
}

.formulario-painel fieldset label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
}

.formulario-painel fieldset input {
  width: auto;
  min-height: auto;
  margin: 0;
}

.modal-decisao {
  width: min(560px, calc(100% - 28px));
  border: 0;
  border-radius: 15px;
  padding: 0;
  box-shadow: 0 24px 70px rgba(0,0,0,.28);
}

.modal-decisao::backdrop {
  background: rgba(10,28,40,.62);
}

.modal-decisao form {
  padding: 28px;
  position: relative;
}

.modal-decisao h3 {
  color: var(--azul);
  margin: 12px 0 8px;
}

.modal-decisao p {
  color: var(--cinza);
  font-size: 13px;
  line-height: 1.5;
  margin-bottom: 16px;
}

.modal-fechar {
  position: absolute;
  right: 16px;
  top: 12px;
  border: 0;
  background: transparent;
  color: #6f7c86;
  font-size: 28px;
  cursor: pointer;
}

.modal-acoes {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  margin-top: 18px;
}

.filtros-relatorio {
  display: grid;
  grid-template-columns: 1.15fr 1fr 1fr 1fr auto;
  gap: 12px;
  align-items: end;
  padding: 16px;
  margin-bottom: 14px;
  background: #f3f7f7;
  border: 1px solid var(--borda);
  border-radius: 12px;
}

.filtros-relatorio label {
  color: var(--azul);
  font-size: 11px;
  font-weight: 750;
}

.filtros-relatorio select,
.filtros-relatorio input {
  width: 100%;
  min-height: 42px;
  margin-top: 6px;
  padding: 8px 10px;
  border: 1px solid #cbd7da;
  border-radius: 8px;
  background: #fff;
  color: var(--texto);
}

.filtros-relatorio button {
  min-height: 42px;
  padding: 10px 16px;
  border: 0;
  border-radius: 8px;
  background: var(--verde);
  color: #fff;
  font-weight: 750;
  cursor: pointer;
}

.indicadores-relatorio {
  grid-template-columns: repeat(6,minmax(0,1fr));
}

.indicadores-relatorio strong {
  font-size: 23px;
}

.indicadores-relatorio small {
  display: block;
  margin-top: 7px;
  color: var(--cinza);
  font-size: 10px;
}

.qualidade-dados {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px;
  padding: 14px;
  margin-bottom: 18px;
  border-radius: 12px;
  background: #fff8e8;
  border: 1px solid #ead9aa;
}

.qualidade-dados article span {
  display: block;
  color: #766642;
  font-size: 10px;
  font-weight: 750;
  text-transform: uppercase;
}

.qualidade-dados article strong {
  color: var(--azul);
  font-size: 18px;
}

.qualidade-dados article small { display: block; margin-top: 3px; color: #766642; font-size: 9px; }

.grade-relatorios {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.bloco-relatorio {
  padding: 18px;
  border: 1px solid var(--borda);
  border-radius: 13px;
  background: #fff;
}

.bloco-relatorio h3 {
  color: var(--azul);
  margin-bottom: 4px;
}

.bloco-relatorio > p,
.bloco-relatorio > div > p {
  color: var(--cinza);
  font-size: 11px;
  line-height: 1.5;
  margin-bottom: 12px;
}

.tabela-relatorio {
  display: grid;
  gap: 7px;
}

.cabecalho-linhas {
  position: sticky;
  top: 108px;
  z-index: 8;
  display: grid;
  grid-template-columns: minmax(0,1fr) 58px 82px 82px 82px;
  gap: 8px;
  padding: 9px;
  border-radius: 8px;
  background: #e6efed;
  box-shadow: 0 2px 5px rgba(23,50,77,.08);
}

.cabecalho-linhas span {
  color: var(--azul);
  font-size: 9px;
  font-weight: 850;
  line-height: 1.2;
  text-align: right;
  text-transform: uppercase;
}

.cabecalho-linhas span:first-child { text-align: left; }
.cabecalho-confiabilidade { grid-template-columns: minmax(0,1fr) 100px 100px 120px; }
.cabecalho-centro-custo, .linha-centro-custo { grid-template-columns: 100px 76px minmax(160px,1fr) 46px 64px 70px !important; }
.linha-centro-custo strong { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }
.bloco-largura-total { grid-column: 1 / -1; }
.cabecalho-pendencia-antiga, .linha-pendencia-antiga { grid-template-columns: 90px 130px 130px 80px minmax(200px,1fr) !important; }
.linha-pendencia-antiga span:last-child { text-align: left; }
.badge-base-os { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 9px; font-weight: 800; text-align: center !important; background: #e6efed; color: var(--azul); }

.linha-relatorio {
  display: grid;
  grid-template-columns: minmax(0,1fr) 58px 82px 82px 82px;
  align-items: center;
  gap: 8px;
  padding: 8px 9px;
  border-radius: 8px;
  background: #f6f8f9;
  font-size: 11px;
}

button.linha-relatorio {
  width: 100%;
  border: 0;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background .15s ease, box-shadow .15s ease, transform .15s ease;
}

button.linha-relatorio:hover,
button.linha-relatorio:focus-visible {
  background: #eaf3f1;
  box-shadow: inset 0 0 0 1px #9bc9be;
  transform: translateY(-1px);
  outline: none;
}

.linha-relatorio strong {
  color: var(--azul);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.linha-relatorio span {
  color: var(--cinza);
  text-align: right;
}

.barra-percentual {
  grid-column: 1 / -1;
  height: 5px;
  border-radius: 9px;
  background: #dce9e6;
  overflow: hidden;
}

.barra-percentual i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--verde);
}

.bloco-confiabilidade {
  margin-top: 16px;
}

.linha-relatorio-confiabilidade {
  grid-template-columns: minmax(0,1fr) 100px 100px 120px;
}

.percentual-atendido {
  color: var(--verde) !important;
  font-weight: 800;
}

.subtitulo-lista { margin: 20px 0 10px; color: var(--azul); font-size: 13px; }

.grafico-equipamentos {
  display: grid;
  gap: 9px;
  padding: 15px;
  border-radius: 11px;
  background: #f7faf9;
}

.grafico-equipamentos h4 { color: var(--azul); margin-bottom: 2px; }

.barra-equipamento {
  display: grid;
  grid-template-columns: minmax(0,1fr) 105px 95px;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  border: 1px solid var(--borda);
  border-left-width: 5px;
  border-radius: 8px;
  background: #fff;
  color: var(--cinza);
  text-align: left;
  cursor: pointer;
}

.barra-equipamento strong { color: var(--azul); }
.barra-equipamento span { text-align: right; font-size: 11px; }
.barra-equipamento i { grid-column: 1 / -1; height: 8px; overflow: hidden; border-radius: 8px; background: #dce9e6; }
.barra-equipamento i b { display: block; height: 100%; border-radius: inherit; background: var(--verde); }

.criticidade-alta { border-left: 5px solid #c84545 !important; }
.criticidade-media, .criticidade-média { border-left: 5px solid #e6a93c !important; }
.criticidade-baixa { border-left: 5px solid #3a9b70 !important; }
.criticidade-nao-informada, .criticidade-não-informada { border-left: 5px solid #98a5ae !important; }

.modal-relatorio {
  width: min(1180px, 94vw);
  max-width: none;
}

.modal-relatorio-conteudo {
  position: relative;
  padding: 22px;
}

/* Ficha do ativo em formato panorâmico. Esta regra precisa vir depois da regra geral dos modais. */
dialog.modal-decisao.modal-ficha-equipamento {
  width: min(1480px, 96vw);
  max-width: 96vw;
  height: min(900px, 92vh);
  max-height: 92vh;
  margin: auto;
  border-radius: 18px;
}

.modal-ficha-equipamento .modal-relatorio-conteudo {
  height: 100%;
  padding: 24px 28px;
  overflow: auto;
}

.modal-ficha-equipamento #fichaEquipamentoTitulo {
  padding-right: 52px;
  font-size: clamp(22px, 2vw, 32px);
}

.modal-ficha-equipamento .ficha-ativo-resumo {
  grid-template-columns: repeat(4, minmax(0,1fr));
  margin: 12px 0 16px;
}

.modal-ficha-equipamento .dados-ativo > div {
  grid-template-columns: repeat(6, minmax(0,1fr));
}

.modal-ficha-equipamento .dados-ativo article {
  min-height: 74px;
  padding: 10px 12px;
}

.modal-ficha-equipamento .historicos-ativo {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
}

.modal-ficha-equipamento .historicos-ativo > h4 {
  grid-column: 1 / -1;
  margin-bottom: 0;
}

.modal-ficha-equipamento .historico-ativo {
  margin-top: 0;
  max-height: 330px;
  overflow: auto;
}

.modal-ficha-equipamento .historico-ativo > article,
.modal-ficha-equipamento .historico-ativo > .historico-os-link {
  grid-template-columns: 95px 125px minmax(160px,1fr) 90px;
  gap: 8px;
  padding: 9px 11px;
}

@media (max-width: 1050px) {
  .modal-ficha-equipamento .dados-ativo > div { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .modal-ficha-equipamento .historicos-ativo { grid-template-columns: 1fr; }
}

.lista-os-relatorio {
  display: grid;
  gap: 8px;
  max-height: 62vh;
  overflow: auto;
  margin-top: 14px;
}

.cabecalho-os-relatorio {
  position: sticky;
  top: 0;
  z-index: 5;
  display: grid;
  grid-template-columns: 120px minmax(180px,1.5fr) minmax(130px,1fr) minmax(130px,1fr) 105px;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 8px;
  background: #dfecea;
  box-shadow: 0 2px 5px rgba(23,50,77,.1);
}

.cabecalho-os-relatorio span { color: var(--azul); font-size: 9px; font-weight: 850; text-transform: uppercase; }

.os-relatorio {
  display: grid;
  grid-template-columns: 120px minmax(180px,1.5fr) minmax(130px,1fr) minmax(130px,1fr) 105px;
  gap: 12px;
  align-items: center;
  padding: 11px 12px;
  border: 1px solid var(--borda);
  border-radius: 9px;
  background: #f8fafb;
  font-size: 11px;
  width: 100%;
  text-align: left;
  cursor: pointer;
}

.os-relatorio:hover { background: #eef5f3; }

.os-relatorio strong,
.os-relatorio b { color: var(--azul); }
.os-relatorio span { color: var(--cinza); }
.os-relatorio small { display: block; margin-top: 3px; color: var(--cinza); }
.os-relatorio-status { text-align: right; font-weight: 800; }

.modal-ficha-os { width: min(980px,94vw); max-width: none; }
.ficha-os-conteudo { display: grid; gap: 14px; margin-top: 16px; }
.ficha-os-resumo, .ficha-os-grade { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; }
.ficha-os-resumo { padding: 12px; border-radius: 10px; background: #f5f8f8; border-left: 5px solid #98a5ae; }
.ficha-os-resumo article span, .ficha-os-grade article span { display: block; color: var(--cinza); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.ficha-os-resumo article strong, .ficha-os-grade article strong { display: block; color: var(--azul); margin-top: 4px; font-size: 12px; }
.ficha-os-conteudo section { padding: 12px; border: 1px solid var(--borda); border-radius: 9px; }
.ficha-os-conteudo section h4 { color: var(--azul); margin-bottom: 5px; }
.ficha-os-conteudo section p { margin: 0; }

/* Origem dos dados — destaca quando a OS veio de carga externa (relatório
   importado), pra ninguém confundir com uma OS lançada no dia a dia. */
.origem-importado strong { color: #9a6700; }
.origem-importado strong::before { content: "⇩ "; }
.badge-origem { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .3px; }
.badge-origem-importado { background: #fff8df; color: #9a6700; border: 1px solid #f0d98c; }
.badge-origem-sistema { background: #eef3f7; color: #5f6b76; border: 1px solid #d7e0e8; }
.detalhes-importacao { margin-top: 8px; font-size: 12px; }
.detalhes-importacao summary { cursor: pointer; color: var(--azul); font-weight: 700; }
.detalhes-importacao p { margin: 6px 0 0; max-height: 140px; overflow-y: auto; word-break: break-word; color: #5f6b76; }

@media (max-width: 1100px) {
  .filtros-relatorio {
    grid-template-columns: 1fr 1fr;
  }

  .indicadores-relatorio {
    grid-template-columns: repeat(3,1fr);
  }
}

@media (max-width: 750px) {
  .filtros-relatorio,
  .indicadores-relatorio,
  .qualidade-dados,
  .grade-relatorios {
    grid-template-columns: 1fr;
  }

  .linha-relatorio,
  .linha-relatorio-confiabilidade {
    grid-template-columns: minmax(0,1fr) 64px 70px;
  }

  .os-relatorio {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .os-relatorio-status { text-align: left; }

  .cabecalho-os-relatorio { display: none; }
  .cabecalho-linhas { top: 92px; grid-template-columns: minmax(0,1fr) 64px 70px; }
  .cabecalho-linhas span:nth-child(3), .cabecalho-linhas span:nth-child(5),
  .linha-relatorio > span:nth-child(3) { display: none; }
  .barra-equipamento { grid-template-columns: 1fr; }
  .barra-equipamento span { text-align: left; }
  .ficha-os-resumo, .ficha-os-grade { grid-template-columns: 1fr 1fr; }

  .linha-relatorio .tempo-linha {
    display: none;
  }
}

@media (max-width: 850px) {
  .central-grid-interno,
  .indicadores,
  .conteudo-aba,
  .formulario-painel {
    grid-template-columns: 1fr;
  }

  .formulario-titulo,
  .formulario-painel > button,
  .formulario-painel > .mensagem-painel,
  .formulario-painel fieldset {
    grid-column: 1;
  }

  .painel-cabecalho,
  .barra-acoes,
  .registro {
    grid-template-columns: 1fr;
    flex-direction: column;
    align-items: stretch;
  }

  .registro-acoes {
    justify-content: flex-start;
  }
}

@media (max-width: 1100px) {
  .dashboard-entrada { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .dashboard-titulo { grid-column: 1 / -1; }
  .topo-data { display:none; }
}

@media (max-width: 650px) {
  .topo-conteudo { align-items:flex-start; }
  .topo-acoes { flex-wrap:wrap; justify-content:flex-end; }
  .marca-icone.marca-cejam { width:58px; height:58px; }
  .marca h1 { font-size:18px; }
  .dashboard-entrada { grid-template-columns:1fr; }
  .cartao-contingencia { align-items:flex-start; flex-direction:column; }
  .conteudo-aba.resumo-administracao { grid-template-columns:1fr; }
}

@media print {
  body > * { display:none !important; }
  body:not(.modo-imprimir-ficha) > .os-contingencia-impressao { display:block !important; zoom:initial; color:#111; font-family:Arial,sans-serif; padding:8mm; }
  body.modo-imprimir-ficha > .os-ficha-impressao { display:block !important; zoom:initial; color:#111; font-family:Arial,sans-serif; padding:8mm; }
  .os-contingencia-impressao header { display:grid; grid-template-columns:70px 1fr auto; gap:14px; align-items:center; border:2px solid #111; padding:10px; }
  .os-contingencia-impressao header img { width:62px; height:62px; object-fit:contain; }
  .os-contingencia-impressao h1 { font-size:20px; margin-bottom:5px; }
  .os-linha, .os-campo, .os-grade span { border:1px solid #111; padding:10px; min-height:44px; }
  .os-grade { display:grid; grid-template-columns:repeat(2,1fr); }
  .os-campo.grande { min-height:120px; }
  .os-grade.assinaturas span { min-height:80px; }
  .os-contingencia-impressao footer { display:block !important; width:auto; border-top:0; padding-top:10px; text-align:center; color:#111; }
  .os-ficha-impressao header { display:grid; grid-template-columns:70px 1fr auto; gap:14px; align-items:center; border:2px solid #111; padding:10px; }
  .os-ficha-impressao header img { width:62px; height:62px; object-fit:contain; }
  .os-ficha-impressao h1 { font-size:20px; }
  .os-ficha-impressao .os-grade { display:grid; grid-template-columns:repeat(2,1fr); }
  .os-ficha-impressao .os-linha,.os-ficha-impressao .os-campo,.os-ficha-impressao .os-grade span { border:1px solid #111; padding:10px; min-height:48px; }
  .os-ficha-impressao .os-campo { min-height:100px; }
}

@media (max-width: 850px) {
  .cards {
    grid-template-columns: 1fr;
  }

  .card {
    min-height: auto;
  }

  .informacoes {
    grid-template-columns: 1fr;
  }

  .informacoes div,
  .informacoes div:first-child {
    padding: 12px 0;
    border-right: 0;
    border-bottom: 1px solid var(--borda);
  }

  .informacoes div:last-child {
    border-bottom: 0;
  }
}

@media (max-width: 600px) {
  .abas-painel button {
    flex: 1 1 calc(50% - 8px);
    padding: 9px 8px;
    font-size: 12px;
  }

  .topo {
    padding: 16px 18px;
  }

  .topo-conteudo {
    align-items: flex-start;
  }

  .marca h1 {
    font-size: 16px;
  }

  .marca p {
    font-size: 11px;
  }

  .marca-icone {
    width: 40px;
    height: 40px;
  }

  .status-sistema {
    display: none;
  }

  .topo-acoes {
    margin-left: auto;
  }

  .marca-icone.marca-cejam {
    width: 52px;
    height: 52px;
    padding: 5px;
  }

  .principal {
    width: calc(100% - 28px);
    padding-top: 35px;
  }

  .apresentacao h2 {
    font-size: 29px;
  }

  .card {
    padding: 22px;
  }

  footer {
    width: calc(100% - 28px);
  }
}

.aviso-avaliacoes-pendentes { margin: 0 0 14px; padding: 12px 14px; border: 1px solid #f0c987; border-radius: 10px; background: #fff8ec; color: #7a5200; }
.aviso-avaliacoes-pendentes p { margin: 4px 0 8px; font-size: 13px; }
.aviso-avaliacoes-pendentes[hidden] { display: none; }
.linha-avaliacao-pendente { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 6px 0; border-top: 1px solid #f0dcae; font-size: 13px; }
.linha-avaliacao-pendente button { flex: 0 0 auto; padding: 6px 12px; border: 0; border-radius: 8px; background: #0d6658; color: #fff; font-weight: 700; cursor: pointer; }

.busca-os-cadeia { grid-template-columns: minmax(140px,.7fr) minmax(200px,1.2fr) minmax(200px,1.2fr) auto; max-width: 1000px; }
.busca-os-cadeia select { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid #cbd7da; border-radius: 8px; background: #fff; }
.busca-os-botoes { display: flex; gap: 8px; }
@media (max-width: 900px) { .busca-os-cadeia { grid-template-columns: 1fr; } }

.linha-equipamento-cronograma { display: block; }
.linha-equipamento-cronograma.com-acao { display: grid; grid-template-columns: 124px minmax(0, 1fr); gap: 8px; align-items: stretch; }
.linha-equipamento-cronograma > .equipamento-cronograma { min-width: 0; grid-template-columns: minmax(0, 1fr) auto auto auto; }
.botao-acao-os { min-height: 56px; padding: 0 10px; border: 0; border-radius: 10px; background: #0d6658; color: #fff; font-family: inherit; font-size: 15px; font-weight: 800; letter-spacing: .2px; line-height: 1.2; text-align: center; cursor: pointer; box-shadow: 0 2px 6px rgba(13, 102, 88, .25); }
.botao-acao-os:hover, .botao-acao-os:focus-visible { background: #0a5246; outline: 2px solid #83bcae; }
.botao-acao-os-abrir { background: #edf3f5; color: #17324d; border: 1px solid #cad8dc; box-shadow: none; }
.botao-acao-os-abrir:hover, .botao-acao-os-abrir:focus-visible { background: #e1ebee; }
@media (max-width: 700px) { .linha-equipamento-cronograma.com-acao { grid-template-columns: 1fr; } .linha-equipamento-cronograma > .equipamento-cronograma { grid-template-columns: minmax(0, 1fr) auto; } }
.linha-marcas-os { display: flex; flex-direction: column; gap: 8px; margin: 10px 0; }
.linha-marcas-os label { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--texto); }
.linha-marcas-os input[type="checkbox"] { width: 22px; height: 22px; }
.linha-marcas-os small { color: var(--cinza); font-weight: 500; }

.chk-confere { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; margin: 8px 0 12px; }
.chk-confere-item { display: flex; align-items: center; gap: 10px; padding: 10px; border: 1px solid var(--borda); border-radius: 10px; background: #f8fafb; font-size: 13px; }
.chk-confere-item input { width: 24px; height: 24px; flex: 0 0 auto; }
.chk-progresso { margin: 6px 0 10px; font-weight: 700; color: var(--azul); }
.chk-progresso.chk-completo { color: #0d6658; }
.chk-lista { display: flex; flex-direction: column; gap: 10px; }
.chk-item { padding: 10px 12px; border: 1px solid var(--borda); border-radius: 10px; background: #fff; }
.chk-texto { font-size: 14px; font-weight: 600; color: var(--azul); margin-bottom: 8px; }
.chk-botoes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.chk-botoes button { min-height: 46px; border: 1px solid #cbd7da; border-radius: 9px; background: #fff; font-weight: 700; font-size: 13px; cursor: pointer; }
.chk-botoes button.ativo.chk-conforme { background: #0d6658; color: #fff; border-color: #0d6658; }
.chk-botoes button.ativo.chk-nao_conforme { background: #c0392b; color: #fff; border-color: #c0392b; }
.chk-botoes button.ativo.chk-na { background: #6b7c85; color: #fff; border-color: #6b7c85; }
.chk-obs { width: 100%; margin-top: 8px; padding: 8px 10px; border: 1px solid #cbd7da; border-radius: 8px; }
.chk-obs[hidden] { display: none; }
@media (max-width: 600px) { .chk-confere { grid-template-columns: 1fr; } }

@page checklist { size: A4 landscape; margin: 7mm; }
@media print {
  .chk-folha { page: checklist; font-family: Arial, sans-serif; color: #000; font-size: 11px; }
  .chk-topo { display: grid; grid-template-columns: 90px 1fr 170px; align-items: center; gap: 10px; }
  .chk-topo img { width: 80px; }
  .chk-topo h1 { font-size: 20px; font-weight: 500; margin: 0; text-align: center; }
  .chk-semana { background: #eee; text-align: center; padding: 6px; font-size: 13px; }
  .chk-consulta { display: inline-grid; grid-template-columns: 1fr 1fr; border: 2px solid #000; margin: 8px 0; text-align: center; font-weight: 700; }
  .chk-consulta span, .chk-consulta b { padding: 8px 14px; border-right: 1px solid #000; } .chk-consulta b { color: #d00; font-style: italic; font-size: 18px; border-right: 0; }
  .chk-dados { display: grid; grid-template-columns: 1.15fr 1fr; gap: 14px; margin-bottom: 6px; }
  .chk-linha { display: grid; grid-template-columns: 1.1fr 1fr auto; gap: 8px; align-items: center; min-height: 22px; border-bottom: 1px dotted #999; }
  .chk-linha span { font-size: 11px; } .chk-linha b { text-align: center; font-weight: 700; }
  .chk-linha i { font-style: normal; border: 1px solid #000; padding: 1px 10px; text-align: center; min-width: 70px; }
  .chk-verde { background: #d9ead3; } .chk-cinza { background: #eee; }
  .chk-crit { font-style: italic; background: #fce5cd; border: 1px solid #000; padding: 1px 8px; }
  .chk-tabela { width: 100%; border-collapse: collapse; margin-top: 8px; table-layout: fixed; }
  .chk-tabela th, .chk-tabela td { border: 1px solid #000; padding: 4px 3px; text-align: center; font-size: 10px; }
  .chk-tabela th { background: #d9d9d9; font-size: 10px; } .chk-tabela th.chk-ativ { font-size: 15px; }
  .chk-tabela th:nth-child(1), .chk-tabela td:nth-child(1), .chk-tabela th:nth-child(5), .chk-tabela td:nth-child(5) { width: 30%; text-align: left; font-weight: 700; }
  .chk-obs-print { margin-top: 8px; border: 1px solid #000; padding: 6px; } .chk-obs-print ul { margin: 4px 0 0 16px; padding: 0; }
  .chk-assinaturas { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 12px; }
  .chk-assinaturas div { border-top: 1px solid #000; min-height: 60px; padding-top: 4px; } .chk-assinaturas img { max-height: 50px; display: block; }
}

.chk-dica { margin: 4px 0 8px; font-size: 12px; color: var(--cinza); }
.chk-confere { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 8px 0 12px; }
.chk-confere-item { display: flex; flex-direction: column; gap: 8px; padding: 10px; border: 1px solid var(--borda); border-radius: 10px; background: #f8fafb; }
.chk-confere-info { display: flex; flex-direction: column; gap: 2px; font-size: 13px; }
.chk-confere-info b { color: var(--azul); font-size: 12px; text-transform: uppercase; letter-spacing: .5px; }
.chk-corrigido { color: #7a5200; background: #fff3d6; border-radius: 6px; padding: 2px 6px; }
.chk-confere-botoes { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.chk-confere-botoes button { min-height: 42px; border: 1px solid #cbd7da; border-radius: 9px; background: #fff; font-weight: 700; cursor: pointer; }
.chk-confere-botoes button.ativo { background: #0d6658; color: #fff; border-color: #0d6658; }
.chk-confere-botoes button.nao { color: #c0392b; border-color: #e6b4ae; }
.chk-nc-alerta { color: #c0392b; font-weight: 800; } .chk-nc-ok { color: #0d6658; font-weight: 800; }
.chk-assinaturas-tela { margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--borda); }
.chk-assinaturas-tela h5 { margin: 0 0 8px; color: var(--azul); }
.chk-assinatura-salva { display: block; max-height: 60px; margin: 6px 0; border: 1px solid #e2e8e9; border-radius: 6px; background: #fff; }
.indicador-nc { margin: 8px 0 12px; padding: 10px 12px; border-radius: 10px; font-size: 14px; }
.indicador-nc[hidden] { display: none; }
.indicador-nc-alerta { background: #fdecea; border: 1px solid #e6b4ae; color: #922b21; }
.indicador-nc-ok { background: #e3f4ee; border: 1px solid #a9d8c6; color: #0d6658; }
@media (max-width: 600px) { .chk-confere { grid-template-columns: 1fr; } }

dialog.modal-decisao.modal-familia-cronograma { width: min(1400px, calc(100% - 40px)); max-width: none; margin: auto; }
dialog.modal-decisao.modal-familia-cronograma .lista-familia-cronograma { max-height: calc(92vh - 200px); }
@media (max-width: 900px) { dialog.modal-decisao.modal-familia-cronograma { width: calc(100% - 20px); } }

/* Janela da família do cronograma: mesmo tamanho da ficha completa do ativo */
dialog.modal-decisao.modal-familia-cronograma { width: min(1480px, 96vw); max-width: 96vw; height: min(900px, 92vh); max-height: 92vh; margin: auto; border-radius: 18px; }
.modal-familia-cronograma .modal-relatorio-conteudo { height: 100%; padding: 24px 28px; overflow: auto; }
dialog.modal-decisao.modal-familia-cronograma .lista-familia-cronograma { max-height: none; overflow: visible; }
@media (max-width: 900px) { dialog.modal-decisao.modal-familia-cronograma { width: calc(100% - 16px); max-width: none; height: 94vh; max-height: 94vh; } .modal-familia-cronograma .modal-relatorio-conteudo { padding: 16px; } }
.proxima-cron { font-weight: 700; color: #1769e8; }
.proxima-cron.vencida { color: #c0392b; }

/* Cronograma anual: cabeçalho (meses) e coluna de equipamentos congelados */
.tabela-cronograma-wrap { overflow: auto; max-height: calc(100vh - 170px); }
.tabela-cronograma { border-collapse: separate; border-spacing: 0; }
.tabela-cronograma th, .tabela-cronograma td { border-width: 0 1px 1px 0; }
.tabela-cronograma thead th { position: sticky; top: 0; z-index: 3; }
.tabela-cronograma tbody th { position: sticky; left: 0; z-index: 2; }
.tabela-cronograma thead th:first-child { left: 0; z-index: 4; }

.modulo-indicador-largo { grid-column: 1 / -1; }
.acoes-familia-cronograma { display: flex; align-items: center; gap: 12px; margin: 0 0 10px; flex-wrap: wrap; }
.linha-manut { margin: 0 0 12px; }
.linha-manut-topo { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; font-size: 13px; margin-bottom: 4px; }
.linha-manut-topo strong { color: var(--azul); }
.barra-manut { display: flex; height: 16px; border-radius: 8px; overflow: hidden; background: #eef2f3; }
.manut-exec { background: #07824f; } .manut-pend { background: #ee8b00; }
.manut-txt-exec { color: #07824f; } .manut-txt-pend { color: #c46a00; }
.linha-manut small { color: var(--cinza); font-size: 11px; }
.legenda-manut { font-size: 12px; color: var(--cinza); margin: 6px 0 0; }
.legenda-manut i { display: inline-block; width: 11px; height: 11px; border-radius: 3px; margin: 0 4px 0 10px; vertical-align: -1px; }

/* Cronograma: em telas largas a página rola normalmente e o cabeçalho dos meses
   para logo abaixo da barra verde do topo; em telas estreitas mantém a rolagem interna. */
@media (min-width: 1300px) {
  .nivel-calibracao { overflow: clip; }
  .tabela-cronograma-wrap { overflow: visible; max-height: none; }
  .tabela-cronograma thead th { top: var(--altura-topo, 96px); }
}

.linha-manut-clicavel { cursor: pointer; padding: 6px 8px; margin-left: -8px; margin-right: -8px; border-radius: 10px; transition: background .15s; }
.linha-manut-clicavel:hover, .linha-manut-clicavel:focus-visible { background: #f2f8f6; outline: 2px solid #83bcae; }
.linha-manut small b { color: var(--azul); }
dialog.modal-decisao.modal-manutencoes-lista { width: min(1200px, 96vw); max-width: 96vw; height: min(820px, 90vh); max-height: 90vh; margin: auto; border-radius: 18px; }
.modal-manutencoes-lista .modal-relatorio-conteudo { height: 100%; padding: 24px 28px; overflow: auto; }
.lista-manut { display: grid; gap: 8px; margin-top: 10px; }
.linha-familia-manut, .equipamento-manut { display: grid; align-items: center; gap: 12px; width: 100%; padding: 12px 14px; border: 1px solid var(--borda); border-radius: 10px; background: #fff; color: var(--azul); text-align: left; cursor: pointer; font-family: inherit; }
.linha-familia-manut { grid-template-columns: minmax(0, 1fr) 130px 130px 130px 60px; }
.equipamento-manut { grid-template-columns: minmax(0, 1fr) 170px 120px; }
.linha-familia-manut:hover, .equipamento-manut:hover, .linha-familia-manut:focus-visible, .equipamento-manut:focus-visible { background: #f3f8f7; outline: 2px solid #83bcae; }
.equipamento-manut strong, .equipamento-manut small { display: block; }
.equipamento-manut small { margin-top: 3px; color: var(--cinza); font-weight: 500; }
@media (max-width: 700px) { .linha-familia-manut { grid-template-columns: 1fr 1fr; } .equipamento-manut { grid-template-columns: 1fr; } }

.lista-servicos-familia { display: grid; gap: 8px; margin-top: 8px; max-width: 1100px; }
.cab-servicos-familia, .linha-servicos-familia { display: grid; grid-template-columns: minmax(200px,1fr) 90px 160px 130px 160px; gap: 14px; align-items: center; padding: 10px 14px; }
.cab-servicos-familia { position: static; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .5px; color: var(--cinza); line-height: 1.2; }
.cab-servicos-familia span { display: block; margin: 0; }
.linha-servicos-familia { border: 1px solid var(--borda); border-radius: 10px; background: #fff; }
.linha-servicos-familia .nome-familia-servico { font-size: 14px; line-height: 1.25; color: var(--azul); overflow-wrap: anywhere; }
.linha-servicos-familia .qtd-familia-servico { font-size: 14px; font-weight: 700; color: var(--azul); text-align: left; }
.marca-servico { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; font-weight: 600; color: var(--azul); white-space: nowrap; }
.marca-servico input { width: 18px; height: 18px; min-height: 0; margin: 0; padding: 0; flex: none; }
.linha-servicos-familia button { min-height: 36px; padding: 0 12px; border: 0; border-radius: 8px; background: var(--verde); color: #fff; font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; }
.linha-servicos-familia button:disabled { opacity: .6; cursor: wait; }
.modal-confirmar-acao { width: min(440px, calc(100vw - 32px)); }
.modal-confirmar-acao p { margin: 10px 0 0; line-height: 1.5; }
@media (max-width: 800px) { .cab-servicos-familia { display: none; } .linha-servicos-familia { grid-template-columns: 1fr 1fr; } .nome-familia-servico { grid-column: 1 / -1; } }

/* Relatórios: janela larga + seções em abas */
.painel-restrito:has(#telaRelatorios:not([hidden])) { width: min(1600px, calc(100% - 40px)); }
.abas-relatorio { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 14px; padding-bottom: 10px; border-bottom: 1px solid var(--borda); }
.abas-relatorio button { min-height: 38px; padding: 0 16px; border: 1px solid var(--borda); border-radius: 999px; background: #f4f8f8; color: var(--azul); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.abas-relatorio button:hover { background: #e8f1f0; }
.abas-relatorio button.ativa { background: var(--verde); border-color: var(--verde); color: #fff; }
#telaRelatorios .aba-fechada { display: none !important; }
#telaRelatorios .grade-relatorios { grid-template-columns: 1fr; }

/* Pop-up "O que há de novo" */
.modal-novidades { width: min(560px, calc(100vw - 32px)); max-height: 86vh; padding: 0; border: 0; border-radius: 16px; overflow: hidden; box-shadow: 0 24px 70px rgba(10,30,45,.35); background: #fff; }
.modal-novidades[open] { display: flex; flex-direction: column; animation: novidadesEntrada .28s ease; }
.modal-novidades::backdrop { background: rgba(12,28,40,.55); backdrop-filter: blur(3px); }
@keyframes novidadesEntrada { from { opacity: 0; transform: translateY(14px) scale(.98); } to { opacity: 1; transform: none; } }
.novidades-topo { display: flex; align-items: center; gap: 14px; padding: 22px 24px; background: linear-gradient(135deg, var(--verde), #17607a); color: #fff; }
.novidades-topo h3 { margin: 0; font-size: 21px; }
.novidades-topo p { margin: 3px 0 0; font-size: 13px; opacity: .85; }
.novidades-selo { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 12px; background: rgba(255,255,255,.18); font-size: 24px; flex: none; }
.novidades-lista { display: grid; gap: 12px; padding: 18px 20px; overflow-y: auto; background: #f4f8f8; }
.novidade-card { display: flex; gap: 14px; padding: 14px 16px; border: 1px solid var(--borda); border-radius: 12px; background: #fff; box-shadow: 0 2px 8px rgba(23,50,77,.05); }
.novidade-icone { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; background: #e6f1ef; font-size: 20px; flex: none; }
.novidade-card small { color: var(--cinza); font-weight: 700; font-size: 11px; }
.novidade-card h4 { margin: 2px 0 6px; color: var(--azul); font-size: 15px; }
.novidade-card ul { margin: 0; padding-left: 18px; color: var(--texto); font-size: 13px; line-height: 1.45; }
.novidade-card li + li { margin-top: 3px; }
.novidades-rodape { display: flex; justify-content: flex-end; padding: 14px 20px; border-top: 1px solid var(--borda); background: #fff; }
.novidades-rodape button { min-height: 40px; padding: 0 26px; border: 0; border-radius: 9px; background: var(--verde); color: #fff; font: inherit; font-weight: 800; cursor: pointer; }

.nota-manut-tse { font-size: 11px; color: var(--cinza); margin-top: 2px; }

.alerta-divergencia-importacao { grid-column: 1 / -1; padding: 14px 16px; border: 1px solid #f0a95c; border-radius: 12px; background: #fff3e2; color: #7a3d00; }
.alerta-divergencia-importacao p { margin: 6px 0; font-size: 13px; }
.alerta-divergencia-importacao ul { margin: 6px 0 0; padding-left: 20px; font-size: 13px; font-weight: 600; }

.lista-divergencias { display: grid; gap: 10px; margin-top: 10px; }
.item-divergencia { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px, 420px); gap: 12px; align-items: center; padding: 10px 12px; border: 1px solid #f0c78f; border-radius: 10px; background: #fffaf2; }
.item-divergencia.resolvida { background: #eaf6ee; border-color: #a9d6b8; }
.item-divergencia small { color: #8a5a20; }
.acao-divergencia { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.acao-divergencia label { font-size: 12px; font-weight: 700; margin: 0; }
.acao-divergencia select { flex: 1 1 200px; min-height: 36px; border: 1px solid #cbd7da; border-radius: 8px; padding: 0 8px; background: #fff; }
.acao-divergencia button { min-height: 36px; padding: 0 14px; border: 0; border-radius: 8px; background: var(--verde); color: #fff; font-weight: 800; cursor: pointer; }
.acao-divergencia button:disabled { opacity: .6; cursor: wait; }
.ok-divergencia { color: #17603a; font-weight: 800; }
.erro-divergencia { margin-top: 6px; color: #8f1d1d; font-size: 12px; font-weight: 700; }
.dica-divergencia { font-size: 12px; }
@media (max-width: 800px) { .item-divergencia { grid-template-columns: 1fr; } }

.bloco-ver-relatorio { grid-column: 1 / -1; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 8px; }
.txt-rejeicoes { color: #a12a2a; }
.cab-hist-importacao, .linha-hist-importacao { display: grid; grid-template-columns: 50px 160px 150px 70px 100px 110px 100px 140px; gap: 10px; align-items: center; padding: 8px 12px; font-size: 13px; }
.cab-hist-importacao { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .4px; color: var(--cinza); }
.linha-hist-importacao { border: 1px solid var(--borda); border-radius: 10px; background: #fff; margin-top: 6px; }
.relatorio-importacao h4 { margin: 14px 0 4px; color: var(--azul); }
.relatorio-importacao ul { margin: 4px 0; padding-left: 20px; font-size: 13px; }
.numeros-rel { max-height: 140px; overflow: auto; margin: 4px 0; padding: 8px 10px; border: 1px solid var(--borda); border-radius: 8px; background: #f6f9f9; font-size: 12px; line-height: 1.6; word-break: break-word; }
.cartoes-rel { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.cartoes-rel > div { padding: 10px; border: 1px solid var(--borda); border-radius: 10px; background: #f6f9f9; text-align: center; }
.cartoes-rel b { display: block; font-size: 24px; color: var(--verde); }
.cartoes-rel .ruim b { color: #a12a2a; }
.cartoes-rel span { font-size: 11px; color: var(--cinza); }
.acoes-rel { margin-top: 14px; display: flex; gap: 8px; }
@media (max-width: 900px) { .cab-hist-importacao { display: none; } .linha-hist-importacao { grid-template-columns: 1fr 1fr; } }

/* Aba de importação: as três áreas lado a lado */
.painel-restrito:has(#abaImportacaoAdmin:not([hidden])) { width: min(1600px, calc(100% - 40px)); }
#abaImportacaoAdmin:not([hidden]) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: start; }
#abaImportacaoAdmin .gestao-setores { padding: 16px; gap: 10px; min-width: 0; }
#abaImportacaoAdmin .cabecalho-conferencia h3 { font-size: 16px; }
#abaImportacaoAdmin .cabecalho-conferencia p { font-size: 12.5px; line-height: 1.4; }
#abaImportacaoAdmin .formulario-painel { padding: 12px; gap: 8px; }
#abaImportacaoAdmin .formulario-painel label { font-size: 12px; }
#abaImportacaoAdmin .nome-arquivo-selecionado { font-size: 12px; }
#abaImportacaoAdmin .formulario-painel button { min-height: 40px; }
.linha-hist-importacao { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 8px 10px; margin-top: 6px; border: 1px solid var(--borda); border-radius: 10px; background: #fff; font-size: 12.5px; }
.linha-hist-importacao .h-id { font-weight: 800; color: var(--verde); }
.linha-hist-importacao small { color: var(--cinza); }
.linha-hist-importacao button { min-height: 32px; padding: 0 12px; }
@media (max-width: 1100px) { #abaImportacaoAdmin:not([hidden]) { grid-template-columns: 1fr; } }

/* Anexos e fotos das OS */
.anexos-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:8px 0}
.anexo-item{margin:0;border:1px solid var(--borda,#dbe4ea);border-radius:12px;overflow:hidden;background:#fff;cursor:pointer}
.anexo-item img{width:100%;height:110px;object-fit:cover;display:block;background:#eef3f6}
.anexo-pdf{height:110px;display:flex;align-items:center;justify-content:center;background:#eef3f6;font-weight:700}
.anexo-item figcaption{padding:8px 10px;font-size:12px;display:flex;flex-direction:column;gap:2px;word-break:break-word}
.anexo-item figcaption small{color:#6b7a86}
.anexos-acoes{display:flex;align-items:center;gap:12px;margin-top:10px;flex-wrap:wrap}
.anexo-botao{cursor:pointer;display:inline-block}
.chk-res-conforme{color:#1f7a3f;font-weight:700}.chk-res-nao_conforme{color:#b3261e;font-weight:700}.chk-res-na{color:#6b7a86}

.campo-anexos-encerrar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:8px 0}
.campo-anexos-encerrar .rotulo-campo,.campo-anexos-encerrar small{flex-basis:100%}


/* Edição do cadastro do ativo: corpo rola, justificativa/senha/botões ficam sempre visíveis */
.modal-editar-ativo { width: min(900px, calc(100% - 28px)); }
.modal-editar-ativo form { display: flex; flex-direction: column; max-height: 90vh; padding: 22px 24px 0; }
.editar-ativo-corpo { overflow-y: auto; flex: 1 1 auto; min-height: 120px; padding-right: 6px; margin-bottom: 8px; }
.editar-ativo-corpo fieldset { border: 1px solid var(--borda); border-radius: 10px; margin: 0 0 12px; padding: 8px 12px 12px; }
.editar-ativo-corpo legend { color: var(--azul); font-weight: 800; font-size: 13px; padding: 0 6px; }
.grade-editar-ativo { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 12px; }
.grade-editar-ativo label { margin: 0; }
.grade-editar-ativo label > span, .editar-ativo-rodape label > span { display: block; color: var(--cinza); font-size: 11px; text-transform: uppercase; font-weight: 750; margin-bottom: 3px; }
.grade-editar-ativo input, .grade-editar-ativo select, .grade-editar-ativo textarea { width: 100%; }
.grade-editar-ativo .campo-largo { grid-column: 1 / -1; }
.editar-ativo-rodape { flex: 0 0 auto; border-top: 1px solid var(--borda); background: #fff; padding: 12px 0 18px; display: grid; grid-template-columns: 1fr 260px; gap: 10px 12px; }
.editar-ativo-rodape .campo-largo { grid-column: 1; }
.editar-ativo-rodape .modal-acoes, .editar-ativo-rodape .mensagem-painel { grid-column: 1 / -1; }
.botao-editar-ativo { margin-left: 10px; font-size: 12px; padding: 4px 10px; vertical-align: middle; }
.historico-cadastro-ativo h4 { color: var(--azul); margin: 18px 0 10px; }
@media (max-width: 720px) { .grade-editar-ativo { grid-template-columns: 1fr 1fr; } .editar-ativo-rodape { grid-template-columns: 1fr; } }
.grade-editar-ativo input[type="text"], .grade-editar-ativo input[type="date"] {
  width: 100%; min-height: 40px; padding: 8px 10px; border: 1px solid #cbd7da; border-radius: 8px; background: #fff; color: var(--texto); font: inherit; box-sizing: border-box;
}
.grade-editar-ativo select, .editar-ativo-rodape input[type="password"] { min-height: 40px; margin-top: 0; box-sizing: border-box; }
.grade-editar-ativo textarea, .editar-ativo-rodape textarea { margin-top: 0; box-sizing: border-box; }
.grade-editar-ativo input:focus, .grade-editar-ativo select:focus, .grade-editar-ativo textarea:focus { outline: 2px solid rgba(22,118,163,.35); border-color: var(--azul); }

/* Janelas (pop-ups) SEMPRE no eixo da tela: centradas na horizontal e na vertical, com rolagem por dentro quando o conteúdo é maior que a tela (padrão de todos os apps). */
dialog.modal-decisao, dialog.modal-novidades { margin: auto; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); }
dialog.modal-decisao:not([open]), dialog.modal-novidades:not([open]) { display: none; }

/* Formulário de produção da Planisa (aba "Planisa (KPIH)" em Relatórios) */
.planisa-acoes { display: flex; gap: 12px; flex-wrap: wrap; align-items: flex-end; margin: 12px 0; padding: 16px; background: #f3f7f7; border: 1px solid var(--borda); border-radius: 12px; }
.planisa-acoes label { display: grid; gap: 6px; color: var(--azul); font-size: 11px; font-weight: 750; min-width: 260px; flex: 1; max-width: 460px; }
.planisa-acoes input, .planisa-centros-barra input { min-height: 42px; padding: 8px 10px; border: 1px solid #cbd7da; border-radius: 8px; background: #fff; color: var(--texto); font: inherit; font-size: 14px; box-sizing: border-box; width: 100%; }
.planisa-acoes button, .planisa-centros-barra button { min-height: 42px; padding: 10px 18px; border: 0; border-radius: 8px; background: var(--verde); color: #fff; font: inherit; font-size: 14px; font-weight: 750; cursor: pointer; }
.planisa-acoes button.botao-secundario, .planisa-centros-barra button.botao-secundario { background: #fff; color: var(--azul); border: 1px solid #cdd9dc; }
.planisa-acoes button:disabled { opacity: .5; cursor: not-allowed; }
.planisa-centros-caixa { border: 1px solid var(--borda); border-radius: 12px; padding: 4px 16px 14px; margin: 12px 0; background: #fff; }
.planisa-centros-caixa summary { cursor: pointer; font-weight: 750; color: var(--azul); padding: 10px 0; font-size: 14px; }
.planisa-centros-caixa summary small { font-weight: 500; color: #7a8c94; }
.planisa-centros-barra { display: flex; gap: 8px; flex-wrap: wrap; margin: 4px 0 10px; }
.planisa-centros-barra input { flex: 1; min-width: 220px; width: auto; }
.planisa-centros { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 4px 16px; max-height: 300px; overflow: auto; padding: 8px 10px; background: #f8fafb; border: 1px solid #e3ebee; border-radius: 10px; }
.planisa-centros label { display: flex; gap: 8px; align-items: center; font-size: 13px; font-weight: 600; cursor: pointer; padding: 3px 0; }
.planisa-centros input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--verde); flex: none; }
.planisa-centros small { color: #7a8c94; margin-left: auto; }
.planisa-resumo { margin: 12px 0 6px; font-size: 14px; }
.planisa-avisos { margin: 8px 0; padding: 10px 14px 10px 30px; background: #fff7e0; border: 1px solid #f0d58a; border-radius: 10px; font-size: 13px; color: #6b4b00; }
.planisa-duas { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 16px; align-items: start; }
.planisa-tabela h4 { margin: 6px 0; font-size: 14px; }
.planisa-tabela table { min-width: 0; }
.planisa-tabela td.num, .planisa-tabela th.num { text-align: right; white-space: nowrap; }
.planisa-tabela tfoot td { background: #e9f1f7; font-weight: 800; }
.planisa-nota { font-size: 12px; color: #7a8c94; margin-top: 8px; }
.planisa-email { margin-top: 0; }
.planisa-email label { max-width: 560px; }

/* Link público do relatório Planisa (aba Relatórios) */
.planisa-link { margin: 12px 0; padding: 16px; background: #eef5ff; border: 1px solid #c9dcf5; border-radius: 12px; display: grid; gap: 10px; }
.planisa-link-topo { display: grid; gap: 4px; }
.planisa-link-topo strong { color: var(--azul); font-size: 15px; }
.planisa-link-topo small { color: #51606b; font-size: 12.5px; line-height: 1.4; }
.planisa-link-linha { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.planisa-link-linha input { flex: 1; min-width: 260px; min-height: 42px; padding: 8px 12px; border: 1px solid #cbd7da; border-radius: 8px; background: #fff; color: var(--texto); font: inherit; font-size: 14px; box-sizing: border-box; }
.planisa-link-linha button { min-height: 42px; padding: 10px 18px; border: 0; border-radius: 8px; background: var(--verde); color: #fff; font: inherit; font-size: 14px; font-weight: 750; cursor: pointer; }
.planisa-link-linha button.botao-secundario { background: #fff; color: var(--azul); border: 1px solid #cdd9dc; }
