:root {
  --success-color: rgba(45, 210, 132, 1) !important;
  --error-color: rgba(241,79,93,255) !important;
  --primary: #35607f !important;
  --light: #f4f7f9 !important;
  --dark: #2a4a5e !important;
  --accent: #ffbb00 !important;
}

.card-day {
  transition: box-shadow 0.3s ease, background-color 0.3s ease !important;
  scroll-margin-top: 100px !important; /* For smooth scrolling with fixed header */
  display: flex;
  flex-direction: column;
  overflow: visible; /* was hidden */
}

.card-day:hover {
  box-shadow: 0 4px 8px rgba(0,0,0,0.1) !important;
}

.card-day.highlight-day {
  background-color: #fff3cd !important;
  border-left-color: var(--accent) !important;
  box-shadow: 0 6px 12px rgba(255, 193, 7, 0.3) !important;
}

/* Time slot group styling */
.time-slot-group {
  border-left: 3px solid var(--primary) !important;
  padding-left: 15px !important;
  margin-bottom: 2rem !important;
}

.time-header {
  background-color: #f8f9fa !important;
  padding: 0.75rem 1rem !important;
  border-radius: 0.5rem !important;
  border: 1px solid #dee2e6 !important;
}

.time-display {
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  margin-bottom: 0 !important;
  color: var(--primary) !important;
}

/* Slot dropdown styling */
.slot-dropdown {
  margin-left: 1rem !important;
}

.slot-toggle {
  text-align: left !important;
  border: 1px solid #ced4da !important;
  background-color: #ffffff !important;
  transition: all 0.2s ease !important;
  padding: 0.75rem 1rem !important;
}

.slot-toggle:hover {
  background-color: #f8f9fa !important;
  border-color: var(--primary) !important;
}

.slot-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25) !important;
}

.slot-toggle[aria-expanded="true"] {
  background-color: #e9ecef !important;
  border-color: var(--) !important;
}

.slot-info strong {
  font-size: 1.1rem !important;
  color: var(--primary) !important;
}

.slot-name {
  font-size: 1.2rem !important;
  font-weight: 500 !important;
  color: var(--accent) !important;
}

.slot-meta {
  display: flex !important;
  align-items: center !important;
}

.badge-info {
  background-color: #17a2b8;
  color: white !important;
  padding: 0.25rem 0.25rem !important;
  margin: 0.5rem 0.5rem !important;
  text-align: center !important;
  align-content: center !important;
}

.collapse-icon {
  transition: transform 0.3s ease !important;
  color: #6c757d !important;
}

.slot-toggle[aria-expanded="true"] .collapse-icon {
  transform: rotate(180deg) !important;
}

/* Papers container styling */
.slot-papers-container {
  border-top: none !important;
  background-color: #f8f9fa !important;
  margin-top: 0 !important;
}

.paper-item-dropdown {
  padding: 0.75rem !important;
  background-color: white !important;
  border: 1px solid #e9ecef !important;
  border-radius: 0.375rem !important;
  transition: all 0.2s ease !important;
}

.paper-item-dropdown:hover {
  background-color: #e7f1ff !important;
  border-color: var(--dark) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
}

.paper-link-dropdown {
  color: var(--primary) !important;
  font-weight: 500 !important;
  display: block !important;
  text-decoration: none !important;
}

.paper-link-dropdown:hover {
  color: var(--dark) !important;
  text-decoration: none !important;
}

.paper-authors {
  margin-top: 0.25rem !important;
  font-size: 0.9rem !important;
}

/* Session type specific styles */
.session-keynote {
  border-left-color: #dc3545 !important;
}

.session-tutorial {
  border-left-color: #ffc107 !important;
}

.session-workshop {
  border-left-color: #17a2b8 !important;
}

.session-poster {
  border-left-color: #6f42c1 !important;
}

.session-regular {
  border-left-color: #28a745 !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .slot-info strong {
    font-size: 1rem !important;
  }

  .time-display {
    font-size: 1.1rem !important;
  }

  .slot-meta {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.25rem !important;
  }

  .slot-dropdown {
    margin-left: 0.5rem !important;
  }

  .time-slot-group {
    padding-left: 10px !important;
  }

  .paper-item-dropdown {
    padding: 0.5rem !important;
  }
}

/* Navigation enhancements */
#program-panel a {
  color: var(--dark) !important;
  text-decoration: none !important;
  padding: 0.25rem 0.5rem !important;
  border-radius: 0.25rem !important;
  transition: all 0.2s ease !important;
  display: block !important;
  margin-bottom: 0.25rem !important;
}

#program-panel a:hover {
  background-color: #e9ecef !important;
  color: var(--primary) !important;
  text-decoration: none !important;
}

#program-panel a.nav-active {
  background-color: var(--primary) !important;
  color: white !important;
  font-weight: 600 !important;
}

.close-btn {
  background: none !important;
  border: none !important;
  font-size: 1.5rem !important;
  float: right !important;
  cursor: pointer !important;
  color: #6c757d !important;
  transition: color 0.2s ease !important;
}

.close-btn:hover {
  color: #495057 !important;
}

.text-muted{
  font-size: 14px !important;
  color: #999999 !important;
  text-decoration: none !important;
}

.card-header {
  position: sticky !important;
  top: 0;
  z-index: 2;
}
