/* ══════════════════════════════════════════════════════════
   Admin layout styles — shared across all /admin/* views
   ══════════════════════════════════════════════════════════ */

/* ── Base admin shell ── */
html, body { height: 100%; margin: 0; padding: 0; }
body { font-family: 'Inter', sans-serif; background: #fcf9f8; color: #1c1b1b; }
#admin-shell { display: flex; height: 100vh; overflow: hidden; }
#admin-sidebar-container { position: fixed; left: 0; top: 0; bottom: 0; z-index: 40; }
#admin-sidebar { flex-shrink: 0; }
#admin-main   { flex: 1; display: flex; flex-direction: column; overflow: hidden; margin-left: 256px; }
#admin-content{ flex: 1; overflow-y: auto; }

/* Mobile sidebar overlay */
@media (max-width: 1023px) {
  #admin-sidebar-container { width: 100%; background: rgba(0, 0, 0, 0.3); }
  #admin-sidebar { max-width: 256px; width: 100%; overflow-y: auto; }
  #admin-main { margin-left: 0; }
}

/* ── Sidebar nav items ── */
.admin-nav-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 24px;
  font-family: 'Manrope', sans-serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #a1a1aa;
  transition: all 0.15s;
  cursor: pointer;
  border-left: 4px solid transparent;
  margin-left: 16px;
  border-radius: 8px 0 0 8px;
}
.admin-nav-item:hover {
  color: #f4f4f5;
  background: rgba(63,63,70,0.5);
}
.admin-nav-item.active {
  background: #fafaf9 !important;
  color: #18181b !important;
  border-left-color: #b7102a !important;
  font-weight: 700;
}

/* Expandable items */
.admin-details-group > summary.admin-nav-item {
  justify-content: space-between;
  list-style: none;
}
.admin-details-group > summary.admin-nav-item::-webkit-details-marker { display: none; }

/* Sub-nav panel */
.admin-subnav-panel {
  background: rgba(9,9,11,0.35);
  padding: 8px 0;
}
.admin-subnav-item {
  display: block;
  padding: 8px 24px 8px 56px;
  font-size: 12px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #71717a;
  transition: color 0.15s;
}
.admin-subnav-item:hover { color: #ffffff; }
.admin-subnav-item.active {
  color: #b7102a !important;
  font-weight: 700;
}

/* Chevron rotation */
.admin-details-group .chevron-toggle { transition: transform 0.2s ease; }
.admin-details-group[open] .chevron-toggle { transform: rotate(180deg); }

/* Sidebar scrollbar */
#admin-sidebar-nav::-webkit-scrollbar { width: 4px; }
#admin-sidebar-nav::-webkit-scrollbar-track { background: transparent; }
#admin-sidebar-nav::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.15); border-radius: 99px; }

/* ── Filter drawer (reusable across admin views) ── */
.filter-drawer-backdrop {
  position: fixed; inset: 0;
  background: rgba(0,0,0,0.6);
  backdrop-filter: blur(4px);
  z-index: 60;
  transition: opacity 0.2s;
}
.filter-drawer {
  position: fixed; top: 0; right: 0; bottom: 0;
  width: 320px;
  background: #ffffff;
  border-left: 1px solid #f0eded;
  z-index: 70;
  box-shadow: -8px 0 30px rgba(0,0,0,0.12);
  display: flex; flex-direction: column;
  overflow: hidden;
  transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(0.4,0,0.2,1);
}
.filter-drawer.open { transform: translateX(0); }

/* ── Sort icon button (reusable for table headers) ── */
.sort-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  border-radius: 4px;
  transition: background 0.15s;
  color: #71717a;
}
.sort-icon-btn:hover { background: rgba(63,63,70,0.5); }
.sort-icon-btn.active-sort { color: #b7102a; }

/* ── Clickable table row ── */
#admin-shell tbody tr.clickable-row { cursor: pointer; }

/* ── Custom scrollbar for table ── */
.custom-scrollbar::-webkit-scrollbar { height: 8px; width: 8px; }
.custom-scrollbar::-webkit-scrollbar-track { background: #f6f3f2; border-radius: 99px; }
.custom-scrollbar::-webkit-scrollbar-thumb { background: rgba(161,161,170,0.5); border-radius: 99px; }
.custom-scrollbar::-webkit-scrollbar-thumb:hover { background: rgba(113,113,122,0.7); }
