
/* Mobile-first responsive design improvements */
    * {
      box-sizing: border-box;
    }

    html {
      -webkit-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
    }

    body {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }

    /* Custom styles for Swiper navigation buttons */
    .swiper-button-next, .swiper-button-prev {
      color: white; /* Ensure navigation arrows are visible on dark backgrounds */
    }

    /* Responsive images */
    img {
      max-width: 100%;
      height: auto;
    }

    /* Better focus styles for accessibility */
    button:focus,
    input:focus,
    textarea:focus,
    select:focus,
    a:focus {
      outline: 2px solid #ef4444;
      outline-offset: 2px;
    }

    /* Smooth scrolling */
    html {
      scroll-behavior: smooth;
    }

    /* Basic styling for grid cells in the Welcome section */
    .welcome-cell {
      background-color: white; /* White background for cells */
      padding: 0 0 1.5rem; /* No top/left/right padding, only bottom */
      box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
      border-radius: 0.5rem; /* Rounded corners for a modern look */
      transition: transform 0.2s ease-in-out; /* Smooth transition for hover effects */
      cursor: pointer; /* Indicate interactivity */
      display: flex; /* Use flexbox for vertical alignment of content */
      flex-direction: column; /* Stack content vertically */
      justify-content: flex-start; /* Align content to the top */
      min-height: 120px; /* Ensure a minimum height for consistent look */
      overflow: hidden; /* Important for images to go to edges */
    }

    .welcome-cell:hover {
      transform: translateY(-5px); /* Lift effect on hover */
    }

    .welcome-cell h4 {
      font-weight: bold; /* Bold titles for cells */
      margin-top: 1rem; /* Space below icon, adjusted from 0.5rem */
      margin-bottom: 0.5rem; /* Space below title */
      color: #333; /* Darker color for headings */
      padding-left: 1.5rem;   /* Medium left padding */
      padding-right: 1.5rem;  /* Medium right padding */
    }

    .welcome-cell p {
      font-size: 0.9rem; /* Slightly smaller text for descriptions */
      color: #555; /* Medium gray for body text */
      line-height: 1.4; /* Improved readability */
      flex-grow: 1; /* Allow paragraph to take up available space */
      margin-bottom: 0.5rem; /* Reduced space under paragraph */
      padding-left: 1.5rem;   /* Medium left padding */
      padding-right: 1.5rem;  /* Medium right padding */
    }

    .welcome-cell a { /* Changed from small to a for clickable link */
      color: #ef4444; /* Red color for 'Read more' */
      font-weight: 600; /* Semi-bold for 'Read more' */
      margin-top: 0.5rem; /* Adjusted space above 'Read more' */
      display: block; /* Ensure 'Read more' is on its own line */
      text-decoration: none; /* Remove underline by default */
    }
    .welcome-cell a:hover {
        text-decoration: underline; /* Add underline on hover */
    }

    /* Styling for the right column cells */
    .right-column-cell {
      background-color: #e5e7eb; /* Lighter background for distinction */
      padding: 1.5rem;
      box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
      border-radius: 0.5rem;
      display: flex;
      flex-direction: column;
      justify-content: center; /* Center content vertically */
      text-align: center; /* Center text horizontally */
      min-height: 100px; /* Consistent height for cells */
    }

    .right-column-cell h4 {
      font-weight: bold;
      margin-bottom: 0.5rem;
      color: #1f2937; /* Darker gray for headings */
    }

    .right-column-cell p {
      font-size: 0.875rem; /* Small font size for descriptions */
      color: #4b5563; /* Dark gray for text */
    }

    /* Styles for the new interactive tabs/accordion */
    .tab-button.active {
      background-color: #ef4444; /* Red for active tab button */
      color: white; /* White text for active tab button */
    }

    /* Mobile: Stack buttons vertically */
    .tab-buttons-container {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem; /* Reduced gap for stacking */
      justify-content: center; /* Center on mobile */
    }

    /* Mobile Navigation Styles */
    .mobile-menu-button {
      display: none;
      background: none;
      border: none;
      color: white;
      font-size: 1.5rem;
      cursor: pointer;
      padding: 0.5rem;
      min-height: 44px;
      min-width: 44px;
      border-radius: 0.25rem;
      transition: background-color 0.2s ease;
    }

    .mobile-menu-button:hover {
      background-color: rgba(255, 255, 255, 0.1);
    }

    .mobile-nav {
      display: none;
      position: absolute;
      top: 100%;
      left: 0;
      right: 0;
      background-color: #1f2937;
      border-top: 1px solid #374151;
      z-index: 50;
      box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    }

    .mobile-nav.active {
      display: block;
      animation: slideDown 0.3s ease-out;
    }

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

    /* Tablet and larger mobile devices (768px - 1023px) */
    @media (min-width: 768px) and (max-width: 1023px) {
      /* Header adjustments for tablets */
      .header-content {
        padding: 1rem;
      }

      .logo-mobile {
        width: 200px;
      }

      /* Hero section for tablets */
      .hero-title {
        font-size: 2rem;
      }

      .hero-button {
        font-size: 1rem;
        padding: 0.75rem 1.5rem;
      }

      /* Welcome section grid for tablets */
      .welcome-cell {
        min-height: 140px;
      }

      .welcome-cell h4 {
        font-size: 1.1rem;
      }

      .welcome-cell p {
        font-size: 0.95rem;
      }

      /* Tab buttons for tablets */
      .tab-button {
        font-size: 0.95rem;
        padding: 0.75rem 1.25rem;
      }

      /* Forms for tablets */
      .tab-content form {
        max-width: 600px;
        margin: 0 auto;
      }

      .tab-content input,
      .tab-content textarea,
      .tab-content select {
        padding: 0.875rem;
      }

      /* Products carousel for tablets */
      .products-swiper-container {
        height: 200px;
      }
    }

    /* Large tablets and small desktops (1024px - 1279px) */
    @media (min-width: 1024px) and (max-width: 1279px) {
      .welcome-cell {
        min-height: 160px;
      }

      .right-column-cell {
        min-height: 120px;
      }

      .tab-content form {
        max-width: 700px;
        margin: 0 auto;
      }
    }

    /* Touch device optimizations */
    @media (hover: none) and (pointer: coarse) {
      /* Remove hover effects on touch devices */
      .welcome-cell:hover {
        transform: none;
      }

      .tab-content button:hover {
        transform: none;
        box-shadow: none;
      }

      /* Larger touch targets */
      .tab-button,
      .collapse-header,
      .mobile-nav a {
        min-height: 48px;
      }

      /* Better spacing for touch */
      .tab-buttons-container {
        gap: 0.75rem;
      }
    }

    /* High DPI displays */
    @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
      /* Ensure crisp text rendering on high DPI displays */
      body {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
      }
    }

    /* Landscape orientation on mobile */
    @media (max-width: 767px) and (orientation: landscape) {
      .hero-title {
        font-size: 1.5rem;
      }

      .swiper-slide {
        height: 50vh;
        min-height: 300px;
      }

      .welcome-cell {
        min-height: auto;
      }

      /* Adjust mobile navigation for landscape */
      .mobile-nav {
        max-height: 60vh;
        overflow-y: auto;
      }
    }

    /* Print styles */
    @media print {
      .mobile-nav,
      .swiper-button-next,
      .swiper-button-prev,
      .swiper-pagination {
        display: none !important;
      }

      body {
        font-size: 12pt;
        line-height: 1.4;
      }

      .welcome-cell,
      .right-column-cell {
        break-inside: avoid;
        page-break-inside: avoid;
      }
    }

    .mobile-nav a {
      display: block;
      padding: 1rem 1.5rem;
      border-bottom: 1px solid #374151;
      color: white;
      text-decoration: none;
      min-height: 44px;
      display: flex;
      align-items: center;
      transition: background-color 0.2s ease;
    }

    .mobile-nav a:hover,
    .mobile-nav a:focus {
      background-color: #374151;
      outline: none;
    }

    .mobile-nav a:last-child {
      border-bottom: none;
    }

    @media (max-width: 767px) {
      /* Tab buttons mobile styling */
      .tab-buttons-container {
        flex-direction: column; /* Stack buttons vertically */
        align-items: stretch; /* Make buttons fill width */
      }
      .tab-button {
        width: 100%; /* Full width for stacked buttons */
        font-size: 0.875rem; /* Smaller font on mobile */
        padding: 0.75rem 1rem; /* Adjust padding for mobile */
      }
      
      /* Hide literature content on mobile, show only forms */
      .tab-content .collapse-content p {
        display: none;
      }
      
      /* Show Learn More link on mobile */
       .tab-content .learn-more-mobile {
         display: block !important;
         text-align: center;
         margin-bottom: 16px;
         padding: 8px 16px;
         background-color: #f3f4f6;
         border-radius: 6px;
         border: 1px solid #d1d5db;
       }
       
      /* Hide Learn More links on desktop */
      .tab-content .learn-more-mobile {
        display: none;
      }
      
      @media (min-width: 768px) {
        .tab-content .learn-more-mobile {
          display: none !important;
        }
      }
      
      .tab-content .learn-more-mobile a {
        color: #dc2626;
        font-weight: 600;
        text-decoration: none;
        font-size: 14px;
      }
      
      .tab-content .learn-more-mobile a:hover {
        text-decoration: underline;
      }
      
      /* Ensure forms are prominently displayed on mobile */
      .tab-content form {
        margin-top: 0;
        background-color: #ffffff;
        border: 1px solid #e5e7eb;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
      }
      
      /* Hide non-essential content in Career Opportunities on mobile */
      .tab-content#opportunity-content .bg-white p,
      .tab-content#opportunity-content .mb-6 {
        display: none;
      }
      
      /* Keep only the form visible in Career Opportunities */
      .tab-content#opportunity-content form {
        background-color: #ffffff;
        padding: 16px;
        margin: 0;
      }

      /* Mobile navigation */
      .desktop-nav {
        display: none;
      }
      
      .mobile-menu-button {
        display: block;
      }

      /* Header adjustments for mobile */
      .header-content {
        flex-direction: column;
        gap: 0.5rem;
        text-align: center;
      }

      .header-contact {
        font-size: 0.75rem;
      }

      /* Logo sizing for mobile */
      .logo-mobile {
        width: 150px;
        max-width: 100%;
      }

      /* Hero section mobile adjustments */
      .hero-title {
        font-size: 1.5rem;
      }

      .hero-button {
        font-size: 0.875rem;
        padding: 0.5rem 1rem;
      }

      /* Welcome section mobile adjustments */
      .welcome-cell {
        min-height: auto;
      }

      .welcome-cell h4 {
        font-size: 1rem;
        padding-left: 1rem;
        padding-right: 1rem;
      }

      .welcome-cell p {
        font-size: 0.875rem;
        padding-left: 1rem;
        padding-right: 1rem;
      }

      /* Products carousel mobile adjustments */
      .products-swiper-container {
        height: 180px;
      }

      /* Right column cells mobile adjustments */
      .right-column-cell {
        padding: 1rem;
        min-height: auto;
      }

      .right-column-cell h4 {
        font-size: 1rem;
      }

      .right-column-cell p {
         font-size: 0.8rem;
       }

       /* Form improvements for mobile */
       .tab-content form {
         padding: 0;
         margin: 0 auto;
       }

       .tab-content input,
       .tab-content textarea,
       .tab-content select {
         font-size: 16px; /* Prevents zoom on iOS */
         padding: 0.75rem;
         margin-bottom: 1rem;
         border-radius: 0.375rem;
         border: 2px solid #d1d5db;
         transition: border-color 0.2s ease, box-shadow 0.2s ease;
       }

       .tab-content input:focus,
       .tab-content textarea:focus,
       .tab-content select:focus {
         outline: none;
         border-color: #ef4444;
         box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
       }

       .tab-content button {
         padding: 0.75rem 1.5rem;
         font-size: 1rem;
         width: 100%;
         margin-top: 0.5rem;
         min-height: 44px;
         border-radius: 0.375rem;
         transition: all 0.2s ease;
       }

       .tab-content button:hover {
         transform: translateY(-1px);
         box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
       }

       /* Better form layout on mobile */
       .tab-content .grid {
         gap: 1rem;
       }

       .tab-content label {
         font-weight: 600;
         margin-bottom: 0.5rem;
         display: block;
       }

       /* Improve touch targets */
       .tab-button,
       .collapse-header {
         min-height: 44px; /* Apple's recommended minimum touch target */
         display: flex;
         align-items: center;
         justify-content: center;
       }

       /* Swiper improvements for mobile */
       .swiper-button-next,
       .swiper-button-prev {
         width: 35px;
         height: 35px;
       }

       .swiper-button-next:after,
       .swiper-button-prev:after {
         font-size: 18px;
       }

       /* Footer improvements for mobile */
       .footer-content {
         text-align: center;
       }

       .footer-content > div {
         margin-bottom: 2rem;
       }

       /* Social media icons mobile spacing */
       .social-icons {
         justify-content: center;
         gap: 1.5rem;
       }

       /* Better mobile typography */
       h1, h2, h3, h4, h5, h6 {
         line-height: 1.2;
         margin-bottom: 0.5rem;
       }

       p {
         line-height: 1.5;
         margin-bottom: 1rem;
       }

       /* Improve mobile navigation accessibility */
       .desktop-nav a:focus,
       .mobile-nav a:focus {
         background-color: rgba(239, 68, 68, 0.2);
         color: white;
       }

       /* Better mobile carousel controls */
       .swiper-pagination {
         bottom: 10px;
       }

       .swiper-pagination-bullet {
         width: 12px;
         height: 12px;
         margin: 0 6px;
       }

       /* Mobile-optimized welcome section */
       .welcome-cell {
         margin-bottom: 1rem;
       }

       /* Improve mobile form validation styles */
       .tab-content input:invalid,
       .tab-content textarea:invalid,
       .tab-content select:invalid {
         border-color: #f87171;
       }

       .tab-content input:valid,
       .tab-content textarea:valid,
       .tab-content select:valid {
         border-color: #10b981;
       }
     }

     /* Additional mobile-first improvements */
     @media (max-width: 480px) {
       /* Extra small screens */
       .hero-title {
         font-size: 1.25rem;
         line-height: 1.3;
       }

       .hero-button {
         font-size: 0.8rem;
         padding: 0.5rem 0.75rem;
         min-height: 44px;
       }

       .tab-button {
         font-size: 0.8rem;
         padding: 0.5rem 0.75rem;
         min-height: 44px;
       }

       .welcome-cell h4 {
         font-size: 0.9rem;
         line-height: 1.3;
       }

       .welcome-cell p {
         font-size: 0.8rem;
         line-height: 1.4;
       }

       .right-column-cell h4 {
         font-size: 0.9rem;
         line-height: 1.3;
       }

       .right-column-cell p {
         font-size: 0.75rem;
         line-height: 1.4;
       }

       /* Improve form spacing on very small screens */
       .tab-content form {
         padding: 0.75rem;
       }

       .tab-content input,
       .tab-content textarea,
       .tab-content select {
         padding: 0.875rem;
         margin-bottom: 1.25rem;
       }

       /* Better spacing for grid layouts */
       .grid {
         gap: 0.75rem;
       }
     }


    .tab-content {
      border: 1px solid #e2e8f0; /* Light gray border for content */
      border-top: none; /* No top border to blend with tabs */
      border-radius: 0 0 0.5rem 0.5rem; /* Rounded corners only at bottom */
      overflow: hidden; /* Hide overflowing content during collapse */
      transition: all 0.3s ease-in-out; /* Smooth transition for height */
      max-height: 0; /* Hidden by default for collapsible */
      opacity: 0; /* Also hide opacity for smooth fade */
      visibility: hidden; /* Hide from screen readers when collapsed */
    }

    .tab-content.active {
      max-height: none; /* Remove height restriction to show full content */
      opacity: 1; /* Make visible */
      visibility: visible; /* Make visible to screen readers */
      padding: 1.5rem; /* Add padding when active */
    }

    .collapse-header {
      background-color: #f3f4f6; /* Lighter background for collapsible header */
      padding: 1rem 1.5rem; /* Padding for header */
      cursor: pointer; /* Indicate it's clickable */
      display: flex; /* Flex for content and arrow */
      justify-content: space-between; /* Space between title and arrow */
      align-items: center; /* Center vertically */
      border-bottom: 1px solid #e2e8f0; /* Separator from content */
      border-radius: 0.5rem; /* Rounded corners */
      margin-top: 0.5rem; /* Space between accordion items */
    }

    /* Style for the left side with title */
    .collapse-header-title {
      display: flex;
      align-items: center;
      flex: 1;
    }

    /* Style for the right side with button */
    .collapse-header-actions {
      display: flex;
      align-items: center;
      margin-left: 1rem;
    }

    /* Ensure buttons in header have appropriate sizing */
    .collapse-header-actions button {
      padding: 0.5rem 1rem;
      font-size: 0.875rem;
      white-space: nowrap;
      min-height: 38px;
    }

    /* Hide the centered buttons in content when we have header buttons */
    .collapse-content .header-button-duplicate {
      display: none;
    }

    /* Style for the left side with title */
    .collapse-header-title {
      display: flex;
      align-items: center;
      flex: 1;
    }

    /* Style for the right side with button */
    .collapse-header-actions {
      display: flex;
      align-items: center;
      margin-left: 1rem;
    }

    /* Ensure buttons in header have appropriate sizing */
    .collapse-header-actions button {
      padding: 0.5rem 1rem;
      font-size: 0.875rem;
      white-space: nowrap;
      min-height: 38px;
    }

    /* Hide the centered buttons in content when we have header buttons */
    .collapse-content .header-button-duplicate {
      display: none;
    }

    .collapse-header.active {
      border-radius: 0.5rem 0.5rem 0 0; /* Rounded top, flat bottom when active */
    }

    .collapse-content {
      background-color: white; /* White background for collapsible content */
      overflow: hidden;
      transition: max-height 0.3s ease-in-out, padding 0.3s ease-in-out;
      max-height: 0; /* Collapsed by default */
      padding: 0 1.5rem; /* No padding when collapsed */
    }

    .collapse-content.active {
      max-height: none; /* Remove height restriction to show full content */
      padding: 1rem 1.5rem; /* Padding when active */
    }

    .arrow {
      transition: transform 0.3s ease-in-out; /* Smooth arrow rotation */
    }

    .arrow.rotate {
      transform: rotate(90deg); /* Rotate arrow when active */
    }

    /* Custom style for icon in welcome cell */
    .welcome-icon {
        width: 100%; /* Fill the top of the cell horizontally */
        height: 120px; /* Fixed height for consistent look */
        object-fit: cover; /* Ensure the image covers the area, cropping if necessary */
        object-position: center; /* Center the image within its box */
        border-radius: 0.5rem 0.5rem 0 0; /* Apply rounded corners only to the top */
        margin-bottom: 0; /* No space below icon as text has its own top margin */
    }

    /* Styles for the "Top Six Products" carousel within a cell */
    .products-swiper-container {
        width: 100%;
        height: 150px; /* Set a fixed height for the carousel */
        margin-top: 1rem; /* Space above the carousel */
    }
    .products-swiper-slide {
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: #d1d5db; /* Placeholder background */
        color: #4b5563;
        font-size: 0.9rem;
        border-radius: 0.25rem;
    }

    /* Dialogue Modal Styles */
.dialogue-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.dialogue-container {
  background-color: white;
  border-radius: 0.5rem;
  width: 90%;
  max-width: 600px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.dialogue-header {
  padding: 1rem;
  border-bottom: 1px solid #e5e7eb;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.dialogue-title {
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0;
}

.dialogue-close {
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  padding: 0.5rem;
}

.dialogue-tabs {
  display: flex;
  border-bottom: 1px solid #e5e7eb;
}

.dialogue-content {
  padding: 1.5rem;
}

    /* Dialogue Tab Buttons */
    .modal-tab-btn {
      padding: 0.75rem 1.5rem;
      background: none;
      border: none;
      cursor: pointer;
      font-weight: 600;
      color: #6b7280;
      border-bottom: 2px solid transparent;
    }

    .modal-tab-btn.active {
      color: #ef4444;
      border-bottom-color: #ef4444;
    }

    /* Dialogue Form Styles */
    .modal-form {
      display: none;
    }

    .modal-form.active {
      display: block;
    }

    /* Responsive adjustments for collapse header */
    @media (max-width: 640px) {
      .collapse-header {
        flex-direction: column;
        align-items: flex-start;
        padding: 0.75rem 1rem;
      }
      
      .collapse-header-actions {
        margin-left: 0;
        margin-top: 0.5rem;
        width: 100%;
      }
      
      .collapse-header-actions button {
        width: 100%;
      }
      .collapse-header {
        flex-direction: column;
        align-items: flex-start;
        padding: 0.75rem 1rem;
      }
      
      .collapse-header-actions {
        margin-left: 0;
        margin-top: 0.5rem;
        width: 100%;
      }
      
      .collapse-header-actions button {
        width: 100%;
      }
    }

    /* Mobile responsive styles for dialog */
    @media (max-width: 768px) {
      .dialog-container {
        margin: 10px;
        max-height: 95vh;
      }
      
      .dialog-tabs {
        flex-wrap: wrap;
      }
      
      .modal-tab-btn {
        font-size: 0.875rem;
        padding: 8px 12px;
      }
      
      .dialog-header {
        padding: 15px;
      }
      
      .dialog-content {
        padding: 15px;
      }
    }

    /* Focus styles for dialog accessibility */
    .dialog-close:focus,
    .modal-tab-btn:focus {
      outline: 2px solid #ef4444;
      outline-offset: 2px;
    }

    /* Animation for dialog appearance */
    .dialog-overlay {
      animation: fadeIn 0.3s ease-out;
    }

    @keyframes fadeIn {
      from {
        opacity: 0;
      }
      to {
        opacity: 1;
      }
    }

    .dialog-container {
      animation: slideIn 0.3s ease-out;
    }

    @keyframes slideIn {
      from {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }

    .modal-tab-btn {
      padding: 12px 16px;
      border: none;
      background: #f9fafb;
      color: #374151;
      border-radius: 6px 6px 0 0;
      cursor: pointer;
      transition: all 0.2s;
      margin-right: 4px;
      font-weight: 500;
    }

    .modal-tab-btn.active {
      background: #3b82f6;
      color: white;
    }

    .modal-tab-btn:hover:not(.active) {
      background: #e5e7eb;
    }

    .modal-form {
      display: none;
    }

    .modal-form.active {
      display: block;
    }

    /* Mobile responsive styles for dialog */
    @media (max-width: 768px) {
      .dialog-container {
        margin: 10px;
        max-height: 95vh;
      }
      
      .dialog-tabs {
        flex-wrap: wrap;
      }
      
      .modal-tab-btn {
        font-size: 0.875rem;
        padding: 8px 12px;
      }
      
      .dialog-header {
        padding: 15px;
      }
      
      .dialog-content {
        padding: 15px;
      }
    }

    /* Focus styles for dialog accessibility */
    .dialog-close:focus,
    .modal-tab-btn:focus {
      outline: 2px solid #ef4444;
      outline-offset: 2px;
    }

    /* Animation for dialog appearance */
    .dialog-overlay {
      animation: fadeIn 0.3s ease-out;
    }

    @keyframes fadeIn {
      from {
        opacity: 0;
      }
      to {
        opacity: 1;
      }
    }

    .dialog-container {
      animation: slideIn 0.3s ease-out;
    }

    @keyframes slideIn {
      from {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }

    .modal-tab-btn {
      padding: 12px 16px;
      border: none;
      background: #f9fafb;
      color: #374151;
      border-radius: 6px 6px 0 0;
      cursor: pointer;
      transition: all 0.2s;
      margin-right: 4px;
      font-weight: 500;
    }

    .modal-tab-btn.active {
      background: #3b82f6;
      color: white;
    }

    .modal-tab-btn:hover:not(.active) {
      background: #e5e7eb;
    }

    .modal-form {
      display: none;
    }

    .modal-form.active {
      display: block;
    }

    /* Mobile responsive styles for dialog */
    @media (max-width: 768px) {
      .dialog-container {
        margin: 10px;
        max-height: 95vh;
      }
      
      .dialog-tabs {
        flex-wrap: wrap;
      }
      
      .modal-tab-btn {
        font-size: 0.875rem;
        padding: 8px 12px;
      }
      
      .dialog-header {
        padding: 15px;
      }
      
      .dialog-content {
        padding: 15px;
      }
    }

    /* Focus styles for dialog accessibility */
    .dialog-close:focus,
    .modal-tab-btn:focus {
      outline: 2px solid #ef4444;
      outline-offset: 2px;
    }

    /* Animation for dialog appearance */
    .dialog-overlay {
      animation: fadeIn 0.3s ease-out;
    }

    @keyframes fadeIn {
      from {
        opacity: 0;
      }
      to {
        opacity: 1;
      }
    }

    .dialog-container {
      animation: slideIn 0.3s ease-out;
    }

    @keyframes slideIn {
      from {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }

    .modal-tab-btn {
      padding: 12px 16px;
      border: none;
      background: #f9fafb;
      color: #374151;
      border-radius: 6px 6px 0 0;
      cursor: pointer;
      transition: all 0.2s;
      margin-right: 4px;
      font-weight: 500;
    }

    .modal-tab-btn.active {
      background: #3b82f6;
      color: white;
    }

    .modal-tab-btn:hover:not(.active) {
      background: #e5e7eb;
    }

    .modal-form {
      display: none;
    }

    .modal-form.active {
      display: block;
    }

    /* Mobile responsive styles for dialog */
    @media (max-width: 768px) {
      .dialog-container {
        margin: 10px;
        max-height: 95vh;
      }
      
      .dialog-tabs {
        flex-wrap: wrap;
      }
      
      .modal-tab-btn {
        font-size: 0.875rem;
        padding: 8px 12px;
      }
      
      .dialog-header {
        padding: 15px;
      }
      
      .dialog-content {
        padding: 15px;
      }
    }

    /* Focus styles for dialog accessibility */
    .dialog-close:focus,
    .modal-tab-btn:focus {
      outline: 2px solid #ef4444;
      outline-offset: 2px;
    }

    /* Animation for dialog appearance */
    .dialog-overlay {
      animation: fadeIn 0.3s ease-out;
    }

    @keyframes fadeIn {
      from {
        opacity: 0;
      }
      to {
        opacity: 1;
      }
    }

    .dialog-container {
      animation: slideIn 0.3s ease-out;
    }

    @keyframes slideIn {
      from {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }

    .modal-tab-btn {
      padding: 12px 16px;
      border: none;
      background: #f9fafb;
      color: #374151;
      border-radius: 6px 6px 0 0;
      cursor: pointer;
      transition: all 0.2s;
      margin-right: 4px;
      font-weight: 500;
    }

    .modal-tab-btn.active {
      background: #3b82f6;
      color: white;
    }

    .modal-tab-btn:hover:not(.active) {
      background: #e5e7eb;
    }

    .modal-form {
      display: none;
    }

    .modal-form.active {
      display: block;
    }

    /* Mobile responsive styles for dialog */
    @media (max-width: 768px) {
      .dialog-container {
        margin: 10px;
        max-height: 95vh;
      }
      
      .dialog-tabs {
        flex-wrap: wrap;
      }
      
      .modal-tab-btn {
        font-size: 0.875rem;
        padding: 8px 12px;
      }
      
      .dialog-header {
        padding: 15px;
      }
      
      .dialog-content {
        padding: 15px;
      }
    }

    /* Focus styles for dialog accessibility */
    .dialog-close:focus,
    .modal-tab-btn:focus {
      outline: 2px solid #ef4444;
      outline-offset: 2px;
    }

    /* Animation for dialog appearance */
    .dialog-overlay {
      animation: fadeIn 0.3s ease-out;
    }

    @keyframes fadeIn {
      from {
        opacity: 0;
      }
      to {
        opacity: 1;
      }
    }

    .dialog-container {
      animation: slideIn 0.3s ease-out;
    }

    @keyframes slideIn {
      from {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }

    .modal-tab-btn {
      padding: 12px 16px;
      border: none;
      background: #f9fafb;
      color: #374151;
      border-radius: 6px 6px 0 0;
      cursor: pointer;
      transition: all 0.2s;
      margin-right: 4px;
      font-weight: 500;
    }

    .modal-tab-btn.active {
      background: #3b82f6;
      color: white;
    }

    .modal-tab-btn:hover:not(.active) {
      background: #e5e7eb;
    }

    .modal-form {
      display: none;
    }

    .modal-form.active {
      display: block;
    }

    /* Mobile responsive styles for dialog */
    @media (max-width: 768px) {
      .dialog-container {
        margin: 10px;
        max-height: 95vh;
      }
      
      .dialog-tabs {
        flex-wrap: wrap;
      }
      
      .modal-tab-btn {
        font-size: 0.875rem;
        padding: 8px 12px;
      }
      
      .dialog-header {
        padding: 15px;
      }
      
      .dialog-content {
        padding: 15px;
      }
    }

    /* Focus styles for dialog accessibility */
    .dialog-close:focus,
    .modal-tab-btn:focus {
      outline: 2px solid #ef4444;
      outline-offset: 2px;
    }

    /* Animation for dialog appearance */
    .dialog-overlay {
      animation: fadeIn 0.3s ease-out;
    }

    @keyframes fadeIn {
      from {
        opacity: 0;
      }
      to {
        opacity: 1;
      }
    }

    .dialog-container {
      animation: slideIn 0.3s ease-out;
    }

    @keyframes slideIn {
      from {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }

    .modal-tab-btn {
      padding: 12px 16px;
      border: none;
      background: #f9fafb;
      color: #374151;
      border-radius: 6px 6px 0 0;
      cursor: pointer;
      transition: all 0.2s;
      margin-right: 4px;
      font-weight: 500;
    }

    .modal-tab-btn.active {
      background: #3b82f6;
      color: white;
    }

    .modal-tab-btn:hover:not(.active) {
      background: #e5e7eb;
    }

    .modal-form {
      display: none;
    }

    .modal-form.active {
      display: block;
    }

    /* Mobile responsive styles for dialog */
    @media (max-width: 768px) {
      .dialog-container {
        margin: 10px;
        max-height: 95vh;
      }
      
      .dialog-tabs {
        flex-wrap: wrap;
      }
      
      .modal-tab-btn {
        font-size: 0.875rem;
        padding: 8px 12px;
      }
      
      .dialog-header {
        padding: 15px;
      }
      
      .dialog-content {
        padding: 15px;
      }
    }

    /* Focus styles for dialog accessibility */
    .dialog-close:focus,
    .modal-tab-btn:focus {
      outline: 2px solid #ef4444;
      outline-offset: 2px;
    }

    /* Animation for dialog appearance */
    .dialog-overlay {
      animation: fadeIn 0.3s ease-out;
    }

    @keyframes fadeIn {
      from {
        opacity: 0;
      }
      to {
        opacity: 1;
      }
    }

    .dialog-container {
      animation: slideIn 0.3s ease-out;
    }

    @keyframes slideIn {
      from {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }

    .modal-tab-btn {
      padding: 12px 16px;
      border: none;
      background: #f9fafb;
      color: #374151;
      border-radius: 6px 6px 0 0;
      cursor: pointer;
      transition: all 0.2s;
      margin-right: 4px;
      font-weight: 500;
    }

    .modal-tab-btn.active {
      background: #3b82f6;
      color: white;
    }

    .modal-tab-btn:hover:not(.active) {
      background: #e5e7eb;
    }

    .modal-form {
      display: none;
    }

    .modal-form.active {
      display: block;
    }

    /* Mobile responsive styles for dialog */
    @media (max-width: 768px) {
      .dialog-container {
        margin: 10px;
        max-height: 95vh;
      }
      
      .dialog-tabs {
        flex-wrap: wrap;
      }
      
      .modal-tab-btn {
        font-size: 0.875rem;
        padding: 8px 12px;
      }
      
      .dialog-header {
        padding: 15px;
      }
      
      .dialog-content {
        padding: 15px;
      }
    }

    /* Focus styles for dialog accessibility */
    .dialog-close:focus,
    .modal-tab-btn:focus {
      outline: 2px solid #ef4444;
      outline-offset: 2px;
    }

    /* Animation for dialog appearance */
    .dialog-overlay {
      animation: fadeIn 0.3s ease-out;
    }

    @keyframes fadeIn {
      from {
        opacity: 0;
      }
      to {
        opacity: 1;
      }
    }

    .dialog-container {
      animation: slideIn 0.3s ease-out;
    }

    @keyframes slideIn {
      from {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }

    .modal-tab-btn {
      padding: 12px 16px;
      border: none;
      background: #f9fafb;
      color: #374151;
      border-radius: 6px 6px 0 0;
      cursor: pointer;
      transition: all 0.2s;
      margin-right: 4px;
      font-weight: 500;
    }

    .modal-tab-btn.active {
      background: #3b82f6;
      color: white;
    }

    .modal-tab-btn:hover:not(.active) {
      background: #e5e7eb;
    }

    .modal-form {
      display: none;
    }

    .modal-form.active {
      display: block;
    }

    /* Mobile responsive styles for dialog */
    @media (max-width: 768px) {
      .dialog-container {
        margin: 10px;
        max-height: 95vh;
      }
      
      .dialog-tabs {
        flex-wrap: wrap;
      }
      
      .modal-tab-btn {
        font-size: 0.875rem;
        padding: 8px 12px;
      }
      
      .dialog-header {
        padding: 15px;
      }
      
      .dialog-content {
        padding: 15px;
      }
    }

    /* Focus styles for dialog accessibility */
    .dialog-close:focus,
    .modal-tab-btn:focus {
      outline: 2px solid #ef4444;
      outline-offset: 2px;
    }

    /* Animation for dialog appearance */
    .dialog-overlay {
      animation: fadeIn 0.3s ease-out;
    }

    @keyframes fadeIn {
      from {
        opacity: 0;
      }
      to {
        opacity: 1;
      }
    }

    .dialog-container {
      animation: slideIn 0.3s ease-out;
    }

    @keyframes slideIn {
      from {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }

    .modal-tab-btn {
      padding: 12px 16px;
      border: none;
      background: #f9fafb;
      color: #374151;
      border-radius: 6px 6px 0 0;
      cursor: pointer;
      transition: all 0.2s;
      margin-right: 4px;
      font-weight: 500;
    }

    .modal-tab-btn.active {
      background: #3b82f6;
      color: white;
    }

    .modal-tab-btn:hover:not(.active) {
      background: #e5e7eb;
    }

    .modal-form {
      display: none;
    }

    .modal-form.active {
      display: block;
    }

    /* Mobile responsive styles for dialog */
    @media (max-width: 768px) {
      .dialog-container {
        margin: 10px;
        max-height: 95vh;
      }
      
      .dialog-tabs {
        flex-wrap: wrap;
      }
      
      .modal-tab-btn {
        font-size: 0.875rem;
        padding: 8px 12px;
      }
      
      .dialog-header {
        padding: 15px;
      }
      
      .dialog-content {
        padding: 15px;
      }
    }

    /* Focus styles for dialog accessibility */
    .dialog-close:focus,
    .modal-tab-btn:focus {
      outline: 2px solid #ef4444;
      outline-offset: 2px;
    }

    /* Animation for dialog appearance */
    .dialog-overlay {
      animation: fadeIn 0.3s ease-out;
    }

    @keyframes fadeIn {
      from {
        opacity: 0;
      }
      to {
        opacity: 1;
      }
    }

    .dialog-container {
      animation: slideIn 0.3s ease-out;
    }

    @keyframes slideIn {
      from {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }

    .modal-tab-btn {
      padding: 12px 16px;
      border: none;
      background: #f9fafb;
      color: #374151;
      border-radius: 6px 6px 0 0;
      cursor: pointer;
      transition: all 0.2s;
      margin-right: 4px;
      font-weight: 500;
    }

    .modal-tab-btn.active {
      background: #3b82f6;
      color: white;
    }

    .modal-tab-btn:hover:not(.active) {
      background: #e5e7eb;
    }

    .modal-form {
      display: none;
    }

    .modal-form.active {
      display: block;
    }

    /* Mobile responsive styles for dialog */
    @media (max-width: 768px) {
      .dialog-container {
        margin: 10px;
        max-height: 95vh;
      }
      
      .dialog-tabs {
        flex-wrap: wrap;
      }
      
      .modal-tab-btn {
        font-size: 0.875rem;
        padding: 8px 12px;
      }
      
      .dialog-header {
        padding: 15px;
      }
      
      .dialog-content {
        padding: 15px;
      }
    }

    /* Focus styles for dialog accessibility */
    .dialog-close:focus,
    .modal-tab-btn:focus {
      outline: 2px solid #ef4444;
      outline-offset: 2px;
    }

    /* Animation for dialog appearance */
    .dialog-overlay {
      animation: fadeIn 0.3s ease-out;
    }

    @keyframes fadeIn {
      from {
        opacity: 0;
      }
      to {
        opacity: 1;
      }
    }

    .dialog-container {
      animation: slideIn 0.3s ease-out;
    }

    @keyframes slideIn {
      from {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }

    .modal-tab-btn {
      padding: 12px 16px;
      border: none;
      background: #f9fafb;
      color: #374151;
      border-radius: 6px 6px 0 0;
      cursor: pointer;
      transition: all 0.2s;
      margin-right: 4px;
      font-weight: 500;
    }

    .modal-tab-btn.active {
      background: #3b82f6;
      color: white;
    }

    .modal-tab-btn:hover:not(.active) {
      background: #e5e7eb;
    }

    .modal-form {
      display: none;
    }

    .modal-form.active {
      display: block;
    }

    /* Mobile responsive styles for dialog */
    @media (max-width: 768px) {
      .dialog-container {
        margin: 10px;
        max-height: 95vh;
      }
      
      .dialog-tabs {
        flex-wrap: wrap;
      }
      
      .modal-tab-btn {
        font-size: 0.875rem;
        padding: 8px 12px;
      }
      
      .dialog-header {
        padding: 15px;
      }
      
      .dialog-content {
        padding: 15px;
      }
    }

    /* Focus styles for dialog accessibility */
    .dialog-close:focus,
    .modal-tab-btn:focus {
      outline: 2px solid #ef4444;
      outline-offset: 2px;
    }

    /* Animation for dialog appearance */
    .dialog-overlay {
      animation: fadeIn 0.3s ease-out;
    }

    @keyframes fadeIn {
      from {
        opacity: 0;
      }
      to {
        opacity: 1;
      }
    }

    .dialog-container {
      animation: slideIn 0.3s ease-out;
    }

    @keyframes slideIn {
      from {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }

    .modal-tab-btn {
      padding: 12px 16px;
      border: none;
      background: #f9fafb;
      color: #374151;
      border-radius: 6px 6px 0 0;
      cursor: pointer;
      transition: all 0.2s;
      margin-right: 4px;
      font-weight: 500;
    }

    .modal-tab-btn.active {
      background: #3b82f6;
      color: white;
    }

    .modal-tab-btn:hover:not(.active) {
      background: #e5e7eb;
    }

    .modal-form {
      display: none;
    }

    .modal-form.active {
      display: block;
    }

    /* Mobile responsive styles for dialog */
    @media (max-width: 768px) {
      .dialog-container {
        margin: 10px;
        max-height: 95vh;
      }
      
      .dialog-tabs {
        flex-wrap: wrap;
      }
      
      .modal-tab-btn {
        font-size: 0.875rem;
        padding: 8px 12px;
      }
      
      .dialog-header {
        padding: 15px;
      }
      
      .dialog-content {
        padding: 15px;
      }
    }

    /* Focus styles for dialog accessibility */
    .dialog-close:focus,
    .modal-tab-btn:focus {
      outline: 2px solid #ef4444;
      outline-offset: 2px;
    }

    /* Animation for dialog appearance */
    .dialog-overlay {
      animation: fadeIn 0.3s ease-out;
    }

    @keyframes fadeIn {
      from {
        opacity: 0;
      }
      to {
        opacity: 1;
      }
    }

    .dialog-container {
      animation: slideIn 0.3s ease-out;
    }

    @keyframes slideIn {
      from {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }

    .modal-tab-btn {
      padding: 12px 16px;
      border: none;
      background: #f9fafb;
      color: #374151;
      border-radius: 6px 6px 0 0;
      cursor: pointer;
      transition: all 0.2s;
      margin-right: 4px;
      font-weight: 500;
    }

    .modal-tab-btn.active {
      background: #3b82f6;
      color: white;
    }

    .modal-tab-btn:hover:not(.active) {
      background: #e5e7eb;
    }

    .modal-form {
      display: none;
    }

    .modal-form.active {
      display: block;
    }

    /* Mobile responsive styles for dialog */
    @media (max-width: 768px) {
      .dialog-container {
        margin: 10px;
        max-height: 95vh;
      }
      
      .dialog-tabs {
        flex-wrap: wrap;
      }
      
      .modal-tab-btn {
        font-size: 0.875rem;
        padding: 8px 12px;
      }
      
      .dialog-header {
        padding: 15px;
      }
      
      .dialog-content {
        padding: 15px;
      }
    }

    /* Focus styles for dialog accessibility */
    .dialog-close:focus,
    .modal-tab-btn:focus {
      outline: 2px solid #ef4444;
      outline-offset: 2px;
    }

    /* Animation for dialog appearance */
    .dialog-overlay {
      animation: fadeIn 0.3s ease-out;
    }

    @keyframes fadeIn {
      from {
        opacity: 0;
      }
      to {
        opacity: 1;
      }
    }

    .dialog-container {
      animation: slideIn 0.3s ease-out;
    }

    @keyframes slideIn {
      from {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }

    .modal-tab-btn {
      padding: 12px 16px;
      border: none;
      background: #f9fafb;
      color: #374151;
      border-radius: 6px 6px 0 0;
      cursor: pointer;
      transition: all 0.2s;
      margin-right: 4px;
      font-weight: 500;
    }

    .modal-tab-btn.active {
      background: #3b82f6;
      color: white;
    }

    .modal-tab-btn:hover:not(.active) {
      background: #e5e7eb;
    }

    .modal-form {
      display: none;
    }

    .modal-form.active {
      display: block;
    }

    /* Mobile responsive styles for dialog */
    @media (max-width: 768px) {
      .dialog-container {
        margin: 10px;
        max-height: 95vh;
      }
      
      .dialog-tabs {
        flex-wrap: wrap;
      }
      
      .modal-tab-btn {
        font-size: 0.875rem;
        padding: 8px 12px;
      }
      
      .dialog-header {
        padding: 15px;
      }
      
      .dialog-content {
        padding: 15px;
      }
    }

    /* Focus styles for dialog accessibility */
    .dialog-close:focus,
    .modal-tab-btn:focus {
      outline: 2px solid #ef4444;
      outline-offset: 2px;
    }

    /* Animation for dialog appearance */
    .dialog-overlay {
      animation: fadeIn 0.3s ease-out;
    }

    @keyframes fadeIn {
      from {
        opacity: 0;
      }
      to {
        opacity: 1;
      }
    }

    .dialog-container {
      animation: slideIn 0.3s ease-out;
    }

    @keyframes slideIn {
      from {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }

    .modal-tab-btn {
      padding: 12px 16px;
      border: none;
      background: #f9fafb;
      color: #374151;
      border-radius: 6px 6px 0 0;
      cursor: pointer;
      transition: all 0.2s;
      margin-right: 4px;
      font-weight: 500;
    }

    .modal-tab-btn.active {
      background: #3b82f6;
      color: white;
    }

    .modal-tab-btn:hover:not(.active) {
      background: #e5e7eb;
    }

    .modal-form {
      display: none;
    }

    .modal-form.active {
      display: block;
    }

    /* Mobile responsive styles for dialog */
    @media (max-width: 768px) {
      .dialog-container {
        margin: 10px;
        max-height: 95vh;
      }
      
      .dialog-tabs {
        flex-wrap: wrap;
      }
      
      .modal-tab-btn {
        font-size: 0.875rem;
        padding: 8px 12px;
      }
      
      .dialog-header {
        padding: 15px;
      }
      
      .dialog-content {
        padding: 15px;
      }
    }

    /* Focus styles for dialog accessibility */
    .dialog-close:focus,
    .modal-tab-btn:focus {
      outline: 2px solid #ef4444;
      outline-offset: 2px;
    }

    /* Animation for dialog appearance */
    .dialog-overlay {
      animation: fadeIn 0.3s ease-out;
    }

    @keyframes fadeIn {
      from {
        opacity: 0;
      }
      to {
        opacity: 1;
      }
    }

    .dialog-container {
      animation: slideIn 0.3s ease-out;
    }

    @keyframes slideIn {
      from {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }

    .modal-tab-btn {
      padding: 12px 16px;
      border: none;
      background: #f9fafb;
      color: #374151;
      border-radius: 6px 6px 0 0;
      cursor: pointer;
      transition: all 0.2s;
      margin-right: 4px;
      font-weight: 500;
    }

    .modal-tab-btn.active {
      background: #3b82f6;
      color: white;
    }

    .modal-tab-btn:hover:not(.active) {
      background: #e5e7eb;
    }

    .modal-form {
      display: none;
    }

    .modal-form.active {
      display: block;
    }

    /* Mobile responsive styles for dialog */
    @media (max-width: 768px) {
      .dialog-container {
        margin: 10px;
        max-height: 95vh;
      }
      
      .dialog-tabs {
        flex-wrap: wrap;
      }
      
      .modal-tab-btn {
        font-size: 0.875rem;
        padding: 8px 12px;
      }
      
      .dialog-header {
        padding: 15px;
      }
      
      .dialog-content {
        padding: 15px;
      }
    }

    /* Focus styles for dialog accessibility */
    .dialog-close:focus,
    .modal-tab-btn:focus {
      outline: 2px solid #ef4444;
      outline-offset: 2px;
    }

    /* Animation for dialog appearance */
    .dialog-overlay {
      animation: fadeIn 0.3s ease-out;
    }

    @keyframes fadeIn {
      from {
        opacity: 0;
      }
      to {
        opacity: 1;
      }
    }

    .dialog-container {
      animation: slideIn 0.3s ease-out;
    }

    @keyframes slideIn {
      from {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }

    .modal-tab-btn {
      padding: 12px 16px;
      border: none;
      background: #f9fafb;
      color: #374151;
      border-radius: 6px 6px 0 0;
      cursor: pointer;
      transition: all 0.2s;
      margin-right: 4px;
      font-weight: 500;
    }

    .modal-tab-btn.active {
      background: #3b82f6;
      color: white;
    }

    .modal-tab-btn:hover:not(.active) {
      background: #e5e7eb;
    }

    .modal-form {
      display: none;
    }

    .modal-form.active {
      display: block;
    }

    /* Mobile responsive styles for dialog */
    @media (max-width: 768px) {
      .dialog-container {
        margin: 10px;
        max-height: 95vh;
      }
      
      .dialog-tabs {
        flex-wrap: wrap;
      }
      
      .modal-tab-btn {
        font-size: 0.875rem;
        padding: 8px 12px;
      }
      
      .dialog-header {
        padding: 15px;
      }
      
      .dialog-content {
        padding: 15px;
      }
    }

    /* Focus styles for dialog accessibility */
    .dialog-close:focus,
    .modal-tab-btn:focus {
      outline: 2px solid #ef4444;
      outline-offset: 2px;
    }

    /* Animation for dialog appearance */
    .dialog-overlay {
      animation: fadeIn 0.3s ease-out;
    }

    @keyframes fadeIn {
      from {
        opacity: 0;
      }
      to {
        opacity: 1;
      }
    }

    .dialog-container {
      animation: slideIn 0.3s ease-out;
    }

    @keyframes slideIn {
      from {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }

    .modal-tab-btn {
      padding: 12px 16px;
      border: none;
      background: #f9fafb;
      color: #374151;
      border-radius: 6px 6px 0 0;
      cursor: pointer;
      transition: all 0.2s;
      margin-right: 4px;
      font-weight: 500;
    }

    .modal-tab-btn.active {
      background: #3b82f6;
      color: white;
    }

    .modal-tab-btn:hover:not(.active) {
      background: #e5e7eb;
    }

    .modal-form {
      display: none;
    }

    .modal-form.active {
      display: block;
    }

    /* Mobile responsive styles for dialog */
    @media (max-width: 768px) {
      .dialog-container {
        margin: 10px;
        max-height: 95vh;
      }
      
      .dialog-tabs {
        flex-wrap: wrap;
      }
      
      .modal-tab-btn {
        font-size: 0.875rem;
        padding: 8px 12px;
      }
      
      .dialog-header {
        padding: 15px;
      }
      
      .dialog-content {
        padding: 15px;
      }
    }

    /* Focus styles for dialog accessibility */
    .dialog-close:focus,
    .modal-tab-btn:focus {
      outline: 2px solid #ef4444;
      outline-offset: 2px;
    }

    /* Animation for dialog appearance */
    .dialog-overlay {
      animation: fadeIn 0.3s ease-out;
    }

    @keyframes fadeIn {
      from {
        opacity: 0;
      }
      to {
        opacity: 1;
      }
    }

    .dialog-container {
      animation: slideIn 0.3s ease-out;
    }

    @keyframes slideIn {
      from {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }

    .modal-tab-btn {
      padding: 12px 16px;
      border: none;
      background: #f9fafb;
      color: #374151;
      border-radius: 6px 6px 0 0;
      cursor: pointer;
      transition: all 0.2s;
      margin-right: 4px;
      font-weight: 500;
    }

    .modal-tab-btn.active {
      background: #3b82f6;
      color: white;
    }

    .modal-tab-btn:hover:not(.active) {
      background: #e5e7eb;
    }

    .modal-form {
      display: none;
    }

    .modal-form.active {
      display: block;
    }

    /* Mobile responsive styles for dialog */
    @media (max-width: 768px) {
      .dialog-container {
        margin: 10px;
        max-height: 95vh;
      }
      
      .dialog-tabs {
        flex-wrap: wrap;
      }
      
      .modal-tab-btn {
        font-size: 0.875rem;
        padding: 8px 12px;
      }
      
      .dialog-header {
        padding: 15px;
      }
      
      .dialog-content {
        padding: 15px;
      }
    }

    /* Focus styles for dialog accessibility */
    .dialog-close:focus,
    .modal-tab-btn:focus {
      outline: 2px solid #ef4444;
      outline-offset: 2px;
    }

    /* Animation for dialog appearance */
    .dialog-overlay {
      animation: fadeIn 0.3s ease-out;
    }

    @keyframes fadeIn {
      from {
        opacity: 0;
      }
      to {
        opacity: 1;
      }
    }

    .dialog-container {
      animation: slideIn 0.3s ease-out;
    }

    @keyframes slideIn {
      from {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }

    .modal-tab-btn {
      padding: 12px 16px;
      border: none;
      background: #f9fafb;
      color: #374151;
      border-radius: 6px 6px 0 0;
      cursor: pointer;
      transition: all 0.2s;
      margin-right: 4px;
      font-weight: 500;
    }

    .modal-tab-btn.active {
      background: #3b82f6;
      color: white;
    }

    .modal-tab-btn:hover:not(.active) {
      background: #e5e7eb;
    }

    .modal-form {
      display: none;
    }

    .modal-form.active {
      display: block;
    }

    /* Mobile responsive styles for dialog */
    @media (max-width: 768px) {
      .dialog-container {
        margin: 10px;
        max-height: 95vh;
      }
      
      .dialog-tabs {
        flex-wrap: wrap;
      }
      
      .modal-tab-btn {
        font-size: 0.875rem;
        padding: 8px 12px;
      }
      
      .dialog-header {
        padding: 15px;
      }
      
      .dialog-content {
        padding: 15px;
      }
    }

    /* Focus styles for dialog accessibility */
    .dialog-close:focus,
    .modal-tab-btn:focus {
      outline: 2px solid #ef4444;
      outline-offset: 2px;
    }

    /* Animation for dialog appearance */
    .dialog-overlay {
      animation: fadeIn 0.3s ease-out;
    }

    @keyframes fadeIn {
      from {
        opacity: 0;
      }
      to {
        opacity: 1;
      }
    }

    .dialog-container {
      animation: slideIn 0.3s ease-out;
    }

    @keyframes slideIn {
      from {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }

    .modal-tab-btn {
      padding: 12px 16px;
      border: none;
      background: #f9fafb;
      color: #374151;
      border-radius: 6px 6px 0 0;
      cursor: pointer;
      transition: all 0.2s;
      margin-right: 4px;
      font-weight: 500;
    }

    .modal-tab-btn.active {
      background: #3b82f6;
      color: white;
    }

    .modal-tab-btn:hover:not(.active) {
      background: #e5e7eb;
    }

    .modal-form {
      display: none;
    }

    .modal-form.active {
      display: block;
    }

    /* Mobile responsive styles for dialog */
    @media (max-width: 768px) {
      .dialog-container {
        margin: 10px;
        max-height: 95vh;
      }
      
      .dialog-tabs {
        flex-wrap: wrap;
      }
