/* Custom styles for Vacation Tracker */

/* Calendar custom styles */
.fc-event {
  cursor: pointer;
  border-radius: 3px;
}

.fc-today {
  background-color: var(--bs-dark-bg-subtle) !important;
}

/* Leave type badges */
.badge-sick {
  background-color: #f44336 !important;
}

.badge-vacation {
  background-color: #4caf50 !important;
}

.badge-nopay {
  background-color: #ff9800 !important;
}

/* Dashboard cards */
.card-balance {
  border-left: 4px solid var(--bs-primary);
}

.card-sick {
  border-left: 4px solid #f44336;
}

.card-vacation {
  border-left: 4px solid #4caf50;
}

.card-nopay {
  border-left: 4px solid #ff9800;
}

/* Analytics Dashboard */
.analytics-card {
  background: rgba(255, 255, 255, 0.1) !important;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 1.5rem;
  transition: transform 0.2s ease;
}

.analytics-card:hover {
  transform: translateY(-2px);
}

.analytics-card .display-4 {
  color: #6c5ce7;
  font-weight: 700;
  font-size: 2.5rem;
  margin-bottom: 0.5rem;
}

.analytics-card p {
  color: var(--bs-body-color);
  font-weight: 500;
  margin-bottom: 0.25rem;
}

.analytics-card .text-muted {
  color: rgba(255, 255, 255, 0.6) !important;
  font-size: 0.875rem;
}

.chart-container {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 12px;
  padding: 1rem;
  margin-top: 1rem;
}

[data-bs-theme=dark] .analytics-card {
  background: rgba(30, 34, 47, 0.6) !important;
}

[data-bs-theme=dark] .chart-container {
  background: rgba(30, 34, 47, 0.4);
}


.card-pending {
  border-left: 4px solid #ffc107;
}

.card-approved {
  border-left: 4px solid #4caf50;
}

.card-rejected {
  border-left: 4px solid #f44336;
}

/* Request form */
.date-picker-container {
  position: relative;
}

/* Notifications */
.notification-badge {
  position: absolute;
  top: 5px;
  right: 5px;
  font-size: 0.7rem;
}

.notification-item {
  border-left: 3px solid var(--bs-primary);
  padding: 10px;
  margin-bottom: 10px;
  background-color: var(--bs-dark-bg-subtle);
}

.notification-item.unread {
  border-left-color: var(--bs-warning);
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
  .fc-toolbar.fc-header-toolbar {
    flex-direction: column;
  }
  
  .fc-toolbar-chunk {
    margin-bottom: 10px;
  }
}

/* Dark theme adjustments */
[data-bs-theme=dark] .fc-theme-standard td, 
[data-bs-theme=dark] .fc-theme-standard th {
  border-color: var(--bs-border-color);
}

[data-bs-theme=dark] .fc-theme-standard .fc-scrollgrid {
  border-color: var(--bs-border-color);
}

[data-bs-theme=dark] .fc-day-today {
  background-color: rgba(var(--bs-primary-rgb), 0.1) !important;
}

/* Heatmap styles */
.heatmap-event {
  opacity: 1 !important;
  transition: opacity 0.7s ease-in-out !important;
  z-index: 1 !important; /* Ensure heatmap is visible */
  pointer-events: auto !important; /* Make sure events are clickable */
}

/* Override FullCalendar styles to ensure background events are visible */
.fc .fc-bg-event {
  opacity: 1 !important;
  z-index: 1 !important;
}

/* Additional styles to make heatmap more visible */
.fc-daygrid-day.fc-day {
  position: relative !important;
}

.fc-daygrid-day.fc-day .fc-daygrid-day-bg {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 1 !important;
}

/* Make sure day content is above the background */
.fc-daygrid-day-frame {
  position: relative !important;
  z-index: 2 !important;
  background: transparent !important;
}

.color-dot {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  margin: 0 3px;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.team-availability-popover {
  font-size: 0.9rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.5) !important;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.calendar-controls {
  padding: 10px;
  background-color: var(--bs-dark-bg-subtle);
  border-radius: 4px;
  margin-bottom: 15px !important;
}

.heatmap-legend {
  font-size: 0.85rem;
  display: flex;
  align-items: center;
}

/* Stronger calendar day styling for better heatmap visibility */
.fc-daygrid-day {
  position: relative;
}

.fc-daygrid-day-frame {
  position: relative;
  z-index: 2;
}
