/* Cameroon School Print Styles */
/* Optimized for basic printers commonly found in Cameroon schools */

@media print {
  /* General print styles */
  * {
    -webkit-print-color-adjust: exact !important;
    color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  body {
    background: white !important;
    color: black !important;
    font-size: 12pt !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Hide unnecessary elements for printing */
  .no-print,
  .navbar,
  .sidebar,
  .footer,
  .bg-gradient-to-br,
  .animated-background,
  button:not(.print-button),
  .hover\:bg-gray-50,
  .hover\:bg-gray-100,
  .transition-all,
  .transition-colors,
  .backdrop-blur-xl {
    display: none !important;
  }

  /* Remove shadows and animations */
  .shadow,
  .shadow-lg,
  .shadow-xl,
  .shadow-2xl {
    box-shadow: none !important;
  }

  .animate-spin,
  .animate-pulse,
  .animate-bounce {
    animation: none !important;
  }

  /* Page layout */
  .page-break {
    page-break-after: always !important;
  }

  .page-break-before {
    page-break-before: always !important;
  }

  .page-break-inside {
    page-break-inside: avoid !important;
  }

  /* Headers and titles */
  h1, h2, h3, h4, h5, h6 {
    color: black !important;
    font-weight: bold !important;
    margin-top: 0 !important;
    margin-bottom: 10pt !important;
  }

  h1 {
    font-size: 18pt !important;
    border-bottom: 2px solid black !important;
    padding-bottom: 5pt !important;
  }

  h2 {
    font-size: 16pt !important;
    border-bottom: 1px solid black !important;
    padding-bottom: 3pt !important;
  }

  h3 {
    font-size: 14pt !important;
  }

  /* Tables */
  table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-bottom: 20pt !important;
  }

  th, td {
    border: 1px solid black !important;
    padding: 8pt !important;
    text-align: left !important;
    vertical-align: top !important;
  }

  th {
    background-color: #f0f0f0 !important;
    font-weight: bold !important;
  }

  /* Student list specific styles */
  .student-row {
    border-bottom: 1px solid #ccc !important;
    padding: 8pt 0 !important;
  }

  .student-info {
    margin-bottom: 4pt !important;
  }

  .student-name {
    font-weight: bold !important;
    font-size: 12pt !important;
  }

  .student-details {
    font-size: 10pt !important;
    color: #666 !important;
  }

  /* Assignment lists */
  .assignment-item {
    border: 1px solid #ccc !important;
    margin-bottom: 10pt !important;
    padding: 8pt !important;
    background-color: #f9f9f9 !important;
  }

  .assignment-title {
    font-weight: bold !important;
    font-size: 12pt !important;
    margin-bottom: 4pt !important;
  }

  .assignment-meta {
    font-size: 10pt !important;
    color: #666 !important;
  }

  /* Status badges */
  .status-badge {
    border: 1px solid black !important;
    padding: 2pt 4pt !important;
    font-size: 9pt !important;
    font-weight: bold !important;
    display: inline-block !important;
  }

  .status-pending {
    background-color: #fff3cd !important;
    color: #856404 !important;
  }

  .status-submitted {
    background-color: #d4edda !important;
    color: #155724 !important;
  }

  .status-graded {
    background-color: #d1ecf1 !important;
    color: #0c5460 !important;
  }

  .status-overdue {
    background-color: #f8d7da !important;
    color: #721c24 !important;
  }

  /* School header */
  .school-header {
    text-align: center !important;
    margin-bottom: 20pt !important;
    border-bottom: 2px solid black !important;
    padding-bottom: 10pt !important;
  }

  .school-name {
    font-size: 18pt !important;
    font-weight: bold !important;
    margin-bottom: 5pt !important;
  }

  .school-address {
    font-size: 10pt !important;
    color: #666 !important;
  }

  /* Report metadata */
  .report-meta {
    margin-bottom: 20pt !important;
    font-size: 10pt !important;
  }

  .report-title {
    font-size: 16pt !important;
    font-weight: bold !important;
    text-align: center !important;
    margin-bottom: 10pt !important;
  }

  .report-date {
    text-align: right !important;
    font-style: italic !important;
  }

  /* Cameroon-specific elements */
  .cameroon-flag {
    display: none !important; /* Hide flag colors in print */
  }

  .french-content {
    font-style: italic !important;
  }

  .english-content {
    font-style: normal !important;
  }

  /* Page numbering */
  @page {
    margin: 2cm !important;
    @bottom-right {
      content: "Page " counter(page) " of " counter(pages) !important;
      font-size: 10pt !important;
    }
  }

  /* Print-specific utilities */
  .print-only {
    display: block !important;
  }

  .print-hidden {
    display: none !important;
  }

  .print-break-before {
    page-break-before: always !important;
  }

  .print-break-after {
    page-break-after: always !important;
  }

  .print-no-break {
    page-break-inside: avoid !important;
  }

  /* Grades and scores */
  .grade-display {
    font-size: 14pt !important;
    font-weight: bold !important;
    text-align: center !important;
    border: 2px solid black !important;
    padding: 5pt !important;
    margin: 5pt !important;
  }

  .grade-excellent {
    background-color: #d4edda !important;
  }

  .grade-good {
    background-color: #fff3cd !important;
  }

  .grade-needs-improvement {
    background-color: #f8d7da !important;
  }

  /* Attendance tracking */
  .attendance-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(30pt, 1fr)) !important;
    gap: 2pt !important;
    margin: 10pt 0 !important;
  }

  .attendance-day {
    border: 1px solid black !important;
    padding: 2pt !important;
    text-align: center !important;
    font-size: 8pt !important;
  }

  .attendance-present {
    background-color: #d4edda !important;
  }

  .attendance-absent {
    background-color: #f8d7da !important;
  }

  .attendance-late {
    background-color: #fff3cd !important;
  }

  /* Computer lab session info */
  .lab-session-info {
    border: 2px solid black !important;
    padding: 10pt !important;
    margin-bottom: 20pt !important;
    background-color: #f0f0f0 !important;
  }

  .lab-session-title {
    font-weight: bold !important;
    font-size: 14pt !important;
    margin-bottom: 5pt !important;
  }

  .lab-session-details {
    font-size: 10pt !important;
  }

  /* Bilingual content (French/English) */
  .bilingual-content {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 20pt !important;
    margin: 20pt 0 !important;
  }

  .french-column {
    border-right: 1px solid #ccc !important;
    padding-right: 10pt !important;
  }

  .english-column {
    padding-left: 10pt !important;
  }

  .language-header {
    font-weight: bold !important;
    font-size: 12pt !important;
    margin-bottom: 10pt !important;
    text-align: center !important;
    border-bottom: 1px solid black !important;
    padding-bottom: 5pt !important;
  }
}
