/* Custom Styles extracted from global.css */
body { font-family: 'Inter', sans-serif; }
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* ================================
   GLOBAL SCROLLBAR - White/Light Theme
   Light gray thumb (#D9D9D9) on transparent track
   ================================ */

/* Firefox */
* { scrollbar-width: thin; scrollbar-color: #D9D9D9 transparent; }

/* Chrome, Edge, Safari */
*::-webkit-scrollbar { width: 4px; height: 4px; }
*::-webkit-scrollbar-track { background: transparent; }
*::-webkit-scrollbar-thumb { background: #D9D9D9; border-radius: 2px; }
*::-webkit-scrollbar-thumb:hover { background: #BFBFBF; }
*::-webkit-scrollbar-button { display: none; width: 0; height: 0; }

/* Status Badges */
.status-badge { display: inline-flex; align-items: center; justify-content: center; gap: 4px; padding: 6px 10px; border-radius: 6px; font-size: 12px; font-weight: 600; font-family: 'Inter', sans-serif; letter-spacing: -0.096px; line-height: 1.2; }
.status-badge::before { content: ''; width: 12px; height: 12px; background-size: contain; background-repeat: no-repeat; background-position: center; }
.status-badge.status-pending { background-color: rgba(255, 171, 97, 0.1); color: #f19747; }
.status-badge.status-pending::before { background-image: url('/assets/cfa2861731f4ffa1f5bdc133b068e64cb144316a.svg'); }
.status-badge.status-success { background-color: rgba(81, 158, 138, 0.1); color: #519e8a; }
.status-badge.status-success::before { background-image: url('/assets/658af2fcd03961375f246dd5fff9888477fef6d4.svg'); }
.status-badge.status-failed { background-color: rgba(255, 17, 0, 0.1); color: #ff1100; }
.status-badge.status-failed::before { background-image: url('/assets/11976604bd28490eef9f04eb106d52253f43aae0.svg'); width: 14px; height: 14px; }
.status-badge.status-refunded { background-color: rgba(35, 141, 217, 0.1); color: #238dd9; }
.status-badge.status-refunded::before { background-image: url('/assets/d504c591dfa5015ae62c5eac7b5bb4a8054b35a9.svg'); width: 13px; height: 13px; }

/* FAQ */
.faq-content { transition: max-height 0.3s ease-out, opacity 0.3s ease-out; max-height: 0; opacity: 0; overflow: hidden; }
.faq-item.expanded .faq-content { max-height: 500px; opacity: 1; }
.faq-arrow { transition: transform 0.3s ease; transform: rotate(0deg); }
.faq-item.expanded .faq-arrow { transform: rotate(180deg); }
.list-bullet::before { content: "\2022"; font-family: 'Arimo', sans-serif; font-size: 15.544px; color: #3c4044; margin-right: 9px; }

/* Zigzag */
.zigzag-mobile { position: relative; background: white; border-left: 1px solid rgba(60,64,68,0.1); border-right: 1px solid rgba(60,64,68,0.1); filter: drop-shadow(0 2px 4px rgba(0,0,0,0.05)); }
.zigzag-mobile::before { content: ""; position: absolute; top: -6px; left: -1px; right: -1px; height: 6px; background-image: url("data:image/svg+xml,%3Csvg width='12' height='6' viewBox='0 0 12 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 6 L6 0 L12 6' fill='%23ffffff' stroke='%233c40441a' stroke-width='1'/%3E%3C/svg%3E"); background-repeat: repeat-x; background-size: 12px 6px; }
.zigzag-mobile::after { content: ""; position: absolute; bottom: -6px; left: -1px; right: -1px; height: 6px; background-image: url("data:image/svg+xml,%3Csvg width='12' height='6' viewBox='0 0 12 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0 L6 6 L12 0' fill='%23ffffff' stroke='%233c40441a' stroke-width='1'/%3E%3C/svg%3E"); background-repeat: repeat-x; background-size: 12px 6px; }

/* Mobile Overrides */
@media (max-width: 767px) {
  .mobile-page-container { padding-top: 90px !important; padding-bottom: 60px !important; padding-left: 16px !important; padding-right: 16px !important; }
  .mobile-heading { font-size: 22px !important; font-weight: 600 !important; line-height: 1.3 !important; margin-bottom: 4px !important; }
  .mobile-input-section { gap: 20px !important; margin-bottom: 8px !important; }
  .mobile-input-wrapper { width: 100% !important; }
  .mobile-input-field { height: 56px !important; border-radius: 28px !important; padding: 8px 6px 8px 20px !important; box-shadow: 0 2px 12px rgba(81, 158, 138, 0.08) !important; }
  .mobile-input-field input { font-size: 16px !important; }
  .mobile-label { font-size: 13px !important; margin-left: 16px !important; margin-bottom: 6px !important; }
  .mobile-input-field .shrink-0 { height: 40px !important; border-radius: 20px !important; padding-left: 16px !important; padding-right: 16px !important; }
  .mobile-input-field .shrink-0 span { font-size: 14px !important; }
  .mobile-illustration { max-width: 100% !important; padding: 0 20px !important; margin-top: 20px !important; }
  .mobile-results { margin-top: 32px !important; padding: 0 !important; }
  .mobile-no-data { padding: 32px 16px !important; }
  .mobile-no-data-image { max-width: 280px !important; margin-bottom: 24px !important; }
  .mobile-no-data-title { font-size: 22px !important; line-height: 1.3 !important; margin-bottom: 8px !important; }
  .mobile-no-data-subtitle { font-size: 16px !important; line-height: 1.5 !important; }
  .mobile-warning-section { margin-top: 48px !important; padding: 0 8px !important; }
  .mobile-warning-header { font-size: 15px !important; padding: 0 !important; line-height: 1 !important; }
  .mobile-warning-header-container { align-items: center !important; }
  .mobile-warning-header-container > div { align-self: center !important; }
  .mobile-warning-items { gap: 16px !important; padding: 0 !important; }
  .mobile-warning-item { max-width: 110px !important; }
  .mobile-warning-item p { white-space: nowrap !important; font-size: 11px !important; }
  .mobile-warning-icon { width: 40px !important; height: 40px !important; margin-bottom: 8px !important; }
  .mobile-warning-text { font-size: 13px !important; line-height: 1.3 !important; }
}
@media (max-width: 1099px) {
  .mobile-tablet-radius { border-top-left-radius: 20px !important; border-top-right-radius: 20px !important; }
  #statusFilterDropdown { position: fixed !important; max-height: 280px; overflow-y: auto; }
}
@media screen and (min-width: 1200px) {
  /* Desktop: fix location-dot and connector alignment */
  .location-path {
    position: relative !important;
    min-height: 120px !important;
    padding-left: 30px !important;
  }

  .location-line .location-dot,
  .location-line-end .location-dot {
    position: absolute !important;
    left: -29px !important;
    width: 22px !important;
    height: 22px !important;
    z-index: 2 !important;
  }

  .location-line {
    position: relative !important;
    min-height: 40px !important;
  }

  .location-line-end {
    position: relative !important;
    min-height: 40px !important;
  }

  .location-connector {
    display: block !important;
    position: absolute !important;
    left: 11px !important;
    top: 22px !important;
    width: 2px !important;
    height: calc(100% - 44px) !important;
    background: #519e8a !important;
    z-index: 1 !important;
  }

  /* removed .location-line-end::after as requested */

  /* New Route Timeline - Desktop */
  .route-container {
    gap: 12px !important;
    height: 180px !important;
  }

  .confirmed-card .route-container {
    height: 114px !important;
  }

  .timeline-icon {
    width: 22px !important;
    height: 22px !important;
  }

  .timeline-line {
    width: 3px !important;
    /* min-height: 50px !important; */
  }
}

.bids-table {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 0 !important;
  width: 100% !important;
  align-items: stretch !important;
}

.bids-table .bid-row,
.bids-table .bid-row.header {
  display: contents !important;
}

.bids-table > * {
  /* Ensure each header span / bid-cell uses full column box */
  box-sizing: border-box !important;
}

.bids-table .bid-row.header span,
.bids-table .bid-cell {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px 8px !important;
  min-height: 64px !important;
  text-align: center !important;
}

.bids-table .bid-row.header span {
  font-weight: 600 !important;
  color: var(--text-muted, #667085) !important;
}

.bids-table .bid-amount {
  margin-bottom: 8px !important;
  font-weight: 700 !important;
}

/* Vertical separators between columns: target 2nd and 3rd column grid cells */
.bids-table > :nth-child(3n + 2),
.bids-table > :nth-child(3n + 3) {
  border-left: 1px solid var(--border, #e4e7ec) !important;
}

/* Remove left border for first column and tidy last column */
.bids-table > :nth-child(3n + 1) {
  border-left: none !important;
}

/* If a cell contains the placeholder --, keep it vertically centered and muted */
.bids-table .bid-cell:empty,
.bids-table .bid-cell:has(.bid-amount:empty) {
  color: var(--text-muted, #9ca3af) !important;
}

/* Medium/smaller screens keep same grid but slightly reduced min-height */
@media screen and (max-width: 1024px) {
  .bids-table .bid-row.header span,
  .bids-table .bid-cell {
    min-height: 56px !important;
    padding: 10px 6px !important;
  }
}

.mobile-menu-btn {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 8px;
  z-index: 1001;
  position: relative;
  -webkit-tap-highlight-color: transparent;
}

/* Collapse desktop nav into hamburger at wider breakpoint (<= 1200px)
   This ensures the header switches to mobile navigation for narrower layouts
   so the following items appear in the hamburger: Dashboard, Load Posts,
   Verifications, Tracking, Check Challan, More */
@media screen and (max-width: 1200px) {
  /* hide desktop nav */
  nav {
    display: none !important;
  }

  /* show hamburger button */
  .mobile-menu-btn {
    display: flex !important;
    order: -1 !important;
    margin-right: 16px !important;
  }

  /* keep logo and user actions aligned */
  .logo {
    order: 0 !important;
    margin-right: auto !important;
  }
}

/* Hide the filter toggle on desktop screens (we keep it available on mobile/tablet) */
@media (min-width: 1025px) {
  #filterModalToggle {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

/* Strong mobile-specific final override to ensure alignment across all rules */
@media (max-width: 600px) {
  /* enforce grid with fixed weight column */
  .multiple-stops-columns .stop-row,
  .multiple-stops-columns .stop-row.additional-row {
    display: grid !important;
    grid-template-columns: 1fr 96px !important;
    gap: 8px !important;
    align-items: center !important;
    padding-right: 0 !important;
  }

  /* weight group sizing and relative positioning for absolute child */
  .multiple-stops-columns .stop-weight-group,
  .stop-row .stop-weight-group {
    flex: 0 0 96px !important;
    max-width: 96px !important;
    width: 96px !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* ensure input leaves room for delete icon */
  .multiple-stops-columns .stop-weight-group input,
  .stop-row .stop-weight-group input {
    padding-right: 12px !important;
    height: 42px !important;
    box-sizing: border-box !important;
  }

  /* precise delete button placement - moved outside the weight input */
  .multiple-stops-columns .stop-weight-group .delete-row-btn,
  .stop-row .stop-weight-group .delete-row-btn,
  .stop-weight-group .delete-row-btn,
  .stop-delete-wrapper .delete-row-btn {
    /* remove absolute placement; align in flow and add margin */
    margin-left: 12px !important;
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 20 !important;
  }

  /* icon color and hover */
  .delete-row-btn i,
  .delete-row-btn img {
    font-size: 18px !important;
    width: 18px !important;
    height: 18px !important;
    color: #f74437 !important;
  }

  .delete-row-btn:hover {
    background-color: transparent !important;
    box-shadow: none !important;
  }
}

/* Mobile-specific fixes: ensure multiple-stops rows and delete button align consistently */
@media (max-width: 600px) {
  .multiple-stops-columns .stop-row,
  .multiple-stops-columns .stop-row.additional-row {
    display: grid !important;
    grid-template-columns: 1fr 96px !important;
    /* input + weight (widened) */
    gap: 10px !important;
    align-items: center !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .multiple-stops-columns .stop-weight-group {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding-left: 0 !important;
  }

  .multiple-stops-columns .stop-weight-group input {
    padding-right: 48px !important;
    /* room for absolute button */
    height: 42px !important;
    box-sizing: border-box !important;
  }

  .multiple-stops-columns .stop-weight-group .delete-row-btn,
  .stop-weight-group .delete-row-btn {
    position: absolute !important;
    right: 6px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    box-sizing: content-box !important;
    background-color: transparent !important;
  }

  .multiple-stops-columns .stop-weight-group .delete-row-btn:hover,
  .stop-weight-group .delete-row-btn:hover {
    transform: translateY(-50%) !important;
    /* keep centered */
    box-shadow: none !important;
    background-color: transparent !important;
  }

  .multiple-stops-columns .stop-row input,
  .multiple-stops-columns .stop-row .stop-input-group input {
    height: 42px !important;
    box-sizing: border-box !important;
  }
}

.hamburger-line {
  display: block;
  width: 20px;
  height: 2px;
  background-color: #519e8a;
  /* Updated hamburger line color */
  border-radius: 2px;
  margin: 2px 0;
  transition: all 0.3s ease;
}

.mobile-menu-btn.active .hamburger-line:nth-child(1) {
  transform: rotate(45deg) translate(4px, 4px);
}

.mobile-menu-btn.active .hamburger-line:nth-child(2) {
  opacity: 0;
}

.mobile-menu-btn.active .hamburger-line:nth-child(3) {
  transform: rotate(-45deg) translate(4px, -4px);
}

/* ============================================================
   MOBILE NAVIGATION OVERLAY
   ============================================================ */
.mobile-nav-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1002;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  pointer-events: none;
}

.mobile-nav-overlay.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* Make schedule date/time non-bold while preserving semantics */
.schedule-info strong,
.schedule-info b {
  font-weight: 400 !important;
  font-weight: normal !important;
}

/* If schedule is wrapped in other containers, ensure strong doesn't inherit heavier weight */
.schedule-info strong *,
.schedule-info b * {
  font-weight: 400 !important;
}

/* ============================================================
   MOBILE NAVIGATION DRAWER
   ============================================================ */
.mobile-nav-drawer {
  position: fixed;
  top: 0;
  left: 0;
  width: 280px;
  height: 100%;
  background-color: #ffffff;
  z-index: 1003;
  display: flex;
  flex-direction: column;
  box-shadow: 4px 0 20px rgba(0, 0, 0, 0.15);
  transform: translateX(-100%);
  transition: transform 0.3s ease;
  overflow-y: auto;
  visibility: hidden;
}

.mobile-nav-drawer.active {
  transform: translateX(0);
  visibility: visible;
}

.mobile-nav-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid #e4e7ec;
  min-height: 60px;
  flex-shrink: 0;
}

.mobile-nav-logo img {
  width: 60px;
  height: auto;
}

.mobile-nav-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: #efeff1;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  transition: background-color 0.2s ease;
  -webkit-tap-highlight-color: transparent;
}

.mobile-nav-close:hover {
  background: #e4e7ec;
}

.mobile-nav-list {
  list-style: none;
  padding: 8px 0;
  margin: 0;
  flex: 1;
  overflow-y: auto;
}

.mobile-nav-list > li {
  border-bottom: 1px solid #f0f0f0;
}

.mobile-nav-list > li:last-child {
  border-bottom: none;
}

.mobile-nav-list > li > a {
  display: flex;
  align-items: center;
  padding: 16px 20px;
  font-family: "Inter", sans-serif;
  font-size: 15px;
  font-weight: 500;
  color: #3c4044;
  text-decoration: none;
  transition: all 0.2s ease;
  cursor: pointer;
}

.mobile-nav-list > li > a .nav-icon {
  width: 20px;
  margin-right: 14px;
  color: #757d85;
  font-size: 16px;
  text-align: center;
}

.mobile-nav-list > li > a span {
  flex: 1;
}

.mobile-nav-list > li > a .submenu-arrow {
  font-size: 12px;
  color: #757d85;
  transition: transform 0.2s ease;
}

.mobile-nav-list > li.open > a .submenu-arrow {
  transform: rotate(180deg);
}

.mobile-nav-list > li > a:hover {
  color: #519e8a;
  background-color: #f9fafb;
}

.mobile-nav-list > li > a:hover .nav-icon {
  color: #519e8a;
}

.mobile-nav-list > li > a.active {
  color: #519e8a;
  font-weight: 600;
  background-color: rgba(81, 158, 138, 0.08);
  border-left: 3px solid #519e8a;
}

.mobile-nav-list > li > a.active .nav-icon {
  color: #519e8a;
}

/* Mobile Submenu */
.mobile-submenu {
  display: none;
  list-style: none;
  padding: 0;
  margin: 0;
  background: #fafbfc;
}

.mobile-nav-list > li.open .mobile-submenu {
  display: block;
}

.mobile-submenu li {
  border-bottom: 1px solid #f0f0f0;
}

.mobile-submenu li:last-child {
  border-bottom: none;
}

.mobile-submenu li a {
  display: block;
  padding: 12px 20px 12px 54px;
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #757d85;
  text-decoration: none;
  transition: all 0.2s ease;
  border-left: 3px solid transparent;
}

.mobile-submenu li a:hover {
  color: #519e8a;
  background-color: #f5f6f8;
  border-left-color: #519e8a;
}

.mobile-nav-footer {
  padding: 16px 20px;
  border-top: 1px solid #e4e7ec;
  flex-shrink: 0;
}

.mobile-demo-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 14px 2px;
  background: rgba(81, 158, 138, 0.1);
  color: #519e8a;
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 100px;
  border: 1px solid rgba(81, 158, 138, 0.2);
  transition: all 0.2s ease;
  cursor: pointer;
}

.mobile-demo-btn:hover {
  background: rgba(81, 158, 138, 0.15);
  border-color: rgba(81, 158, 138, 0.3);
}

.mobile-call-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 14px 20px;
  background: #519e8a;
  color: #ffffff;
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 100px;
  transition: background-color 0.2s ease;
  cursor: pointer;
}

.mobile-call-btn:hover {
  background: #3d7f6e;
}

/* ============================================================
   MOBILE BOTTOM NAVIGATION
   ============================================================ */
.mobile-bottom-nav {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 64px;
  background: #ffffff;
  border-top: 1px solid #e4e7ec;
  z-index: 999;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.05);
}

.mobile-bottom-nav-list {
  display: flex;
  justify-content: space-around;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  height: 100%;
}

.mobile-bottom-nav-list li {
  flex: 1;
  display: flex;
  justify-content: center;
}

.mobile-bottom-nav-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  text-decoration: none;
  color: #667085;
  font-size: 10px;
  font-family: "Inter", sans-serif;
  font-weight: 500;
  padding: 8px 4px;
  transition: color 0.2s ease;
  width: 100%;
  cursor: pointer;
}

.mobile-bottom-nav-item i {
  font-size: 20px;
}

.mobile-bottom-nav-item.active {
  color: #519e8a;
}

.mobile-bottom-nav-item:hover {
  color: #519e8a;
}

/* ============================================================
   TABLET STYLES (768px - 1024px)
   ============================================================ */
@media screen and (max-width: 1024px) {
  /* Fix scrolling issue */
  html {
    overflow-x: hidden;
    overflow-y: auto !important;
    height: auto !important;
  }

  body {
    overflow-x: hidden;
    overflow-y: auto !important;
    height: auto !important;
    min-height: 100vh;
  }

  /* Header Layout - Tablet */
  header {
    justify-content: space-between !important;
    padding: 12px 20px !important;
    height: 70px !important;
  }

  /* Hide Desktop Nav */
  nav {
    display: none !important;
  }

  /* Show and Position Hamburger */
  .mobile-menu-btn {
    display: flex !important;
    order: -1 !important;
    margin-right: 16px !important;
  }

  .logo {
    order: 0 !important;
    margin-right: auto !important;
    /* Pushes user actions to the right */
  }

  .logo img {
    width: 65px !important;
    height: auto !important;
  }

  /* User Actions Container */
  .user-actions {
    gap: 12px !important;
    min-width: auto !important;
    justify-content: flex-end !important;
  }

  /* Tablet User Actions Items Order: 
       1. Notification
       2. Demo
       3. Post Load
       4. User Avatar
    */

  /* Mobile override: force filter grid to a single column on very small screens (320px) */
  @media (max-width: 320px) {
    .filter-grid {
      grid-template-columns: 1fr !important;
      gap: 10px !important;
      row-gap: 10px !important;
      column-gap: 10px !important;
    }

    /* Ensure any element intended to span full width does so on tiny screens */
    .filter-grid .span-full,
    .form-group.span-full {
      grid-column: 1 / -1 !important;
      width: 100% !important;
      box-sizing: border-box !important;
    }

    /* Make inputs and custom selects full width inside the grid on mobile */
    .filter-grid .select-trigger,
    .filter-grid input,
    .filter-grid .input-wrapper,
    .filter-grid .custom-select {
      width: 100% !important;
      box-sizing: border-box !important;
    }
  }

  .notification-icon {
    display: flex !important;
    order: 1 !important;
    width: 36px !important;
    height: 36px !important;
    margin-right: 4px !important;
  }

  .demo-button {
    display: flex !important;
    order: 2 !important;
  }

  .post-load-button {
    display: flex !important;
    order: 3 !important;
    min-width: 110px !important;
    font-size: 12px !important;
    padding: 0px 14px !important;
    height: 36px !important;
  }

  .user-profile {
    display: flex !important;
    order: 4 !important;
    margin-left: 4px !important;
  }

  .user-avatar {
    width: 36px !important;
    height: 36px !important;
    font-size: 14px !important;
  }

  /* Main Content */
  main {
    margin-top: 70px !important;
    min-height: calc(100vh - 70px) !important;
    height: auto !important;
    overflow: visible !important;
  }

  /* Load Posts Page */
  .load-posts-page {
    padding: 16px !important;
    margin-top: 70px !important;
    flex-direction: column !important;
    gap: 16px !important;
    min-height: calc(100vh - 70px) !important;
    height: auto !important;
    overflow: visible !important;
  }

  /* Hide Filter Sidebar */
  /* Filter sidebar hidden by default on mobile, shown via .mobile-open class */
  .filter-sidebar,
  .filter-sidebar.mobile-open {
    display: none !important;
  }

  .filter-icon {
    display: flex !important;
    cursor: pointer;
  }

  .main-load-content {
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
  }

  /* Tabs and Search */
  .tabs-and-search-container {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    height: auto !important;
    margin-bottom: 16px !important;
    flex-wrap: wrap !important;
  }

  .tabs {
    overflow-x: auto !important;
    gap: 16px !important;
    /* padding-bottom: 4px !important; */
  }

  .tab-button {
    font-size: 13px !important;
    padding: 10px 0 !important;
    white-space: nowrap !important;
  }

  .search-and-actions {
    min-width: unset !important;
    gap: 12px !important;
  }

  .search-bar {
    width: 250px !important;
  }

  /* Load Post Cards */
  .load-posts-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    overflow: visible !important;
    max-height: none !important;
    height: auto !important;
    padding-bottom: 20px !important;
  }

  .load-post-wrapper {
    margin-bottom: 0 !important;
  }

  /* Post Header */
  .post-header {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    padding: 0 !important;
  }

  .post-meta {
    font-size: 12px !important;
    padding: 12px 16px !important;
    background: #ffffff !important;
    border-radius: 12px 12px 0 0 !important;
    /* border: 1px solid #e4e7ec !important; */
    border-bottom: none !important;
  }

  .card-actions-overflow,
  .card-actions-overflow-confirmed {
    display: none !important;
  }

  .post-header {
    position: relative !important;
  }

  .mobile-kebab-menu,
  .mobile-confirmed-kebab-menu {
    display: flex !important;
    position: absolute !important;
    top: 5px !important;
    right: 16px !important;
    width: 30px !important;
    height: 30px !important;

    /* Ensure equal spacing for L1/L2/L3 on tablet and mobile */
    @media screen and (max-width: 1024px) {
      .bids-table {
        display: block !important;
        width: 100% !important;
        padding: 0 !important;
      }

      .bids-table .bid-row.header,
      .bids-table .bid-row {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        width: 100% !important;
        gap: 0 !important;
        align-items: start !important;
      }

      .bids-table .bid-row.header span,
      .bids-table .bid-row .bid-cell {
        text-align: center !important;
        justify-self: center !important;
      }

      .bids-table .bid-row.header span {
        border-right: 1px solid #e4e7ec !important;
      }

      .bids-table .bid-row.header span:last-child,
      .bids-table .bid-row .bid-cell:last-child {
        border-right: none !important;
      }

      /* CSS fallback to hide arrow glyph if it was injected via ::after */
      .accept-bid-button-inline::after {
        display: none !important;
        content: none !important;
      }
    }

    @media screen and (max-width: 767px) {
      /* same rules for smaller mobiles to be explicit */
      .bids-table {
        display: block !important;
        width: 100% !important;
        padding: 0 !important;
      }

      .bids-table .bid-row.header,
      .bids-table .bid-row {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        width: 100% !important;
        gap: 0 !important;
        align-items: start !important;
      }

      .bids-table .bid-row.header span,
      .bids-table .bid-row .bid-cell {
        text-align: center !important;
        justify-self: center !important;
      }

      .accept-bid-button-inline::after {
        display: none !important;
        content: none !important;
      }
    }

    justify-content: center !important;
    align-items: center !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    cursor: pointer !important;
    z-index: 10 !important;
  }

  .mobile-kebab-menu i {
    font-size: 18px !important;
    color: #667085 !important;
  }

  .action-button {
    flex: 1 !important;
    min-width: 100px !important;
    font-size: 11px !important;
    padding: 10px 8px !important;
    justify-content: center !important;
    border-radius: 0 !important;
    height: 42px !important;
    border-right: 1px solid #e4e7ec !important;
  }

  .action-button:last-child {
    border-right: none !important;
  }

  .action-button img {
    width: 16px !important;
    height: 16px !important;
  }

  /* Card Body */
  .load-post-card {
    border-radius: 0 0 12px 12px !important;
  }

  /* Desktop: fixed height for load post card */
  @media (min-width: 1024px) {
    .load-post-card {
      height: 342px !important;
    }
  }

  .card-body {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: unset !important;
  }

  /* Location Section */
  .location-section {
    padding: 16px !important;
    border-bottom: 1px solid #e4e7ec !important;
    border-right: none !important;
    height: auto !important;
  }

  .post-id-row {
    margin: 0 !important;
    padding: 0 0 12px 0 !important;
    margin-bottom: 12px !important;
    border-bottom: 1px solid #e4e7ec !important;
  }

  .location-path {
    margin-top: 0 !important;
    padding-left: 30px !important;
    gap: 0 !important;
  }

  .location-line,
  .location-line-end {
    position: relative !important;
    padding-left: 0 !important;
    height: auto !important;
    min-height: auto !important;
    gap: 10px !important;
  }

  .location-line .location-dot,
  .location-line-end .location-dot {
    position: absolute !important;
    left: -29px !important;
    top: 0 !important;
    width: 22px !important;
    height: 22px !important;
    z-index: 2 !important;
  }

  .location-connector {
    display: block !important;
    position: absolute !important;
    left: 11px !important;
    top: 22px !important;
    width: 2px !important;
    height: calc(100% - 44px) !important;
    background: #519e8a !important;
    z-index: 1 !important;
  }

  .location-info {
    gap: 2px !important;
  }

  .location-label {
    font-size: 12px !important;
    color: #667085 !important;
  }

  .location-text {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #101828 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
  }

  .distance-info {
    display: block !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    margin: 12px 0 !important;
    font-size: 13px !important;
    color: #667085 !important;
    background: transparent !important;
    padding: 0 !important;
  }

  /* New Route Timeline - Tablet */
  .route-container {
    gap: 10px !important;
  }

  .timeline-visual {
    padding-top: 2px !important;
  }

  .timeline-icon {
    width: 20px !important;
    height: 20px !important;
  }

  .timeline-line {
    width: 2px !important;
    min-height: 35px !important;
  }

  .route-location-block .route-label {
    font-size: 11px !important;
  }

  .route-location-block .route-address-text {
    font-size: 13px !important;
  }

  .route-distance-info {
    padding: 10px 0 !important;
    font-size: 12px !important;
  }

  .schedule-info {
    display: block !important;
    margin-top: 16px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-top: 16px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border-top: 1px solid #e4e7ec !important;
    font-size: 14px !important;
    color: #101828 !important;
  }

  /* Make schedule timestamps wrap instead of truncating with ellipsis */
  .schedule-info {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    word-break: break-word !important;
    hyphens: auto !important;
  }

  /* Details Section */
  .details-section {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px 24px !important;
    padding: 16px !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #e4e7ec !important;
    height: auto !important;
  }

  .detail-item {
    flex-direction: column !important;
    gap: 4px !important;
  }

  .detail-item .label {
    font-size: 12px !important;
    color: #667085 !important;
    width: auto !important;
    max-width: none !important;
    font-weight: 400 !important;
  }

  .detail-item .value {
    font-size: 14px !important;
    font-weight: 600 !important;
    margin-top: 0 !important;
  }

  /* Bidding Section */
  .bidding-section {
    width: 100% !important;
    min-height: auto !important;
    padding: 0 !important;
  }

  .bidding-header {
    padding: 12px 16px !important;
    margin: 0 !important;
    border-radius: 0 !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
  }

  .bidding-time-info {
    width: auto !important;
    flex: 1 !important;
    font-size: 13px !important;
  }

  .extend-time-button {
    margin-left: auto !important;
    font-size: 11px !important;
    padding: 6px 12px !important;
    height: 28px !important;
  }

  /* Bids Table */

  .bid-row {
    grid-template-columns: repeat(3, 1fr) !important;
  }

  .bid-cell {
    padding: 14px 10px !important;
  }

  .bid-amount {
    font-size: 15px !important;
    margin-bottom: 10px !important;
  }

  .accept-bid-button-inline {
    font-size: 11px !important;
    padding: 6px 12px !important;
    width: 90px !important;
  }

  .bidding-summary-row {
    padding: 12px 16px !important;
    margin-top: 0 !important;
  }

  .bid-actions {
    border-radius: 0 !important;
    margin-top: 0 !important;
  }

  .bid-actions span {
    font-size: 11px !important;
    padding: 10px 8px !important;
    min-height: 42px !important;
  }

  /* Description */
  .description-section {
    padding: 14px 16px !important;
    font-size: 13px !important;
  }

  /* Confirmed Posts */
  .card-actions-overflow-confirmed {
    width: 100% !important;
    overflow-x: auto !important;
    border-radius: 0 !important;
  }

  .confirmed-action-btn {
    min-width: 110px !important;
    font-size: 11px !important;
    padding: 10px 14px !important;
  }

  .card-body-confirmed {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: unset !important;
  }

  .confirmed-details-section,
  .confirmed-info-section {
    display: grid !important;
    gap: 14px 24px !important;
    padding: 16px !important;
    border-left: none !important;
    border-right: none !important;
    height: auto !important;
  }

  .confirmed-info-section .detail-item {
    flex-direction: column !important;
    gap: 4px !important;
  }

  .confirmed-info-section .detail-item .label {
    width: auto !important;
    font-size: 12px !important;
    color: #667085 !important;
  }

  .confirmed-info-section .detail-item .value {
    width: auto !important;
    font-size: 14px !important;
  }

  /* Empty State */
  .no-load-posts {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    max-width: 300px !important;
    height: auto !important;
    margin: 50px auto 30px auto !important;
    transform: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  .no-load-posts img {
    width: 140px !important;
    height: auto !important;
  }

  .no-load-posts h1 {
    font-size: 22px !important;
    line-height: 1.4 !important;
    margin-top: 10px !important;
  }

  .create-load-post-button {
    margin-top: 16px !important;
    min-width: 200px !important;
  }

  .separator {
    position: relative !important;
    width: 85% !important;
    left: auto !important;
    top: auto !important;
    margin: 30px auto !important;
  }

  .what-else-can-do {
    position: relative !important;
    width: 100% !important;
    max-width: 650px !important;
    left: auto !important;
    top: auto !important;
    height: auto !important;
    padding: 0 24px !important;
    margin: 0 auto 50px auto !important;
    box-sizing: border-box !important;
  }

  .what-else-can-do h2 {
    position: relative !important;
    width: 100% !important;
    left: auto !important;
    top: auto !important;
    font-size: 17px !important;
    margin-bottom: 20px !important;
    text-align: center !important;
  }

  .buttons-grid {
    position: relative !important;
    width: 100% !important;
    left: auto !important;
    top: auto !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 10px !important;
    height: auto !important;
  }

  .buttons-grid button {
    width: auto !important;
    min-width: 170px !important;
    max-width: 200px !important;
    font-size: 13px !important;
    height: 40px !important;
    padding: 10px 20px 10px 14px !important;
  }

  /* Modals */

  .modal-content {
    max-width: 90% !important;
    width: 600px !important;
    max-height: 90vh !important;
    overflow-y: auto !important;
  }

  .filter-modal-content {
    width: 90vw !important;
    max-width: 600px !important;
    max-height: 85vh !important;
    overflow-y: auto !important;
  }

  .filter-form-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
  }
}

/* ============================================================
   MOBILE STYLES (max-width: 767px)
   ============================================================ */
@media screen and (max-width: 767px) {
  /* Fix scrolling issue */
  html {
    overflow-x: hidden;
    overflow-y: auto !important;
    height: auto !important;
  }

  body {
    overflow-x: hidden;
    overflow-y: auto !important;
    height: auto !important;
    min-height: 100vh;
    padding-bottom: 64px;
  }

  /* Header Layout - Mobile */
  header {
    padding: 10px 16px !important;
    height: 60px !important;
    justify-content: space-between !important;
  }

  .logo img {
    width: 55px !important;
    height: auto !important;
  }

  /* Show Mobile Elements */
  .mobile-menu-btn {
    display: flex !important;
    order: -1 !important;
    margin-right: 12px !important;
  }

  .logo {
    order: 0 !important;
    margin-right: auto !important;
    /* Pushes user actions to the right */
  }

  /* Mobile nav now uses visibility transitions, no display override needed */

  /* Hide Mobile Bottom Nav - Navigation is via hamburger menu only */
  .mobile-bottom-nav {
    display: none !important;
  }

  /* Hide Desktop Nav */
  nav {
    display: none !important;
  }

  .user-actions {
    gap: 8px !important;
    /* Reduced gap for mobile */
    min-width: auto !important;
    justify-content: flex-end !important;
  }

  /* Mobile User Actions Order:
       1. Notification
       2. Post Load
       Hide others
    */
  .notification-icon {
    display: flex !important;
    order: 1 !important;
  }

  .post-load-button {
    display: flex !important;
    order: 2 !important;
    min-width: auto !important;
    font-size: 11px !important;
    padding: 2px 10px !important;
    height: 32px !important;
    gap: 4px !important;
  }

  .demo-button {
    display: none !important;
  }

  .user-profile {
    display: none !important;
  }

  .post-load-button i {
    font-size: 11px !important;
  }

  .notification-icon {
    width: 32px !important;
    height: 32px !important;
    padding: 6px !important;
  }

  .notification-icon .bell-icon {
    width: 20px !important;
    height: 20px !important;
  }

  .notification-count {
    width: 14px !important;
    height: 14px !important;
    font-size: 9px !important;
    top: -2px !important;
    right: 2px !important;
  }

  .user-avatar {
    width: 32px !important;
    height: 32px !important;
    font-size: 12px !important;
  }

  .user-profile i {
    font-size: 10px !important;
    margin-left: 2px !important;
  }

  /* Main Content */
  main {
    margin-top: 60px !important;
    min-height: calc(100vh - 124px) !important;
    padding-bottom: 64px !important;
    height: auto !important;
    overflow: visible !important;
  }

  /* Load Posts Page */
  .load-posts-page {
    padding: 12px !important;
    margin-top: 60px !important;
    flex-direction: column !important;
    gap: 12px !important;
    min-height: calc(100vh - 124px) !important;
    padding-bottom: 80px !important;
    height: auto !important;
    overflow: visible !important;
  }

  .filter-sidebar {
    display: none !important;
  }

  .filter-icon {
    display: flex !important;
    width: 34px !important;
    height: 34px !important;
  }

  .main-load-content {
    width: 100% !important;
    /* gap: 12px !important; */
    height: auto !important;
    overflow: visible !important;
  }

  /* Tabs and Search */
  .tabs-and-search-container {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    height: auto !important;
    margin-bottom: 0px !important;
  }

  .tabs {
    width: 100% !important;
    overflow-x: auto !important;
    gap: 12px !important;
    /* padding-bottom: 8px !important; */
    justify-content: flex-start !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .tab-button {
    font-size: 12px !important;
    padding: 8px 4px !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
  }

  .search-and-actions {
    width: 100% !important;
    min-width: unset !important;
    gap: 10px !important;
  }

  .search-bar {
    flex: 1 !important;
    width: 100% !important;
    max-width: none !important;
    height: 38px !important;
  }

  .search-bar input {
    font-size: 13px !important;
    padding-left: 12px !important;
  }

  .excel-icon {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    padding: 6px !important;
  }

  .excel-icon img {
    width: 20px !important;
    height: 20px !important;
  }

  /* Load Post Cards */
  .load-posts-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    overflow: visible !important;
    max-height: none !important;
    height: auto !important;
    padding-right: 0 !important;
    padding-bottom: 20px !important;
  }

  .load-post-wrapper {
    margin-bottom: 0 !important;
  }

  /* Post Header */
  .post-header {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    padding: 0 !important;
  }

  .post-meta {
    font-size: 11px !important;
    padding: 10px 14px !important;
    background: #f9fafb !important;
    border-radius: 12px 12px 0 0 !important;
    border: 1px solid #e4e7ec !important;
    border-bottom: none !important;
  }

  .card-actions-overflow {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    width: 100% !important;
    border-radius: 0 !important;
    border: 1px solid #e4e7ec !important;
    border-top: none !important;
    border-bottom: none !important;
    padding: 0 !important;
    gap: 0 !important;
    background: #fff !important;
  }

  .action-button {
    flex: unset !important;
    width: 100% !important;
    font-size: 11px !important;
    padding: 10px 8px !important;
    justify-content: center !important;
    border-radius: 0 !important;
    border-right: 1px solid #e4e7ec !important;
    border-bottom: 1px solid #e4e7ec !important;
    height: auto !important;
    gap: 4px !important;
  }

  .action-button:nth-child(2n) {
    border-right: none !important;
  }

  .action-button:nth-child(n + 3) {
    border-bottom: none !important;
  }

  .action-button img {
    width: 14px !important;
    height: 14px !important;
  }

  /* Card Body */
  .load-post-card {
    border-radius: 0 0 12px 12px !important;
  }

  .card-body {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: unset !important;
  }

  /* Location Section */
  .location-section {
    padding: 16px !important;
    border-bottom: 1px solid #e4e7ec !important;
    border-right: none !important;
    height: auto !important;
  }

  .post-id-row {
    margin: 0 !important;
    padding: 0 0 12px 0 !important;
    margin-bottom: 12px !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    border-bottom: 1px solid #e4e7ec !important;
  }

  .post-id-badge {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #101828 !important;
  }

  .open-status {
    font-size: 11px !important;
    padding: 4px 12px !important;
    border-radius: 100px !important;
    background: rgba(81, 158, 138, 0.1) !important;
    color: #519e8a !important;
    font-weight: 500 !important;
  }

  .location-path {
    margin-top: 0 !important;
    padding-left: 30px !important;
    gap: 0 !important;
  }

  .location-line,
  .location-line-end {
    position: relative !important;
    padding-left: 0 !important;
    height: auto !important;
    min-height: auto !important;
    gap: 10px !important;
  }

  .location-line .location-dot,
  .location-line-end .location-dot {
    position: absolute !important;
    left: -29px !important;
    top: 0 !important;
    width: 22px !important;
    height: 22px !important;
    z-index: 2 !important;
  }

  .location-connector {
    display: block !important;
    position: absolute !important;
    left: 11px !important;
    top: 22px !important;
    width: 2px !important;
    height: calc(100% - 44px) !important;
    background: #519e8a !important;
    z-index: 1 !important;
  }

  .location-info {
    gap: 2px !important;
  }

  .location-label {
    font-size: 12px !important;
    color: #667085 !important;
  }

  .location-text {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #101828 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
  }

  .distance-info {
    display: block !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    margin: 12px 0 !important;
    font-size: 13px !important;
    color: #667085 !important;
    background: transparent !important;
    padding: 0 !important;
  }

  .schedule-info {
    display: block !important;
    margin-top: 16px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-top: 16px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border-top: 1px solid #e4e7ec !important;
    font-size: 14px !important;
    color: #101828 !important;
  }

  /* Details Section */
  .details-section {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px 16px !important;
    padding: 14px !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #e4e7ec !important;
    height: auto !important;
  }

  .detail-item {
    flex-direction: column !important;
    gap: 3px !important;
  }

  .detail-item .label {
    font-size: 11px !important;
    color: #667085 !important;
    width: auto !important;
    max-width: none !important;
    font-weight: 400 !important;
  }

  .detail-item .value {
    font-size: 13px !important;
    font-weight: 600 !important;
    margin-top: 0 !important;
  }

  /* Bidding Section */
  .bidding-section {
    width: 100% !important;
    min-height: auto !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  .bidding-header {
    padding: 10px 14px !important;
    margin: 0 !important;
    border-radius: 0 !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
  }

  .bidding-time-info {
    width: 100% !important;
    flex: 1 !important;
    font-size: 12px !important;
    gap: 4px !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
  }

  .bidding-time-info span {
    font-size: 12px !important;
  }

  .bidding-timer {
    font-size: 13px !important;
  }

  .extend-time-button {
    font-size: 10px !important;
    padding: 4px 10px !important;
    height: 24px !important;
    margin-left: auto !important;
  }

  /* Bids Table */
  .bids-table {
    padding: 0 !important;
  }

  .bid-row {
    grid-template-columns: repeat(3, 1fr) !important;
  }

  .bid-row.header span {
    font-size: 12px !important;
    padding: 10px 6px !important;
    height: auto !important;
  }

  .bid-cell {
    padding: 12px 8px !important;
  }

  .bid-amount {
    font-size: 14px !important;
    margin-bottom: 8px !important;
  }

  .accept-bid-button-inline {
    font-size: 10px !important;
    padding: 5px 10px !important;
    width: 80px !important;
  }

  .bidding-summary-row {
    padding: 10px 14px !important;
    margin-top: 0 !important;
    font-size: 12px !important;
  }

  .view-all-bids {
    font-size: 11px !important;
  }

  /* Bid Actions */
  .bid-actions {
    grid-template-columns: repeat(3, 1fr) !important;
    border-radius: 0 !important;
    margin-top: 0 !important;
  }

  .bid-actions span {
    font-size: 10px !important;
    padding: 10px 6px !important;
    min-height: 38px !important;
    gap: 4px !important;
  }

  /* Description */
  .description-section {
    padding: 12px 14px !important;
    font-size: 12px !important;
  }

  /* Confirmed Posts */
  .post-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
  }

  .card-actions-overflow-confirmed {
    display: none !important;
  }

  .mobile-confirmed-kebab-menu {
    display: flex !important;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 8px;
    border-radius: 4px;
    transition: background-color 0.15s ease;
  }

  .mobile-confirmed-kebab-menu:hover {
    background-color: #f9fafb;
  }

  .mobile-confirmed-kebab-menu:active {
    background-color: #f2f4f7;
  }

  .confirmed-action-btn {
    font-size: 10px !important;
    padding: 10px 8px !important;
    border-bottom: 1px solid #e4e7ec !important;
    height: auto !important;
    justify-content: center !important;
    gap: 4px !important;
  }
}

.confirmed-action-btn:nth-child(2n) {
  border-right: none !important;
}

.confirmed-action-btn .icon img {
  width: 14px !important;
  height: 14px !important;
}

.load-post-card-confirmed-button {
  border-radius: 0 0 12px 12px !important;
}

.card-body-confirmed {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: unset !important;
}

.confirmed-details-section,
.confirmed-info-section {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  padding: 12px 16px !important;
  border-left: none !important;
  border-right: none !important;
  height: 200px !important;
  box-sizing: border-box !important;
}

/* Desktop/Tablet: 3-column layout for card-body-confirmed */
@media screen and (min-width: 768px) {
  /* Make location dots and connector follow mobile layout */
  .location-line .location-dot,
  .location-line-end .location-dot {
    position: absolute !important;
    left: -29px !important;
    top: 0 !important;
    width: 22px !important;
    height: 22px !important;
    z-index: 2 !important;
  }

  .location-connector {
    display: block !important;
    position: absolute !important;
    left: 11px !important;
    top: 22px !important;
    width: 2px !important;
    height: calc(100% - 44px) !important;
    background: #519e8a !important;
    z-index: 1 !important;
  }

  /* removed .location-line-end::after per request */

  /* Tablet: make ongoing posts use 3-column desktop layout like confirmed posts */
  .card-body {
    display: grid !important;
    grid-template-columns: minmax(200px, 1fr) minmax(200px, 1fr) minmax(
        200px,
        455px
      ) !important;
    gap: 0 !important;
  }

  .card-body .location-section {
    border-right: 1px solid #e4e7ec !important;
    padding-right: 16px !important;
  }

  .card-body .details-section {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px 20px !important;
    padding: 20px 20px !important;
    border-left: 1px solid #e4e7ec !important;
    height: 292px;
  }

  .card-body-confirmed {
    display: grid !important;
    grid-template-columns: minmax(200px, 1fr) minmax(200px, 1.2fr) minmax(
        200px,
        1.2fr
      ) !important;
    gap: 0 !important;
  }

  .card-body-confirmed .location-section {
    border-right: 1px solid #e4e7ec !important;
    padding-right: 16px !important;
    height: 200px !important;
  }

  .card-body-confirmed .confirmed-details-section {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 12px 16px !important;
    border-left: 1px solid #e4e7ec !important;
    border-right: 1px solid #e4e7ec !important;
    height: 200px !important;
  }

  .card-body-confirmed .confirmed-info-section {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 12px 16px !important;
    border-left: none !important;
    height: 200px !important;
  }

  .card-body-confirmed .detail-item {
    flex-direction: row !important;
    gap: 8px !important;
  }

  .card-body-confirmed .detail-item .label {
    width: 110px !important;
    flex-shrink: 0 !important;
  }
}

/* Desktop: increase vertical gap for ongoing (non-confirmed) load post detail rows */
@media screen and (min-width: 1024px) {
  /* Target load-post cards that are NOT confirmed */
  .load-post-card:not(.confirmed-card) .details-section {
    gap: 22px 20px !important;
    /* row-gap: 22px; column-gap: 20px */
    padding-top: 24px !important;
    padding-left: 24px !important;
    padding-right: 20px !important;
  }

  .load-post-card:not(.confirmed-card) .detail-item {
    gap: 10px !important;
  }
}

.confirmed-details-section .detail-item,
.confirmed-info-section .detail-item {
  flex-direction: row !important;
  justify-content: flex-start !important;
  align-items: center !important;
  /* gap: 12px !important; */
  width: 100% !important;
}

.confirmed-details-section .detail-item .label,
.confirmed-info-section .detail-item .label {
  /* width: 120px !important; */
  flex-shrink: 0 !important;
  font-size: 13px !important;
  color: #667085 !important;
  margin-bottom: 0 !important;
}

.confirmed-details-section .detail-item .value,
.confirmed-info-section .detail-item .value {
  width: auto !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-align: left !important;
}

.check-time-link.no-date {
  width: auto !important;
  padding: 5px 12px !important;
  font-size: 10px !important;
}

/* Modals */

.modal-content {
  width: 100% !important;
  margin: 10px !important;
  border-radius: 16px !important;
  max-height: 90vh !important;
  overflow-y: auto !important;
}

.modal-header h2 {
  font-size: 16px !important;
}

.close-button {
  font-size: 22px !important;
  width: 28px !important;
  height: 28px !important;
}

.modal-footer {
  gap: 10px !important;
  padding-top: 16px !important;
}

/* Filter Modal */
.filter-modal-content {
  width: 95vw !important;
  height: auto !important;
  max-height: 85vh !important;
  padding: 16px !important;
  border-radius: 16px !important;
  overflow-y: auto !important;
}

.filter-modal-header h3 {
  font-size: 16px !important;
}

.filter-form-grid {
  grid-template-columns: 1fr !important;
  gap: 14px !important;
}

.filter-form-group {
  width: 100% !important;
  height: auto !important;
}

.filter-form-group label {
  font-size: 13px !important;
}

.filter-form-group input,
.filter-form-group select {
  height: 42px !important;
  font-size: 13px !important;
}

.filter-actions {
  flex-direction: column-reverse !important;
  gap: 10px !important;
}

.filter-clear-btn,
.filter-apply-btn {
  width: 100% !important;
  height: 42px !important;
}

/* Notification Modal - Tablet size */
.notification-modal {
  position: fixed !important;
  top: 60px !important;
  right: 10px !important;
  left: auto !important;
  width: 420px !important;
  max-width: calc(100vw - 20px) !important;
  height: auto !important;
  max-height: calc(100vh - 80px) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0px 8px 24px rgba(0, 0, 0, 0.15) !important;
  display: none !important;
}

.notification-modal[style*="display: flex"],
.notification-modal[style*="display: block"] {
  display: flex !important;
  flex-direction: column !important;
}

.notification-modal .modal-body {
  flex: 1 !important;
  max-height: calc(100vh - 140px) !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

/* Profile Dropdown */
.profile-dropdown {
  position: fixed !important;
  top: 60px !important;
  right: 10px !important;
  width: calc(100vw - 20px) !important;
  max-width: 300px !important;
  border-radius: 12px !important;
  overflow-y: auto !important;
  max-height: calc(100vh - 124px) !important;
}

/* Empty State */
.no-load-posts {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: 260px !important;
  height: auto !important;
  margin: 30px auto 20px auto !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.no-load-posts img {
  width: 110px !important;
  height: auto !important;
}

.no-load-posts h1 {
  font-size: 18px !important;
  line-height: 1.3 !important;
  width: 100% !important;
  text-align: center !important;
  margin-top: 8px !important;
}

.create-load-post-button {
  width: auto !important;
  min-width: 180px !important;
  max-width: 220px !important;
  font-size: 14px !important;
  padding: 10px 20px !important;
  height: 42px !important;
  margin-top: 14px !important;
}

.separator {
  width: 90% !important;
  left: auto !important;
  position: relative !important;
  margin: 20px auto !important;
}

.what-else-can-do {
  width: 100% !important;
  max-width: 320px !important;
  left: auto !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
  position: relative !important;
  height: auto !important;
  margin: 0 auto 30px auto !important;
}

.what-else-can-do h2 {
  position: relative !important;
  width: 100% !important;
  left: auto !important;
  font-size: 15px !important;
  margin-bottom: 14px !important;
  text-align: center !important;
}

.buttons-grid {
  position: relative !important;
  width: 100% !important;
  left: auto !important;
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 8px !important;
  height: auto !important;
}

.buttons-grid button {
  width: 100% !important;
  min-width: unset !important;
  max-width: unset !important;
  font-size: 11px !important;
  padding: 8px 12px 8px 8px !important;
  height: 36px !important;
  justify-content: flex-start !important;
  gap: 4px !important;
}

.buttons-grid button img {
  width: 14px !important;
  height: 14px !important;
  margin-right: 2px !important;
}

.buttons-grid button::before {
  display: none !important;
}

/* ============================================================
   SMALL MOBILE (max-width: 375px)
   ============================================================ */
@media screen and (max-width: 375px) {
  header {
    padding: 8px 12px !important;
    height: 56px !important;
  }

  .logo img {
    width: 48px !important;
  }

  .post-load-button {
    font-size: 10px !important;
    padding: 5px 8px !important;
    height: 28px !important;
  }

  .load-posts-page {
    padding: 10px !important;
    margin-top: 56px !important;
  }

  .tab-button {
    font-size: 11px !important;
    padding: 6px 2px !important;
  }

  .search-bar {
    height: 34px !important;
  }

  .post-meta {
    font-size: 10px !important;
    padding: 8px 12px !important;
  }

  .action-button {
    font-size: 10px !important;
    padding: 8px 6px !important;
  }

  .location-section {
    padding: 12px !important;
  }

  .post-id-badge {
    font-size: 12px !important;
  }

  .location-label {
    font-size: 10px !important;
  }

  .location-text {
    font-size: 12px !important;
  }

  .details-section {
    padding: 12px !important;
    gap: 10px 14px !important;
  }

  .detail-item .label {
    font-size: 10px !important;
  }

  .detail-item .value {
    font-size: 12px !important;
  }

  .bidding-header {
    padding: 8px 12px !important;
  }

  .bidding-time-info span {
    font-size: 11px !important;
  }

  .bid-cell {
    padding: 10px 6px !important;
  }

  .bid-amount {
    font-size: 13px !important;
  }

  .accept-bid-button-inline {
    font-size: 9px !important;
    padding: 4px 8px !important;
    width: 72px !important;
  }

  .bid-actions span {
    font-size: 9px !important;
    padding: 8px 4px !important;
  }

  .description-section {
    padding: 10px 12px !important;
    font-size: 11px !important;
  }

  .confirmed-action-btn {
    font-size: 9px !important;
    padding: 8px 6px !important;
  }

  .no-load-posts {
    max-width: 260px !important;
    margin: 30px auto !important;
  }

  .no-load-posts img {
    width: 100px !important;
  }

  .no-load-posts h1 {
    font-size: 16px !important;
    line-height: 24px !important;
  }

  .create-load-post-button {
    max-width: 200px !important;
    font-size: 13px !important;
    height: 40px !important;
  }
}

/* ============================================================
   CREATE LOAD REQUEST MODAL - RESPONSIVE STYLES
   ============================================================ */

/* Tablet (768px - 1024px) */
@media screen and (max-width: 1024px) {
  #modalOverlay .modal-content {
    max-width: 95vw !important;
    width: 700px !important;
    padding: 20px !important;
    max-height: 90vh !important;
    overflow-y: auto !important;
  }

  #modalOverlay .modal-header h2 {
    font-size: 17px !important;
  }

  #modalOverlay .form-row {
    flex-direction: column !important;
    gap: 16px !important;
    margin-top: 16px !important;
    margin-bottom: 16px !important;
  }

  #modalOverlay .form-group {
    width: 100% !important;
    flex: unset !important;
  }

  #modalOverlay .form-section {
    width: 100% !important;
  }

  #modalOverlay .toggle-buttons {
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  #modalOverlay .toggle-button {
    padding: 8px 14px !important;
    font-size: 13px !important;
    min-width: auto !important;
    flex: 0 0 auto !important;
    margin-right: 0 !important;
  }

  #modalOverlay .time-selects {
    flex-direction: row !important;
    gap: 12px !important;
  }

  #modalOverlay .time-selects .custom-dropdown {
    flex: 1 !important;
    min-width: 100px !important;
  }

  #modalOverlay .dropdown-header {
    font-size: 14px !important;
    height: 42px !important;
  }

  #modalOverlay .form-group input,
  #modalOverlay .form-group select,
  #modalOverlay .form-group textarea {
    height: 42px !important;
    font-size: 14px !important;
  }

  #modalOverlay .checkbox-group label {
    font-size: 12px !important;
  }

  #modalOverlay .modal-footer {
    flex-direction: row !important;
    gap: 12px !important;
    padding-top: 20px !important;
  }

  #modalOverlay .cancel-button,
  #modalOverlay .create-button {
    width: auto !important;
    min-width: 120px !important;
  }

  /* Multiple Stops Fields */
  #modalOverlay .loading-points-container {
    flex-wrap: wrap !important;
    gap: 12px !important;
  }

  #modalOverlay .loading-points-container .form-group {
    flex: 1 1 calc(50% - 8px) !important;
    min-width: 180px !important;
  }

  #modalOverlay .add-more-address-button {
    font-size: 12px !important;
    padding: 8px 14px !important;
  }

  /* Material and Truck rows */
  #modalOverlay .material-row,
  #modalOverlay .truck-row {
    flex-direction: column !important;
  }

  #modalOverlay .material-row .material-field,
  #modalOverlay .material-row .weight-value-field,
  #modalOverlay .truck-row .truck-field,
  #modalOverlay .truck-row .payment-field {
    flex: unset !important;
    width: 100% !important;
  }
}

/* Mobile (max-width: 767px) */
@media screen and (max-width: 767px) {
  #modalOverlay .modal-content {
    width: calc(100vw - 20px) !important;
    max-width: 100% !important;
    margin: 10px !important;
    padding: 16px !important;
    border-radius: 16px !important;
    max-height: 88vh !important;
    overflow-y: auto !important;
  }

  #modalOverlay .modal-header {
    margin-bottom: 0 !important;
    padding-bottom: 12px !important;
  }

  #modalOverlay .modal-header h2 {
    font-size: 16px !important;
  }

  #modalOverlay .close-button {
    font-size: 24px !important;
    width: 28px !important;
    height: 28px !important;
  }

  #modalOverlay .modal-body {
    padding-top: 8px !important;
  }

  #modalOverlay .form-row {
    flex-direction: column !important;
    gap: 14px !important;
    margin-top: 12px !important;
    margin-bottom: 12px !important;
  }

  #modalOverlay .form-group {
    width: 100% !important;
    flex: unset !important;
    gap: 4px !important;
  }

  #modalOverlay .form-group label {
    font-size: 13px !important;
  }

  #modalOverlay .form-section {
    width: 100% !important;
    margin-bottom: 0 !important;
  }

  #modalOverlay .form-section label {
    font-size: 13px !important;
    margin-bottom: 6px !important;
  }

  #modalOverlay .toggle-buttons {
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin-bottom: 12px !important;
  }

  #modalOverlay .toggle-button {
    padding: 6px 12px !important;
    font-size: 12px !important;
    height: 34px !important;
    min-width: auto !important;
    flex: 0 0 auto !important;
    margin-right: 0 !important;
    border-radius: 20px !important;
  }

  #modalOverlay .toggle-button i {
    font-size: 10px !important;
    margin-right: 4px !important;
  }

  #modalOverlay .time-selects {
    flex-direction: column !important;
    gap: 10px !important;
  }

  #modalOverlay .time-selects .custom-dropdown {
    flex: unset !important;
    width: 100% !important;
    min-width: unset !important;
  }

  #modalOverlay .dropdown-header {
    font-size: 13px !important;
    height: 40px !important;
    padding: 8px 12px !important;
  }

  #modalOverlay .dropdown-header .selected-value {
    font-size: 13px !important;
  }

  #modalOverlay .form-group input,
  #modalOverlay .form-group select {
    height: 40px !important;
    font-size: 13px !important;
    padding: 8px 12px !important;
  }

  #modalOverlay .form-group textarea {
    font-size: 13px !important;
    min-height: 70px !important;
    padding: 10px 12px !important;
  }

  #modalOverlay .checkbox-group {
    margin-top: 4px !important;
  }

  #modalOverlay .checkbox-group input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
  }

  #modalOverlay .checkbox-group label {
    font-size: 11px !important;
    line-height: 1.3 !important;
  }

  #modalOverlay .date-range-input-wrapper input[type="date"] {
    height: 40px !important;
    font-size: 13px !important;
  }

  #modalOverlay .date-range-calendar-icon {
    width: 18px !important;
    height: 18px !important;
    right: 10px !important;
  }

  /* Modal Footer - keep buttons in one row on mobile for compact layouts */
  #modalOverlay .modal-footer {
    flex-direction: row !important;
    gap: 12px !important;
    padding-top: 16px !important;
    margin-top: 16px !important;
    justify-content: flex-end !important;
    align-items: center !important;
    flex-wrap: wrap !important;
  }

  #modalOverlay .cancel-button {
    width: auto !important;
    height: 42px !important;
    font-size: 14px !important;
    order: 0 !important;
    padding: 8px 14px !important;
  }

  #modalOverlay .create-button {
    width: auto !important;
    height: 44px !important;
    font-size: 15px !important;
    order: 0 !important;
    padding: 8px 16px !important;
  }

  /* Multiple Stops Fields */
  #modalOverlay .loading-points-container {
    flex-direction: column !important;
    gap: 12px !important;
  }

  #modalOverlay .loading-points-container .form-group {
    flex: unset !important;
    width: 100% !important;
    min-width: unset !important;
  }

  #modalOverlay .remove-more-icon {
    align-self: flex-end !important;
    margin-bottom: 0 !important;
  }

  #modalOverlay .add-more-address-button {
    width: 100% !important;
    font-size: 12px !important;
    padding: 10px 16px !important;
    justify-content: center !important;
  }

  #modalOverlay .add-more-address-button img {
    width: 14px !important;
    height: 14px !important;
  }

  /* Material and Truck rows */
  #modalOverlay .material-row,
  #modalOverlay .truck-row,
  #modalOverlay .one-stop-fields {
    flex-direction: column !important;
    gap: 14px !important;
  }

  /* Ensure truck row children are responsive and can wrap */
  #modalOverlay .truck-row {
    display: flex !important;
    gap: 12px !important;
    align-items: center !important;
    flex-wrap: wrap !important;
  }

  /* Default desktop proportions (desktop styles keep original layout) */
  #modalOverlay .truck-row .truck-field {
    flex: 0 0 calc(24% - 12px) !important;
    min-width: 160px !important;
  }

  /* Ensure required trucks field keeps similar width when present */
  #modalOverlay .truck-row .required-trucks-field,
  #modalOverlay .truck-row .required-trucks-field .form-group,
  #modalOverlay .truck-row .required-trucks-field input {
    flex: 0 0 auto;
  }

  #modalOverlay .truck-row .payment-field {
    flex: 0 0 calc(50% - 12px) !important;
    min-width: 220px !important;
  }

  /* Tablet: two-column layout for truck row */
  @media (max-width: 1024px) {
    #modalOverlay .truck-row .truck-field,
    #modalOverlay .truck-row .payment-field {
      flex: 1 1 48% !important;
      min-width: 220px !important;
    }

    /* Modal-specific: Add padding and nudge delete button for create-load modal */
    #createLoadModalOverlay #loadPostForToggle .checkbox-row {
      padding-top: 25px !important;
    }

    #createLoadModalOverlay .stop-delete-wrapper {
      margin-left: 18px !important;
    }

    /* tablet adjustments: reduce weight input padding-right and ensure delete icon is sizeable for touch */
    #createLoadModalOverlay .stop-weight-group input {
      padding-right: 12px !important;
      height: 40px !important;
    }

    #createLoadModalOverlay .stop-delete-wrapper .delete-row-btn {
      width: 44px !important;
      height: 44px !important;
    }
  }

  /* Mobile: stack all truck row fields full-width */
  @media (max-width: 767px) {
    #modalOverlay .truck-row {
      flex-direction: column !important;
      gap: 10px !important;
    }

    #modalOverlay .truck-row .truck-field,
    #modalOverlay .truck-row .payment-field,
    #modalOverlay .truck-row .required-trucks-field {
      flex: 1 1 100% !important;
      width: 100% !important;
      min-width: 0 !important;
    }
  }

  /* Conditional Payment Terms */
  #modalOverlay .conditional-payment-terms {
    margin-top: 0 !important;
  }

  /* Bulk Load Fields */
  #modalOverlay .bulk-load-fields {
    flex-direction: column !important;
    gap: 14px !important;
  }

  /* Description field */
  #modalOverlay #description {
    min-height: 80px !important;
  }
}

/* Small Mobile (max-width: 375px) */
@media screen and (max-width: 375px) {
  #modalOverlay .modal-content {
    margin: 8px !important;
    padding: 14px !important;
    border-radius: 12px !important;
    max-height: 90vh !important;
  }

  #modalOverlay .modal-header h2 {
    font-size: 15px !important;
  }

  #modalOverlay .close-button {
    font-size: 22px !important;
    width: 26px !important;
    height: 26px !important;
  }

  #modalOverlay .form-row {
    gap: 12px !important;
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }

  #modalOverlay .form-group label {
    font-size: 12px !important;
  }

  #modalOverlay .toggle-buttons {
    gap: 4px !important;
  }

  #modalOverlay .toggle-button {
    padding: 5px 10px !important;
    font-size: 11px !important;
    height: 32px !important;
  }

  #modalOverlay .dropdown-header {
    font-size: 12px !important;
    height: 38px !important;
    padding: 6px 10px !important;
  }

  #modalOverlay .form-group input,
  #modalOverlay .form-group select {
    height: 38px !important;
    font-size: 12px !important;
    padding: 6px 10px !important;
  }

  #modalOverlay .form-group textarea {
    font-size: 12px !important;
    min-height: 60px !important;
  }

  #modalOverlay .checkbox-group label {
    font-size: 10px !important;
  }

  #modalOverlay .modal-footer {
    gap: 8px !important;
    padding-top: 14px !important;
  }

  #modalOverlay .cancel-button,
  #modalOverlay .create-button {
    height: 40px !important;
    font-size: 13px !important;
  }

  #modalOverlay .add-more-address-button {
    font-size: 11px !important;
    padding: 8px 14px !important;
  }
}

/* ============================================================
   ALL MODALS - COMPREHENSIVE RESPONSIVE STYLES
   ============================================================ */

/* Small Modal (Accept Bid, Success, etc.) - Tablet */
@media screen and (max-width: 1024px) {
  .small-modal {
    width: 90% !important;
    max-width: 400px !important;
    padding: 24px !important;
  }

  .small-modal .modal-body {
    padding: 20px 16px !important;
  }

  .small-modal .modal-icon {
    width: 80px !important;
    height: 80px !important;
  }

  .small-modal .confirmation-text,
  .small-modal .success-message {
    font-size: 16px !important;
  }

  .small-modal-footer {
    gap: 12px !important;
  }

  .small-modal-footer button {
    min-width: 120px !important;
    font-size: 14px !important;
  }

  /* Extended Modal (Extend Bid Time) */
  .extended-modal {
    width: 90% !important;
    max-width: 450px !important;
  }

  .extended-modal .time-selects {
    flex-direction: row !important;
    gap: 12px !important;
  }

  /* Large Modal (View All Bids, Delete, Fulfill) */
  .large-modal,
  .large-modal-delete {
    width: 95% !important;
    max-width: 900px !important;
    max-height: 85vh !important;
    overflow-y: auto !important;
  }

  .large-modal .modal-header h2,
  .large-modal-delete .modal-header h2 {
    font-size: 17px !important;
  }

  /* Bids Table */
  .bids-table-full {
    overflow-x: auto !important;
  }

  .bid-full-row {
    min-width: 700px !important;
  }

  .bid-full-row span {
    font-size: 12px !important;
    padding: 10px 8px !important;
  }

  /* Review Details Table */
  .review-details-table {
    overflow-x: auto !important;
  }

  .review-row {
    min-width: 600px !important;
  }

  .review-row span {
    font-size: 12px !important;
    padding: 8px 6px !important;
  }

  /* Fulfill modal vertical details layout (one line per label:value) */
  .fulfill-modal .review-details-table {
    overflow: visible !important;
    padding: 0 !important;
  }

  /* Hide the column header from the review table for fulfill modal (we show labels instead) */
  .fulfill-modal .review-row.header {
    display: none !important;
  }

  .fulfill-modal .review-details-vertical {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin-top: 8px !important;
  }

  .fulfill-modal .review-details-vertical .detail-line {
    display: flex !important;
    gap: 8px !important;
    align-items: center !important;
    font-size: 14px !important;
  }

  .fulfill-modal .review-details-vertical .detail-label {
    min-width: 220px !important;
    /* Keep labels aligned */
    font-weight: 600 !important;
    color: var(--text-muted, #6b7280) !important;
  }

  .fulfill-modal .review-details-vertical .detail-value {
    flex: 1 !important;
    color: var(--text, #111827) !important;
    font-weight: 500 !important;
  }

  /* Manage By Section */
  .manage-by-section {
    flex-wrap: wrap !important;
    gap: 16px !important;
  }

  .manage-by-section .form-group {
    flex: 1 1 200px !important;
  }
}

/* Small Modal - Mobile */
@media screen and (max-width: 767px) {
  .small-modal {
    width: calc(100% - 24px) !important;
    max-width: 100% !important;
    margin: 12px !important;
    padding: 20px 16px !important;
    border-radius: 16px !important;
  }

  .small-modal .modal-body {
    padding: 16px 12px !important;
  }

  .small-modal .modal-icon {
    width: 60px !important;
    height: 60px !important;
  }

  .small-modal .confirmation-text {
    font-size: 14px !important;
    line-height: 1.4 !important;
  }

  .small-modal .success-message {
    font-size: 15px !important;
  }

  .small-modal .note-message {
    font-size: 12px !important;
  }

  .small-modal-footer {
    flex-direction: column-reverse !important;
    gap: 10px !important;
  }

  .small-modal-footer button {
    width: 100% !important;
    min-width: unset !important;
    height: 42px !important;
  }

  /* Extended Modal */
  .extended-modal {
    width: calc(100% - 24px) !important;
    max-width: 100% !important;
  }

  .extended-modal .modal-header h2 {
    font-size: 16px !important;
  }

  .extended-modal .time-selects {
    flex-direction: column !important;
    gap: 12px !important;
  }

  .extended-modal .time-selects .custom-dropdown {
    width: 100% !important;
  }

  /* Large Modal */
  .large-modal,
  .large-modal-delete {
    width: calc(100% - 20px) !important;
    max-width: 100% !important;
    margin: 10px !important;
    padding: 16px !important;
    border-radius: 16px !important;
    max-height: 88vh !important;
  }

  .large-modal .modal-header h2,
  .large-modal-delete .modal-header h2 {
    font-size: 15px !important;
  }

  /* Bids Table - Card Layout on Mobile */
  .bids-table-full {
    display: block !important;
  }

  .bid-full-row.header {
    display: none !important;
  }

  .bid-full-row:not(.header) {
    display: flex !important;
    flex-direction: column !important;
    min-width: unset !important;
    border: 1px solid #e4e7ec !important;
    border-radius: 12px !important;
    margin-bottom: 12px !important;
    padding: 12px !important;
    gap: 8px !important;
  }

  .bid-full-row:not(.header) span {
    display: flex !important;
    justify-content: space-between !important;
    padding: 6px 0 !important;
    border-right: none !important;
    border-bottom: 1px solid #f0f0f0 !important;
  }

  .bid-full-row:not(.header) span:last-child {
    border-bottom: none !important;
  }

  .bid-full-row:not(.header) span::before {
    content: attr(data-label);
    font-weight: 500 !important;
    color: #667085 !important;
    font-size: 11px !important;
  }

  /* Review Details Table - Stack on Mobile */
  .review-details-table {
    display: block !important;
  }

  .review-row.header {
    display: none !important;
  }

  .review-row:not(.header),
  .review-row-value {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    min-width: unset !important;
    padding: 12px !important;
  }

  .review-row span,
  .review-row-value span {
    font-size: 12px !important;
    padding: 4px 0 !important;
  }

  /* Manage By Section */
  .manage-by-section {
    flex-direction: column !important;
    gap: 14px !important;
  }

  /* Fulfill modal: Managed By toggle should be a 1x2 layout (Loadsor/Other) */
  .fulfill-modal .manage-by-section {
    flex-direction: row !important;
    align-items: center !important;
    gap: 16px !important;
  }

  .fulfill-modal .manage-by-section .toggle-buttons {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    width: 200px !important;
  }

  .fulfill-modal .manage-by-section .form-label {
    min-width: 140px !important;
    font-weight: 600 !important;
  }

  /* Fulfill form groups (Transporter name & mobile) should be single-line rows */
  .fulfill-modal .form-group.transport {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    margin-top: 0 !important;
  }

  .fulfill-modal .form-group.transport label.form-label {
    min-width: 170px !important;
    margin-bottom: 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
  }

  .fulfill-modal .form-group.transport input[type="text"] {
    flex: 1 !important;
    min-width: 0 !important;
  }

  .fulfill-modal .input-with-icon .icon {
    margin-right: 8px !important;
    color: #111827 !important;
  }

  .manage-by-section .form-group {
    width: 100% !important;
    flex: unset !important;
  }

  .manage-by-section .toggle-buttons {
    flex-wrap: wrap !important;
  }

  /* Modal Section Title */
  .modal-section-title {
    font-size: 14px !important;
    margin-bottom: 10px !important;
    margin-top: 16px !important;
  }

  /* Delete/Fulfill Modal Footer */
  .large-modal-delete .modal-footer,
  .modal-footer.center-buttons {
    gap: 10px !important;
    margin-left: -16px;
    margin-right: -16px;
  }

  .large-modal-delete .modal-footer button,
  .modal-footer.center-buttons button {
    width: 100% !important;
  }
}

/* ============================================================
   FILTER MODAL - RESPONSIVE STYLES
   ============================================================ */
@media screen and (max-width: 1024px) {
  .filter-modal {
    width: 90% !important;
    max-width: 550px !important;
  }

  .filter-modal-content {
    padding: 20px !important;
  }

  .filter-form-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
  }
}

@media screen and (max-width: 767px) {
  .filter-modal {
    width: calc(100% - 20px) !important;
    max-width: 100% !important;
    margin: 10px !important;
    border-radius: 16px !important;
  }

  .filter-modal-content {
    padding: 16px !important;
    max-height: 80vh !important;
    overflow-y: auto !important;
  }

  .filter-modal-header {
    padding-bottom: 12px !important;
  }

  .filter-modal-header h3 {
    font-size: 16px !important;
  }

  .filter-form-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .filter-form-group label {
    font-size: 13px !important;
  }

  .filter-form-group input,
  .filter-form-group select,
  .filter-form-group .dropdown-header {
    height: 40px !important;
    font-size: 13px !important;
  }

  .filter-actions {
    flex-direction: column-reverse !important;
    gap: 10px !important;
    padding-top: 16px !important;
  }

  .filter-clear-btn,
  .filter-apply-btn {
    width: 100% !important;
    height: 42px !important;
  }
}

/* ============================================================
   DROPDOWNS - RESPONSIVE STYLES
   ============================================================ */
@media screen and (max-width: 767px) {
  /* Profile Dropdown */
  .profile-dropdown {
    position: fixed !important;
    top: 60px !important;
    right: 10px !important;
    left: 10px !important;
    width: auto !important;
    max-width: none !important;
    border-radius: 16px !important;
    max-height: calc(100vh - 130px) !important;
    overflow-y: auto !important;
  }

  .profile-dropdown .profile-dropdown-header {
    padding: 12px 16px !important;
    font-size: 11px !important;
  }

  .profile-dropdown .dropdown-menu-list li {
    min-height: 44px !important;
    padding: 8px 16px !important;
  }

  .profile-dropdown .dropdown-menu-list li .username {
    font-size: 13px !important;
  }

  .profile-dropdown .dropdown-menu-list li .user-detail {
    font-size: 11px !important;
  }

  .set-truck-time-button {
    margin: 14px 16px !important;
    font-size: 13px !important;
    padding: 10px 16px !important;
  }

  /* More Dropdown */
  .more-dropdown {
    position: fixed !important;
    top: 60px !important;
    right: 10px !important;
    left: 10px !important;
    width: auto !important;
    border-radius: 16px !important;
    max-height: calc(100vh - 130px) !important;
    overflow-y: auto !important;
  }

  .more-dropdown .more-dropdown-menu-list li {
    padding: 12px 16px !important;
  }

  .more-dropdown .more-dropdown-menu-list li .text {
    font-size: 13px !important;
  }

  /* Notification Modal - Full screen on mobile */
  .notification-modal {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100vh !important;
    max-height: 100vh !important;
    border-radius: 0 !important;
    z-index: 9999 !important;
    display: none !important;
  }

  .notification-modal[style*="display: flex"],
  .notification-modal[style*="display: block"] {
    display: flex !important;
    flex-direction: column !important;
  }

  .notification-modal .modal-header {
    padding: 16px !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
    flex-shrink: 0 !important;
  }

  .notification-modal .modal-header h2 {
    font-size: 18px !important;
    font-weight: 600 !important;
  }

  .notification-modal .modal-body {
    flex: 1 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 0 !important;
  }

  .notification-modal .notification-list {
    padding: 0 !important;
    margin: 0 !important;
  }

  .notification-modal .notification-list li {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    padding: 14px !important;
    gap: 10px !important;
    width: 100% !important;
    height: auto !important;
    min-height: 80px !important;
    box-sizing: border-box !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
  }

  .notification-modal .notification-list li .icon {
    flex-shrink: 0 !important;
    width: 24px !important;
    height: 24px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 2px !important;
  }

  .notification-modal .notification-list li .icon img {
    width: 22px !important;
    height: 22px !important;
  }

  .notification-modal .notification-list li .notification-content {
    flex: 1 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: auto !important;
    min-width: 0 !important;
  }

  .notification-modal .notification-list li .notification-content p {
    flex: 1 !important;
    padding-right: 0 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    height: auto !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
    margin: 0 !important;
    color: #5a5e63 !important;
  }

  .notification-modal .notification-list li .timestamp {
    flex-shrink: 0 !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
    color: rgba(60, 64, 68, 0.5) !important;
    white-space: nowrap !important;
    margin-top: 0 !important;
    padding-left: 8px !important;
  }
}

/* ============================================================
   VEHICLE DETAILS & UPLOAD INVOICE MODALS - RESPONSIVE
   ============================================================ */
@media screen and (max-width: 1024px) {
  .vehicle-details-modal-content,
  .upload-invoice-modal-content {
    width: 90% !important;
    max-width: 600px !important;
    padding: 20px !important;
  }

  .vehicle-details-grid {
    gap: 14px 60px !important;
  }

  .upload-sections {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }
}

@media screen and (max-width: 767px) {
  .vehicle-details-modal-content {
    width: calc(100% - 20px) !important;
    max-width: 100% !important;
    padding: 16px !important;
    border-radius: 16px !important;
  }

  .vehicle-details-modal-header {
    padding-bottom: 14px !important;
  }

  .vehicle-details-modal-header h2 {
    font-size: 16px !important;
  }

  .vehicle-details-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .vehicle-detail-item {
    flex-direction: row !important;
    justify-content: space-between !important;
  }

  .vehicle-detail-label {
    font-size: 13px !important;
    min-width: unset !important;
  }

  .vehicle-detail-value {
    font-size: 13px !important;
    text-align: right !important;
  }

  /* Upload Invoice Modal */
  .upload-invoice-modal-content {
    width: calc(100% - 20px) !important;
    max-width: 100% !important;
    padding: 16px !important;
    border-radius: 16px !important;
  }

  .upload-invoice-modal-header h2 {
    font-size: 16px !important;
  }

  .upload-sections {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .upload-section h3 {
    font-size: 15px !important;
  }

  .upload-area {
    height: 200px !important;
  }
}

/* ============================================================
   TRUCK STATUS MODAL - RESPONSIVE
   ============================================================ */

/* Base styles for all screen sizes - ensure calendar icon is clickable */
.truck-status-modal-overlay .date-range-input-wrapper-filter {
  position: relative !important;
}

.truck-status-modal-overlay
  .date-range-input-wrapper-filter
  .date-range-calendar-icon {
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  z-index: 10 !important;
  width: 20px !important;
  height: 20px !important;
}

.truck-status-modal-overlay
  .date-range-input-wrapper-filter
  .date-range-calendar-icon:hover {
  opacity: 0.7 !important;
}

@media screen and (max-width: 1024px) {
  #truckStatusModalOverlay .modal-content {
    width: 90% !important;
    max-width: 700px !important;
    min-width: unset !important;
  }

  .truck-status-form-row {
    width: 100%;
    flex-wrap: wrap !important;
    gap: 16px !important;
  }

  .truck-status-form-row .filter-group {
    flex: 1 1 200px !important;
  }
}

@media screen and (max-width: 767px) {
  #truckStatusModalOverlay .modal-content {
    width: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
    min-width: unset !important;
    padding: 16px !important;
    border-radius: 16px !important;
    height: auto !important;
    max-height: 90vh !important;
  }

  #truckStatusModalOverlay .modal-header {
    padding: 12px 16px !important;
    margin: -16px -16px 16px -16px !important;
  }

  #truckStatusModalOverlay .modal-header h2 {
    font-size: 18px !important;
  }

  #truckStatusModalOverlay .modal-body {
    padding: 0 !important;
    overflow-y: auto !important;
    max-height: calc(90vh - 120px) !important;
  }

  .truck-status-form-section {
    margin-bottom: 16px !important;
    padding-bottom: 16px !important;
  }

  .truck-status-form-row {
    width: 100% !important;
    flex-direction: column !important;
    gap: 14px !important;
  }

  .truck-status-form-row .filter-group {
    flex: unset !important;
    width: 100% !important;
  }

  .truck-status-form-row .filter-group label {
    font-size: 14px !important;
    margin-bottom: 6px !important;
  }

  .truck-status-form-row .custom-dropdown {
    width: 100% !important;
  }

  .truck-status-form-row .custom-dropdown .dropdown-header {
    padding: 10px 12px !important;
    font-size: 14px !important;
  }

  .truck-status-form-row .date-range-input-wrapper-filter {
    width: 100% !important;
    position: relative !important;
  }

  .truck-status-form-row .date-range-input-wrapper-filter input {
    width: 100% !important;
    padding: 10px 12px !important;
    font-size: 14px !important;
  }

  /* Ensure calendar icon is clickable */
  .truck-status-form-row
    .date-range-input-wrapper-filter
    .date-range-calendar-icon {
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    z-index: 10 !important;
    width: 20px !important;
    height: 20px !important;
  }

  #truckStatusModalOverlay .bids-table-full {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  #truckStatusModalOverlay .bid-full-row {
    min-width: 600px !important;
  }

  #truckStatusModalOverlay .bid-full-row span {
    font-size: 12px !important;
    padding: 8px 6px !important;
  }

  .truck-status-records-section {
    margin-top: 16px !important;
  }

  .truck-status-empty-state {
    padding: 32px 16px !important;
    font-size: 13px !important;
  }
}

@media screen and (max-width: 480px) {
  #truckStatusModalOverlay .modal-content {
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    border-radius: 12px !important;
  }

  #truckStatusModalOverlay .modal-header {
    padding: 10px 12px !important;
    margin: -12px -12px 12px -12px !important;
  }

  #truckStatusModalOverlay .modal-header h2 {
    font-size: 16px !important;
  }

  #truckStatusModalOverlay .modal-header .close-button {
    width: 28px !important;
    height: 28px !important;
    font-size: 20px !important;
  }

  #truckStatusModalOverlay .modal-body {
    max-height: calc(90vh - 100px) !important;
  }

  .truck-status-form-section {
    margin-bottom: 12px !important;
    padding-bottom: 12px !important;
  }

  .truck-status-form-row {
    gap: 12px !important;
  }

  .truck-status-form-row .filter-group label {
    font-size: 13px !important;
  }

  .truck-status-form-row .custom-dropdown .dropdown-header {
    padding: 9px 10px !important;
    font-size: 13px !important;
  }

  .truck-status-form-row .date-range-input-wrapper-filter input {
    padding: 9px 10px !important;
    font-size: 13px !important;
  }

  #truckStatusModalOverlay .bid-full-row {
    min-width: 500px !important;
  }

  #truckStatusModalOverlay .bid-full-row span {
    font-size: 11px !important;
    padding: 6px 4px !important;
  }

  .truck-status-empty-state {
    padding: 24px 12px !important;
    font-size: 12px !important;
  }
}

/* ============================================================
   CHECK CHALLAN MODAL - RESPONSIVE
   ============================================================ */
@media screen and (max-width: 767px) {
  .check-challan-modal {
    width: calc(100% - 20px) !important;
    max-width: 100% !important;
    right: auto !important;
    left: 10px !important;
    border-radius: 16px !important;
  }
}

/* ============================================================
   LOAD POST CARDS - MOBILE ENHANCED (max-width: 767px)
   ============================================================ */
@media screen and (max-width: 767px) {
  /* Search Bar Mobile - Full Width */
  .search-and-actions {
    width: 100% !important;
    order: -1 !important;
    flex-wrap: nowrap !important;
  }

  .search-bar {
    flex: 1 !important;
    width: auto !important;
    min-width: unset !important;
  }

  .tabs-and-search-container {
    flex-direction: column !important;
    gap: 12px !important;
  }

  .tabs {
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }

  .tabs::-webkit-scrollbar {
    display: none !important;
  }

  .tab-button {
    font-size: 12px !important;
    padding: 8px 0 !important;
    white-space: nowrap !important;
  }

  /* Card Layout - Mobile Stacked */
  .post-header {
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    padding: 14px 16px !important;
    gap: 8px !important;
    background: transparent !important;
    border: none !important;
  }

  .post-meta {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    font-size: 13px !important;
    color: #3c4044 !important;
    line-height: 1.5 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
  }

  /* Hide default action buttons on mobile, keep kebab menu */
  .card-actions-overflow {
    display: none !important;
  }

  /* Card body stacked on mobile */
  .card-body {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: unset !important;
  }

  /* Post ID Row Mobile */
  .post-id-row {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 12px !important;
    padding: 0 0 12px 0 !important;
    border-bottom: 1px solid #e4e7ec !important;
  }

  .post-id-badge {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #101828 !important;
  }

  .open-status {
    font-size: 11px !important;
    padding: 4px 12px !important;
    border-radius: 6px !important;
    background: rgba(81, 158, 138, 0.1) !important;
    color: #519e8a !important;
    font-weight: 500 !important;
  }

  /* Location Section Mobile */
  .location-section {
    padding: 16px !important;
    border-right: none !important;
    border-bottom: 1px solid #e4e7ec !important;
    height: auto !important;
  }

  .location-path {
    margin-top: 0 !important;
    position: relative !important;
    padding-left: 30px !important;
    gap: 0 !important;
  }

  /* Show vertical connector line in mobile */
  .location-connector {
    display: block !important;
    position: absolute !important;
    left: 11px !important;
    top: 22px !important;
    width: 2px !important;
    height: calc(100% - 44px) !important;
    background: #519e8a !important;
    z-index: 1 !important;
  }

  .location-line {
    position: relative !important;
    padding-left: 0 !important;
    height: auto !important;
    min-height: auto !important;
    gap: 10px !important;
  }

  .location-line-end {
    position: relative !important;
    padding-left: 0 !important;
    height: auto !important;
    margin-top: 0 !important;
    gap: 10px !important;
  }

  .location-line .location-dot,
  .location-line-end .location-dot {
    left: -29px !important;
    top: 0 !important;
    width: 22px !important;
    height: 22px !important;
    z-index: 2 !important;
  }

  .location-info {
    gap: 2px !important;
  }

  .location-label {
    font-size: 12px !important;
    color: #667085 !important;
  }

  .location-text {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #101828 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
  }

  .multiple-locations-wrapper {
    margin-top: 4px !important;
  }

  .multiple-locations-text {
    font-size: 13px !important;
    color: #519e8a !important;
  }

  .distance-info {
    display: block !important;
    margin: 12px 0 !important;
    font-size: 13px !important;
    color: #667085 !important;
  }

  .schedule-info {
    display: block !important;
    margin-top: 16px !important;
    padding-top: 16px !important;
    border-top: 1px solid #e4e7ec !important;
    font-size: 14px !important;
    color: #101828 !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

  /* Details Section Mobile - Stacked Label/Value */
  .details-section {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    padding: 16px !important;
    border-right: none !important;
    border-bottom: 1px solid #e4e7ec !important;
    grid-template-columns: unset !important;
    height: auto !important;
  }

  .detail-item {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 16px !important;
  }

  .detail-item .label {
    min-width: 95px !important;
    width: 95px !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #667085 !important;
    flex-shrink: 0 !important;
  }

  .detail-item .value {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #101828 !important;
    flex: 1 !important;
    margin-top: 0 !important;
  }

  /* Bidding Section Mobile */
  .bidding-section {
    padding: 0 !important;
    width: 100% !important;
    min-height: auto !important;
  }

  .bidding-header {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 12px 16px !important;
    background: linear-gradient(
      90deg,
      rgba(81, 158, 138, 0.12) 0%,
      rgba(255, 255, 255, 0) 100%
    ) !important;
    border-radius: 0 !important;
    margin: 0 !important;
  }

  .bidding-time-info {
    font-size: 13px !important;
    color: #3c4044 !important;
    width: auto !important;
    flex: unset !important;
  }

  .bidding-timer {
    font-weight: 600 !important;
    color: #519e8a !important;
  }

  .bidding-timer.timeout {
    color: #e63946 !important;
  }

  .timer-left-text {
    color: #667085 !important;
    font-size: 12px !important;
  }

  .extend-bid-time-button {
    font-size: 11px !important;
    padding: 5px 12px !important;
    height: auto !important;
    margin-left: 8px !important;
  }

  /* Bids Table - 3 Columns L1, L2, L3 */
  .bidding-table-container {
    padding: 0 !important;
  }

  .bids-table {
    display: flex !important;
    flex-direction: column !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  .bid-row {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 0 !important;
    width: 100% !important;
  }

  .bid-row.header {
    background: #f9fafb !important;
    border-bottom: 1px solid #e4e7ec !important;
  }

  .bid-row.header span {
    padding: 12px 8px !important;
    text-align: center !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #667085 !important;
    border-right: 1px solid #e4e7ec !important;
  }

  .bid-row.header span:last-child {
    border-right: none !important;
  }

  .bid-row:not(.header) span {
    padding: 16px 8px !important;
    text-align: center !important;
    font-size: 14px !important;
    color: #101828 !important;
    border-right: 1px solid #e4e7ec !important;
  }

  .bid-row:not(.header) span:last-child {
    border-right: none !important;
  }

  .bid-cell {
    flex: 1 !important;
    text-align: center !important;
    padding: 16px 8px !important;
    border-right: 1px solid #e4e7ec !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .bid-cell:last-child {
    border-right: none !important;
  }

  .bid-label {
    display: block !important;
    font-size: 12px !important;
    color: #667085 !important;
    margin-bottom: 8px !important;
  }

  .bid-amount {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #101828 !important;
    margin-bottom: 10px !important;
  }

  .accept-bid-button-inline {
    font-size: 11px !important;
    padding: 6px 16px !important;
    width: auto !important;
  }

  /* Bidding Summary Row */
  .bidding-summary-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 12px 16px !important;
    font-size: 14px !important;
    border-top: 1px solid #e4e7ec !important;
    margin-top: 0 !important;
  }

  .view-all-bids {
    /* color: #519e8a !important; */
    font-size: 13px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
  }

  /* Trucks Row - 3 columns */
  .bid-actions {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 0 !important;
    border-top: 1px solid #e4e7ec !important;
    border-radius: 0 !important;
    margin-top: 0 !important;
  }

  .bid-actions span {
    text-align: center !important;
    padding: 12px 8px !important;
    font-size: 12px !important;
    color: #667085 !important;
    border-right: 1px solid #e4e7ec !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-height: auto !important;
    gap: 4px !important;
    line-height: 1.3 !important;
  }

  .bid-actions span:last-child {
    border-right: none !important;
  }

  .bid-actions span strong {
    font-size: 16px !important;
    color: #101828 !important;
  }

  /* Description Section Mobile */
  .description-section {
    padding: 14px 16px !important;
    font-size: 13px !important;
    color: #667085 !important;
    border-top: 1px solid #e4e7ec !important;
    line-height: 1.5 !important;
  }

  .description-label {
    font-weight: 500 !important;
    color: #49454f !important;
  }

  .description-text {
    color: #667085 !important;
  }
}

/* Strong override: force true 3-column layout on mobile (ensure L1/L2/L3 are side-by-side)
   This avoids stacking from other layout rules and centers content in each column. */
@media screen and (max-width: 767px) {
  .bids-table {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
  }

  /* Ensure each row (header and data row) lays out into 3 equal columns */
  .bids-table .bid-row.header,
  .bids-table .bid-row {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 0 !important;
    width: 100% !important;
    align-items: center !important;
  }

  /* Make header spans and bid-cells occupy their grid cells and center contents */
  .bids-table .bid-row.header span,
  .bids-table .bid-row .bid-cell {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    text-align: center !important;
    padding: 10px 6px !important;
    min-height: 56px !important;
  }

  /* Keep the placeholder `--` visually muted and centered */
  .bids-table .bid-row .bid-cell .bid-amount {
    display: block !important;
  }

  .bids-table .bid-row .bid-cell:last-child {
    /* no right border on last column */
    border-right: none !important;
  }
}

/* ============================================================
   LOAD POST CARDS - SMALL MOBILE (max-width: 375px)
   ============================================================ */
@media screen and (max-width: 375px) {
  .post-meta {
    font-size: 12px !important;
  }

  .post-id-badge {
    font-size: 13px !important;
  }

  .location-text {
    font-size: 13px !important;
  }

  .detail-item .label {
    min-width: 80px !important;
    width: 80px !important;
    font-size: 12px !important;
  }

  .detail-item .value {
    font-size: 13px !important;
  }

  .bidding-time-info span {
    font-size: 12px !important;
  }

  .bid-label {
    font-size: 11px !important;
  }

  .bid-amount {
    font-size: 13px !important;
  }

  .bid-actions span {
    font-size: 11px !important;
    padding: 10px 6px !important;
  }

  .bid-actions span strong {
    font-size: 14px !important;
  }

  .description-section {
    font-size: 12px !important;
    padding: 12px 14px !important;
  }

  .extend-bid-time-button {
    font-size: 10px !important;
    padding: 4px 10px !important;
  }
}

/* ============================================================
   MOBILE KEBAB MENU STYLES
   ============================================================ */
.mobile-kebab-menu {
  display: none;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #667085;
  font-size: 16px;
  border-radius: 6px;
  transition: background-color 0.2s ease;
  flex-shrink: 0;
  margin-left: auto;
}

/* Ensure filter icon remains visible on desktop even with mobile-kebab-menu class */
.filter-icon.mobile-kebab-menu {
  display: flex !important;
  width: auto !important;
  height: auto !important;
  margin-left: 0 !important;
}

.mobile-kebab-menu:hover {
  background-color: #f3f4f6;
}

.mobile-kebab-menu i {
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .mobile-kebab-menu {
    display: flex !important;
  }

  .post-header {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
  }
}

/* Mobile Actions Dropdown Hover States */
.mobile-action-item:hover {
  background-color: #f9fafb;
}

.mobile-action-item:active {
  background-color: #f3f4f6;
}

/* ============================================================
   BOTTOM SHEET DIALOG STYLES - MOBILE & TABLET
   ============================================================ */

/* Global Keyframe Animations for Bottom Sheet */
@keyframes bottomSheetSlideUp {
  from {
    transform: translateY(100%);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes bottomSheetSlideDown {
  from {
    transform: translateY(0);
    opacity: 1;
  }

  to {
    transform: translateY(100%);
    opacity: 0;
  }
}

/* Bottom Sheet Base - Applies to all modals/popups on mobile/tablet */
@media screen and (max-width: 1024px) {
  /* Transform all modals to bottom sheet style */
  .modal-overlay,
  #modalOverlay,
  #acceptBidConfirmationModalOverlay,
  #acceptBidSuccessModalOverlay,
  #viewAllBidsModalOverlay,
  #extendBidTimeModalOverlay,
  #confirmDeleteModalOverlay,
  #confirmFulfillModalOverlay,
  #truckStatusModalOverlay,
  #checkChallanModalOverlay,
  #filterModalOverlay {
    align-items: flex-end !important;
    justify-content: center !important;
  }

  /* Force black text for delete modal details */
  .delete-details-grid,
  .delete-details-grid * {
    color: #000000 !important;
  }

  .delete-details-grid .delete-label {
    color: rgba(0, 0, 0, 0.9) !important;
    font-weight: 500 !important;
  }

  .delete-details-grid .delete-value {
    color: #000000 !important;
    font-weight: 600 !important;
  }

  .modal-content,
  .modal-overlay .modal-content,
  #modalOverlay .modal-content {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: 90vh !important;
    margin: 0 !important;
    border-radius: 20px 20px 0 0 !important;
    animation: bottomSheetSlideUp 0.3s ease-out !important;
  }

  /* Bottom Sheet Handle/Drag Indicator */
  .modal-content::before {
    /* content: "" !important; */
    display: block !important;
    width: 40px !important;
    height: 4px !important;
    background: #d0d5dd !important;
    border-radius: 4px !important;
    margin: 8px auto 12px auto !important;
  }

  /* Remove handle for confirmation modal specifically */
  .modal-content.confirmation-modal::before,
  .confirmation-modal::before {
    display: none !important;
    content: none !important;
  }

  /* Bottom Sheet Slide Up Animation */
  @keyframes bottomSheetSlideUp {
    from {
      transform: translateY(100%);
      opacity: 0;
    }

    to {
      transform: translateY(0);
      opacity: 1;
    }
  }

  @keyframes bottomSheetSlideDown {
    from {
      transform: translateY(0);
      opacity: 1;
    }

    to {
      transform: translateY(100%);
      opacity: 0;
    }
  }

  /* Modal Header - Bottom Sheet Style */

  .modal-header h2 {
    font-size: 18px !important;
    text-align: center !important;
    flex: 1 !important;
  }

  .modal-close {
    position: absolute !important;
    right: 16px !important;
    top: 20px !important;
  }

  /* Modal Body - Bottom Sheet Style */
  .modal-body {
    padding: 16px !important;
    overflow-y: auto !important;
    max-height: calc(90vh - 140px) !important;
  }

  /* Modal Footer - Bottom Sheet Style */
  .modal-footer {
    padding: 12px 16px !important;
    border-top: 1px solid #e4e7ec !important;
    background: #ffffff !important;
    box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.05) !important;
  }

  .modal-footer button {
    flex: 1 !important;
    min-height: 44px !important;
  }

  /* Create modal-specific footer: keep Create + Cancel on one line (1x2) across viewports */
  .create-footer {
    display: flex !important;
    flex-direction: row !important;
    gap: 12px !important;
    justify-content: space-between !important;
    align-items: center !important;
  }

  .create-footer .btn-create,
  .create-footer .btn-cancel {
    flex: 1 !important;
    min-width: 0 !important;
    height: 44px !important;
  }

  /* Footer Stack: 1x2 layout for bottom sheet modals on mobile/tablet */
  .modal-footer.center-buttons,
  .small-modal-footer.center-buttons {
    display: flex !important;
    flex-direction: column-reverse !important;
    /* Keep primary action on top */
    gap: 12px !important;
  }

  .modal-footer.center-buttons button,
  .small-modal-footer.center-buttons button {
    width: 100% !important;
  }

  /* Confirmation Modals - Bottom Sheet Style */
  .confirmation-modal,
  .success-modal {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 20px 20px 0 0 !important;
    padding: 12px 16px 24px 16px !important;
  }

  /* Show small modal footer in a row for confirmation modal to keep Cancel + Accept on one line */
  .confirmation-modal .small-modal-footer,
  .confirmation-modal .modal-footer {
    display: flex !important;
    gap: 12px !important;
    justify-content: center !important;
    align-items: center !important;
    flex-direction: row !important;
  }

  .confirmation-modal .small-modal-footer button,
  .confirmation-modal .modal-footer button {
    min-width: 120px !important;
  }

  .success-modal::before {
    /* content: "" !important; */
    display: block !important;
    width: 40px !important;
    height: 4px !important;
    background: #d0d5dd !important;
    border-radius: 4px !important;
    margin: 0 auto 16px auto !important;
  }

  /* View All Bids Modal - Bottom Sheet Style */
  .view-all-bids-modal {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 20px 20px 0 0 !important;
    max-height: 80vh !important;
  }

  .view-all-bids-modal::before {
    content: "" !important;
    display: block !important;
    width: 40px !important;
    height: 4px !important;
    background: #d0d5dd !important;
    border-radius: 4px !important;
    margin: 8px auto 12px auto !important;
  }

  /* Extend Bid Time Modal - Bottom Sheet Style */
  .extend-bid-modal {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 20px 20px 0 0 !important;
  }

  /* Make the extend-bid modal inputs appear in a 2x2 layout on mobile/tablet */
  .extend-bid-modal .time-selects {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }

  .extend-bid-modal .time-selects .custom-dropdown,
  .extend-bid-modal .time-selects .dropdown-header {
    width: 100% !important;
  }

  /* Show modal footer buttons side-by-side for extend modal on smaller screens */
  .extend-bid-modal .modal-footer.center-buttons,
  .fulfill-modal .modal-footer.center-buttons {
    flex-direction: row !important;
    gap: 12px !important;
    justify-content: space-between !important;
  }

  .extend-bid-modal .modal-footer.center-buttons button {
    width: 48% !important;
  }

  /* Removed extend-bid-modal handle */

  /* Delete/Fulfill Confirmation Modals */
  .delete-modal,
  .fulfill-modal {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 20px 20px 0 0 !important;
    max-height: 85vh !important;
  }

  .delete-modal::before,
  .fulfill-modal::before {
    content: "" !important;
    display: block !important;
    width: 40px !important;
    height: 4px !important;
    background: #d0d5dd !important;
    border-radius: 4px !important;
    margin: 8px auto 12px auto !important;
  }

  /* Truck Status Modal - Bottom Sheet Style */
  .truck-status-modal,
  .check-challan-modal {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 20px 20px 0 0 !important;
    max-height: 80vh !important;
  }

  .truck-status-modal::before,
  .check-challan-modal::before {
    content: "" !important;
    display: block !important;
    width: 40px !important;
    height: 4px !important;
    background: #d0d5dd !important;
    border-radius: 4px !important;
    margin: 8px auto 12px auto !important;
  }
}

/* Mobile Specific Bottom Sheet Adjustments */
@media screen and (max-width: 767px) {
  .modal-content,
  .modal-overlay .modal-content,
  #modalOverlay .modal-content {
    max-height: 95vh !important;
    border-radius: 16px 16px 0 0 !important;
  }

  .modal-header h2 {
    font-size: 16px !important;
  }

  .modal-body {
    max-height: calc(95vh - 130px) !important;
    padding: 12px !important;
  }

  /* .modal-footer {
        padding: 10px 12px 16px 12px !important;
    } */

  .modal-footer button {
    font-size: 14px !important;
    min-height: 42px !important;
  }

  /* Mobile Actions Menu - Dropdown Style */
  .mobile-actions-dropdown,
  .confirmed-actions-dropdown {
    position: absolute !important;
    background: white !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    min-width: 180px !important;
    padding: 4px 0 !important;
    border: 1px solid #e4e7ec !important;
  }

  .confirmed-actions-dropdown {
    min-width: 200px !important;
  }

  .mobile-action-item {
    padding: 10px 14px !important;
    font-size: 14px !important;
    transition: background-color 0.15s ease !important;
  }

  .mobile-action-item:hover {
    background-color: #f9fafb !important;
  }

  /* Confirmed actions dropdown: ensure divider and icon+text hover color */
  .confirmed-actions-dropdown .mobile-action-item {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px 16px !important;
    font-size: 14px !important;
    color: #49454f !important;
    transition: background-color 0.15s ease, color 0.15s ease !important;
  }

  .confirmed-actions-dropdown .mobile-action-item:not(:last-child) {
    border-bottom: 1px solid #f2f4f7 !important;
  }

  .confirmed-actions-dropdown .mobile-action-item img {
    transition: filter 0.15s ease, opacity 0.15s ease !important;
  }

  .confirmed-actions-dropdown .mobile-action-item:hover {
    background-color: #f9fafb !important;
    color: #519e8a !important;
  }

  .confirmed-actions-dropdown .mobile-action-item:hover img {
    filter: invert(56%) sepia(68%) saturate(399%) hue-rotate(106deg)
      brightness(91%) contrast(88%) !important;
  }

  /* Confirmation modals take full width with safe area */
  .confirmation-modal,
  .success-modal {
    padding-bottom: max(24px, env(safe-area-inset-bottom)) !important;
  }

  /* Form Groups in Bottom Sheet */
  .modal-body .form-group {
    margin-bottom: 12px !important;
  }

  .modal-body .form-group label {
    font-size: 13px !important;
    margin-bottom: 4px !important;
  }

  .modal-body .form-group input,
  .modal-body .form-group select,
  .modal-body .form-group textarea {
    /* min-height: 50px !important; */
    font-size: 14px !important;
  }

  /* Toggle Buttons in Bottom Sheet */
  .modal-body .toggle-buttons {
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  .modal-body .toggle-button {
    font-size: 12px !important;
    padding: 6px 12px !important;
    height: 36px !important;
  }

  /* Form Rows in Modal */
  .modal-body .form-row {
    flex-direction: column !important;
    gap: 12px !important;
  }

  .modal-body .form-section {
    width: 100% !important;
  }
}

/* Tablet Specific Bottom Sheet Adjustments */
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .modal-content,
  .modal-overlay .modal-content,
  #modalOverlay .modal-content {
    max-width: 90% !important;
    max-height: 85vh !important;
    border-radius: 20px 20px 0 0 !important;
    margin: 0 auto !important;
  }

  .modal-header h2 {
    font-size: 18px !important;
  }

  .modal-body {
    max-height: calc(85vh - 150px) !important;
    padding: 20px !important;
  }

  .modal-footer {
    padding: 16px 20px !important;
  }

  /* Confirmation modals at tablet size */
  .confirmation-modal,
  .success-modal,
  .view-all-bids-modal,
  .extend-bid-modal,
  .delete-modal,
  .fulfill-modal {
    max-width: 500px !important;
    margin: 0 auto !important;
  }
}

/* Bottom Sheet Overlay Enhancement */
@media screen and (max-width: 1024px) {
  .modal-overlay {
    background: rgba(0, 0, 0, 0.5) !important;
    backdrop-filter: blur(2px) !important;
    -webkit-backdrop-filter: blur(2px) !important;
  }
}

/* Filter Header Actions & Close Button */
.filter-header-actions {
  display: flex;
  align-items: center;
  gap: 16px;
}

.close-filter-sidebar {
  display: none;
  /* Hidden on desktop */
}

/* Filter Sidebar as Bottom Sheet on Mobile & Tablet */
@media screen and (max-width: 1024px) {
  .filter-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 12px 16px !important;
  }

  .filter-header h3 {
    margin: 0 !important;
    font-size: 18px !important;
  }

  .close-filter-sidebar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    cursor: pointer;
    border-radius: 50%;
    background: #f2f4f7;
    margin-left: 8px;
  }

  /* Ensure consistent font sizing across the Filter overlay/modal */
  .filter-overlay .filter-container,
  .filter-overlay .filter-container .filter-body,
  .filter-overlay .filter-container .filter-grid,
  .filter-overlay .filter-container label,
  .filter-overlay .filter-container input,
  .filter-overlay .filter-container .select-trigger span,
  .filter-overlay .filter-container .select-options .option,
  .filter-overlay .filter-container .filter-footer button {
    font-size: 14px !important;
    font-family: var(--font-family) !important;
  }

  /* Keep the modal title larger */
  .filter-overlay .filter-container .filter-header h3 {
    font-size: 18px !important;
  }

  /* Placeholder text should also match */
  .filter-overlay .filter-container input::placeholder {
    font-size: 14px !important;
    color: rgba(60, 64, 68, 0.5) !important;
  }

  /* Small screens slightly reduce label size, keep inputs readable */
  @media screen and (max-width: 767px) {
    .filter-overlay .filter-container label {
      font-size: 13px !important;
    }

    .filter-overlay .filter-container input,
    .filter-overlay .filter-container .select-trigger span,
    .filter-overlay .filter-container .select-options .option,
    .filter-overlay .filter-container .filter-footer button {
      font-size: 14px !important;
    }
  }

  /* Tablet (768px - 1024px) layout: 2 columns x 5 rows */
  @media screen and (min-width: 768px) and (max-width: 1024px) {
    .filter-grid {
      grid-template-columns: repeat(2, 1fr) !important;
      grid-template-rows: repeat(5, auto) !important;
      grid-auto-rows: minmax(44px, auto) !important;
      gap: 16px !important;
    }

    /* Make .span-full use only one column so the grid fills 2x5 */
    .filter-grid .span-full {
      grid-column: auto !important;
    }

    /* Make sure inputs/selects fit and occupy their single grid cell */
    .filter-grid .form-group input,
    .filter-grid .form-group .custom-select,
    .filter-grid .form-group .select-trigger {
      width: 100% !important;
      box-sizing: border-box !important;
    }

    /* Make filter inputs/selects more flexible and allow grid cells to shrink */
    .filter-grid,
    .filter-grid .form-group,
    .filter-grid .form-group * {
      min-width: 0 !important;
    }

    .filter-grid .form-group {
      width: 100% !important;
      display: flex !important;
      flex-direction: column !important;
      box-sizing: border-box !important;
    }

    .filter-grid .form-group .input-wrapper,
    .filter-grid .form-group .custom-select,
    .filter-grid .form-group input,
    .filter-grid .form-group .select-trigger {
      min-width: 0 !important;
      max-width: 100% !important;
      width: 100% !important;
    }

    /* allow select-trigger to grow/shrink inside its wrapper */
    .filter-grid .form-group .select-trigger {
      display: flex !important;
      align-items: center !important;
      gap: 6px !important;
      justify-content: space-between !important;
    }

    /* Make sure date input's right icon does not push width */
    .filter-grid .form-group .date-wrapper input[type="date"] {
      /* padding-right: 40px !important; */
      width: 100% !important;
      box-sizing: border-box !important;
    }
  }

  .close-filter-sidebar:hover {
    background: #eaecf0;
  }

  /* Filter sidebar disabled on mobile/tablet */
  .filter-sidebar.mobile-open {
    display: none !important;
  }

  .filter-sidebar.mobile-open::before {
    content: "" !important;
    display: block !important;
    width: 40px !important;
    height: 4px !important;
    background: #d0d5dd !important;
    border-radius: 4px !important;
    margin: 8px auto 0 auto !important;
  }

  /* Custom Dropdowns as Bottom Sheet on Mobile/Tablet inside Sidebar
       NOTE: Only apply bottom-sheet behavior when the dropdown has `.bottom-sheet`.
       This avoids forcing all filter/modal dropdowns to appear pinned to the bottom. */
  .filter-sidebar .custom-dropdown.bottom-sheet .dropdown-list,
  .modal-body .custom-dropdown.bottom-sheet .dropdown-list {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    top: auto !important;
    width: 100% !important;
    max-height: 50vh !important;
    border-radius: 16px 16px 0 0 !important;
    z-index: 2000 !important;
    /* Higher than sidebar/modal */
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.2) !important;
    animation: bottomSheetSlideUp 0.25s ease-out !important;
    overflow-y: auto !important;
    border: none !important;
  }

  .filter-sidebar .dropdown-item,
  .modal-body .dropdown-item {
    padding: 16px 20px !important;
    font-size: 15px !important;
    border-bottom: 1px solid #f2f4f7 !important;
  }
}

/* ============================================================
   NOTIFICATION PANEL RESPONSIVE STYLES
   ============================================================ */

/* Mobile Notification Panel - Full Screen */
@media screen and (max-width: 767px) {
  .notification-modal {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100vh !important;
    max-height: 100vh !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    z-index: 1100 !important;
    background: #ffffff !important;
    padding: 0 !important;
    margin: 0 !important;
    transform: none !important;
  }

  .notification-modal .modal-body {
    height: 100% !important;
    overflow-y: auto !important;
    padding: 0 !important;
  }

  /* Add header to notification modal on mobile */
  .notification-modal::before {
    content: "Notifications";
    display: block;
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    background: #ffffff;
    padding: 16px 20px;
    font-family: "Inter", sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: #1a1a1a;
    border-bottom: 1px solid #e4e7ec;
    z-index: 10;
  }

  /* Add close button to notification modal on mobile */
  .notification-modal::after {
    content: "×";
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 12px;
    right: 16px;
    width: 32px;
    height: 32px;
    font-size: 28px;
    color: #3c4044;
    cursor: pointer;
    z-index: 11;
    background: transparent;
    border: none;
    line-height: 1;
  }

  .notification-list {
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }

  .notification-list li {
    display: flex !important;
    align-items: flex-start !important;
    padding: 16px 20px !important;
    border-bottom: 1px solid #f2f4f7 !important;
    gap: 12px !important;
  }

  .notification-list li .icon {
    flex-shrink: 0 !important;
    width: 32px !important;
    height: 32px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .notification-list li .icon img {
    width: 24px !important;
    height: 24px !important;
  }

  .notification-list li .notification-content {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
  }

  .notification-list li .notification-content p {
    font-family: "Inter", sans-serif !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: #49454f !important;
    margin: 0 !important;
    word-wrap: break-word !important;
  }

  .notification-list li .notification-content .timestamp {
    font-family: "Inter", sans-serif !important;
    font-size: 12px !important;
    color: #98a2b3 !important;
    margin-top: 4px !important;
  }

  /* Hide notification icon on mobile - show in hamburger menu instead */
  .notification-icon {
    display: none !important;
  }
}

/* Tablet View */
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .notification-modal {
    position: fixed !important;
    top: 60px !important;
    right: 10px !important;
    left: auto !important;
    width: 400px !important;
    max-width: calc(100vw - 20px) !important;
    height: auto !important;
    max-height: calc(100vh - 80px) !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15) !important;
    overflow: hidden !important;
  }

  .notification-modal .modal-body {
    max-height: calc(100vh - 140px) !important;
    overflow-y: auto !important;
  }

  .notification-list li {
    padding: 14px 16px !important;
  }

  .notification-list li .notification-content p {
    font-size: 13px !important;
  }
}

/* ============================================================
   NOTIFICATION PANEL RESPONSIVE STYLES
   ============================================================ */

/* Desktop notification styles */
.notification-modal {
  position: absolute;
  top: calc(100% + 10px);
  right: -20px;
  width: 480px;
  max-width: 90vw;
  height: auto;
  max-height: 600px;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
  z-index: 9999;
  overflow: hidden;
  display: none;
}

.notification-modal[style*="display: flex"],
.notification-modal[style*="display: block"] {
  display: flex !important;
  flex-direction: column;
}

.notification-modal .modal-header {
  flex-shrink: 0;
}

.notification-modal .modal-body {
  flex: 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  max-height: 500px;
  padding: 0;
}

.notification-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.notification-list li {
  display: flex;
  gap: 12px;
  padding: 16px;
  border-bottom: 1px solid #f2f4f7;
  transition: background-color 0.2s ease;
}

.notification-list li:hover {
  background-color: #f9fafb;
}

.notification-list li:last-child {
  border-bottom: none;
}

.notification-list .icon {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 4px;
}

.notification-list .icon img {
  width: 24px;
  height: 24px;
}

.notification-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.notification-content p {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: #344054;
  font-family: "Inter", sans-serif;
}

.notification-content .timestamp {
  font-size: 12px;
  color: #98a2b3;
  font-weight: 400;
}

/* Tablet View (768px - 1024px) */
@media screen and (max-width: 1024px) {
  .notification-modal {
    width: 360px;
    max-height: 450px;
  }

  .notification-list li {
    padding: 14px;
  }

  .notification-content p {
    font-size: 13px;
  }
}

/* Mobile View (max-width: 767px) */
@media screen and (max-width: 767px) {
  /* Full-screen notification panel on mobile */
  .notification-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: 100%;
    max-height: 100vh;
    border-radius: 0;
    z-index: 1100;
  }

  /* Add header to notification modal on mobile */
  .notification-modal::before {
    content: "Notifications";
    display: block;
    padding: 16px 20px;
    font-size: 18px;
    font-weight: 600;
    color: #1a1a1a;
    border-bottom: 1px solid #e4e7ec;
    background: #ffffff;
    font-family: "Inter", sans-serif;
  }

  /* Add close button to notification modal on mobile */
  .notification-modal::after {
    content: "×";
    position: absolute;
    top: 12px;
    right: 16px;
    font-size: 32px;
    font-weight: 400;
    color: #757d85;
    cursor: pointer;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    z-index: 10;
  }

  .notification-modal .modal-body {
    max-height: calc(100vh - 60px);
    padding-top: 0;
  }

  .notification-list {
    padding: 0;
  }

  .notification-list li {
    padding: 16px 20px;
    border-bottom: 1px solid #f2f4f7;
  }

  .notification-list .icon {
    width: 28px;
    height: 28px;
  }

  .notification-list .icon img {
    width: 20px;
    height: 20px;
  }

  .notification-content p {
    font-size: 14px;
    line-height: 1.6;
  }

  .notification-content .timestamp {
    font-size: 12px;
    margin-top: 4px;
  }

  /* Overlay for mobile notification */
  .notification-icon.active::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1099;
  }
}

/* Extra Small Mobile (max-width: 375px) */
@media screen and (max-width: 375px) {
  .notification-modal::before {
    padding: 14px 16px;
    font-size: 16px;
  }

  .notification-modal::after {
    top: 10px;
    right: 12px;
    font-size: 28px;
  }

  .notification-list li {
    padding: 14px 16px;
    gap: 10px;
  }

  .notification-list .icon {
    width: 24px;
    height: 24px;
  }

  .notification-list .icon img {
    width: 18px;
    height: 18px;
  }

  .notification-content p {
    font-size: 13px;
  }

  .notification-content .timestamp {
    font-size: 11px;
  }
}

/* -----------------------------
     Modal & Form Responsive Improvements
     - Ensure form rows stack on small screens
     - Make multiple-stops columns collapse to single column on mobile
     - Align weight inputs and labels for various breakpoints
------------------------------ */

@media (max-width: 1024px) {
  /* Make modal content slightly narrower and allow form rows to wrap */
  .modal-content,
  .modal-overlay .modal-content,
  #modalOverlay .modal-content {
    max-width: 100% !important;
  }

  .modal-body .form-row {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
  }

  .modal-body .form-group {
    flex: 1 1 48% !important;
    min-width: 220px !important;
  }

  /* Multiple stops become two stacked columns that can wrap */
  .multiple-stops-columns {
    display: flex !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
  }

  .stops-column {
    flex: 1 1 48% !important;
    min-width: 260px !important;
  }

  .stop-row {
    display: flex !important;
    gap: 8px !important;
    align-items: center !important;
    box-sizing: border-box !important;
  }

  .stop-weight-group {
    flex: 0 0 96px !important;
    max-width: 96px !important;
  }

  .stop-input-group {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
}

@media (max-width: 600px) {
  /* Mobile: stack everything vertically for easy tapping */
  .modal-content,
  .modal-overlay .modal-content,
  #modalOverlay .modal-content {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 0 !important;
    margin: 0 !important;
  }

  .modal-body .form-row {
    flex-direction: column !important;
    gap: 12px !important;
  }

  .modal-body .form-group {
    flex: 1 1 100% !important;
    min-width: 0 !important;
  }

  /* Multiple stops: each stop-row stacks input above weight */
  .multiple-stops-columns {
    display: block !important;
  }

  .stops-column {
    width: 100% !important;
    margin-bottom: 12px !important;
  }

  .stop-row {
    display: flex !important;
    flex-direction: row !important;
    gap: 8px !important;
    align-items: center !important;
  }

  .stop-input-group input,
  .stop-weight-group input {
    width: 100% !important;
    height: 42px !important;
    box-sizing: border-box !important;
  }

  .stop-weight-group {
    flex: 0 0 96px !important;
    max-width: 96px !important;
    width: auto !important;
  }

  /* Ensure the row reserves space for delete button on mobile */
  .stop-row {
    position: relative !important;
    padding-right: 48px !important;
    /* reserve room for delete icon */
  }

  .stop-weight-group .delete-row-btn {
    width: 36px !important;
    height: 36px !important;
    position: absolute !important;
    right: 6px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    transform-origin: center !important;
    padding: 0 !important;
  }

  /* Make truck / payment / required trucks fields full width */
  .truck-row .form-group,
  .multiple-stops-truck-row .form-group,
  .one-stop-fields .form-group {
    flex: 1 1 100% !important;
  }

  .dropdown-header,
  .modal-body .form-group input,
  .modal-body .form-group select {
    width: 100% !important;
  }

  /* Increase tappable area for add/delete buttons */
  .add-more-address-button,
  .delete-row-btn {
    padding: 10px 12px !important;
    /* keep add-more address bigger; delete button will be overridden by its own rule */
  }
}

/* -----------------------------
     Mobile & Tablet Improvements
     - Stack filter columns into single column on small screens
     - Make inputs and dropdowns full-width and easier to tap
     - Improve spacing and touch targets for tablet/mobile
------------------------------ */

@media (max-width: 1024px) {
  /* Make the filter form grid stack on tablet */
  .filter-form-grid {
    display: block !important;
    gap: 0 !important;
    padding: 12px 16px !important;
  }

  .filter-column-left,
  .filter-column-right {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 0 12px 0 !important;
  }

  .filter-form-group,
  .filter-group {
    width: 100% !important;
    margin-bottom: 14px !important;
  }

  .filter-row {
    display: flex;
    flex-direction: row;
    gap: 12px;
    flex-wrap: wrap;
  }

  .filter-row .filter-group {
    flex: 1 1 48% !important;
    /* two columns where space allows */
    min-width: 200px;
  }

  /* Full width for single-column stacked groups */
  .filter-form-group.full-width,
  .filter-row .filter-group.full-width {
    flex-basis: 100% !important;
  }

  /* Make dropdown header and inputs more touch-friendly */
  .dropdown-header,
  .filter-group input,
  .filter-group textarea,
  .filter-group .date-range-input-wrapper input[type="text"],
  .filter-group input[type="date"] {
    width: 100% !important;
    padding: 12px 14px !important;
    font-size: 15px !important;
    border-radius: 10px !important;
  }

  .custom-dropdown .dropdown-list {
    left: 0 !important;
    right: 0 !important;
    width: auto !important;
    box-sizing: border-box !important;
    max-height: 260px !important;
    overflow: auto !important;
  }

  .apply-filter-button,
  .filter-apply-btn,
  .filter-clear-btn {
    width: 100% !important;
    box-sizing: border-box;
  }
}

@media (max-width: 600px) {
  /* Mobile specific adjustments */
  .filter-row .filter-group {
    flex: 1 1 100% !important;
    /* always single column on small screens */
  }

  .filter-header {
    padding: 14px 16px !important;
  }

  .filter-header h3 {
    font-size: 20px !important;
    margin: 0 0 8px 0 !important;
  }

  .dropdown-header {
    padding: 14px 16px !important;
    font-size: 16px !important;
  }

  /* Increase tappable area for dropdown items */
  .dropdown-item {
    padding: 12px 16px !important;
    font-size: 15px !important;
  }

  /* Sidebar should occupy full width on mobile */
  .filter-sidebar {
    width: 100% !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    overflow: auto !important;
    border-radius: 0 !important;
    padding-bottom: 28px !important;
  }

  /* Make action buttons larger and full width */
  .filter-actions,
  .filter-actions .filter-apply-btn,
  .filter-actions .filter-clear-btn {
    display: block !important;
    width: 100% !important;
  }

  /* Improve spacing inside modals and filter modal */
  .filter-modal-content,
  .modal-body {
    padding: 16px !important;
  }
}

/* Accessibility / visual tweaks for smaller tablets (in-between) */
@media (min-width: 601px) and (max-width: 900px) {
  .filter-row .filter-group {
    flex: 1 1 48% !important;
  }

  .dropdown-item {
    padding: 10px 14px !important;
  }
}

/* ============================================================
   NOTIFICATION PANEL RESPONSIVE STYLES
   ============================================================ */

/* Mobile Notification Panel - Full Screen Drawer */
@media screen and (max-width: 1024px) {
  /* Show notification icon on tablet and mobile */
  .notification-icon {
    display: flex !important;
    order: 1 !important;
  }

  /* Transform notification modal into full-screen drawer */
  .notification-modal {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100vh !important;
    background: #ffffff !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    z-index: 1100 !important;
    transform: translateX(100%);
    transition: transform 0.3s ease-in-out;
    overflow-y: auto;
  }

  .notification-modal[style*="display: block"],
  .notification-modal.show {
    transform: translateX(0) !important;
  }

  /* Notification modal header */
  .notification-modal::before {
    content: "Notifications";
    display: block;
    padding: 16px 20px;
    font-family: "Inter", sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: #1a1a1a;
    border-bottom: 1px solid #e4e7ec;
    position: sticky;
    top: 0;
    background: #ffffff;
    z-index: 10;
  }

  /* Close button for mobile notification panel */
  .notification-modal::after {
    content: "×";
    position: fixed;
    top: 12px;
    right: 16px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    color: #667085;
    cursor: pointer;
    z-index: 11;
    background: transparent;
    border: none;
  }

  /* Notification modal body */
  .notification-modal .modal-body {
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Notification list */
  .notification-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .notification-list li {
    display: flex;
    gap: 12px;
    padding: 16px 20px;
    border-bottom: 1px solid #f2f4f7;
    align-items: flex-start;
  }

  .notification-list li:last-child {
    border-bottom: none;
  }

  /* Notification icon */
  .notification-list li .icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .notification-list li .icon img {
    width: 24px;
    height: 24px;
  }

  /* Notification content */
  .notification-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
  }

  .notification-content p {
    margin: 0;
    font-family: "Inter", sans-serif;
    font-size: 14px;
    line-height: 1.5;
    color: #344054;
  }

  .notification-content .timestamp {
    font-size: 12px;
    color: #98a2b3;
    margin-top: 4px;
  }

  /* Notification count badge */
  .notification-count {
    position: absolute;
    top: -4px;
    right: -4px;
    background: #ff4444;
    color: white;
    font-size: 10px;
    font-weight: 600;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid white;
  }
}

/* Notification bell icon size */
img.bell-icon {
  width: 22px;
  height: 22px;
  display: inline-block;
}

/* Mobile specific (max-width: 767px) */
@media screen and (max-width: 767px) {
  .notification-modal::before {
    font-size: 16px;
    padding: 14px 16px;
  }

  .notification-list li {
    padding: 14px 16px;
  }

  .notification-content p {
    font-size: 13px;
  }

  .notification-content .timestamp {
    font-size: 11px;
  }
}

/* Override multiple-stops grid templates for tablet and mobile */
@media (max-width: 1024px) {
  .multiple-stops-form-row {
    grid-template-columns: repeat(2, 1fr) !important;
    /* 2 columns on tablet */
  }

  .multiple-stops-form-row .form-group {
    width: 100% !important;
  }

  .multiple-stops-truck-row {
    grid-template-columns: 1fr 1fr 1fr !important;
    /* balance columns on tablet */
  }
}

@media (max-width: 600px) {
  .multiple-stops-form-row {
    grid-template-columns: 1fr !important;
    /* single column on mobile */
    gap: 10px !important;
  }

  .multiple-stops-truck-row {
    grid-template-columns: 1fr !important;
    /* stack truck/payment fields */
    gap: 10px !important;
  }

  .multiple-stops-form-row .form-group,
  .multiple-stops-truck-row .form-group {
    width: 100% !important;
  }
}

/* Mobile/tablet forms: 2x2 schedule group and 2x3 toggles within modal */
@media (max-width: 900px) {
  /* Make 3-column rows usable in a 2-column mobile grid */
  #createLoadModalOverlay .form-row.three-col {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 12px 12px;
  }

  /* Ensure the third group (Bidding Time) spans full width and its internal selects become 2 columns */
  #createLoadModalOverlay .form-row.three-col .form-group:nth-child(3) {
    grid-column: 1 / 3;
  }

  #createLoadModalOverlay .form-row.three-col .time-select-group {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  #createLoadModalOverlay
    .form-row.three-col
    .time-select-group
    .custom-select.small {
    width: 100%;
  }

  /* Toggle areas: stack the two sections vertically, and keep toggle buttons in one horizontal row per section */
  #createLoadModalOverlay .form-row.two-col-layout {
    display: flex !important;
    flex-direction: column;
    gap: 12px;
  }

  /* Make each form section take full width and place label above toggles */
  #createLoadModalOverlay .form-section {
    display: block;
    width: 100%;
  }

  #createLoadModalOverlay .form-section .toggle-buttons {
    display: flex;
    gap: 8px;
    flex-wrap: wrap !important;
    align-items: center;
    height: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  #createLoadModalOverlay .toggle-buttons .toggle-btn {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  /* Ensure checkbox shows on its own line under Load Post For */
  #createLoadModalOverlay #loadPostForToggle .checkbox-row {
    display: block;
    margin-top: 8px;
  }

  /* Keep checkbox aligned inline with toggles - remove extra top padding for single-line layout */
  #createLoadModalOverlay .checkbox-row {
    padding-top: 0 !important;
  }

  /* Move delete button a little to the right so it does not sit against the weight input */
  .stop-delete-wrapper .delete-row-btn {
    margin-left: 12px !important;
  }
}

/* Create Load Request modal footer: mobile-specific 1x2 layout */
@media (max-width: 480px) {
  #createLoadModalOverlay .modal-footer {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    padding: 12px 16px;
  }

  #createLoadModalOverlay .modal-footer .btn-cancel,
  #createLoadModalOverlay .modal-footer .btn-create {
    width: 100%;
    min-height: 44px;
    padding: 10px 16px;
    box-sizing: border-box;
  }

  /* Make sure cancel is visually subdued and Create is emphasized on mobile */
  #createLoadModalOverlay .modal-footer .btn-cancel {
    background: transparent;
    color: var(--cancel-text, rgba(255, 16, 0, 0.6));
    border: 1px solid rgba(60, 64, 68, 0.08);
  }

  #createLoadModalOverlay .modal-footer .btn-create {
    background: var(--primary, #519e8a);
    color: #ffffff;
    border: none;
    box-shadow: none;
  }
}

/* Create Load Request modal footer: ensure 1x2 layout on tablet and desktop as well */
@media (min-width: 481px) and (max-width: 1024px) {
  #createLoadModalOverlay .modal-footer.create-footer {
    display: flex !important;
    flex-direction: row !important;
    gap: 12px !important;
    justify-content: space-between !important;
  }

  #createLoadModalOverlay .modal-footer.create-footer .btn-cancel,
  #createLoadModalOverlay .modal-footer.create-footer .btn-create {
    width: 48% !important;
    min-height: 44px !important;
  }
}

/* Desktop: default row layout already applies; ensure create-footer maintains widths */
@media (min-width: 1025px) {
  #createLoadModalOverlay .modal-footer.create-footer {
    display: flex !important;
    flex-direction: row !important;
    gap: 12px !important;
    justify-content: flex-end !important;
  }

  /* Desktop: show Cancel first, then Create */
  #createLoadModalOverlay .modal-footer.create-footer .btn-cancel {
    order: 1;
    /* Cancel first */
    margin-right: 8px !important;
    /* spacing before Create */
  }

  #createLoadModalOverlay .modal-footer.create-footer .btn-create {
    order: 2;
    /* Create second */
    margin-left: 0 !important;
  }
}

/* Mobile: break post-meta into multiple lines */
@media screen and (max-width: 767px) {
  .post-meta .meta-left,
  .post-meta .meta-right {
    display: block !important;
    width: 100% !important;
  }

  .post-meta .meta-right {
    margin-top: 6px !important;
  }

  .post-meta .meta-sep {
    display: none !important;
  }
}

/* Ensure filter icon in the tabs/search area stays visible and not absolutely positioned */
.tabs-and-search-container .filter-icon.mobile-kebab-menu {
  position: static !important;
  top: auto !important;
  right: auto !important;
  margin-left: 0 !important;
  display: flex !important;
  z-index: 30 !important;
}

/* Make filter icon visible on tablet widths as well */
@media screen and (min-width: 576px) and (max-width: 1024px) {
  .tabs-and-search-container .filter-icon {
    display: flex !important;
  }
}

/* Small screens: ensure filter icon has proper sizing */
@media screen and (max-width: 480px) {
  .tabs-and-search-container .filter-icon {
    width: 40px !important;
    height: 40px !important;
    padding: 6px !important;
  }

  .tabs-and-search-container .filter-icon img {
    width: 20px !important;
    height: 20px !important;
  }
}

/* Tablet / Desktop: keep tabs and search on one row (no wrapping) */
@media screen and (min-width: 768px) {
  .tabs-and-search-container {
    flex-wrap: nowrap !important;
    align-items: center !important;
  }

  .tabs-and-search-container .search-and-actions {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
  }

  /* Make search bar flexible: grows and shrinks with available space */
  .tabs-and-search-container .search-bar {
    display: flex !important;
    flex: 1 1 320px !important;
    /* grow, shrink, base */
    min-width: 180px !important;
    max-width: 640px !important;
  }

  /* Tabs should take only needed space */
  .tabs-and-search-container .tabs {
    flex: 0 1 auto !important;
    margin-right: 12px !important;
  }

  /* Keep search/actions grouped */
  .tabs-and-search-container .search-and-actions {
    flex: 0 1 auto !important;
  }
}

/* Confirmation text: allow wrapping instead of truncation */
.confirmation-text {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  word-break: break-word !important;
  hyphens: auto !important;
}

/* Ensure small-modal confirmation text also wraps and has readable sizing */
.small-modal .confirmation-text {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  word-break: break-word !important;
  hyphens: auto !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
}

/* Add left and right dividers to the details panel across all viewports */
.details-section {
  border-left: 1px solid var(--border, #e4e7ec) !important;
  border-right: 1px solid var(--border, #e4e7ec) !important;
  box-sizing: border-box !important;
}

/* Post header: white background with top rounded corners */
.post-header {
  background: #ffffff !important;
  border-top-left-radius: 12px !important;
  border-top-right-radius: 12px !important;
  border-bottom: none !important;
  box-shadow: 0 1px 3px rgba(16, 24, 40, 0.06) !important;
  position: relative !important;
}

/* Remove white background on desktop view (override) */
@media screen and (min-width: 1024px) {
  .post-header {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
  }
}

/* Make inner .post-meta transparent to avoid double borders */
.post-meta {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

/* Left-align modal titles (override center alignment) */
.modal-header h2 {
  text-align: left !important;
  flex: 0 0 auto !important;
  margin-right: 16px !important;
}

/* Fulfill modal: ensure details use black text for labels and values */
.fulfill-details-grid,
.fulfill-details-grid .fulfill-detail-item,
.fulfill-details-grid .fulfill-label,
.fulfill-details-grid .fulfill-value {
  color: #000000 !important;
}

/* Force black text for bid details (bid card list / modal) */
.bid-card-details,
.bid-card-details * {
  color: #000000 !important;
}

.bid-card-details .bid-label {
  color: rgba(0, 0, 0, 0.9) !important;
  font-weight: 500 !important;
}

/* Hide the decorative ::before on the extend-bid small modal (desktop + mobile) */
.modal-content.small-modal.extended-modal.extend-bid-modal::before {
  display: none !important;
  content: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

.bid-card-details .bid-value {
  color: #000000 !important;
  font-weight: 600 !important;
}

/* Extend-bid modal: make controls and footer full width */
.modal-content.extend-bid-modal {
  text-align: left !important;
}

.extend-bid-modal .modal-body {
  width: 100% !important;
}

.extend-bid-modal .time-selects {
  display: flex !important;
  gap: 16px !important;
  width: 100% !important;
  align-items: center !important;
}

.extend-bid-modal .time-selects .custom-dropdown {
  flex: 1 1 0 !important;
  min-width: 0 !important;
}

.extend-bid-modal .time-selects .dropdown-header {
  width: 100% !important;
  box-sizing: border-box !important;
}

.extend-bid-modal .modal-footer.extend-bid-footer {
  display: flex !important;
  gap: 16px !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  padding: 12px 0 0 0 !important;
  box-sizing: border-box !important;
}

.extend-bid-modal .modal-footer.extend-bid-footer .cancel-button,
.extend-bid-modal .modal-footer.extend-bid-footer .create-button {
  flex: 1 1 0 !important;
  min-width: 0 !important;
}

.extend-bid-modal .modal-footer.extend-bid-footer .create-button {
  max-width: none !important;
  padding: 12px 16px !important;
  border-radius: 28px !important;
}

/* On very small screens keep spacing comfortable */
@media screen and (max-width: 400px) {
  .extend-bid-modal .time-selects {
    flex-direction: column !important;
  }

  .extend-bid-modal .modal-footer.extend-bid-footer {
    flex-direction: column-reverse !important;
    gap: 10px !important;
  }

  .extend-bid-modal .modal-footer.extend-bid-footer .cancel-button,
  .extend-bid-modal .modal-footer.extend-bid-footer .create-button {
    width: 100% !important;
  }
}

/* 2x2 layout: label (full width) then two selects side-by-side, then two footer buttons side-by-side */
.extend-bid-modal .form-group {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  grid-template-rows: auto auto !important;
  gap: 12px 16px !important;
  align-items: start !important;
}

.extend-bid-modal .form-group > label {
  grid-column: 1 / -1 !important;
  margin-bottom: 4px !important;
}

.extend-bid-modal .form-group .time-selects {
  display: grid !important;
  grid-column: 1 / -1 !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
  width: 100% !important;
}

.extend-bid-modal .form-group .time-selects .custom-dropdown {
  width: 100% !important;
}

/* Footer as 2 columns */
.extend-bid-modal .modal-footer.extend-bid-footer {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
  align-items: center !important;
}

.extend-bid-modal .modal-footer.extend-bid-footer .cancel-button,
.extend-bid-modal .modal-footer.extend-bid-footer .create-button {
  width: 100% !important;
  justify-self: stretch !important;
}

/* Keep stacking on very narrow screens */
@media screen and (max-width: 360px) {
  .extend-bid-modal .form-group {
    grid-template-columns: 1fr !important;
  }

  .extend-bid-modal .form-group .time-selects {
    grid-template-columns: 1fr !important;
  }

  .extend-bid-modal .modal-footer.extend-bid-footer {
    grid-template-columns: 1fr !important;
  }
}

/* Dropdown rendering fixes for extend-bid modal */
.extend-bid-modal {
  overflow: visible !important;
  /* allow dropdowns to escape modal box */
}

.extend-bid-modal .modal-body {
  overflow: visible !important;
}

.extend-bid-modal .custom-dropdown {
  position: relative !important;
  z-index: 1 !important;
}

.extend-bid-modal .custom-dropdown .dropdown-list {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: calc(100% + 8px) !important;
  bottom: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-height: 260px !important;
  overflow-y: auto !important;
  background: #ffffff !important;
  border: 1px solid var(--border, #e4e7ec) !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 20px rgba(16, 24, 40, 0.08) !important;
  display: none !important;
  z-index: 2200 !important;
  /* place above modal chrome */
}

.extend-bid-modal .custom-dropdown .dropdown-list.open {
  display: block !important;
}

.extend-bid-modal .custom-dropdown .dropdown-list.open-up {
  top: auto !important;
  bottom: calc(100% + 8px) !important;
  display: block !important;
}

.extend-bid-modal .custom-dropdown .dropdown-item {
  padding: 8px 12px !important;
  white-space: nowrap !important;
}

/* Ensure dropdown-arrow sits above list control (if rotated) */
.extend-bid-modal .dropdown-header {
  position: relative !important;
  z-index: 2300 !important;
}

/* Mobile: equalize height of search, excel and filter controls */
@media screen and (max-width: 767px) {
  .tabs-and-search-container .search-and-actions {
    display: flex !important;
    gap: 8px !important;
    align-items: center !important;
  }

  .tabs-and-search-container .search-bar,
  .tabs-and-search-container .excel-icon,
  .tabs-and-search-container .filter-icon {
    display: flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
    padding: 0 8px !important;
  }

  .tabs-and-search-container .search-bar input {
    height: 32px !important;
    line-height: 32px !important;
    padding: 6px 10px !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }

  .tabs-and-search-container .excel-icon,
  .tabs-and-search-container .filter-icon {
    justify-content: center !important;
  }

  .tabs-and-search-container .excel-icon img,
  .tabs-and-search-container .filter-icon img {
    height: 28px !important;
    width: auto !important;
    display: block !important;
  }

  /* Ensure tabs remain above and search/actions align nicely */
  .tabs-and-search-container .tabs {
    width: 100% !important;
  }
}

/* Make action button icons match text color on hover/focus */
.card-actions-overflow .action-button img {
  transition: filter 0.15s ease, opacity 0.15s ease;
}

.card-actions-overflow .action-button:hover,
.card-actions-overflow .action-button:focus {
  color: #519e8a !important;
}

.card-actions-overflow .action-button:hover img,
.card-actions-overflow .action-button:focus img {
  filter: invert(56%) sepia(68%) saturate(399%) hue-rotate(106deg)
    brightness(91%) contrast(88%) !important;
}

/* Also handle inline SVGs and font icons */
.card-actions-overflow .action-button:hover svg path,
.card-actions-overflow .action-button:focus svg path,
.card-actions-overflow .action-button:hover i,
.card-actions-overflow .action-button:focus i {
  color: #519e8a !important;
  fill: #519e8a !important;
  stroke: #519e8a !important;
}

/* Desktop: make the confirmed actions bar auto-size to its grid area
   and follow the widths of the confirmed details / info columns */
@media screen and (min-width: 1024px) {
  .card-actions-overflow-confirmed {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    gap: 8px !important;
    justify-self: end !important;
    /* keep the actions pinned to the right column */
    align-self: start !important;
  }

  /* Slightly increase middle/right column min widths so action bar adapts
       when those columns grow/shrink */
  .load-post-card.confirmed-card .card-body {
    grid-template-columns: minmax(220px, 1fr) minmax(260px, 1fr) 455px !important;
  }

  /* For non-confirmed cards, use a fixed third-column width similar to laptop
       so bidding sections and action cards align to the right consistently. */
  .load-post-card .card-body {
    grid-template-columns: minmax(220px, 1fr) minmax(260px, 1fr) 455px !important;
  }
}

/* Confirmed actions: show divider between menu items and apply hover to icon + text */

/* Inline confirmed actions - compact layout with vertical dividers */
.card-actions-overflow-confirmed {
  gap: 0 !important;
}

.card-actions-overflow-confirmed .confirmed-action-btn {
  transition: color 0.15s ease, background 0.15s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px !important;
  background: transparent;
  border: none;
}

.card-actions-overflow-confirmed .confirmed-action-btn .icon img {
  transition: filter 0.15s ease, opacity 0.15s ease;
}

/* Use a left border on buttons that follow another button to act as a vertical divider */
.card-actions-overflow-confirmed .confirmed-action-btn + .confirmed-action-btn {
  border-left: 1px solid var(--border-light, #f0f2f5) !important;
  padding-left: 16px !important;
  /* space after divider */
}

.card-actions-overflow-confirmed .confirmed-action-btn:hover,
.card-actions-overflow-confirmed .confirmed-action-btn:focus {
  color: #519e8a !important;
}

.card-actions-overflow-confirmed .confirmed-action-btn:hover .icon img,
.card-actions-overflow-confirmed .confirmed-action-btn:focus .icon img {
  filter: invert(56%) sepia(68%) saturate(399%) hue-rotate(106deg)
    brightness(91%) contrast(88%) !important;
}

/* Reduce desktop header height slightly and adjust offsets */
@media screen and (min-width: 1024px) {
  header {
    height: 72px !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }

/*  main {
    margin-top: 72px !important;
  }*/

  /* Align dropdown/overlay top positions with new header height */
  .notification-modal,
  .profile-dropdown,
  .more-dropdown,
  .mobile-nav-drawer {
    top: 72px !important;
  }
}

/* Action cards layout: two separate rows (top & bottom) with 3 columns on tablet/desktop */
.action-cards-grid {
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: center;
  width: 100%;
}

.action-cards-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  width: 100%;
  justify-items: center;
  box-sizing: border-box;
  justify-content: center;
}

.action-cards-row .action-card {
  width: 100%;
  max-width: 320px;
}

/* Tablet and desktop: 3 columns per row */
@media (min-width: 768px) {
  .action-cards-row {
    grid-template-columns: repeat(3, 1fr);
    max-width: 700px;
    /* match surrounding container */
    gap: 30px;
  }

  .action-cards-row .action-card {
    max-width: none;
    width: auto;
  }
}

@media (min-width: 1025px) {
  .action-cards-row {
    grid-template-columns: repeat(3, 1fr);
    max-width: 800px;
    gap: 20px;
  }
}

/* Mobile: use two vertical columns — left column = top row items, right column = bottom row items */
@media (max-width: 767px) {
  .action-cards-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    width: 100%;
    align-items: start;
  }

  .action-cards-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100%;
    box-sizing: border-box;
  }

  .action-cards-row .action-card {
    width: 100%;
    max-width: none;
  }

  /* Make sure cards remain visually consistent (pills) */
  .action-card {
    justify-content: flex-start;
  }
}

/* Fix desktop bottom cutoff: allow vertical scrolling and add bottom padding */
@media screen and (min-width: 1025px) {
  html,
  body {
    height: auto !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  /* Ensure main content can grow and won't be clipped */
  main,
  .main-content,
  .empty-state-main {
    min-height: calc(100vh - var(--header-height-desktop, 80px)) !important;
    height: auto !important;
    overflow: visible !important;
    /*padding-bottom: 96px !important;*/
    /* room for any fixed footer or controls */
  }

  /* Ensure the what-else section has adequate bottom spacing */
  .what-else-can-do {
    margin-bottom: 48px !important;
  }
}

/* ============================================================
   CONFIRMED POSTS - COMPACT VIEW OVERRIDES
   Ensuring compact styles override any conflicting responsive rules
   ============================================================ */

/* Override height: 292px with auto for confirmed sections */
.confirmed-details-section,
.confirmed-info-section {
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
}

/* Override fixed height: 284px for location section in confirmed posts */
.card-body-confirmed .location-section {
  height: auto !important;
  min-height: auto !important;
}

/* Ensure compact padding for all confirmed post sections */
.card-body-confirmed .confirmed-details-section,
.card-body-confirmed .confirmed-info-section {
  padding: 10px 12px !important;
  gap: 8px !important;
}

/* Ensure tablet view uses grid layout */
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .card-body-confirmed {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
  }

  .card-body-confirmed .location-section,
  .card-body-confirmed .confirmed-details-section,
  .card-body-confirmed .confirmed-info-section {
    height: auto !important;
    padding: 10px 12px !important;
  }
}

/* Ensure mobile view stacks vertically */
@media screen and (max-width: 767px) {
  .card-body-confirmed {
    display: flex !important;
    flex-direction: column !important;
  }

  .card-body-confirmed .location-section {
    height: auto !important;
    padding: 10px 12px !important;
    border-bottom: 1px solid #e4e7ec !important;
  }

  .card-body-confirmed .confirmed-details-section,
  .card-body-confirmed .confirmed-info-section {
    height: auto !important;
    padding: 10px 12px !important;
    border-bottom: 1px solid #e4e7ec !important;
  }
}

/* ============================================================
   CONFIRMED POST MODALS - BOTTOM SHEET RESPONSIVE STYLES
   Applies to: Create Freight Memo, Upload Invoice, Vehicle Details,
              View Documents, View POD
   ============================================================ */

/* Tablet View (768px - 1024px) */
@media screen and (max-width: 1024px) {
  /* Common bottom sheet overlay styles */
  .modal-overlay-freight-memo,
  .modal-overlay-upload-invoice,
  .modal-overlay-vehicle-details,
  .modal-overlay-view-documents,
  .modal-overlay-view-pod {
    align-items: flex-end !important;
  }

  /* Common bottom sheet content styles */
  .freight-memo-modal-content,
  .upload-invoice-modal-content,
  .vehicle-details-modal-content,
  .view-documents-modal-content,
  .view-pod-modal-content {
    width: 100% !important;
    max-width: 100% !important;
    max-height: 90vh !important;
    border-radius: 20px 20px 0 0 !important;
    padding: 20px !important;
    animation: slideUpBottomSheet 0.3s ease-out !important;
  }

  /* Bottom sheet slide-up animation */
  @keyframes slideUpBottomSheet {
    from {
      transform: translateY(100%);
      opacity: 0;
    }

    to {
      transform: translateY(0);
      opacity: 1;
    }
  }

  /* Modal header styles */
  .freight-memo-modal-header,
  .upload-invoice-modal-header,
  .vehicle-details-modal-header,
  .view-documents-modal-header,
  .view-pod-modal-header {
    padding-bottom: 16px !important;
  }

  .freight-memo-modal-header h2,
  .upload-invoice-modal-header h2,
  .vehicle-details-modal-header h2,
  .view-documents-modal-header h2,
  .view-pod-modal-header h2 {
    font-size: 18px !important;
  }

  /* Modal body - scrollable */
  .freight-memo-modal-body,
  .upload-invoice-modal-body,
  .vehicle-details-modal-body,
  .view-documents-modal-body,
  .view-pod-modal-body {
    overflow-y: auto !important;
    max-height: calc(90vh - 180px) !important;
    padding: 16px 0 !important;
  }

  /* Upload sections - responsive grid */
  .upload-sections {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }

  /* Documents sections - responsive grid */
  .documents-sections {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }

  /* Footer - 2 columns on tablet */
  .freight-memo-modal-footer,
  .upload-invoice-modal-footer {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    padding-top: 16px !important;
    border-top: 1px solid #e4e7ec !important;
    margin-top: 16px !important;
  }

  .freight-memo-modal-footer .cancel-btn,
  .freight-memo-modal-footer .create-btn,
  .upload-invoice-modal-footer .cancel-upload-btn,
  .upload-invoice-modal-footer .save-invoice-btn {
    width: 100% !important;
    justify-content: center !important;
    padding: 14px 20px !important;
    font-size: 14px !important;
  }
}

/* Mobile View (max-width: 767px) */
@media screen and (max-width: 767px) {
  /* Bottom sheet overlay */
  .modal-overlay-freight-memo,
  .modal-overlay-upload-invoice,
  .modal-overlay-vehicle-details,
  .modal-overlay-view-documents,
  .modal-overlay-view-pod {
    align-items: flex-end !important;
  }

  /* Bottom sheet content */
  .freight-memo-modal-content,
  .upload-invoice-modal-content,
  .vehicle-details-modal-content,
  .view-documents-modal-content,
  .view-pod-modal-content {
    width: 100% !important;
    max-width: 100% !important;
    max-height: 85vh !important;
    border-radius: 20px 20px 0 0 !important;
    padding: 16px !important;
    animation: slideUpBottomSheet 0.3s ease-out !important;
  }

  /* Drag handle indicator for bottom sheet */
  .freight-memo-modal-content::before,
  .upload-invoice-modal-content::before,
  .vehicle-details-modal-content::before,
  .view-documents-modal-content::before,
  .view-pod-modal-content::before {
    content: "" !important;
    display: block !important;
    width: 40px !important;
    height: 4px !important;
    background: #d1d5db !important;
    border-radius: 2px !important;
    margin: 0 auto 12px !important;
  }

  /* Modal headers */
  .freight-memo-modal-header h2,
  .upload-invoice-modal-header h2,
  .vehicle-details-modal-header h2,
  .view-documents-modal-header h2,
  .view-pod-modal-header h2 {
    font-size: 16px !important;
  }

  /* Modal body - scrollable with reduced max height */
  .freight-memo-modal-body,
  .upload-invoice-modal-body,
  .vehicle-details-modal-body,
  .view-documents-modal-body,
  .view-pod-modal-body {
    overflow-y: auto !important;
    max-height: calc(85vh - 160px) !important;
    padding: 12px 0 !important;
  }

  /* Upload sections - single column on mobile */
  .upload-sections {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .upload-area {
    height: 200px !important;
  }

  .upload-section h3 {
    font-size: 14px !important;
  }

  /* Documents sections - single column on mobile */
  .documents-sections {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  /* Vehicle details grid - single column */
  .vehicle-details-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .vehicle-detail-item {
    flex-direction: row !important;
    justify-content: space-between !important;
  }

  .vehicle-detail-label {
    font-size: 13px !important;
    min-width: unset !important;
  }

  .vehicle-detail-value {
    font-size: 13px !important;
    text-align: right !important;
  }

  /* Freight Memo form fields - full width */
  .memo-form-section .form-group {
    margin-bottom: 14px !important;
  }

  .memo-form-section input,
  .memo-form-section textarea {
    font-size: 14px !important;
  }

  /* Footer - 2 columns on mobile (one row) */
  .freight-memo-modal-footer,
  .upload-invoice-modal-footer {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    padding-top: 14px !important;
    border-top: 1px solid #e4e7ec !important;
    margin-top: 12px !important;
  }

  .freight-memo-modal-footer .cancel-btn,
  .freight-memo-modal-footer .create-btn,
  .upload-invoice-modal-footer .cancel-upload-btn,
  .upload-invoice-modal-footer .save-invoice-btn {
    width: 100% !important;
    justify-content: center !important;
    padding: 12px 16px !important;
    font-size: 13px !important;
    border-radius: 8px !important;
  }

  /* Fix button order - Cancel first, then action button */
  .freight-memo-modal-footer .cancel-btn {
    order: 1 !important;
  }

  .freight-memo-modal-footer .create-btn {
    order: 2 !important;
  }

  .upload-invoice-modal-footer .cancel-upload-btn {
    order: 1 !important;
  }

  .upload-invoice-modal-footer .save-invoice-btn {
    order: 2 !important;
  }
}
