:root{--azul:#0b3765;--azul2:#15558f;--verde:#35a853;--fundo:#f4f7fa;--texto:#23313d;--borda:#dbe4ec}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--fundo);color:var(--texto)}
.topo{height:76px;background:white;border-bottom:4px solid var(--verde);display:flex;align-items:center;padding:8px 24px;gap:18px;position:sticky;top:0;z-index:10}
.topo img{width:145px;height:56px;object-fit:contain}.topo h1{font-size:20px;color:var(--azul);margin:0}.topo small{color:#687887}
.layout{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 76px)}.menu{background:var(--azul);padding:22px 14px}
.menu a{display:block;color:white;text-decoration:none;padding:13px 14px;margin:5px 0;border-radius:8px}.menu a:hover{background:var(--azul2)}
.conteudo{padding:28px;max-width:1400px}.titulo-linha{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
h2,h3{color:var(--azul)}.cards{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:18px;margin-bottom:24px}
.card,.painel{background:white;border:1px solid var(--borda);border-radius:12px;box-shadow:0 2px 8px #0000000c}.card{padding:22px}.card strong{display:block;font-size:30px;color:var(--azul);margin-top:8px}.painel{padding:22px;margin-bottom:22px}
.btn{display:inline-block;border:0;border-radius:8px;padding:11px 16px;background:var(--verde);color:white;text-decoration:none;font-weight:bold;cursor:pointer}.btn.azul{background:var(--azul)}.btn.cinza{background:#627383}
table{width:100%;border-collapse:collapse;background:white}th,td{padding:10px;border-bottom:1px solid var(--borda);text-align:left;font-size:14px}th{background:#eef3f7;color:var(--azul)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:15px}.form-grid .full{grid-column:1/-1}
label{display:block;font-weight:bold;font-size:13px;color:#405261;margin-bottom:5px}input,select,textarea{width:100%;padding:10px;border:1px solid #bccbd7;border-radius:7px;font-size:15px;background:white}textarea{min-height:80px}
.secao{grid-column:1/-1;background:var(--azul);color:white;padding:9px 12px;border-radius:7px;font-weight:bold;margin-top:8px}
.resultados{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.resultado{background:#eef7f0;border-left:4px solid var(--verde);padding:12px;border-radius:6px}
.aviso{padding:12px;background:#fff4d6;border:1px solid #f0cf70;border-radius:7px;margin-bottom:18px}.acoes{display:flex;gap:8px;flex-wrap:wrap}
.historico{border-left:3px solid var(--azul);padding:8px 12px;margin:8px 0;background:#f8fafc}
@media(max-width:850px){.layout{grid-template-columns:1fr}.menu{display:flex;overflow:auto;padding:8px}.menu a{white-space:nowrap}.conteudo{padding:16px}.cards,.form-grid,.resultados{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}
\n.tabela-scroll{overflow-x:auto}.grade-gesso{min-width:1450px}.grade-gesso input{min-width:78px;padding:7px}.grade-gesso textarea{min-width:190px;min-height:55px;padding:7px}.grade-gesso th,.grade-gesso td{padding:5px}.remover{border:0;background:#b83b3b;color:white;border-radius:5px;font-size:20px;cursor:pointer;width:30px;height:30px}\n
.matriz-opcoes{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:20px;max-width:850px;margin-top:24px}
.matriz-opcao{display:flex;flex-direction:column;gap:9px;padding:28px;background:white;border:1px solid var(--borda);border-left:6px solid var(--verde);border-radius:12px;text-decoration:none;color:var(--texto);box-shadow:0 2px 8px #0000000c}
.matriz-opcao:hover{border-color:var(--azul2);transform:translateY(-1px)}
.matriz-opcao strong{font-size:21px;color:var(--azul)}
.matriz-opcao span{color:#687887}
@media(max-width:850px){.matriz-opcoes{grid-template-columns:1fr}}

.menu-grupo{
  margin:20px 18px 7px;
  padding-top:13px;
  border-top:1px solid rgba(255,255,255,.22);
  color:rgba(255,255,255,.72);
  font-size:11px;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
}


/* v0.3.3.2.1 */
.menu-grupo{
  color:#8bcf27 !important;
  border-bottom-color:#8bcf27 !important;
  font-weight:800;
}
.matriz-instrucao{color:#687887;margin:4px 0 22px}
.matriz-botoes{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:20px;max-width:980px}
.matriz-botao{
  display:grid;grid-template-columns:58px 1fr 24px;align-items:center;gap:16px;
  min-height:110px;padding:22px;border:1px solid #d8e1ea;border-left:6px solid #8bcf27;
  border-radius:12px;background:#fff;color:#17293f;text-decoration:none;
  box-shadow:0 3px 10px rgba(5,31,66,.08);transition:.15s
}
.matriz-botao:hover{transform:translateY(-2px);border-color:#8bcf27;box-shadow:0 8px 20px rgba(5,31,66,.13)}
.matriz-icone{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:12px;background:#edf8df;color:#4ba82c;font-size:34px;font-weight:700}
.matriz-botao strong{display:block;color:#102d52;font-size:20px;margin-bottom:7px}
.matriz-botao small{display:block;color:#687887;font-size:14px;line-height:1.4}
.matriz-botao b{color:#91a1b1;font-size:36px}
.dashboard-cards{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:17px;margin:20px 0}
.dashboard-card{padding:21px;border:1px solid #d8e1ea;border-top:5px solid #8bcf27;border-radius:11px;background:#fff;box-shadow:0 3px 10px rgba(5,31,66,.07)}
.dashboard-card span{display:block;color:#52667a;font-size:14px;font-weight:700}
.dashboard-card strong{display:block;color:#102d52;font-size:32px;margin:6px 0 2px}
.dashboard-card small{color:#758496}
.dashboard-painel{overflow:hidden;border:1px solid #d8e1ea;border-radius:11px;background:#fff;box-shadow:0 3px 10px rgba(5,31,66,.07)}
.dashboard-painel h3{margin:0;padding:17px 20px;border-bottom:1px solid #e3e9ef;color:#102d52}
.dashboard-tabela-wrap{overflow:auto}
.dashboard-tabela{width:100%;border-collapse:collapse}
.dashboard-tabela th,.dashboard-tabela td{padding:13px 15px;border-bottom:1px solid #e7ecf1;text-align:left}
.dashboard-tabela th{background:#f7f9fb;color:#42566a;font-size:13px}
.dashboard-tabela a{color:#1764ad;font-weight:700;text-decoration:none}
.tag{display:inline-block;padding:5px 10px;border-radius:6px;font-size:12px;font-weight:700}
.tag-racao{background:#edf6ff;color:#1764ad;border:1px solid #bedaf3}
.tag-gesso{background:#eff9ec;color:#338a2e;border:1px solid #cce5c6}
.vazio{text-align:center;color:#758496;padding:28px!important}
@media(max-width:1000px){.dashboard-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.matriz-botoes,.dashboard-cards{grid-template-columns:1fr}}

.fluxo-grupos{display:grid;gap:28px}.fluxo-grupos section{padding:20px;border:1px solid #dbe3ea;border-radius:12px;background:#f9fbfc}.fluxo-grupos h3{color:#102d52;margin:0 0 16px}.matriz-botao.analise{border-left-color:#1590a8}.status{display:inline-block;padding:5px 9px;border-radius:12px;background:#eef2f5;font-size:12px}.status-aguardando_analise{background:#fff4cc;color:#7a5900}.status-em_analise{background:#dff3fa;color:#075b6f}.status-analise_concluida{background:#e5f6df;color:#2d6d22}.resumo-amostra{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:16px}.btn.pequeno{padding:7px 10px;font-size:13px}


/* v0.3.4.1 - ações das análises concluídas */
.acoes-tabela{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.btn.imprimir{
  background:#1590a8;
  border-color:#1590a8;
  color:#fff;
  white-space:nowrap;
}

.btn.imprimir:hover{
  background:#0f7488;
  border-color:#0f7488;
}

.campo-amarelo{background:#fff3a6!important;border:1px solid #d3b83d!important}.resultado-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:12px 0}.resultado-verde{background:#dff3c4;border:1px solid #9bc46a;border-radius:8px;padding:12px}.resultado-verde small{display:block}.resultado-verde strong{font-size:20px}.alerta-pn{background:#ffe0e0;border:1px solid #d46767;padding:12px;border-radius:8px;font-weight:bold;margin:12px 0}

.unidade-campo{color:#65758a;font-size:12px;font-weight:600}

.form-excluir-protocolo{display:inline-flex;margin:0}
.btn.excluir-protocolo{background:#b42318;border-color:#b42318;color:#fff}
.btn.excluir-protocolo:hover{background:#8f1d14;border-color:#8f1d14}

.resultado-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.resultado-grid input{width:100%}

.tabela-scroll{overflow:auto;max-width:100%}
.excel-grid{border-collapse:collapse;min-width:1900px;background:#fff}
.excel-grid th{position:sticky;top:0;z-index:2;background:#e9eef5;border:1px solid #9aa6b2;padding:6px;font-size:12px;white-space:nowrap}
.excel-grid td{border:1px solid #b6c0ca;padding:0}
.excel-grid td.fixo{padding:6px;background:#f7f8fa;white-space:nowrap}
.excel-grid input{width:100%;min-width:76px;border:0;padding:6px;background:#fff;box-sizing:border-box}
.excel-grid input:focus{outline:2px solid #4c8bf5;outline-offset:-2px;background:#eef5ff}

/* v0.3.9.0 - Fertilizantes */
.fert-grid{min-width:3600px}
.fert-grid thead .grupo th{color:#fff;text-align:center;font-weight:700}
.fert-grid .g-n{background:#24578A}
.fert-grid .g-p{background:#B59427}
.fert-grid .g-k{background:#D37719}
.fert-grid .g-fq{background:#5E9739}
.fert-grid .g-micro{background:#244B74}
.fert-grid .g-sec{background:#2B7181}
.fert-grid .g-cont{background:#66577A}
.fert-grid select{min-width:110px}


/* Matriz Solo - colunas de identificação congeladas na grade horizontal */
#excelGrid .solo-sticky-col{
  position: sticky;
  background: #f7f8fa;
  white-space: nowrap;
}
#excelGrid thead .solo-sticky-col{
  z-index: 8;
  background: #e9eef5;
}
#excelGrid tbody .solo-sticky-col{
  z-index: 5;
}
#excelGrid .solo-sticky-1{
  left: 0;
  width: 92px;
  min-width: 92px;
  max-width: 92px;
}
#excelGrid .solo-sticky-2{
  left: 92px;
  width: 92px;
  min-width: 92px;
  max-width: 92px;
}
#excelGrid .solo-sticky-3{
  left: 184px;
  width: 118px;
  min-width: 118px;
  max-width: 118px;
}
#excelGrid .solo-sticky-4{
  left: 302px;
  width: 82px;
  min-width: 82px;
  max-width: 82px;
  box-shadow: 3px 0 5px rgba(0,0,0,.12);
}


/* Solo — Métodos / Extratores */
.metodos-painel{
  padding: 20px;
  overflow: visible;
}
.metodos-cabecalho{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
  padding-bottom:12px;
  border-bottom:1px solid #dfe5eb;
}
.metodos-cabecalho h3{
  margin:0 0 4px;
  font-size:18px;
}
.metodos-cabecalho p{
  margin:0;
  color:#66717c;
  font-size:13px;
}
.metodos-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.metodo-card{
  min-width:0;
  padding:14px;
  border:1px solid #d8e0e7;
  border-radius:10px;
  background:#fff;
  box-shadow:0 1px 2px rgba(20,35,50,.04);
}
.metodo-titulo{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:11px;
  font-weight:700;
  color:#202a34;
}
.metodo-simbolo{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:40px;
  height:28px;
  padding:0 8px;
  border-radius:7px;
  background:#eef3f8;
  color:#081050;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.metodo-opcao{
  display:flex !important;
  align-items:center;
  gap:8px;
  width:100%;
  min-height:34px;
  margin:6px 0 !important;
  padding:7px 9px;
  border:1px solid #e0e6eb;
  border-radius:7px;
  background:#f9fbfc;
  font-weight:500 !important;
  cursor:pointer;
  box-sizing:border-box;
}
.metodo-opcao:hover{
  border-color:#aab8c4;
  background:#f3f7fa;
}
.metodo-opcao:has(input:checked){
  border-color:#5D873A;
  background:#f3f8ef;
}
.metodo-opcao input[type="radio"],
.metodo-opcao input[type="checkbox"]{
  width:16px;
  height:16px;
  margin:0;
  flex:0 0 auto;
  accent-color:#5D873A;
}
.metodo-opcao span{
  line-height:1.2;
}
.metodo-ajuda{
  display:block;
  margin-top:7px;
  color:#74808b;
  line-height:1.25;
}
.metodos-fixos{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:14px;
  padding:11px 13px;
  border:1px solid #dfe5eb;
  border-radius:9px;
  background:#f7f9fb;
}
.metodos-fixos-titulo{
  flex:0 0 auto;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#59636d;
}
.metodos-fixos-lista{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.metodos-fixos-lista span{
  display:inline-flex;
  gap:5px;
  align-items:center;
  padding:5px 8px;
  border-radius:6px;
  background:#fff;
  border:1px solid #e0e5e9;
  font-size:12px;
  white-space:nowrap;
}
@media (max-width:1050px){
  .metodos-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:680px){
  .metodos-grid{grid-template-columns:1fr;}
  .metodos-fixos{align-items:flex-start;flex-direction:column;}
}


/* Solo - Conferência de Resultados */
.conferencia-grid .conf-cell{position:relative;padding:0!important;background:#fff;}
.conferencia-grid .conf-cell input{min-width:72px;width:100%;box-sizing:border-box;border:0;background:transparent;padding:6px 5px;text-align:center;}
.conferencia-grid .conf-cell.conf-edited{background:#fff4bf;}
.conferencia-grid .conf-cell.conf-edited input{background:transparent;}
.conf-cell.alert-depth input,.calc-cell.alert-depth{color:#c51616!important;font-weight:700;}
.conf-cell.alert-blue input,.calc-cell.alert-blue{color:#075ec8!important;font-weight:700;}
.conf-cell.alert-orange input,.calc-cell.alert-orange{color:#d66b00!important;font-weight:700;}
.conf-cell.alert-outlier input,.calc-cell.alert-outlier{color:#7b2cbf!important;font-weight:700;}
.conf-cell.alert-magenta,.calc-cell.alert-magenta{outline:3px solid #d100a7;outline-offset:-3px;}
.conf-cell.alert-critical,.calc-cell.alert-critical{background:#ffdede!important;color:#8a0000!important;font-weight:800;}
.conf-cell.alert-critical input{color:#8a0000!important;font-weight:800;background:transparent!important;}
.conferencia-legenda{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.conferencia-legenda span{display:inline-block;padding:5px 8px;border-radius:5px;border:1px solid #d6dde4;font-size:12px;}
.conferencia-legenda small{width:100%;margin-top:3px;color:#66717c;}
.leg-edited{background:#fff4bf;}
.leg-depth{color:#c51616;font-weight:700;}
.leg-blue{color:#075ec8;font-weight:700;}
.leg-orange{color:#d66b00;font-weight:700;}
.leg-outlier{color:#7b2cbf;font-weight:700;}
.leg-magenta{outline:3px solid #d100a7;outline-offset:-3px;}
.leg-critical{background:#ffdede;color:#8a0000;font-weight:700;}
.conf-tooltip{position:fixed;z-index:99999;max-width:370px;background:#17212b;color:#fff;padding:10px 12px;border-radius:7px;box-shadow:0 5px 18px rgba(0,0,0,.28);font-size:12px;line-height:1.35;pointer-events:none;}
.conf-tooltip strong{display:block;margin-bottom:5px;}
.conf-tooltip ul{margin:0;padding-left:18px;}
.conf-tooltip li+li{margin-top:4px;}
#conferenciaCalculos .calc-cell{text-align:center;min-width:62px;}


/* v0.3.10.23 - congelamento da Conferência Solo */
.conferencia-grid{border-collapse:separate;border-spacing:0;}
.conferencia-grid thead th{position:sticky;top:0;z-index:30;background:#e8edf2;}
.conferencia-grid .solo-sticky-col{position:sticky!important;background:#f7f9fb!important;z-index:20;}
.conferencia-grid thead .solo-sticky-col{z-index:40!important;background:#e8edf2!important;}
.conferencia-grid .solo-sticky-1{left:0;min-width:78px;width:78px;}
.conferencia-grid .solo-sticky-2{left:78px;min-width:105px;width:105px;}
.conferencia-grid .solo-sticky-3{left:183px;min-width:105px;width:105px;}
.conferencia-grid .solo-sticky-4{left:288px;min-width:82px;width:82px;}
.conferencia-grid td.solo-sticky-col{box-shadow:1px 0 0 #d6dde4;}
.conferencia-grid td.conf-edited{background:#fff4bf!important;}
.conferencia-grid td.alert-critical{background:#ffdede!important;}


/* v0.3.10.26 - janela fixa da grade de Conferência Solo */
.conferencia-painel-grade{
  overflow:hidden;
}
.conferencia-scroll-12{
  /* 36 px de cabeçalho + 12 linhas de 34 px + bordas */
  height:446px;
  max-height:446px;
  width:100%;
  overflow:auto!important;
  position:relative;
  border:1px solid #cfd7df;
  border-radius:6px;
  box-sizing:border-box;
  scrollbar-gutter:stable;
}
.conferencia-scroll-12 .conferencia-grid{
  margin:0;
  min-width:max-content;
}
.conferencia-scroll-12 .conferencia-grid thead th{
  height:36px;
  min-height:36px;
  max-height:36px;
  box-sizing:border-box;
  white-space:nowrap;
  top:0;
}
.conferencia-scroll-12 .conferencia-grid tbody tr{
  height:34px;
  min-height:34px;
  max-height:34px;
}
.conferencia-scroll-12 .conferencia-grid tbody td{
  height:34px;
  min-height:34px;
  max-height:34px;
  box-sizing:border-box;
}
.conferencia-scroll-12 .conferencia-grid .conf-cell input{
  height:33px;
  min-height:33px;
  padding:4px 5px;
  box-sizing:border-box;
}
/* Mantém o cruzamento do cabeçalho com as quatro colunas congeladas acima de tudo. */
.conferencia-scroll-12 .conferencia-grid thead .solo-sticky-col{
  z-index:60!important;
}


/* v0.3.10.27 - Conferência Solo: colunas mais compactas */
.conferencia-scroll-12 .conferencia-grid th,
.conferencia-scroll-12 .conferencia-grid td{
  min-width:64px!important;
  width:64px!important;
  max-width:64px!important;
  padding-left:2px!important;
  padding-right:2px!important;
}
.conferencia-scroll-12 .conferencia-grid th{
  font-size:11px!important;
  line-height:1.05!important;
  white-space:normal!important;
}
.conferencia-scroll-12 .conferencia-grid td input{
  width:100%!important;
  min-width:0!important;
  padding-left:3px!important;
  padding-right:3px!important;
  font-size:12px!important;
}
/* As quatro colunas de identificação ficam compactas, mas ainda legíveis. */
.conferencia-scroll-12 .conferencia-grid th:nth-child(1),
.conferencia-scroll-12 .conferencia-grid td:nth-child(1){width:68px!important;min-width:68px!important;max-width:68px!important;}
.conferencia-scroll-12 .conferencia-grid th:nth-child(2),
.conferencia-scroll-12 .conferencia-grid td:nth-child(2){width:76px!important;min-width:76px!important;max-width:76px!important;}
.conferencia-scroll-12 .conferencia-grid th:nth-child(3),
.conferencia-scroll-12 .conferencia-grid td:nth-child(3){width:70px!important;min-width:70px!important;max-width:70px!important;}
.conferencia-scroll-12 .conferencia-grid th:nth-child(4),
.conferencia-scroll-12 .conferencia-grid td:nth-child(4){width:58px!important;min-width:58px!important;max-width:58px!important;}


/* v0.3.10.28 - correção dos offsets das colunas congeladas
   Larguras atuais:
   Nº Lab 68 px | Talhão 76 px | Amostra 70 px | Prof. 58 px
   Offsets acumulados:
   0 | 68 | 144 | 214
*/
.conferencia-scroll-12 .conferencia-grid .solo-sticky-1{
  left:0!important;
}
.conferencia-scroll-12 .conferencia-grid .solo-sticky-2{
  left:68px!important;
}
.conferencia-scroll-12 .conferencia-grid .solo-sticky-3{
  left:144px!important;
}
.conferencia-scroll-12 .conferencia-grid .solo-sticky-4{
  left:214px!important;
}
/* Evita que o conteúdo de uma coluna congelada transpareça sobre a seguinte. */
.conferencia-scroll-12 .conferencia-grid .solo-sticky-col{
  background:#f7f9fb!important;
  background-clip:padding-box!important;
}
.conferencia-scroll-12 .conferencia-grid thead .solo-sticky-col{
  background:#e8edf2!important;
}

/* v0.3.10.30 - Solo: cabeçalho congelado na grade de lançamento */
.solo-grade-scroll{max-height:68vh;overflow:auto;position:relative;}
#excelGrid thead th{position:sticky!important;top:0!important;z-index:12;background:#e9eef5;}
#excelGrid thead .solo-sticky-col{z-index:16!important;}
.btn-protocolo-conferencia{margin:3px 2px;}

/* v0.3.10.32 - Solo: congelamento real da linha de cabeçalho da grade de lançamento.
   A rolagem vertical acontece dentro da própria grade, portanto os nomes dos
   parâmetros permanecem sempre visíveis enquanto as amostras são percorridas. */
.solo-grade-scroll{
  height:68vh;
  min-height:340px;
  max-height:68vh;
  overflow-x:auto!important;
  overflow-y:auto!important;
  position:relative;
  isolation:isolate;
}
#excelGrid{
  border-collapse:separate!important;
  border-spacing:0!important;
}
#excelGrid thead{
  position:sticky!important;
  top:0!important;
  z-index:40!important;
}
#excelGrid thead tr{
  position:sticky!important;
  top:0!important;
  z-index:41!important;
}
#excelGrid thead th{
  position:sticky!important;
  top:0!important;
  z-index:42!important;
  background:#e9eef5!important;
  box-shadow:0 2px 0 #9aa6b2;
}
#excelGrid thead th.solo-sticky-col{
  z-index:60!important;
  background:#e9eef5!important;
}

/* v0.3.10.33 - Solo: protocolo visível + agrupamento visual alternado. */
#excelGrid .solo-sticky-1{left:0;width:68px;min-width:68px;max-width:68px;}
#excelGrid .solo-sticky-2{left:68px;width:92px;min-width:92px;max-width:92px;}
#excelGrid .solo-sticky-3{left:160px;width:92px;min-width:92px;max-width:92px;}
#excelGrid .solo-sticky-4{left:252px;width:118px;min-width:118px;max-width:118px;box-shadow:none;}
#excelGrid .solo-sticky-5{position:sticky;left:370px;width:82px;min-width:82px;max-width:82px;white-space:nowrap;z-index:5;box-shadow:3px 0 5px rgba(0,0,0,.12);}
#excelGrid thead .solo-sticky-5{z-index:60!important;background:#e9eef5!important;}
#excelGrid tbody tr.protocolo-faixa-0 td,
#excelGrid tbody tr.protocolo-faixa-0 td.fixo,
#excelGrid tbody tr.protocolo-faixa-0 td.solo-sticky-col{background:#fff!important;}
#excelGrid tbody tr.protocolo-faixa-1 td,
#excelGrid tbody tr.protocolo-faixa-1 td.fixo,
#excelGrid tbody tr.protocolo-faixa-1 td.solo-sticky-col{background:#f1f3f5!important;}
#excelGrid tbody tr.protocolo-faixa-1 input,
#excelGrid tbody tr.protocolo-faixa-1 select{background:#f7f8f9;}
#excelGrid tbody tr.protocolo-faixa-0 input,
#excelGrid tbody tr.protocolo-faixa-0 select{background:#fff;}
.btn-protocolo-conferencia{white-space:normal;text-align:left;}


/* v0.3.10.34 - Solo: 5 colunas realmente congeladas e largura dinâmica.
   As variáveis --solo-w1..w5 são calculadas no servidor pelo maior número
   de caracteres encontrado entre TODOS os protocolos disponíveis. */
#excelGrid .solo-sticky-col{
  position:sticky!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
}
#excelGrid .solo-sticky-1{
  left:0!important;
  width:var(--solo-w1)!important;min-width:var(--solo-w1)!important;max-width:var(--solo-w1)!important;
}
#excelGrid .solo-sticky-2{
  left:var(--solo-w1)!important;
  width:var(--solo-w2)!important;min-width:var(--solo-w2)!important;max-width:var(--solo-w2)!important;
}
#excelGrid .solo-sticky-3{
  left:calc(var(--solo-w1) + var(--solo-w2))!important;
  width:var(--solo-w3)!important;min-width:var(--solo-w3)!important;max-width:var(--solo-w3)!important;
}
#excelGrid .solo-sticky-4{
  left:calc(var(--solo-w1) + var(--solo-w2) + var(--solo-w3))!important;
  width:var(--solo-w4)!important;min-width:var(--solo-w4)!important;max-width:var(--solo-w4)!important;
  box-shadow:none!important;
}
#excelGrid .solo-sticky-5{
  position:sticky!important;
  left:calc(var(--solo-w1) + var(--solo-w2) + var(--solo-w3) + var(--solo-w4))!important;
  width:var(--solo-w5)!important;min-width:var(--solo-w5)!important;max-width:var(--solo-w5)!important;
  z-index:20!important;
  box-shadow:3px 0 5px rgba(0,0,0,.12)!important;
}
#excelGrid tbody .solo-sticky-col{z-index:20!important;}
#excelGrid thead .solo-sticky-col{z-index:70!important;background:#e9eef5!important;}

/* v0.3.10.44 - autenticação e usuários */
.usuario-topo{margin-left:auto;display:grid;grid-template-columns:auto auto;column-gap:12px;align-items:center;text-align:right}
.usuario-topo strong{color:var(--azul)}.usuario-topo span{font-size:12px;color:#687887}.usuario-topo form{grid-column:2;grid-row:1/3}
.usuario-topo button{border:1px solid #cbd6df;border-radius:7px;background:#fff;color:#8f1d14;padding:8px 12px;cursor:pointer}
.auth-pagina{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#edf3f8,#f8fbfd)}
.auth-cartao{width:min(430px,100%);padding:34px;background:#fff;border:1px solid var(--borda);border-top:5px solid var(--verde);border-radius:14px;box-shadow:0 18px 45px rgba(11,55,101,.14)}
.auth-cartao img{display:block;width:190px;height:76px;object-fit:contain;margin:0 auto 18px}.auth-cartao h1{margin:0;color:var(--azul)}.auth-cartao>p{color:#687887;margin-bottom:22px}
.auth-form{display:grid;gap:16px}.auth-form small{display:block;margin-top:5px;color:#687887;font-weight:normal}.auth-form .btn{width:100%;font-size:16px}
.auth-erro{padding:12px;margin-bottom:16px;border:1px solid #e2a5a0;border-radius:8px;background:#fff0ef;color:#8f1d14;font-weight:700}
.painel-estreito{max-width:620px}.status-ativo{background:#e5f6df;color:#2d6d22}.status-inativo{background:#ffe0e0;color:#8f1d14}.btn.perigo{background:#b42318}.redefinir-senha{display:flex;gap:7px}.redefinir-senha input{min-width:190px;padding:7px}
@media(max-width:850px){.usuario-topo span{display:none}.topo{padding:8px 12px}.topo img{width:105px}.topo h1{font-size:16px}.redefinir-senha{flex-wrap:wrap}}
