:root {
	--background-color: #f1f3f5;
	--text-color: #2c3e50;
	--column-background: #f8f9fa;
	--card-background: #ffffff;
	--card-text-color: #7f8c8d;
	--border-color: #bdc3c7;
	--shadow-color: rgba(0,0,0,0.1);
	--scrollbar-thumb: #bdc3c7;
	--scrollbar-track: #ecf0f1;
	--count-tag-background: #0090ff;
	--count-tag-text-color: #fff;
	--menu-item-hover-bg: #f0f0f0;
	--modal-overlay-bg: rgba(0,0,0,0.5);
	--modal-content-bg: #ffffff;
}

body {
	font-family: 'Arial', sans-serif;
	background-color: var(--background-color);
	color: var(--text-color);
	margin: 0;
	padding: 0;
	transition: background-color 0.3s, color 0.3s;
}

.kanban-board {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	padding: 20px;
	gap: 20px;
	overflow-x: auto;
	scroll-behavior: smooth;
}

.kanban-column {
	flex: 0 0 auto;
	width: 300px;
	background-color: var(--column-background);
	border-radius: 8px;
	padding: 15px;
	box-shadow: 0 4px 8px var(--shadow-color);
	height: 82vh;
	overflow-y: auto;
	overflow-x: hidden;
	position: relative;
	transition: background-color 0.3s, box-shadow 0.3s;
}

.column-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 15px;
}

.kanban-column h2 {
	margin: 0;
	color: var(--text-color);
	font-size: 1.5rem;
	transition: color 0.3s;
}

.count-tag {
	background-color: var(--background-color);
	color: var(--text-color);
	padding: 5px 10px;
	font-weight: bold;
	min-width: 14px;
	text-align: center;
	border-radius: 8px;
	font-size: 12px;
	opacity: 0.8;
}

.kanban-card {
	background-color: var(--card-background);
	border-radius: 8px;
	padding: 15px;
	margin-bottom: 10px;
	box-shadow: 0 2px 5px var(--shadow-color);
	cursor: grab;
	color: var(--card-text-color);
	display: flex;
	flex-direction: column;
}

.kanban-card h3 {
	margin: 0 0 10px;
	font-size: 1.25rem;
	color: var(--text-color);
	opacity: 0.8;
}

.kanban-card p {
	margin: 5px 0;
	font-size: 0.9rem;
	color: var(--card-text-color);
}

.status-tag {
	display: inline-block;
	padding: 5px 10px;
	border-radius: 50px;
	color: white;
	font-size: 0.8rem;
	margin-top: 5px;
	text-transform: capitalize;
	max-width: 1px;
}

.dark-blue {
	background-color: #34495e;
}

.dark-cyan {
	background-color: #16a085;
}

.dark-pink {
	background-color: #e84393;
}

.dark-orange {
	background-color: #e67e22;
}

.dark-purple {
	background-color: #8e44ad;
}

.dark-green {
	background-color: #27ae60;
}

.border-dark-blue {
	border-top: 4px solid #34495e;
}

.border-dark-cyan {
	border-top: 4px solid #16a085;
}

.border-dark-pink {
	border-top: 4px solid #e84393;
}

.border-dark-orange {
	border-top: 4px solid #e67e22;
}

.border-dark-purple {
	border-top: 4px solid #8e44ad;
}

.border-dark-green {
	border-top: 4px solid #27ae60;
}

.kanban-column::-webkit-scrollbar {
	width: 6px;
}

.kanban-column::-webkit-scrollbar-thumb {
	background-color: var(--scrollbar-thumb);
	border-radius: 10px;
}

.kanban-column::-webkit-scrollbar-track {
	background-color: var(--scrollbar-track);
}

.kanban-board::-webkit-scrollbar {
	width: 6px;
}

.kanban-board::-webkit-scrollbar-thumb {
	background-color: var(--scrollbar-thumb);
	border-radius: 10px;
}

.kanban-board::-webkit-scrollbar-track {
	background-color: var(--scrollbar-track);
}

.refresh-container {
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 1000;
}

.refresh-button {
	background-color: var(--count-tag-background);
	color: var(--count-tag-text-color);
	border: none;
	padding: 15px;
	font-size: 16px;
	border-radius: 50%;
	cursor: pointer;
	transition: all 0.3s ease;
	box-shadow: 0 4px 6px var(--shadow-color);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
}

.refresh-button:hover {
	background-color: var(--count-tag-background);
	box-shadow: 0 6px 8px var(--shadow-color);
	transform: translateY(-2px);
}

.refresh-button:active {
	transform: translateY(1px);
	box-shadow: 0 2px 4px var(--shadow-color);
}

.refresh-button:disabled {
	background-color: var(--border-color);
	cursor: not-allowed;
	box-shadow: none;
	transform: none;
}

#loading-screen {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, var(--shadow-color), var(--scrollbar-thumb));
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 9999;
	font-family: 'Arial', sans-serif;
	color: white;
}

.loader-container {
	text-align: center;
}

.loader {
	display: inline-block;
	width: 80px;
	height: 80px;
	border: 4px solid rgba(255,255,255,0.3);
	border-radius: 50%;
	border-top-color: #fff;
	animation: spin 1s ease-in-out infinite;
}

#loading-text {
	margin-top: 20px;
	font-size: 1.2em;
	font-weight: 300;
	opacity: 0.9;
}

.kanban-card {
	position: relative;
}

.card-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
}

.menu-button {
	background: none;
	border: none;
	cursor: pointer;
	color: var(--text-color);
	position: relative;
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.menu-button i {
	color: var(--text-color);
}

.menu-button:hover {
	color: var(--count-tag-background);
}

.menu-button::before {
	content: '';
	position: absolute;
	top: -8px;
	right: -8px;
	bottom: -8px;
	left: -8px;
}

.card-menu {
	position: absolute;
	top: 32px;
	right: 0;
	background-color: var(--card-background);
	border: 1px solid var(--border-color);
	z-index: 1000;
	min-width: 150px;
	box-shadow: 0 2px 5px var(--shadow-color);
}

.menu-item {
	padding: 10px;
	cursor: pointer;
	color: var(--text-color);
}

.menu-item:hover {
	background-color: var(--menu-item-hover-bg);
}

.modal-overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: var(--modal-overlay-bg);
	z-index: 200;
	display: flex;
	align-items: center;
	justify-content: center;
}

.modal-content {
	background: var(--modal-content-bg);
	padding: 20px;
	width: 300px;
	border-radius: 5px;
	text-align: center;
	color: var(--text-color);
}

.modal-content button {
	background-color: var(--primary-color,#3498db);
	color: var(--count-tag-text-color,#fff);
	border: 1px solid var(--border-color);
	padding: 10px 20px;
	border-radius: 5px;
	cursor: pointer;
	font-size: 16px;
	transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.modal-content button:hover {
	background-color: #006cd5;
	box-shadow: 0 4px 6px var(--shadow-color);
}

.modal-content button:focus {
	outline: none;
	box-shadow: 0 0 0 3px rgba(1,127,248,0.5);
}

.column-list {
	list-style: none;
	padding: 0;
	margin: 20px 0;
}

.column-list li {
	padding: 10px;
	cursor: pointer;
	border-bottom: 1px solid var(--border-color);
	color: var(--text-color);
}

.column-list li:hover {
	background-color: var(--menu-item-hover-bg);
}

.sortable-ghost {
	opacity: 0.5;
	background-color: var(--column-background);
	border: 1.5px dashed var(--text-color);
	box-shadow: 0 4px 6px var(--shadow-color);
	cursor: grab;
}

.tag-container {
	display: flex;
	gap: 5px;
	margin-top: 10px;
	justify-content: flex-end;
}

.tag-circle {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	display: inline-block;
	cursor: pointer;
	opacity: 0.5;
}

.tag-circle:hover {
	box-shadow: 0 0 5px rgba(0,0,0,0.5);
}

.kanban-card {
	cursor: grab;
	user-select: none;
}

.kanban-card:active {
	cursor: grabbing;
}

body.dragging * {
	cursor: grabbing !important;
}

.kanban-card {
	cursor: grab;
	user-select: none;
	touch-action: none;
}

.sortable-drag, .sortable-chosen, .sortable-ghost, .kanban-card:active {
	cursor: grabbing !important;
}

.download-container {
	position: fixed;
	bottom: 20px;
	right: 90px;
	z-index: 1000;
}

.download-button {
	background-color: rgba(0,123,255,0.1);
	border: none;
	border-radius: 50%;
	padding: 10px;
	color: white;
	cursor: pointer;
	transition: background-color 0.3s ease;
}

.download-button:hover {
	background-color: var(--count-tag-background);
	box-shadow: 0 6px 8px var(--shadow-color);
	transform: translateY(-2px);
}

.kanban-card {
	position: relative;
	/*transition: transform 0.3s ease, box-shadow 0.3s ease;*/
}

.kanban-card.highlighted-card {
	position: relative;
	z-index: 10;
	transform: scale(1.03);
	box-shadow: 0 0 10px rgba(0,0,0,0.15);
}

.kanban-card.highlighted-card::before {
	content: '';
	position: absolute;
	top: -5px;
	left: -5px;
	right: -5px;
	bottom: -5px;
	border: 2px solid #ff9900;
	border-radius: 5px;
	pointer-events: none;
	z-index: -1;
}

#tabs-container {
	margin-bottom: 20px;
}

.kanban-tabs {
	display: flex;
	list-style: none;
	padding: 0;
	margin: 0;
	border-bottom: 1px solid #ccc;
	overflow-x: auto;
}

.kanban-tab {
	padding: 10px 20px;
	cursor: pointer;
	border: none;
	background: none;
	outline: none;
	border-bottom: 2px solid transparent;
	font-size: 16px;
	transition: border-color 0.3s;
	flex-shrink: 0;
}

.kanban-tab:hover {
	border-color: #aaa;
}

.kanban-tab.active {
	border-bottom: 2px solid #007bff;
	font-weight: bold;
	color: #007bff;
}

@media (prefers-color-scheme: dark) {
	:root {
		--background-color: #151718;
		--text-color: #d7dbdf;
		--column-background: #1c1f21;
		--card-background: #26292b;
		--card-text-color: #d7dbdf;
		--border-color: #017ff8;
		--shadow-color: rgba(55,158,255,0.1);
		--scrollbar-thumb: #555;
		--scrollbar-track: #1c1f21;
		--count-tag-background: #0090ff;
		--count-tag-text-color: #ffffff;
		--menu-item-hover-bg: #333;
		--modal-overlay-bg: rgba(0,0,0,0.75);
		--modal-content-bg: #26292b;
	}
}

@media (max-width: 768px) {
	.kanban-board {
		flex-wrap: wrap;
		justify-content: space-between;
		padding: 10px;
	}

	.kanban-column {
		max-height: none;
	}
}

@media (prefers-color-scheme: dark) {
	.refresh-button {
		background-color: var(--count-tag-background);
		color: var(--count-tag-text-color);
	}
}

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

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

@keyframes gradient {
	0% {
		background-position: 0% 50%;
	}

	50% {
		background-position: 100% 50%;
	}

	100% {
		background-position: 0% 50%;
	}
}

@media (prefers-color-scheme: dark) {
	.modal-content button {
		background-color: var(--primary-color,#017ff8);
		color: var(--count-tag-text-color);
		border: 1px solid var(--border-color);
	}

	.modal-content button:hover {
		background-color: #006cd5;
		box-shadow: 0 4px 6px var(--shadow-color);
	}
}

@media (prefers-color-scheme: dark) {
	.sortable-ghost {
		background-color: var(--card-background);
		border: 2px dashed var(--text-color);
	}
}