/* ═══════════════════════════════════════════════════════════════════
   VJ JEWELLERS ADMIN — MASTER RESPONSIVE STYLESHEET
   Supports Mobile (<640px), iPad / Tablet (641px - 1024px), & Desktop
   ═══════════════════════════════════════════════════════════════════ */

/* ── Universal Reset & Touch Handling ──────────────────────────── */
html, body {
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
}

* {
  -webkit-tap-highlight-color: transparent;
  box-sizing: border-box;
}

/* ── Responsive Sidebar & Backdrop ─────────────────────────────── */
#adminSidebar {
  position: fixed !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 16rem !important; /* 256px */
  height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1050 !important;
  background-color: #2c0d12 !important;
  border-right: 1px solid #5e1022 !important;
}

#adminSidebar img,
.vj-admin-header img,
.vj-sidebar-logo,
.vj-header-logo {
  height: 36px !important;
  max-height: 36px !important;
  width: auto !important;
  max-width: 140px !important;
  object-fit: contain !important;
  display: inline-block !important;
}

#sidebarBackdrop {
  z-index: 1040 !important;
  background-color: rgba(0, 0, 0, 0.65);
  backdrop-filter: blur(4px);
}

@media (max-width: 1023px) {
  #adminSidebar {
    width: 280px !important;
    box-shadow: 4px 0 25px rgba(0, 0, 0, 0.5) !important;
  }
  #adminSidebar.-translate-x-full {
    transform: translateX(-100%) !important;
  }
}

@media (min-width: 1024px) {
  #adminSidebar {
    transform: translateX(0) !important;
  }
  .lg\:ml-64,
  div[class*="lg:ml-64"],
  .flex-1.lg\:ml-64 {
    margin-left: 16rem !important; /* 256px matching sidebar */
  }
}

/* ── Responsive Tables & Data Grids ───────────────────────────── */
.table-responsive,
.overflow-x-auto {
  width: 100% !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
}

table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

@media (max-width: 768px) {
  table th, table td {
    padding: 0.6rem 0.5rem !important;
    font-size: 0.75rem !important;
    white-space: nowrap;
  }
}

/* ── Responsive Modals & Dialogs ───────────────────────────────── */
.modal {
  z-index: 1060 !important;
}

.modal-backdrop {
  z-index: 1050 !important;
  background-color: rgba(15, 5, 8, 0.75) !important;
  backdrop-filter: blur(3px) !important;
}

.modal-dialog {
  margin: 1rem auto !important;
  max-width: 94vw !important;
}

@media (min-width: 576px) {
  .modal-dialog {
    max-width: 540px !important;
  }
  .modal-dialog.modal-lg {
    max-width: 720px !important;
  }
}

@media (min-width: 992px) {
  .modal-dialog.modal-lg {
    max-width: 860px !important;
  }
  .modal-dialog.modal-xl {
    max-width: 1080px !important;
  }
}

.modal-content {
  border-radius: 1.5rem !important;
  max-height: 92vh !important;
  overflow: hidden !important;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.35) !important;
}

.modal-body,
.modal-content > form,
.modal-content > div:nth-child(2) {
  max-height: calc(92vh - 120px) !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}

/* ── Responsive KPI Stat Cards Grid ───────────────────────────── */
@media (max-width: 640px) {
  .kpi-grid, .vj-kpi-grid, [id*="Stats"].grid-cols-4, [id*="stats"].grid-cols-4, .stats-grid {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
    gap: 0.75rem !important;
  }
}

@media (min-width: 641px) and (max-width: 1024px) {
  .kpi-grid, .vj-kpi-grid, [id*="Stats"].grid-cols-4, [id*="stats"].grid-cols-4, .stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1rem !important;
  }
}

/* ── Master Admin Header Fixed & Responsive Solid Styling ──────── */
.vj-admin-header,
header.vj-admin-header,
#header header,
#header > div > header {
  background-color: #2c0d12 !important;
  border-bottom: 1px solid #5e1022 !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: 64px !important;
  min-height: 64px !important;
  max-height: 64px !important;
  z-index: 1030 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 1rem !important;
  box-sizing: border-box !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25) !important;
}

@media (min-width: 1024px) {
  .vj-admin-header,
  header.vj-admin-header,
  #header header,
  #header > div > header {
    left: 16rem !important; /* 256px = 16rem matching desktop sidebar */
    width: calc(100% - 16rem) !important;
    padding: 0 1.5rem !important;
  }
}

/* ── Profile Dropdown & Summary Pill ─────────────────────────── */
#headerProfileDropdown {
  position: relative !important;
  z-index: 1035 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.vj-profile-summary,
#headerProfileDropdown > summary {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  padding: 0 12px 0 6px !important;
  background-color: #3b0b17 !important;
  border: 1px solid #5e1022 !important;
  border-radius: 9999px !important;
  cursor: pointer !important;
  list-style: none !important;
  outline: none !important;
  user-select: none !important;
  box-sizing: border-box !important;
  transition: background-color 0.15s ease, border-color 0.15s ease !important;
}

.vj-profile-summary::-webkit-details-marker,
#headerProfileDropdown > summary::-webkit-details-marker {
  display: none !important;
}

.vj-profile-summary:hover,
#headerProfileDropdown > summary:hover {
  background-color: #4a0717 !important;
  border-color: #7a152e !important;
}

/* Reset Bootstrap paragraph margins inside the profile header */
#headerProfileDropdown p,
#headerProfileDropdown span,
.vj-profile-summary p,
.vj-profile-summary span {
  margin: 0 !important;
  padding: 0 !important;
}

.vj-avatar-circle,
#headerAdminAvatar {
  width: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
  height: 28px !important;
  min-height: 28px !important;
  max-height: 28px !important;
  border-radius: 9999px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: #facc15 !important;
  color: #2c0d12 !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  flex-shrink: 0 !important;
}

.vj-admin-user-info {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  line-height: 1.15 !important;
}

@media (max-width: 639px) {
  .vj-admin-user-info {
    display: none !important;
  }
  .vj-profile-summary,
  #headerProfileDropdown > summary {
    padding: 0 8px 0 6px !important;
    gap: 4px !important;
  }
}

.vj-profile-menu {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  right: 0 !important;
  width: 260px !important;
  max-width: calc(100vw - 24px) !important;
  background-color: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 1rem !important;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25) !important;
  z-index: 1040 !important;
  overflow: hidden !important;
  padding: 0.5rem 0 !important;
  margin: 0 !important;
}

/* ── Global Search Input in Header ────────────────────────────── */
.vj-header-search-wrap {
  display: flex !important;
  align-items: center !important;
  flex: 1 1 auto !important;
  max-width: 380px !important;
  margin: 0 1rem !important;
  position: relative !important;
}

@media (max-width: 639px) {
  .vj-header-search-wrap {
    display: none !important;
  }
}

.vj-header-input {
  width: 100% !important;
  height: 36px !important;
  padding: 0 1rem 0 2.25rem !important;
  background-color: #3b0b17 !important;
  border: 1px solid #5e1022 !important;
  border-radius: 9999px !important;
  color: #ffffff !important;
  font-size: 13px !important;
  outline: none !important;
  box-sizing: border-box !important;
  transition: border-color 0.15s ease, background-color 0.15s ease !important;
}

.vj-header-input:focus {
  border-color: #facc15 !important;
  background-color: #440c1a !important;
}

.vj-header-search-icon {
  position: absolute !important;
  left: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: #9ca3af !important;
  font-size: 12px !important;
  pointer-events: none !important;
}

/* ── Language Selector & Notification Button ──────────────────── */
.vj-header-lang-pill {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  height: 36px !important;
  padding: 0 10px !important;
  background-color: #3b0b17 !important;
  border: 1px solid #5e1022 !important;
  border-radius: 9999px !important;
  box-sizing: border-box !important;
}

@media (max-width: 639px) {
  .vj-header-lang-pill {
    display: none !important;
  }
}

.vj-header-notif-btn {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 9999px !important;
  cursor: pointer !important;
  color: #ffffff !important;
  background-color: #3b0b17 !important;
  border: 1px solid #5e1022 !important;
  transition: background-color 0.15s ease, border-color 0.15s ease !important;
  box-sizing: border-box !important;
}

.vj-header-notif-btn:hover {
  background-color: #4a0717 !important;
  border-color: #7a152e !important;
  color: #facc15 !important;
}

#adminNotifBadge {
  position: absolute !important;
  top: -2px !important;
  right: -2px !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 9999px !important;
  background-color: #eab308 !important;
  color: #2c0d12 !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4) !important;
}

/* ── VJ Jewellers Global Brand Colors & Primary Action Buttons ───── */
.btn-vj-primary,
.bg-\[\#3C0D0D\],
.bg-vj-maroon {
  background-color: #3C0D0D !important;
  color: #ffffff !important;
}

.btn-vj-primary:hover,
.hover\:bg-\[\#2a0909\]:hover,
.hover\:bg-\[\#2A0909\]:hover {
  background-color: #200505 !important;
  color: #ffffff !important;
}

.btn-vj-primary *,
.bg-\[\#3C0D0D\] * {
  color: #ffffff !important;
}

.banner-pos-pill.active {
  background-color: #3C0D0D !important;
  color: #ffffff !important;
}