/* ============================================================
   RENECHIP JOB PORTAL — SUPER PREMIUM THEME v4
   Black text, glassmorphic cards, enterprise-grade design
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,400&display=swap');

/* ── CSS Variables ──────────────────────────────────────────── */
:root {
  --primary:       #4f46e5;
  --primary-light: #6366f1;
  --primary-dark:  #3730a3;
  --accent:        #7c3aed;
  --accent-light:  #a78bfa;
  --success:       #10b981;
  --warning:       #f59e0b;
  --danger:        #ef4444;

  --text-primary:   #0a0a0a;
  --text-secondary: #1e293b;
  --text-muted:     #475569;
  --text-light:     #64748b;

  --grad-primary:  linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);
  --grad-header:   linear-gradient(135deg, #ffffff 0%, #f8faff 100%);
  --grad-sidebar:  linear-gradient(180deg, #ffffff 0%, #f5f6ff 100%);
  --grad-page:     linear-gradient(145deg, #f0f2ff 0%, #ede9ff 40%, #f5f0ff 70%, #eef2ff 100%);

  --glass-bg:      rgba(255, 255, 255, 0.92);
  --glass-border:  rgba(255, 255, 255, 1);
  --glass-shadow:  0 8px 32px rgba(79, 70, 229, 0.12);

  --shadow-xs:  0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
  --shadow-sm:  0 4px 16px rgba(79, 70, 229, 0.10), 0 1px 4px rgba(0,0,0,0.05);
  --shadow-md:  0 12px 32px rgba(79, 70, 229, 0.16), 0 4px 10px rgba(0,0,0,0.07);
  --shadow-lg:  0 24px 56px rgba(79, 70, 229, 0.20), 0 8px 20px rgba(0,0,0,0.09);
  --shadow-xl:  0 40px 80px rgba(79, 70, 229, 0.25);

  --radius-sm:  12px;
  --radius-md:  18px;
  --radius-lg:  22px;
  --radius-xl:  28px;

  --sidebar-w: 200px;
}

/* ── Reset & Base ───────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

html, body, #root {
  background: var(--grad-page) !important;
  background-attachment: fixed !important;
  color: var(--text-primary) !important;
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

body, input, textarea, select, button {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
}

/* ── Remove dark backgrounds ────────────────────────────────── */
.bg-\[\#020617\], .bg-slate-950, .bg-slate-900,
.bg-slate-800, .bg-black\/80,
.bg-slate-950\/50, .bg-slate-950\/70 {
  background: transparent !important;
}
.bg-gradient-to-b, .bg-gradient-to-r, .bg-gradient-to-br {
  background-image: none !important;
}

/* ── Decorative blobs (background depth) ───────────────────── */
body::before {
  content: '' !important;
  position: fixed !important;
  top: -120px !important;
  right: -120px !important;
  width: 520px !important;
  height: 520px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(99,102,241,0.12) 0%, transparent 70%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}
body::after {
  content: '' !important;
  position: fixed !important;
  bottom: -80px !important;
  left: -80px !important;
  width: 400px !important;
  height: 400px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(124,58,237,0.10) 0%, transparent 70%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* ── HEADER ──────────────────────────────────────────────────── */
header {
  background: rgba(255, 255, 255, 0.92) !important;
  backdrop-filter: blur(28px) saturate(200%) !important;
  -webkit-backdrop-filter: blur(28px) saturate(200%) !important;
  border-bottom: 1px solid rgba(99, 102, 241, 0.14) !important;
  box-shadow: 0 1px 0 rgba(99,102,241,0.08), 0 4px 20px rgba(79,70,229,0.07) !important;
  height: 64px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 24px !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
}

header a, header button, header nav a {
  color: var(--text-primary) !important;
  font-weight: 700 !important;
}

/* Header logo */
#ae-header-logo-wrap { margin-right: 12px !important; }
#ae-header-logo { height: 36px !important; }

/* ── SIDEBAR ──────────────────────────────────────────────────── */
aside {
  background: var(--grad-sidebar) !important;
  border-right: 1px solid rgba(99, 102, 241, 0.10) !important;
  box-shadow: 4px 0 28px rgba(79, 70, 229, 0.06) !important;
  width: var(--sidebar-w) !important;
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

/* Sidebar logo area */
#ae-sidebar-logo-wrap {
  background: linear-gradient(135deg, rgba(79,70,229,0.05) 0%, rgba(124,58,237,0.03) 100%) !important;
  border-bottom: 1px solid rgba(99,102,241,0.10) !important;
  padding: 20px 16px !important;
  border-radius: 0 !important;
  margin-bottom: 4px !important;
}
#ae-sidebar-logo { height: 36px !important; max-width: 130px !important; }

/* Sidebar nav links */
aside nav a,
aside nav div,
aside nav button {
  border-radius: var(--radius-sm) !important;
  margin: 2px 8px !important;
  padding: 10px 14px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--text-muted) !important;
  transition: all 0.2s cubic-bezier(0.16,1,0.3,1) !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  text-decoration: none !important;
  position: relative !important;
  overflow: hidden !important;
}

aside nav a:hover,
aside nav div:hover,
aside nav button:hover {
  background: rgba(99,102,241,0.08) !important;
  color: var(--primary) !important;
  transform: translateX(3px) !important;
}

aside nav .text-indigo-400,
aside nav [class*="active"],
aside nav [class*="bg-white"] {
  background: linear-gradient(135deg, rgba(79,70,229,0.12) 0%, rgba(124,58,237,0.08) 100%) !important;
  color: var(--primary) !important;
  font-weight: 700 !important;
  box-shadow: inset 0 0 0 1px rgba(99,102,241,0.2) !important;
}

/* Sidebar count badge — ONLY style the small numeric pill, not nav labels */
/* Targets spans with explicit background colour classes (the count chip) */
aside nav span[class*="bg-indigo"],
aside nav span[class*="bg-violet"],
aside nav span[class*="bg-purple"],
aside nav span[class*="bg-slate-"],
aside nav span[class*="rounded-full"][class*="bg-"],
aside span[class*="rounded-full"][class*="bg-indigo"],
aside span[class*="rounded-full"][class*="bg-violet"],
aside span[class*="rounded-full"][class*="text-white"],
/* React typically renders the count as a standalone span next to icon+label */
aside nav a > span:last-child,
aside nav div > span:last-child,
aside nav button > span:last-child {
  background: var(--grad-primary) !important;
  color: #ffffff !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  border-radius: 20px !important;
  padding: 1px 8px !important;
  min-width: 22px !important;
  text-align: center !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 2px 8px rgba(99,102,241,0.45) !important;
  letter-spacing: 0 !important;
  line-height: 1.5 !important;
  flex-shrink: 0 !important;
}

/* Nav label text spans should stay dark, NOT styled as badges */
aside nav a > span:not(:last-child),
aside nav div > span:not(:last-child),
aside nav button > span:not(:last-child) {
  background: transparent !important;
  color: inherit !important;
  font-size: inherit !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  min-width: unset !important;
  display: inline !important;
}

/* System Exit at bottom */
aside > *:last-child {
  margin-top: auto !important;
  border-top: 1px solid rgba(99,102,241,0.10) !important;
  padding-top: 8px !important;
}

/* ── MAIN CONTENT AREA ────────────────────────────────────────── */
main {
  background: transparent !important;
  padding: 28px 32px !important;
}

/* ── PAGE HEADINGS ───────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6 {
  font-weight: 900 !important;
  letter-spacing: -0.03em !important;
  color: var(--text-primary) !important;
}

h1.text-transparent.bg-clip-text,
h2.text-transparent.bg-clip-text,
span.text-transparent.bg-clip-text {
  background-image: var(--grad-primary) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  font-weight: 900 !important;
}

/* ── STAT / GRID CARDS ────────────────────────────────────────── */
.grid > div,
[class*="grid"] > div {
  background: var(--glass-bg) !important;
  backdrop-filter: blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-sm) !important;
  transition: all 0.35s cubic-bezier(0.16,1,0.3,1) !important;
  position: relative !important;
  overflow: hidden !important;
  color: var(--text-primary) !important;
}

.grid > div::before,
[class*="grid"] > div::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 3px !important;
  background: var(--grad-primary) !important;
  opacity: 0 !important;
  transition: opacity 0.3s ease !important;
}

.grid > div:hover,
[class*="grid"] > div:hover {
  transform: translateY(-7px) scale(1.01) !important;
  box-shadow: var(--shadow-lg) !important;
  border-color: rgba(99,102,241,0.28) !important;
}

.grid > div:hover::before,
[class*="grid"] > div:hover::before {
  opacity: 1 !important;
}

/* ── JOB CARDS ────────────────────────────────────────────────── */
.glass-dark,
[class*="bg-slate-950/50"],
.glass-dark {
  background: rgba(255, 255, 255, 0.94) !important;
  backdrop-filter: blur(24px) saturate(200%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(200%) !important;
  border: 1px solid rgba(255,255,255,1) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-sm) !important;
  transition: all 0.35s cubic-bezier(0.16,1,0.3,1) !important;
  position: relative !important;
  overflow: hidden !important;
  color: var(--text-primary) !important;
}

/* Subtle top gradient shimmer on cards */
.glass-dark::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 3px !important;
  background: var(--grad-primary) !important;
  opacity: 0 !important;
  transition: opacity 0.3s ease !important;
  border-radius: inherit !important;
}

.glass-dark::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: inherit !important;
  background: linear-gradient(135deg, rgba(99,102,241,0.025) 0%, transparent 60%) !important;
  pointer-events: none !important;
}

.glass-dark:hover {
  transform: translateY(-8px) scale(1.015) !important;
  box-shadow: var(--shadow-lg) !important;
  border-color: rgba(99,102,241,0.22) !important;
}

.glass-dark:hover::before {
  opacity: 1 !important;
}

/* ── ALL TEXT → BLACK ─────────────────────────────────────────── */
/* Force ALL text inside cards and page to be black/very dark */

/* Job card title text */
.glass-dark *,
.glass-dark p,
.glass-dark span,
.glass-dark div,
.glass-dark h1,
.glass-dark h2,
.glass-dark h3,
.glass-dark h4 {
  color: var(--text-primary) !important;
}

/* Location text in cards */
.glass-dark [class*="text-slate-5"],
.glass-dark [class*="text-slate-4"],
.glass-dark [class*="text-gray"] {
  color: var(--text-muted) !important;
}

/* Job description snippet */
.glass-dark p {
  color: #1a1a2e !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
  font-weight: 450 !important;
}

/* Job ID text */
.glass-dark [class*="font-mono"],
.glass-dark [class*="tracking"] {
  color: var(--primary) !important;
  font-weight: 700 !important;
}

/* ── TEXT OVERRIDES (global) ─────────────────────────────────── */
.text-white { color: #ffffff !important; font-weight: 800 !important; }

.text-slate-100, .text-slate-200 {
  color: var(--text-primary) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
}
.text-slate-300, .text-slate-400 {
  color: var(--text-muted) !important;
  font-weight: 600 !important;
}
.text-slate-500, .text-slate-600 {
  color: var(--text-light) !important;
}
.text-indigo-400, .text-indigo-300 {
  color: var(--primary) !important;
  font-weight: 700 !important;
}

/* Card labels like "APPLICATIONS" */
span[class*="tracking"][class*="uppercase"],
.glass-dark span[class*="text-xs"] {
  color: var(--primary) !important;
  font-weight: 800 !important;
  font-size: 10px !important;
  letter-spacing: 0.1em !important;
}

/* ── JOB ID CHIPS ──────────────────────────────────────────────── */
span[class*="text-slate"][class*="font-mono"],
span[class*="text-xs"][class*="tracking"] {
  background: linear-gradient(135deg, rgba(79,70,229,0.08) 0%, rgba(124,58,237,0.05) 100%) !important;
  color: var(--primary) !important;
  border: 1px solid rgba(99,102,241,0.25) !important;
  border-radius: 6px !important;
  padding: 2px 8px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
}

/* ── BUTTONS ─────────────────────────────────────────────────── */
button {
  transition: all 0.25s cubic-bezier(0.16,1,0.3,1) !important;
  font-weight: 700 !important;
  cursor: pointer !important;
}
button:active { transform: scale(0.96) !important; }

/* Primary / CTA (Manage / Save) buttons */
.bg-primary, .bg-indigo-600, .ae-btn-save,
button[class*="bg-indigo"], button[class*="bg-violet"] {
  background: var(--grad-primary) !important;
  color: #ffffff !important;
  border: none !important;
  box-shadow: 0 8px 22px rgba(79,70,229,0.38) !important;
  font-weight: 700 !important;
  border-radius: var(--radius-sm) !important;
  letter-spacing: 0.01em !important;
}
.bg-primary:hover, .bg-indigo-600:hover, .ae-btn-save:hover,
button[class*="bg-indigo"]:hover {
  box-shadow: 0 14px 32px rgba(79,70,229,0.52) !important;
  transform: translateY(-2px) !important;
  filter: brightness(1.07) !important;
}

/* Dispatch New Job special */
button[class*="bg-indigo"],
button[class*="gap-2"][class*="bg-"] {
  background: var(--grad-primary) !important;
  border-radius: 14px !important;
  padding: 12px 22px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 0.01em !important;
  color: #ffffff !important;
  box-shadow: 0 8px 24px rgba(79,70,229,0.4) !important;
}

/* Cancel / secondary buttons */
.ae-btn-cancel, button.bg-white\/5 {
  background: rgba(255,255,255,0.9) !important;
  color: #334155 !important;
  border: 1px solid rgba(0,0,0,0.09) !important;
  border-radius: var(--radius-sm) !important;
  backdrop-filter: blur(10px) !important;
}
.ae-btn-cancel:hover, button.bg-white\/5:hover {
  background: #f0f2ff !important;
  color: var(--primary) !important;
  border-color: rgba(99,102,241,0.25) !important;
}

/* ── MANAGE BUTTON (special pill style) ───────────────────────── */
/* The "Manage >" button inside each job card */
a[href*="manage"], button[class*="manage"],
.glass-dark a[class*="flex"][class*="items-center"],
.glass-dark button[class*="flex"][class*="items-center"] {
  background: var(--grad-primary) !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
}

/* ── SEARCH BAR (header) ────────────────────────────────────── */
input[placeholder*="Scan"],
input[placeholder*="Search"],
input[type="search"] {
  background: rgba(255,255,255,0.96) !important;
  border: 1.5px solid rgba(99,102,241,0.30) !important;
  border-radius: 50px !important;
  padding: 10px 20px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--text-primary) !important;
  box-shadow: 0 2px 14px rgba(79,70,229,0.08) !important;
  transition: all 0.25s ease !important;
}
input[placeholder*="Scan"]:focus,
input[placeholder*="Search"]:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 4px rgba(99,102,241,0.15), 0 2px 14px rgba(79,70,229,0.10) !important;
  outline: none !important;
}

/* ── ALL INPUTS / SELECTS ───────────────────────────────────── */
input, textarea, select,
.ae-search-input, .ae-status-select {
  background: rgba(255,255,255,0.96) !important;
  border: 1.5px solid rgba(99,102,241,0.22) !important;
  color: var(--text-primary) !important;
  border-radius: var(--radius-sm) !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 1px 4px rgba(79,70,229,0.05) !important;
}
input:focus, textarea:focus, select:focus {
  border-color: var(--primary) !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 4px rgba(99,102,241,0.15) !important;
  outline: none !important;
}
input::placeholder, textarea::placeholder {
  color: #94a3b8 !important;
  font-weight: 500 !important;
}

/* ── COMMENTS TEXTAREA ───────────────────────────────────────── */
#ae-candidates-view table {
  table-layout: fixed !important;
  width: 100% !important;
}
.ae-comment-textarea {
  width: 100% !important;
  max-width: 160px !important;
  box-sizing: border-box !important;
  resize: none !important;
  overflow-y: auto !important;
  display: block !important;
}
.ae-comment-textarea:focus {
  border-color: #6366f1 !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(99,102,241,0.15) !important;
  outline: none !important;
}
.ae-comment-textarea::placeholder {
  color: #94a3b8 !important;
  font-weight: 500 !important;
}
#ae-candidates-view td {
  overflow: hidden !important;
  word-break: break-word !important;
  vertical-align: top !important;
  color: var(--text-primary) !important;
}

/* ── TABLE ───────────────────────────────────────────────────── */
table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 8px !important;
}
th {
  background: transparent !important;
  color: var(--text-light) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  padding: 0 24px 8px !important;
}
tr {
  background: rgba(255,255,255,0.90) !important;
  backdrop-filter: blur(12px) !important;
  box-shadow: var(--shadow-xs) !important;
  border-radius: var(--radius-md) !important;
  transition: all 0.25s ease !important;
  color: var(--text-primary) !important;
}
tr:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--shadow-md) !important;
  background: #ffffff !important;
}
td { color: var(--text-primary) !important; }
td:first-child { border-radius: var(--radius-md) 0 0 var(--radius-md) !important; }
td:last-child  { border-radius: 0 var(--radius-md) var(--radius-md) 0 !important; }
tr.border-b.border-white\/5.bg-white\/5 { background: transparent !important; box-shadow: none !important; }

/* ── MODALS ──────────────────────────────────────────────────── */
[role="dialog"],
#ae-modal-box,
#ae-confirm-box,
#ae-custom-prompt-card {
  background: rgba(255,255,255,0.98) !important;
  backdrop-filter: blur(40px) saturate(200%) !important;
  -webkit-backdrop-filter: blur(40px) saturate(200%) !important;
  border: 1px solid rgba(255,255,255,0.95) !important;
  box-shadow: var(--shadow-xl), 0 0 0 1px rgba(99,102,241,0.08) !important;
  border-radius: var(--radius-xl) !important;
  color: var(--text-primary) !important;
}

/* ── BADGES & TAGS ───────────────────────────────────────────── */
.bg-indigo-500\/10, .border-indigo-500\/20 {
  background: #eef2ff !important;
  color: var(--primary) !important;
  border: 1px solid #c7d2fe !important;
  font-weight: 800 !important;
  border-radius: 20px !important;
  padding: 2px 10px !important;
}

/* Status badges */
.text-green-400 + span, span[class*="green"] {
  background: rgba(16,185,129,0.10) !important;
  color: #065f46 !important;
  border: 1px solid rgba(16,185,129,0.25) !important;
  border-radius: 20px !important;
  padding: 2px 10px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

/* ── SCROLLBARS ──────────────────────────────────────────────── */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #c7d2fe, #a5b4fc);
  border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover { background: var(--primary-light); }

/* ── CANDIDATE PANEL ─────────────────────────────────────────── */
#ae-candidates-view {
  background: rgba(255,255,255,0.70) !important;
  backdrop-filter: blur(20px) !important;
  border-radius: var(--radius-xl) !important;
  border: 1px solid rgba(255,255,255,0.95) !important;
  box-shadow: var(--shadow-md) !important;
  margin: 20px !important;
  overflow: hidden !important;
}

/* Filter panel */
#ae-cand-job-filter,
#ae-cand-status-filter,
#ae-cand-sel-status-filter {
  background: rgba(255,255,255,0.90) !important;
  border-color: rgba(148,163,184,0.25) !important;
  color: var(--text-primary) !important;
}

/* ── SYSTEM STATUS ───────────────────────────────────────────── */
.text-green-400 {
  background: linear-gradient(135deg, #10b981, #059669) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  font-weight: 900 !important;
  font-size: 1.1em !important;
}

/* ── AVATAR (top right) ──────────────────────────────────────── */
header button[class*="rounded-full"],
header div[class*="rounded-full"] {
  background: var(--grad-primary) !important;
  color: white !important;
  font-weight: 800 !important;
  box-shadow: 0 4px 16px rgba(79,70,229,0.40) !important;
}

/* ── PULSE / STATUS DOT ──────────────────────────────────────── */
span[class*="rounded-full"][class*="bg-green"],
.animate-pulse {
  background: var(--success) !important;
  box-shadow: 0 0 0 4px rgba(16,185,129,0.20) !important;
}

/* ── DIVIDERS ────────────────────────────────────────────────── */
hr, [class*="border-white\/"] {
  border-color: rgba(99,102,241,0.10) !important;
}

/* ── MISC ────────────────────────────────────────────────────── */
.bg-black\/40, .bg-black\/60, .bg-black\/80 {
  background: rgba(15, 20, 50, 0.40) !important;
}

/* Layout fix */
.flex-1.flex.flex-col { min-width: 0 !important; }
#ae-candidates-view { min-width: 0 !important; max-width: 100% !important; box-sizing: border-box !important; }

/* ── ENTRY ANIMATIONS ────────────────────────────────────────── */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px) scale(0.98); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes shimmer {
  0%   { background-position: -200% center; }
  100% { background-position: 200% center; }
}

.glass-dark {
  animation: fadeInUp 0.45s cubic-bezier(0.16,1,0.3,1) both !important;
}
.grid > div {
  animation: fadeInUp 0.45s cubic-bezier(0.16,1,0.3,1) both !important;
}

/* Stagger card animations */
.glass-dark:nth-child(1), .grid > div:nth-child(1) { animation-delay: 0.04s !important; }
.glass-dark:nth-child(2), .grid > div:nth-child(2) { animation-delay: 0.09s !important; }
.glass-dark:nth-child(3), .grid > div:nth-child(3) { animation-delay: 0.14s !important; }
.glass-dark:nth-child(4), .grid > div:nth-child(4) { animation-delay: 0.19s !important; }
.glass-dark:nth-child(5), .grid > div:nth-child(5) { animation-delay: 0.24s !important; }
.glass-dark:nth-child(6), .grid > div:nth-child(6) { animation-delay: 0.29s !important; }

/* ── CARD LOCATION ROW ────────────────────────────────────────── */
/* Location icon + text */
.glass-dark svg { color: var(--primary) !important; opacity: 0.8 !important; }
.glass-dark [class*="text-slate-5"] {
  color: #334155 !important;
  font-weight: 500 !important;
  font-size: 12.5px !important;
}

/* ── CARD DESCRIPTION TEXT ─────────────────────────────────────── */
.glass-dark [class*="text-slate-4"] {
  color: #1e293b !important;
  font-size: 12.5px !important;
  line-height: 1.65 !important;
}

/* ── JOB CARD TITLE ────────────────────────────────────────────── */
.glass-dark [class*="font-bold"],
.glass-dark [class*="font-semibold"],
.glass-dark [class*="font-medium"],
.glass-dark h2, .glass-dark h3 {
  color: #000000 !important;
  font-weight: 800 !important;
}

/* ================================================================
   CANDIDATES PAGE — FULL LIGHT-THEME OVERRIDE
   Overrides every dark Tailwind class injected by admin-edit.js
   ================================================================ */

/* ── Candidates view wrapper ─────────────────────────────────── */
#ae-candidates-view {
  background: rgba(255,255,255,0.75) !important;
  backdrop-filter: blur(24px) saturate(180%) !important;
  border: 1px solid rgba(255,255,255,0.95) !important;
  box-shadow: var(--shadow-md) !important;
  border-radius: var(--radius-xl) !important;
  color: var(--text-primary) !important;
}

/* ── Page title & subtitle ───────────────────────────────────── */
#ae-candidates-view h2,
#ae-candidates-view [class*="text-white"][class*="font-black"],
#ae-candidates-view [class*="text-white"][class*="font-bold"] {
  color: #0a0a0a !important;
  font-weight: 900 !important;
  letter-spacing: -0.03em !important;
  font-size: 1.6rem !important;
}

#ae-candidates-view [class*="text-slate-400"][class*="text-xs"],
#ae-candidates-view p[class*="text-slate"] {
  color: #475569 !important;
  font-weight: 500 !important;
}

/* ── Filter panel container ──────────────────────────────────── */
#ae-candidates-view [class*="bg-slate-900"],
#ae-candidates-view [class*="bg-slate-950"],
#ae-candidates-view [class*="bg-slate-900\\/40"],
#ae-candidates-view [class*="rounded-2xl"][class*="border"] {
  background: rgba(255,255,255,0.88) !important;
  border: 1px solid rgba(99,102,241,0.14) !important;
  backdrop-filter: blur(16px) !important;
  box-shadow: 0 4px 20px rgba(79,70,229,0.07) !important;
  border-radius: 18px !important;
}

/* ── Search inputs (ae-search-input) ─────────────────────────── */
.ae-search-input,
#ae-cand-search,
#ae-cand-location-search,
#ae-cand-comments-search {
  background: #ffffff !important;
  border: 1.5px solid rgba(99,102,241,0.25) !important;
  color: #0a0a0a !important;
  border-radius: 50px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  box-shadow: 0 2px 10px rgba(79,70,229,0.06) !important;
  transition: all 0.25s ease !important;
}
.ae-search-input:focus,
#ae-cand-search:focus,
#ae-cand-location-search:focus,
#ae-cand-comments-search:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 4px rgba(99,102,241,0.15), 0 2px 10px rgba(79,70,229,0.08) !important;
  outline: none !important;
  background: #ffffff !important;
}
.ae-search-input::placeholder,
#ae-cand-search::placeholder,
#ae-cand-location-search::placeholder,
#ae-cand-comments-search::placeholder {
  color: #94a3b8 !important;
  font-weight: 400 !important;
}

/* Search icon colour */
#ae-candidates-view .ae-search-icon {
  color: var(--primary) !important;
  opacity: 0.7 !important;
}

/* ── Filter dropdowns ────────────────────────────────────────── */
#ae-cand-job-filter,
#ae-cand-status-filter,
#ae-cand-sel-status-filter,
#ae-candidates-view select {
  background: #ffffff !important;
  border: 1.5px solid rgba(99,102,241,0.22) !important;
  color: #0a0a0a !important;
  border-radius: 12px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  padding: 8px 14px !important;
  box-shadow: 0 2px 8px rgba(79,70,229,0.05) !important;
  cursor: pointer !important;
  appearance: auto !important;
  transition: border-color 0.2s !important;
}
#ae-cand-job-filter:focus,
#ae-cand-status-filter:focus,
#ae-cand-sel-status-filter:focus,
#ae-candidates-view select:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 4px rgba(99,102,241,0.15) !important;
  outline: none !important;
}
#ae-candidates-view select option {
  background: #ffffff !important;
  color: #0a0a0a !important;
  font-weight: 500 !important;
}

/* ── Table container ─────────────────────────────────────────── */
#ae-candidates-view [class*="bg-slate-950\\/50"],
#ae-candidates-view [class*="backdrop-blur-xl"],
#ae-candidates-view [class*="shadow-2xl"] {
  background: rgba(255,255,255,0.92) !important;
  border: 1px solid rgba(99,102,241,0.12) !important;
  box-shadow: var(--shadow-md) !important;
  border-radius: var(--radius-lg) !important;
  backdrop-filter: blur(20px) !important;
}

/* ── Table header row ────────────────────────────────────────── */
#ae-candidates-view thead tr,
#ae-candidates-view tr[class*="border-b"][class*="bg-white\\/5"] {
  background: linear-gradient(135deg, rgba(79,70,229,0.05) 0%, rgba(124,58,237,0.03) 100%) !important;
  border-bottom: 2px solid rgba(99,102,241,0.12) !important;
  box-shadow: none !important;
}

#ae-candidates-view thead th,
#ae-candidates-view th[class*="text-slate-400"] {
  color: var(--primary) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 14px 24px !important;
}

/* ── Table body rows ─────────────────────────────────────────── */
#ae-candidates-view tbody tr {
  background: rgba(255,255,255,0.90) !important;
  border-bottom: 1px solid rgba(99,102,241,0.07) !important;
  transition: all 0.2s ease !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
#ae-candidates-view tbody tr:hover {
  background: rgba(238,242,255,0.95) !important;
  transform: none !important;
  box-shadow: inset 0 0 0 2px rgba(99,102,241,0.12) !important;
}

/* ── ALL td text → black ─────────────────────────────────────── */
#ae-candidates-view td,
#ae-candidates-view td * {
  color: #0a0a0a !important;
}

/* Candidate name */
#ae-candidates-view td [class*="font-bold"][class*="text-white"],
#ae-candidates-view td [class*="font-semibold"][class*="text-white"] {
  color: #0a0a0a !important;
  font-weight: 800 !important;
  font-size: 13.5px !important;
}

/* Email */
#ae-candidates-view td [class*="text-slate-400"] {
  color: #334155 !important;
  font-weight: 500 !important;
  font-size: 11.5px !important;
}

/* Phone */
#ae-candidates-view td [class*="text-indigo-300"] {
  color: var(--primary) !important;
  font-weight: 600 !important;
}

/* Notice period badge */
#ae-candidates-view td [class*="bg-indigo-500\\/10"] {
  background: rgba(79,70,229,0.08) !important;
  color: var(--primary) !important;
  border: 1px solid rgba(99,102,241,0.25) !important;
  font-weight: 800 !important;
  font-size: 9px !important;
  border-radius: 6px !important;
  padding: 2px 7px !important;
}

/* Job title in row */
#ae-candidates-view td [class*="font-semibold"][class*="text-xs"] {
  color: #0f172a !important;
  font-weight: 700 !important;
}

/* Job ID mono */
#ae-candidates-view td [class*="font-mono"] {
  color: var(--primary) !important;
  font-weight: 600 !important;
  font-size: 10px !important;
}

/* Experience / designation */
#ae-candidates-view td [class*="text-slate-5"],
#ae-candidates-view td [class*="text-slate-4"] {
  color: #334155 !important;
  font-weight: 500 !important;
}

/* Location text */
#ae-candidates-view td [class*="text-slate-3"] {
  color: #1e293b !important;
  font-weight: 500 !important;
}

/* ── Status dropdowns inside rows ────────────────────────────── */
#ae-candidates-view .ae-status-select,
#ae-candidates-view select[class*="bg-slate-900"],
#ae-candidates-view select[class*="ae-status-select"] {
  background: #ffffff !important;
  border: 1.5px solid rgba(99,102,241,0.22) !important;
  color: #0a0a0a !important;
  border-radius: 10px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  padding: 5px 10px !important;
  box-shadow: 0 1px 6px rgba(79,70,229,0.06) !important;
  cursor: pointer !important;
  width: 140px !important;
}
#ae-candidates-view .ae-status-select option {
  background: #ffffff !important;
  color: #0a0a0a !important;
}

/* ── "+" Add status buttons ──────────────────────────────────── */
#ae-candidates-view button[class*="bg-white\\/5"],
#ae-candidates-view button[class*="border-white\\/10"][class*="text-indigo-4"] {
  background: rgba(79,70,229,0.08) !important;
  border: 1.5px solid rgba(99,102,241,0.25) !important;
  color: var(--primary) !important;
  border-radius: 8px !important;
  font-weight: 800 !important;
  transition: all 0.2s ease !important;
}
#ae-candidates-view button[class*="bg-white\\/5"]:hover {
  background: var(--primary) !important;
  color: #ffffff !important;
  border-color: var(--primary) !important;
}

/* ── Resume / Photo / Manage action buttons ──────────────────── */
#ae-candidates-view .ae-btn-cancel {
  background: rgba(255,255,255,0.9) !important;
  color: #334155 !important;
  border: 1.5px solid rgba(99,102,241,0.18) !important;
  border-radius: 10px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  padding: 5px 10px !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: all 0.2s ease !important;
}
#ae-candidates-view .ae-btn-cancel:hover {
  background: #eef2ff !important;
  color: var(--primary) !important;
  border-color: rgba(99,102,241,0.35) !important;
}

#ae-candidates-view .ae-btn-save {
  background: var(--grad-primary) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 10px !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  padding: 5px 12px !important;
  box-shadow: 0 4px 12px rgba(79,70,229,0.30) !important;
  transition: all 0.2s ease !important;
}
#ae-candidates-view .ae-btn-save:hover {
  box-shadow: 0 6px 18px rgba(79,70,229,0.45) !important;
  transform: translateY(-1px) !important;
  filter: brightness(1.08) !important;
}

/* ── Comment textarea ────────────────────────────────────────── */
#ae-candidates-view .ae-comment-textarea,
#ae-candidates-view textarea {
  background: #ffffff !important;
  border: 1.5px solid rgba(99,102,241,0.18) !important;
  color: #0a0a0a !important;
  border-radius: 10px !important;
  font-size: 11px !important;
  font-weight: 450 !important;
  padding: 8px 10px !important;
  box-shadow: 0 1px 4px rgba(79,70,229,0.05) !important;
}
#ae-candidates-view .ae-comment-textarea:focus,
#ae-candidates-view textarea:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 3px rgba(99,102,241,0.15) !important;
  outline: none !important;
}
#ae-candidates-view .ae-comment-textarea::placeholder,
#ae-candidates-view textarea::placeholder {
  color: #94a3b8 !important;
  font-weight: 400 !important;
}

/* ── "No candidates" empty state ────────────────────────────── */
#ae-candidates-view [class*="text-slate-4"][class*="text-sm"] {
  color: #64748b !important;
  font-weight: 500 !important;
}

/* ── Divider rows ────────────────────────────────────────────── */
#ae-candidates-view [class*="divide-y"] > * {
  border-color: rgba(99,102,241,0.08) !important;
}

/* ── Loading spinner text ────────────────────────────────────── */
#ae-candidates-view [class*="text-indigo-300"] {
  color: var(--primary) !important;
}

/* ── Overflow fix ────────────────────────────────────────────── */
#ae-candidates-view .overflow-x-auto {
  border-radius: var(--radius-lg) !important;
  overflow-x: auto !important;
}
