/* Ajustes finos que complementam as classes utilitárias do Tailwind */

body {
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

button:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

::-webkit-scrollbar {
  height: 8px;
  width: 8px;
}
::-webkit-scrollbar-thumb {
  background: #52525b;
  border-radius: 4px;
}
::-webkit-scrollbar-track {
  background: transparent;
}

textarea, input, select {
  font-family: inherit;
  color-scheme: dark;
}

/* Faixa de destaque nas cores da marca (vermelho -> amarelo) */
.brand-stripe {
  height: 3px;
  background: linear-gradient(90deg, #dc2626, #f5c400);
}

/* ---------- Relatório para PDF / impressão ---------- */
#print-root { display: none; }

@media print {
  @page { size: A4; margin: 12mm 12mm 16mm; }
  html, body { background: #fff !important; color: #111 !important; color-scheme: light; }
  body > *:not(#print-root) { display: none !important; }
  #print-root { display: block !important; -webkit-print-color-adjust: exact; print-color-adjust: exact;
    font-family: system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif; font-size: 10.5pt; line-height: 1.35; }
  #print-root * { box-sizing: border-box; }
  .pr-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
  .pr-logo { height: 15mm; width: auto; }
  .pr-head-right { text-align: right; }
  .pr-kicker { font-size: 12pt; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #111; }
  .pr-meta { font-size: 8.5pt; color: #555; margin-top: 2px; }
  .pr-stripe { height: 1.4mm; background: linear-gradient(90deg, #dc2626, #f5c400); margin-bottom: 10px; }
  .pr-title { font-size: 17pt; margin: 0 0 8px; color: #111; }
  .pr-info { width: 100%; border-collapse: collapse; margin-bottom: 10px; }
  .pr-info td { width: 25%; padding: 6px 8px; border: 1px solid #d4d4d4; background: #fafafa; font-weight: 600; vertical-align: top; }
  .pr-info td span { display: block; font-size: 7.5pt; text-transform: uppercase; letter-spacing: .05em; color: #777; font-weight: 600; margin-bottom: 1px; }
  .pr-summary { border: 1px solid #d4d4d4; border-radius: 6px; padding: 10px; margin-bottom: 4px; break-inside: avoid; }
  .pr-kpis { display: flex; gap: 8px; margin-bottom: 8px; }
  .pr-kpi { flex: 1; text-align: center; border-right: 1px solid #e5e5e5; }
  .pr-kpi:last-child { border-right: 0; }
  .pr-kpi b { display: block; font-size: 18pt; line-height: 1.1; }
  .pr-kpi span { font-size: 8pt; color: #666; text-transform: uppercase; letter-spacing: .04em; }
  .pr-kpi-main b { color: #111; }
  .pr-c-green { color: #15803d; } .pr-c-yellow { color: #b45309; } .pr-c-red { color: #dc2626; } .pr-c-na { color: #6b7280; }
  .pr-bar { display: flex; height: 3mm; border-radius: 2mm; overflow: hidden; background: #e5e5e5; }
  .pr-seg { display: block; height: 100%; }
  .pr-bg-green { background: #16a34a; } .pr-bg-yellow { background: #f59e0b; } .pr-bg-red { background: #dc2626; }
  .pr-pend { font-size: 9pt; color: #444; margin-top: 6px; }
  .pr-h2 { font-size: 11.5pt; margin: 14px 0 6px; padding-bottom: 3px; border-bottom: 2px solid #dc2626; color: #111; break-after: avoid; }
  .pr-table { width: 100%; border-collapse: collapse; }
  .pr-table thead { display: table-header-group; }
  .pr-table th { background: #f0f0f0; text-align: left; font-size: 8pt; text-transform: uppercase; letter-spacing: .04em; color: #555; padding: 5px 7px; border: 1px solid #d4d4d4; }
  .pr-table td { padding: 5px 7px; border: 1px solid #e0e0e0; vertical-align: top; }
  .pr-table tr { break-inside: avoid; }
  .pr-num { width: 8mm; text-align: center; color: #777; }
  .pr-center { text-align: center; width: 24mm; }
  .pr-item { font-weight: 600; }
  .pr-note { font-size: 9.5pt; color: #444; margin-top: 2px; }
  .pr-photo { display: block; margin-top: 5px; max-width: 48mm; max-height: 34mm; object-fit: cover; border: 1px solid #ccc; border-radius: 3px; }
  .pr-badge { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 8pt; font-weight: 700; color: #fff; white-space: nowrap; }
  .pr-green { background: #16a34a; } .pr-yellow { background: #d97706; } .pr-red { background: #dc2626; } .pr-na { background: #9ca3af; }
  .pr-res { font-size: 9pt; }
  .pr-res-ok { color: #166534; } .pr-res-pending { color: #b45309; }
  .pr-sign { display: flex; gap: 24mm; margin-top: 18mm; break-inside: avoid; }
  .pr-sign > div { flex: 1; text-align: center; font-size: 9.5pt; }
  .pr-sign small { color: #666; }
  .pr-line { border-top: 1px solid #111; margin-bottom: 3px; }
  .pr-break { break-before: page; page-break-before: always; }
  .pr-foot { margin-top: 10mm; padding-top: 4px; border-top: 1px solid #ddd; font-size: 7.5pt; color: #777; text-align: center; }
}
