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

:root {
  --primary: #1B2A4A;
  --primary-light: #d1defa;
  --header-btn-bg: #FFF1D9;
  --sidebar-active-bg: #ecf2fd;
  --sidebar-active-text: #162865;
  --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: #163665;
  --gray-100: #f3f4f6;
  --gray-200: #e5e7eb;
  --gray-300: #d1d5db;
  --gray-500: #6b7280;
  --gray-700: #374151;
  --gray-900: #111827;
  --green-light: #FFF1D9;
  --green-badge: #FFF8ED;
  --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-wrapper input {
  width: 100%;
  padding: 13px 16px;
  border-radius: 10px;
  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;
}
.state-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;
}
.state-results li {
  padding: 8px 12px;
  cursor: pointer;
  list-style: none;
}
.state-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;
}

/* Logo image */
.logo img {
  width: 120px; /* Adjust according to your design */
  height: auto;
  object-fit: contain;
  display: block; /* Removes extra space under image */
  transition: opacity 0.2s ease-in-out;
}

/* 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;

  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: #92400E;
}
.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: #92400E;
  border: 2px solid #F5A623;
  padding: 10px 20px;
  border-radius: 12px;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  transition: var(--transition);
}
.ask-ai-btn:hover {
  background: #FFF1D9;
  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: #F5A623;
}

.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: #162b65;
  padding-left: 26px;
}
.user-info {
  padding: 20px;
  background: linear-gradient(135deg, #FFF1D9, #FFF1D9);
  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: normal;
  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: #FFF8ED;
  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, #f0ecfd, transparent);

  /* background: linear-gradient(to right, #FFF8ED, 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: #ecf3fd;
  color: #162265;
  padding-left: 80px;
}
.side-submenu a.current-menu {
  color: var(--primary);
  font-weight: 600;
  background: #dceafc;
}

.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: #FFF1D9;
  color: #F5A623;
}

.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: #FFF1D9;
}

.date.today {
  background: #F5A623;
  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: #F5A623;
  box-shadow: 0 0 0 3px rgba(245, 166, 35, 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: #F5A623;
  box-shadow: 0 0 0 3px rgba(245, 166, 35, 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: 10%;
} /* Name */

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

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

.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: #FFF1D9;
  color: #92400E;
}
.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: #FFF1D9;
  border-color: #F5A623;
}

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

.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: 28px;
  font-weight: normal;
  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: 20px;
}
.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 20px;
  border: 1.5px solid var(--gray-300);
  border-radius: 10px;
  background: white;
  font-size: 14px;
  color: var(--gray-700);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
}


.contact_detail-dropdown-trigger i {
    padding: 0 0 0 30px;
}

.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: 130px;
} 

.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(245, 166, 35, 0.3);
}

.contact_detail-add-filter-btn:hover {
  background: #E0921A;
  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: 300px;
 } 
.contact_detail-table {
  width: 100%;
  /* min-width: 900px; */
  /* min-width: 800px; */
  max-width: 100%;
  border-collapse: collapse;
}
/* .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 1px;
    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;  */
    padding: 5px 9px;
    text-align: center;
    font-size: 14px;
    /* height: 20vh; */
}
.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: #FFF1D9;
  color: var(--primary-dark);
}

/* 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: normal;
  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: normal;
  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: #FFF1D9;
  color: #92400E;
  border: 1.5px solid #F5A623;
}
.item-action-request:hover {
  background: #FDE4B5;
  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: normal;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: white;
}
.return-header {
  background: #b91c1c;
}
.request-header {
  background: #E0921A;
}

.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: #F5A623;
  background: white;
  box-shadow: 0 0 0 5px rgba(245, 166, 35, 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: #E0921A;
  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: #92400E; */
  /* 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: normal; */
  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: #FFF1D9 !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: #FFF1D9 !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: normal;
}
.rmk-abs {
  background: var(--rmk-red) !important;
  color: #991b1b;
  font-weight: normal;
}
.rmk-ot-val {
  background: var(--rmk-blue) !important;
  color: #1e40af;
  font-weight: normal;
}
.rmk-remark {
  background: #fffbeb !important;
  color: #92400e;
  font-weight: normal;
  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 #F5A623;
    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: #FFF1D9;
  border: 2px solid #F5A623;
  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: #F5A623;
  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(245, 166, 35, 0.22);
  transform: scale(1.008);
}

.job-detail-category {
  background: transparent;
  border: none;
  font-weight: normal;
  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: normal;
  font-size: 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
  box-shadow: 0 6px 20px rgba(245, 166, 35, 0.35);
  transition: var(--transition);
}

.add-job-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(245, 166, 35, 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: normal;
  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: 10px 26px;
  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: 24px;
  box-shadow: -10px 0 30px rgba(245, 166, 35, 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: normal;
  /* 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), /* Address */
.form-group:nth-child(4)  /* Description */ {
  grid-column: 1 / -1; /* full row */
}

/* 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: normal;
  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(245, 166, 35, 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(245, 166, 35, 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(245, 166, 35, 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: 8px 18px;
  }
  .job-detail-desc {
    font-size: 14.5px;
    padding: 6px 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: normal;
  /* 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-grid-1-row1 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  align-items: end;
  margin-bottom: 24px; /* gap between rows */
}

.stock-entry-grid-1-row2 {
  display: grid;
  grid-template-columns: repeat(5, 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(245, 166, 35, 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: #FFF8ED;
  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(245, 166, 35, 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(245, 166, 35, 0.18);
}

/* Document Uploads Section */
.job-profile-docs-title {
  font-size: 28px;
  font-weight: normal;
  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: #FFF1D9;
  border: 2px solid #F5A623;
  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: #F5A623;
  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: normal;
  cursor: pointer;
  margin: 70px auto 20px;
  display: block;
  transition: all 0.4s ease;
}

.job-profile-submit:hover {
  background: #92400E;
  transform: scale(1.08);
  box-shadow: 0 20px 40px rgba(224, 146, 26, 0.4);
}

/* employe management  */

.emp-management-section {
  padding: 40px;
}
/* 
.emp-management-page-title {
  font-size: 28px;
  font-weight: normal;
  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: normal;
  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(245, 166, 35, 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: #92400E;
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(224, 146, 26, 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: normal;
  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(245, 166, 35, 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: normal;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: var(--transition);
  box-shadow: 0 8px 25px rgba(224, 146, 26, 0.3);
}

.deduction-add-btn:hover {
  background: #7A3D0A;
  transform: translateY(-4px);
  box-shadow: 0 15px 35px rgba(224, 146, 26, 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: normal;
  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: normal;
  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(245, 166, 35, 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: #E0921A;
  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: #F5A623;
  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;
  /* font-family: "Segoe UI", sans-serif; */
  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: #F5A623; /* Green */
  color: white;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  transition: background 0.2s, transform 0.2s;
}
.modal-submit-btn:hover {
  background: #E0921A;
  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: #F5A623;
}

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(--orange);
}

/* 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;
  /* font-family: "Segoe UI", sans-serif; */
}

/* 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: #F5A623;
  color: white;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  transition: 0.2s;
}

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



        .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: #F5A623;
  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: normal;
  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 {
    font-family: "Open Sans", sans-serif;
    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(245, 166, 35, 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 #F5A623;
    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 */
#previewArea {
    background: rgba(0, 0, 0, 0.95);
    padding: 16px;
    /* max-height: 320px; */
    overflow: visible;
}

.preview-content {
   max-width: 420px;
    margin: 0 auto;
    position: relative;
}

.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;
    /* gap: 15px; */
    /* flex-wrap: wrap; */
    justify-content: center;
    align-items: center
}
.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: #F5A623;
    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;
    /* font-family: monospace; */
}

/* 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: #F5A623;
    color: #ffffff;
    width: auto;
    padding: 0 24px;
    border-radius: 30px;
}

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

/* 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: #F5A623;
    border-color: #F5A623;
    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;
    max-height: 200px;
        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;
}

@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;
}

.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;
    /* font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; */
    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: 80%;
    }
    
    .messages-area {
        padding: 15px;
    } 
    .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: #F5A623;
}

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


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

    .media-wrapper {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    /* 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;
  /* font-family: 'Arial', sans-serif; */
}

/* 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 #FFF1D9;
  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: #F5A623; /* 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: #F5A623;    
        border-radius: 2px;
    }

    .desc-td::-webkit-scrollbar-thumb:hover {
        background-color: #E0921A;     
    }
}
    .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(245,166,35,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(245,166,35,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: normal;
  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: #F5A623;
}

/* 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(2, 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: normal;
}

/* ================= 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,#E0921A,#F5A623);}
.dash-item-pink{background:linear-gradient(135deg,#fb7185,#f43f5e);}
.dash-item-blue{background:linear-gradient(135deg,#22d3ee,#0ea5e9);}
.dash-item-purple {
    background: linear-gradient(135deg, #8b5cf6, #a78bfa);
}
/* .dash-item-purple{background:linear-gradient(135deg, #4122ee, #e90e0e);} */

/* ================= 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(
    #F5A623 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;
  }
}

/*  REport Manager or my report css */

/* Modern Beautiful Styles */
.header-left h1 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
}

.saving-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #F5A623;
  border-radius: 50%;
  opacity: 0;
  transition: opacity 0.3s;
}

.saving-dot.on {
  opacity: 1;
  animation: pulse 1s infinite;
}

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

/* Date Inputs */
.date-input-small {
  padding: 6px 10px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: 13px;
  width: 110px;
  text-align: center;
  cursor: pointer;
  background: white;
}

.today-badge {
  background: linear-gradient(135deg, #F5A623 0%, #E0921A 100%);
  color: white;
  padding: 8px 16px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 2px 8px rgba(245, 166, 35, 0.2);
}

/* Stats Cards */
.stats-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
  margin: 20px 0;
}

.stat-card {
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  transition: all 0.3s;
}

.stat-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.stat-icon {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}

.stat-content {
  flex: 1;
}

.stat-label {
  font-size: 13px;
  color: #6b7280;
  margin-bottom: 4px;
}

.stat-value {
  font-size: 24px;
  font-weight: normal;
  color: #111827;
}

/* Modern Table */
.modern-table thead th {
  background: #f9fafb;
  font-weight: 600;
  color: #374151;
  padding: 12px;
  border-bottom: 2px solid #e5e7eb;
}

.report-rows {
  transition: background 0.2s;
}

.report-rows:hover {
  background: #f9fafb;
}

.row-number {
  width: 28px;
  height: 28px;
  background: #f3f4f6;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  color: #6b7280;
  margin: 0 auto;
}

.date-badge-cell {
  background: #eff6ff;
  color: #3b82f6;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  display: inline-block;
}

.client-name-cell {
  font-weight: 500;
  color: #111827;
  display: flex;
  align-items: center;
}

/* Modern Textareas */
.modern-textarea {
  width: 100%;
  min-height: 65px;
  padding: 10px;
  border: 1.5px solid #e5e7eb;
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.5;
  resize: none;
  transition: all 0.2s;
  /* font-family: inherit; */
}

.modern-textarea:focus {
  outline: none;
  border-color: #F5A623;
  box-shadow: 0 0 0 3px rgba(245, 166, 35, 0.1);
}

.modern-textarea::placeholder {
  color: #9ca3af;
}

.report-textarea {
  background: #f9fafb;
}

.pending-textarea {
  background: #fef3c7;
  border-color: #fbbf24;
}

.pending-textarea:focus {
  border-color: #f59e0b;
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.1);
}

/* Pending Badge */
.pending-badge {
  background: #ef4444;
  color: white;
  padding: 3px 10px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  margin-left: 6px;
}

/* Empty State */
.empty-state {
  text-align: center;
  padding: 80px 20px;
}

.empty-icon {
  font-size: 64px;
  color: #d1d5db;
  margin-bottom: 16px;
}

.empty-state h3 {
  font-size: 20px;
  color: #374151;
  margin: 0 0 8px 0;
}

.empty-state p {
  color: #9ca3af;
  font-size: 14px;
}

/* Toast Notification */
.toast-notification {
  position: fixed;
  bottom: 30px;
  right: 30px;
  background: linear-gradient(135deg, #F5A623 0%, #E0921A 100%);
  color: white;
  padding: 14px 24px;
  border-radius: 10px;
  box-shadow: 0 10px 25px rgba(245, 166, 35, 0.3);
  display: none;
  align-items: center;
  gap: 10px;
  font-weight: 500;
  z-index: 9999;
  animation: slideUp 0.3s ease;
}

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

.toast-notification i {
  font-size: 18px;
}

/* lead list css */
/* 2. Zebra Striping */
.contact_detail-table tbody tr:nth-child(even) {
    background-color: #f9fafb;
}

.contact_detail-table tbody tr:nth-child(odd) {
    background-color: white;
}

/* 3. Row Hover Effect */
.contact_detail-table tbody tr:hover {
    background-color: #eff6ff !important;
    transition: background-color 0.2s ease;
    cursor: pointer;
}

/* 4. Status Badges */
.status-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
    text-align: center;
    white-space: nowrap;
}

.status-pending {
    background-color: #fef3c7;
    color: #92400e;
}

.status-detail_share {
    background-color: #dbeafe;
    color: #1e40af;
}

.status-interested {
    background-color: #FFF1D9;
    color: #92400E;
}

.status-not_interested {
    background-color: #fee2e2;
    color: #991b1b;
}

.status-jobs {
    background-color: #e9d5ff;
    color: #6b21a8;
}
.status-hot {
     background-color: #ec8282;
    color: #ffffff;
}
/* 5. Bulk Selection Bar */
.bulk-action-bar {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    padding: 15px 30px;
    border-radius: 50px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.3);
    display: none;
    align-items: center;
    gap: 15px;
    z-index: 1000;
    animation: slideUp 0.3s ease;
}

@keyframes slideUp {
    from { bottom: -100px; opacity: 0; }
    to { bottom: 20px; opacity: 1; }
}

.bulk-action-bar.active {
    display: flex;
}

.bulk-action-bar .count {
    color: white;
    font-weight: bold;
    font-size: 14px;
}

.bulk-action-btn {
    background: white;
    color: #667eea;
    border: none;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.bulk-action-btn:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

.bulk-action-btn.danger {
    background: #ef4444;
    color: white;
}

/* 6. Quick Filter Buttons */
.quick-filters {
    display: flex;
    gap: 8px;
    margin-bottom: 15px;
    flex-wrap: wrap;
}

.quick-filter-btn {
    padding: 8px 16px;
    background: #f3f4f6;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    color: #374151;
    cursor: pointer;
    transition: all 0.2s;
}

.quick-filter-btn:hover {
    background: #e5e7eb;
    border-color: #d1d5db;
}

.quick-filter-btn.active {
    background: #3b82f6;
    color: white;
    border-color: #3b82f6;
}

.quick-filter-btn.clear {
    background: #fee2e2;
    color: #991b1b;
    border-color: #fecaca;
}

.quick-filter-btn.clear:hover {
    background: #fecaca;
}

/* 7. Multi-Select Services */
.service-tag {
    display: inline-block;
    background: #3b82f6;
    color: white;
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 11px;
    margin: 2px;
    font-weight: 500;
}

.service-tag .remove {
    margin-left: 5px;
    cursor: pointer;
    font-weight: bold;
}

.service-dropdown {
    position: absolute;
    background: white;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    max-height: 200px;
    overflow-y: auto;
    z-index: 50;
    width: 100%;
    display: none;
}

.service-dropdown.active {
    display: block;
}

.service-dropdown-item {
    padding: 8px 12px;
    cursor: pointer;
    font-size: 13px;
    border-bottom: 1px solid #f3f4f6;
}

.service-dropdown-item:hover {
    background: #f3f4f6;
}

.service-dropdown-item.selected {
    background: #dbeafe;
    color: #1e40af;
}

/* 8. Checkbox Styles */
input[type="checkbox"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
    accent-color: #3b82f6;
}

/* 9. Loading Spinner */
.spinner-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.5);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

.spinner-overlay.active {
    display: flex;
}

.spinner {
    border: 4px solid #f3f4f6;
    border-top: 4px solid #3b82f6;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* 10. Pagination Enhancement */
.pagination-controls {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 15px;
}

.per-page-select {
    padding: 6px 12px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 13px;
}

/* 11. Stats Cards */
.states-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
    margin-bottom: 20px;
}

.state-card {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.state-card h3 {
    font-size: 14px;
    opacity: 0.9;
    margin-bottom: 8px;
}

.state-card .number {
    font-size: 32px;
    font-weight: bold;
}

.state-card.yellow { background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%); }
.state-card.green { background: linear-gradient(135deg, #F5A623 0%, #E0921A 100%); }
.state-card.red { background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%); }
.state-card.blue { background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%); }

/* ===== MODAL OVERLAY ===== */
.remarks-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    padding: 20px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

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

/* ===== MODAL CONTAINER ===== */
.remarks-modal {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 24px;
    width: 100%;
    max-width: 620px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow:
        0 4px 6px rgba(0,0,0,0.04),
        0 20px 60px rgba(0,0,0,0.12),
        0 0 0 1px rgba(245,166,35,0.06);
    transform: translateY(20px) scale(0.97);
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.remarks-overlay.active .remarks-modal {
    transform: translateY(0) scale(1);
}

/* ===== MODAL HEADER ===== */
.remarks-header {
    padding: 22px 28px;
    border-bottom: 1px solid #f0f0f0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    background: linear-gradient(135deg, #f0fdf9 0%, #ffffff 60%);
    position: relative;
    overflow: hidden;
}

.remarks-header::before {
    content: '';
    position: absolute;
    top: -30px;
    right: -30px;
    width: 120px;
    height: 120px;
    background: radial-gradient(circle, rgba(245,166,35,0.08) 0%, transparent 70%);
    pointer-events: none;
}

.header-left {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.header-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(245,166,35,0.08);
    border: 1px solid rgba(16,185,129,0.2);
    color: #F5A623;
    /* font-family: 'DM Sans', sans-serif; */
    font-size: 11px;
    font-weight: 500;
    padding: 4px 10px;
    border-radius: 20px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    width: fit-content;
}

.header-badge i {
    font-size: 7px;
    color: #F5A623;
}

.remarks-header h3 {
    margin: 0;
    /* font-family: 'Syne', sans-serif; */
    font-size: 20px;
    font-weight: normal;
    color: #111827;
    letter-spacing: -0.3px;
}

.close-btn {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    border: 1px solid #e5e7eb;
    background: #f9fafb;
    color: #9ca3af;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    flex-shrink: 0;
    margin-top: 4px;
}

.close-btn:hover {
    background: #fee2e2;
    border-color: #fca5a5;
    color: #ef4444;
}

/* ===== MODAL BODY ===== */
.remarks-body {
    padding: 24px 28px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 20px;
    flex: 1;
    scrollbar-width: thin;
    scrollbar-color: #e5e7eb transparent;
    background: #ffffff;
}

.remarks-body::-webkit-scrollbar {
    width: 4px;
}

.remarks-body::-webkit-scrollbar-track {
    background: transparent;
}

.remarks-body::-webkit-scrollbar-thumb {
    background: #e5e7eb;
    border-radius: 4px;
}

/* ===== INPUT FIELDS ===== */
.input-group {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.input-label {
    /* font-family: 'DM Sans', sans-serif; */
    font-size: 11px;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}

.input-wrapper {
    position: relative;
}

.input-wrapper i {
    position: absolute;
    left: 13px;
    top: 50%;
    transform: translateY(-50%);
    color: #9ca3af;
    font-size: 13px;
    pointer-events: none;
    transition: color 0.2s;
}

.remarks-input {
    width: 100%;
    background: #f9fafb;
    border: 1.5px solid #e5e7eb;
    border-radius: 10px;
    padding: 11px 14px 11px 38px;
    color: #111827;
    /* font-family: 'DM Sans', sans-serif; */
    font-size: 14px;
    outline: none;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

.remarks-input::placeholder {
    color: #d1d5db;
}

.remarks-input:focus {
    border-color: #F5A623;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(245,166,35,0.08);
}

.input-wrapper:focus-within i {
    color: #F5A623;
}

.remarks-input.flatpickr-input {
    cursor: pointer;
}

/* ===== TEXTAREA ===== */
.textarea-wrapper {
    position: relative;
}

.textarea-wrapper i {
    position: absolute;
    left: 13px;
    top: 14px;
    color: #9ca3af;
    font-size: 13px;
    pointer-events: none;
    transition: color 0.2s;
}

.remarks-textarea {
    width: 100%;
    background: #f9fafb;
    border: 1.5px solid #e5e7eb;
    border-radius: 10px;
    padding: 12px 14px 32px 38px;
    color: #111827;
    /* font-family: 'DM Sans', sans-serif; */
    font-size: 14px;
    outline: none;
    resize: vertical;
    min-height: 110px;
    transition: all 0.2s ease;
    box-sizing: border-box;
    line-height: 1.6;
}

.remarks-textarea::placeholder {
    color: #d1d5db;
}

.remarks-textarea:focus {
    border-color: #F5A623;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(245,166,35,0.08);
}

.textarea-wrapper:focus-within i {
    color: #F5A623;
}

.char-counter {
    position: absolute;
    bottom: 10px;
    right: 12px;
    font-size: 11px;
    color: #d1d5db;
    /* font-family: 'DM Sans', sans-serif; */
    pointer-events: none;
}

/* ===== DIVIDER ===== */
.section-divider {
    display: flex;
    align-items: center;
    gap: 10px;
}

.section-divider span {
    /* font-family: 'DM Sans', sans-serif; */
    font-size: 11px;
    font-weight: 600;
    color: #9ca3af;
    text-transform: uppercase;
    letter-spacing: 1px;
    white-space: nowrap;
}

.divider-line {
    flex: 1;
    height: 1px;
    background: #f3f4f6;
}

/* ===== REMARKS HISTORY ===== */
.remarks-history {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.remark-card {
    background: #fafafa;
    border: 1.5px solid #f0f0f0;
    border-radius: 12px;
    padding: 2px 16px;
    display: flex;
    flex-direction: column;
    gap: 9px;
    transition: all 0.2s ease;
    position: relative;
    overflow: hidden;
}

.remark-card::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: linear-gradient(180deg, #F5A623, #3b82f6);
    border-radius: 0 2px 2px 0;
    opacity: 0;
    transition: opacity 0.2s;
}

.remark-card:hover {
    border-color: #e5e7eb;
    background: #ffffff;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
}

.remark-card:hover::before {
    opacity: 1;
}

.remark-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.remark-index {
    width: 22px;
    height: 22px;
    background: linear-gradient(135deg, rgba(16,185,129,0.1), rgba(59,130,246,0.1));
    border: 1px solid rgba(16,185,129,0.2);
    border-radius: 6px;
    /* font-family: 'Syne', sans-serif; */
    font-size: 10px;
    font-weight: normal;
    color: #F5A623;
    display: flex;
    align-items: center;
    justify-content: center;
}

.remark-dates {
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
}

.remark-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    /* font-family: 'DM Sans', sans-serif; */
    font-size: 11px;
    color: #6b7280;
    background: #f3f4f6;
    padding: 3px 8px;
    border-radius: 6px;
    border: 1px solid #e5e7eb;
}

.remark-chip i {
    font-size: 9px;
    color: #F5A623;
}

.remark-chip.meeting {
    color: #d97706;
    border-color: #fde68a;
    background: #fffbeb;
}

.remark-chip.meeting i {
    color: #d97706;
}

.remark-text {
    /* font-family: 'DM Sans', sans-serif; */
    font-size: 13.5px;
    color: #374151;
    line-height: 1.65;
    padding-left: 2px;
}

/* ===== EMPTY STATE ===== */
.empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 32px 20px;
    text-align: center;
}

.empty-icon {
    width: 52px;
    height: 52px;
    background: #f3f4f6;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: #9ca3af;
}

.empty-state p {
    margin: 0;
    /* font-family: 'DM Sans', sans-serif; */
    font-size: 13px;
    color: #9ca3af;
}

/* ===== MODAL FOOTER ===== */
.remarks-footer {
    padding: 18px 28px;
    border-top: 1px solid #f3f4f6;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    background: #fafafa;
}

.btn-cancel {
    padding: 9px 20px;
    background: transparent;
    border: 1.5px solid #e5e7eb;
    border-radius: 10px;
    color: #6b7280;
    /* font-family: 'DM Sans', sans-serif; */
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-cancel:hover {
    border-color: #d1d5db;
    color: #374151;
    background: #f9fafb;
}

.btn-save {
    padding: 9px 22px;
    background: #F5A623;
    border: none;
    border-radius: 10px;
    color: white;
    /* font-family: 'DM Sans', sans-serif; */
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    gap: 7px;
    letter-spacing: 0.2px;
}

.btn-save:hover {
    background: #E0921A;
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(245,166,35,0.25);
}

.btn-save:active {
    transform: translateY(0);
}

.btn-save.saving {
    opacity: 0.7;
    cursor: not-allowed;
    pointer-events: none;
}

/* ===== LOADING STATE ===== */
.loading-state {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    gap: 10px;
    color: #9ca3af;
    /* font-family: 'DM Sans', sans-serif; */
    font-size: 13px;
}

.loading-spinner {
    width: 16px;
    height: 16px;
    border: 2px solid #e5e7eb;
    border-top-color: #F5A623;
    border-radius: 50%;
    animation: spin 0.7s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}
/* ===== LOADING STATE ===== */
.loading-state {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    gap: 10px;
    color: #4b5563;
    /* font-family: 'DM Sans', sans-serif; */
    font-size: 13px;
}

.loading-spinner {
    width: 18px;
    height: 18px;
    border: 2px solid rgba(0,210,160,0.15);
    border-top-color: #00d2a0;
    border-radius: 50%;
    animation: spin 0.7s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}
/* detail page */
.cd-page {
    background: var(--bg);
    min-height: 100vh;
    /* font-family: 'DM Sans', sans-serif; */
    color: var(--text);
    padding: 32px 24px;
}

/* ── Header ── */
.cd-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 36px;
    flex-wrap: wrap;
    gap: 16px;
}

.cd-header-left {
    display: flex;
    align-items: center;
    gap: 20px;
}

.cd-avatar {
    width: 72px;
    height: 72px;
    border-radius: 18px;
    background: linear-gradient(135deg, var(--accent), #8b5cf6);
    display: flex;
    align-items: center;
    justify-content: center;
    /* font-family: 'Syne', sans-serif; */
    font-size: 28px;
    font-weight: 800;
    color: #333;
    flex-shrink: 0;
    box-shadow: 0 0 30px rgba(99,102,241,0.3);
}

.cd-company-name {
    /* font-family: 'Syne', sans-serif; */
    font-size: 28px;
    font-weight: 800;
    color: var(--text);
    line-height: 1.1;
}

.cd-party-name {
    font-size: 14px;
    color: var(--muted);
    margin-top: 4px;
}

.cd-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 500;
    background: rgba(245,166,35,0.15);
    color: var(--accent2);
    border: 1px solid rgba(16,185,129,0.3);
    margin-top: 8px;
}

/* ── Info Grid ── */
.cd-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 12px;
    margin-bottom: 28px;
}

.cd-info-card {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 16px 18px;
    display: flex;
    align-items: center;
    gap: 14px;
}

.cd-info-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
}

.cd-info-label {
    font-size: 11px;
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 3px;
}

.cd-info-value {
    font-size: 14px;
    font-weight: 500;
    color: var(--text);
}

/* ── Stats Row ── */
.cd-stats {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 14px;
    margin-bottom: 28px;
}

.cd-stat {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 20px;
    position: relative;
    overflow: hidden;
}

.cd-stat::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    border-radius: 16px 16px 0 0;
}

.cd-stat.total::before { background: var(--accent); }
.cd-stat.paid::before { background: var(--accent2); }
.cd-stat.due::before { background: var(--danger); }
.cd-stat.invoices::before { background: var(--accent3); }

.cd-stat-label {
    font-size: 12px;
    color: var(--muted);
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.cd-stat-value {
    /* font-family: 'Syne', sans-serif; */
    font-size: 26px;
    font-weight: normal;
}

.cd-stat.total .cd-stat-value { color: var(--accent); }
.cd-stat.paid .cd-stat-value { color: var(--accent2); }
.cd-stat.due .cd-stat-value { color: var(--danger); }
.cd-stat.invoices .cd-stat-value { color: var(--accent3); }

.cd-stat-sub {
    font-size: 11px;
    color: var(--muted);
    margin-top: 4px;
}

/* ── Section Title ── */
.cd-section-title {
    /* font-family: 'Syne', sans-serif; */
    font-size: 16px;
    font-weight: normal;
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--text);
}

.cd-section-title span {
    display: inline-block;
    width: 4px;
    height: 18px;
    background: var(--accent);
    border-radius: 4px;
}

/* ── Assigned Users ── */
.cd-users {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 28px;
}

.cd-user-chip {
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 50px;
    padding: 8px 16px 8px 8px;
    transition: border-color 0.2s;
}

.cd-user-chip:hover { border-color: var(--accent); }

.cd-user-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: black;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: normal;
    color: white;
}

.cd-user-info-name {
    font-size: 13px;
    font-weight: 500;
}

.cd-user-info-dept {
    font-size: 11px;
    color: var(--muted);
}

/* ── Invoice Table ── */
.cd-table-wrap {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 28px;
}

.cd-table-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 20px;
    border-bottom: 1px solid var(--border);
}

.cd-table {
    width: 100%;
    border-collapse: collapse;
}

.cd-table thead th {
    background: rgba(255,255,255,0.03);
    padding: 12px 16px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--muted);
    font-weight: 500;
    text-align: left;
    border-bottom: 1px solid var(--border);
}

.cd-table tbody tr {
    border-bottom: 1px solid rgba(255,255,255,0.04);
    transition: background 0.15s;
}

.cd-table tbody tr:hover { background: rgba(255,255,255,0.03); }
.cd-table tbody tr:last-child { border-bottom: none; }

.cd-table tbody td {
    padding: 14px 16px;
    font-size: 13px;
}

.status-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 600;
}

.status-pill.paid {
    background: rgba(245,166,35,0.15);
    color: var(--paid);
    border: 1px solid rgba(245,166,35,0.25);
}

.status-pill.due {
    background: rgba(239,68,68,0.15);
    color: var(--due);
    border: 1px solid rgba(239,68,68,0.25);
}

.status-pill.partial {
    background: rgba(245,158,11,0.15);
    color: var(--accent3);
    border: 1px solid rgba(245,158,11,0.25);
}

.inv-no {
    /* font-family: 'Syne', sans-serif; */
    font-weight: 600;
    font-size: 13px;
    color: var(--accent);
}

.amt-paid { color: var(--paid); font-weight: 600; }
.amt-due { color: var(--due); font-weight: 600; }

/* ── Payment History ── */
.cd-payments {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 28px;
}

.cd-payment-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 14px 18px;
    transition: border-color 0.2s;
}

.cd-payment-row:hover { border-color: var(--accent2); }

.cd-payment-left {
    display: flex;
    align-items: center;
    gap: 14px;
}

.cd-payment-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: rgba(245,166,35,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--accent2);
    font-size: 15px;
}

.cd-payment-inv { font-size: 12px; color: var(--muted); }
.cd-payment-date { font-size: 12px; color: var(--muted); }
.cd-payment-amount {
    /* font-family: 'Syne', sans-serif; */
    font-size: 18px;
    font-weight: normal;
    color: var(--accent2);
}

/* ── Progress Bar ── */
.cd-progress-wrap {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 20px;
    margin-bottom: 28px;
}

.cd-progress-label {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    margin-bottom: 10px;
    color: var(--muted);
}

.cd-progress-bar {
    background: var(--border);
    border-radius: 50px;
    height: 8px;
    overflow: hidden;
}

.cd-progress-fill {
    height: 100%;
    border-radius: 50px;
    background: linear-gradient(90deg, var(--accent2), #E0921A);
    transition: width 1s ease;
}

@media (max-width: 768px) {
    .cd-header { flex-direction: column; }
    .cd-stats { grid-template-columns: repeat(2, 1fr); }
    .cd-table { font-size: 12px; }
}

/* vacnacy page css to add */
.vacancy-label-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.quick-add-circle-btn {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #2de26d;
    /* color: #fff; */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    /* font-size: 15px;
    font-weight: normal; */
    text-decoration: none;
    cursor: pointer;
    line-height: 1;
    flex-shrink: 0;
    transition: background 0.2s ease;
}
.quick-add-circle-btn:hover {
    background: #2cb75e;
}
.quick-add-modal-overlay {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}
.quick-add-modal-box {
    background: #fff;
    width: 360px;
    max-width: 90%;
    border-radius: 10px;
    padding: 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}
.quick-add-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.quick-add-modal-header h4 {
    margin: 0;
    font-size: 16px;
    color: #111827;
}
.quick-add-modal-close {
    cursor: pointer;
    font-size: 20px;
    color: #6b7280;
}

/* =========================================================================
   MAIN-PAGE THEME OVERRIDE
   Append this block to the END of your existing style.css (same file/folder).
   CSS cascades bottom-up, so these rules override the earlier ones without
   you having to touch/rewrite anything else in the original file.

   What this does:
   1. Adds the navy/orange palette used on the dashboard (main page) as CSS vars.
   2. Re-skins every dashboard-only class (get-started-with-brevo-*, calendar,
      dash-item-*, revanue-*) to match the main page exactly — same grid
      layout + the "Top Clients" ranking sidebar we added in the blade file.
   3. Recolors the common green accents used site-wide (buttons, badges,
      hovers, gradients) to orange, so the whole app feels consistent with
      the main page. Red (danger/return) and blue (info/links) accents were
      left untouched on purpose — those carry a different meaning.
   ========================================================================= */

:root{
  --orange:      #F5A623;
  --orange-dark: #E0921A;
  --orange-soft: #FFF1D9;
  --navy-soft:   #24365F;
}

/* ===================== 1. GET STARTED / JOBS TABLE + CALENDAR ===================== */
.get-started-with-brevo-container{
  display: grid;
  grid-template-columns: 2fr 1fr;
  align-items: start;
  gap: 20px;
  flex-wrap: unset;
}
@media (max-width: 900px){
  .get-started-with-brevo-container{ grid-template-columns: 1fr; }
}

.get-started-with-brevo-calendar{
  width: 100%;
  margin: 0;
  border-top: 4px solid var(--primary);
  height: fit-content;
}

.calendar-header button:hover{
  background: var(--orange);
  color: #fff;
}

.date.today,
.calendar-grid .today{
  background: var(--primary) !important;
  color: #fff !important;
}
.calendar-grid .has-event{
  background: var(--orange-soft) !important;
  color: var(--orange-dark) !important;
}
.selected-date{
  background-color: var(--orange) !important;
  color: #fff !important;
}
.date:hover:not(.today){
  background: var(--orange-soft);
}

.create-campaign-btn{
  background: var(--orange);
  color: #fff;
}
.create-campaign-btn:hover{
  background: var(--orange-dark);
}

.get-started-with-brevo-search input:focus,
.get-started-with-brevo-filter:focus{
  border-color: var(--orange);
  box-shadow: 0 0 0 3px rgba(245, 166, 35, 0.15);
}

.pagination-buttons button:hover:not(:disabled){
  background: var(--orange-soft);
  border-color: var(--orange);
}
.pagination-buttons button.active{
  background: var(--orange);
  border-color: var(--orange);
  color: #fff;
}

/* ===================== 2. STAT CARDS (dash-item-top) ===================== */
.dash-item-card{
  color: var(--text-main);
  background: #fff;
  box-shadow: var(--shadow);
}
.dash-item-card h4{ color: var(--text-main); }
.dash-item-card p{ color: var(--text-muted); opacity: 1; }

.dash-item-orange{ background: var(--primary) !important; color: #fff; }
.dash-item-orange h4, .dash-item-orange p{ color: #fff; }

.dash-item-green .dash-item-icon,
.dash-item-green{ background: #fff; }
.dash-item-green::before{ background: var(--orange); }

.dash-item-pink,
.dash-item-blue,
.dash-item-purple{ background: #fff; }

/* keep distinct icon accent colors but on white cards instead of gradient fills */
.dash-item-green  { border-top: 4px solid #2E9E6D; }
.dash-item-pink   { border-top: 4px solid #E85D8A; }
.dash-item-blue   { border-top: 4px solid #3E6FD9; }
.dash-item-purple { border-top: 4px solid #8B5CF6; }
.dash-item-orange { border-top: 4px solid var(--orange); }

/* ===================== 3. SALES ANALYTICS + RANKING SIDEBAR ===================== */
.dash-item-sales{
  background: #fff;
  box-shadow: var(--shadow);
  border-radius: 18px;
  padding: 22px 24px;
}
.dash-item-sales-header{
  align-items: flex-start;
  margin-bottom: 4px;
}
.dash-item-sales-header h3{ color: var(--primary); }
.dash-item-sales-sub{ font-size: 12.5px; color: var(--text-muted); margin: 4px 0 0; }

.dash-item-sales-total{
  font-size: 13px;
  color: var(--text-muted);
  margin: 14px 0 18px;
  padding-top: 14px;
  border-top: 1px solid var(--border);
}
.dash-item-sales-total strong{ color: var(--primary); font-weight: normal; font-size: 15px; }

#monthSelector{
  border-radius: 999px !important;
  border: 1px solid var(--border) !important;
  padding: 6px 14px !important;
  background: var(--bg-body) !important;
}

.dash-item-sales-body{
  display: grid;
  grid-template-columns: 2.2fr 1fr;
  gap: 26px;
  align-items: stretch;
}
@media (max-width: 900px){
  .dash-item-sales-body{ grid-template-columns: 1fr; }
}
.dash-item-sales-chart-wrap{ position: relative; }

.dash-item-sales-ranking{
  border-left: 1px solid var(--border);
  padding-left: 22px;
  display: flex;
  flex-direction: column;
}
@media (max-width: 900px){
  .dash-item-sales-ranking{
    border-left: none; border-top: 1px solid var(--border);
    padding-left: 0; padding-top: 18px;
  }
}
.dash-item-sales-ranking h4{
  font-size: 13.5px; font-weight: normal; color: var(--primary);
  margin: 0 0 14px; text-transform: uppercase; letter-spacing: 0.03em;
}
.ranking-list{ list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.ranking-list li{ display: flex; align-items: center; gap: 10px; font-size: 13px; }
.ranking-badge{
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--primary); color: #fff;
  font-size: 11px; font-weight: normal;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.ranking-list li:nth-child(1) .ranking-badge{ background: var(--orange); }
.ranking-name{ flex: 1; color: var(--text-main); font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ranking-amount{ color: var(--text-muted); font-weight: 600; font-size: 12px; white-space: nowrap; }
.ranking-empty{ color: var(--text-muted); font-size: 13px; }

/* legacy donut block, if still present on any page, recolor to match */
.dash-item-circle{
  background: conic-gradient(
    var(--orange) 0deg 220deg,
    var(--primary) 220deg 300deg,
    var(--gray-200) 300deg 360deg
  ) !important;
}

/* ===================== 4. MEETING / SUGGESTIONS (revanue-*) ===================== */
.revanue-card::before{ background: var(--orange); }
.revanue-icon{ background: var(--orange-soft); color: var(--orange-dark); }
.revanue-title{ color: var(--primary); }
.revanue-amount{ color: var(--orange-dark); }
.revanue-btn{ background: var(--orange-soft); color: var(--orange-dark); }
.revanue-btn:hover{ background: var(--orange); color: #fff; }

/* ===================== 5. SITE-WIDE GREEN → ORANGE ACCENTS ===================== */
.ask-ai-btn{
  background: var(--orange-soft);
  color: var(--orange-dark);
  border-color: var(--orange);
}
.ask-ai-btn:hover{ background: var(--orange); color: #fff; }

.icon-btn:hover{ background: var(--orange-soft); color: var(--orange-dark); }

.user-info{ background: linear-gradient(135deg, var(--orange-soft), #ffe3b3); }

.dropdown-menu a:hover{ background: var(--primary-light); color: var(--primary-dark); }

.side-menu > li.current-menu > a,
.side-menu > li > a:hover{ background: var(--sidebar-active-bg); color: var(--sidebar-active-text); }
.side-menu > li.current-menu > a{ border-left: 4px solid var(--primary); }
.side-submenu a:hover{ background: #ecf3fd; color: var(--primary-dark); }
.side-submenu a.current-menu{ color: var(--primary); background: #dceafc; }

.get-started-with-brevo-search input:focus{ border-color: var(--orange); }

.contact_detail-import-btn{ background: var(--primary); }
.contact_detail-import-btn:hover{ background: var(--navy-soft); }
.contact_detail-add-filter-btn{ background: var(--primary); box-shadow: 0 4px 15px rgba(27, 42, 74, 0.3); }
.contact_detail-add-filter-btn:hover{ background: var(--navy-soft); }
.contact_detail-subscribed-badge{ background: var(--orange-soft); color: var(--orange-dark); }
.status-active{ background: var(--orange-soft); color: var(--orange-dark); }
.contact_detail-popup-item:hover{ background: var(--orange-soft); color: var(--orange-dark); }

.item-action-request{ background: var(--orange-soft); color: var(--orange-dark); border: 1.5px solid var(--orange); }
.item-action-request:hover{ background: var(--orange); color: #fff; }

.request-header{ background: var(--orange); }
.btn-request{ background: var(--orange); color: #fff; }
.btn-request:hover{ background: var(--orange-dark); }

.vacancy-form-file-btn{ background: var(--orange-soft); border-color: var(--orange); color: var(--orange-dark); }
.vacancy-form-file-btn:hover{ background: var(--orange); color: #fff; }
.vacancy-form-submit-btn{ background: var(--primary); }
.vacancy-form-submit-btn:hover{ background: var(--navy-soft); }

.job-detail-search-wrapper:focus-within{ border-color: var(--orange); box-shadow: 0 10px 40px rgba(245,166,35,0.22); }
.job-detail-type{ background: var(--orange-soft); color: var(--orange-dark); }
.job-detail-desc{ background: var(--primary-light); border-left-color: var(--primary); }
.job-detail-actions{ background: var(--orange-soft); border-left-color: var(--orange); box-shadow: -10px 0 30px rgba(245,166,35,0.2); }
.add-job-btn{ background: var(--primary); box-shadow: 0 6px 20px rgba(27,42,74,0.35); }
.add-job-btn:hover{ box-shadow: 0 12px 30px rgba(27,42,74,0.45); }

.modal-header{ background: var(--orange-soft); color: var(--orange-dark); border-bottom-color: var(--orange); }
.modal-close, .modal-close-1{ color: var(--orange-dark); }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus{
  border-color: var(--orange); box-shadow: 0 0 0 4px rgba(245,166,35,0.15);
}
.upload-btn, .add-job-final{ background: var(--primary); box-shadow: 0 6px 20px rgba(27,42,74,0.35); }

.emp-management-submit-btn,
.job-profile-submit,
.deduction-add-btn{ background: var(--primary); }
.emp-management-submit-btn:hover,
.job-profile-submit:hover,
.deduction-add-btn:hover{ background: var(--navy-soft); box-shadow: 0 15px 35px rgba(27,42,74,0.35); }

.job-profile-upload-btn{ background: var(--orange-soft); border-color: var(--orange); color: var(--orange-dark); }
.job-profile-upload-btn:hover{ background: var(--orange); color: #fff; }

.complaints-add-dispute-btn,
.complaints-add-item-btn,
.complaints-add-btn{ background: var(--primary); }
.complaints-add-dispute-btn:hover,
.complaints-add-item-btn:hover,
.complaints-add-btn:hover{ background: var(--navy-soft); }

.stock-entry-add-row-btn,
.stock-entry-submit,
.add-item-submit-btn{ background: var(--primary); }
.stock-entry-add-row-btn:hover,
.add-item-submit-btn:hover{ background: var(--navy-soft); }
.stock-entry-alert{ background: var(--orange-soft); border-left-color: var(--orange); color: var(--orange-dark); }

.status.sent{ background: var(--orange-soft); color: var(--orange-dark); }

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

.attendance-management-slider{ background-color: #cbd5e1; }
input:checked + .attendance-management-slider{ background-color: var(--orange); }

.three-dot-dropdown a:hover{ background: var(--orange); color: #fff; }

.notification-header{ background: var(--primary); }
.notification-item{ border-left-color: var(--primary); }
.notification-item:hover{ background: var(--orange-soft); }
.notification-item.unread{ background: #fff7ed; border-left-color: var(--orange); }
.notification-icon{ background: var(--primary-light); color: var(--primary-dark); }

.stock-report-table tr:hover{ background: var(--orange-soft); }
.stock-report-status-receive{ color: var(--primary); }

.send-btn{ background: var(--primary); }
.send-btn:hover{ background: var(--navy-soft); }
.message-bubble.sent{ background: var(--primary-light); }
.doc-link{ color: var(--orange-dark); }

.bulk-action-bar{ background: linear-gradient(135deg, var(--primary) 0%, var(--navy-soft) 100%); }
.bulk-action-btn{ color: var(--primary); }
.bulk-action-btn.danger{ background: #ef4444; color: #fff; }

.quick-filter-btn.active{ background: var(--primary); border-color: var(--primary); color: #fff; }

.state-card{ background: linear-gradient(135deg, var(--primary) 0%, var(--navy-soft) 100%); }
.state-card.yellow{ background: linear-gradient(135deg, var(--orange) 0%, var(--orange-dark) 100%); }
.state-card.green{ background: linear-gradient(135deg, #2E9E6D 0%, #217a55 100%); }

.stat-card:hover{ box-shadow: 0 4px 12px rgba(27,42,74,0.12); }
.date-badge-cell{ background: var(--orange-soft); color: var(--orange-dark); }
.toast-notification{ background: linear-gradient(135deg, var(--primary) 0%, var(--navy-soft) 100%); box-shadow: 0 10px 25px rgba(27,42,74,0.3); }

.header-badge{ background: rgba(245,166,35,0.1); border-color: rgba(245,166,35,0.3); color: var(--orange-dark); }
.header-badge i{ color: var(--orange-dark); }
.remarks-input:focus, .remarks-textarea:focus{ border-color: var(--orange); box-shadow: 0 0 0 3px rgba(245,166,35,0.08); }
.input-wrapper:focus-within i, .textarea-wrapper:focus-within i{ color: var(--orange-dark); }
.remark-card::before{ background: linear-gradient(180deg, var(--orange), var(--primary)); }
.remark-index{ background: linear-gradient(135deg, rgba(245,166,35,0.12), rgba(27,42,74,0.1)); border-color: rgba(245,166,35,0.25); color: var(--orange-dark); }
.remark-chip i{ color: var(--orange-dark); }
.btn-save{ background: var(--primary); }
.btn-save:hover{ background: var(--navy-soft); box-shadow: 0 6px 20px rgba(27,42,74,0.25); }
.loading-spinner{ border-top-color: var(--orange); }

.cd-badge{ background: rgba(245,166,35,0.12); color: var(--orange-dark); border-color: rgba(245,166,35,0.3); }
.cd-stat.paid .cd-stat-value{ color: var(--orange-dark); }
.cd-progress-fill{ background: linear-gradient(90deg, var(--orange), var(--orange-dark)); }
.cd-payment-icon{ background: rgba(245,166,35,0.12); color: var(--orange-dark); }
.cd-payment-amount{ color: var(--orange-dark); }

.quick-add-circle-btn{ background: var(--orange); }
.quick-add-circle-btn:hover{ background: var(--orange-dark); }
/* homesetting Page */
        /* .acs-wrap {
                max-width: 1000px;
                margin: 18px auto;
                padding: 0 16px;
                font-family: inherit;
            } */
        .acs-top {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 14px;
        }

        .acs-top .icon {
            width: 36px;
            height: 36px;
            border-radius: 10px;
            background: #1B2A4A;
            color: #F5A623;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 16px;
            flex-shrink: 0;
        }

        .acs-top h1 {
            font-size: 19px;
            font-weight: normal;
            color: #111827;
            margin: 0;
        }

        .acs-top p {
            font-size: 12.5px;
            color: #6b7280;
            margin: 1px 0 0;
        }

        .acs-alert {
            background: #FFF7EA;
            border-left: 4px solid #F5A623;
            color: #92400E;
            padding: 8px 14px;
            border-radius: 6px;
            font-size: 13px;
            margin-bottom: 14px;
        }

        .acs-pair {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 12px;
            margin-bottom: 12px;
            align-items: start;
        }

        .acs-section {
            background: #fff;
            border-radius: 10px;
            overflow: hidden;
            border: 1px solid #e5e7eb;
            height: 100%;
        }

        .acs-section-head {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 9px 14px;
            background: #f9fafb;
            border-bottom: 1px solid #e5e7eb;
        }

        .acs-section-head .num {
            width: 18px;
            height: 18px;
            border-radius: 50%;
            background: #1B2A4A;
            color: #fff;
            font-size: 10.5px;
            font-weight: normal;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        .acs-section-head span.label {
            font-size: 13px;
            font-weight: normal;
            color: #111827;
        }

        .acs-section-body {
            padding: 12px 14px 14px;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 10px;
        }

        .acs-section-body.single-col {
            grid-template-columns: 1fr;
        }

        .acs-field {
            display: flex;
            flex-direction: column;
        }

        .acs-field.full {
            grid-column: 1 / -1;
        }

        .acs-label {
            font-size: 11px;
            font-weight: 600;
            color: #4b5563;
            margin-bottom: 4px;
            text-transform: uppercase;
            letter-spacing: .02em;
        }

        .acs-req {
            color: #F5A623;
        }

        .acs-input,
        .acs-textarea {
            border: 1.3px solid #e5e7eb;
            border-radius: 8px;
            padding: 6px 10px;
            font-size: 13px;
            color: #111827;
            background: #fff;
            width: 100%;
            box-sizing: border-box;
            /* font-family: inherit; */
            transition: border-color .15s;
        }

        .acs-textarea {
            border-radius: 10px;
            resize: vertical;
        }

        .acs-input:focus,
        .acs-textarea:focus {
            outline: none;
            border-color: #F5A623;
            box-shadow: 0 0 0 3px rgba(245,166,35,0.15);
        }

        .acs-input.is-invalid,
        .acs-textarea.is-invalid {
            border-color: #dc2626;
        }

        .acs-error {
            color: #dc2626;
            font-size: 10.5px;
            margin: 3px 4px 0;
        }

        .acs-file-row {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 8px;
        }

        .acs-preview {
            height: 70px;
            width: 70px;
            object-fit: contain;
            border: 1px solid #e5e7eb;
            border-radius: 8px;
            padding: 4px;
            flex-shrink: 0;
            background: #f9fafb;
        }

        .acs-actions {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: 10px;
            margin-top: 4px;
        }

        .acs-btn-submit {
            background: #1B2A4A;
            color: #fff;
            border: none;
            padding: 9px 26px;
            border-radius: 999px;
            font-size: 13.5px;
            font-weight: normal;
            cursor: pointer;
            transition: background .15s, color .15s;
        }

        .acs-btn-submit:hover {
            background: #F5A623;
            color: #1B2A4A;
        }

        .acs-btn-skip {
            color: #6b7280;
            padding: 9px 16px;
            text-decoration: none;
            font-size: 13.5px;
            font-weight: 600;
        }

        .acs-btn-skip:hover {
            color: #1B2A4A;
        }

        @media (max-width: 768px) {
            .acs-pair {
                grid-template-columns: 1fr;
            }

            .acs-section-body {
                grid-template-columns: 1fr;
            }

            .acs-actions {
                flex-direction: column-reverse;
                align-items: stretch;
            }

            .acs-btn-submit,
            .acs-btn-skip {
                text-align: center;
            }
        }
/* add lead page */

        /* ===================== ADD LEAD — polished header + balanced form ===================== */
        .add-lead-wrap {
            max-width: 760px;
            margin: 30px auto;
        }

        .add-lead-header {
            background: linear-gradient(135deg, var(--primary) 0%, var(--navy-soft, #24365F) 100%);
            border-radius: 5px 5px 0 0;
            padding: 10px 14px;
            display: flex;
            align-items: center;
            gap: 16px;
            position: relative;
            overflow: hidden;
        }

        .add-lead-header::after {
            content: "";
            position: absolute;
            top: -40px;
            right: -40px;
            width: 160px;
            height: 160px;
            background: radial-gradient(circle, rgba(245, 166, 35, 0.18) 0%, transparent 70%);
        }

        .add-lead-header-icon {
            width: 52px;
            height: 52px;
            border-radius: 14px;
            background: rgba(255, 255, 255, 0.12);
            border: 1px solid rgba(255, 255, 255, 0.18);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 22px;
            color: #F5A623;
            flex-shrink: 0;
        }

        .add-lead-header-text h1 {
            color: #fff;
            /* font-size: 22px; */
            font-weight: normal;
            /* margin: 0 0 4px;
            text-align: left; */
        }

        .add-lead-header-text p {
            color: rgba(255, 255, 255, 0.75);
            font-size: 13.5px;
            margin: 0;
        }

        .add-lead-body {
            background: #fff;
            border-radius: 0 0 5px 5px;
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
            padding: 34px;
        }

        .add-lead-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 22px;
            margin-bottom: 24px;
        }

        .add-lead-field label {
            display: block;
            margin-bottom: 8px;
            font-weight: 600;
            font-size: 14.5px;
            color: var(--text-main);
        }

        .add-lead-required {
            color: #ef4444;
            font-weight: bold;
        }

        .add-lead-field .search-wrapper {
            width: 100%;
        }

        .add-lead-field .search-wrapper input,
        .add-lead-field .add-item-textarea {
            width: 100%;
            padding: 14px 16px;
            border: 1.8px solid var(--border);
            border-radius: 10px;
            font-size: 15px;
            background: var(--bg-body);
            transition: var(--transition);
            box-sizing: border-box;
        }

        .add-lead-field .search-wrapper input:focus,
        .add-lead-field .add-item-textarea:focus {
            outline: none;
            border-color: #F5A623;
            background: #fff;
            box-shadow: 0 0 0 4px rgba(245, 166, 35, 0.15);
        }

        .add-lead-field .add-item-textarea {
            min-height: 110px;
            resize: vertical;
        }

        /* dropdown list styling on top of the existing .state-results rules */
        .add-lead-field .search-wrapper .state-results {
            border-radius: 10px;
            box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
            border-color: var(--border);
            margin-top: 6px;
        }

        .add-lead-field .search-wrapper .state-results li:hover {
            background: #FFF1D9;
            color: #92400E;
        }

        .add-lead-submit-btn {
            background: var(--primary);
            color: #fff;
            border: none;
            padding: 14px 38px;
            border-radius: 999px;
            font-size: 15.5px;
            font-weight: normal;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 10px;
            transition: all 0.25s ease;
            box-shadow: 0 8px 22px rgba(27, 42, 74, 0.25);
        }

        .add-lead-submit-btn:hover {
            background: #F5A623;
            transform: translateY(-2px);
            box-shadow: 0 12px 28px rgba(245, 166, 35, 0.35);
        }

        @media (max-width: 640px) {
            .add-lead-header {
                padding: 22px;
            }

            .add-lead-body {
                padding: 22px;
            }
        }

        /* =========================================================
       NAVY / ORANGE DASHBOARD THEME — v3
       Calendar sits side-by-side with jobs table (grid layout).
       Sales Analytics now has a ranking sidebar + total line,
       closer to the reference "admin dashboard" look.
       ========================================================= */

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

        :root {
            --bg: #EEF1F7;
            --surface: #FFFFFF;
            --navy: #1B2A4A;
            --navy-soft: #24365F;
            --orange: #F5A623;
            --orange-soft: #FFF1D9;
            --text-dark: #1B2A4A;
            --text-muted: #8A93A6;
            --border: #E9ECF3;
            --shadow: 0 10px 28px rgba(27, 42, 74, 0.08);
            --radius: 18px;
            --font: 'Poppins', 'Segoe UI', sans-serif;
        }

        .main-content {
            background: var(--bg);
            padding: 10px;
            /* font-family: var(--font); */
            color: var(--text-dark);
        }

        .main-content h3 {
            /* font-family: var(--font); */
            font-weight: 600;
        }

        /* ===================== TOP: CALENDAR + JOBS TABLE ===================== */
        .get-started-with-brevo-container {
            display: grid;
            grid-template-columns: 2fr 1fr;
            /* table wider, calendar narrower */
            align-items: start;
            gap: 20px;
            margin-bottom: 22px;
        }

        @media (max-width: 900px) {
            .get-started-with-brevo-container {
                grid-template-columns: 1fr;
                /* mobile pe stack ho jaye */
            }
        }

        .get-started-with-brevo-calendar,
        .get-started-with-brevo-main {
            height: auto !important;
            max-height: none !important;
            min-height: 0 !important;
            overflow: visible !important;
            width: 100%;
        }

        .get-started-with-brevo-calendar {
            background: var(--surface);
            border-radius: var(--radius);
            padding: 20px 18px;
            box-shadow: var(--shadow);
            border-top: 4px solid var(--navy);
            align-self: start;
        }

        .get-started-with-brevo-calendar .calendar-header,
        .get-started-with-brevo-calendar .calendar-days,
        .get-started-with-brevo-calendar .calendar-grid {
            max-width: 100%;
        }

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

        .calendar-header h3 {
            font-size: 17px;
            margin: 0;
            color: var(--navy);
            font-weight: normal;
        }

        .calendar-header button {
            border: none;
            background: var(--orange-soft);
            color: var(--orange);
            width: 32px;
            height: 32px;
            border-radius: 50%;
            cursor: pointer;
            font-size: 12px;
        }

        .calendar-header button:hover {
            background: var(--orange);
            color: #fff;
        }

        .calendar-days {
            display: grid;
            grid-template-columns: repeat(7, 1fr);
            text-align: center;
            font-size: 11px;
            font-weight: 600;
            color: var(--text-muted);
            margin-bottom: 10px;
        }

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

        .calendar-grid>* {
            aspect-ratio: 1 / 1;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            font-size: 13px;
            color: var(--text-dark);
        }

        .calendar-grid .today {
            background: var(--navy);
            color: #fff;
            font-weight: normal;
        }

        .calendar-grid .has-event {
            background: var(--orange-soft);
            color: var(--orange);
            font-weight: normal;
        }

        .get-started-with-brevo-main {
            background: var(--surface);
            border-radius: var(--radius);
            padding: 20px;
            box-shadow: var(--shadow);
            display: flex;
            flex-direction: column;
        }

        .get-started-with-brevo-controls {
            display: flex;
            justify-content: flex-end;
            margin-bottom: 14px;
        }

        .get-started-with-brevo-search {
            position: relative;
            width: 260px;
        }

        .get-started-with-brevo-search i {
            position: absolute;
            left: 14px;
            top: 50%;
            transform: translateY(-50%);
            color: var(--text-muted);
            font-size: 12px;
        }

        .get-started-with-brevo-search input {
            width: 100%;
            padding: 10px 14px 10px 34px;
            border-radius: 999px;
            border: 1px solid var(--border);
            background: var(--bg);
            /* font-family: var(--font); */
            font-size: 13px;
            outline: none;
        }

        .get-started-with-brevo-search input:focus {
            border-color: var(--orange);
        }

        .get-started-with-brevo-table {
            overflow-x: auto;
        }

        #jobsTable {
            width: 100%;
            border-collapse: collapse;
            font-size: 13px;
        }

        #jobsTable thead th {
            text-align: left;
            padding: 10px 12px;
            color: var(--text-muted);
            font-weight: normal;
            font-size: 12px;
            border-bottom: 1px solid var(--border);
            white-space: nowrap;
        }

        #jobsTable tbody td {
            padding: 12px;
            border-bottom: 1px solid var(--border);
            color: var(--text-dark);
            white-space: nowrap;
        }

        #jobsTable tbody tr:hover {
            background: var(--bg);
        }

        #jobsTable td.invoice {
            font-weight: normal;
            color: var(--navy);
        }

        #jobsTable td.amount {
            font-weight: normal;
            color: var(--orange);
        }

        #jobsTable td.team a {
            color: var(--navy);
            text-decoration: none;
            font-weight: 600;
        }

        #jobsTable td.team a:hover {
            color: var(--orange);
        }

        #jobsTable td.paid-by {
            color: #2E9E6D;
            font-weight: 600;
        }

        #jobsTable tfoot td {
            padding: 12px;
            font-weight: normal;
            border-top: 2px solid var(--border);
        }

        .create-campaign-btn {
            background: var(--orange);
            color: #fff !important;
            padding: 8px 18px;
            border-radius: 999px;
            font-size: 12.5px;
            font-weight: normal;
        }

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

        /* ===================== STAT CARDS ===================== */
        .dash-item-container {
            display: flex;
            flex-direction: column;
            gap: 22px;
        }

        .dash-item-top {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
            gap: 18px;
        }

        .dash-item-card {
            background: var(--surface);
            border-radius: var(--radius);
            padding: 18px 20px;
            box-shadow: var(--shadow);
            position: relative;
        }

        .dash-item-card h4 {
            font-size: 26px;
            font-weight: normal;
            margin: 0 0 4px;
            color: var(--text-dark);
        }

        .dash-item-card p {
            font-size: 12.5px;
            color: var(--text-muted);
            margin: 0;
            font-weight: 500;
        }

        .dash-item-card small {
            color: var(--text-muted);
        }

        .dash-item-icon {
            width: 34px;
            height: 34px;
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 14px;
            margin-bottom: 10px;
            background: var(--orange-soft);
            color: var(--orange);
        }

        .dash-item-orange {
            background: var(--navy);
            color: #fff;
        }

        .dash-item-orange h4,
        .dash-item-orange p {
            color: #fff;
        }

        .dash-item-orange .dash-item-icon {
            background: rgba(255, 255, 255, 0.15);
            color: var(--orange);
        }

        .dash-item-green .dash-item-icon {
            background: #E4F6ED;
            color: #2E9E6D;
        }

        .dash-item-pink .dash-item-icon {
            background: #FDE7EE;
            color: #E85D8A;
        }

        .dash-item-blue .dash-item-icon {
            background: #E6EEFB;
            color: #3E6FD9;
        }

        .dash-item-purple .dash-item-icon {
            background: #F0E9FB;
            color: #8B5CF6;
        }

        /* ===================== MEETING / SUGGESTIONS ===================== */
        .revanue-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 20px;
        }

        @media (max-width: 900px) {
            .revanue-grid {
                grid-template-columns: 1fr;
            }
        }

        .revanue-card {
            background: var(--surface);
            border-radius: var(--radius);
            padding: 20px;
            box-shadow: var(--shadow);
            display: flex;
            flex-direction: column;
        }

        .revanue-header {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 14px;
        }

        .revanue-icon {
            width: 34px;
            height: 34px;
            border-radius: 10px;
            background: var(--orange-soft);
            color: var(--orange);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 14px;
        }

        .revanue-title {
            font-size: 15px;
            font-weight: 600;
            color: var(--navy);
        }

        .revanue-list {
            list-style: none;
            margin: 0;
            padding: 0;
            flex: 1;
        }

        .revanue-list li {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            padding: 10px 0;
            border-bottom: 1px solid var(--border);
            font-size: 13px;
        }

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

        .revanue-amount {
            color: var(--text-muted);
            font-size: 12px;
            font-weight: 600;
            white-space: nowrap;
        }

        .revanue-actions {
            margin-top: 14px;
            text-align: right;
        }

        .revanue-btn {
            background: var(--orange);
            color: #fff;
            border: none;
            padding: 8px 20px;
            border-radius: 999px;
            font-size: 12.5px;
            font-weight: normal;
            cursor: pointer;
        }

        .revanue-btn:hover {
            background: #E0921A;
        }

        .three-dot-wrapper {
            position: relative;
        }

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

        .three-dot-btn span {
            width: 4px;
            height: 4px;
            border-radius: 50%;
            background: var(--text-muted);
        }

        .three-dot-dropdown {
            display: none;
            position: fixed;
            background: #fff;
            border-radius: 12px;
            box-shadow: var(--shadow);
            padding: 6px 0;
            min-width: 150px;
            z-index: 100;
        }

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

        .three-dot-dropdown a {
            display: block;
            padding: 8px 15px;
            font-size: 13px;
            color: var(--text-dark);
            text-decoration: none;
        }

        .three-dot-dropdown a:hover {
            background: var(--bg);
            color: var(--orange);
        }

        /* ===================== SALES ANALYTICS (redesigned) ===================== */
        .dash-item-sales {
            background: var(--surface);
            border-radius: var(--radius);
            padding: 22px 24px;
            box-shadow: var(--shadow);
        }

        .dash-item-sales-header {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            margin-bottom: 4px;
            gap: 16px;
            flex-wrap: wrap;
        }

        .dash-item-sales-header h3 {
            font-size: 17px;
            margin: 0;
            color: var(--navy);
            font-weight: normal;
        }

        .dash-item-sales-sub {
            font-size: 12.5px;
            color: var(--text-muted);
            margin: 4px 0 0;
        }

        .dash-item-sales-total {
            font-size: 13px;
            color: var(--text-muted);
            margin: 14px 0 18px;
            padding-top: 14px;
            border-top: 1px solid var(--border);
        }

        .dash-item-sales-total strong {
            color: var(--navy);
            font-weight: normal;
            font-size: 15px;
        }

        #monthSelector {
            border-radius: 999px !important;
            border: 1px solid var(--border) !important;
            padding: 6px 14px !important;
            font-size: 12.5px !important;
            color: var(--text-dark) !important;
            background: var(--bg) !important;
        }

        .dash-item-sales-body {
            display: grid;
            grid-template-columns: 2.2fr 1fr;
            gap: 26px;
            align-items: stretch;
        }

        @media (max-width: 900px) {
            .dash-item-sales-body {
                grid-template-columns: 1fr;
            }
        }

        .dash-item-sales-chart-wrap {
            position: relative;
        }

        #dash-item-salesChart {
            max-height: 320px;
        }

        .dash-item-sales-ranking {
            border-left: 1px solid var(--border);
            padding-left: 22px;
            display: flex;
            flex-direction: column;
        }

        @media (max-width: 900px) {
            .dash-item-sales-ranking {
                border-left: none;
                border-top: 1px solid var(--border);
                padding-left: 0;
                padding-top: 18px;
            }
        }

        .dash-item-sales-ranking h4 {
            font-size: 13.5px;
            font-weight: normal;
            color: var(--navy);
            margin: 0 0 14px;
            text-transform: uppercase;
            letter-spacing: 0.03em;
        }

        .ranking-list {
            list-style: none;
            margin: 0;
            padding: 0;
            display: flex;
            flex-direction: column;
            gap: 14px;
        }

        .ranking-list li {
            display: flex;
            align-items: center;
            gap: 10px;
            font-size: 13px;
        }

        .ranking-badge {
            width: 22px;
            height: 22px;
            border-radius: 50%;
            background: var(--navy);
            color: #fff;
            font-size: 11px;
            font-weight: normal;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        .ranking-list li:nth-child(1) .ranking-badge {
            background: var(--orange);
        }

        .ranking-name {
            flex: 1;
            color: var(--text-dark);
            font-weight: 500;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .ranking-amount {
            color: var(--text-muted);
            font-weight: 600;
            font-size: 12px;
            white-space: nowrap;
        }

        .ranking-empty {
            color: var(--text-muted);
            font-size: 13px;
        }
        /* seller add */
        /* ===================== SELLER ENTRY — polished header + balanced grid ===================== */
        .stock-entry-container {
            max-width: 980px;
            margin: 30px auto;
            border-radius: 8px;
            overflow: hidden;
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
        }

        .stock-entry-header {
            background: linear-gradient(135deg, var(--primary) 0%, var(--navy-soft, #24365F) 100%);
            padding: 10px 12px;
            display: flex;
            align-items: center;
            gap: 16px;
            position: relative;
            overflow: hidden;
        }

        .stock-entry-header::after {
            content: "";
            position: absolute;
            top: -40px;
            right: -40px;
            width: 160px;
            height: 160px;
            background: radial-gradient(circle, rgba(245, 166, 35, 0.18) 0%, transparent 70%);
        }

        .stock-entry-header-icon {
            width: 52px;
            height: 52px;
            border-radius: 14px;
            background: rgba(255, 255, 255, 0.12);
            border: 1px solid rgba(255, 255, 255, 0.18);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 22px;
            color: #F5A623;
            flex-shrink: 0;
        }

        .stock-entry-header-text h1 {
            color: #fff;
            /* font-size: 22px; */
            font-weight: normal;
            /* margin: 0 0 4px; */
        }

        .stock-entry-header-text p {
            color: rgba(255, 255, 255, 0.75);
            font-size: 13.5px;
            margin: 0;
        }

        .stock-entry-body {
            background: #fff;
            padding: 30px 32px;
        }

        .stock-entry-section-title {
            color: var(--primary);
            font-size: 15px;
            font-weight: normal;
            border-bottom: 2px solid var(--border);
            padding-bottom: 10px;
            margin-bottom: 20px;
        }

        /* Row 1 = exactly 3 fields (Party Name, Company, GSTIN) */
        .stock-entry-grid-1-row1 {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 22px;
            margin-bottom: 22px;
        }

        /* Row 2 = exactly 4 fields (Contact No, Address, Email, State) */
        .stock-entry-grid-1-row2 {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 22px;
        }

        @media (max-width: 900px) {
            .stock-entry-grid-1-row1 {
                grid-template-columns: repeat(2, 1fr);
            }

            .stock-entry-grid-1-row2 {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        @media (max-width: 560px) {

            .stock-entry-grid-1-row1,
            .stock-entry-grid-1-row2 {
                grid-template-columns: 1fr;
            }
        }

        .stock-entry-input:focus {
            border-color: #F5A623;
            box-shadow: 0 0 0 4px rgba(245, 166, 35, 0.15);
        }

        /* dropdown styling for the State search */
        .search-wrapper .state-results {
            border-radius: 10px;
            box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
            border-color: var(--border);
            margin-top: 6px;
            z-index: 50;
        }

        .search-wrapper .state-results li:hover {
            background: #FFF1D9;
            color: #92400E;
        }

        .stock-entry-submit {
            background: var(--primary);
            color: #fff;
            border: none;
            padding: 14px 38px;
            border-radius: 999px;
            font-size: 15.5px;
            font-weight: normal;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 10px;
            margin-top: 28px;
            transition: all 0.25s ease;
            box-shadow: 0 8px 22px rgba(27, 42, 74, 0.25);
        }

        .stock-entry-submit:hover {
            background: #F5A623;
            transform: translateY(-2px);
            box-shadow: 0 12px 28px rgba(245, 166, 35, 0.35);
        }
/* report page */
        /* ===================== REPORTS — brand colors (navy/orange) ===================== */
        /* .report-section{
      max-width: 1200px;
      margin: 30px auto;
      padding: 0 16px;
        } */
        .report-section>p {
            color: #7f8c8d;
            margin: 0 0 24px;
        }

        /* .report-row{
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 20px;
        } */
        @media (max-width: 1100px) {
            .report-row {
                grid-template-columns: repeat(3, 1fr);
            }
        }

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

        @media (max-width: 500px) {
            .report-row {
                grid-template-columns: 1fr;
            }
        }

        .report-card {
            display: block;
            width: 100%;
            background: #fff;
            border: 1px solid #e5e7eb;
            border-radius: 10px;
            padding: 20px;
            box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05);
            transition: all .2s ease;
        }

        .report-card:hover {
            border-color: #F5A623;
            box-shadow: 0 10px 26px rgba(0, 0, 0, 0.1);
            transform: translateY(-2px);
        }

        /* .report-header{
      display:flex;
      align-items:center;
      gap: 12px;
      margin-bottom: 10px;
        } */
        .report-icon {
            width: 42px;
            height: 42px;
            border-radius: 10px;
            background: #1B2A4A;
            color: #F5A623;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 17px;
            flex-shrink: 0;
        }

        .report-title {
            color: #1B2A4A;
            font-size: 15px;
            font-weight: normal;
            margin: 0;
        }

        .report-text {
            color: #6b7280;
            font-size: 13px;
            margin: 0;
        }
        /* ===================== PERFORMA INVOICE — fixed header + grid + table ===================== */
        .stock-entry-container {
            max-width: 1100px;
            margin: 30px auto;
            border-radius: 8px;
            overflow: hidden;
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
            background: #fff;
        }

        .stock-entry-header {
            background: linear-gradient(135deg, var(--primary) 0%, var(--navy-soft, #24365F) 100%);
            padding: 8px 14px;
            display: flex;
            align-items: center;
            gap: 16px;
            position: relative;
            overflow: hidden;
        }

        .stock-entry-header::after {
            content: "";
            position: absolute;
            top: -40px;
            right: -40px;
            width: 160px;
            height: 160px;
            background: radial-gradient(circle, rgba(245, 166, 35, 0.18) 0%, transparent 70%);
        }

        .stock-entry-header-icon {
            width: 52px;
            height: 52px;
            border-radius: 14px;
            background: rgba(255, 255, 255, 0.12);
            border: 1px solid rgba(255, 255, 255, 0.18);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 22px;
            color: #F5A623;
            flex-shrink: 0;
        }

        .stock-entry-header-text h1 {
            color: #fff;
            /* font-size: 22px; */
            font-weight: normal;
            /* margin: 0 0 4px; */
        }

        .stock-entry-header-text p {
            color: rgba(255, 255, 255, 0.75);
            font-size: 13.5px;
            margin: 0;
        }

        .stock-entry-body {
            background: #fff;
            padding: 30px 32px;
        }

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

        .stock-entry-section-title {
            color: var(--primary);
            font-size: 15px;
            font-weight: normal;
            border-bottom: 2px solid var(--border, #e5e7eb);
            padding-bottom: 10px;
            margin-bottom: 20px;
        }

        .stock-entry-required {
            color: #dc2626;
        }

        .stock-entry-label {
            display: block;
            font-size: 13px;
            font-weight: 600;
            color: #374151;
            margin-bottom: 6px;
        }

        .stock-entry-input {
            width: 100%;
            height: 40px;
            padding: 0 12px;
            border: 1px solid #d1d5db;
            border-radius: 6px;
            font-size: 14px;
            box-sizing: border-box;
            transition: all .2s ease;
        }

        .stock-entry-input:focus {
            outline: none;
            border-color: #F5A623;
            box-shadow: 0 0 0 4px rgba(245, 166, 35, 0.15);
        }

        .stock-entry-input.is-invalid {
            border-color: #dc2626;
        }

        .invalid-feedback {
            color: #dc2626;
            font-size: 12px;
            margin: 4px 0 0;
        }

        /* Row 1 = Performa No, Date, Party Name, Company = 4 fields */
        .stock-entry-grid-1-row1 {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 22px;
            margin-bottom: 22px;
        }

        /* Row 2 = Contact No, Address, Email, GSTIN, State = 5 fields */
        .stock-entry-grid-1-row2 {
            display: grid;
            grid-template-columns: repeat(5, 1fr);
            gap: 22px;
        }

        @media (max-width: 1100px) {
            .stock-entry-grid-1-row1 {
                grid-template-columns: repeat(2, 1fr);
            }

            .stock-entry-grid-1-row2 {
                grid-template-columns: repeat(3, 1fr);
            }
        }

        @media (max-width: 700px) {

            .stock-entry-grid-1-row1,
            .stock-entry-grid-1-row2 {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        @media (max-width: 480px) {

            .stock-entry-grid-1-row1,
            .stock-entry-grid-1-row2 {
                grid-template-columns: 1fr;
            }
        }

        /* Search dropdowns (item / state) */
        .search-wrapper {
            position: relative;
        }

        .search-wrapper .results-box {
            position: absolute;
            left: 0;
            right: 0;
            top: calc(100% + 6px);
            background: #fff;
            border: 1px solid var(--border, #e5e7eb);
            border-radius: 10px;
            box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
            list-style: none;
            margin: 0;
            padding: 4px;
            max-height: 220px;
            overflow-y: auto;
            display: none;
            z-index: 50;
        }

        .search-wrapper .results-box li:hover {
            background: #FFF1D9;
            color: #92400E;
            border-radius: 6px;
        }

        /* ============ Service Details table — this fixes the huge empty-space bug ============ */
        .contact_detail-table-wrapper {
            border: 1px solid var(--border, #e5e7eb);
            border-radius: 8px;
            overflow: hidden;
        }

        .contact_detail-table-scroll {
            overflow-x: auto;
            width: 100%;
        }

        .stock-entry-items-table {
            width: 100%;
            border-collapse: collapse;
            table-layout: fixed;
        }

        .stock-entry-items-table thead th {
            background: #F9FAFB;
            color: #374151;
            font-size: 12.5px;
            font-weight: normal;
            text-align: left;
            padding: 10px 12px;
            border-bottom: 1px solid var(--border, #e5e7eb);
            white-space: nowrap;
        }

        .stock-entry-items-table tbody td {
            padding: 8px 10px;
            border-bottom: 1px solid #f1f1f1;
            vertical-align: middle;
        }

        .stock-entry-items-table tbody tr:last-child td {
            border-bottom: none;
        }

        .stock-entry-items-table tbody tr:hover {
            background: #fafafa;
        }

        .stock-entry-items-table input[type="text"],
        .stock-entry-items-table input[type="number"] {
            width: 100%;
            height: 38px;
            padding: 0 10px;
            border: 1px solid #d1d5db;
            border-radius: 6px;
            font-size: 13.5px;
            box-sizing: border-box;
        }

        .stock-entry-items-table input:focus {
            outline: none;
            border-color: #F5A623;
            box-shadow: 0 0 0 3px rgba(245, 166, 35, 0.15);
        }

        .stock-entry-remove-row {
            cursor: pointer;
            color: #dc2626;
            font-weight: normal;
            font-size: 16px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .stock-entry-add-row-btn {
            margin-top: 14px;
            background: #fff;
            border: 1px dashed var(--primary);
            color: var(--primary);
            padding: 9px 18px;
            border-radius: 6px;
            font-size: 13.5px;
            font-weight: 600;
            cursor: pointer;
            transition: all .2s ease;
        }

        .stock-entry-add-row-btn:hover {
            background: #FFF7EA;
        }

        /* Totals */
        .stock-entry-totals {
            margin-top: 24px;
            margin-left: auto;
            max-width: 360px;
            border: 1px solid var(--border, #e5e7eb);
            border-radius: 8px;
            padding: 16px 18px;
            background: #F9FAFB;
        }

        .stock-entry-total-line {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 6px 0;
            font-size: 14px;
            color: #374151;
        }

        .stock-entry-total-line input[type="checkbox"] {
            margin-right: 6px;
        }

        .stock-entry-total-line input[disabled] {
            background: transparent;
            text-align: right;
            font-weight: 600;
            width: 90px;
        }

        .stock-entry-total-line strong {
            font-size: 15px;
        }

        .stock-entry-total-line span#total_display {
            font-weight: normal;
            color: var(--primary);
            font-size: 16px;
        }

        .stock-entry-submit {
            background: var(--primary);
            color: #fff;
            border: none;
            padding: 14px 38px;
            border-radius: 999px;
            font-size: 15.5px;
            font-weight: normal;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 10px;
            margin-top: 28px;
            transition: all 0.25s ease;
            box-shadow: 0 8px 22px rgba(27, 42, 74, 0.25);
        }

        .stock-entry-submit:hover {
            background: #F5A623;
            transform: translateY(-2px);
            box-shadow: 0 12px 28px rgba(245, 166, 35, 0.35);
        }