/* Timeline Custom Styles for Dark/Light Mode */

/* Light Mode (default) */
.react-calendar-timeline {
	background-color: oklch(var(--b1));
	color: oklch(var(--bc));
}

.react-calendar-timeline .rct-cursor-line {
	background-color: oklch(var(--p));
}

.react-calendar-timeline .rct-sidebar {
	background-color: oklch(var(--b2));
	border-right: 1px solid oklch(var(--b3));
}

.react-calendar-timeline .rct-sidebar-row {
	border-bottom: 1px solid oklch(var(--b3));
	color: oklch(var(--bc));
}

.react-calendar-timeline .rct-header {
	background-color: oklch(var(--b2)) !important;
	border-bottom: 1px solid oklch(var(--b3));
}

.react-calendar-timeline .rct-header-root {
	background-color: oklch(var(--b2)) !important;
	border-bottom: 1px solid oklch(var(--b3));
}

.react-calendar-timeline .rct-dateHeader {
	color: oklch(var(--bc)) !important;
	background-color: oklch(var(--b2)) !important;
	border-right: 1px solid oklch(var(--b3));
}

.react-calendar-timeline .rct-dateHeader-primary {
	background-color: oklch(var(--b2)) !important;
	color: oklch(var(--bc)) !important;
	border-bottom: 1px solid oklch(var(--b3));
}

/* Fix for any nested date header elements */
.react-calendar-timeline .rct-dateHeader * {
	color: oklch(var(--bc)) !important;
	background-color: transparent !important;
}

.react-calendar-timeline .rct-scroll {
	background-color: oklch(var(--b1));
}

.react-calendar-timeline .rct-items {
	background-color: oklch(var(--b1));
}

.react-calendar-timeline .rct-item {
	background-color: oklch(var(--p));
	color: oklch(var(--pc));
	border: 1px solid oklch(var(--pf));
	border-radius: 4px;
}

.react-calendar-timeline .rct-item.selected {
	background-color: oklch(var(--s));
	color: oklch(var(--sc));
	border-color: oklch(var(--sf));
}

/* Timeline item type specific colors */
.timeline-item.station {
	background-color: oklch(var(--p)) !important;
	border-color: oklch(var(--pf)) !important;
}

.timeline-item.lst_01 {
	background-color: oklch(var(--s)) !important;
	border-color: oklch(var(--sf)) !important;
}

.timeline-item.lst_02 {
	background-color: oklch(var(--a)) !important;
	border-color: oklch(var(--af)) !important;
}

.timeline-item.lst_03 {
	background-color: oklch(var(--n)) !important;
	border-color: oklch(var(--nf)) !important;
}

.timeline-item.lst_04 {
	background-color: oklch(var(--in)) !important;
	border-color: oklch(var(--inf)) !important;
}

/* Station booking colors - dynamic colors for different stations */
.timeline-item.station {
	background-color: oklch(var(--p)) !important;
	border-color: oklch(var(--pf)) !important;
}

/* Additional station colors for variety when multiple stations are booked */
.timeline-item.station:nth-child(odd) {
	background-color: oklch(var(--p)) !important;
	border-color: oklch(var(--pf)) !important;
}

.timeline-item.station:nth-child(even) {
	background-color: oklch(var(--s)) !important;
	border-color: oklch(var(--sf)) !important;
}

/* Vertical lines */
.react-calendar-timeline .rct-vertical-line {
	border-left: 1px solid oklch(var(--b3));
}

.react-calendar-timeline .rct-horizontal-line {
	border-bottom: 1px solid oklch(var(--b3));
}

/* Today line */
.react-calendar-timeline .rct-today {
	background-color: oklch(var(--er) / 0.2);
}

/* Hover effects */
.react-calendar-timeline .rct-item:hover {
	filter: brightness(1.1);
}

/* Scrollbar styling for dark mode compatibility */
.react-calendar-timeline ::-webkit-scrollbar {
	width: 8px;
	height: 8px;
}

.react-calendar-timeline ::-webkit-scrollbar-track {
	background: oklch(var(--b2));
}

.react-calendar-timeline ::-webkit-scrollbar-thumb {
	background: oklch(var(--b3));
	border-radius: 4px;
}

.react-calendar-timeline ::-webkit-scrollbar-thumb:hover {
	background: oklch(var(--bc) / 0.3);
}
