/*
 * Resume Page Styles - MOBILE OPTIMIZED VERSION with Fixed Dark Mode Print
 * Responsive design with improved mobile view and proper PDF export support
 */

/* ===============================
   BASE STYLES & VARIABLES
   =============================== */
   :root {
    /* Colors */
    --resume-primary: #2563EB;
    --resume-text: #333;
    --resume-text-muted: #6b7280;
    --resume-text-light: #4b5563;
    --resume-bg-light: #f9fafb;
    --resume-bg-blue: #eff6ff;
    --resume-bg-green: #ecfdf5;
    --resume-border: #e5e7eb;
    
    /* Dark mode colors */
    --resume-dark-bg: #181c24;
    --resume-dark-text: #e0e0e0;
    --resume-dark-primary: #7ecfff;
    --resume-dark-secondary: #4fc3f7;
    
    /* Spacing - More spacious feel */
    --resume-space-xs: 0.25rem;
    --resume-space-sm: 0.5rem;
    --resume-space-md: 1rem;
    --resume-space-lg: 1.5rem;
    --resume-space-xl: 2rem;
    
    /* Typography */
    --resume-font: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    --resume-line-height: 1.6;
    --resume-line-height-tight: 1.3;
  }
  
  /* ===============================
     GLOBAL OVERRIDES
     =============================== */
  .resume-container,
  .resume-container * {
    font-family: var(--resume-font) !important;
    box-sizing: border-box;
  }
  
  /* ===============================
     CONTAINER & LAYOUT - MOBILE FIRST
     =============================== */
  .resume-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--resume-space-md);
    background: white;
    color: var(--resume-text);
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    border-radius: 0.375rem;
    line-height: var(--resume-line-height);
  }
  
  /* Mobile viewport optimization */
  @media (max-width: 480px) {
    .resume-container {
      padding: var(--resume-space-sm);
      border-radius: 0;
      box-shadow: none;
    }
  }
  
  /* Header Buttons */
  .profile-doc-header-buttons {
    display: flex;
    gap: var(--resume-space-sm);
    justify-content: center;
    margin-bottom: var(--resume-space-lg);
    flex-wrap: wrap;
  }
  
  @media (min-width: 768px) {
    .profile-doc-header-buttons {
      justify-content: flex-end;
      gap: var(--resume-space-md);
    }
  }
  
  .profile-doc-header-buttons button,
  .profile-doc-header-buttons a {
    background: #002856;
    color: white;
    border: none;
    border-radius: 4px;
    padding: var(--resume-space-sm) var(--resume-space-md);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s;
    white-space: nowrap;
  }
  
  .profile-doc-header-buttons button:hover,
  .profile-doc-header-buttons a:hover {
    background: #0056b3;
  }
  
  /* ===============================
     TYPOGRAPHY - RESPONSIVE
     =============================== */
  .resume-main-title {
    font-size: clamp(1.5rem, 5vw, 2.5rem);
    font-weight: 700;
    margin-bottom: var(--resume-space-sm);
    line-height: var(--resume-line-height-tight);
    text-align: center;
    color: var(--resume-text);
    letter-spacing: 0.5px;
  }
  
  .resume-main-subtitle {
    font-size: clamp(1rem, 3vw, 1.25rem);
    font-weight: 600;
    text-align: center;
    color: var(--resume-primary);
    margin-bottom: var(--resume-space-md);
    line-height: var(--resume-line-height-tight);
  }
  
  .resume-section-header {
    font-size: clamp(1.1rem, 3vw, 1.25rem);
    font-weight: 700;
    color: var(--resume-text);
    margin-bottom: var(--resume-space-md);
    margin-top: var(--resume-space-lg);
    line-height: var(--resume-line-height-tight);
    letter-spacing: 0.25px;
    display: flex;
    align-items: center;
    gap: var(--resume-space-sm);
  }
  
  .credly-link {
    display: inline-flex;
    align-items: center;
    color: var(--resume-primary);
    text-decoration: none;
    transition: color 0.2s;
    margin-left: auto;
    gap: 0.2rem;
    font-size: 0.8rem;
    font-weight: 500;
  }
  
  .credly-link:hover {
    color: var(--resume-text);
  }
  
  .credly-link .icon {
    width: 14px;
    height: 14px;
  }
  
  /* First section header needs less top margin */
  .exec-summary .resume-section-header,
  .edu-section .resume-section-header {
    margin-top: 0;
  }
  
  /* ===============================
     CONTACT BAR - MOBILE OPTIMIZED
     =============================== */
  .contact-bar {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--resume-space-sm);
    margin-bottom: var(--resume-space-xl);
    line-height: var(--resume-line-height);
  }
  
  @media (min-width: 768px) {
    .contact-bar {
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: center;
      gap: var(--resume-space-md);
    }
  }
  
  .resume-contact-item {
    display: flex;
    align-items: center;
    gap: var(--resume-space-xs);
    font-size: clamp(0.875rem, 2vw, 1rem);
    color: var(--resume-text-muted);
  }
  
  .contact-bar a {
    color: var(--resume-text-muted);
    text-decoration: none;
    transition: color 0.2s;
  }
  
  .contact-bar a:hover {
    color: var(--resume-primary);
    text-decoration: underline;
  }
  
  .contact-bar .icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
  }
  
  /* ===============================
     TWO-COLUMN LAYOUT - RESPONSIVE
     =============================== */
  .two-col-section {
    display: flex;
    flex-direction: column;
    gap: var(--resume-space-lg);
    margin-bottom: var(--resume-space-xl);
  }
  
  @media (min-width: 768px) {
    .two-col-section {
      display: grid;
      grid-template-columns: 2fr 1fr;
      column-gap: 3%;
      align-items: stretch;
    }
  }
  
  @media (min-width: 1024px) {
    .two-col-section {
      grid-template-columns: 67% 30%;
    }
  }
  
  .two-col-box {
    background: var(--resume-bg-light);
    border-radius: 0.375rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
    width: 100%;
  }
  
  .left-col,
  .right-col {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  
  /* ===============================
     EXECUTIVE SUMMARY
     =============================== */
  .exec-summary {
    padding: var(--resume-space-md);
    flex-shrink: 0;
  }
  
  .exec-summary p {
    font-size: clamp(0.875rem, 2vw, 1rem);
    line-height: var(--resume-line-height);
    margin-bottom: 0;
    color: var(--resume-text-light);
  }
  
  /* ===============================
     PUBLICATIONS - RESPONSIVE GRID
     =============================== */
  .publications-section {
    padding: 0 var(--resume-space-md) var(--resume-space-md) var(--resume-space-md);
    flex-grow: 1;
    display: flex;
    flex-direction: column;
  }
  
  @media (max-width: 480px) {
    .publications-section {
      padding: 0 var(--resume-space-sm) var(--resume-space-sm) var(--resume-space-sm);
    }
  }
  
  .publications-section .resume-section-header {
    flex-shrink: 0;
  }
  
  .publications-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--resume-space-md);
    flex-grow: 1;
    padding: 0 !important;
  }
  
  @media (min-width: 768px) {
    .publications-grid {
      grid-template-columns: repeat(2, 1fr) !important;
      padding: 0 1rem 1rem 1rem !important;
    }
  }
  
  .publication-item {
    display: flex;
    align-items: flex-start;
    gap: var(--resume-space-sm);
    font-size: clamp(0.875rem, 2vw, 0.95rem);
    padding: var(--resume-space-xs);
    margin: 0 calc(-1 * var(--resume-space-xs));
    border-radius: 0.25rem;
    transition: background-color 0.2s, transform 0.2s;
  }
  
  .publication-item:hover {
    background-color: rgba(37, 99, 235, 0.05);
    transform: translateX(3px);
  }
  
  .publication-icon {
    flex-shrink: 0;
    margin-top: 2px;
  }
  
  .publication-icon .icon {
    width: 16px;
    height: 16px;
  }
  
  .publication-content {
    flex-grow: 1;
    line-height: var(--resume-line-height-tight);
  }
  
  .publication-title {
    color: var(--resume-primary);
    margin-bottom: var(--resume-space-xs);
    font-weight: 500;
    font-size: clamp(0.875rem, 2vw, 0.95rem);
    line-height: var(--resume-line-height-tight);
    text-decoration: none;
    display: block;
  }
  
  .publication-title:hover {
    text-decoration: underline;
  }
  
  .publication-type {
    font-style: italic;
    color: var(--resume-text-muted);
    font-size: clamp(0.8rem, 1.8vw, 0.9rem);
    line-height: var(--resume-line-height-tight);
  }
  
  /* ===============================
     EDUCATION
     =============================== */
  .edu-section {
    padding: var(--resume-space-md);
    flex-shrink: 0;
  }
  
  @media (max-width: 480px) {
    .edu-section {
      padding: var(--resume-space-sm);
    }
  }
  
  .education-item {
    margin-bottom: var(--resume-space-sm);
    line-height: var(--resume-line-height-tight);
  }
  
  .education-item:last-child {
    margin-bottom: 0;
  }
  
  .edu-school {
    color: var(--resume-primary);
    font-size: clamp(0.875rem, 2vw, 1rem);
    margin-bottom: var(--resume-space-xs);
  }
  
  /* ===============================
     CERTIFICATIONS
     =============================== */
  .certs-section {
    padding: 0 var(--resume-space-md) var(--resume-space-md) var(--resume-space-md);
    flex-grow: 1;
  }
  
  @media (max-width: 480px) {
    .certs-section {
      padding: 0 var(--resume-space-sm) var(--resume-space-sm) var(--resume-space-sm);
    }
  }
  
  .cert-list {
    display: flex;
    flex-direction: column;
    gap: var(--resume-space-sm);
    padding: 0;
    margin: 0;
  }
  
  .cert-item {
    display: flex;
    align-items: center;
    gap: var(--resume-space-sm);
    font-size: clamp(0.875rem, 2vw, 1rem);
    line-height: var(--resume-line-height);
    color: var(--resume-text);
    list-style: none;
    padding: var(--resume-space-xs);
    margin: 0 calc(-1 * var(--resume-space-xs));
    border-radius: 0.25rem;
    transition: background-color 0.2s, transform 0.2s;
  }
  
  .cert-item:hover {
    background-color: rgba(37, 99, 235, 0.05);
    transform: translateX(3px);
  }
  
  /* Logo/Icon styling */
  .cert-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
  }
  
  .cert-logo svg,
  .cert-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
  }
  
  .cert-item > span:last-child {
    font-weight: 500;
    flex-grow: 1;
  }
  
  /* ===============================
     COMPETENCIES - RESPONSIVE
     =============================== */
  .competencies-section {
    margin-bottom: var(--resume-space-xl);
  }
  
  .competencies-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--resume-space-md);
  }
  
  @media (min-width: 768px) {
    .competencies-grid {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  
  .competency-section {
    padding: var(--resume-space-md);
    border-radius: 0.5rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  }
  
  @media (max-width: 480px) {
    .competency-section {
      padding: var(--resume-space-sm);
    }
  }
  
  .bg-blue-50 {
    background-color: var(--resume-bg-blue);
  }
  
  .bg-green-50 {
    background-color: var(--resume-bg-green);
  }
  
  .competency-heading {
    font-size: clamp(1rem, 2.5vw, 1.1rem);
    margin-bottom: var(--resume-space-md);
    font-weight: 600;
    line-height: var(--resume-line-height-tight);
  }
  
  .bg-blue-50 .competency-heading {
    color: #1e40af;
  }
  
  .bg-green-50 .competency-heading {
    color: #166534;
  }
  
  .competency-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  
  .competency-item {
    font-size: clamp(0.875rem, 2vw, 1rem);
    line-height: var(--resume-line-height);
    margin-bottom: var(--resume-space-sm);
    display: flex;
    align-items: center;
  }
  
  .competency-item:last-child {
    margin-bottom: 0;
  }
  
  .competency-dot-blue,
  .competency-dot-green {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin-right: var(--resume-space-sm);
    flex-shrink: 0;
  }
  
  .competency-dot-blue {
    background-color: #1e40af;
  }
  
  .competency-dot-green {
    background-color: #166534;
  }
  
  /* ===============================
     PROFESSIONAL EXPERIENCE - RESPONSIVE
     =============================== */
  .experience-section {
    margin-bottom: var(--resume-space-lg);
  }
  
  .job-entry {
    background: white;
    border: 1px solid var(--resume-border);
    border-radius: 0.5rem;
    padding: var(--resume-space-md);
    margin-bottom: var(--resume-space-lg);
    box-shadow: 0 1px 3px 0 rgba(0,0,0,0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  }
  
  @media (max-width: 480px) {
    .job-entry {
      padding: var(--resume-space-sm);
      margin-bottom: var(--resume-space-md);
    }
  }
  
  .job-header-row {
    display: flex;
    flex-direction: column;
    gap: var(--resume-space-xs);
    margin-bottom: var(--resume-space-sm);
  }
  
  @media (min-width: 768px) {
    .job-header-row {
      flex-direction: row;
      justify-content: space-between;
      align-items: flex-start;
    }
  }
  
  .job-title {
    font-size: clamp(1rem, 2.5vw, 1.1rem);
    font-weight: 600;
    margin-bottom: var(--resume-space-xs);
    line-height: var(--resume-line-height-tight);
    color: var(--resume-text);
  }
  
  .job-company {
    font-size: clamp(0.95rem, 2.5vw, 1.05rem);
    color: var(--resume-primary);
    line-height: var(--resume-line-height-tight);
  }
  
  .job-dates-box,
  .job-dates {
    font-size: clamp(0.875rem, 2vw, 0.95rem);
    color: var(--resume-text-muted);
    line-height: var(--resume-line-height-tight);
  }
  
  @media (min-width: 768px) {
    .job-dates-box,
    .job-dates {
      text-align: right;
    }
  }
  
  .job-desc {
    font-size: clamp(0.875rem, 2vw, 1rem);
    font-style: italic;
    line-height: var(--resume-line-height);
    margin-bottom: var(--resume-space-md);
    color: var(--resume-text-light);
  }
  
  .job-bullets {
    font-size: clamp(0.875rem, 2vw, 1rem);
    margin: 0;
    padding-left: 0;
    line-height: var(--resume-line-height);
    list-style: none;
  }
  
  .job-bullets li {
    margin-bottom: var(--resume-space-sm);
    display: flex;
    align-items: flex-start;
  }
  
  .job-bullets li:last-child {
    margin-bottom: 0;
  }
  
  .job-bullet-icon {
    color: var(--resume-primary);
    margin-right: var(--resume-space-sm);
    font-size: 0.9rem;
    flex-shrink: 0;
    margin-top: 5px;
  }
  
  .job-role-break {
    margin-top: var(--resume-space-md);
    padding-top: var(--resume-space-md);
    border-top: 1px solid var(--resume-border);
  }
  
  .minor-jobs {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--resume-space-lg);
  }
  
  @media (min-width: 768px) {
    .minor-jobs {
      grid-template-columns: 1fr 1fr;
    }
  }
  
  .mb-0 {
    margin-bottom: 0 !important;
  }
  
  /* ===============================
     DARK MODE
     =============================== */
  .resume-dark-mode .resume-container {
    background: var(--resume-dark-bg);
    color: var(--resume-dark-text);
  }
  
  .resume-dark-mode .resume-main-title,
  .resume-dark-mode .resume-section-header,
  .resume-dark-mode .competency-heading,
  .resume-dark-mode .job-title {
    color: var(--resume-dark-primary);
  }
  
  .resume-dark-mode .resume-main-subtitle,
  .resume-dark-mode .job-company,
  .resume-dark-mode .publication-title,
  .resume-dark-mode .edu-school,
  .resume-dark-mode .job-bullet-icon,
  .resume-dark-mode .contact-bar .icon {
    color: var(--resume-dark-primary);
  }
  
  .resume-dark-mode .contact-bar a {
    color: #7ecfff !important;
  }
  
  .resume-dark-mode .publication-title {
    color: #7ecfff !important;
  }
  
  .resume-dark-mode .publication-title:hover {
    color: #4fc3f7 !important;
  }
  
  .resume-dark-mode .two-col-box {
    background: rgba(255, 255, 255, 0.05) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.3) !important;
  }
  
  .resume-dark-mode .competency-section.bg-blue-50 {
    background: rgba(52, 152, 219, 0.1) !important;
  }
  
  .resume-dark-mode .competency-section.bg-green-50 {
    background: rgba(76, 175, 80, 0.1) !important;
  }
  
  .resume-dark-mode .job-entry {
    background: rgba(255, 255, 255, 0.05) !important;
    border-color: #444 !important;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3), 0 1px 2px 0 rgba(0, 0, 0, 0.2) !important;
  }
  
  .resume-dark-mode .job-role-break {
    border-color: #444 !important;
  }
  
  .resume-dark-mode .profile-doc-header-buttons button,
  .resume-dark-mode .profile-doc-header-buttons a {
    background: #0056b3;
  }
  
  .resume-dark-mode .profile-doc-header-buttons button:hover,
  .resume-dark-mode .profile-doc-header-buttons a:hover {
    background: #002856;
  }
  
  .resume-dark-mode .cert-logo svg {
    filter: brightness(1.2);
  }
  
  /* ===============================
     PRINT STYLES - SINGLE PAGE RESUME WITH PROPER COLOR SUPPORT
     =============================== */
  
  @media print {
    /* CRITICAL: Force browsers to print background colors and images */
    * {
      -webkit-print-color-adjust: exact !important;
      print-color-adjust: exact !important;
      color-adjust: exact !important;
    }
    
    @page {
      margin: 0.5in;
      size: letter portrait;
    }
    
    body {
      margin: 0 !important;
      padding: 0 !important;
      font-size: 9pt !important;
      line-height: 1.2 !important;
    }
    
    /* Ensure dark mode backgrounds print correctly */
    .resume-dark-mode {
      background: var(--resume-dark-bg) !important;
      color: var(--resume-dark-text) !important;
    }
    
    .resume-container {
      max-width: 8.5in !important;
      margin: 0 auto !important;
      padding: 0 !important;
      box-shadow: none !important;
      font-size: 9pt !important;
      line-height: 1.2 !important;
    }
    
    /* Light mode print styles */
    .resume-container:not(.resume-dark-mode .resume-container) {
      background: white !important;
      color: #333 !important;
    }
    
    /* Dark mode print styles */
    .resume-dark-mode .resume-container {
      background: var(--resume-dark-bg) !important;
      color: var(--resume-dark-text) !important;
    }
    
    /* Hide non-essential elements */
    .profile-doc-header-buttons {
      display: none !important;
    }
    
    /* Header section - compact */
    .resume-container .resume-main-title {
      font-size: 16pt !important;
      margin-bottom: 0.03rem !important;
      line-height: 1.1 !important;
      margin-top: 0 !important;
    }
    
    .resume-container .resume-main-subtitle {
      font-size: 10pt !important;
      margin-bottom: 0.15rem !important;
      line-height: 1.1 !important;
    }
    
    .resume-container .resume-section-header {
      font-size: 10pt !important;
      margin-bottom: 0.1rem !important;
      margin-top: 0.2rem !important;
      line-height: 1.1 !important;
      display: flex !important;
      align-items: center !important;
      gap: 0.3rem !important;
    }
    
    .resume-container .credly-link {
      display: inline-flex !important;
      align-items: center !important;
      color: #2563EB !important;
      text-decoration: none !important;
      margin-left: auto !important;
      gap: 0.15rem !important;
      font-size: 8pt !important;
      font-weight: 500 !important;
    }
    
    /* Dark mode credly link */
    .resume-dark-mode .resume-container .credly-link {
      color: var(--resume-dark-primary) !important;
    }
    
    .resume-container .credly-link .icon {
      width: 8px !important;
      height: 8px !important;
    }
    
    .resume-container .header-section {
      margin-bottom: 0.1rem !important;
    }
    
    .resume-container .contact-bar {
      font-size: 8pt !important;
      line-height: 1.2 !important;
      gap: 0.5rem !important;
      margin-bottom: 0.1rem !important;
      flex-direction: row !important;
      flex-wrap: nowrap !important;
      justify-content: center !important;
      align-items: center !important;
    }
    
    .resume-container .resume-contact-item {
      display: flex !important;
      align-items: center !important;
      gap: 0.2rem !important;
      white-space: nowrap !important;
    }
    
    /* Two column layout - force grid */
    .resume-container .two-col-section {
      display: grid !important;
      grid-template-columns: 65% 32% !important;
      column-gap: 3% !important;
      margin-bottom: 0.15rem !important;
    }
    
    .resume-container .two-col-box {
      border-radius: 0.25rem !important;
      box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
    }
    
    /* Light mode two-col-box */
    .resume-container:not(.resume-dark-mode .resume-container) .two-col-box {
      background: #f9fafb !important;
    }
    
    /* Dark mode two-col-box */
    .resume-dark-mode .resume-container .two-col-box {
      background: rgba(255, 255, 255, 0.05) !important;
    }
    
    /* Executive summary - very compact */
    .resume-container .exec-summary {
      font-size: 8pt !important;
      line-height: 1.2 !important;
      padding: 0.2rem !important;
    }
    
    .resume-container .exec-summary p {
      font-size: 8pt !important;
      line-height: 1.2 !important;
      margin-bottom: 0.2rem !important;
    }
    
    /* Publications - compact grid */
    .resume-container .publications-grid {
      display: grid !important;
      grid-template-columns: repeat(2, 1fr) !important;
      gap: 0.15rem !important;
      margin-top: 0.15rem !important;
      padding: 0 0.25rem 0.15rem 0.25rem !important;
    }
    
    .resume-container .publication-item {
      gap: 0.15rem !important;
      font-size: 7pt !important;
    }
    
    .resume-container .publication-title {
      font-size: 7pt !important;
      margin-bottom: 0.03rem !important;
    }
    
    .resume-container .publication-type {
      font-size: 6.5pt !important;
    }
    
    /* Competencies - compact */
    .resume-container .competencies-section {
      margin-bottom: 0.25rem !important;
    }
    
    .resume-container .competencies-grid {
      display: grid !important;
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: 0.75rem !important;
    }
    
    .resume-container .competency-section {
      padding: 0.25rem !important;
      border-radius: 0.25rem !important;
      box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
    }
    
    /* Light mode competency sections */
    .resume-container:not(.resume-dark-mode .resume-container) .competency-section.bg-blue-50 {
      background: var(--resume-bg-blue) !important;
    }
    
    .resume-container:not(.resume-dark-mode .resume-container) .competency-section.bg-green-50 {
      background: var(--resume-bg-green) !important;
    }
    
    /* Dark mode competency sections */
    .resume-dark-mode .resume-container .competency-section.bg-blue-50 {
      background: rgba(52, 152, 219, 0.1) !important;
    }
    
    .resume-dark-mode .resume-container .competency-section.bg-green-50 {
      background: rgba(76, 175, 80, 0.1) !important;
    }
    
    .resume-container .competency-item {
      font-size: 7.5pt !important;
      line-height: 1.1 !important;
      margin-bottom: 0.08rem !important;
    }
    
    .resume-container .competency-dot-blue,
    .resume-container .competency-dot-green {
      width: 4px !important;
      height: 4px !important;
      margin-right: 4px !important;
    }
    
    .resume-container .competency-heading {
      font-size: 9pt !important;
      margin-bottom: 0.1rem !important;
    }
    
    /* Job entries - very compact */
    .resume-container .job-entry {
      margin-bottom: 0.15rem !important;
      padding: 0.2rem !important;
      border: 1px solid #e5e7eb !important;
      border-radius: 0.25rem !important;
      box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
    }
    
    /* Light mode job entries */
    .resume-container:not(.resume-dark-mode .resume-container) .job-entry {
      background: #fff !important;
      border-color: #e5e7eb !important;
    }
    
    /* Dark mode job entries */
    .resume-dark-mode .resume-container .job-entry {
      background: rgba(255, 255, 255, 0.05) !important;
      border-color: #444 !important;
    }
    
    .resume-container .job-title {
      font-size: 9pt !important;
      margin-bottom: 0.02rem !important;
      line-height: 1.1 !important;
    }
    
    .resume-container .job-company {
      font-size: 8.5pt !important;
      line-height: 1.1 !important;
    }
    
    .resume-container .job-dates,
    .resume-container .job-dates-box {
      font-size: 7.5pt !important;
      line-height: 1.1 !important;
    }
    
    .resume-container .job-desc {
      font-size: 7.5pt !important;
      line-height: 1.1 !important;
      margin-bottom: 0.08rem !important;
    }
    
    .resume-container .job-bullets {
      font-size: 7.5pt !important;
      padding-left: 0.25rem !important;
      line-height: 1.15 !important;
    }
    
    .resume-container .job-bullets li {
      margin-bottom: 0.06rem !important;
    }
    
    .resume-container .job-bullet-icon {
      margin-right: 3px !important;
      font-size: 7pt !important;
      margin-top: 1px !important;
    }
    
    .resume-container .job-role-break {
      margin-top: 0.1rem !important;
      padding-top: 0.08rem !important;
      border-top: 1px solid #e5e7eb !important;
    }
    
    /* Dark mode job role break */
    .resume-dark-mode .resume-container .job-role-break {
      border-color: #444 !important;
    }
    
    /* Minor jobs grid - make smaller */
    .resume-container .minor-jobs {
      display: grid !important;
      grid-template-columns: 1fr 1fr !important;
      gap: 0.75rem !important;
    }
    
    /* Education & Certifications */
    .resume-container .edu-section,
    .resume-container .certs-section {
      font-size: 7.5pt !important;
      line-height: 1.2 !important;
      padding: 0.2rem !important;
    }
    
    .resume-container .edu-school {
      font-size: 7.5pt !important;
      margin-bottom: 0.06rem !important;
    }
    
    .resume-container .cert-item {
      font-size: 7.5pt !important;
      line-height: 1.2 !important;
      margin-bottom: 0.06rem !important;
      gap: 0.3rem !important;
    }
    
    .resume-container .cert-logo {
      width: 12px !important;
      height: 12px !important;
    }
    
    /* Ensure colors print correctly in light mode */
    .resume-container:not(.resume-dark-mode .resume-container) .text-blue-600, 
    .resume-container:not(.resume-dark-mode .resume-container) .edu-school, 
    .resume-container:not(.resume-dark-mode .resume-container) .job-company, 
    .resume-container:not(.resume-dark-mode .resume-container) .publication-title, 
    .resume-container:not(.resume-dark-mode .resume-container) .job-bullet-icon {
      color: #2563EB !important;
    }
    
    /* Ensure colors print correctly in dark mode */
    .resume-dark-mode .resume-container .text-blue-600, 
    .resume-dark-mode .resume-container .edu-school, 
    .resume-dark-mode .resume-container .job-company, 
    .resume-dark-mode .resume-container .publication-title, 
    .resume-dark-mode .resume-container .job-bullet-icon,
    .resume-dark-mode .resume-container .resume-main-title,
    .resume-dark-mode .resume-container .resume-section-header,
    .resume-dark-mode .resume-container .competency-heading,
    .resume-dark-mode .resume-container .job-title {
      color: var(--resume-dark-primary) !important;
    }
    
    /* Ensure dots print correctly */
    .resume-container .competency-dot-blue {
      background-color: #1e40af !important;
    }
    
    .resume-container .competency-dot-green {
      background-color: #166534 !important;
    }
    
    /* No page breaks within sections */
    .resume-container .no-break {
      page-break-inside: avoid !important;
    }
    
    /* Adjust icon sizes for print */
    .resume-container .icon {
      width: 10px !important;
      height: 10px !important;
      margin-right: 2px !important;
    }
    
    /* Experience section spacing */
    .resume-container .experience-section {
      margin-bottom: 0.08rem !important;
    }
    
    /* Remove any extra spacing */
    .resume-container > *:last-child {
      margin-bottom: 0 !important;
    }
  }

  /* ===============================
     DARK MODE STYLES - Enhanced for Print
   =============================== */
  .resume-dark-mode .contact-bar a {
    color: #7ecfff !important;
  }

  .resume-dark-mode .publication-title {
    color: #7ecfff !important;
  }

  .resume-dark-mode .publication-title:hover {
    color: #4fc3f7 !important;
  }

  .resume-dark-mode .competency-section.bg-blue-50 {
    background: rgba(52, 152, 219, 0.1) !important;
  }

  .resume-dark-mode .competency-section.bg-green-50 {
    background: rgba(76, 175, 80, 0.1) !important;
  }

  .resume-dark-mode .job-title {
    color: #7ecfff !important;
  }

  .resume-dark-mode .job-company {
    color: #4fc3f7 !important;
  }

  .resume-dark-mode .resume-section-header {
    color: #7ecfff !important;
    border-color: #7ecfff !important;
  }

  .resume-dark-mode .credly-link {
    color: #7ecfff !important;
  }

  .resume-dark-mode .credly-link:hover {
    color: #4fc3f7 !important;
  }

  .resume-dark-mode .contact-bar {
    background: transparent !important;
  }

  .resume-dark-mode .two-col-box {
    background: rgba(255, 255, 255, 0.05) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.3) !important;
  }

  .resume-dark-mode .exec-summary p {
    color: #e0e0e0 !important;
  }

  .resume-dark-mode .publication-type {
    color: #e0e0e0 !important;
  }

  .resume-dark-mode .edu-school {
    color: #e0e0e0 !important;
  }

  .resume-dark-mode .cert-item > span:last-child {
    color: #e0e0e0 !important;
  }

  .resume-dark-mode .job-dates-box {
    color: #e0e0e0 !important;
  }

  .resume-dark-mode .job-desc {
    color: #e0e0e0 !important;
  }

  .resume-dark-mode .job-bullets li {
    color: #e0e0e0 !important;
  }

  .resume-dark-mode .job-bullet-icon {
    color: #7ecfff !important;
  }

  .resume-dark-mode .job-entry {
    border-color: #444 !important;
  }

  .resume-dark-mode .job-role-break {
    border-color: #444 !important;
  }

  .resume-dark-mode .minor-jobs {
    background: transparent !important;
  }

  .resume-dark-mode .minor-jobs .job-entry {
    background: rgba(255, 255, 255, 0.05) !important;
    border-color: #444 !important;
  }

  /* Fix all paragraph and text elements in dark mode */
  .resume-dark-mode p,
  .resume-dark-mode .education-item,
  .resume-dark-mode .cert-item,
  .resume-dark-mode .competency-item span:last-child,
  .resume-dark-mode .job-dates {
    color: #e0e0e0 !important;
  }