#theme-toggle-button {
	background-color: #f0f0f0;
	border: 1px solid #ccc;
	border-radius: 5px;
	padding: 10px 20px;
	cursor: pointer;
	font-size: 16px;
}

body.dark-mode #theme-toggle-button {
	background-color: #333;
	color: #fff;
	border: 1px solid #444;
}

/* Theme support */
body.day-theme {
	--modal-bg: #ffffff;
	--text-color: #333333;
	--title-color: #222222;
	--counter-color: #666666;
	--button-color: #4a90e2;
	--button-hover-color: #357abd;
	--dot-color: #dddddd;
	--dot-active-color: #4a90e2;
	--close-button-color: #666666;
	--close-button-hover-color: #333333;
	--secondary-text-color: #666;
}

body.night-theme {
	--modal-bg: #1a1a1a;
	--background-color: #1a1a1a;
	--text-color: rgba(255, 255, 255, 0.87);
	--title-color: rgba(255, 255, 255, 0.95);
	--counter-color: rgba(255, 255, 255, 0.6);
	--button-color: #2ecc71;
	--button-hover-color: #27ae60;
	--button-bg: rgba(34, 34, 34, 0.95);
	--button-hover-bg: rgba(40, 40, 40, 0.95);
	--dot-color: rgba(85, 85, 85, 0.8);
	--dot-active-color: #2ecc71;
	--close-button-color: rgba(170, 170, 170, 0.8);
	--close-button-hover-color: #ffffff;
	--border-color: rgba(51, 51, 51, 0.8);
	--card-bg: rgba(26, 26, 26, 0.95);
	--input-bg: rgba(34, 34, 34, 0.95);
	--secondary-text-color: rgba(136, 136, 136, 0.87);
}

body.gray-theme {
	--secondary-text-color: #555;
}

body.dark-mode,
html.dark-theme,
html.night-theme {
	background-color: #121212;
	color: #e0e0e0;
}

body.dark-mode header,
body.dark-mode main,
html.dark-theme header,
html.night-theme header {
	background-color: #1e1e1e;
	color: #e0e0e0;
	border-bottom: 1px solid #333;
	transition: all 0.3s ease;
}

body.dark-mode .header-logo h1 a {
	color: #e0e0e0;
}

body.dark-mode .header-user img {
	border: 1px solid #444;
}

body.dark-mode .header-search input[type="text"] {
	background-color: #333;
	color: #e0e0e0;
	border: 1px solid #444;
	width: 90%;
}

body.dark-mode .header-search input[type="text"]:focus {
	border-color: #555;
}

body.dark-mode .custom-button {
	background-color: #333;
	color: #e0e0e0;
	border: 1px solid #444;
}

body.dark-mode .custom-button:hover {
	background-color: #444;
	color: #fff;
}

body.dark-mode .menu-buttons {
	background-color: #1e1e1e;
}

body.dark-mode .menu-buttons a:hover {
	background-color: #333;
	color: #fff;
}

/* Денна тема */
body.day-theme header,
body.day-theme main,
body.day-theme .mychord-content p,
body.day-theme main,
.mychord-content {
	/* background-color: #f5f5f5; */
	color: #000000;
	transition: all 0.3s ease;
}

body.day-theme article {
	background: white;
}

body.day-theme {
	background-color: #ffffff;
	/* Білий фон для денного режиму */
	color: #000000;
	/* Чорний текст для денного режиму */
}

/* Нічна тема */
body.night-theme header,
body.night-theme main,
body.night-theme .mychord-content,
body.night-theme .mychord-content p {
	background-color: var(--background-color);
	color: var(--text-color);
	transition: all 0.3s ease;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

body.night-theme {
	background-color: var(--background-color);
	/* Чорний фон для нічного режиму */
	color: var(--text-color);
	/* Білий текст для нічного режиму */
}

body.night-theme .modal-content {
	background-color: var(--modal-bg);
	color: var(--text-color);
	border: 1px solid var(--border-color);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

body.night-theme input,
body.night-theme textarea,
body.night-theme select {
	background-color: var(--input-bg);
	color: var(--text-color);
	border: 1px solid var(--border-color);
}

body.night-theme .custom-button {
	background-color: var(--button-bg);
	color: var(--text-color);
	border: none;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

body.night-theme .custom-button:hover {
	background-color: var(--button-hover-bg);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}

/* Стилі для кнопки перемикання теми */
.theme-toggle-button {
	background: none;
	border: none;
	cursor: pointer;
	font-size: 1.5em;
}

.spinner {
	border: 4px solid rgba(0, 0, 0, 0.1);
	border-left-color: #000;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	animation: spin 1s linear infinite;
}

@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}

.icon-no-border {
	border: none;
}

.header-search input[type="text"] {
	width: 100%;
	max-width: 300px;
	padding: 10px;
	border-radius: 5px;
	border: 1px solid #ccc;
}

.menu-buttons {
	display: flex;
	overflow-x: auto;
	padding: 10px;

	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	/* Firefox */
	-ms-overflow-style: none;
	/* IE and Edge */
}

.menu-buttons::-webkit-scrollbar {
	display: none;
	/* Chrome, Safari and Opera */
}

.custom-button {
	padding: 8px 15px;
	margin-right: 8px;
	/* border-radius: 20px; */
	background-color: #e0e0e0;
	color: #333;
	text-decoration: none;
	font-weight: 500;
	white-space: nowrap;
	transition: all 0.3s ease;
	border: none;
}

.custom-button:hover {
	background-color: #d0d0d0;
	transform: translateY(-1px);
}

.custom-button:active {
	transform: translateY(0);
}

/* Night theme specific styles for menu buttons */
body.night-theme .menu-buttons {
	background: #1a1a1a;
}

body.night-theme .custom-button {
	background-color: var(--button-bg);
	color: var(--text-color);
	border: none;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

body.night-theme .custom-button:hover {
	background-color: var(--button-hover-bg);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}

@media (max-width: 768px) {
	.header-search input[type="text"] {
		width: calc(100% - 20px);
		margin: 0 10px;
	}

	.menu-buttons {
		padding: 8px 5px;
	}

	.menu-buttons {
		overflow-x: auto;
		white-space: nowrap;
	}

	.menu-slider {
		display: inline-block;
	}

	.custom-button {
		padding: 6px 12px;
		margin-right: 6px;
		font-size: 14px;
	}

	.custom-button {
		display: inline-block;
		margin-right: 10px;
	}
}

/* Денна тема */
body.day-theme header,
body.day-theme main,
body.day-theme .mychord-content,
body.day-theme .mychord-content p,
body.day-theme main,
.mychord-content {
	/* background-color: #ffffff; */
	color: #000000;
	transition: all 0.3s ease;
}

body.day-theme {
	background-color: #ffffff;
	/* Білий фон для денного режиму */
	color: #000000;
	/* Чорний текст для денного режиму */
}

/* Нічна тема */
body.night-theme header,
body.night-theme main,
body.night-theme .mychord-content,
body.night-theme .mychord-content p {
	background-color: var(--background-color);
	color: var(--text-color);
	transition: all 0.3s ease;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

/* Стилі для кнопки перемикання теми */
.theme-toggle-button {
	background: none;
	border: none;
	cursor: pointer;
	font-size: 1.5em;
}

/* Показуємо відповідну іконку залежно від теми */
body.day-theme .light-theme-icon {
	display: block;
}

body.day-theme .dark-theme-icon {
	display: none;
}

body.night-theme .light-theme-icon {
	display: none;
}

body.night-theme .dark-theme-icon {
	display: block;
}

/* User Icon Theme Styles */
.header-user img {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	transition: all 0.3s ease;
}

/* Theme-specific icon visibility */
.light-theme-icon,
.dark-theme-icon {
	transition: opacity 0.3s ease;
}

body.day-theme .light-theme-icon {
	display: inline-block;
	opacity: 1;
}

body.day-theme .dark-theme-icon {
	display: none;
	opacity: 0;
}

body.night-theme .light-theme-icon {
	display: none;
	opacity: 0;
}

body.night-theme .dark-theme-icon {
	display: inline-block;
	opacity: 1;
}

.search-results {
	position: absolute;
	top: calc(100% + 5px);
	left: 0;
	right: 0;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 8px;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	z-index: 1000;
	display: none;
	max-height: 400px;
	overflow-y: auto;
	padding: 8px 0;
}

.search-result-item {
	padding: 12px 16px;
	border-bottom: 1px solid #eee;
	transition: background-color 0.2s ease;
}

.search-result-item:last-child {
	border-bottom: none;
}

.search-result-item a {
	text-decoration: none;
	color: inherit;
	display: block;
}

.search-result-item:hover {
	background: #f8f8f8;
}

.search-result-item .title {
	display: block;
	font-weight: 500;
	margin-bottom: 4px;
	color: #333;
}

.search-result-item:hover .title {
	text-decoration: underline;
}

.search-results-count {
	padding: 8px 16px;
	font-size: 0.9em;
	color: #666;
	border-bottom: 1px solid #eee;
	background: #f5f5f5;
}

/* Night theme styles for search results */
body.night-theme .search-results {
	background: var(--background-color);
	border-color: var(--border-color);
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
}

body.night-theme .search-result-item {
	border-color: var(--border-color);
}

body.night-theme .search-result-item:hover {
	background: var(--button-hover-bg);
}

body.night-theme .search-result-item .title {
	color: var(--text-color);
}

body.night-theme .search-results-count {
	color: var(--secondary-text-color);
	background: var(--card-bg);
	border-color: var(--border-color);
}

/* Сіра тема */
body.gray-theme {
	background-color: #aaaaaa;
	color: #333333;
}

body.gray-theme header,
body.gray-theme main,
body.gray-theme .mychord-content {
	/* background-color: #e0e0e0; */
	color: #333333;
	border-radius: 8px;
	transition: all 0.3s ease;
}

body.gray-theme .header-search input[type="text"] {
	background-color: #ffffff;
	color: #333333;
	border: 1px solid #cccccc;
}

body.gray-theme .custom-button {
	background-color: #d0d0d0;
	color: #333333;
}

body.gray-theme .custom-button:hover {
	background-color: #c0c0c0;
}

body.gray-theme .search-results {
	background: #e0e0e0;
	border-color: #cccccc;
}

body.gray-theme .search-result-item {
	border-color: #cccccc;
}

body.gray-theme .search-result-item:hover {
	background: #d0d0d0;
}

body.gray-theme .search-result-item .title {
	color: #333333;
}

body.gray-theme .search-results-count {
	color: #666666;
	background: #d0d0d0;
	border-color: #cccccc;
}

/* Анімація переключення теми */
body,
header,
main,
.mychord-content,
.custom-button,
.search-results {
	transition: all 0.3s ease;
}

.theme-slider {
	position: relative;
	width: 120px;
	height: 40px;
	border-radius: 20px;
	padding: 4px;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 2px solid;
	transition: all 0.3s ease;
}

#theme-toggle-button {
	position: absolute;
	padding: 0;
	width: 32px;
	height: 32px;
	border: none;
	background: none;
	cursor: pointer;
	transition: transform 0.3s ease;
	left: 4px;
	/* Початкова позиція */
}

.slider-thumb {
	width: 32px;
	height: 32px;
	background: white;
	border-radius: 50%;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.2em;
	transition: all 0.3s ease;
}

.theme-labels {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	display: flex;
	justify-content: space-between;
	padding: 4px 0;
	font-size: 12px;
	font-weight: bold;
}

.theme-label {
	opacity: 0.6;
	transition: opacity 0.3s ease;
	font-weight: 500;
	padding: 2px 6px;
	border-radius: 4px;
	transition: all 0.3s ease;
}

.theme-label.active {
	opacity: 1;
	text-shadow: 0 0 8px rgba(255, 255, 255, 0.5);
	transform: scale(1.1);
	background: rgba(255, 255, 255, 0.2);
	box-shadow: 0 0 8px rgba(255, 255, 255, 0.3);
}

/* Позиції повзунка для різних тем */
body.day-theme #theme-toggle-button {
	transform: translateX(-40);
}

body.gray-theme #theme-toggle-button {
	transform: translateX(0px);
	/* Відрегульована середня позиція */
}

body.night-theme #theme-toggle-button {
	transform: translateX(40px);
	/* Відрегульована кінцева позиція */
}

/* Стилі для різних тем */
body.day-theme .theme-slider {
	background: linear-gradient(145deg, #ffffff, #e6e6e6);
	box-shadow: 5px 5px 10px #d1d1d1, -5px -5px 10px #ffffff;
	border-color: #333333;
}

body.gray-theme .theme-slider {
	background: linear-gradient(145deg, #e0e0e0, #cccccc);
	box-shadow: 5px 5px 10px #b3b3b3, -5px -5px 10px #ffffff;
	border-color: #666666;
}

body.night-theme .theme-slider {
	background: linear-gradient(145deg, #2a2a2a, #1a1a1a);
	box-shadow: 5px 5px 10px #151515, -5px -5px 10px #333333;
	border-color: var(--border-color);
}

/* Стилі кнопки для різних тем */
body.day-theme .slider-thumb {
	background: linear-gradient(145deg, #ffd700, #ffed4a);
	box-shadow: 0 2px 10px rgba(255, 215, 0, 0.3);
	color: #b59500;
}

body.gray-theme .slider-thumb {
	background: linear-gradient(145deg, #a0a0a0, #808080);
	box-shadow: 0 2px 10px rgba(128, 128, 128, 0.3);
	color: #4a4a4a;
}

body.night-theme .slider-thumb {
	background: linear-gradient(145deg, #2c3e50, #1a2634);
	box-shadow: 0 2px 10px rgba(44, 62, 80, 0.3);
	color: #89a7c3;
}

/* Анімація при наведенні */
.slider-thumb:hover {
	transform: scale(1.05);
}

/* Мобільна версія */
@media (max-width: 768px) {
	.theme-toggle {
		padding: 5px;
		margin-right: 10px;
		/* Відступ справа на мобільних */
	}

	.theme-slider {
		width: 40px;
		height: 120px;
		margin-left: auto;
		/* Вирівнювання справа */
	}

	.slider-track {
		background: linear-gradient(to bottom, #ffd700, #808080, #2c3e50);
	}

	.theme-labels {
		top: 0;
		right: calc(100% + 8px);
		left: auto;
		flex-direction: column;
		height: 100%;
		padding: 0 4px;
	}

	.theme-label {
		writing-mode: vertical-lr;
		transform: rotate(180deg);
		margin: 4px 0;
		background: rgba(255, 255, 255, 0.1);
		padding: 6px 4px;
		border: 1px solid;
	}

	body.day-theme #theme-toggle-button {
		transform: translateY(0);
	}

	body.gray-theme #theme-toggle-button {
		transform: translateY(44px);
	}

	body.night-theme #theme-toggle-button {
		transform: translateY(88px);
	}

	/* Збільшена контрастність для мобільної версії */
	body.day-theme .theme-label {
		border-color: #333333;
	}

	body.gray-theme .theme-label {
		border-color: #666666;
	}

	body.night-theme .theme-label {
		border-color: var(--border-color);
	}

	.theme-label.active {
		transform: rotate(180deg) scale(1.1);
	}
}

/* Оновлена мобільна версія */
@media (max-width: 768px) {
	.theme-toggle {
		padding: 5px;
		margin-right: 10px;
	}

	.theme-slider {
		width: auto;
		height: auto;
		background: none !important;
		border: none !important;
		box-shadow: none !important;
		padding: 0;
	}

	#theme-toggle-button {
		position: static;
		transform: none !important;
	}

	.slider-thumb {
		width: 32px;
		height: 32px;
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.theme-labels {
		display: none;
		/* Приховуємо підписи на мобільних */
	}

	/* Спрощені стилі для іконки на мобільних */
	#theme-icon {
		font-size: 18px;
	}

	/* Анімація натискання для мобільних */
	.slider-thumb:active {
		transform: scale(0.95);
	}

	/* Адаптивні кольори для мобільної версії */
	body.day-theme .slider-thumb {
		background: #ffd700;
		color: #333;
	}

	body.gray-theme .slider-thumb {
		background: #808080;
		color: #fff;
	}

	body.night-theme .slider-thumb {
		background: #2c3e50;
		color: #fff;
	}
}

/* Додаткові стилі для іконок */
#theme-icon {
	font-size: 14px;
	transition: all 0.3s ease;
}

body.day-theme #theme-icon {
	color: #b59500;
	text-shadow: 0 0 5px rgba(255, 215, 0, 0.5);
}

body.gray-theme #theme-icon {
	color: #4a4a4a;
	text-shadow: 0 0 5px rgba(128, 128, 128, 0.5);
}

body.night-theme #theme-icon {
	color: #89a7c3;
	text-shadow: 0 0 5px rgba(137, 167, 195, 0.5);
}

/* Оновлені стилі для контейнера перемикача */
.theme-toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px;
	position: relative;
}

.theme-slider {
	position: relative;
	width: 120px;
	height: 40px;
	border-radius: 20px;
	padding: 4px;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 2px solid;
	transition: all 0.3s ease;
	display: flex;
	align-items: center;
}

#theme-toggle-button {
	position: absolute;
	padding: 0;
	width: 32px;
	height: 32px;
	border: none;
	background: none;
	cursor: pointer;
	transition: transform 0.3s ease;
	left: 4px;
	/* Початкова позиція */
}

/* Оновлені позиції для перемикача */
body.day-theme #theme-toggle-button {
	transform: translateX(0);
}

body.gray-theme #theme-toggle-button {
	transform: translateX(40px);
	/* Відрегульована середня позиція */
}

body.night-theme #theme-toggle-button {
	transform: translateX(80px);
	/* Відрегульована кінцева позиція */
}

/* Мобільна версія */
@media (max-width: 768px) {
	.theme-toggle {
		padding: 5px;
		margin-right: 10px;
		/* Відступ справа на мобільних */
	}

	.theme-slider {
		width: 40px;
		height: 120px;
		margin: 0;
		/* Скидаємо відступи */
	}

	#theme-toggle-button {
		left: 50%;
		transform: translateX(-50%);
		/* Центруємо по горизонталі */
		top: 4px;
		/* Початкова позиція зверху */
	}

	/* Оновлені позиції для вертикального перемикача */
	body.day-theme #theme-toggle-button {
		transform: translate(-50%, 0);
	}

	body.gray-theme #theme-toggle-button {
		transform: translate(-50%, 40px);
	}

	body.night-theme #theme-toggle-button {
		transform: translate(-50%, 80px);
	}

	.theme-labels {
		top: 50%;
		transform: translateY(-50%);
		right: calc(100% + 8px);
		height: auto;
	}
}

/* Оновлена мобільна версія з центруванням */
@media (max-width: 768px) {
	.theme-toggle {
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 5px;
		margin: 0;
		height: 100%;
	}

	.theme-slider {
		width: auto;
		height: auto;
		background: none !important;
		border: none !important;
		box-shadow: none !important;
		padding: 0;
		margin: 0;
	}

	#theme-toggle-button {
		position: relative;
		transform: none !important;
		width: 36px;
		height: 36px;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.slider-thumb {
		width: 36px;
		height: 36px;
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		margin: auto;
	}

	/* Оновлені стилі для іконки користувача на мобільних */
	.header-user {
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 0 10px;
	}

	.header-user img {
		width: 36px;
		height: 36px;
	}

	/* Адаптивні кольори для мобільної версії */
	body.day-theme .slider-thumb {
		background: #ffd700;
		color: #333;
		box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
	}

	body.gray-theme .slider-thumb {
		background: #808080;
		color: #fff;
		box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
	}

	body.night-theme .slider-thumb {
		background: #2c3e50;
		color: #fff;
		box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
	}

	/* Покращена анімація натискання */
	.slider-thumb:active {
		transform: scale(0.9);
		box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
	}
}

/* Стилі для футера в різних темах */
body.day-theme footer {
	background-color: #ffffff;
	color: #000000;
	border-top: 1px solid #e0e0e0;
}

body.gray-theme footer {
	background-color: #e0e0e0;
	color: #333333;
	border-top: 1px solid #cccccc;
}

body.night-theme footer {
	background-color: var(--background-color);
	color: var(--text-color);
	border-top: 1px solid var(--border-color);
}

/* Оновлені стилі для іконок користувача */
.light-theme-icon,
.dark-theme-icon {
	transition: opacity 0.3s ease;
}

body.day-theme .light-theme-icon,
body.gray-theme .light-theme-icon {
	display: inline-block !important;
	opacity: 1;
}

body.day-theme .dark-theme-icon,
body.gray-theme .dark-theme-icon {
	display: none !important;
	opacity: 0;
}

body.night-theme .light-theme-icon {
	display: none !important;
	opacity: 0;
}

body.night-theme .dark-theme-icon {
	display: inline-block !important;
	opacity: 1;
}

/* Стилі для модального вікна в різних темах */
body.day-theme .modal-content {
	background-color: #ffffff;
	color: #000000;
	border: 1px solid #e0e0e0;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	width: 90%;
}

body.gray-theme .modal-content {
	background-color: #e0e0e0;
	color: #333333;
	border: 1px solid #cccccc;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);
	width: 90%;
}

body.night-theme .modal-content {
	background-color: var(--modal-bg);
	color: var(--text-color);
	border: 1px solid var(--border-color);
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
	width: 90%;
}

/* Стилі для елементів всередині модального вікна */
body.night-theme .modal-content input,
body.night-theme .modal-content textarea,
body.night-theme .modal-content select {
	background-color: var(--input-bg);
	color: var(--text-color);
	border: 1px solid var(--border-color);
	width: 90%;
}

body.gray-theme .modal-content input,
body.gray-theme .modal-content textarea,
body.gray-theme .modal-content select {
	background-color: #f0f0f0;
	color: #333333;
	border: 1px solid #cccccc;
	width: 90%;
}

/* Кнопки в модальному вікні */
body.night-theme .modal-content button {
	background-color: #2c3e50;
	color: #ffffff;
	border: 1px solid #34495e;
}

body.gray-theme .modal-content button {
	background-color: #808080;
	color: #ffffff;
	border: 1px solid #707070;
}

/* Анімація для модального вікна */
.modal-content {
	transition: all 0.3s ease;
}

/* Loading Screen Styles */
#loading-screen {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 9999;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	transition: opacity 0.5s ease-out;
}

/* Theme-specific loading screen styles */
body.day-theme #loading-screen {
	background-color: #ffffff;
	color: #333333;
}

body.evening-theme #loading-screen {
	background-color: #2c3e50;
	color: #ecf0f1;
}

body.night-theme #loading-screen {
	background-color: var(--background-color);
	color: var(--text-color);
}

.spinner {
	width: 50px;
	height: 50px;
	border: 5px solid #f3f3f3;
	border-radius: 50%;
	border-top-color: #4a90e2;
	animation: spin 1s linear infinite;
}

/* Theme-specific spinner styles */
body.day-theme .spinner {
	border-color: #f3f3f3;
	border-top-color: #4a90e2;
}

body.evening-theme .spinner {
	border-color: #34495e;
	border-top-color: #3498db;
}

body.night-theme .spinner {
	border-color: var(--border-color);
	border-top-color: var(--button-color);
}

.loading-title {
	margin-top: 20px;
	font-size: 24px;
	font-weight: bold;
}

@keyframes spin {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

/* Modal styles */
.modal {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.7);
	z-index: 1000;
	backdrop-filter: blur(5px);
	display: flex;
	align-items: center;
	justify-content: center;
}

.modal-content {
	position: relative;
	background-color: #1a1a1a;
	margin: auto;
	padding: 0;
	border-radius: 15px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
	width: 90%;
	max-width: 400px;
	max-height: 90vh;
	overflow-y: auto;

	/* Уберіть будь-які transform або position, які можуть зсувати вікно */
	transform: none;
	/* top: 50%; left: 50%; transform: translate(-50%, -50%); - ВИДАЛІТЬ такі стилі */
}

/* Оптимізовані стилі для форм */
.modal input[type="text"],
.modal input[type="email"],
.modal input[type="password"] {
	width: 100%;
	height: 40px;
	padding: 0 12px;
	margin: 8px 0;
	border-radius: 8px;
	border: 1px solid var(--border-color, #ddd);
}

/* Медіа-запити для різних екранів */
@media (max-width: 480px) {
	.modal-content {
		width: 95%;
		padding: 20px;
		margin: 10px;
	}

	.modal input[type="text"],
	.modal input[type="email"],
	.modal input[type="password"] {
		font-size: 16px;
	}

	.form-group {
		margin-bottom: 15px;
	}
}

@media (max-width: 360px) {
	.modal-content {
		width: 100%;
		padding: 15px;
		margin: 5px;
		border-radius: 12px;
	}
}

/* Адаптивна висота контенту */
.tab-content {
	flex: 1;
	overflow-y: auto;
	padding-right: 10px;
	margin-bottom: 15px;
}

/* Стилізація скроллбара */
.tab-content::-webkit-scrollbar {
	width: 6px;
}

.tab-content::-webkit-scrollbar-track {
	background: transparent;
}

body.day-theme .tab-content::-webkit-scrollbar-thumb {
	background-color: #e0e0e0;
	border-radius: 3px;
}

body.evening-theme .tab-content::-webkit-scrollbar-thumb {
	background-color: #34495e;
	border-radius: 3px;
}

body.night-theme .tab-content::-webkit-scrollbar-thumb {
	background-color: var(--button-color);
	border-radius: 3px;
}

/* Медіа-запити для різних екранів */
@media (max-height: 700px) {
	.modal-content {
		margin: 10px auto;
		max-height: 95vh;
	}
}

@media (max-width: 480px) {
	.modal-content {
		width: 95%;
		padding: 20px;
		margin: 10px;
	}

	.tab-button {
		padding: 8px 15px;
		font-size: 14px;
	}
}

/* Покращені стилі для кнопок в модальному вікні */
.modal-tabs {
	margin-bottom: 15px;
	padding: 5px;
	background: var(--tab-bg);
	border-radius: 12px;
	display: flex;
	gap: 8px;
}

/* Оновлені змінні для тем */
body.day-theme {
	--tab-bg: #f5f5f5;
	--input-focus: #4a90e2;
}

body.evening-theme {
	--tab-bg: #243342;
	--input-focus: #3498db;
}

body.night-theme {
	--tab-bg: var(--card-bg);
	--input-focus: var(--button-color);
}

/* Покращені стилі для інпутів */
.modal input[type="text"],
.modal input[type="email"],
.modal input[type="password"] {
	margin: 8px 0;
	padding: 12px;
	border-radius: 8px;
	transition: all 0.3s ease;
}

.modal input:focus {
	outline: none;
	border-color: var(--input-focus);
	box-shadow: 0 0 0 2px rgba(74, 144, 226, 0.2);
}

/* Social login buttons */
.social-login-buttons {
	display: flex;
	gap: 10px;
	margin: 15px 0;
}

.social-login-button {
	flex: 1;
	padding: 10px;
	border: none;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	cursor: pointer;
	transition: all 0.3s ease;
	font-weight: 500;
}

/* Facebook button */
body.day-theme .facebook-login {
	background: #1877f2;
	color: white;
}

body.evening-theme .facebook-login {
	background: #3b5998;
	color: white;
}

body.night-theme .facebook-login {
	background: var(--button-color);
	color: (var, --text-color)
}

/* Google button */
body.day-theme .google-login {
	background: #ffffff;
	border: 1px solid #dadce0;
	color: #3c4043;
}

body.evening-theme .google-login {
	background: #34495e;
	border: 1px solid #2c3e50;
	color: #ecf0f1;
}

body.night-theme .google-login {
	background: var(--card-bg);
	border: 1px solid var(--border-color);
	color: var(--button-color);
}

/* Hover effects */
.social-login-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

/* Tab content styles */
.tab-content {
	margin-top: 20px;
}

body.day-theme .tab-content {
	color: #333;
}

body.evening-theme .tab-content {
	color: #ecf0f1;
}

body.night-theme .tab-content {
	color: var(--text-color);
}

/* Scrollbar styles for modal */
.modal-content::-webkit-scrollbar {
	width: 8px;
}

.modal-content::-webkit-scrollbar-track {
	background: transparent;
}

.modal-content::-webkit-scrollbar-thumb {
	background-color: var(--accent-color);
	border-radius: 4px;
}

/* Theme variables */
:root {
	--accent-color: #4a90e2;
}

body.evening-theme {
	--accent-color: #3498db;
}

body.night-theme {
	--accent-color: var(--button-color);
}

/* Social login buttons styles */
.social-login {
	margin: 15px 0;
}

.social-button {
	width: 100%;
	padding: 12px 20px;
	margin: 8px 0;
	border-radius: 8px;
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	transition: transform 0.2s, box-shadow 0.2s;
}

/* Telegram button */
body.day-theme .telegram-button {
	background: #0088cc;
	color: white;
}

body.evening-theme .telegram-button {
	background: #026799;
	color: #ecf0f1;
}

body.night-theme .telegram-button {
	background: var(--button-color);
	color: var(--background-color);
}

/* Facebook button */
body.day-theme .facebook-button {
	background: #1877f2;
	color: white;
}

body.evening-theme .facebook-button {
	background: #3b5998;
	color: #ecf0f1;
}

body.night-theme .facebook-button {
	background: var(--button-color);
	color: (var, --background-color);
}

/* Google button */
body.day-theme .google-button {
	background: #ffffff;
	color: #3c4043;
	border: 1px solid #dadce0;
}

body.evening-theme .google-button {
	background: #34495e;
	color: #ecf0f1;
	border: 1px solid #2c3e50;
}

body.night-theme .google-button {
	background: var(--card-bg);
	color: var(--button-color);
	border: 1px solid var(--border-color);
}

.social-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

/* Modal content updates */
.modal-content {
	padding: 25px;
	border-radius: 12px;
	max-height: 90vh;
	overflow-y: auto;
}

/* Remove close button styles as we're removing it */
.close-modal {
	display: none;
}

/* Оновлені стилі для модального вікна */
.modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 1000;
	backdrop-filter: blur(5px);
	align-items: center;
	justify-content: center;
}

/* Оптимізовані стилі для соціальних кнопок */
.social-button {
	height: 40px;
	margin: 5px 0;
	padding: 0 15px;
}

/* Медіа-запити для різних екранів */
@media (max-width: 480px) {
	.modal-content {
		width: 95%;
		padding: 15px;
		gap: 10px;
	}

	.modal input[type="text"],
	.modal input[type="email"],
	.modal input[type="password"],
	.social-button {
		height: 36px;
	}
}

/* Оновлені стилі для соціальних кнопок */
.social-login-container {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 15px 0;
}

.social-login-button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 12px;
	border-radius: 8px;
	font-weight: 500;
	transition: all 0.3s ease;
	border: none;
	cursor: pointer;
}

/* Специфічні стилі для кожної теми */
body.day-theme .social-login-button {
	background: #f5f5f5;
	color: #333;
	border: 1px solid #e0e0e0;
}

body.evening-theme .social-login-button {
	background: #34495e;
	color: #ecf0f1;
	border: 1px solid #2c3e50;
}

body.night-theme .social-login-button {
	background: var(--card-bg);
	color: var(--button-color);
	border: 1px solid var(--border-color);
}

/* Hover ефекти */
.social-login-button:hover {
	transform: translateY(-2px);
}

body.day-theme .social-login-button:hover {
	background: #e8e8e8;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

body.evening-theme .social-login-button:hover {
	background: #2c3e50;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

body.night-theme .social-login-button:hover {
	background: var(--button-hover-bg);
	box-shadow: 0 2px 8px rgba(46, 204, 113, 0.2);
}

/* Іконки соціальних мереж */
.social-login-button i {
	font-size: 18px;
}

body.day-theme .social-login-button i {
	color: #4a90e2;
}

body.evening-theme .social-login-button i {
	color: #3498db;
}

body.night-theme .social-login-button i {
	color: var(--button-color);
}

/* Стилі для списку пісенника */
ol.songbook-list {
	list-style: none;
	padding: 0;
	margin: 20px 0;
}

ol.songbook-list>li {
	padding: 15px;
	margin: 10px 0;
	border-radius: 8px;
	transition: all 0.3s ease;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

/* День */
body.day-theme ol.songbook-list>li {
	background: #ffffff;
	border: 1px solid #e0e0e0;
	color: #333333;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

body.day-theme ol.songbook-list>li:hover {
	background: #f8f9fa;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Вечір */
body.evening-theme ol.songbook-list>li {
	background: #34495e;
	border: 1px solid #2c3e50;
	color: #ecf0f1;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

body.evening-theme ol.songbook-list>li:hover {
	background: #2c3e50;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}

/* Ніч */
body.night-theme ol.songbook-list>li {
	background: var(--card-bg);
	border: 1px solid var(--border-color);
	color: var(--text-color);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

body.night-theme ol.songbook-list>li:hover {
	background: var(--button-hover-bg);
	box-shadow: 0 4px 8px rgba(46, 204, 113, 0.2);
	border-color: var(--button-color);
}

/* Стилі для посилань в списку пісенника */
ol.songbook-list>li .song-title {
	text-decoration: none;
	transition: all 0.3s ease;
}

/* День */
body.day-theme ol.songbook-list>li .song-title {
	color: #4a90e2;
}

body.day-theme ol.songbook-list>li .song-title:hover {
	color: #357abd;
	text-decoration: underline;
}

/* Вечір */
body.evening-theme ol.songbook-list>li .song-title {
	color: #3498db;
}

body.evening-theme ol.songbook-list>li .song-title:hover {
	color: #2980b9;
	text-decoration: underline;
}

/* Ніч */
body.night-theme ol.songbook-list>li .song-title {
	color: var(--button-color);
}

body.night-theme ol.songbook-list>li .song-title:hover {
	color: #27ae60;
	text-decoration: underline;
}

/* Theme info styles */
.theme-info {
	margin-top: 8px;
	text-align: center;
	font-size: 12px;
	opacity: 0.8;
}

.current-theme {
	display: block;
	margin-bottom: 4px;
}

.next-change {
	display: block;
	font-size: 11px;
	color: var(--secondary-text-color);
}

@media (max-width: 768px) {
	.theme-info {
		display: none;
	}
}

/* User Settings Styles */
.settings-container {
	max-width: 800px;
	margin: 20px auto;
	padding: 20px;
	border-radius: 8px;
	transition: all 0.3s ease;
}

.settings-section {
	margin-bottom: 30px;
}

.settings-section h3 {
	margin-bottom: 15px;
	font-size: 18px;
	font-weight: 500;
}

.settings-group {
	background: var(--card-bg);
	padding: 20px;
	border-radius: 8px;
	margin-bottom: 15px;
	border: 1px solid var(--border-color);
}

.setting-item {
	display: flex;
	align-items: center;
	margin-bottom: 15px;
}

.setting-label {
	flex: 1;
	font-weight: 500;
}

.setting-control {
	flex: 2;
}

/* Theme-specific styles for settings */
body.day-theme .settings-container {
	background: #ffffff;
	border: 1px solid #e0e0e0;
	--card-bg: #f8f9fa;
	--border-color: #e0e0e0;
}

body.gray-theme .settings-container {
	background: #e0e0e0;
	border: 1px solid #cccccc;
	--card-bg: #d4d4d4;
	--border-color: #cccccc;
}

body.night-theme .settings-container {
	background: var(--background-color);
	border: 1px solid var(--border-color);
	--card-bg: var(--card-bg);
	--border-color: var(--border-color);
}

/* Form controls */
.settings-container select,
.settings-container input[type="checkbox"] {
	padding: 8px;
	border-radius: 4px;
	border: 1px solid var(--border-color);
	background: var(--input-bg, #fff);
	color: var(--text-color);
}

.settings-container .save-button {
	background: var(--button-color);
	color: white;
	padding: 10px 20px;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	font-size: 16px;
	transition: all 0.3s ease;
}

.settings-container .save-button:hover {
	background: var(--button-hover-color);
	transform: translateY(-1px);
}

.category-card {
	background-color: var(--card-bg);
	border: 1px solid var(--border-color);
	border-radius: 8px;
	padding: 20px;
	margin: 10px 0;
	transition: all 0.3s ease;
}