:root{
  --bg: #0b1220;
  --bg-alt: #0f1830;
  --primary: #2f6fff;
  --accent: #00e1ff;
  --glow: 0 0 12px rgba(0,225,255,.5), 0 0 32px rgba(47,111,255,.25);
}
html,body{height:100%;}
body{background: radial-gradient(1200px 800px at 80% -10%, rgba(0,225,255,.08), transparent), linear-gradient(180deg, var(--bg), var(--bg-alt)); font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, 'Helvetica Neue', Arial, 'Noto Sans', 'Apple Color Emoji', 'Segoe UI Emoji';}

.neon-text{color:var(--accent); text-shadow: var(--glow);} 
.neon-btn{box-shadow: var(--glow);}
.neon-btn:hover{filter: brightness(1.1); transform: translateY(-1px);} 

#particles{position:fixed; inset:0; pointer-events:none; z-index:-1;}
.hero{position:relative; padding:8rem 0 5rem;}
.hero .cta{animation: pulseGlow 2.6s ease-in-out infinite;} 

@keyframes pulseGlow{
  0%,100%{ box-shadow: var(--glow); }
  50%{ box-shadow: 0 0 18px rgba(0,225,255,.75), 0 0 48px rgba(47,111,255,.45);} 
}

.card-dark{background: rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08); backdrop-filter: blur(6px);} 
.glow-hover:hover{box-shadow: var(--glow);} 

/* Improve readability on dark cards */
.card-dark{ color: #dfe7ff; }
.card-dark h5, .card-dark .card-title{ color: #f0f6ff; }
.card-dark label, .card-dark .form-label{ color: #e6eeff; }
.card-dark .form-text, .small-muted{ color:#9aa3b2; }

.form-control, .form-select, .btn{border-radius: 10px;}
.btn, .btn-sm, .btn-lg { border-radius: 10px !important; }
.form-control, .form-select{ background-color: rgba(255,255,255,.06); border-color: rgba(255,255,255,.18); color:#f5f9ff; }
.form-control::placeholder{ color: rgba(255,255,255,.6); }
.form-control:focus, .form-select:focus{ border-color: var(--accent); box-shadow: 0 0 0 .2rem rgba(0,225,255,.15); }
.btn-primary{background: linear-gradient(90deg, var(--primary), var(--accent)); border: none;}
.btn-outline-light{border-color: rgba(255,255,255,.35);}

.status-badge{border: 1px solid rgba(255,255,255,.2); padding:.25rem .6rem; border-radius:999px; font-size:.75rem;}
.status-pending{color:#ffd166}
.status-interview{color:#00e1ff}
.status-accepted{color:#06d6a0}
.status-declined{color:#ef476f}

.fc-theme-standard .fc-scrollgrid, .fc-theme-standard td, .fc-theme-standard th{border-color: rgba(255,255,255,.1);} 

/* Compact booking calendar */
.fc .fc-toolbar.fc-header-toolbar{ margin-bottom: .5rem; }
.fc .fc-timegrid-slot{ height: 1.7em; }
.fc .fc-timegrid-axis-cushion, .fc .fc-timegrid-slot-label{ font-size: .8rem; }
.fc .fc-daygrid-day-number, .fc .fc-col-header-cell-cushion{ font-size: .85rem; }
.fc .fc-button{ padding: .2rem .5rem; font-size: .85rem; border-radius: 8px; }
.fc .fc-button-primary{ background: linear-gradient(90deg, var(--primary), var(--accent)); border: none; }
.fc .fc-button-primary:not(:disabled):hover{ filter: brightness(1.05); }
/* Ensure nav icons/labels visible and clickable */
.fc .fc-toolbar-title{ color:#f0f6ff; }
.fc .fc-prev-button .fc-icon, .fc .fc-next-button .fc-icon{ font-size:1.1rem; line-height:1; }
.fc .fc-button .fc-icon{ color:#fff; }
.fc .fc-header-toolbar{ position:relative; z-index:2; }

/* Utility */
.small-muted{font-size:.9rem; color:#9aa3b2}
.cursor-pointer{cursor:pointer}
