@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600;700&display=swap");

:root {
  --primary: #10b981;
  --primary-light: #d1fae5;
  --header-btn-bg: #f0fdf4;
  --sidebar-active-bg: #ecfdf5;
  --sidebar-active-text: #166534;
  --text-main: #1f2937;
  --text-muted: #6b7280;
  --bg-body: #f9fafb;
  --border: #e5e7eb;
  --shadow: 0 10px 35px rgba(0, 0, 0, 0.07);
  --transition: all 0.3s ease;
  --primary-dark: #166534;
  --gray-100: #f3f4f6;
  --gray-200: #e5e7eb;
  --gray-300: #d1d5db;
  --gray-500: #6b7280;
  --gray-700: #374151;
  --gray-900: #111827;
  --green-light: #d1fae5;
  --green-badge: #ecfdf5;
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);
  --radius: 12px;
  --rmk-border: #e5e7eb;
}
/* ==================== HEADING SIZES (h1 to h6) ==================== */

h1 {  font-size: 28px;}h2 {  font-size: 24px;}h3 {  font-size: 26px;}h4 {  font-size: 18px;}
h5 {  font-size: 19px;}h6 {  font-size: 17px;}
/* Mobile Responsive Adjustments */@media (max-width: 992px) {  h1 { font-size: 32px; }  h2 { font-size: 28px; } 
 h3 { font-size: 24px; }}@media (max-width: 768px) {  h1 { font-size: 30px; }  h2 { font-size: 26px; }  h3 { font-size: 22px; }  
 h4 { font-size: 20px; }}@media (max-width: 480px) {  h1 { font-size: 28px; }  h2 { font-size: 24px; }  h3 { font-size: 21px; }  h4 { font-size: 19px; }  h5 { font-size: 18px; }  h6 { font-size: 16px; }     .stock-entry-body
{
    padding: 10px;

}}
.form-container {
  max-width: 1150px;
  margin: 0 auto;
  background: white;
  border-radius: 16px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
}
.form-container-title {
  color: white;
  /* font-size: 1.5rem; */
  font-weight: 600;
  text-align: center;
  background: var(--primary);
  padding: 20px 30px;
  border-radius: 16px 16px 0 0;
}

.search-wrapper {
  position: relative;
  width: 250px;
}
.search-wrapper input {
  width: 100%;
  padding: 10px;
  border-radius: 24px;
  border: 1px solid #ccc;
}
.search-results {
  position: absolute;
  top: 40px;
  left: 0;
  width: 100%;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 6px;
  list-style: none;
  padding: 0;
  margin: 0;
  display: none;
  max-height: 250px;
  overflow-y: auto;
  z-index: 999;
}
.search-results li {
  padding: 8px 12px;
  cursor: pointer;
}
.search-results li:hover {
  background: #f0f0f0;
}


  @media (max-width: 768px) {
    .custom-dropdown-wrapper {
      width: 100% !important;
    }
   

    .van-service-form-grid {
      grid-template-columns: 1fr !important;
    }

    .van-service-modal-content {
      width: 95% !important;
      padding: 20px !important;
    }


  }

/* Logo link container */
.logo {
  display: flex;
  align-items: center;
  text-decoration: none;
}

.header .logo img { height: 40px; width: auto; max-width: 160px; object-fit: contain; }
.user-avatar, .user-info img { object-fit: cover; border-radius: 50%; }

/* On hover logo slightly fades */
.logo:hover img {
  opacity: 0.8;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  font-family: "Noto Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; 
  /* font-family: 'Poppins', Arial, sans-serif;*/

  background: var(--bg-body);
  color: var(--text-main);
  overflow-x: hidden;
}

/* HEADER */
.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 70px;
  background: #ffffff;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24px;
  z-index: 1000;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}
.header-left {
  display: flex;
  align-items: center;
  gap: 20px;
}
.logo {
  font-size: 26px;
  font-weight: 800;
  color: var(--primary);
  text-decoration: none;
  letter-spacing: -1px;
}
.logo span {
  color: #166534;
}
.mobile-toggle {
  display: none;
  font-size: 20px;
  color: var(--text-muted);
  cursor: pointer;
  padding: 8px;
  border-radius: 8px;
  transition: var(--transition);
}
.mobile-toggle:hover {
  background: var(--header-btn-bg);
}
.header-right {
  display: flex;
  align-items: center;
  gap: 16px;
}

.ask-ai-btn {
  background: var(--header-btn-bg);
  color: #166534;
  border: 2px solid #86efac;
  padding: 10px 20px;
  border-radius: 12px;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  transition: var(--transition);
}
.ask-ai-btn:hover {
  background: #dcfce7;
  transform: translateY(-2px);
}

.icon-btn {
  position: relative;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted);
  cursor: pointer;
  transition: var(--transition);
  font-size: 20px;
}
.icon-btn:hover {
  background: var(--header-btn-bg);
  color: #16a34a;
}

.notification-badge {
  position: absolute;
  top: 8px;
  right: 8px;
  background: #ef4444;
  color: white;
  font-size: 10px;
  font-weight: bold;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.user-avatar {
  width: 25px;
  height: 25px;
  border-radius: 50%;
  cursor: pointer;
  transition: var(--transition);
}
.user-avatar:hover {
  transform: scale(1.08);
}

/* Dropdowns */
.dropdown {
  position: relative;
}
.dropdown-menu {
  position: absolute;
  top: 100%;
  right: 0;
  /* width: 280px; */
  width: 325px;
  background: white;
  border-radius: 16px;
  margin-top: 12px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
  border: 1px solid var(--border);
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 0.3s ease;
  z-index: 1001;
}
.dropdown-menu.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.dropdown-menu a {
  display: block;
  padding: 14px 20px;
  color: var(--text-main);
  text-decoration: none;
  font-size: 14px;
  transition: var(--transition);
}
.dropdown-menu a:hover {
  background: var(--primary-light);
  color: #166534;
  padding-left: 26px;
}
.user-info {
  padding: 20px;
  background: linear-gradient(135deg, #f0fdf4, #dcfce7);
  display: flex;
  align-items: center;
  gap: 16px;
  border-bottom: 1px solid var(--border);
}
.user-info img {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: 3px solid white;
}

/* NOTIFICATION PANEL - RIGHT SIDEBAR */
.notification-panel {
  position: fixed;
  top: 0;
  right: -420px;
  width: 350px;
  height: 100vh;
  background: white;
  box-shadow: -10px 0 40px rgba(0, 0, 0, 0.15);
  z-index: 1100;
  transition: right 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  display: flex;
  flex-direction: column;
}
.notification-panel.open {
  right: 0;
}

.notification-header {
  padding: 20px 24px;
  background: var(--primary);
  color: white;
  font-size: 20px;
  font-weight: 700;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.notification-close {
  background: none;
  border: none;
  color: white;
  font-size: 24px;
  cursor: pointer;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.notification-close:hover {
  background: rgba(255, 255, 255, 0.2);
}

.notification-body {
  flex: 1;
  overflow-y: auto;
  padding: 20px;
}
.notification-item {
  display: flex;
  gap: 16px;
  padding: 16px;
  border-radius: 12px;
  margin-bottom: 12px;
  background: #f8fafc;
  border-left: 4px solid var(--primary);
  transition: all 0.3s;
  cursor: pointer;
}
.notification-item:hover {
  background: #ecfdf5;
  transform: translateX(-4px);
}
.notification-item.unread {
  background: #fff7ed;
  border-left-color: #f97316;
}
.notification-icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--primary-light);
  color: var(--primary-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}
.notification-content h4 {
  margin: 0 0 6px;
  /* font-size: 15px; */
  font-weight: 600;
}
.notification-content p {
  margin: 0;
  font-size: 13px;
  color: var(--text-muted);
  line-height: 1.5;
}
.notification-time {
  font-size: 12px;
  color: #94a3b8;
  margin-top: 8px;
}

/* SIDEBAR */
.sidebar {
  position: fixed;
  top: 70px;
  left: 0;
  bottom: 0;
  width: 280px;
  background: #ffffff;
  border-right: 1px solid var(--border);
  overflow-y: auto;
  z-index: 999;
  transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.27, 1.55);
  box-shadow: 4px 0 30px rgba(0, 0, 0, 0.08);
}
.sidebar-close {
  display: none;
  position: absolute;
  top: 15px;
  right: 20px;
  font-size: 28px;
  color: var(--text-muted);
  cursor: pointer;
  z-index: 1001;
}
.side-menu {
  list-style: none;
  padding: 12px 0;
}
.side-menu > li > a {
  display: flex;
  align-items: center;
  padding: 16px 28px;
  color: black;
  text-decoration: none;
  font-weight: 500;
  font-size: 15px;
  transition: background-color 0.3s ease, padding 0.3s ease;
}

.side-menu > li > a .menu-text {
  margin-left: 18px;
  flex: 1;
  transition: margin-left 0.3s ease;
}

.side-menu > li > a:hover {
  background-color: #f4f4f4;
}

.side-menu > li > a:hover .menu-text {
  margin-left: 28px;
}

.arrow {
  margin-left: auto;
  font-size: 12px;
  transition: transform 0.3s;
}
.side-menu > li.open > a .arrow {
  transform: rotate(90deg);
}
.side-menu > li.current-menu > a,
.side-menu > li > a:hover {
  background: var(--sidebar-active-bg);
  color: var(--sidebar-active-text);
  font-weight: 600;
}
.side-menu > li.current-menu > a {
  border-left: 4px solid var(--primary);
  background: linear-gradient(to right, #ecfdf5, transparent);
}
.side-submenu {
  background: #f8fafc;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}
.side-submenu.open {
  max-height: 600px;
}
.side-submenu a {
  padding: 13px 28px 13px 74px;
  display: block;
  color: var(--text-muted);
  font-size: 14px;
  transition: var(--transition);
}
.side-submenu a:hover {
  background: #ecfdf5;
  color: #166534;
  padding-left: 80px;
}
.side-submenu a.current-menu {
  color: var(--primary);
  font-weight: 600;
  background: #dcfce7;
}

.main-content {
  margin-left: 280px;
  margin-top: 70px;
  padding: 20px;
  min-height: calc(100vh - 70px);
  background: var(--bg-body);
  transition: all 0.4s;
}

@media (max-width: 992px) {
  .sidebar {
    transform: translateX(-100%);
    width: 100%;
    top: 0;
    height: 100vh;
    padding-top: 70px;
  }
  .sidebar.open {
    transform: translateX(0);
  }
  .main-content {
    margin-left: 0;
  }
  .mobile-toggle,
  .sidebar-close {
    display: block !important;
  }
}

/* main content  */
/* ========================================
   GET STARTED WITH BREVO - FULLY RESPONSIVE
   ======================================== */
.get-started-with-brevo-container {
  display: flex;
  gap: 32px;
  margin-top: 20px;
  flex-wrap: wrap;
}

/* LEFT: Calendar */
.get-started-with-brevo-calendar {
  background: white;
  border-radius: 20px;
  padding: 24px;
  width: 380px;
  max-width: 100%;
  box-shadow: var(--shadow);
  height: fit-content;
  flex-shrink: 0;
  margin: 0 auto;
}

.calendar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  font-weight: 600;
  font-size: 18px;
}

.calendar-header button {
  background: none;
  border: none;
  font-size: 18px;
  cursor: pointer;
  padding: 10px;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s, color 0.2s;
}

.calendar-header button:hover {
  background: #f0fdf4;
  color: #16a34a;
}

.calendar-days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  text-align: center;
  font-size: 13px;
  color: #6b7280;
  margin-bottom: 12px;
  font-weight: 600;
  padding: 0 8px;
}

.calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 8px;
  padding: 0 8px;
}

.date {
  padding: 12px 8px;
  border-radius: 12px;
  font-size: 14px;
  text-align: center;
  cursor: default;
  transition: background 0.2s;
}

.date:hover:not(.today) {
  background: #f0fdf4;
}

.date.today {
  background: #10b981;
  color: white;
  font-weight: bold;
}

/* RIGHT: Main Campaign Section */
.get-started-with-brevo-main {
  flex: 1;
  min-width: 300px;
  background: white;
  border-radius: 20px;
  padding: 32px;
  box-shadow: var(--shadow);
      /* height: 80vh; */
    overflow-x: hidden;
    overflow-y: scroll;

}

.get-started-with-brevo-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  flex-wrap: wrap;
  gap: 16px;
}

.get-started-with-brevo-header h2 {
  margin: 0;
  /* font-size: 24px; */
  font-weight: 600;
}

.create-campaign-btn {
  background: #000;
  color: white;
  border: none;
  padding: 12px 28px;
  border-radius: 50px;
  font-weight: 600;
  cursor: pointer;
  font-size: 15px;
  white-space: nowrap;
  transition: background 0.3s;
}

.create-campaign-btn:hover {
  background: #1f2937;
}

/* Search + Filter Controls */
.get-started-with-brevo-controls {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.get-started-with-brevo-search {
  position: relative;
  flex: 1;
  min-width: 250px;
}

.get-started-with-brevo-search i {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: #9ca3af;
  font-size: 18px;
  pointer-events: none;
}

.get-started-with-brevo-search input {
  width: 100%;
  padding: 14px 16px 14px 50px;
  border: 1px solid #e5e7eb;
  border-radius: 50px;
  /* font-size: 15px; */
  outline: none;
  transition: border 0.2s;
}

.get-started-with-brevo-search input:focus {
  border-color: #10b981;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}

.get-started-with-brevo-filter {
  padding: 14px 20px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: white;
  font-size: 15px;
  min-width: 180px;
  cursor: pointer;
  transition: border 0.2s;
}

.get-started-with-brevo-filter:focus {
  outline: none;
  border-color: #10b981;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}

/* RESPONSIVE TABLE WITH HORIZONTAL SCROLL */
.get-started-with-brevo-table {
  overflow-x: auto;
  border-radius: 16px;
  background: white;
  /* margin-top: 8px; */
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
 
.get-started-with-brevo-table::-webkit-scrollbar {
  height: 8px;
}

.get-started-with-brevo-table::-webkit-scrollbar-track {
  background: #f1f5f9;
  border-radius: 10px;
}

.get-started-with-brevo-table::-webkit-scrollbar-thumb {
  background: #94a3b8;
  border-radius: 10px;
}

.get-started-with-brevo-table table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

/* Sticky Header */
.get-started-with-brevo-table th {
  position: sticky;
  top: 0;
  background: white;
  z-index: 10;
  text-align: left;
  padding: 18px 12px;
  color: #4b5563;
  font-weight: 600;
  font-size: 14px;
  border-bottom: 2px solid #f3f4f6;
  white-space: nowrap;
}
.selected-date {
    background-color: rgb(16, 185, 129);
    color: white;
    font-weight: bold;
    border-radius: 5px;
}


/* Column Widths */
.get-started-with-brevo-table th:nth-child(1),
.get-started-with-brevo-table td:nth-child(1) {
  width: 15%;
} /* Name */

.get-started-with-brevo-table th:nth-child(2),
.get-started-with-brevo-table td:nth-child(2) {
  width: 20%;
}

.get-started-with-brevo-table th:nth-child(3),
.get-started-with-brevo-table td:nth-child(3) {
  width: 10%;
}

.get-started-with-brevo-table th:nth-child(4),
.get-started-with-brevo-table td:nth-child(4) {
  width: 20%;
}

/* .get-started-with-brevo-table th:nth-child(5),
.get-started-with-brevo-table td:nth-child(5) {
  width: 13%;
}

.get-started-with-brevo-table th:nth-child(6),
.get-started-with-brevo-table td:nth-child(6) {
  width: 13%;
} */

.get-started-with-brevo-table td {
  padding: 18px 12px;
  border-bottom: 1px solid #f3f4f6;
  font-size: 15px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.get-started-with-brevo-table tbody tr:hover {
  background: #f8fafc;
}

.get-started-with-brevo-table tbody tr:last-child td {
  border-bottom: none;
}

/* Status Badges */
.status {
  padding: 6px 14px;
  border-radius: 50px;
  font-size: 13px;
  font-weight: 600;
  display: inline-block;
  min-width: 70px;
  text-align: center;
}

.status.sent {
  background: #dcfce7;
  color: #166534;
}
.status.scheduled {
  background: #fef3c7;
  color: #92400e;
}
.status.draft {
  background: #f3f4f6;
  color: #6b7280;
}

/* Pagination */
.get-started-with-brevo-pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 10px;
  font-size: 14px;
  color: #6b7280;
  flex-wrap: wrap;
  gap: 12px;
}

.pagination-buttons button {
  padding: 8px 14px;
  border: 1px solid #e5e7eb;
  background: white;
  margin: 0 4px;
  border-radius: 8px;
  cursor: pointer;
  min-width: 40px;
  transition: all 0.2s;
}

.pagination-buttons button:hover:not(:disabled) {
  background: #f0fdf4;
  border-color: #10b981;
}

.pagination-buttons button.active {
  background: #10b981;
  color: white;
  border-color: #10b981;
}

.pagination-buttons button:disabled {
  /* opacity: 0.5; */
  cursor: not-allowed;
}

/* ========================================
   MOBILE RESPONSIVE (≤768px)
   ======================================== */
@media (max-width: 768px) {
  .get-started-with-brevo-container {
    /* flex-direction: column; */
    gap: 24px;
  }

  .get-started-with-brevo-calendar {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
  }

  .get-started-with-brevo-main {
    padding: 24px 16px;
  }

  .get-started-with-brevo-header {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }

  .create-campaign-btn {
    width: 100%;
    padding: 14px;
  }

  .get-started-with-brevo-controls {
    flex-direction: column;
  }

  .get-started-with-brevo-search,
  .get-started-with-brevo-filter {
    min-width: 100%;
  }

  .get-started-with-brevo-pagination {
    flex-direction: column;
    text-align: center;
  }

  .pagination-buttons {
    margin-top: 12px;
  }
}

/* Extra small phones */
@media (max-width: 480px) {
  .get-started-with-brevo-main {
    padding: 20px 12px;
  }
  .calendar-header {
    font-size: 16px;
  }
  .date {
    padding: 10px 6px;
    font-size: 13px;
  }
}

/* ###################################################### */
.contact_detail-container {
  /* max-width: 1400px;
      margin: 40px auto; */
  padding: 0 20px;
}

.contact_detail-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  /* margin-bottom: 12px; */
}

.contact_detail-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--gray-900);
}

.contact_detail-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.contact_detail-btn {
  padding: 10px 20px;
  border-radius: 50px;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  white-space: nowrap;
}

.contact_detail-create-btn {
  background: white;
  color: var(--gray-700);
  border: 1.5px solid var(--gray-300);
}
.contact_detail-create-btn:hover {
  background: var(--gray-100);
}

.contact_detail-import-btn {
  background: #111827;
  color: white;
}
.contact_detail-import-btn:hover {
  background: #1f1f1f;
}

.contact_detail-description {
  color: var(--gray-500);
  margin-bottom: 20px;
  font-size: 15px;
}

/* Filters Row */
.contact_detail-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 5px;
}
.contact_detail-controls-1 {
  display: flex;
  /* justify-content: space-between; */
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 20px;
}
.contact_detail-filters {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

.contact_detail-dropdown-wrapper {
  position: relative;
  /* width: 250px; */
}

.contact_detail-dropdown-trigger {
  width: 100%;
  padding: 10px 14px;
  border: 1.5px solid var(--gray-300);
  border-radius: 50px;
  background: white;
  font-size: 14px;
  color: var(--gray-700);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.contact_detail-dropdown-menu {
     position: absolute;
    top: 100%;
    left: -30px;
    right: 17px;
    background: white;
    border: 1.5px solid var(--gray-300);
    border-radius: var(--radius);
    margin-top: 6px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
    z-index: 100;
    max-height: 300px;
    overflow: hidden;
    display: none;
    flex-direction: column;
    width: 187px;
} 

.contact_detail-dropdown-menu.open {
  display: flex;
}

.contact_detail-dropdown-search {
  padding: 10px;
  border-bottom: 1px solid var(--gray-200);
}

.contact_detail-dropdown-search input {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid var(--gray-300);
  border-radius: 50px;
  font-size: 13px;
}

.contact_detail-dropdown-list {
  flex: 1;
  overflow-y: auto;
}

.contact_detail-dropdown-item {
  padding: 10px 14px;
  font-size: 14px;
  cursor: pointer;
  transition: background 0.2s;
}

.contact_detail-dropdown-item:hover {
  background: var(--green-badge);
  color: var(--primary-dark);
}

/* Plus Button */
.contact_detail-add-filter-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--primary);
  color: white;
  border: none;
  font-size: 18px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 15px rgba(16, 185, 129, 0.3);
}

.contact_detail-add-filter-btn:hover {
  background: #059669;
  transform: scale(1.1);
}

/* Right Controls */
.contact_detail-controls-right {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
 
.contact_detail-count {
  font-weight: 600;
  color: #6366f1;
}
.contact_detail-customize {
  color: #6366f1;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.contact_detail-search-wrapper {
  position: relative;
  min-width: 280px;
}

.contact_detail-search-input {
  width: 100%;
  padding: 10px 14px 10px 40px;
  border: 1.5px solid var(--gray-300);
  border-radius: 50px;
  font-size: 14px;
}

.contact_detail-search-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--gray-500);
}

/* Table */
.contact_detail-table-wrapper {
  background: white;
  border-radius: 12px;
  /* overflow: hidden; */
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  border: 1px solid var(--gray-200);
}

.contact_detail-table-scroll {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
/*  min-height: 200px; */
}
.purchase-item-list{
	min-height: 200px;
}
.contact_detail-table {
  width: 100%;
 /*  min-width: 900px; */
  /* min-width: 800px; */
  max-width: 100%;
  border-collapse: collapse;
}

.jobwp {
  min-width: 900px !important; 
  
}

/* .contact_detail-table th {
  background: var(--gray-100);
  padding: 16px 14px;
  text-align: left;
  font-weight: 600;
  font-size: 13px;
  color: var(--gray-500);
  text-transform: uppercase;
  white-space: nowrap;
  position: sticky;
  top: 0;
  z-index: 10;
} 
.contact_detail-table td {
  padding: 16px 14px;
  white-space: nowrap;
  font-size: 14px;
  align-items: center;
}  */
  .contact_detail-table th{
    background: var(--gray-100);
    padding: 16px 14px;
    text-align: center;
    font-weight: 600;
    font-size: 13px;
    color: var(--gray-500);
    text-transform: uppercase;
    white-space: nowrap;
    position: sticky;
    top: 0;
    z-index: 10;
    border: 1px solid #d3d0d0;
}

.contact_detail-table td{
    /* z-index: 10; */
    border: 1px solid #d3caca;
    padding: 5px 12px;
    text-align: center;
    font-size: 14px;
}
.contact_detail-name {
  font-weight: 600;
  color: #6366f1;
  text-decoration: none;
} 
.contact_detail-name:hover {
  text-decoration: underline;
}
.contact_detail-subscribed-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background: var(--green-badge);
  color: var(--primary-dark); 
  border-radius: 50px;
  font-size: 12px;
  font-weight: 600;
}
  
.contact_detail-actions-cell {
  display: flex;
  gap: 12px;
  font-size: 16px;
}
 
.contact_detail-action-icon {
  cursor: pointer;
  padding: 6px;
  border-radius: 6px;
  transition: all 0.2s;
}

.contact_detail-action-icon:hover {
  background: var(--gray-100);
}

.contact_detail-status {
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
}

.status-active {
  background: #d1fae5;
  color: var(--primary-dark);
}

@media (max-width: 640px) {
        .contact_detail-table td,
        .contact_detail-table th {
         /*   white-space: normal !important; */
            word-break: break-word !important;
            max-width: none !important;
        }
        }
/* Pagination */
.contact_detail-pagination {
  padding: 20px;
  background: white;
  border-top: 1px solid var(--gray-200);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 14px;
  color: var(--gray-500);
}

.contact_detail-rows-select {
  padding: 6px 10px;
  border: 1px solid var(--gray-300);
  border-radius: 8px;
  width: 70px;
}
@media (max-width: 768px) {
  .contact_detail-controls {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    margin-bottom: 20px;
  }
  .contact_detail-dropdown-menu {
     position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: white;
    border: 1.5px solid var(--gray-300);
    border-radius: var(--radius);
    margin-top: 6px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
    z-index: 100;
    max-height: 300px;
    overflow: hidden;
    display: none;
    flex-direction: column;
width: 100%;
} 

}

/* Popup */
/* Updated Popup - Badi Width + Close Icon */
.contact_detail-popup {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: white;
  width: 520px; /* Pehle 400px tha → ab 520px (badi aur comfortable) */
  max-width: 90vw;
  border-radius: 16px;
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.22);
  z-index: 1000;
  display: none;
}

.contact_detail-popup.open {
  display: block;
}

.contact_detail-popup-header {
  padding: 20px 24px;
  background: var(--primary);
  color: white;
  border-radius: 16px 16px 0 0;
  font-size: 19px;
  font-weight: 700;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}

.contact_detail-popup-close {
  background: none;
  border: none;
  color: white;
  font-size: 22px;
  cursor: pointer;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
}

.contact_detail-popup-close:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: scale(1.1);
}

.contact_detail-popup-body {
  padding: 24px;
  max-height: 70vh;
  overflow-y: auto;
}

.contact_detail-popup-search input {
  width: 100%;
  padding: 14px 18px;
  border: 2px solid var(--gray-300);
  border-radius: 50px;
  font-size: 15px;
}

.contact_detail-popup-item {
  padding: 14px 18px;
  cursor: pointer;
  border-radius: 12px;
  transition: all 0.2s;
  font-size: 15px;
}

.contact_detail-popup-item:hover {
  background: var(--green-badge);
  color: var(--primary-dark);
  transform: translateY(-1px);
}

.contact_detail-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 999;
  display: none;
}

.contact_detail-overlay.open {
  display: block;
}

@media (max-width: 768px) {
  .contact_detail-container {
    padding: 0 16px;
    margin: 20px auto;
  }
  .contact_detail-title {
    font-size: 24px;
  }
  .contact_detail-dropdown-wrapper {
    width: 100%;
  }
  .search-wrapper{
    width: 100%;
  }
  .contact_detail-search-wrapper {
    min-width: 100%;
  }
  .contact_detail-controls-right {
    width: 100%;
    justify-content: stretch;
  }
  .contact_detail-pagination {
    justify-content: center;
    text-align: center;
  }
}

/* for asig item popup */
.assign_item-popup {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: white;
  /* width: 520px; Pehle 400px tha → ab 520px (badi aur comfortable) */
  max-width: 70vw;
  border-radius: 16px;
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.22);
  z-index: 1000;
  display: none;
}

.assign_item-popup.open {
  display: block;
}


@media (max-width: 768px) {
.assign_item-popup{
  width: 100%;
    max-width: 90vw;
}
}
.assign_item-popup-header {
  padding: 20px 24px;
  background: var(--primary);
  color: white;
  border-radius: 16px 16px 0 0;
  font-size: 19px;
  font-weight: 700;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}

.assign_item-popup-close {
  background: none;
  border: none;
  color: white;
  font-size: 22px;
  cursor: pointer;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
}
.assign_item-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 999;
  display: none;
}

.assign_item-overlay.open {
  display: block;
}
.assign_item-popup-close:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: scale(1.1);
}

.assign_item-popup-body {
  padding: 24px;
  max-height: 70vh;
  overflow-y: auto;
}

.assign_item-popup-search input {
  width: 100%;
  padding: 14px 18px;
  border: 2px solid var(--gray-300);
  border-radius: 50px;
  font-size: 15px;
}

.assign_item-popup-item {
  padding: 14px 18px;
  cursor: pointer;
  border-radius: 12px;
  transition: all 0.2s;
  font-size: 15px;
}

.assign_item-popup-item:hover {
  background: var(--green-badge);
  color: var(--primary-dark);
  transform: translateY(-1px);
}

.contact_detail-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 999;
  display: none;
}

.contact_detail-overlay.open {
  display: block;
}

@media (max-width: 768px) {
  .contact_detail-container {
    padding: 0 16px;
    margin: 20px auto;
  }
  .contact_detail-title {
    font-size: 24px;
  }
  .contact_detail-dropdown-wrapper {
    width: 100%;
  }
  .search-wrapper{
    width: 100%;
  }
  .contact_detail-search-wrapper {
    min-width: 100%;
  }
  .contact_detail-controls-right {
    width: 100%;
    justify-content: stretch;
  }
  .contact_detail-pagination {
    justify-content: center;
    text-align: center;
  }
}
/* ============================= */
/* ACTION BUTTONS IN TABLE (Return & Request) */
/* ============================= */
.item-action-menu {
  display: flex;
  /* flex-direction: column; */
  gap: 8px;
  width: 140px;
}
button.item-action-btn.item-action-return{
  background: none;
  border: none;
      font-size: 15px;
    color: #333;
}
button.item-action-btn.item-action-request{
  background: none;
  border: none;
      font-size: 15px;
    color: #333;
}
/* .item-action-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  border-radius: 10px;
  font-size: 13.5px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
  width: 100%;
  justify-content: flex-start;
} */
 

/* .item-action-return {
  background: #fee2e2;
  color: #b91c1c;
  border: 1.5px solid #fca5a5;
} */
/* .item-action-return:hover {
  background: #fecaca;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(185, 28, 28, 0.15);
} */

/* .item-action-request {
  background: #d1fae5;
  color: #065f46;
  border: 1.5px solid #86efac;
}
.item-action-request:hover {
  background: #a7f3d0;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(6, 95, 70, 0.15);
} */

/* ============================= */
/* MODALS (Return & Request) – FULLY UPDATED */
/* ============================= */
.return-modal,
.request-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: white;
  border-radius: 18px;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.35);
  z-index: 1001;
  width: 460px;
  max-width: 92vw;
  display: none;
  overflow: hidden;
}

.return-modal.open,
.request-modal.open {
  display: block;
  animation: modalPop 0.3s ease-out;
}

@keyframes modalPop {
  from {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}

/* Header */
.modal-header {
  padding: 22px 28px;
  font-size: 19px;
  font-weight: 700;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: white;
}
.return-header {
  background: #b91c1c;
}
.request-header {
  background: #059669;
}

.modal-close {
  background: none;
  border: none;
  color: white;
  font-size: 26px;
  cursor: pointer;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.2s;
}
.modal-close:hover {
  background: rgba(255, 255, 255, 0.2);
}

/* Body */
.modal-body {
  padding: 32px 32px 20px;
}

.modal-input-group label {
  display: block;
  margin-bottom: 10px;
  font-weight: 600;
  color: #1f2937;
  font-size: 15px;
}

/* INPUT – FULL WIDTH & BEAUTIFUL */
.modal-input-full {
  /* width: 415px; */
  width: 370px;
  padding: 18px 20px;
  border: 2px solid #e5e7eb;
  border-radius: 14px;
  font-size: 16px;
  font-weight: 500;
  background: #fcfcfc;
  transition: all 0.25s ease;
  box-sizing: border-box;
}

.modal-input-full:focus {
  outline: none;
  border-color: #10b981;
  background: white;
  box-shadow: 0 0 0 5px rgba(16, 185, 129, 0.15);
}

.modal-input-full::placeholder {
  color: #9ca3af;
  font-weight: 400;
}

/* Footer Buttons */
.modal-footer {
  padding: 0 32px 32px;
  display: flex;
  justify-content: flex-end;
  gap: 14px;
}

.btn-cancel {
  padding: 12px 24px;
  background: #f3f4f6;
  color: #374151;
  border: none;
  border-radius: 10px;
  font-weight: 600;
  cursor: pointer;
  transition: 0.2s;
}
.btn-cancel:hover {
  background: #e5e7eb;
}

.btn-primary {
  padding: 12px 28px;
  border: none;
  border-radius: 10px;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  transition: 0.2s;
}
.btn-return {
  background: #b91c1c;
  color: white;
}
.btn-request {
  background: #059669;
  color: white;
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

/* Overlay */
.overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(4px);
  z-index: 1000;
  display: none;
}
/* 3 DOTS KO VERTICAL KARNE KE LIYE – BAS YE ADD/REPLACE KARO */
.item-action-btn::before {
  /* content: "⋮";  */
  content: ""; /* vertical three dots */
  font-weight: 900;
  font-size: 18px;
  opacity: 0.8;
}

.item-action-btn {
  display: flex;
  align-items: center;
  gap: 10px; /* thoda zyada gap for better look */
  /* padding: 10px 14px; */
  border-radius: 10px;
  font-size: 13.5px;
  /* font-weight: 600; */
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
  width: 100%;
  justify-content: flex-start;
}
button.item-action-btn.item-action-return:hover{
  color: #ffffff;

}
button.item-action-btn.item-action-request:hover{
  color: #ffffff;

}
.overlay.open {
  display: block;
}
/* contact -form  */

/* ---------------------------------------------
   Form Container
---------------------------------------------- */
.contact-form-container-section {
  padding: 35px;
}

/* ---------------------------------------------
   Title
---------------------------------------------- */
.contact-form-title {
  margin-bottom: 30px;
}

/* ---------------------------------------------
   Row Layout (2 inputs per row)
---------------------------------------------- */
.contact-form-row {
  display: flex;
  gap: 25px;
  margin-bottom: 20px;
}

.contact-form-row .contact-form-group {
  flex: 1;
}

/* ---------------------------------------------
   Labels
---------------------------------------------- */
.contact-form-group label {
  font-size: 15px;
  font-weight: 600;
  display: block;
  margin-bottom: 6px;
  color: var(--text);
}

/* ---------------------------------------------
   INPUTS (Premium Look)
---------------------------------------------- */
.contact-form-input,
.contact-form-select,
.contact-form-textarea {
  width: 100%;
  padding: 14px 15px;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: var(--input-bg); /* Light attractive background */
  color: var(--text);
  font-size: 15px;

  /* Premium Smooth effect */
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04);
  transition: var(--transition);
}

/* Placeholder */
.contact-form-input::placeholder,
.contact-form-textarea::placeholder {
  color: var(--text-light);
  font-weight: 400;
}

/* Focus Effect */
.contact-form-input:focus,
.contact-form-select:focus,
.contact-form-textarea:focus {
  background: var(--input-bg-focus);
  border-color: var(--primary);
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.15);
  outline: none;
  margin-bottom: 10px;
}

/* ---------------------------------------------
   Textarea
---------------------------------------------- */
.contact-form-textarea {
  min-height: 120px;
  resize: vertical;
}

/* ---------------------------------------------
   Input with prefix (SMS, Landline)
---------------------------------------------- */
.contact-form-inline {
  display: flex;
  gap: 12px;
  align-items: center;
}

.contact-form-inline span {
  padding: 14px 16px;
  background: #e9edf3;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  font-size: 15px;
}

/* ---------------------------------------------
   Submit Button
---------------------------------------------- */
.contact-form-button {
  width: 100%;
  padding: 14px;
  background: var(--primary);
  border: none;
  color: #fff;
  font-size: 17px;
  font-weight: 600;
  border-radius: var(--radius);
  cursor: pointer;
  transition: var(--transition);
}

.contact-form-button:hover {
  background: #1d4fd8;
  transform: translateY(-2px);
}

/* ---------------------------------------------
   Responsive
---------------------------------------------- */
@media (max-width: 768px) {
  .contact-form-row {
    flex-direction: column;
  }
}

/*remark section  */
.rmk-calendar {
  position: absolute;
  top: 20px;
  right: 20px;
}

#monthPicker {
  padding: 8px 12px;
  border: 1px solid #ccc;
  border-radius: 6px;
  cursor: pointer;
  background: #fff;
}
.rmk-calendar {
  position: absolute;
  top: 20px;
  right: 20px;
}

#monthPicker {
  width: 160px;
  padding: 10px 14px;
  border: 1px solid #d0d0d0;
  border-radius: 8px;
  background: #f9fafb;
  font-size: 14px;
  color: #333;
  cursor: pointer;
  transition: all 0.25s ease;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

/* Hover effect */
#monthPicker:hover {
  background: #ffffff;
  border-color: #b5b5b5;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.12);
}

/* Focus effect */
#monthPicker:focus {
  outline: none;
  border-color: #4a90e2;
  box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.25);
  background: #fff;
}

.rmk-sheet {
  max-width: 2100px;
  margin: 0 auto;
  background: white;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.15);
  position: relative;
}
.rmk-cal {
  position: absolute;
  top: 28px;
  right: 35px;
  z-index: 10;
}
.rmk-cal input {
  padding: 16px 24px;
  border: 4px solid var(--rmk-pri);
  border-radius: 16px;
  font-size: 20px;
  font-weight: 800;
  background: white;
  color: var(--rmk-pri);
  cursor: default;
}
.rmk-wrapper {
  padding: 15px 15px 15px;
  overflow-x: auto;
}
.rmk-table {
  width: 100%;
  min-width: 3400px;
  border-collapse: collapse;
  font-size: 15px;
}
.rmk-th,
.rmk-td {
  border: 1px solid var(--rmk-border);
  text-align: center;
  vertical-align: middle;
}
.rmk-th {
  background: var(--rmk-light);
  /* color: #065f46; */
  /* font-weight: 800; */
  height: 80px;
}
.rmk-today::after {
  content: "";
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  width: 12px;
  height: 12px;
  background: var(--rmk-pri);
  border-radius: 50%;
}
.rmk-name-th {
  width: 200px;
  text-align: left !important;
  padding-left: 30px;
  font-size: 19px;
}
.rmk-name-td {
  background: var(--rmk-gray);
  text-align: left !important;
  padding-left: 30px;
  /* font-weight: 700; */
  font-size: 17px;
  height: 72px;
}

/* Date Header with P | OT below */
.rmk-date-header {
  width: 80px;
  font-size: 16px;
  /* font-weight: 800; */
  line-height: 2.2;
  background: #f0fdf4 !important;
}
.rmk-date-header span {
  display: block;
}
.rmk-date-header .rmk-sub {
  font-size: 11px;
  font-weight: 600;
  opacity: 0.8;
  margin-top: 4px;
  border-top: 1px solid var(--rmk-border);
}

.rmk-salary-th {
  background: #f0fdf4 !important;
  font-size: 15.5px;
  min-width: 135px;
  /* font-weight: 800; */
  padding: 12px 8px;
}

.rmk-cell {
  height: 72px;
}
.rmk-inner {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
}

.rmk-half {
  background: var(--rmk-yellow) !important;
  color: #92400e;
  font-weight: 700;
}
.rmk-abs {
  background: var(--rmk-red) !important;
  color: #991b1b;
  font-weight: 700;
}
.rmk-ot-val {
  background: var(--rmk-blue) !important;
  color: #1e40af;
  font-weight: 700;
}
.rmk-remark {
  background: #fffbeb !important;
  color: #92400e;
  font-weight: 700;
  font-size: 15px;
}
/* vacancy form */

/* .vacancy-form-container {
  max-width: 1150px;
  margin: 5px auto;
  background: white;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
} */

/* .vacancy-form-header {
  background: var(--primary);
  color: white;
  padding: 20px 30px;
  font-size: 1.5rem;
  font-weight: 600;
  text-align: center;
} */

.vacancy-form-body {
  padding: 35px;
}

.vacancy-form-section-title {
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--primary-dark);
  margin: 10px 0 10px;
  padding-bottom: 10px;
  border-bottom: 3px solid var(--primary-light);
  position: relative;
}
.vacancy-form-section-title::after {
  content: "";
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 80px;
  height: 3px;
  background: var(--primary);
}

.vacancy-form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: 22px;
  margin-bottom: 10px;
}

.vacancy-form-group {
  display: flex;
  flex-direction: column;
}

.vacancy-form-label {
  font-weight: 500;
  margin-bottom: 8px;
  color: var(--gray-700);
  font-size: 0.98rem;
}

input,
select,
textarea {
 color:var(--gray-700);
    padding: 8px 12px;
    border: 2px solid #86efac;
    border-radius: var(--radius);
    font-size: 0.95rem;
    transition: var(--transition);
    background: #ffffff;
}

input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 4px var(--primary-light);
}

textarea {
  resize: vertical;
  min-height: 90px;
}
.select_2{padding:5px 10px; margin-top:10px;}


/* File Upload */
.vacancy-form-file-wrapper {
  position: relative;
  margin-top: 10px;
}

.vacancy-form-file-input {
  position: absolute;
  opacity: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.vacancy-form-file-btn {
  background: #f0fdf4;
  border: 2px solid #86efac;
  color: #31774b;
  padding: 14px 28px;
  border-radius: var(--radius);
  font-weight: 500;
  font-size: 0.95rem;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  transition: var(--transition);
  box-shadow: 0 4px 15px rgba(16, 153, 129, 0.3);
}

.vacancy-form-file-btn:hover {
  background: #86efac;
  color: #000;
  transform: translateY(-3px);
}

/* Preview */
.vacancy-form-preview-box {
  margin-top: 12px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
    align-items: center;
    /* justify-content: center; */
}

.vacancy-form-preview-item {
  position: relative;
  width: 90px;
  height: 90px;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  background: #f1f5f9;
}

.vacancy-form-preview-item img,
.vacancy-form-preview-item .vacancy-form-pdf-icon {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.vacancy-form-pdf-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fef2f2;
  color: #dc2626;
  font-size: 36px;
}

.vacancy-form-remove-preview {
  position: absolute;
  top: 4px;
  right: 4px;
  background: rgba(0, 0, 0, 0.7);
  color: white;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  cursor: pointer;
  transition: 0.2s;
}

.vacancy-form-remove-preview:hover {
  background: #ef4444;
  transform: scale(1.1);
}

/* Submit Button */
.vacancy-form-submit-btn {
  background: var(--primary);
  color: white;
  padding: 16px 50px;
  border: none;
  border-radius: 50px;
  font-size: 1.1rem;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 50px auto;
  transition: var(--transition);
  box-shadow: 0 8px 25px rgba(16, 153, 129, 0.35);
}

.vacancy-form-submit-btn:hover {
  background: var(--primary-dark);
  transform: translateY(-4px);
}

@media (max-width: 768px) {
  .vacancy-form-grid {
    grid-template-columns: 1fr;
  }
  .vacancy-form-body {
    padding: 20px;
  }
  .vacancy-form-preview-item {
    width: 80px;
    height: 80px;
  }
}

/* --------------------------------------------- */
/* EXISTING STYLES 
/* --------------------------------------------- */

.job-detail-header {
  background: var(--header-btn-bg);
  padding: 20px 20px;
  box-shadow: var(--shadow);
}

.main-search-wrapper {
  max-width: 800px;
  margin: 0 auto;
}

.job-detail-search-wrapper {
  display: flex;
  align-items: center;
  background: white;
  border-radius: 60px;
  padding: 10px 32px;
  width: 100%;
  box-shadow: var(--shadow-sm);
  border: 2px solid var(--border);
  transition: var(--transition);
}

.job-detail-search-wrapper:focus-within {
  border-color: var(--primary);
  box-shadow: 0 10px 40px rgba(16, 185, 129, 0.22);
  transform: scale(1.008);
}

.job-detail-category {
  background: transparent;
  border: none;
  font-weight: 700;
  color: var(--primary-dark);
  padding: 0 24px;
  font-size: 17px;
  cursor: pointer;
  border-right: 2px solid #e2e8f0;
  margin-right: 20px;
}

.search-input-group {
  display: flex;
  align-items: center;
  flex: 1;
}

.job-detail-search-icon {
  width: 26px;
  height: 26px;
  color: var(--primary);
  margin-right: 18px;
}

.job-detail-search-input {
  border: none;
  outline: none;
  flex: 1;
  font-size: 18px;
  font-weight: 500;
  color: var(--text-main);
  padding: 8px 0;
}

.job-detail-search-input::placeholder {
  color: #94a3b8;
  font-weight: 500;
}

/* JOB CONTAINER WITH TOP-RIGHT CONTROLS */
.job-detail-container {
  max-width: 1240px;
  margin: 40px auto;
  padding: 0 40px;
  position: relative;
}

.top-controls {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
}

.job-detail-filter {
  padding: 12px 28px;
  background: white;
  border: 2px solid var(--border);
  border-radius: 30px;
  font-weight: 600;
  color: var(--text-main);
  font-size: 15px;
  cursor: pointer;
}

.add-job-btn {
  background: var(--primary);
  color: white;
  border: none;
  padding: 14px 34px;
  border-radius: 30px;
  font-weight: 700;
  font-size: 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
  box-shadow: 0 6px 20px rgba(16, 185, 129, 0.35);
  transition: var(--transition);
}

.add-job-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(16, 185, 129, 0.45);
}

/* CARDS */
.job-detail-card {
  position: relative;
  background: white;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-sm);
  margin-bottom: 12px;
  overflow: hidden;
  /* padding: 15px; */
  /* padding: 15px  80px 0px 0px; */
  padding-right: 80px;
  transition: var(--transition);
}
.job-detail-card:hover {
  box-shadow: var(--shadow);
  transform: translateY(-6px);
}
.job-detail-content {
  padding:10px 10px;
  display: flex;
  gap: 44px;
  align-items: flex-start;
}

.job-detail-left {
  flex: 1;
}

.job-detail-right {
  width: 430px;
  display: flex;
  flex-direction: column;
  gap: 0px;
  /* gap: 24px; */
}

.job-detail-datetime {
  font-size: 14.5px;
  color: var(--text-muted);
  font-weight: 500;
}

.job-detail-address {
  font-size: 19px;
  font-weight: 800;
  color: var(--text-main);
  margin: 0 0 5px 0;
  line-height: 1.4; 
}

.job-detail-type {
  background: var(--green-badge);
  color: var(--primary-dark);
  padding: 10px 24px;
  border-radius: 30px;
  font-size: 14px;
  font-weight: 700;
  display: inline-block;
  margin-bottom: 5px;
}

.job-detail-desc {
  background: var(--primary-light);
  padding: 10px 24px;
  border-radius: 12px;
  font-size: 15.5px;
  line-height: 1.75;
  color: var(--text-main);
  border-left: 6px solid var(--primary);
}

.job-detail-status-badge {
  background: #fff7ed;
  color: #c2410c;
  padding: 4px 10px;
  border-radius: 30px;
  font-weight: 800;
  font-size: 14.5px;
  border: 2.5px solid #fed7aa;
  display: inline-block;
  cursor: pointer;
}

.job-detail-actions {
   position: absolute;
  right: 0;
  top: 50%; 
 transform: translateY(-50%);
  background: var(--green-badge);
  padding: 30px 10px;
  border-radius: 18px 0 0 18px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  box-shadow: -10px 0 30px rgba(16, 185, 129, 0.25);
  border-left: 5px solid var(--primary); 
}

.job-detail-action-btn {
  width: 30px;
  height: 30px;
  /* background: white; */
  border: none;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  /* box-shadow: 0 5px 18px rgba(0, 0, 0, 0.15); */
  transition: var(--transition);
}

.job-detail-action-btn:hover {
  transform: scale(1.2);
}

.job-detail-action-btn.trash:hover {
  background: #fee2e2;
}

.job-detail-action-btn svg {
  width: 16px;
  height: 16px;
  stroke-width: 2.6;
}
.doc-section {
  margin-bottom: 50px;
  background: #fff;
  padding: 25px;
  border-radius: 12px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}
.doc-heading {
  font-size: 22px;
  font-weight: 700;
  /* margin-bottom: 25px; */
  color: #222;
  text-align: center;
}
.two-column {
  display: flex;
  gap: 25px;
  margin-bottom: 30px;
}
.column {
  flex: 1;
  position: relative;
  overflow: hidden;
  border-radius: 10px;
}
.slider {
  display: flex;
  transition: transform 0.6s ease-in-out;
}
.slide-item {
  padding: 12px;
  box-sizing: border-box;
  flex: 0 0 calc(100% / 5);
}
.slide-item img {
  width: 100%;
  /* height: 220px; */
  object-fit: cover;
  border-radius: 10px;
  cursor: pointer;
  transition: 0.4s;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}
.slide-item img:hover {
  transform: scale(1.05);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}
.slide-item a {
    display: block;
    /* background: linear-gradient(135deg, #667eea, #764ba2); */
    /* color: white; */
    /* text-align: center; */
    padding: 0px 5px;
    border-radius: 10px;
    text-decoration: none;
    /* font-weight: bold; */
    font-size: 19px;
    /* box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15); */
    transition: 0.4s;
}
.slide-item a:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.25);
}

/* Video Section - 6 videos in one row */
.video-carousel {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
}
.video-slider {
  display: flex;
  transition: transform 0.6s ease-in-out;
}
.video-item {
  padding: 12px;
  box-sizing: border-box;
  flex: 0 0 calc(100% / 3); /* 6 videos in one row */
}
.video-item video {
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 10px;
  cursor: pointer;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.12);
  transition: 0.4s;
}
.video-item video:hover {
  transform: scale(1.06);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
}

/* Arrows - Same beautiful Left Arrow Right Arrow */
.slider-controls,
.video-controls {
  position: absolute;
  top: 50%;
  width: 100%;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  pointer-events: none;
  z-index: 10;
}
.btn-slide,
.video-btn {
  pointer-events: all;
  background: rgba(255, 255, 255, 0.95);
  color: #000;
  border: none;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  font-size: 25px;
  font-weight: bold;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
  transition: all 0.4s ease;
}
.btn-slide:hover,
.video-btn:hover {
  background: #fff;
  transform: scale(1.2);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);
}

/* Lightbox */
.lightbox {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.327);
  justify-content: center;
  align-items: center;
  padding: 20px;
  box-sizing: border-box;
}
.lightbox.active {
  display: flex;
}
.lightbox img,
.lightbox video {
  max-width: 94%;
  max-height: 94vh;
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.7);
}
.close-lightbox {
  position: absolute;
  top: 25px;
  right: 35px;
  font-size: 60px;
  color: #fff;
  cursor: pointer;
  font-weight: bold;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.8);
}

/* Responsive */
@media (max-width: 1200px) {
  .video-item {
    flex: 0 0 calc(100% / 4);
  }
}
@media (max-width: 992px) {
  .slide-item,
  .video-item {
    flex: 0 0 50%;
  }
}
@media (max-width: 768px) {
  .two-column {
    flex-direction: column;
  }
  .slide-item,
  .video-item {
    flex: 0 0 100%;
  }
  .btn-slide,
  .video-btn {
    width: 50px;
    height: 50px;
    font-size: 28px;
  }
}
/* Arrow SVG बैकग्राउंड स्टाइल्स */
.slider-controls .btn-slide,
.video-controls .video-btn {
  background: rgba(255, 255, 255, 0.9);
  border: none;
  width: 35px;
  height: 35px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  transition: background 0.3s, transform 0.3s;
}

/* Icon inside button (use inline SVG or ::before) */
.slider-controls .btn-slide::before,
.video-controls .video-btn::before {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  mask-size: contain;
  mask-repeat: no-repeat;
  /* Default: left arrow */
  /* mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15 18L9 12L15 6" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>'); */
  /* background-color: #333; */
}

/* Right arrow for next buttons */
.slider-controls .btn-slide.next::before,
.video-controls .video-btn.next::before {
  /* mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9 18L15 12L9 6" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>'); */
}

/* Hover effect */
.slider-controls .btn-slide:hover,
.video-controls .video-btn:hover {
  background: rgba(255, 255, 255, 1);
  transform: scale(1.1);
}

/* --------------------------------------------- */
/* RESPONSIVE STYLES (Media Queries) */
/* --------------------------------------------- */
@media (max-width: 1240px) {
  .job-detail-container {
    padding: 0 20px;
  }

  .job-detail-right {
    width: 300px;
  }
}

@media (max-width: 992px) {
  .job-detail-content {
    flex-direction: column;
    gap: 20px;
    padding: 24px;
  }

  .job-detail-card {
    padding-right: 20px;
  }

  .job-detail-right {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .job-detail-header {
    padding: 15px 15px;
  }

  .job-detail-search-wrapper {
    padding: 14px 20px;
  }

  .job-detail-category {
    padding: 0 16px;
    font-size: 15px;
    margin-right: 12px;
  }

  .job-detail-search-input {
    font-size: 16px;
  }

  .top-controls {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }

  .add-job-btn {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 480px) {
  .job-detail-container {
    margin: 20px 10px;
  }

  .job-detail-search-wrapper {
    padding: 12px 16px;
  }

  .job-detail-category {
    padding: 0 12px;
    font-size: 14px;
    margin-right: 8px;
  }

  .job-detail-search-input {
    font-size: 14px;
  }

  .job-detail-card {
    margin-bottom: 24px;
  }

  .job-detail-content {
    padding: 16px;
  }

  .job-detail-left,
  .job-detail-right {
    width: 100%;
  }

  .job-detail-actions {
    padding: 20px 12px;
    gap: 16px;
  }

  .job-detail-action-btn {
    width: 48px;
    height: 48px;
  }
}
/* =============================
   MODAL OVERLAY
============================= */
.modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(8px);
  z-index: 999;
  align-items: flex-start;
  justify-content: center;
  padding-top: 60px; /* desktop + mobile dono ke liye perfect */
}

/* =============================
   MODAL
============================= */
.modal {
  background: white;
  width: 880px;
  max-height: 85vh;
  border-radius: 22px;
  overflow: hidden; /* important for clean look */
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.35);
  display: flex;
  flex-direction: column;
  scrollbar-width: none;
  margin-top: 50px;
}

.modal::-webkit-scrollbar {
  display: none;
}

.invalid-feedback{
  color: #dc2626;
}
@keyframes fadeOut {
    0% {
        opacity: 1;
        transform: translateY(0);
    }
    100% {
        opacity: 0;
        transform: translateY(-10px);
        display: none;
    }
}
.alert {
    transition: opacity 1s ease-in-out;
    animation: fadeOut 1s ease-in-out 3s forwards; /* starts fading after 3s */
}
/* HEADER */
.modal-header {
  background: var(--green-badge);
  color: var(--primary-dark);
  padding: 10px 32px;
  font-size: 25px;
  font-weight: 800;
  border-bottom: 4px solid var(--primary);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
}
.modal-close {
  background: none;
  border: none;
  font-size: 34px;
  color: var(--primary-dark);
  cursor: pointer;
}
.modal-close-1 {
  background: none;
  border: none;
  font-size: 34px;
  color: var(--primary-dark);
  cursor: pointer;
}
/* BODY */
.modal-body {
  padding: 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
  flex: 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.modal-body-1 {
 padding: 10px 15px;
  gap: 26px;
  flex: 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.modal_table{
  padding: 24px;
}

/* Full width for Address & Description on Desktop */
/*  .form-group:nth-child(3), 
.form-group:nth-child(4) 
{
  grid-column: 1 / -1; 
}*/

/* Description ko thoda lamba kar diya */
.form-group:nth-child(4) textarea {
  min-height: 110px !important; /* pehle 120 tha, ab bada aur sundar */
}

/* FORM INPUTS */
.form-group {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.form-group label {
  font-size: 16px;
  font-weight: 700;
  color: var(--text-main);
}
.form-group input,
.form-group select,
.form-group textarea {
    padding: 14px 18px;
    border-radius: 14px;
    font-size: 14px;
    border: 2px solid #e2e8f0;
    background: #f8fafc;
    transition: 0.2s;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.15);
  outline: none;
}
.form-group textarea {
  min-height: 120px;
  resize: vertical;
}

/* BUTTONS */
.upload-btn,
.add-job-final {
  background: var(--primary);
  color: white;
  border: none;
  border-radius: 30px;
  padding: 16px 40px;
  font-weight: 800;
  font-size: 16px;
  cursor: pointer;
  display: block;
  margin: 20px auto;
  box-shadow: 0 6px 20px rgba(16, 185, 129, 0.35);
}

/* IMAGE PREVIEW */
.image-preview-container {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 12px;
}
.image-preview {
  width: 110px;
  height: 110px;
  border-radius: 14px;
  overflow: hidden;
  border: 3px solid white;
  box-shadow: 0 5px 16px rgba(0, 0, 0, 0.2);
  position: relative;
}
.image-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.remove-image {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 28px;
  height: 28px;
  background: #ef4444;
  border-radius: 50%;
  color: #fff;
  border: none;
  font-size: 15px;
  cursor: pointer;
}

/* MOBILE FIX – SAB KUCH DIKHEGA */
@media (max-width: 768px) {
  .modal-overlay {
    padding-top: 20px;
    align-items: flex-start;
  }
  .modal {
    width: 95vw;
    max-height: 92vh;
    height: 92vh;
    border-radius: 18px;
    margin-top: 50px;
  }
  .modal-body {
    grid-template-columns: 1fr;
    padding: 24px 20px;
    gap: 20px;
  }
  .modal-header {
    padding: 20px;
    font-size: 23px;
  }
  .add-job-final {
    width: calc(100% - 40px);
    padding: 18px;
  }
  /* Description mobile pe bhi bada rahe */
  .form-group:nth-child(4) textarea {
    min-height: 140px !important;
  }
}

@media (max-width: 480px) {
  .modal {
    width: 96%;
  }
  .modal-body {
    padding: 20px 16px;
  }
  .modal-header {
    font-size: 21px;
    padding: 18px;
  }
}

/* ==================== MOBILE RESPONSIVE ONLY ==================== */

@media (max-width: 1024px) {
  .job-detail-container {
    padding: 0 24px;
  }
  .job-detail-content {
    gap: 32px;
  }
  .job-detail-right {
    width: 360px;
  }
}

@media (max-width: 968px) {
  .modal {
    background: white;
    width: 888px;
    max-height: 85vh;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.35);
    margin-top: 30px;
  }

  .main-search-wrapper {
    max-width: 100%;
    padding: 0;
  }
  .job-detail-search-wrapper {
    padding: 6px;
    border-radius: 50px;
  }
  .job-detail-category {
    font-size: 16px;
    padding: 0 16px;
    margin-right: 16px;
  }
  .job-detail-search-input {
    font-size: 17px;
  }

  .top-controls {
    gap: 12px;
  }
  .job-detail-filter {
    padding: 10px 20px;
    font-size: 14.5px;
  }
  .add-job-btn {
    padding: 12px 28px;
    font-size: 15px;
  }

  .job-detail-card {
    padding-right: 100px;
  }
  .job-detail-actions {
    padding: 28px 14px;
    gap: 20px;
  }
  .job-detail-action-btn {
    width: 48px;
    height: 48px;
  }
  .job-detail-action-btn svg {
    width: 22px;
    height: 22px;
  }
}

@media (max-width: 768px) {
  .job-detail-header {
    padding: 16px 16px;
    padding:0; margin-top:5px;
  }
  .job-detail-card { 
    position: relative;
    background: white;
    border-radius: var(--radius);
    border: 1px solid var(--border);
    box-shadow: var(--shadow-sm);
    margin-bottom: 12px;
    overflow: hidden;
    padding: 15px;
    padding: 0px 80px 0px 0px;
    padding-right: 80px;
    transition: var(--transition);
  }
.notification-panel { 
    position: fixed;
    top: 0;
    right: -420px;
    width: 315px;
    height: 100vh;
    background: white;
    box-shadow: -10px 0 40px rgba(0, 0, 0, 0.15);
    z-index: 1100;
    transition: right 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    display: flex;
    flex-direction: column;
}

  .job-detail-content {
    flex-direction: column;
    padding: 1px;
    gap: 2px;
  }
  .job-detail-left,
  .job-detail-right {
    width: 100%;
  }

    .job-detail-actions {
      position: static;
      transform: none;
      flex-direction: row;
      justify-content: center;
      padding: 0px 1px;
      border-radius: 0 0 18px 18px;
      border-left: none;
      border-top: 5px solid var(--primary);
      /* box-shadow: 0 -10px 30px rgba(16, 185, 129, 0.18); */
      gap: 24px;
    }

  .job-detail-card {
    padding-right: 0;
  }

  .modal {
    width: 96%;
    margin: 60px auto;
  }
  .modal-body {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 28px 24px;
  }
  .modal-header {
    padding: 20px 24px;
    font-size: 22px;
  }
  .upload-btn {
    padding: 14px 36px;
    font-size: 15.5px;
  }
  .add-job-final {
    padding: 16px 50px;
    font-size: 17px;
  }
}
@media (max-width: 580px) {
  .job-detail-card {
            padding: 2px 5px;
        }
  /*.job-detail-search-wrapper {
    ex-direction: column;
    padding: 16px;
    gap: 12px;
    border-radius: 40px; 
  } 
  .job-detail-category {
    border-right: none;
    border-bottom: 2px solid #e2e8f0;
    padding: 8px 0;
    width: 100%;
    text-align: center;
    margin-right: 0;
  }*/
 
  .job-detail-category{width:80px;}
  .search-input-group {
    width: 100%;
    justify-content: center;
  }
  .job-detail-search-icon {
    margin-right: 12px;
  }
  .job-detail-search-input {
    font-size: 16px !important; /* iOS fix */
    width:100%;
  }

  .top-controls {
    flex-direction: column;
    align-items: stretch;
  }
  .job-detail-filter,
  .add-job-btn {
    width: 100%;
    justify-content: center;
  }
  .add-job-btn {
    padding: 14px 20px;
  }

  .job-detail-address {
    font-size: 17.5px;
  }
  .job-detail-type {
    font-size: 13px;
    padding: 0px 10px;
  }
  .job-detail-desc {
    font-size: 14.5px;
    padding: 0px 18px;
  }

  .job-detail-actions {
    gap: 16px;
    padding: 0px 1px;
  }

  .job-detail-action-btn {
    width: 34px;
    height: 34px;
    background: none;
  }

  .image-preview {
    width: 90px;
    height: 90px;
  }
  .remove-image {
    width: 24px;
    height: 24px;
    font-size: 14px;
  }
}

/* stocck entry */
/* 
.stock-entry-container {
  max-width: 1350px;
  margin: 0 auto;
  background: white;
  border-radius: 16px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
  overflow: hidden;
} */

/* .stock-entry-header {
  background: var(--gray-100);
  border-bottom: 1px solid var(--gray-200);
} */

.stock-entry-title {
  font-size: 26px;
  font-weight: 700;
  /* color: var(--gray-900); */
}

.stock-entry-subtitle {
  font-size: 14px;
  color: var(--gray-500);
  margin: 0;
}

.stock-entry-body {
  padding: 15px;
}

.stock-entry-section {
  margin-bottom: 32px;
}

.stock-entry-section-title {
  font-weight: 600;
  color: var(--gray-700);
  margin-bottom: 14px;
  font-size: 15px;
}
.stock-entry-required {
  color: var(--red);
}
.stock-entry-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: end;
}
.stock-entry-label {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  font-size: 14px;
  color: var(--gray-700);
}
.stock-entry-input,
.stock-entry-select {
  width: 100%;
  padding: 13px 16px;
  border: 1.5px solid var(--gray-300);
  border-radius: 10px;
  font-size: 15px;
  background: white;
  box-sizing: border-box;
}
.stock-entry-input:focus,
.stock-entry-select:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.15);
}
/* DATE INPUT WITH CALENDAR ICON */
.stock-entry-date-wrapper {
  position: relative;
}
.stock-entry-date-wrapper::after {
  content: "\f073";
  font-weight: 900;
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--primary);
  pointer-events: none;
  font-size: 16px;
}
/* TABLE INPUTS - PERFECT ALIGNMENT */
.stock-entry-items-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 16px 0 20px;
  background: white;
  border: 1px solid var(--gray-200);
  border-radius: 10px;
}
.stock-entry-items-table th {
  background: var(--gray-100);
  padding: 14px 16px;
  text-align: left;
  font-weight: 600;
  font-size: 14px;
  color: var(--gray-700);
}
.stock-entry-items-table td {
  padding: 8px 5px;
  vertical-align: middle;
  border-bottom: 1px solid var(--gray-200);
}
.stock-entry-items-table input,
.stock-entry-items-table select {
  /* width: 100%; */
  padding: 11px 12px;
  border: 1.5px solid var(--gray-300);
  border-radius: 8px;
  font-size: 14px;
  box-sizing: border-box;
  height: 42px;
}

.stock-entry-remove-row {
  color: var(--red);
  font-size: 22px;
  cursor: pointer;
  text-align: center;
  width: 40px;
  height: 40px;
  line-height: 40px;
}

.stock-entry-add-row-btn {
  background: var(--primary);
  color: white;
  border: none;
  padding: 11px 22px;
  border-radius: 50px;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
      margin-top: 15px;
}

.stock-entry-add-row-btn:hover {
  background: var(--primary-dark);
}

.stock-entry-totals {
  background: var(--gray-100);
  padding: 20px 24px;
  border-radius: 12px;
  text-align: right;
  font-size: 15px;
  max-width: 400px;
  margin-left: auto;
}

.stock-entry-total-line {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
}

.stock-entry-discount-input {
  width: 80px;
  padding: 6px 10px;
  border: 1.5px solid var(--gray-300);
  border-radius: 6px;
  text-align: center;
}

.stock-entry-submit {
  background: var(--primary-dark);
  color: white;
  border: none;
  padding: 14px 32px;
  border-radius: 50px;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 24px;
}

.stock-entry-alert {
  margin-top: 28px;
  padding: 16px 20px;
  background: #ecfdf5;
  border-left: 5px solid var(--primary);
  border-radius: 0 8px 8px 0;
  color: var(--primary-dark);
  font-weight: 500;
}

/* add item  */
/* .add-item-container {
  max-width: 1150px;
  margin: 0 auto;
  background: white;
  border-radius: 16px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);

}

.add-item-title {
     color: white;
    font-size: 1.5rem;
    font-weight: 600;
    text-align: center;
    background: var(--primary);
    padding: 20px 30px;
  border-radius: 16px 16px 0 0;

} */

.add-item-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 24px;
  margin-bottom: 20px;
  padding: 10px 32px;
}

.add-item-full {
  grid-column: 1 / -1;
  padding: 0px 10px;
}

.add-item-label {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  font-size: 14.5px;
  color: var(--gray-700);
}

.add-item-required {
  color: var(--red);
  font-weight: bold;
}

.add-item-input,
.add-item-select,
.add-item-textarea {
  width: 100%;
  padding: 14px 16px;
  border: 1.8px solid var(--gray-300);
  border-radius: 10px;
  font-size: 15px;
  background: white;
  box-sizing: border-box;
  transition: all 0.2s;
}

.add-item-input:focus,
.add-item-select:focus,
.add-item-textarea:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.15);
}

.add-item-textarea {
  min-height: 100px;
  resize: vertical;
}

.add-item-select {
  cursor: pointer;
}

.add-item-submit-btn {
  background: var(--primary);
  color: white;
  border: none;
  padding: 14px 36px;
  border-radius: 10px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
  transition: background 0.3s;
  margin-bottom: 32px;
  margin-left: 32px;
}

.add-item-submit-btn:hover {
  background: #000;
}

/* Responsive */
@media (max-width: 768px) {
  .add-item-grid {
    grid-template-columns: 1fr;
  }
  .add-item-container {
    padding: 5px;
  }
  .add-item-grid {
  display: grid;
  gap: 10px;
  margin-bottom: 20px;
  padding: 10px 6px;
}
.job-detail-action-btn {
        width: 34px;
        height: 34px;
        background: none;
    }
}
/* job profile - 4 FIELDS PER ROW VERSION */

.job-profile-section {
  padding: 40px;
}

/* 4 Inputs Per Row - Main Change Yahan Hai */
.job-profile-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 26px;
  margin-bottom: 30px;
}

/* Responsive Breakpoints */
@media (max-width: 1200px) {
  .job-profile-row {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 992px) {
  .job-profile-row {
    grid-template-columns: repeat(2, 1fr);
  }

  .stock-report{margin-top:10px;}
.stock-report .flatpickr-mobile{ width:130px;}
}

@media (max-width: 600px) {
  .job-profile-row {
    grid-template-columns: 1fr;
  }
}

.job-profile-field {
  display: flex;
  flex-direction: column;
}

.job-profile-label {
  font-weight: 600;
  font-size: 15px;
  margin-bottom: 9px;
  color: var(--text-main);
}

.job-profile-required {
  color: #ef4444;
  font-weight: bold;
}

.job-profile-input,
.job-profile-select {
  padding: 15px 18px;
  border: 2.5px solid var(--border);
  border-radius: var(--radius);
  font-size: 15px;
  background: white;
  transition: all 0.3s ease;
}

.job-profile-input:focus,
.job-profile-select:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 5px rgba(16, 185, 129, 0.18);
}

/* Document Uploads Section */
.job-profile-docs-title {
  font-size: 28px;
  font-weight: 700;
  text-align: center;
  margin: 70px 0 40px 0;
  padding-bottom: 14px;
  border-bottom: 4px solid var(--primary-light);
  color: var(--text-main);
}

.job-profile-files-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  margin-top: 20px;
}

@media (max-width: 1100px) {
  .job-profile-files-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .job-profile-files-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .job-profile-files-grid {
    grid-template-columns: 1fr;
  }
}

.job-profile-file-group {
  background: #fcfcfc;
  border-radius: var(--radius);
  text-align: center;
  transition: all 0.4s ease;
  cursor: pointer;
  border: 2px solid transparent;
}

.job-profile-file-group:hover {
  transform: translateY(-6px);
}

.job-profile-file-label-text {
  font-weight: 600;
  font-size: 16px;
  color: var(--text-main);
  margin-bottom: 20px;
  display: block;
}

.job-profile-upload-btn {
  background: #f0fdf4;
  border: 2px solid #86efac;
  color: #31774b;
  padding: 5px 30px;
  border-radius: 50px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  width: 100%;
  transition: all 0.3s ease;
}

.job-profile-upload-btn:hover {
  background: #86efac;
  color: #000;
}

.job-profile-file-input {
  display: none;
}

/* File Preview Styles */
.job-profile-file-list {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
  padding: 10px 0;
}

.job-profile-file-preview-item {
  position: relative;
  width: 90px;
  height: 90px;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
}

.job-profile-file-preview-item:hover {
  transform: scale(1.1);
  box-shadow: 0 12px 25px rgba(0, 0, 0, 0.25);
}

.job-profile-preview-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.job-profile-preview-file {
  background: #f8fafc;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  font-size: 11px;
  color: var(--text-muted);
  text-align: center;
  word-break: break-all;
}

.job-profile-remove-file {
  position: absolute;
  top: -10px;
  right: -10px;
  background: #ef4444;
  color: white;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  font-size: 18px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(239, 68, 68, 0.5);
  transition: all 0.3s ease;
}

.job-profile-remove-file:hover {
  background: #dc2626;
  transform: scale(1.2);
}

.job-profile-submit {
  background: var(--primary-dark);
  color: white;
  border: none;
  padding: 20px 70px;
  border-radius: 50px;
  font-size: 19px;
  font-weight: 700;
  cursor: pointer;
  margin: 70px auto 20px;
  display: block;
  transition: all 0.4s ease;
}

.job-profile-submit:hover {
  background: #166534;
  transform: scale(1.08);
  box-shadow: 0 20px 40px rgba(22, 101, 52, 0.4);
}

/* employe management  */

.emp-management-section {
  padding: 40px;
}
/* 
.emp-management-page-title {
  font-size: 28px;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 8px;
} */

.emp-management-page-subtitle {
  color: var(--gray);
  /* margin-bottom: 30px; */
  font-size: 15px;
}

.emp-management-section-title {
  font-size: 22px;
  font-weight: 700;
  color: var(--text);
  margin: 0px 0 0px 0;
  padding-bottom: 10px;
  border-bottom: 3px solid var(--primary-light);
  display: inline-block;
}

.emp-management-form-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  margin-bottom: 20px;
}

@media (max-width: 1200px) {
  .emp-management-form-grid {
    grid-template-columns: 1fr;
  }
  .emp-management-form-group.full-width,
  .emp-management-form-group.half-width {
    grid-column: span 1;
  }

}
@media (max-width: 768px) {
  .emp-management-form-grid {
    grid-template-columns: 1fr;
  }
}

.emp-management-form-group {
  display: flex;
  flex-direction: column;
}

/* .emp-management-form-group.full-width {
  grid-column: span 4;
}

.emp-management-form-group.half-width {
  grid-column: span 2;
} */

.emp-management-label {
  font-weight: 600;
  font-size: 14.5px;
  color: var(--text);
  margin-bottom: 8px;
}

.emp-management-input,
.emp-management-select {
  padding: 14px 16px;
  border: 2px solid var(--border);
  border-radius: var(--radius);
  font-size: 15px;
  background: white;
  transition: all 0.3s ease;
}

.emp-management-input:focus,
.emp-management-select:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.15);
}

.emp-management-date-input {
  cursor: pointer;
}

.emp-management-submit-btn {
  background: var(--primary-dark);
  color: white;
  border: none;
  padding: 16px 50px;
  border-radius: 50px;
  font-size: 17px;
  font-weight: 600;
  cursor: pointer;
  margin-top: 50px;
  transition: all 0.4s ease;
}

.emp-management-submit-btn:hover {
  background: #166534;
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(22, 101, 52, 0.35);
}

/* complaints  */
/* 
.complaints-container {
  max-width: 1100px;
  margin: 0 auto;
  background: white;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 40px;
} */
/* 
.complaints-page-title {
    color: white;
    font-size: 1.5rem;
    font-weight: 600;
    text-align: center;
    background: var(--primary);
    padding: 20px 30px;
    border-radius: 16px;    border-radius: 16px 16px 0px 0px;
} */

.complaints-page-subtitle {
  color: var(--gray);
  font-size: 15px;
  margin-bottom: 30px;
}

.complaints-section-title {
  font-size: 20px;
  font-weight: 600;
  margin: 30px 30px 20px;
  padding-bottom: 10px;
  border-bottom: 2px solid #e5e7eb;
}

.complaints-dispute-box {
  background: #fafafa;
  border: 1px solid #e5e7eb;
  margin: 0px 30px;
  border-radius: var(--radius);
  padding: 30px;overflow: scroll;
} 

.complaints-checkbox-group {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-bottom: 25px;
} 

@media (max-width: 768px) {
  .complaints-checkbox-group {
    grid-template-columns: 1fr;
  }
}

.complaints-checkbox-item {
  display: flex;
  align-items: center;
  font-size: 15px;
  gap: 10px;
}

.complaints-checkbox-item input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--primary);
  cursor: pointer;
}

.complaints-form-group {
  margin-bottom: 22px;
}

.complaints-label {
  display: block;
  font-weight: 600;
  font-size: 14.5px;
  margin-bottom: 8px;
  color: #374151;
}

.complaints-select,
.complaints-textarea,
.complaints-input {
  width: 95%;
  /* padding: 14px 16px; */
  border: 2px solid var(--border);
  border-radius: var(--radius);
  font-size: 15px;
  background: white;
}

.complaints-select:focus,
.complaints-textarea:focus,
.complaints-input:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 4px rgba(30, 64, 175, 0.15);
}

.complaints-textarea {
  min-height: 120px;
  resize: vertical;
}

.complaints-stock-loss-row {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 15px;
  align-items: end;
  margin-bottom: 15px;
}

@media (max-width: 768px) {
  .complaints-stock-loss-row {
    grid-template-columns: 1fr;
  }
}

.complaints-remove-btn {
  background: var(--primary);
  color: white;
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
}

.complaints-remove-btn:hover {
  background: #b91c1c;
}

.complaints-button-group {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 40px;
  flex-wrap: wrap;
}

.complaints-add-dispute-btn,
.complaints-add-item-btn {
  background: var(--primary-dark);
  color: white;
  border: none;
  padding: 14px 32px;
  border-radius: 50px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
  transition: all 0.3s ease;
}

.complaints-add-dispute-btn:hover,
.complaints-add-item-btn:hover {
  background: #1e3a8a;
  transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(30, 64, 175, 0.3);
}

.complaints-add-item-btn {
  background: #1e40af;
}
.complaints-stock-loss-row {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 15px;
  align-items: end;
  margin-bottom: 15px;
}

.complaints-stock-actions {
  display: flex;
  gap: 5px;
}

.complaints-add-btn,
.complaints-remove-btn {
  background: var(--primary-dark);
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
}

.complaints-add-btn:hover {
  background: #1e3a8a;
  transform: translateY(-2px);
}

.complaints-remove-btn:hover {
  background: #b91c1c;
  transform: translateY(-2px);
}
.review-type-row {
  display: flex;
  gap: 30px;
  margin-top: 10px;
}

.review-check {
  font-size: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

.complaints-stock-actions {
  display: flex;
  gap: 5px;
}

.complaints-add-btn,
.complaints-remove-btn {
  background: var(--primary-dark);
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
}

.complaints-add-btn:hover {
  background: #1e3a8a;
  transform: translateY(-2px);
}

.complaints-remove-btn:hover {
  background: #b91c1c;
  transform: translateY(-2px);
}

/* deduction  */

.deduction-container-section {
  padding: 20px;
}

/* .deduction-page-title {
  font-size: 28px;
  font-weight: 700;
  color: var(--text-main);
} */

.deduction-section-title {
  font-size: 18px;
  font-weight: 600;
  margin: 25px 0 20px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--border);
  color: var(--text-main);
}

.deduction-form-box {
  background: var(--gray-100);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 15px;
}

.deduction-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 8px;
  margin-bottom:10px;
}

@media (max-width: 992px) {
  .deduction-row {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 600px) {
  .deduction-row {
    grid-template-columns: 1fr;
  }
}

.deduction-form-group {
  display: flex;
  flex-direction: column;
}

.deduction-label {
  font-weight: 600;
  font-size: 14.5px;
  margin-bottom: 8px;
  color: var(--text-main);
}

.deduction-select,
.deduction-input {
  padding: 14px 16px;
  border: 2px solid var(--border);
  border-radius: var(--radius);
  font-size: 15px;
  background: white;
  transition: var(--transition);
}

.deduction-select:focus,
.deduction-input:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 5px rgba(16, 185, 129, 0.18);
}

.deduction-date-group {
  position: relative;
}

.deduction-date-input {
  padding-right: 45px !important; /* space for icon */
}

.deduction-calendar-icon {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  color: #6b7280;
  font-size: 18px;
  pointer-events: none;
}

.deduction-button-wrapper {
  text-align: center;
  margin-top: 40px;
}

.deduction-add-btn {
  background: var(--primary-dark);
  color: white;
  border: none;
  padding: 16px 45px;
  border-radius: 50px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: var(--transition);
  box-shadow: 0 8px 25px rgba(22, 101, 52, 0.3);
}

.deduction-add-btn:hover {
  background: #14532d;
  transform: translateY(-4px);
  box-shadow: 0 15px 35px rgba(22, 101, 52, 0.45);
}
/* 3-column row for Worker, Amount, Date */
.deduction-top-row {
  grid-template-columns: 1fr 1fr 1fr;
}

@media (max-width: 992px) {
  .deduction-top-row {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 600px) {
  .deduction-top-row {
    grid-template-columns: 1fr;
  }
}

/* Reason textarea full width */
.deduction-form-box textarea {
  width: 100%;
  padding: 14px 16px;
  border: 2px solid var(--border);
  border-radius: var(--radius);
  font-size: 15px;
  background: #fff;
}

/* Calendar icon fix */
.deduction-calendar-icon {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: #777;
  font-size: 18px;
}

/* stock report */
/* Stock Report Section - Fully Mobile Responsive */
.stock-report-container {
  max-width: 1350px;
  margin: 0 auto;
  background: white;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 40px;
}

/* Header Layout - Title Left, Filters Right & Below on Mobile */
.stock-report-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 30px;
}

/* Title - Always Top Left */
.stock-report-title {
  font-size: 28px;
  font-weight: 700;
  color: var(--text-main);
  margin: 0;
  padding-bottom: 20px;
  flex: 1;
  min-width: 250px;
}

/* Left Filters - Vertically Stacked */
.stock-report-filters-left {
  display: flex;
  gap: 12px;
  font-size: 15px;
}

.stock-report-filter-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.stock-report-filter-label {
  font-weight: 600;
  color: var(--text-main);
  white-space: nowrap;
}

.stock-report-select {
  padding: 10px 14px;
  border: 2px solid var(--border);
  border-radius: 10px;
  background: white;
  font-size: 14.5px;
  min-width: 180px;
  flex: 1;
}

/* Right Date Filters - Same Line on Desktop */
/* .stock-report-date-filters {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 15px;
  white-space: nowrap;
  min-width: 320px;
} */

.stock-report-date-input {
  padding: 10px 12px;
  border: 2px solid var(--border);
  border-radius: 10px;
  width: 135px;
  font-size: 14.5px;
}

/* Table Styling */
.stock-report-table-wrapper {
  overflow-x: auto;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  margin-top: 10px;
}

.stock-report-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14.8px;
  min-width: 900px; /* Ensures horizontal scroll on small screens */
}

.stock-report-table th {
  background: var(--gray-100);
  padding: 15px 14px;
  text-align: left;
  font-weight: 600;
  color: var(--text-main);
  border-bottom: 2px solid var(--border);
}

.stock-report-table td {
  padding: 14px;
  border-bottom: 1px solid var(--border);
  white-space: nowrap;
}

.stock-report-table tr:hover {
  background: var(--green-light);
  transition: background 0.3s ease;
}

.stock-report-status-receive {
  color: var(--primary-dark);
  font-weight: 600;
}

.stock-report-status-due {
  color: #dc2626;
  font-weight: 600;
}

.stock-report-total-row {
  background: var(--gray-100);
  font-weight: 700;
  font-size: 15.5px;
}

.stock-report-total-row td {
  padding: 16px 14px;
}

/* Fully Mobile Responsive */
@media (max-width: 1200px) {
  .stock-report-header {
    flex-direction: column;
    align-items: stretch;
  }

  .stock-report-title {
    padding-bottom: 10px;
  }

  .stock-report-filters-left,
  .stock-report-date-filters {
    min-width: auto;
  }
}

@media (max-width: 768px) {
  .stock-report-container {
    padding: 20px;
  }

  .stock-report-title {
    font-size: 24px;
  }

  .stock-report-filters-left {
    gap: 12px;
  }

  .stock-report-filter-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .stock-report-select {
    width: 100%;
    min-width: auto;
  }

  .stock-report-date-filters {
    /* flex-wrap: wrap; */
    justify-content: flex-start;
    white-space: normal;
  }

  .stock-report-date-input {
    width: 100%;
    max-width: 200px;
  }
}

@media (max-width: 480px) {
  .stock-report-title {
    font-size: 22px;
  }

  .stock-report-filter-label {
    font-size: 14px;
  }

  .stock-report-select,
  .stock-report-date-input {
    font-size: 14px;
    padding: 10px;
  }

  .stock-report-table {
    font-size: 13.5px;
  }

  .stock-report-table th,
  .stock-report-table td {
    padding: 10px 8px;
  }
}

/* add job  */
/* ====== Main Container (Same as your form-container) ====== */
.add-job-container {
  max-width: 1150px;
  margin: 0 auto;
  background: white;
  border-radius: 16px;
  box-shadow: var(--shadow);
  overflow: hidden;
}

.add-job-title {
  color: white;
  font-size: 1.5rem;
  font-weight: 600;
  text-align: center;
  background: var(--primary);
  padding: 20px 30px;
  border-radius: 16px 16px 0 0;
}

/* ====== Add Job Form Section ====== */
.add-job-form-section {
  padding: 40px 50px 30px;
  background: #fafcff;
}

.add-job-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
  margin-bottom: 20px;
}

.add-job-form-group {
  display: flex;
  flex-direction: column;
}

.add-job-form-group label {
  font-weight: 600;
  color: var(--gray-700);
  margin-bottom: 8px;
  font-size: 15px;
}

.add-job-form-group input,
.add-job-form-group select,
.add-job-form-group textarea {
  padding: 14px 16px;
  border: 1.5px solid var(--gray-300);
  border-radius: 12px;
  font-size: 15px;
  background: white;
  transition: var(--transition);
}

.add-job-form-group input:focus,
.add-job-form-group select:focus,
.add-job-form-group textarea:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.15);
}

.add-job-submit-btn {
  display: block;
  width: 180px;
  margin: 0 auto;
  padding: 14px 30px;
  background: var(--primary);
  color: white;
  font-weight: 600;
  font-size: 16px;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  transition: var(--transition);
}

.add-job-submit-btn:hover {
  background: #059669;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(16, 185, 129, 0.25);
}

/* Button */
.btn-create-contact {
  padding: 12px 20px;
  font-size: 15px;
  border: none;
  border-radius: 50px;
  background: #10b981;
  color: white;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s;
}

.van-service-btn-create {
  padding: 10px 20px;
  background-color: #000000;
  color: #ffffff;
  border: none;
  border-radius: 50px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s;
}
/* Modal Container */
.modal-container {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  justify-content: center;
  align-items: center;
  z-index: 9999;
  animation: fadeIn 0.3s;
}

/* Modal Content */
.modal-content {
  background: #fff;
  border-radius: 12px;
  width: 700px;
  max-width: 100%;
  padding: 75px 30px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
  position: relative;
  transform: scale(0.8);
  animation: scaleUp 0.3s forwards;
}

/* Close Button */
.modal-close {
  position: absolute;
  top: 12px;
  right: 16px;
  font-size: 22px;
  font-weight: bold;
  color: #555;
  cursor: pointer;
  transition: color 0.2s;
}
.modal-close-1 {
  /* position: absolute; */
  top: 12px;
  right: 16px;
  font-size: 22px;
  font-weight: bold;
  color: #555;
  cursor: pointer;
  transition: color 0.2s;
}
.modal-close-1:hover {
  color: #000;
}
.modal-close:hover {
  color: #000;
}

/* Modal Title */
.modal-title {
  text-align: center;
  font-size: 1.5rem;
  margin-bottom: 20px;
  color: #222;
}

/* Form Grid */
.modal-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
  /* margin-bottom: 20px; */
}

/* Form Fields */
.modal-form-group label {
  display: block;
  margin-bottom: 6px;
  font-weight: 500;
  color: #555;
}
.modal-form-group input {
  width: 100%;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid #ccc;
  font-size: 14px;
  transition: border 0.2s, box-shadow 0.2s;
}
.modal-form-group input:focus {
  border-color: #3b82f6;
  box-shadow: 0 0 5px rgba(59, 130, 246, 0.4);
  outline: none;
}

/* Submit Button */
.modal-submit-btn {
  width: 100%;
  padding: 12px;
  border: none;
  border-radius: 8px;
  background: #10b981; /* Green */
  color: white;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  transition: background 0.2s, transform 0.2s;
}
.modal-submit-btn:hover {
  background: #059669;
  transform: translateY(-2px);
}

/* Animations */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes scaleUp {
  from {
    transform: scale(0.8);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}

/* Responsive */
@media (max-width: 700px) {
  .modal-form-grid {
    grid-template-columns: 1fr !important;
  }
  .modal-content {
    padding: 20px;
  }
  
      .modal-purchase-body{
       margin: 22px 20; padding: 10px 40px;
      }
}

/* Toggle Switch */
.attendance-management-toggle {
  position: relative;
  display: inline-block;
  width: 56px;
  height: 30px;
  margin: 0 12px;
}

.attendance-management-toggle input {
  opacity: 0;
  width: 0;
  height: 0;
}

.attendance-management-slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #cbd5e1;
  border-radius: 50px;
  transition: 0.3s;
}

.attendance-management-slider:before {
  position: absolute;
  content: "";
  height: 24px;
  width: 24px;
  left: 3px;
  bottom: 3px;
  background-color: white;
  border-radius: 50%;
  transition: 0.3s;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

/* Checked = Present (Green) */
input:checked + .attendance-management-slider {
  background-color: #10b981;
}

input:checked + .attendance-management-slider:before {
  transform: translateX(26px);
}

/* Status Text */
.attendance-management-status-text {
  font-weight: 600;
  color: var(--gray-500);
  transition: color 0.3s;
}

input:checked ~ .attendance-management-status-text {
  color: var(--primary-green);
}

/* Overlay */
.popup-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 999999;
}
.action-menu-trigger {
  cursor: pointer;
}
/* Popup Box */
.popup-box {
  background: #fff;
  padding: 25px;
  border-radius: 10px;
  min-width: 260px;
  position: relative;
  text-align: center;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.popup-box h3 {
  margin-bottom: 18px;
  font-size: 18px;
  color: #333;
}

/* Close button */
.popup-close {
  position: absolute;
  top: 8px;
  right: 12px;
  font-size: 22px;
  cursor: pointer;
}

/* List container */
.popup-list {
  list-style: none;
  padding: 0;
  margin: 15px 0 0 0;
}

/* List items */
.popup-list-item {
  padding: 12px 15px;
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  border-radius: 6px;
  font-size: 15px;
  color: #333;
  transition: 0.2s;
}

/* Hover effect */
.popup-list-item:hover {
  background: #f1f1f1;
}

/* Delete item */
.popup-list-item.delete {
  color: #ef4444;
}

.popup-list-item.delete:hover {
  background: #ffe5e5;
}


/* contact model  */

/* Modal Background */
.modal-container {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  justify-content: center;
  align-items: center;
  z-index: 9999;
  
}

/* Modal Box */
.modal-content {
  background: #fff;
  border-radius: 12px;
  width: 800px;
  max-width: 95%;
  padding: 25px 30px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
  position: relative;
}

/* Close Button */
/* .modal-close {
  position: absolute;
  top: 12px;
  right: 16px;
  font-size: 22px;
  font-weight: bold;
  color: #555;
  cursor: pointer;
} */

/* Title */
.modal-title {
  text-align: center;
  font-size: 1.5rem;
  margin-bottom: 20px;
  color: #222;
}

/* Grids */
.modal-form-grid {
  display: grid;
  gap: 15px;
  /* margin-bottom: 20px; */
}

.modal-form-grid.two-col {
  grid-template-columns: 1fr 1fr;
}

.modal-form-grid.three-col {
  grid-template-columns: 1fr 1fr 1fr;
}

/* Input Groups */
.modal-form-group {
  display: flex;
  flex-direction: column;
  padding: 3px;
}

.modal-form-group label {
  margin-bottom: 6px;
  font-weight: 500;
  color: #555;
}

/* Inputs & Selects */
.modal-form-group select,
.modal-form-group input,
.modal-form-group textarea {
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid #ccc;
  font-size: 14px;
}

/* Submit Button */
.modal-submit-btn {
  width: 100%;
  padding: 12px;
  border: none;
  border-radius: 8px;
  background: #10b981;
  color: white;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  transition: 0.2s;
}

.modal-submit-btn:hover {
  background: #0e9f6e;
}



        .contact_detail-popup-item {
          display: flex;
          align-items: center;
          gap: 8px;
        }

        .contact_detail-popup-item input[type="checkbox"] {
          cursor: pointer;
        }
        .contact_detail-popup-footer {
          display: flex;
          justify-content: center; /* Center the buttons */
          gap: 12px;
          padding-top: 15px;
          border-top: 1px solid #ddd;
          margin-top: 15px;
        }

        .contact_detail-btn {
          padding: 8px 16px;
          font-size: 14px;
          border-radius: 5px;
          border: none;
          cursor: pointer;
        }

        .contact_detail-btn-cancel {
          background: #ccc;
          color: #000;
        }

        .contact_detail-btn-save {
          background: #1bb34a;
          color: #fff;
        }
/* 3 .three-dots-btn
 */
.three-dot-wrapper {
  position: relative;
  display: inline-block;
}

.three-dot-btn {
  border: none;
  background: transparent;
  cursor: pointer;
  padding: 8px;
  border-radius: 8px;
  display: flex;
  flex-direction: column; 
  gap: 2px;
}

.three-dot-btn span {
  width: 3px;
  height: 3px;
  background: #444;
  border-radius: 50%;
}

.three-dot-btn:hover {
  background: #f0f0f0;
}

/* Yeh sabse important — fixed + bilkul touch mein */
.three-dot-dropdown {
  display: none;
  position: fixed;           /* ← Table se bahar nikal gaya */
  background: white;
  min-width: 190px;
  border-radius: 12px;
  box-shadow: 0 10px 35px rgba(0,0,0,0.3);
  z-index: 99999;
  padding: 8px 0;
}

.three-dot-dropdown a {
  display: block;
  /* padding: 12px 20px; */
  padding: 10px 0px; 
  text-decoration: none;
  color: #333;
  font-size: 15px;
}

.three-dot-dropdown a:hover {
  background: #10b981;
  color: white;
}

.divider {
  height: 1px;
  background: #eee;
  margin: 8px 0;
}

.three-dot-dropdown.show {
  display: block;
}


/* ====================== GALLERY SECTION - FULLY RESPONSIVE ====================== */

.top-row {
  display: flex;
  gap: 20px;
  margin-bottom: 40px;
  flex-wrap: wrap; /* Important for mobile */
}

.half-box {
  flex: 1;
  min-width: 300px;           /* Mobile pe full width nahi hoga, safe minimum */
  background: #fafafa;
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 8px 25px rgba(0,0,0,0.08);
}

.section-title {
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 18px;
  color: #222;
}

/* Carousel Container */
.carousel-container {
  position: relative;
  overflow: hidden;
  border-radius: 14px;
  background: #fff;
}

.carousel-track {
  display: flex;
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Items - Responsive Width & Height */
.carousel-item {
  padding: 8px;
  box-sizing: border-box;
}
 .carousel-item video {
   width: 100%;
  height: 150px;             
  object-fit: cover;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.4s ease;
  box-shadow: 0 6px 20px rgba(0,0,0,0.12);
 }
/* Desktop: 5 Photos | 5 PDFs | 7 Videos */
@media (min-width: 1200px) {
  .half-box .carousel-item { 
    min-width: 20%;        /* 5 items visible */
  }
  .video-box .carousel-item { 
    min-width: calc(100% / 3); /* 7 videos visible */
  }
}

/* Large Tablet */
@media (max-width: 1199px) and (min-width: 900px) {
  .half-box .carousel-item { min-width: 25%; }     /* 4 visible */
  .video-box .carousel-item { min-width: 20%; }    /* 5 visible */
}

/* Small Tablet */
@media (max-width: 899px) and (min-width: 600px) {
  .half-box .carousel-item { min-width: 33.33%; }  /* 3 visible */
  .video-box .carousel-item { min-width: 25%; }    /* 4 visible */
}

/* Mobile */
@media (max-width: 599px) {
  .top-row {
    flex-direction: column;
    gap: 25px;
  }
  .half-box .carousel-item,
  .video-box .carousel-item {
    min-width: 85%;           /* Almost full width, smooth slide */
  }
}

/* Image & Video Height - Responsive */
.carousel-item img{
  width: 100%;
  height: 80px;             
  object-fit: cover;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.4s ease;
  box-shadow: 0 6px 20px rgba(0,0,0,0.12);
}

.carousel-item img:hover,
.carousel-item video:hover {
  transform: scale(1.06);
  box-shadow: 0 15px 40px rgba(0,0,0,0.3);
}

/* Mobile pe height thodi chhoti kar do (optional, better UX) */
@media (max-width: 599px) {
  .carousel-item img,
  .carousel-item video {
    height: 140px;
  }
}

/* PDF Thumbnail */
.pdf-card {
  width: 100%;
  height: 80px;
  background: linear-gradient(135deg, #ff6b6b, #ee5a52);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 36px;
  font-weight: bold;
  text-decoration: none;
  box-shadow: 0 6px 20px rgba(0,0,0,0.15);
  transition: all 0.4s ease;
  position: relative;
  overflow: hidden;
}

.pdf-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pdf-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 35px rgba(0,0,0,0.28);
}

@media (max-width: 599px) {
  .pdf-card {
    height: 140px;
    font-size: 28px;
  }
}

/* Video Section */
.video-box {
  background: #fafafa;
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 8px 25px rgba(0,0,0,0.08);
}

/* Arrows - Responsive Size */
.arrow-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255,255,255,0.95);
  border: none;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  font-size: 26px;
  font-weight: bold;
  color: #333;
  cursor: pointer;
  box-shadow: 0 8px 25px rgba(0,0,0,0.3);
  z-index: 10;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.arrow-btn:hover {
  background: white;
  transform: translateY(-50%) scale(1.15);
  box-shadow: 0 15px 40px rgba(0,0,0,0.4);
}

.prev-arrow { left: 10px; }
.next-arrow { right: 10px; }

/* Mobile pe arrows thoda bada aur visible */
@media (max-width: 599px) {
  .arrow-btn {
    width: 50px;
    height: 50px;
    font-size: 28px;
  }
  .prev-arrow { left: 8px; }
  .next-arrow { right: 8px; }
}

/* Fullscreen Lightbox - Already Perfect */
#fullscreen-lightbox {
  display: none;
  position: fixed;
  top: 0; left: 0;
  width: 100vw;
  height: 100vh;
  background: #000;
  z-index: 99999;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.4s ease;
}

#fullscreen-lightbox.active {
  display: flex;
  opacity: 1;
}

#lb-media {
  max-width: 96vw;
  max-height: 96vh;
  object-fit: contain;
  border-radius: 16px;
}

.lb-close {
  position: absolute;
  top: 20px;
  right: 30px;
  font-size: 50px;
  color: white;
  cursor: pointer;
  z-index: 11;
  text-shadow: 0 0 20px black;
}

.lb-close:hover { transform: scale(1.3); }

.lb-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255,255,255,0.9);
  width: 70px;
  height: 70px;
  border-radius: 50%;
  font-size: 40px;
  color: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 10px 30px rgba(0,0,0,0.5);
  z-index: 10;
}

.lb-nav:hover {
  background: white;
  transform: translateY(-50%) scale(1.15);
}

.lb-prev { left: 20px; }
.lb-next { right: 20px; }

.lb-counter {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0,0,0,0.7);
  color: white;
  padding: 10px 25px;
  border-radius: 30px;
  font-size: 18px;
  backdrop-filter: blur(10px);
}
/* Assign driver pop up  */

/* Basic Style */
body {
    background: var(--bg-body);  
     padding:10px 1px; 
}

/* Open Button */
.assign-open-btn-wrap {
    display: flex;
    justify-content: flex-end;
}

.assign-open-btn {
    padding: 6px 14px;
    font-size: 13px;
    border-radius: var(--radius);
    background: var(--primary);
    color: #fff;
    border: none;
    cursor: pointer;
}

/* OVERLAY - Always on Top */
.assign-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.45);
    backdrop-filter: blur(2px);
    justify-content: center;
    align-items: center;
    padding: 20px;
    z-index: 9999; /* MOST IMPORTANT */
}

/* POPUP */
.assign-popup {
    width: 100%;
    max-width:700px;
    height: 200px;
    background: #fff;
    border-radius: var(--radius);
    padding: 20px;
    box-shadow: var(--shadow);
    position: relative;
}

/* CROSS ICON */
.assign-close-icon {
    position: absolute;
    top: 10px;
    right: 12px;
    font-size: 20px;
    color: var(--text-muted);
    cursor: pointer;
    transition: 0.2s;
}
.assign-close-icon:hover {
    color: var(--primary-dark);
}

/* Headings */
.assign-title {
    font-size: 20px;
    font-weight: 600;
    color: var(--text-main);
    margin-bottom: 10px;
}

.assign-subtitle {
    font-size: 14px;
    color: var(--text-muted);
    margin-bottom: 6px;
}

/* Select */
.assign-select {
    width: 100%;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    margin-bottom: 18px;
}

/* Buttons */
.assign-btns {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}

.assign-btn {
    padding: 6px 14px;
    font-size: 13px;
    border-radius: var(--radius);
    border: none;
    cursor: pointer;
}

.assign-btn-assign {
    background: var(--primary);
    color: #fff;
}

.assign-btn-assign:hover {
    background: var(--primary-dark);
}

.assign-btn-cancel {
    background: var(--gray-200);
}

.assign-btn-cancel:hover {
    background: var(--gray-300);
}
 
    /* Overlay */
    .popup-overlay {
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, 0.45);
      display: none;
      justify-content: center;
      align-items: center;
      z-index: 999999;
    }

    /* Popup Box */
    .popup-box {
      background: #fff;
      padding: 25px;
      border-radius: 10px;
      min-width: 260px;
      position: relative;
      text-align: center;
      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    }

    .popup-box h3 {
      margin-bottom: 18px;
      font-size: 18px;
      color: #333;
    }

    /* Close button */
    .popup-close {
      position: absolute;
      top: 8px;
      right: 12px;
      font-size: 22px;
      cursor: pointer;
    }

    /* List container */
    .popup-list {
      list-style: none;
      padding: 0;
      margin: 15px 0 0 0;
    }

    /* List items */
    .popup-list-item {
      padding: 12px 15px;
      display: flex;
      align-items: center;
      gap: 10px;
      cursor: pointer;
      border-radius: 6px;
      font-size: 15px;
      color: #333;
      transition: 0.2s;
    }

    /* Hover effect */
    .popup-list-item:hover {
      background: #f1f1f1;
    }

    /* Delete item */
    .popup-list-item.delete {
      color: #ef4444;
    }

    .popup-list-item.delete:hover {
      background: #ffe5e5;
    }

        .contact_detail-popup-item {
              display: flex;
              align-items: center;
              gap: 8px;
            }

            .contact_detail-popup-item input[type="checkbox"] {
              cursor: pointer;
            }
            .contact_detail-popup-footer {
              display: flex;
              justify-content: center; /* Center the buttons */
              gap: 12px;
              padding-top: 15px;
              border-top: 1px solid #ddd;
              margin-top: 15px;
            }

            .contact_detail-btn {
              padding: 8px 16px;
              font-size: 14px;
              border-radius: 5px;
              border: none;
              cursor: pointer;
            }

            .contact_detail-btn-cancel {
              background: #ccc;
              color: #000;
            }

            .contact_detail-btn-save {
              background: #1bb34a;
              color: #fff;
            }


.upload_grid{display: grid;  grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));  gap: 12px;}

   .upload_grid button {  border: 0;  background: none;}
   .upload_grid
    .remove-preview{
    border: 1px solid #ffffff;
    background: #b5b5b5;

   }
.upload_grid label {  display: block;}
 .form-group-input {
    padding: 0px 0px;
    border-radius: 14px;
    font-size: 14px;
    border: 2px solid #e5e5e5;
    background: #f8fafc;
    transition: 0.2s;
}
.form-group-inputss{
   padding: 14px 14px;
    border-radius: 14px;
    font-size: 14px;
    border: 2px solid #e5e5e5;
    background: #f8fafc;
    transition: 0.2s;
}
.form-group-input:focus {
    border: 2px solid var(--primary) !important; /* Blue border on focus */
    box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.15);
    outline: none;
}
/*  VAN-LIST CSS */

/* Base styling */
.stock-report-date-filters {
  display: flex;
  flex-wrap: wrap;
  /* justify-content: space-between; */
  gap: 10px; 
  margin-bottom: 10px;
}

.stock-report, .contact_detail-controls-right {
  display: flex;
  gap: 10px;
}

.stock-report-date-input {
  color: var(--gray-700);
    padding: 10px 16px;
    border: 2px solid #86efac;
    border-radius: var(--radius);
    font-size: 0.95rem;
    transition: var(--transition);
    background: #ffffff;

}



.van-service-btn-create a {
  color: #fff;
}

@media (max-width: 768px) {
  input.stock-report-date-input.flatpickr-input.flatpickr-mobile {
    max-width: 100%;
}
  .stock-report-date-filters {
    flex-direction: column;
    align-items: stretch;
  }

.stock-report, .contact_detail-controls-right {
        align-items: stretch;
        /* flex-wrap: wrap; */
        /* padding: 10px; */
    }

  
  button.van-service-btn-create {
    width: 100%;
}
button#openContactBtn
 {
  align-items: stretch;
    width: 100%;
}


}
/* === General Styles === */
.main-content-1 {
    margin-left: 260px; margin-top: 50px; padding: 10px; background: #f8f8f8; min-height: 100vh; transition: all 0.4s;
}

/* Camera Modal */
.camera-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.95);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.camera-container {
    width: 90%;
    max-width: 600px;
    background: #1f2937;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}

.camera-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    background: #111827;
    border-bottom: 1px solid #374151;
}

.camera-title {
    color: #ffffff;
    font-size: 18px;
    font-weight: 600;
}

.camera-close {
    background: transparent;
    border: none;
    color: #ffffff;
    font-size: 24px;
    cursor: pointer;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.2s;
}

.camera-close:hover {
    background: rgba(255, 255, 255, 0.1);
}

/* Camera Preview */
.camera-preview {
    position: relative;
    background: #000000;
    aspect-ratio: 4/3;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.message-sender {
    font-size: 11px;
    font-weight: 600;
    margin-bottom: 4px;
    opacity: 0.8;
}
#cameraPreview {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#capturedPhotoPreview {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #000000;
}

#capturedPhoto {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Recording Indicator */
#recordingIndicator {
    position: absolute;
    top: 20px;
    left: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(239, 68, 68, 0.9);
    padding: 8px 16px;
    border-radius: 20px;
    color: white;
    font-weight: 600;
}

.recording-dot {
    width: 12px;
    height: 12px;
    background: white;
    border-radius: 50%;
    animation: blink 1s infinite;
}
/* Preview Area */
#messagesAreaWrapper { position: relative;  height: 100%; }

#previewArea {
    background: rgba(0, 0, 0, 0.95);
    padding: 16px;
    /* max-height: 320px; */

    position: absolute;
    inset: 0;
    z-index: 40;          /* sabse upar rahe */
    display: none;
    flex-direction: column;
     align-items: center;
    border-radius: inherit; 
}
#previewSendBtn {
    margin: 14px auto 0;
    padding: 14px 24px;
    background: #1D9E75;
    color: #fff;
    border: none;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    max-width: 420px;
    box-shadow: 0 4px 14px rgba(0,0,0,0.4);   /* thoda pop out kare */
}

#previewSendBtn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
    pointer-events: none;
}

#previewContainer video {
    width: 100%;
    max-width: 320px;
    max-height: 240px;
    object-fit: contain;
    border-radius: 10px;
    display: block;
}

#previewContainer img {
    width: 100%;
    max-width: 320px;
    max-height: 240px;
    object-fit: cover;
    border-radius: 10px;
    display: block;
}

#previewContainer audio {
    width: 100%;
    max-width: 320px;
}

.preview-content {
    max-width: 420px;
    width: 100%;
    margin: 0 auto;
    position: relative;
    display: flex;              /* ✅ NAYA */
    flex-direction: column;     /* ✅ NAYA */
    height: 100%;                /* ✅ NAYA — poori height le */
    padding-top: 20px;           /* ✅ close button ke liye space */
}

.preview-close {
    position: absolute;
    top: -10px;
    right: -10px;
    background: #ef4444;
    color: white;
    border: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    font-size: 20px;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
}

.preview-close:hover {
    background: #dc2626;
    transform: rotate(90deg);
}

#previewContainer {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;    /* center ki jagah — lambi list bhi theek se stack hogi */
    align-content: flex-start;
    gap: 15px;
    flex: 1;                    /* ✅ available space le */
    min-height: 0;               /* ✅ scroll ke liye zaroori */
    overflow-y: auto;            /* ✅ zyada files ho to yahi scroll ho, button nahi hilega */
    padding: 10px 0;
}

.preview-item {
    background: #111827;
    border-radius: 14px;
    padding: 14px;
    width: 100%;
    color: #ffffff;
    display: flex;
    align-items: center;
    gap: 14px;
    position: relative;
    box-shadow: 0 6px 20px rgba(0,0,0,0.4);
}
.preview-image img {
    width: 100%;
    max-height: 240px;
    border-radius: 10px;
    object-fit: cover;
}
.preview-video video {
    width: 100%;
    max-height: 240px;
    border-radius: 10px;
}

.preview-pdf {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
}

.preview-pdf-icon {
    width: 50px;
    height: 50px;
    background: #dc2626;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    color: #fff;
}

.preview-pdf-info {
    flex: 1;
}

.preview-pdf-name {
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.preview-pdf-size {
    font-size: 12px;
    color: #9ca3af;
}
.preview-voice {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
}

.preview-voice-icon {
    width: 44px;
    height: 44px;
    background: #10b981;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 18px;
}

.preview-voice audio {
    flex: 1;
    height: 32px;
}

@keyframes blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.3; }
}

#recordingTime {
    font-size: 16px;
}

/* Camera Controls */
.camera-controls {
    padding: 24px;
    background: #111827;
    display: flex;
    justify-content: center;
    gap: 20px;
}

.control-group {
    display: flex;
    gap: 15px;
}

.camera-btn {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 24px;
    transition: all 0.2s;
}

.capture-btn {
    background: #ffffff;
    color: #1f2937;
}

.capture-btn:hover {
    transform: scale(1.1);
}

.record-btn {
    background: #ef4444;
    color: #ffffff;
}

.record-btn:hover {
    background: #dc2626;
    transform: scale(1.1);
}

.stop-btn {
    background: #dc2626;
    color: #ffffff;
}

.stop-btn:hover {
    background: #b91c1c;
}

.retake-btn {
    background: #6b7280;
    color: #ffffff;
    width: auto;
    padding: 0 24px;
    border-radius: 30px;
}

.retake-btn:hover {
    background: #4b5563;
}

.send-media-btn {
    background: #10b981;
    color: #ffffff;
    width: auto;
    padding: 0 24px;
    border-radius: 30px;
}

.send-media-btn:hover {
    background: #059669;
}

/* Mode Switch */
.mode-switch {
    display: flex;
    padding: 12px 20px;
    background: #1f2937;
    border-top: 1px solid #374151;
    gap: 10px;
}

.mode-btn {
    flex: 1;
    padding: 10px;
    background: transparent;
    border: 1px solid #4b5563;
    border-radius: 8px;
    color: #9ca3af;
    cursor: pointer;
    transition: all 0.2s;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.mode-btn.active {
    background: #10b981;
    border-color: #10b981;
    color: #ffffff;
}

.mode-btn:hover:not(.active) {
    background: rgba(255, 255, 255, 0.05);
    color: #ffffff;
}

/* Existing Chat Styles... (keep all previous CSS) */
.chat-container {

    /* position: fixed; */
    bottom: 0;
    left: 260px;
    right: 0;
    background: #f0f2f5;
    z-index: 100;
    display: flex;
    flex-direction: column;
    /* max-height: 600px;*/
    border-top: 1px solid #e5e7eb;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.05);
    border-radius: 15px;
}

/* Messages Area (WhatsApp Style) */
.messages-area {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
    background: #fff;
    background-image: 
        repeating-linear-gradient(45deg, transparent, transparent 35px, rgba(255,255,255,.03) 35px, rgba(255,255,255,.03) 70px);
    display: flex;
    flex-direction: column;
    gap: 8px;
	height: 550px;
        border-radius: 15px;
}

/* Message Bubble (Sent - Right Side) */
.message-bubble {
    max-width: 65%;
    padding: 8px 12px;
    border-radius: 8px;
    position: relative;
    word-wrap: break-word;
    animation: slideIn 0.3s ease-out;
}


.msg-delete-btn {
    position: absolute;
    top: 4px;
    right: 4px;
    background: rgba(255,0,0,0.15);
    border: none;
    border-radius: 50%;
    width: 22px;
    height: 22px;
    cursor: pointer;
    display: block;
    align-items: center;
    justify-content: center;
    color: #e53935;
    font-size: 11px;
    padding: 0;
    z-index: 9;
}

/* .message-bubble:hover .msg-delete-btn {
    display: flex;
}*/	

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

.message-bubble.sent {
    align-self: flex-end;
    background: var(--primary-light);
    border-radius: 8px 8px 0 8px;
}

.message-bubble.received {
    align-self: flex-start;
    background: #cdcbcb;
    /* background: var(--primary-light);    */
    border-radius: 8px 8px 8px 0;
}

/* Message Text */
.message-text {
    color: #111b21;
    font-size: 14.2px;
    line-height: 1.5;
    margin-bottom: 5px;
}

/* Message Media (Images/Videos) */
.message-media {
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 5px;
}

.message-media img {
    max-width: 100px;
    max-height: 100px;
    width: 100%;
    display: block;
    cursor: pointer;
    transition: transform 0.2s;
}

.message-media img:hover {
    transform: scale(1.02);
}

.message-media video {
    max-width: 100px;
    width: 100%;
    border-radius: 8px;
}

/* Message Document (PDF) */
.message-document {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px;
    background: rgba(0, 0, 0, 0.05);
    border-radius: 8px;
    margin-bottom: 5px;
}

.message-document i {
    font-size: 32px;
    color: #dc2626;
}

.doc-info {
    flex: 1;
}

.doc-name {
    font-weight: 600;
    color: #111b21;
    margin-bottom: 4px;
    font-size: 10px;
}

.doc-link {
    color: #00a884;
    text-decoration: none;
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.doc-link:hover {
    text-decoration: underline;
}
.contact_detail-controls-right-search {
    display: flex;
    align-items: flex-end;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: flex-end;
    position: relative;
    right: 0px;
}

/* Message Voice */
.message-voice {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px;
    background: rgba(0, 0, 0, 0.05);
    border-radius: 8px;
    margin-bottom: 5px;
}

.message-voice i {
    font-size: 20px;
    color: #00a884;
}

.message-voice audio {
    flex: 1;
    max-width: 220px;
    height: 32px;
}

/* Message Time */
.message-time {
    font-size: 11px;
    color: #667781;
    text-align: right;
    margin-top: 2px;
}

/* No Messages State */
.no-messages {
    text-align: center;
    padding: 60px 20px;
    color: #667781;
}

.no-messages i {
    font-size: 64px;
    color: #d1d7db;
    margin-bottom: 16px;
}

.no-messages p {
    font-size: 15px;
    margin: 0;
}

/* Chat Bar */
.chat-bar {
    display: flex;
    align-items: center;
    background: #eef0f3;
    padding: 0px 0px;
    gap: 1px;
    border-top: 1px solid #e5e7eb;
    width: 100%
}

/* Chat Icons */
.chat-icons {
    display: flex;
    align-items: center;
    gap: 8px;
}

.chat-icons label,
.chat-icons button {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #54656f;
    transition: all 0.2s;
    border-radius: 50%;
    border: none;
    background: transparent;
    font-size: 22px;
}

.chat-icons label:hover,
.chat-icons button:hover {
    background: #e5e7eb;
}

.chat-icons input[type="file"] {
    display: none;
}

/* Chat Input */
.chat-input {
    flex: 1;
    border: none;
    outline: none;
 padding: 9px 25px;
     resize: none;
    min-height: 42px;
    max-height: 101px;
    font-size: 15px;
    background: #ffffff;
    color: #111b21;
    border-radius: 14px;
    line-height: 1.5;
}

.chat-input::placeholder {
    color: #667781;
}


.send-btn {
    background: #00a884;;
    color: white;
    border: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: 18px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
    flex-shrink: 0;
}

.send-btn:hover {
    background: #008f6f;
     transform: scale(1.05);
}

.send-btn:active {
    transform: scale(0.95);
}
/* Scrollbar Styling */
.messages-area::-webkit-scrollbar {
    width: 6px;
}
.messages-area::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.05);
}
.messages-area::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 3px;
}
.messages-area::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 0, 0, 0.3);
}
/* Recording Animation */
#stopBtn {
    color: #ef4444;
    animation: pulse 1.5s infinite;
}
@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

#chatForm{
    border: 2px solid #aeffbdc4;
    border-radius: 15px;
}
/* Responsive */
@media (max-width: 768px) {
    .main-content-1 {
    padding-top: 30px; 
} .main-content {
    padding: 0px; 
}
    .chat-container {
        left: 0;
       /* max-height: 500px;*/
    }
    
    .message-bubble {
        max-width: 60%;
    }
    
    .messages-area {
        padding: 15px;
	min-height: 550px;
    } 
    .chat-input {
      max-width: 340px;
        width: 100%;
    }
}

/* Audio Preview */
audio#audioPreview {
    max-width: 250px;
    height: 32px;
    margin-left: 8px;
}

/* Recording Button States */
#recordBtn {
    color: #ef4444;
}

#stopBtn {
    color: #dc2626;
    animation: pulse 1.5s infinite;
}

@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.5;
    }
}
    .chatBar{
 display: flex;
   /* align-items: center; */
    /* width: 100%;
    padding: 8px */
    
    width: 100%;
    padding: 8px;

    }
/* Responsive */
@media (max-width: 768px) {
    .chat-container {
        left: 0;
    }
    

    .chat-bar {
        /* margin: 10px;
        padding: 8px 12px; */
        flex-direction: column;
         padding: 5px 1px;

    }
    
    .chat-icons {
        gap: 4px;
    }
    
    .chat-icons label,
    .chat-icons button {
        width: 32px;
        height: 32px;
        font-size: 16px;
    }
    
    .send-btn {
        width: 38px;
        height: 38px;
    }
    .chatBar{
display: flex;
    justify-content: center;
    align-items: center;
    }
}

/* Icon Specific Styles */
.fa-camera { color: #3b82f6; }
.fa-video-camera { color: #8b5cf6; }
.fa-microphone { color: #ef4444; }
.fa-file-pdf { color: #dc2626; }

.chat-icons label:hover .fa-camera { color: #2563eb; }
.chat-icons label:hover .fa-video-camera { color: #7c3aed; }
.chat-icons button:hover .fa-microphone { color: #dc2626; }
.chat-icons label:hover .fa-file-pdf { color: #b91c1c; }
/* .top-controls { margin-bottom: 25px; }
.back-btn {
    display: flex; align-items: center; gap: 8px; padding: 10px 16px;
    background: #4caf50; color: white; border: none; border-radius: 8px;
    font-weight: 600; cursor: pointer;
} */

@media (max-width: 968px) { .main-content-1 { margin-left: 0; } }

/* .top-controls { margin-bottom: 25px; }
.back-btn {
    display: flex; align-items: center; gap: 8px; padding: 10px 16px;
    background: #4caf50; color: white; border: none; border-radius: 8px;
    font-weight: 600; cursor: pointer;
} */

/* Job Card */
.job-detail-card-1 {
    background: white; border-radius: 16px; padding: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08); margin-bottom: 40px;
}

/* ================= DESKTOP ================= */
.media-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: sticky;
    top: 70px;
    background: #fff;
    padding: 15px 0;
    border-bottom: 1px solid #e2e8f0;
    z-index: 100;
}

/* Media Tabs (Left) */
.media-tabs {
    display: flex;
    gap: 35px;
}

.media-tab {
    font-size: 17px;
    font-weight: 600;
    color: #64748b;
    cursor: pointer;
    position: relative;
    padding-bottom: 8px;
}

.media-tab.active {
    color: #10b981;
}

.media-tab.active::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 100%;
    height: 4px;
    background: #10b981;
    border-radius: 4px;
}


/* ================= MOBILE ================= */
@media (max-width: 768px) {

     .media-wrapper {
        flex-direction: column;
        align-items: stretch;
	 padding: 0px 0px;
    }

    /* Row 1 & 2 */
    .contact_detail-controls-right-search {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .search-wrapper input {
        width: 100%;
    }

    /* Row 3 : Photos + PDFs */
    .media-tabs {
        order: 3;
        justify-content: flex-start;
        gap: 25px;
    }

    /* Hide Video on Mobile (optional) */
    .media-tab[onclick*="videos"] {
        display: none;
    }
}


/* Carousel */
.carousel-container { position: relative; margin-bottom: 30px; }
.carousel-track {
    display: flex; gap: 10px; overflow-x: auto;
    scroll-behavior: smooth; padding: 10px 0; scrollbar-width: none;
}
.carousel-track::-webkit-scrollbar { display: none; }
.carousel-item {
    min-width: 100px; height: 100px; border-radius: 14px;
    overflow: hidden; box-shadow: 0 8px 25px rgba(0,0,0,0.12);
    cursor: pointer; transition: transform 0.3s;
}
.carousel-item:hover { transform: scale(1.06); }
.carousel-item img { width: 100%; height: 100%; object-fit: cover; }

/* Carousel arrows */
.arrow-btn {
    position: absolute; top: 50%; transform: translateY(-50%);
    background: rgba(0,0,0,0.7); color: white; border: none;
    width: 44px; height: 44px; border-radius: 50%; font-size: 20px; cursor: pointer;
    z-index: 10; opacity: 0; display: flex; align-items: center; justify-content: center; transition: opacity 0.3s;
}
.carousel-container:hover .arrow-btn { opacity: 1; }
.prev-arrow { left: 10px; }
.next-arrow { right: 10px; }
/* Lightbox */
#photoLightbox {
    display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.97); z-index: 9999;
    align-items: center; justify-content: center; flex-direction: column;
}
#lightboxImg { max-width: 94%; max-height: 88vh; border-radius: 16px; box-shadow: 0 20px 60px rgba(0,0,0,0.6); }
.lb-close, .lb-prev, .lb-next {
    position: absolute; color: white; font-size: 50px; cursor: pointer;
    user-select: none; z-index: 10; font-weight: 300;
}
.lb-close { top: 30px; right: 40px; }
.lb-prev { left: 40px; top: 50%; transform: translateY(-50%); }
.lb-next { right: 40px; top: 50%; transform: translateY(-50%); }
.lb-counter {
    position: absolute; bottom: 40px; background: rgba(0,0,0,0.6);
    color: white; padding: 10px 28px; border-radius: 30px; font-size: 17px;
}
/* data type page css */

.report-section {
  /* max-width: 1200px; */
  margin: 0 auto;
  padding: 40px 20px;
}

/* Main Heading with background */
.report-main-heading {
  text-align: center;
  font-size: 32px;
  color: #000000;
  padding: 20px 0;
  border-radius: 10px;
}

/* Row */
.report-row {
  display: grid;
    /* flex-wrap: wrap; */
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 20px;
    /* justify-content: space-between; */

}

.report-box {
  background: #fff;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 6px 15px rgba(0,0,0,0.08);
  border-top: 5px solid #d1fae5;
  transition: 0.3s ease;
}


/* Hover effect */
.report-box:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 25px rgba(0,0,0,0.12);
}

/* Header with Icon and Title in one row */
.report-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

/* Icon */
.report-icon {
  font-size: 22px;
  color: #4CAF50;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Title */
.report-title {
  font-size: 18px;
  color: #222;
  margin: 0;
  font-weight: 600;
}

/* Description */
.report-text {
  font-size: 14px;
  color: #555;
}

/* Responsive for tablets */
@media (max-width: 992px) {
  .report-box {
    flex: 1 1 calc(50% - 20px);
  }
}

/* Responsive for mobile */
@media (max-width: 600px) {
  .report-box {
    flex: 1 1 100%;
  }
  .report-row {
    grid-template-columns: 1fr;
  }
}
/* My Job  */
 .job-address-link {
    text-decoration: none;
    color: #333;
    transition: 0.3s;
}

.job-address-link:hover {
    color: #10b981; /* green hover */
}

/* service van */
@media (max-width: 768px) {
    .desc-td {
        max-width: 250px;              
        display: -webkit-box;          
        -webkit-line-clamp: 2;          
        -webkit-box-orient: vertical; 
        overflow-x: auto;            
        overflow-y: hidden;           
        white-space: nowrap;           
        word-break: break-word;       
    }
    .desc-td::-webkit-scrollbar {
        height: 4px;                   
    }

    .desc-td::-webkit-scrollbar-track {
        background: #f1f1f1;           
        border-radius: 2px;
    }

    .desc-td::-webkit-scrollbar-thumb {
        background-color: #10b981;    
        border-radius: 2px;
    }

    .desc-td::-webkit-scrollbar-thumb:hover {
        background-color: #059669;     
    }
}
    .quotation-section-overlay {
      position: fixed;
      inset: 0;
      background: rgba(0,0,0,0.55);
      backdrop-filter: blur(4px);
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.4s ease;
      z-index: 1000;
    }

    .quotation-section-overlay.active {
      opacity: 1;
      pointer-events: all;
    }

    .quotation-section-popup {
      position: fixed;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%) scale(0.95);
      width: 95%;
      max-width: 920px;
      background: white;
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      opacity: 0;
      pointer-events: none;
      transition: all 0.4s ease;
      max-height: 92vh;
      overflow-y: auto;
    }

    .quotation-section-popup.active {
      opacity: 1;
      transform: translate(-50%, -50%) scale(1);
      pointer-events: all;
    }

    .quotation-section-header {
      padding: 5px 15px;
      background: var(--primary-light);
      border-bottom: 1px solid var(--border);
      display: flex;
      justify-content: space-between;
      align-items: center;
      position: sticky;
      top: 0;
      z-index: 10;
    }

    .quotation-section-header-left {
      display: flex;
      gap: 15px;
      /* font-size: 1.1rem; */
      /* font-weight: 600; */
      color: var(--primary-dark);
    }

    .quotation-section-close-btn {
      background: none;
      border: none;
      font-size: 2.4rem;
      color: var(--text-muted);
      cursor: pointer;
    }

    .quotation-section-close-btn:hover {
      color: var(--text-main);
    }

    .quotation-section-content {
      padding: 18px 18px;
    }

    .quotation-section-title {
      text-align: center;
      font-size: 1.5rem;
      margin-bottom: 10px;
      color: var(--text-main);
    }

    .quotation-section-items-list {
      display: flex;
      flex-direction: column;
      gap: 1rem;
    }

    .quotation-section-item-row {
      display: flex;
      gap: 5px;
      align-items: center;
      padding: 10px 5px;
      /* background: var(--header-btn-bg); */
      border: 1px solid var(--gray-200);
      border-radius: var(--radius);
      transition: all 0.2s;
    }

    .quotation-section-item-row:hover {
      background: white;
      border-color: var(--primary);
    }

    .quotation-section-action-group {
      display: flex;
      /* gap: 0.5rem; */
      flex-shrink: 0;
    }

    .quotation-section-action-btn {
      width: 30px;
      height: 30px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 14px;
      cursor: pointer;
      transition: all 0.2s;
    }
/* 
    .quotation-section-add-btn {
      background: var(--primary);
      color: white;
      box-shadow: 0 2px 8px rgba(16,185,129,0.25);
    } */

    /* .quotation-section-add-btn:hover {
      background: var(--primary-dark);
      transform: scale(1.1);
    } */

    /* .quotation-section-remove-btn {
      background: #ef4444;
      color: white;
    } */

    /* .quotation-section-remove-btn:hover {
      background: #dc2626;
      transform: scale(1.1);
    } */

    .quotation-section-item-input {
      flex: 1;
      padding: 10px 5px;
      border: 2px solid var(--gray-300);
      border-radius: var(--radius);
      font-size: 0.98rem;
    }

    .quotation-section-item-input:focus {
      border-color: var(--primary);
      outline: none;
      box-shadow: 0 0 0 3px rgba(16,185,129,0.15);
    }

    .quotation-section-footer {
      padding: 11px 10px;
      background: var(--primary-light);
      border-top: 1px solid var(--border);
      display: flex;
      /* flex-direction: column; */
      gap: 1.2rem;
    }

    .quotation-section-footer-row,
    .quotation-section-footer-center {
      display: flex;
      justify-content: flex-start;
      gap: 1rem;
      flex-wrap: wrap;
      /* font-size: 1.1rem; */
      font-weight: 600;
      color: var(--primary-dark);
    }

    .quotation-section-footer-center {
      justify-content: flex-end;
    }

    @media (max-width: 600px) {
      .quotation-section-item-row {
        flex-direction: column;
        align-items: stretch;
      }
      .quotation-section-action-group {
        justify-content: center;
        margin-bottom: 12px;
      }
      .quotation-section-header-left {
        flex-direction: column;
        gap: 0.8rem;
        text-align: center;
      }
      .quotation-section-footer-row,
      .quotation-section-footer-center {
        justify-content: center;
      }
      .quotation-section-title {
        font-size: 1.35rem;
      }
    }
    .footer-center {
  text-align: center;
}

.footer-center button {
  background: var(--primary);
  color: #fff;
  border: none;
  padding: 12px 36px;
  border-radius: var(--radius);
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.footer-center button:hover {
  background: var(--primary-dark);
}
.cbox {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  font-size: 16px;
}

.cbox input {
  display: none;
}

.cbox span {
  width: 18px;
  height: 18px;
  border: 2px solid #333;
  border-radius: 50%;
  margin-right: 8px;
  position: relative;
}

.cbox input:checked + span::after {
  content: "✔";
  font-size: 14px;
  color: #333;
  position: absolute;
  top: -2px;
  left: 2px;
}
/* ################# 
 */.floating-btn-wrapper {
    position: fixed;
    top: 40%;
    right: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    z-index: 9999;
}

/* Common Button Style */
.enquiry-floating-btn {
    color: #fff;
    cursor: pointer;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    padding: 12px 10px;
    border-radius: 10px 0 0 10px;
    text-decoration: none;
    transition: all 0.3s ease;
}

/* Edit Button */
.edit-btn {
    background: rgb(3, 22, 92);
}

/* Payment Button */
.payment-btn {
    background: #10b981;
}

/* Hover Effect */
.enquiry-floating-btn:hover {
    padding-right: 16px;
    opacity: 0.9;
}

/* Icon size */
.enquiry-floating-btn i {
    font-size: 16px;
}


/* dashboard  */
/* ================= GRID ================= */
.revanue-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 20px; 
}

/* ================= CARD ================= */
.revanue-card {
  background: #fff;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 20px;
  position: relative;
  overflow: hidden;
}

.revanue-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 6px;
  height: 100%;
  background: var(--primary);
}

/* ================= HEADER ================= */
.revanue-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}

.revanue-icon {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--primary-light);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--primary);
  font-size: 18px;
}

.revanue-title {
  font-size: 18px;
  font-weight: 700;
}

/* ================= LIST ================= */
.revanue-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.revanue-list li {
  display: flex;
  justify-content: space-between;
  padding: 10px 0;
  border-bottom: 1px dashed var(--border);
  font-size: 14px;
}

.revanue-list li:last-child {
  border-bottom: none;
}

.revanue-amount {
  font-weight: 600;
  color: var(--primary);
}

/* ================= ACTIONS ================= */
.revanue-actions {
  margin-top: 18px;
  display: flex;
  gap: 10px;
}

.revanue-btn {
  flex: 1;
  border: none;
  padding: 9px;
  border-radius: 8px;
  background: var(--primary-light);
  color: var(--primary);
  font-size: 13px;
  cursor: pointer;
  transition: 0.3s;
}

.revanue-btn:hover {
  background: var(--primary);
  color: #fff;
}

/* ================= RESPONSIVE ================= */
@media (max-width: 992px) {
  .revanue-grid {
    grid-template-columns: 1fr;
  }
}

/* deshboard items  */
/* ================= MAIN ================= */
.dash-item-container{
margin-top: 40px;
}

/* ================= TOP CARDS ================= */
.dash-item-top{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:15px;
}

.dash-item-card{
  padding:18px;
  border-radius:5px;
  color:#fff;
  box-shadow:0 10px 25px rgba(0,0,0,0.08);
}

.dash-item-card h4{
  margin:0;
  font-size:22px;
  font-weight:700;
}

.dash-item-card p{
  margin-top:6px;
  font-size:13px;
  opacity:0.9;
}

.dash-item-orange{background:linear-gradient(135deg,#ff9f67,#ff7849);}
.dash-item-green{background:linear-gradient(135deg,#34d399,#10b981);}
.dash-item-pink{background:linear-gradient(135deg,#fb7185,#f43f5e);}
.dash-item-blue{background:linear-gradient(135deg,#22d3ee,#0ea5e9);}

/* ================= BOTTOM ================= */
.dash-item-bottom{
  display:grid;
  grid-template-columns:2.5fr 1fr;
  gap:15px;
  margin-top:20px;
}

/* ================= SALES ================= */
.dash-item-sales{
  background:#fff;
  border-radius:14px;
  padding:20px;
  box-shadow:0 10px 25px rgba(0,0,0,0.08);
}

.dash-item-sales-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:15px;
}

.dash-item-sales-header h3{
  margin:0;
  font-size:18px;
}

.dash-item-sales canvas{
  width:100% !important;
  height:260px !important;
}

/* ================= DONUT ================= */
.dash-item-donut{
  background:#fff;
  border-radius:14px;
  padding:20px;
  box-shadow:0 10px 25px rgba(0,0,0,0.08);
  text-align:center;
}

.dash-item-donut h3{
  margin-bottom:15px;
  font-size:16px;
}

.dash-item-circle{
  width:150px;
  height:150px;
  border-radius:50%;
  background:conic-gradient(
    #10b981 0deg 220deg,
    #f97316 220deg 300deg,
    #e5e7eb 300deg 360deg
  );
  margin:0 auto;
}

@media(max-width:992px){
  .dash-item-top{
    grid-template-columns:repeat(2,1fr);
  }
  .dash-item-bottom{
    grid-template-columns:1fr;
  }
}
    /* WhatsApp Style Media Viewer */
.media-viewer {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    z-index: 99999;
    display: none;
}

.media-viewer-header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 60px;
    background: linear-gradient(180deg, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 100%);
    display: flex;
    align-items: center;
    padding: 0 15px;
    z-index: 10;
}

.media-viewer-back {
    background: none;
    border: none;
    color: white;
    font-size: 24px;
    cursor: pointer;
    padding: 10px;
    margin-right: 15px;
}

.media-viewer-info {
    flex: 1;
}

.media-sender-name {
    color: white;
    font-size: 16px;
    font-weight: 600;
}

.media-time {
    color: rgba(255, 255, 255, 0.7);
    font-size: 13px;
}

.media-viewer-download {
    background: none;
    border: none;
    color: white;
    font-size: 20px;
    cursor: pointer;
    padding: 10px;
}

.media-viewer-content {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 0 0 0;
}

.media-viewer-content img,
.media-viewer-content video {
    max-width: 100%;
    max-height: calc(100vh - 60px);
    object-fit: contain;
}

/* Video play icon overlay */
.video-play-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.video-play-icon i {
    font-size: 50px;
    color: rgba(255, 255, 255, 0.9);
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

.message-media {
    position: relative;
    cursor: pointer;
    border-radius: 8px;
    overflow: hidden;
}

.message-media:active {
    opacity: 0.8;
}

.message-media img,
.message-media video {
    display: block;
    width: 100%;
    max-width: 100px;
    border-radius: 8px;
}


/* order list css */
.orders-layout {
    display: flex;
    gap: 0;
    align-items: flex-start;
}

.orders-table-wrapper {
    flex: 1;
    min-width: 0;
    transition: all 0.35s ease;
}

/* Row */
.order-row {
    cursor: pointer;
    transition: background 0.15s;
}
.order-row:hover { background: #f0f4ff; }
.order-row.active {
    background: #e8f0fe;
    border-left: 3px solid #4f46e5;
}

/* Badges */
.obadge {
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}
.badge-pending    { background: #fef3c7; color: #92400e; }
.badge-inprocess  { background: #dbeafe; color: #1e40af; }
.badge-complete   { background: #d1fae5; color: #065f46; }
.badge-cancelled  { background: #fee2e2; color: #991b1b; }
/* ✅ Close button — dono pe kaam kare */
.osidebar-close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
    background: #e5e7eb;
    border: none;
    border-radius: 50%;
    font-size: 22px;
    font-weight: bold;
    cursor: pointer;
    color: #111;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    padding: 0;
    flex-shrink: 0;
}

/* ✅ Sidebar — desktop */
.order-sidebar {
    position: relative;  /* ← absolute button ke liye */
    width: 0;
    overflow: hidden;
    transition: width 0.35s cubic-bezier(0.4,0,0.2,1);
    background: #fff;
    border-left: 1px solid #e5e7eb;
    flex-shrink: 0;
}

.order-sidebar.open {
    width: 360px;
    overflow: visible;  /* ← content clip na ho */
    overflow-y: auto;
}

/* ✅ Mobile */
@media (max-width: 768px) {
    .order-sidebar.open {
        width: 100%;
        position: fixed;
        top: 0;
        right: 0;
        height: 100vh;
        z-index: 998;           /* ← modal se NEECHE rakho */
        max-height: 100vh;
        overflow-y: auto;
        background: #fff;
    }

    .order-sidebar.open .osidebar-close {
        position: fixed;        /* ← mobile pe fixed */
        top: 12px;
        right: 12px;
        z-index: 999;
    }

    .osidebar-inner {
        padding: 60px 20px 24px 20px;
    }
}
/* Sidebar */
.order-sidebar {
    z-index: 100;
}

/* ✅ Image upload modal — sidebar se UPAR */
#overlay {
    z-index: 1000 !important;
}

#returnModal {
    z-index: 1001 !important;
}

/* ✅ Image lightbox — sabse upar */
#imageLightbox {
    z-index: 1002 !important;
}

.osidebar-close:hover {
    background: #e5e7eb;
    color: #111;
}
.osidebar-inner {
    padding: 16px 20px 24px;
    min-width: 360px;
    clear: both;
}

.osb-title {
    font-size: 16px;
    font-weight: 600;
    color: #111827;
    margin: 0 0 4px;
    padding-right: 24px;
}
.osb-date  { font-size: 12px; color: #9ca3af; margin-bottom: 16px; }
.osb-label { font-size: 14px; text-transform: uppercase; letter-spacing: 0.5px; color: #9ca3af; margin-bottom: 3px; }
.osb-value { font-size: 14px; color: #374151; font-weight: 500; margin-bottom: 14px; }
.osb-divider { border: none; border-top: 1px solid #f3f4f6; margin: 14px 0; }

/* Image thumbnails in sidebar */
.osb-images {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 6px;
}
.osb-images img {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: 8px;
    border: 2px solid #e5e7eb;
    cursor: pointer;
    transition: transform 0.15s, border-color 0.15s;
}
.osb-images img:hover {
    transform: scale(1.06);
    border-color: #4f46e5;
}

/* Action buttons in sidebar */
.osb-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 16px;
}
.osb-btn {
    padding: 9px 16px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    border: none;
    cursor: pointer;
    text-align: center;
    transition: opacity 0.15s;
}
.osb-btn:hover { opacity: 0.85; }
.osb-btn-accept  { background: #4f46e5; color: #fff; }
.osb-btn-cancel  { background: #fee2e2; color: #991b1b; }
.osb-btn-upload  { background: #f3f4f6; color: #374151; }
.osb-btn-view    { background: #d1fae5; color: #065f46; }

@media (max-width: 768px) {
    .order-sidebar.open {
        width: 100%;
        position: fixed;
        top: 0;
        right: 0;
        height: 100vh;
        z-index: 9999;          /* ← navbar se bhi upar */
        max-height: 100vh;
        overflow-y: auto;
        background: #fff;
    }

    .osidebar-inner {
        padding: 64px 20px 24px 20px;  /* ← top padding bada karo */
    }
}

/* Sr. No. column — compact */
.contact_detail-table .first,
.contact_detail-table .first {
    width: 36px;
    min-width: 36px;
    max-width: 36px;
    padding: 8px 4px;
    text-align: center;
    font-size: 12px;
    color: #9ca3af;
    white-space: nowrap;
    overflow: hidden;
}

/* Mobile — aur bhi tight */
@media (max-width: 640px) {
    .contact_detail-table .first,
    .contact_detail-table .first {
        width: 28px;
        min-width: 28px;
        max-width: 28px;
        padding: 8px 2px;
        font-size: 11px;
    }

    /* Baaki columns ka padding bhi kam karo mobile pe */
    .contact_detail-table th,
    .contact_detail-table td {
        padding: 8px 8px;
        font-size: 13px;
    }

    /* Employee column mobile pe 2 lines ki jagah compact karo */
    .contact_detail-table td:nth-child(2) {
        max-width: 100px;
       /* white-space: nowrap;*/
        overflow: hidden;
        text-overflow: ellipsis;
    }
}
    #imageLightbox {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw;
    height: 100vh;

    display: none;
    align-items: center;
    justify-content: center;

    background: rgba(0,0,0,0.9);

    z-index: 999999 !important;   /* 🔥 IMPORTANT */
}
.osb-btn-complete {
    background: #d1fae5;
    color: #065f46;
}

/*  user-view returnimage popup  */
    .rcam-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.7);
    z-index: 9998;
}
.rcam-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    border-radius: 16px;
    width: 340px;
    z-index: 9999;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0,0,0,0.3);
}
.rcam-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 16px;
    font-weight: 600;
    font-size: 16px;
    border-bottom: 1px solid #f0f0f0;
}
.rcam-header button {
    background: none;
    border: none;
    font-size: 18px;
    cursor: pointer;
    color: #555;
}
.rcam-preview {
    width: 100%;
    height: 280px;
    background: #000;
    overflow: hidden;
}
.rcam-preview video,
.rcam-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.rcam-controls {
    padding: 16px;
    display: flex;
    justify-content: center;
    gap: 12px;
}
.rcam-btn-capture {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #2563eb;
    color: white;
    border: none;
    font-size: 22px;
    cursor: pointer;
}
.rcam-btn-retake {
    padding: 10px 18px;
    border-radius: 8px;
    background: #f3f4f6;
    border: none;
    cursor: pointer;
    font-size: 14px;
}
.rcam-btn-send {
    padding: 10px 18px;
    border-radius: 8px;
    background: #2563eb;
    color: white;
    border: none;
    cursor: pointer;
    font-size: 14px;
}   
#rcamModal{
    z-index: 9999999 !important;
}
.top-items-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: var(--color-background-secondary, #f5f5f5);
    border: 1px solid var(--color-border-primary, #ccc);
    border-radius: 8px;
    font-size: 13px;
    cursor: pointer;
    color: var(--color-text-primary);
    transition: all 0.2s;
    white-space: nowrap;
}

.top-items-btn:hover {
    background: var(--primary);
    color: white;
    border-color: var(--primary);
}

.top-items-btn.active {
    background: var(--primary);
    color: white;
    border-color: var(--primary);
}
/* badge  */
        .badge {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 11px;
    margin: 2px 0;
}
.badge-success { background:#d1f7c4; color:#1e7e34; }
.badge-warning { background:#fff3cd; color:#856404; }
.badge-secondary { background:#e2e3e5; color:#383d41; }
    
#jobsTable tbody tr.job-row {
    display: none;
} 
