/* ==========================================================================
   TalentMatch AI — Sistema de Diseño CSS3 Modular & Glassmorphism PRO
   ========================================================================== */

:root {
  --bg-main: #020617;
  --bg-card: rgba(15, 23, 42, 0.75);
  --bg-card-hover: rgba(30, 41, 59, 0.85);
  --border-subtle: rgba(51, 65, 85, 0.5);
  --border-focus: rgba(99, 102, 241, 0.6);
  --primary-500: #6366f1;
  --primary-600: #4f46e5;
  --primary-glow: rgba(99, 102, 241, 0.25);
  --amber-glow: rgba(245, 158, 11, 0.25);
  --emerald-glow: rgba(16, 185, 129, 0.25);
}

body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  background-color: var(--bg-main);
  color: #f8fafc;
  min-height: 100vh;
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
}

/* Glassmorphism panels */
.glass-panel {
  background: var(--bg-card);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid var(--border-subtle);
  border-radius: 1rem;
}

.glass-panel:hover {
  border-color: rgba(99, 102, 241, 0.35);
}

.glass-navbar {
  background: rgba(2, 6, 23, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(51, 65, 85, 0.6);
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: #090d16;
}
::-webkit-scrollbar-thumb {
  background: #334155;
  border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
  background: #475569;
}

/* Animations */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes pulseSlow {
  0%, 100% { opacity: 0.2; transform: scale(1); }
  50% { opacity: 0.35; transform: scale(1.05); }
}

.animate-fadeIn {
  animation: fadeIn 0.25s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.animate-pulseSlow {
  animation: pulseSlow 4s infinite ease-in-out;
}

/* Badges */
.badge-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.6rem;
  border-radius: 9999px;
  font-size: 0.725rem;
  font-weight: 600;
  letter-spacing: 0.025em;
  text-transform: uppercase;
}
.badge-primary { background: rgba(99, 102, 241, 0.15); color: #818cf8; border: 1px solid rgba(99, 102, 241, 0.3); }
.badge-success { background: rgba(16, 185, 129, 0.15); color: #34d399; border: 1px solid rgba(16, 185, 129, 0.3); }
.badge-warning { background: rgba(245, 158, 11, 0.15); color: #fbbf24; border: 1px solid rgba(245, 158, 11, 0.3); }
.badge-danger  { background: rgba(244, 63, 94, 0.15); color: #fb7185; border: 1px solid rgba(244, 63, 94, 0.3); }
.badge-neutral { background: rgba(148, 163, 184, 0.15); color: #cbd5e1; border: 1px solid rgba(148, 163, 184, 0.25); }

/* Form Inputs */
.input-field {
  width: 100%;
  background-color: #090d16;
  border: 1px solid #334155;
  border-radius: 0.75rem;
  padding: 0.65rem 0.85rem;
  color: #f1f5f9;
  font-size: 0.875rem;
  transition: all 0.15s ease;
}
.input-field:focus {
  outline: none;
  border-color: #6366f1;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.2);
}
.input-field::placeholder {
  color: #64748b;
}

/* Primary Button Glow */
.btn-primary-glow {
  background: linear-gradient(135deg, #4f46e5 0%, #6366f1 100%);
  color: #ffffff;
  box-shadow: 0 4px 14px 0 rgba(79, 70, 229, 0.35);
  transition: all 0.2s ease;
}
.btn-primary-glow:hover {
  background: linear-gradient(135deg, #4338ca 0%, #4f46e5 100%);
  box-shadow: 0 6px 20px 0 rgba(79, 70, 229, 0.5);
  transform: translateY(-1px);
}
.btn-primary-glow:active {
  transform: translateY(0);
}

/* Modals */
.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 50;
  background-color: rgba(2, 6, 23, 0.85);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  overflow-y: auto;
}

/* Match Score Ring / Bar */
.score-circle {
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.05em;
}
