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

@layer base {
  body {
    @apply bg-slate-100 dark:bg-slate-900 text-slate-900 dark:text-slate-100 transition-colors duration-300 font-sans;
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
  }
  .dark body {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
  }
}

@layer components {
    .glass-panel {
      @apply bg-white/70 dark:bg-slate-800/60 backdrop-blur-md border border-white/20 dark:border-slate-700/50 shadow-xl;
    }
    .glass-card {
       @apply bg-white/50 dark:bg-slate-800/40 backdrop-blur-sm border border-white/30 dark:border-slate-700/30 hover:bg-white/60 dark:hover:bg-slate-800/50 transition-all duration-300;
    }
}

@keyframes fade-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.animate-fade-in {
  animation: fade-in 0.5s ease-out forwards;
}

/* Screen specific rules */
@media screen {
  .app-print-wrapper {
    display: none !important;
  }
}

/* High-quality native browser printing */
@media print {
  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    animation: none !important;
    transition: none !important;
  }
  
  .animate-fade-in {
    opacity: 1 !important;
    transform: none !important;
  }
  
  .app-main-content {
    display: none !important;
  }
  
  .app-print-wrapper {
    display: block !important;
    position: relative !important;
    width: 100% !important;
  }
  
  @page {
    margin: 0;
    size: A4 portrait;
  }

  body {
    background: white !important;
  }

  /* Force black text for PDF generation */
  .report-page .text-slate-400,
  .report-page .text-slate-500,
  .report-page .text-slate-600,
  .report-page .text-slate-700,
  .report-page .text-slate-800,
  .report-page .text-slate-900,
  .report-page .text-slate-300,
  .report-page .text-slate-200 {
    color: #000000 !important;
  }

  /* Also ensure borders are clearly visible */
  .report-page .border-slate-100,
  .report-page .border-slate-200,
  .report-page .border-slate-50 {
    border-color: #cbd5e1 !important; /* slate-300 */
  }
}
