@tailwind base;
@tailwind components;
@tailwind utilities;

:root {
  --background: 0 0% 100%;
  --foreground: 222 47% 11%;
  --card: 0 0% 100%;
  --card-foreground: 222 47% 11%;
  --muted: 210 40% 96%;
  --muted-foreground: 215 16% 47%;
  --border: 214 32% 91%;
  --primary: 221 83% 53%;
  --primary-foreground: 0 0% 100%;
}

.dark {
  --background: 222 47% 5%;
  --foreground: 210 40% 98%;
  --card: 222 47% 7%;
  --card-foreground: 210 40% 98%;
  --muted: 217 33% 13%;
  --muted-foreground: 215 20% 65%;
  --border: 217 33% 17%;
  --primary: 217 91% 60%;
  --primary-foreground: 222 47% 11%;
}

* {
  border-color: hsl(var(--border));
}

body {
  background: hsl(var(--background));
  color: hsl(var(--foreground));
}

/* Animação de entrada suave para páginas */
@keyframes page-in {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

main {
  animation: page-in 220ms ease-out both;
}

/* Configuração e Formatação Executiva para Impressão & PDF */
@media print {
  @page {
    size: A4 portrait;
    margin: 1cm;
  }

  aside,
  header,
  nav,
  button,
  input,
  select,
  .print\:hidden {
    display: none !important;
  }

  body, html {
    background: #ffffff !important;
    color: #0f172a !important;
    font-size: 9pt !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  main {
    animation: none !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  /* Eliminar rolagem horizontal e expansões que cortam a impressão */
  .overflow-x-auto,
  .overflow-y-auto,
  .overflow-auto,
  .overflow-hidden {
    overflow: visible !important;
  }

  table {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: auto !important;
  }

  table [class*="min-w-"] {
    min-width: 0 !important;
  }

  tr {
    page-break-inside: avoid;
  }

  th, td {
    padding: 6px 8px !important;
    font-size: 8.5pt !important;
    word-break: break-word !important;
  }

  /* Cartões e Tabelas com bordas limpas para PDF */
  .bg-card, .bg-muted, .bg-background {
    background: #ffffff !important;
    box-shadow: none !important;
  }

  .border, .border-b, .border-t, .border-r, .border-l {
    border-color: #cbd5e1 !important;
  }

  /* Garantir visibilidade dos elementos de relatório impressos */
  .print\:block {
    display: block !important;
  }

  .print\:flex {
    display: flex !important;
  }
}
