/* =====================================================================
   ALMOXARIFADO INTELIGENTE — FOLHA DE RELATÓRIO DE CONTROLE
   Mesmo layout na tela e na impressão. Paleta de leitura em papel.
   ===================================================================== */

:root {
  --ar-tinta: #0f172a;
  --ar-tinta-2: #334155;
  --ar-tinta-3: #64748b;
  --ar-linha: #d8dee9;
  --ar-linha-forte: #94a3b8;
  --ar-zebra: #f6f8fb;
  --ar-papel: #ffffff;
  --ar-carteira: #0b1220;
  --ar-marca: #0f2740;
  --ar-ok: #0f766e;
  --ar-alerta: #b45309;
  --ar-perigo: #b91c1c;
}

#area-relatorio {
  background: var(--ar-carteira);
  padding: 16px;
  border-radius: 14px;
}

.ar-folha {
  background: var(--ar-papel);
  max-width: 980px;
  margin: 0 auto;
  padding: 38px 42px 30px;
  border: 1px solid var(--ar-linha);
  border-radius: 6px;
  box-shadow: 0 18px 48px -22px rgba(0, 0, 0, 0.7);
  color: var(--ar-tinta);
  font-size: 12.5px;
  line-height: 1.5;
}

.ar-mono {
  font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  font-variant-numeric: tabular-nums;
}

/* --------------------------------------------------------- cabeçalho */

.ar-topo {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 22px;
  flex-wrap: wrap;
}

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

.ar-logo {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border-radius: 5px;
  background: var(--ar-marca);
  color: #00ff66;
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: 14px;
  font-family: 'JetBrains Mono', monospace;
  letter-spacing: 0.03em;
}

.ar-marca-nome {
  margin: 0;
  font-size: 15.5px;
  font-weight: 800;
  color: var(--ar-marca);
  letter-spacing: 0.05em;
  line-height: 1.15;
}

.ar-marca-sub {
  margin: 3px 0 0;
  font-size: 10px;
  color: var(--ar-tinta-3);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.ar-doc {
  text-align: right;
  min-width: 200px;
}

.ar-doc-tipo {
  margin: 0;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ar-tinta-3);
}

.ar-doc-num {
  margin: 4px 0 2px;
  font-size: 17px;
  font-weight: 700;
  color: var(--ar-marca);
}

.ar-doc-rev {
  margin: 0;
  font-size: 10px;
  color: var(--ar-tinta-3);
}

.ar-faixa {
  height: 4px;
  margin: 15px 0 0;
  border-radius: 2px;
  background: linear-gradient(90deg, #0f2740 0%, #0e7490 55%, #7dd3fc 100%);
}

.ar-titulo {
  margin: 20px 0 0;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--ar-linha);
}

.ar-titulo h2 {
  margin: 0;
  font-size: 20px;
  font-weight: 800;
  color: var(--ar-tinta);
  letter-spacing: -0.01em;
}

.ar-titulo p {
  margin: 4px 0 0;
  font-size: 12px;
  color: var(--ar-tinta-2);
}

/* ------------------------------------------------------- indicadores */

.ar-kpis {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
}

.ar-kpi {
  border: 1px solid var(--ar-linha);
  border-top: 3px solid var(--ar-tinta-3);
  border-radius: 5px;
  padding: 11px 12px 12px;
  background: var(--ar-papel);
}

.ar-kpi-ok {
  border-top-color: var(--ar-ok);
}

.ar-kpi-alerta {
  border-top-color: var(--ar-alerta);
}

.ar-kpi-perigo {
  border-top-color: var(--ar-perigo);
}

.ar-kpi-rot {
  display: block;
  font-size: 8.8px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ar-tinta-3);
}

.ar-kpi-val {
  display: block;
  margin: 4px 0 0;
  font-size: 19px;
  font-weight: 700;
  color: var(--ar-tinta);
  line-height: 1.1;
}

.ar-kpi-nota {
  display: block;
  margin-top: 3px;
  font-size: 9.5px;
  color: var(--ar-tinta-3);
}

/* ---------------------------------------------------------- seções */

.ar-secao {
  margin-top: 24px;
}

.ar-secao-titulo {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 11px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ar-marca);
}

.ar-secao-titulo::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--ar-linha);
}

.ar-secao-titulo span {
  white-space: nowrap;
}

/* ------------------------------------------------------------ grade */

.ar-grade {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: var(--ar-linha);
  border: 1px solid var(--ar-linha);
  border-radius: 4px;
  overflow: hidden;
}

.ar-campo {
  background: var(--ar-papel);
  padding: 9px 11px;
  min-height: 50px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.ar-rot {
  display: block;
  font-size: 8.8px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ar-tinta-3);
  line-height: 1.2;
}

.ar-val {
  display: block;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--ar-tinta);
  overflow-wrap: anywhere;
}

.ar-val-vazio {
  color: var(--ar-tinta-3);
  font-weight: 500;
}

.ar-vazio {
  margin: 0;
  font-size: 11.5px;
  color: var(--ar-tinta-3);
  font-style: italic;
}

/* --------------------------------------------------------- tabelas */

.ar-tabela {
  width: 100%;
  border-collapse: collapse;
  font-size: 11.5px;
}

.ar-tabela th {
  background: var(--ar-marca);
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  text-align: left;
  padding: 8px 10px;
  white-space: nowrap;
}

.ar-tabela td {
  padding: 7px 10px;
  border-bottom: 1px solid var(--ar-linha);
  color: var(--ar-tinta-2);
  vertical-align: top;
}

.ar-tabela tbody tr:nth-child(even) td {
  background: var(--ar-zebra);
}

.ar-tabela .dir {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.ar-tom-OK,
.ar-tom-CALIBRADO,
.ar-tom-ATENDIDO {
  color: var(--ar-ok);
  font-weight: 700;
}

.ar-tom-BAIXO,
.ar-tom-ALERTA,
.ar-tom-PENDENTE {
  color: var(--ar-alerta);
  font-weight: 700;
}

.ar-tom-CRITICO,
.ar-tom-VENCIDO {
  color: var(--ar-perigo);
  font-weight: 700;
}

.ar-tom-COTACAO {
  color: var(--ar-marca);
  font-weight: 700;
}

/* ------------------------------------------------------ conferência */

.ar-conferencia-nota {
  margin: 0 0 18px;
  font-size: 11px;
  color: var(--ar-tinta-2);
  line-height: 1.6;
  font-style: italic;
  text-align: justify;
  border-left: 3px solid var(--ar-linha-forte);
  padding-left: 12px;
}

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

.ar-assinatura {
  text-align: center;
}

.ar-assinatura-linha {
  height: 42px;
  border-bottom: 1px solid var(--ar-tinta-2);
  margin-bottom: 7px;
}

.ar-assinatura-papel {
  margin: 0;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ar-tinta-3);
}

.ar-assinatura-nome {
  margin: 3px 0 0;
  font-size: 12px;
  font-weight: 700;
  color: var(--ar-tinta);
}

.ar-assinatura-data {
  margin: 5px 0 0;
  font-size: 9.5px;
  color: var(--ar-tinta-3);
}

/* ---------------------------------------------------------- rodapé */

.ar-rodape {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 24px;
  padding-top: 11px;
  border-top: 1px solid var(--ar-linha);
  font-size: 9.5px;
  color: var(--ar-tinta-3);
}

.ar-rodape-col {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.ar-rodape-centro {
  align-items: center;
}

.ar-rodape-dir {
  align-items: flex-end;
  text-align: right;
}

.ar-rodape-l1 {
  font-weight: 700;
  letter-spacing: 0.05em;
  color: var(--ar-tinta-2);
}

.ar-rodape-l2 {
  letter-spacing: 0.03em;
}

/* ==================================================== IMPRESSÃO / PDF */

@media print {
  @page {
    size: A4 landscape;
    margin: 11mm 10mm 9mm;
  }

  html,
  body {
    background: #fff !important;
  }

  /* O relatório só toma a página quando está aberto. */
  body.ar-relatorio-aberto > *:not(#modal-relatorio) {
    display: none !important;
  }

  body.ar-relatorio-aberto #modal-relatorio {
    position: static !important;
    display: flex !important;
    background: #fff !important;
    padding: 0 !important;
    inset: auto !important;
  }

  .ar-sem-impressao,
  .ar-sem-impressao * {
    display: none !important;
  }

  #modal-relatorio .ar-folha-caixa {
    box-shadow: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    max-width: none !important;
    max-height: none !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  #area-relatorio {
    padding: 0 !important;
    background: #fff !important;
    border-radius: 0 !important;
    overflow: visible !important;
    max-height: none !important;
  }

  .ar-folha {
    max-width: none;
    width: 100%;
    padding: 0;
    border: 0;
    box-shadow: none;
    font-size: 9.5pt;
  }

  .ar-kpis {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .ar-tabela thead {
    display: table-header-group;
  }

  .ar-tabela tr,
  .ar-kpi,
  .ar-assinatura,
  .ar-grade,
  .ar-conferencia {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

/* ------------------------------------------------------ tela (view) */

#modal-relatorio {
  z-index: 90;
}

.ar-folha-caixa {
  background: #0e1728;
  border: 1px solid #1e293b;
  border-radius: 16px;
  width: min(1040px, 96vw);
  max-height: 92vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 30px 70px -24px rgba(0, 0, 0, 0.85);
}

.ar-rel-topo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 18px;
  border-bottom: 1px solid #1e293b;
  flex-wrap: wrap;
}

.ar-rel-topo h3 {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  font-family: 'JetBrains Mono', monospace;
}

.ar-rel-topo p {
  margin: 2px 0 0;
  font-size: 11px;
  color: #94a3b8;
  font-family: 'JetBrains Mono', monospace;
}

.ar-rel-acoes {
  display: flex;
  gap: 8px;
  align-items: center;
}

.ar-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 700;
  font-family: 'JetBrains Mono', monospace;
  letter-spacing: 0.04em;
  border: 1px solid #1e293b;
  background: #0b1220;
  color: #e2e8f0;
  cursor: pointer;
  transition: all 0.15s ease;
}

.ar-btn:hover {
  border-color: #00ff66;
  color: #00ff66;
  background: rgba(0, 255, 102, 0.08);
}

.ar-btn-primario {
  background: rgba(0, 255, 102, 0.12);
  border-color: rgba(0, 255, 102, 0.4);
  color: #00ff66;
}

.ar-btn-primario:hover {
  background: rgba(0, 255, 102, 0.2);
  color: #00ff66;
}

.ar-corpo-relatorio {
  overflow-y: auto;
  padding: 16px;
}

@media (max-width: 900px) {
  .ar-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .ar-assinaturas {
    grid-template-columns: 1fr;
  }

  .ar-folha {
    padding: 22px 18px;
  }
}
