/* PROFESSIONAL PRINT STYLES - COMPLETE REDESIGN */
@media print {
  /* Reset and base print styles */
  * {
    -webkit-print-color-adjust: exact !important;
    color-adjust: exact !important;
    print-color-adjust: exact !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  html, body {
    font-size: 10pt !important;
    line-height: 1.4 !important;
    color: #000 !important;
    background: #fff !important;
    font-family: 'Times New Roman', serif !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Professional A4 Page Setup */
  @page {
    size: A4 portrait;
    margin: 18mm 15mm 20mm 15mm;
    @top-center {
      content: "Farm Worker Application";
      font-size: 8pt;
      color: #666;
      font-weight: 500;
    }
    @bottom-right {
      content: "Page " counter(page);
      font-size: 8pt;
      color: #666;
    }
  }

  /* Print Container */
  .print-container {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  /* Minimal Professional Header */
  .print-header {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    padding: 8pt 0 !important;
    border-bottom: 1pt solid #2c5f41 !important;
    margin-bottom: 15pt !important;
    background: transparent !important;
  }

  .print-logo {
    width: 40pt !important;
    height: auto !important;
  }

  .print-title h1 {
    font-size: 14pt !important;
    font-weight: 700 !important;
    color: #2c5f41 !important;
    margin: 0 !important;
    text-align: center;
  }

  .print-title p {
    font-size: 8pt !important;
    color: #666 !important;
    margin: 1pt 0 0 0 !important;
    text-align: center;
  }

  .print-date {
    text-align: right;
    font-size: 7pt !important;
    color: #666 !important;
  }

  /* COMPACT PROFESSIONAL CV HEADER */
  .print-cv-header {
    display: flex !important;
    gap: 12pt !important;
    align-items: flex-start !important;
    margin-bottom: 18pt !important;
    padding: 8pt !important;
    background: #fafafa !important;
    border: 1pt solid #ddd !important;
    border-radius: 2pt !important;
    page-break-inside: avoid !important;
  }

  /* FORCE PROFILE IMAGE SIZE WITH MAXIMUM SPECIFICITY */
  .profile-image-container {
    width: 45pt !important;
    height: 55pt !important;
    border: 1pt solid #333 !important;
    border-radius: 2pt !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    box-shadow: 0 1pt 2pt rgba(0,0,0,0.2) !important;
    order: 2 !important;
    margin-left: auto !important;
  }

  .profile-image-main,
  .profile-image-container img,
  .profile-image-container div img {
    width: 45pt !important;
    height: 55pt !important;
    object-fit: cover !important;
    display: block !important;
  }

  /* FORCE APPLICANT NAME & SUBTITLE */
  .applicant-name {
    font-size: 16pt !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin: 0 0 4pt 0 !important;
    line-height: 1.2 !important;
    order: 1 !important;
    flex-grow: 1 !important;
  }

  .applicant-subtitle {
    font-size: 11pt !important;
    color: #2c5f41 !important;
    margin: 0 0 8pt 0 !important;
    font-weight: 600 !important;
    font-style: italic !important;
  }

  /* FORCE CONTACT INFO GRID */
  .contact-info-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 4pt 12pt !important;
    font-size: 9pt !important;
  }

  .contact-field .field-label {
    color: #2c5f41 !important;
    font-size: 8pt !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.2pt !important;
    display: block !important;
    margin-bottom: 1pt !important;
  }

  .contact-field .field-value {
    color: #000 !important;
    font-size: 9pt !important;
    font-weight: 400 !important;
    display: block !important;
  }

  /* FORCE MEDICAL INFO GRID WITH MAXIMUM SPECIFICITY */
  .medical-info-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 6pt !important;
  }

  .medical-field {
    margin-bottom: 4pt !important;
  }

  .medical-field .field-label {
    color: #2c5f41 !important;
    font-size: 8pt !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.2pt !important;
    display: block !important;
    margin-bottom: 1pt !important;
  }

  .medical-field .field-value {
    color: #000 !important;
    font-size: 9pt !important;
    font-weight: 400 !important;
    display: block !important;
  }

  /* PROFESSIONAL SECTION HEADERS */
  .print-section {
    page-break-inside: avoid !important;
    margin-bottom: 12pt !important;
  }

  .print-section-header {
    background: #2c5f41 !important;
    color: #fff !important;
    padding: 4pt 8pt !important;
    font-size: 11pt !important;
    font-weight: 700 !important;
    margin: 0 0 8pt 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3pt !important;
  }

  .print-section-content {
    padding: 0 !important;
  }

  /* STANDARDIZED TYPOGRAPHY SYSTEM - ENHANCED SPECIFICITY */
  
  /* Main section headers (H2) */
  .print-container h2,
  .print-section-header {
    font-size: 11pt !important;
    font-weight: 700 !important;
    color: #fff !important;
    background: #2c5f41 !important;
    padding: 4pt 8pt !important;
    margin: 0 0 8pt 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3pt !important;
  }

  /* Subsection headers (H3) */
  .print-container h3 {
    font-size: 10pt !important;
    font-weight: 600 !important;
    color: #2c5f41 !important;
    margin: 6pt 0 4pt 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.2pt !important;
  }

  /* Field labels - MAXIMUM SPECIFICITY */
  .print-container .text-sm.font-medium,
  .print-container .print\\:text-\\[8pt\\],
  .print-info-field > div:first-child,
  .print-medical-field > div:first-child,
  .print-contact-item strong {
    font-size: 8pt !important;
    font-weight: 600 !important;
    color: #2c5f41 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.2pt !important;
    margin-bottom: 1pt !important;
    display: block !important;
  }

  /* Field values - ENHANCED SPECIFICITY */
  .print-container .text-base,
  .print-container .print\\:text-\\[9pt\\],
  .print-info-field > div:last-child,
  .print-medical-field > div:last-child,
  .print-contact-item span {
    font-size: 9pt !important;
    color: #000 !important;
    font-weight: 400 !important;
    margin: 0 !important;
    line-height: 1.3 !important;
    display: block !important;
  }

  /* Information Fields */
  .print-info-field {
    margin-bottom: 4pt !important;
    page-break-inside: avoid !important;
  }

  /* Two Column Layouts */
  .print-two-column {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8pt !important;
    margin-bottom: 8pt !important;
  }

  /* Medical Information - TRUE 2-COLUMN GRID - MAXIMUM SPECIFICITY */
  .print-medical-grid,
  .print\\:grid.print\\:grid-cols-2 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 6pt 12pt !important;
    margin-bottom: 8pt !important;
  }

  .print-medical-field {
    display: block !important;
    margin-bottom: 3pt !important;
  }

  .print-medical-field > div:first-child {
    font-size: 8pt !important;
    color: #2c5f41 !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    margin-bottom: 1pt !important;
    display: block !important;
  }

  .print-medical-field > div:last-child {
    font-size: 9pt !important;
    color: #000 !important;
    font-weight: 400 !important;
    display: block !important;
  }

  /* Force print utilities to work */
  .print\\:grid {
    display: grid !important;
  }

  .print\\:grid-cols-2 {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .print\\:gap-\\[6pt\\] {
    gap: 6pt !important;
  }

  /* Address Sections */
  .print-address-section {
    margin: 6pt 0 !important;
    padding: 6pt !important;
    background: #f8f8f8 !important;
    border: 1pt solid #ddd !important;
    border-radius: 1pt !important;
  }

  .print-address-title {
    font-size: 10pt !important;
    font-weight: 600 !important;
    color: #2c5f41 !important;
    margin: 0 0 4pt 0 !important;
    text-transform: uppercase !important;
  }

  /* Employment History Cards */
  .print-employment-card {
    margin-bottom: 12pt !important;
    padding: 8pt !important;
    border: 1pt solid #d4e4d4 !important;
    border-radius: 4pt !important;
    background: #f9fbf9 !important;
    page-break-inside: avoid !important;
    box-shadow: 0 1pt 3pt rgba(0,0,0,0.1) !important;
  }

  .print-employment-title {
    font-size: 11pt !important;
    font-weight: 600 !important;
    color: #2c5f41 !important;
    margin: 0 0 6pt 0 !important;
    padding-bottom: 3pt !important;
    border-bottom: 1pt solid #e0e6e0 !important;
  }

  .print-employment-company {
    font-size: 9pt !important;
    color: #2c5f41 !important;
    font-weight: 600 !important;
    margin: 0 0 2pt 0 !important;
  }

  .print-employment-dates {
    font-size: 8pt !important;
    color: #666 !important;
    margin: 0 0 3pt 0 !important;
    font-style: italic !important;
  }

  /* Skills and Lists */
  .print-skills-list {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 3pt 8pt !important;
    margin: 4pt 0 !important;
  }

  .print-skill-item {
    font-size: 9pt !important;
    padding: 3pt 6pt !important;
    background: #f0f4f0 !important;
    border: 1pt solid #d4e4d4 !important;
    border-radius: 2pt !important;
    text-align: center !important;
    font-weight: 500 !important;
    color: #000 !important;
  }

  /* Experience text areas */
  .print-experience-text {
    font-size: 9pt !important;
    line-height: 1.4 !important;
    color: #000 !important;
    background: #f9fbf9 !important;
    padding: 8pt !important;
    border: 1pt solid #e0e6e0 !important;
    border-radius: 3pt !important;
    margin: 6pt 0 !important;
  }

  /* References */
  .print-reference-item {
    margin-bottom: 12pt !important;
    padding: 6pt !important;
    border: 1pt solid #d4e4d4 !important;
    border-radius: 3pt !important;
    background: #f7f9f7 !important;
  }

  .print-reference-title {
    font-size: 10pt !important;
    font-weight: 600 !important;
    color: #2c5f41 !important;
    margin: 0 0 4pt 0 !important;
  }

  /* Documents Section */
  .print-document-item {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 4pt 6pt !important;
    border: 1pt solid #e0e6e0 !important;
    border-radius: 2pt !important;
    margin-bottom: 4pt !important;
    background: #f9fbf9 !important;
  }

  .print-document-name {
    font-size: 9pt !important;
    font-weight: 500 !important;
    color: #000 !important;
  }

  .print-document-info {
    font-size: 8pt !important;
    color: #666 !important;
  }

  /* Status Badges */
  .print-status-badge {
    display: inline-block !important;
    padding: 2pt 6pt !important;
    border-radius: 2pt !important;
    font-size: 8pt !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.2pt !important;
  }

  .print-status-approved {
    background: #d4edda !important;
    color: #155724 !important;
    border: 1pt solid #c3e6cb !important;
  }

  .print-status-pending {
    background: #fff3cd !important;
    color: #856404 !important;
    border: 1pt solid #ffeaa7 !important;
  }

  .print-status-rejected {
    background: #f8d7da !important;
    color: #721c24 !important;
    border: 1pt solid #f5c6cb !important;
  }

  /* Hide screen-only elements */
  .screen-only,
  .print\\:hidden {
    display: none !important;
  }

  /* Show print-only elements */
  .print-only,
  .print\\:block {
    display: block !important;
  }

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

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

  /* Remove shadows and rounded corners for clean print */
  * {
    box-shadow: none !important;
    border-radius: 0 !important;
  }

  .print-cv-header,
  .print-address-section,
  .print-employment-card,
  .print-reference-item,
  .print-skill-item {
    border-radius: 2pt !important;
  }

  /* Page breaks */
  .page-break-before,
  .print-page-break {
    page-break-before: always !important;
  }

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

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

  /* Medical Information Grid */
  .print-medical-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8pt 12pt !important;
    margin-bottom: 12pt !important;
  }

  .print-medical-full {
    grid-column: 1 / -1 !important;
  }

  /* Ensure proper spacing and no overflow */
  .print-container > * {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Typography consistency */
  h1, h2, h3, h4, h5, h6 {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
  }

  p, span, div {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
  }
}
