
:root {
	--primary-bg: #0a0a0a;
	--secondary-bg: #1a1a1a;
	--card-bg: linear-gradient(145deg, #2a2a2a, #1a1a1a);
	--text-primary: #ffffff;
	--text-secondary: #e0e0e0;
	--text-muted: #a0a0a0;
	--border-color: #333333;
	--shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
	--shadow-hover: 0 12px 40px rgba(0, 0, 0, 0.4);
	--primary-color: #007bff;
	--success-color: #28a745;
	--warning-color: #ffc107;
	--danger-color: #dc3545;
	--info-color: #17a2b8;
	--bezs-color: #D2B48C;
	--accent-color: #D2B48C;
	--accent-color-dark: #D4B082;
	--accent-color-light: #E6D4B8;
}

/* Téli téma színek */
.winter-theme {
	--primary-bg: #0d1117;
	--secondary-bg: #161b22;
	--card-bg: linear-gradient(145deg, #1c2128, #161b22);
	--text-primary: #f0f6fc;
	--text-secondary: #c9d1d9;
	--text-muted: #8b949e;
	--border-color: #30363d;
	--shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
	--shadow-hover: 0 12px 40px rgba(0, 0, 0, 0.5);
	--primary-color: #58a6ff;
	--success-color: #3fb950;
	--warning-color: #D4B082;
	--danger-color: #f85149;
	--info-color: #58a6ff;
	--bezs-color: #a5d8ff;
	--accent-color: #a5d8ff;
	--accent-color-dark: #79c0ff;
}

.winter-theme .salary-card {
	background: linear-gradient(145deg, #1c2128, #161b22);
}

.winter-theme .week-info {
	background: rgba(88, 166, 255, 0.1);
	border: 1px solid rgba(88, 166, 255, 0.2);
}

.winter-theme .week-type {
	background: linear-gradient(45deg, #58a6ff, #388bfd);
}

.winter-theme .salary-item {
	background: rgba(240, 246, 252, 0.05);
	border: 1px solid rgba(240, 246, 252, 0.1);
}

.winter-theme .salary-item:hover {
	background: rgba(240, 246, 252, 0.08);
	border-color: rgba(240, 246, 252, 0.2);
}

.winter-theme .status-badge {
	background: rgba(63, 185, 80, 0.2);
	border: 1px solid rgba(63, 185, 80, 0.3);
}

.winter-theme .no-salary {
	background: rgba(240, 246, 252, 0.03);
	border: 2px dashed rgba(240, 246, 252, 0.1);
}

.winter-theme .navbar {
	background: rgba(13, 17, 23, 0.95) !important;
}

.winter-theme .header-fade-blur {
	background: linear-gradient(
		to bottom,
		rgba(13, 17, 23, 0.22) 0%,
		rgba(13, 17, 23, 0.1) 42%,
		rgba(13, 17, 23, 0.03) 72%,
		rgba(13, 17, 23, 0) 100%
	);
}

.winter-theme .logo-circle {
	background: linear-gradient(135deg, var(--danger-color), #da3633);
	box-shadow: 0 4px 15px rgba(248, 81, 73, 0.3);
}

.winter-theme .btn-primary {
	background: rgba(88, 166, 255, 0.8);
	border: 2px solid rgba(121, 192, 255, 0.6);
	color: #ffffff;
	box-shadow: 0 0 8px rgba(88, 166, 255, 0.3);
}

.winter-theme .btn-primary:hover {
	background: rgba(121, 192, 255, 0.9);
	border-color: rgba(165, 216, 255, 0.8);
	color: #ffffff;
	box-shadow: 0 0 12px rgba(88, 166, 255, 0.4);
}

.winter-theme .btn-success {
	background: rgba(63, 185, 80, 0.8);
	border: 2px solid rgba(46, 160, 67, 0.6);
	color: #ffffff;
	box-shadow: 0 0 8px rgba(63, 185, 80, 0.3);
}

.winter-theme .btn-success:hover {
	background: rgba(46, 160, 67, 0.9);
	border-color: rgba(35, 134, 54, 0.8);
	color: #ffffff;
	box-shadow: 0 0 12px rgba(63, 185, 80, 0.4);
}

.winter-theme .btn-bezs {
	background: rgba(165, 216, 255, 0.8) !important;
	border: 2px solid rgba(121, 192, 255, 0.6) !important;
	color: #0d1117 !important;
	box-shadow: 0 0 8px rgba(165, 216, 255, 0.3);
}

.winter-theme .btn-bezs:hover {
	background: rgba(121, 192, 255, 0.9) !important;
	border-color: rgba(88, 166, 255, 0.8) !important;
	color: #0d1117 !important;
	box-shadow: 0 0 12px rgba(165, 216, 255, 0.4);
}

.winter-theme .btn-bezs:focus,
.winter-theme .btn-bezs.focus {
	background: rgba(121, 192, 255, 0.9) !important;
	border-color: rgba(88, 166, 255, 0.8) !important;
	color: #0d1117 !important;
	box-shadow: 0 0 12px rgba(165, 216, 255, 0.4);
}

.winter-theme .btn-bezs:active,
.winter-theme .btn-bezs.active {
	background: rgba(88, 166, 255, 0.9) !important;
	border-color: rgba(88, 166, 255, 0.8) !important;
	color: #0d1117 !important;
	box-shadow: 0 0 6px rgba(165, 216, 255, 0.3);
}

.winter-theme .btn-outline-bezs:hover {
	background: rgba(165, 216, 255, 0.9) !important;
	border-color: rgba(121, 192, 255, 0.8) !important;
	color: #0d1117 !important;
	box-shadow: 0 0 12px rgba(165, 216, 255, 0.4);
}

.winter-theme .btn-login {
	background: linear-gradient(180deg, #a5d8ff 0%, #79c0ff 100%) !important;
	border: 1px solid rgba(165, 216, 255, 0.55) !important;
	color: #0d1117 !important;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35) !important;
}

.winter-theme .btn-login:hover {
	background: linear-gradient(180deg, #b6e0ff 0%, #8ecbff 100%) !important;
	border-color: rgba(165, 216, 255, 0.75) !important;
	color: #0d1117 !important;
}

.winter-theme .progress-modern-bar {
	background: linear-gradient(90deg, #3fb950, #D4B082);
	box-shadow: 0 0 6px rgba(63, 185, 80, 0.4);
}

.winter-theme .cta-section {
	background: linear-gradient(135deg, rgba(22, 27, 34, 0.8), rgba(13, 17, 23, 0.9));
}

.winter-theme .cta-section::before {
	background: linear-gradient(180deg, var(--accent-color), var(--accent-color-dark));
	box-shadow: none;
}

.winter-theme .features-section {
	background: rgba(22, 27, 34, 0.5);
}

.winter-theme .features-section::before {
	background: linear-gradient(180deg, var(--accent-color), var(--accent-color-dark));
	box-shadow: none;
}

.winter-theme .hero-section {
	background: linear-gradient(135deg, rgba(22, 27, 34, 0.8), rgba(13, 17, 23, 0.9));
}

.winter-theme .hero-section::before {
	background: linear-gradient(180deg, var(--accent-color), var(--accent-color-dark));
	box-shadow: none;
}

.winter-theme .service-card::before {
	background: var(--accent-color);
}

.winter-theme .service-card::after {
	background: linear-gradient(
		to top,
		transparent 0%,
		transparent 42%,
		rgba(220, 240, 255, 0.95) 50%,
		transparent 58%,
		transparent 100%
	);
	background-size: 100% 220%;
	background-repeat: no-repeat;
	background-position: 0 100%;
}

.winter-theme .modal-content::before {
	background: linear-gradient(90deg, 
		var(--accent-color) 0%, 
		var(--accent-color-dark) 50%, 
		var(--accent-color) 100%);
}

.winter-theme .auth-card {
	background:
		linear-gradient(160deg, rgba(28, 33, 40, 0.94) 0%, rgba(13, 17, 23, 0.97) 100%);
	border-color: rgba(165, 216, 255, 0.22);
}

.winter-theme .auth-card__aside {
	background:
		linear-gradient(145deg, rgba(88, 166, 255, 0.14) 0%, rgba(0, 0, 0, 0.35) 55%, rgba(0, 0, 0, 0.5) 100%);
	border-right-color: rgba(165, 216, 255, 0.2);
}

.winter-theme .auth-card__aside::before {
	background: linear-gradient(180deg, #a5d8ff 0%, #79c0ff 50%, #58a6ff 100%);
}

.winter-theme .auth-brand-mark {
	border-color: rgba(165, 216, 255, 0.28);
}

.winter-theme .auth-card__aside .auth-brand-mark.auth-brand-mark--lg {
	border: none;
	background: transparent;
}

.winter-theme .animated-stripe::before {
	background: linear-gradient(180deg, #f85149, #d29922);
	box-shadow: none;
}

.winter-theme .auth-input:focus {
	border-color: rgba(165, 216, 255, 0.65);
	box-shadow: 0 0 0 3px rgba(88, 166, 255, 0.2);
}

.winter-theme .admin-form .form-control:focus,
.winter-theme .admin-form .form-select:focus {
	border-color: var(--primary-color);
	box-shadow: 0 0 0 0.2rem rgba(88, 166, 255, 0.25);
}

.winter-theme .modal .form-control:focus {
	border-color: var(--primary-color);
	box-shadow: 0 0 0 0.2rem rgba(88, 166, 255, 0.25) !important;
}

.winter-theme .hero-text-overlay::before {
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 0 20px rgba(88, 166, 255, 0.1) !important;
}

.winter-theme .btn-warning {
	background: rgba(210, 153, 34, 0.8);
	border: 2px solid rgba(181, 132, 31, 0.6);
	color: #1a1a1a;
	box-shadow: 0 0 8px rgba(210, 153, 34, 0.3);
}

.winter-theme .btn-warning:hover {
	background: rgba(181, 132, 31, 0.9);
	border-color: rgba(158, 106, 28, 0.8);
	color: #1a1a1a;
	box-shadow: 0 0 12px rgba(210, 153, 34, 0.4);
}

.winter-theme .auth-brand-name,
.winter-theme .auth-footer-link a:hover {
	color: var(--bezs-color);
}

.winter-theme .password-toggle:hover {
	background: rgba(88, 166, 255, 0.12);
}

.winter-theme .password-toggle.active {
	color: var(--bezs-color);
}

.winter-theme .auth-link {
	color: var(--primary-color);
}

.winter-theme .auth-link:hover {
	color: var(--text-primary);
	background: rgba(88, 166, 255, 0.1);
}

.winter-theme .footer .logo-circle {
	background: linear-gradient(135deg, var(--warning-color), #b5841f);
}

.winter-theme .mechanics-preview {
	background: linear-gradient(145deg, rgba(28, 33, 40, 0.9), rgba(22, 27, 34, 0.95));
	border: 2px solid var(--accent-color);
	box-shadow: 
		0 8px 32px rgba(0, 0, 0, 0.4),
		0 0 0 1px rgba(165, 216, 255, 0.3),
		inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.winter-theme .mechanics-icon {
	background: linear-gradient(135deg, var(--accent-color), var(--accent-color-dark));
	box-shadow: 0 4px 15px rgba(165, 216, 255, 0.3);
}

.winter-theme .service-icon {
	background: linear-gradient(135deg, var(--accent-color), var(--accent-color-dark));
	box-shadow: 0 6px 20px rgba(165, 216, 255, 0.3);
}

.winter-theme .feature-icon {
	background: linear-gradient(135deg, var(--accent-color), var(--accent-color-dark));
	box-shadow: 0 4px 15px rgba(165, 216, 255, 0.3);
}

.winter-theme .admin-grid-item i {
	background: linear-gradient(135deg, var(--accent-color), var(--accent-color-dark));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.winter-theme .admin-grid-item:hover {
	border-color: var(--primary-color);
}

.winter-theme .week-day-btn.active {
	border-color: var(--primary-color);
	box-shadow: 0 0 0 2px rgba(88, 166, 255, 0.25);
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	background: var(--primary-bg);
	color: var(--text-primary);
	font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
	line-height: 1.6;
	font-size: 16px;
	font-display: swap;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 1rem;
}

@media (min-width: 2560px) {
	.container {
		max-width: 1800px;
	}
}

.salary-card {
	background: linear-gradient(145deg, #2a2a2a, #1a1a1a);
	border-radius: 15px;
	padding: 2rem;
	border: 1px solid var(--border-color);
	box-shadow: var(--shadow);
}

.week-info {
	background: rgba(0, 123, 255, 0.1);
	border-radius: 10px;
	padding: 1rem;
	border: 1px solid rgba(0, 123, 255, 0.2);
}

.week-type {
	background: linear-gradient(45deg, #007bff, #0056b3);
	border: none;
	padding: 0.5rem 1rem;
	font-weight: 600;
}

.week-dates {
	font-size: 0.9rem;
	color: var(--text-secondary);
}

.salary-details {
	margin-top: 1.5rem;
}

.salary-item {
	background: rgba(255, 255, 255, 0.05);
	border-radius: 10px;
	padding: 1.5rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	transition: all 0.3s ease;
}

.salary-item:hover {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.2);
	transform: translate3d(0, -2px, 0);
}

.salary-label {
	color: var(--text-secondary);
	font-size: 0.9rem;
	font-weight: 500;
	margin-bottom: 0.5rem;
	display: flex;
	align-items: center;
}

.salary-amount {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--text-primary);
	margin-bottom: 0.5rem;
}

.salary-amount.current {
	color: var(--success-color);
}

.salary-amount.recorded {
	color: var(--primary-color);
}

.salary-hours {
	font-size: 1.3rem;
	font-weight: 600;
	color: var(--warning-color);
}

.salary-position {
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--text-primary);
}

.status-badge {
	display: inline-block;
	margin-left: 0.5rem;
	font-size: 0.8rem;
	padding: 0.25rem 0.5rem;
	border-radius: 5px;
	background: rgba(40, 167, 69, 0.2);
	color: var(--success-color);
	border: 1px solid rgba(40, 167, 69, 0.3);
}

.no-salary {
	background: rgba(255, 255, 255, 0.03);
	border-radius: 15px;
	border: 2px dashed rgba(255, 255, 255, 0.1);
}

.no-salary-icon {
	opacity: 0.5;
}

@media (max-width: 768px) {
	.salary-card {
		padding: 1rem;
	}
	
	.salary-item {
		padding: 1rem;
	}
	
	.salary-amount {
		font-size: 1.2rem;
	}
	
	.week-info {
		padding: 0.75rem;
	}
	
	.week-type {
		font-size: 0.8rem;
		padding: 0.4rem 0.8rem;
	}
}


.navbar {
	background: rgba(10, 10, 10, 0.98) !important;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-bottom: 3px solid var(--accent-color);
	padding: 1.5rem 0;
	transition: all 0.3s ease;
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	z-index: 1030 !important;
}

/* Blur a háttér fölött, tartalom alatt, fejléc mögött (z: 3 < main 4 < nav 1030) */
.header-fade-blur {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: 380px;
	pointer-events: none;
	z-index: 3;
	background: linear-gradient(
		to bottom,
		rgba(10, 10, 10, 0.22) 0%,
		rgba(10, 10, 10, 0.1) 42%,
		rgba(10, 10, 10, 0.03) 72%,
		rgba(10, 10, 10, 0) 100%
	);
}

.header-fade-blur::before,
.header-fade-blur::after {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
}

/* Erősebb blur felül, hamarabb elhal */
.header-fade-blur::before {
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	-webkit-mask-image: linear-gradient(
		to bottom,
		#000 0%,
		rgba(0, 0, 0, 0.65) 30%,
		rgba(0, 0, 0, 0.2) 58%,
		transparent 78%
	);
	mask-image: linear-gradient(
		to bottom,
		#000 0%,
		rgba(0, 0, 0, 0.65) 30%,
		rgba(0, 0, 0, 0.2) 58%,
		transparent 78%
	);
}

/* Gyengébb blur, hosszabban húzódik */
.header-fade-blur::after {
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
	-webkit-mask-image: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0.55) 0%,
		rgba(0, 0, 0, 0.35) 40%,
		rgba(0, 0, 0, 0.12) 70%,
		transparent 100%
	);
	mask-image: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0.55) 0%,
		rgba(0, 0, 0, 0.35) 40%,
		rgba(0, 0, 0, 0.12) 70%,
		transparent 100%
	);
}

/* Kezdőlapon a fade blur a nav progresssel jön be */
body.page-home .header-fade-blur {
	display: block;
	opacity: var(--apms-nav-t, 0);
	visibility: visible;
	transition: none;
	contain: strict;
}

/* Amíg átlátszó (t≈0), ne fusson a drága backdrop-filter — vizuálisan ugyanaz */
body.page-home:not(.apms-nav-scrolled) .header-fade-blur::before,
body.page-home:not(.apms-nav-scrolled) .header-fade-blur::after {
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

body:not(.panel-mode):not(.page-home) > .header-fade-blur {
	opacity: calc(0.85 + (0.15 * var(--apms-nav-t, 0)));
}

/* Egységes publikus oldalfejléc (Jelentkezés stílus + magasság) */
.page-hero {
	text-align: center;
	margin-top: 0 !important;
	padding-top: 1rem !important;
	margin-bottom: 2rem;
}

@media (min-width: 768px) {
	.page-hero {
		margin-bottom: 2.75rem;
	}
}

.page-kicker {
	color: var(--accent-color, #D2B48C);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: 0.5rem;
}

.page-title {
	color: #fff;
	font-size: clamp(1.75rem, 3vw, 2.4rem);
	font-weight: 700;
	margin-bottom: 0.5rem;
	line-height: 1.2;
}

.page-lead {
	color: rgba(255, 255, 255, 0.65);
	font-size: 1.05rem;
	margin-bottom: 0;
	max-width: 42rem;
	margin-left: auto;
	margin-right: auto;
}

.winter-theme .page-kicker {
	color: var(--accent-color);
}

/* Beágyazott CMS HTML (<style> body { padding: 2rem }) ne tolja le a fejlécet */
body:has(.information-page),
body:has(.about-page),
body:has(.application-page),
body:has(.page-hero) {
	padding-top: 0 !important;
}

.information-page,
.about-page,
.application-page {
	padding-top: 0 !important;
}

.navbar-brand {
	font-weight: 700;
	font-size: 1.5rem;
}

.logo-circle {
	width: 40px;
	height: 40px;
	background: linear-gradient(135deg, var(--danger-color), #b91c1c);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 15px rgba(220, 53, 69, 0.3);
}

.brand-text {
	background: linear-gradient(135deg, var(--text-primary), var(--text-secondary));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	font-weight: 800;
}

.navbar-nav .nav-link {
	color: var(--text-secondary) !important;
	font-weight: 500;
	transition: color 0.3s ease, background-color 0.3s ease;
	position: relative;
	padding: 0.5rem 1rem;
	border-radius: 8px;
}

.navbar-nav .nav-link:hover {
	color: var(--text-primary) !important;
	background: rgba(210, 180, 140, 0.1);
}

.navbar-nav .nav-link::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 0;
	height: 2px;
	background: linear-gradient(90deg, 
		var(--accent-color) 0%, 
		var(--accent-color-dark) 50%, 
		var(--accent-color) 100%);
	background-size: 200% 100%;
	animation: none;
	box-shadow: 
		0 0 6px rgba(210, 180, 140, 0.5),
		0 1px 3px rgba(210, 180, 140, 0.3),
		0 0 10px rgba(212, 176, 130, 0.3);
	transition: all 0.3s ease;
	transform: translateX(-50%);
}

.navbar-nav .nav-link:hover::after {
	width: 80%;
}

.navbar-nav .nav-link:hover::after {
	animation: moveStripe 3s linear infinite;
}

.dropdown-menu {
	background: rgba(26, 26, 26, 0.98);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid var(--border-color);
	box-shadow: var(--shadow);
	border-radius: 12px;
	padding: 0.5rem 0;
}

.dropdown-item {
	color: var(--text-secondary);
	padding: 0.75rem 1.5rem;
	transition: all 0.3s ease;
}

.dropdown-item:hover {
	background: rgba(210, 180, 140, 0.1);
	color: var(--text-primary);
}

.hero-section {
	padding: 4rem 0 2rem 0;
	background: linear-gradient(135deg, rgba(26, 26, 26, 0.8), rgba(10, 10, 10, 0.9));
	border-bottom: 1px solid var(--border-color);
	margin: 0.5rem;
	border-radius: 20px;
	position: relative;
	overflow: hidden;
}


.hero-section:hover::before {
	animation: moveStripeY 4s linear infinite;
}

.hero-title {
	font-size: 3.5rem;
	font-weight: 800;
	background: linear-gradient(135deg, var(--text-primary), var(--text-secondary));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	margin-bottom: 1.5rem;
}

.hero-subtitle {
	font-size: 1.25rem;
	color: var(--text-muted);
	font-weight: 400;
}

.mechanics-preview {
	background: linear-gradient(145deg, rgba(43, 31, 23, 0.9), rgba(39, 32, 25, 0.95));
	border: 2px solid var(--accent-color);
	border-radius: 16px;
	padding: 2rem;
	backdrop-filter: blur(10px);
	max-width: 600px;
	margin: 0 auto;
	box-shadow: 
		0 8px 32px rgba(0, 0, 0, 0.4),
		0 0 0 1px rgba(210, 180, 140, 0.3),
		inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.mechanics-icon {
	width: 50px;
	height: 50px;
	background: linear-gradient(135deg, var(--accent-color), var(--accent-color-dark));
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 15px rgba(210, 180, 140, 0.3);
}


.mechanics-avatars {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 0;
}

.mechanic-avatar {
    position: relative;
    margin-right: -15px;
    transition: transform 0.3s ease, z-index 0.3s ease;
    z-index: 1;
}

.mechanic-avatar:hover {
    transform: translateY(-5px);
    z-index: 10;
}

.mechanic-avatar img,
.mechanic-avatar .avatar-placeholder {
    border: 1px solid var(--card-bg);
    box-shadow: 
        0 2px 8px rgba(0, 0, 0, 0.3),
        0 0 0 1px rgba(128, 128, 128, 0.4),
        0 0 0 2px rgba(128, 128, 128, 0.2),
        0 0 0 3px rgba(128, 128, 128, 0.1);
}


.mechanic-avatar .position-absolute {
    z-index: 2;
}


.more-mechanics {
    margin-left: -5px;
    z-index: 1;
}

.more-mechanics .badge {
    border: 1px solid var(--card-bg);
    box-shadow: 
        0 2px 8px rgba(0, 0, 0, 0.3),
        0 0 0 1px rgba(128, 128, 128, 0.4),
        0 0 0 2px rgba(128, 128, 128, 0.2),
        0 0 0 3px rgba(128, 128, 128, 0.1);
}


@media (max-width: 768px) {
    .mechanic-avatar {
        margin-right: -10px;
    }
    
    .more-mechanics {
        margin-left: -2px;
    }
}

@media (max-width: 576px) {
    .mechanic-avatar {
        margin-right: -8px;
    }
    
    .more-mechanics {
        margin-left: 0;
    }
}

.avatar-placeholder {
	width: 50px;
	height: 50px;
	background: linear-gradient(135deg, var(--secondary-bg), var(--border-color));
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--text-muted);
	border: 2px solid var(--border-color);
}

.more-mechanics .badge {
	font-size: 0.9rem;
	padding: 0.5rem 0.75rem;
	border-radius: 20px;
}


.hero-actions {
	margin-top: 2rem;
}

.hero-actions .btn {
	padding: 0.75rem 2rem;
	font-weight: 600;
	border-radius: 12px;
	transition: all 0.3s ease;
}


.section-title {
	font-size: 2.5rem;
	font-weight: 700;
	color: var(--text-primary);
	margin-bottom: 1rem;
}

.section-subtitle {
	font-size: 1.1rem;
	color: var(--text-muted);
	font-weight: 400;
}


.services-section {
	padding: 4rem 0;
	margin: 0 0.5rem;
}


.news-section .service-card {
	min-height: 400px;
	display: flex;
	flex-direction: column;
}

.news-section .service-card .news-content-wrapper {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.news-section .service-card .news-description {
	flex: 1;
	margin-bottom: 1rem;
}

.news-section .service-card .full-content {
	flex: 1;
	margin-top: 0.5rem;
}


.news-card {
	min-height: 450px !important;
	display: flex !important;
	flex-direction: column !important;
}

.news-card .news-content {
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
}

.news-card .news-text {
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
}

.news-card .news-description {
	flex: 1 !important;
	margin-bottom: 1rem !important;
}

.news-card .full-content {
	flex: 1 !important;
	margin-top: 0.5rem !important;
}

.news-card .edit-form {
	margin-top: auto !important;
}


.service-card {
	background: var(--card-bg);
	border: 1px solid var(--border-color);
	border-radius: 16px;
	padding: 2rem;
	height: 100%;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	position: relative;
	overflow: hidden;
	width: 100%;
	max-width: 100%;
}



.service-card.card-sm {
	max-width: 300px;
	padding: 1.5rem;
}

.service-card.card-md {
	max-width: 500px;
	padding: 2.5rem;
}

.service-card.card-lg {
	max-width: 900px;
	padding: 3.5rem;
	min-height: 200px;
}

.service-card.card-xl {
	max-width: 800px;
	padding: 3.5rem;
}

.service-card.card-full {
	max-width: none;
	width: 100%;
}


@media (max-width: 768px) {
	.service-card {
		max-width: 100%;
		padding: 1.5rem;
	}
	
	.service-card.card-sm,
	.service-card.card-md,
	.service-card.card-lg,
	.service-card.card-xl {
		max-width: 100%;
		padding: 1.5rem;
	}
	
	.news-section .service-card {
		min-height: 350px;
	}
}

.about-page .service-card.card-lg {
	max-width: 100%;
	width: 100%;
}

.about-page .accordion {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.about-page .accordion .service-card {
	width: 100%;
	max-width: 100%;
	min-height: 250px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.about-page .accordion .accordion-header {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 120px;
	height: 100%;
}

.about-page .accordion .accordion-button {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 !important;
}

.about-page .accordion .accordion-item {
	width: 100%;
	display: flex;
	justify-content: center;
}

.about-page .accordion .accordion-item .service-card {
	width: 100%;
	max-width: 900px;
	overflow: hidden;
}

.about-page .accordion .accordion-body {
	padding: 1.5rem !important;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

.about-page .accordion .accordion-button .fa-lg {
	font-size: 1.5rem !important;
}

.about-page .accordion .accordion-button .d-flex {
	width: 100%;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 1rem;
	text-align: center;
}

.about-page .accordion .accordion-button h5 {
	margin: 0 !important;
	padding: 0 !important;
	text-align: center !important;
}

.about-page .accordion .accordion-button .d-flex {
	width: 100% !important;
	max-width: 100% !important;
	transform: translateX(15px);
}

.about-page .accordion .accordion-button .bg-info,
.about-page .accordion .accordion-button .bg-warning,
.about-page .accordion .accordion-button .bg-success,
.about-page .accordion .accordion-button .bg-primary {
	margin: 0 !important;
	width: 70px !important;
	height: 70px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}



/* Accent: stabil vonal + rajta futó fény (a vonal nem tűnik el) */
.service-card::before,
.service-card::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 2px;
	border-radius: 16px 0 0 16px;
	pointer-events: none;
	z-index: 10;
	opacity: 0;
}

.service-card::before {
	background: var(--accent-color);
	transition: opacity 0.28s ease;
}

.service-card::after {
	background: linear-gradient(
		to top,
		transparent 0%,
		transparent 42%,
		rgba(255, 248, 230, 0.95) 50%,
		transparent 58%,
		transparent 100%
	);
	background-size: 100% 220%;
	background-repeat: no-repeat;
	background-position: 0 100%;
}

.service-card:hover {
	transform: translate3d(0, -1px, 0);
	box-shadow: 0 5px 16px rgba(0, 0, 0, 0.26);
	border-color: rgba(210, 180, 140, 0.35);
}

.service-card:hover::before {
	opacity: 0.9;
}

.service-card:hover::after {
	opacity: 1;
	animation: accentLineSheen 2.6s linear infinite;
}

@keyframes accentLineSheen {
	from {
		background-position: 0 100%;
	}
	to {
		background-position: 0 -120%;
	}
}

.service-icon {
	width: 80px;
	height: 80px;
	background: linear-gradient(135deg, var(--accent-color), var(--accent-color-dark));
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 1.5rem;
	box-shadow: 0 6px 20px rgba(210, 180, 140, 0.3);
}

.service-icon i {
	font-size: 2rem;
	color: white;
}

.service-title {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--text-primary);
	margin-bottom: 1rem;
	text-align: center;
}

.service-description {
	color: var(--text-muted);
	text-align: center;
	margin-bottom: 1.5rem;
	line-height: 1.6;
}

.service-features {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: center;
	margin-bottom: 1.5rem;
}

.feature-badge {
	background: rgba(255, 255, 255, 0.1);
	color: var(--text-secondary);
	padding: 0.25rem 0.75rem;
	border-radius: 20px;
	font-size: 0.85rem;
	font-weight: 500;
	border: 1px solid var(--border-color);
}

.features-section {
	background: rgba(26, 26, 26, 0.5);
	border-top: 1px solid var(--border-color);
	border-bottom: 1px solid var(--border-color);
	padding: 4rem 0;
	margin: 0 0.5rem;
	border-radius: 20px;
	position: relative;
	overflow: hidden;
}

.features-section::before {
	content: '';
	position: absolute;
	inset: 0 auto 0 0;
	width: 3px;
	background: linear-gradient(180deg, var(--accent-color), var(--accent-color-dark));
	opacity: 0.55;
	transition: opacity 0.25s ease;
	z-index: 10;
	pointer-events: none;
}

.features-section:hover::before {
	opacity: 1;
	animation: none;
}

.feature-item {
	padding: 2rem 1rem;
	max-width: 300px;
	margin: 0 auto;
}

.feature-icon {
	width: 60px;
	height: 60px;
	background: linear-gradient(135deg, var(--accent-color), var(--accent-color-dark));
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
	box-shadow: 0 4px 15px rgba(210, 180, 140, 0.3);
}

.feature-icon i {
	font-size: 1.5rem;
	color: white;
}

.feature-title {
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--text-primary);
	margin-bottom: 0.5rem;
}

.feature-text {
	color: var(--text-muted);
	font-size: 0.9rem;
}

.cta-section {
	background: linear-gradient(135deg, rgba(26, 26, 26, 0.8), rgba(10, 10, 10, 0.9));
	border-top: 1px solid var(--border-color);
	padding: 4rem 0;
	margin: 0 0.5rem 0.5rem 0.5rem;
	border-radius: 20px;
	position: relative;
	overflow: hidden;
}

.cta-section::before {
	content: '';
	position: absolute;
	inset: 0 auto 0 0;
	width: 3px;
	background: linear-gradient(180deg, var(--accent-color), var(--accent-color-dark));
	opacity: 0.55;
	transition: opacity 0.25s ease;
	z-index: 10;
	pointer-events: none;
}

.cta-section:hover::before {
	opacity: 1;
	animation: none;
}

.cta-title {
	font-size: 2rem;
	font-weight: 700;
	color: var(--text-primary);
}

.cta-text {
	font-size: 1.1rem;
	color: var(--text-muted);
}

.cta-buttons .btn {
	padding: 0.75rem 2rem;
	font-weight: 600;
	border-radius: 12px;
	transition: all 0.3s ease;
}

/* Modern Button Base Styles */
.btn {
	border-radius: 30px;
	font-weight: 600;
	font-size: 1rem;
	letter-spacing: 0.5px;
	text-transform: none;
	transition: all 0.3s ease;
	position: relative;
	overflow: visible;
	border: 2px solid transparent;
	padding: 0.75rem 2rem;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.btn-sm {
	padding: 0.5rem 1.25rem;
	font-size: 0.875rem;
	border-radius: 25px;
}

.text-overlay {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.text-overlay::before {
	content: '';
	position: absolute;
	top: -0.25rem;
	left: -0.5rem;
	right: -0.5rem;
	bottom: -0.25rem;
	background: linear-gradient(135deg, 
		rgba(0, 0, 0, 0.4) 0%, 
		rgba(0, 0, 0, 0.3) 50%, 
		rgba(0, 0, 0, 0.2) 100%) !important;
	border-radius: 6px !important;
	backdrop-filter: blur(4px) !important;
	-webkit-backdrop-filter: blur(4px) !important;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2) !important;
	z-index: -1;
	opacity: 0.8;
	transition: opacity 0.3s ease;
}

.text-overlay:hover::before {
	opacity: 1;
	background: linear-gradient(135deg, 
		rgba(0, 0, 0, 0.4) 0%, 
		rgba(0, 0, 0, 0.3) 50%, 
		rgba(0, 0, 0, 0.2) 100%) !important;
}

.text-overlay h1,
.text-overlay h2,
.text-overlay h3,
.text-overlay h4,
.text-overlay h5,
.text-overlay h6,
.text-overlay p {
	position: relative;
	z-index: 2;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8) !important;
}

.text-overlay .hero-title {
	background: linear-gradient(135deg, var(--text-primary), var(--text-secondary)) !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	background-clip: text !important;
}

.text-overlay .hero-subtitle {
	color: var(--text-muted) !important;
}

.hero-text-overlay {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.hero-text-overlay::before {
	content: '';
	position: absolute;
	top: -0.25rem;
	left: -0.5rem;
	right: -0.5rem;
	bottom: 0;
	background: linear-gradient(135deg, 
		rgba(0, 0, 0, 0.4) 0%, 
		rgba(0, 0, 0, 0.3) 50%, 
		rgba(0, 0, 0, 0.2) 100%) !important;
	border-radius: 12px !important;
	border: 2px solid rgba(255, 255, 255, 0.1) !important;
	backdrop-filter: blur(4px) !important;
	-webkit-backdrop-filter: blur(4px) !important;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 0 20px rgba(88, 166, 255, 0.1) !important;
	z-index: -1;
	opacity: 0.8;
	transition: opacity 0.3s ease;
}

.hero-text-overlay .hero-title {
	background: linear-gradient(135deg, var(--text-primary), var(--text-secondary)) !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	background-clip: text !important;
	position: relative;
	z-index: 2;
}

.hero-text-overlay .hero-subtitle {
	color: var(--text-muted) !important;
	position: relative;
	z-index: 2;
}

/* Primary Button - Blue */
.btn-primary {
	background: rgba(37, 99, 235, 0.75);
	border: 1px solid rgba(59, 130, 246, 0.4);
	color: #ffffff;
	box-shadow: 0 0 4px rgba(59, 130, 246, 0.2);
}

.btn-primary:hover {
	background: rgba(59, 130, 246, 0.85);
	border-color: rgba(96, 165, 250, 0.5);
	color: #ffffff;
	box-shadow: 0 0 8px rgba(59, 130, 246, 0.3);
	transform: translateY(-1px);
}

.btn-primary:active {
	transform: translateY(0);
	box-shadow: 0 0 4px rgba(59, 130, 246, 0.2);
}

/* Success Button - Green */
.btn-success {
	background: rgba(34, 139, 34, 0.75);
	border: 1px solid rgba(74, 222, 128, 0.4);
	color: #ffffff;
	box-shadow: 0 0 4px rgba(74, 222, 128, 0.2);
}

.btn-success:hover {
	background: rgba(74, 222, 128, 0.85);
	border-color: rgba(134, 239, 172, 0.5);
	color: #ffffff;
	box-shadow: 0 0 8px rgba(74, 222, 128, 0.3);
	transform: translateY(-1px);
}

.btn-success:active {
	transform: translateY(0);
	box-shadow: 0 0 4px rgba(74, 222, 128, 0.2);
}

/* Warning Button - Orange/Yellow */
.btn-warning {
	background: rgba(234, 179, 8, 0.75);
	border: 1px solid rgba(250, 204, 21, 0.4);
	color: #1a1a1a;
	box-shadow: 0 0 4px rgba(250, 204, 21, 0.2);
}

.btn-warning:hover {
	background: rgba(250, 204, 21, 0.85);
	border-color: rgba(253, 224, 71, 0.5);
	color: #1a1a1a;
	box-shadow: 0 0 8px rgba(250, 204, 21, 0.3);
	transform: translateY(-1px);
}

.btn-warning:active {
	transform: translateY(0);
	box-shadow: 0 0 4px rgba(250, 204, 21, 0.2);
}

/* Danger Button - Red */
.btn-danger {
	background: rgba(220, 38, 38, 0.75);
	border: 1px solid rgba(248, 113, 113, 0.4);
	color: #ffffff;
	box-shadow: 0 0 4px rgba(248, 113, 113, 0.2);
}

.btn-danger:hover {
	background: rgba(248, 113, 113, 0.85);
	border-color: rgba(252, 165, 165, 0.5);
	color: #ffffff;
	box-shadow: 0 0 8px rgba(248, 113, 113, 0.3);
	transform: translateY(-1px);
}

.btn-danger:active {
	transform: translateY(0);
	box-shadow: 0 0 4px rgba(248, 113, 113, 0.2);
}

/* Info Button - Cyan */
.btn-info {
	background: rgba(6, 182, 212, 0.75);
	border: 1px solid rgba(34, 211, 238, 0.4);
	color: #ffffff;
	box-shadow: 0 0 4px rgba(34, 211, 238, 0.2);
}

.btn-info:hover {
	background: rgba(34, 211, 238, 0.85);
	border-color: rgba(103, 232, 249, 0.5);
	color: #ffffff;
	box-shadow: 0 0 8px rgba(34, 211, 238, 0.3);
	transform: translateY(-1px);
}

.btn-info:active {
	transform: translateY(0);
	box-shadow: 0 0 4px rgba(34, 211, 238, 0.2);
}

/* Secondary Button - Gray */
.btn-secondary {
	background: rgba(75, 85, 99, 0.75);
	border: 1px solid rgba(107, 114, 128, 0.4);
	color: #ffffff;
	box-shadow: 0 0 4px rgba(107, 114, 128, 0.2);
}

.btn-secondary:hover {
	background: rgba(107, 114, 128, 0.85);
	border-color: rgba(156, 163, 175, 0.5);
	color: #ffffff;
	box-shadow: 0 0 8px rgba(107, 114, 128, 0.3);
	transform: translateY(-1px);
}

.btn-secondary:active {
	transform: translateY(0);
	box-shadow: 0 0 4px rgba(107, 114, 128, 0.2);
}

/* Outline Buttons */
.btn-outline-primary {
	background: rgba(37, 99, 235, 0.05);
	border: 1px solid rgba(59, 130, 246, 0.35);
	color: #3b82f6;
	box-shadow: 0 0 3px rgba(59, 130, 246, 0.1);
}

.btn-outline-primary:hover {
	background: rgba(59, 130, 246, 0.85);
	border-color: rgba(96, 165, 250, 0.5);
	color: #ffffff;
	box-shadow: 0 0 8px rgba(59, 130, 246, 0.25);
	transform: translateY(-1px);
}

.btn-outline-success {
	background: rgba(34, 139, 34, 0.05);
	border: 1px solid rgba(74, 222, 128, 0.35);
	color: #4ade80;
	box-shadow: 0 0 3px rgba(74, 222, 128, 0.1);
}

.btn-outline-success:hover {
	background: rgba(74, 222, 128, 0.85);
	border-color: rgba(134, 239, 172, 0.5);
	color: #ffffff;
	box-shadow: 0 0 8px rgba(74, 222, 128, 0.25);
	transform: translateY(-1px);
}

.btn-outline-light {
	background: rgba(229, 231, 235, 0.05);
	border: 1px solid rgba(229, 231, 235, 0.35);
	color: #e5e7eb;
	box-shadow: 0 0 3px rgba(229, 231, 235, 0.1);
}

.btn-outline-light:hover {
	background: rgba(229, 231, 235, 0.85);
	border-color: rgba(243, 244, 246, 0.5);
	color: #1a1a1a;
	box-shadow: 0 0 8px rgba(229, 231, 235, 0.25);
	transform: translateY(-1px);
}

.btn-outline-secondary {
	background: rgba(107, 114, 128, 0.05);
	border: 1px solid rgba(107, 114, 128, 0.3);
	color: #6b7280;
	box-shadow: 0 0 3px rgba(107, 114, 128, 0.1);
}

.btn-outline-secondary:hover {
	background: rgba(107, 114, 128, 0.85);
	border-color: rgba(156, 163, 175, 0.5);
	color: #1a1a1a;
	box-shadow: 0 0 8px rgba(107, 114, 128, 0.25);
	transform: translateY(-1px);
}

.btn-outline-warning {
	background: rgba(234, 179, 8, 0.05);
	border: 1px solid rgba(250, 204, 21, 0.35);
	color: #facc15;
	box-shadow: 0 0 3px rgba(250, 204, 21, 0.1);
}

.btn-outline-warning:hover {
	background: rgba(250, 204, 21, 0.85);
	border-color: rgba(253, 224, 71, 0.5);
	color: #1a1a1a;
	box-shadow: 0 0 8px rgba(250, 204, 21, 0.25);
	transform: translateY(-1px);
}

.btn-outline-danger {
	background: rgba(220, 38, 38, 0.05);
	border: 1px solid rgba(248, 113, 113, 0.35);
	color: #f87171;
	box-shadow: 0 0 3px rgba(248, 113, 113, 0.1);
}

.btn-outline-danger:hover {
	background: rgba(248, 113, 113, 0.85);
	border-color: rgba(252, 165, 165, 0.5);
	color: #ffffff;
	box-shadow: 0 0 8px rgba(248, 113, 113, 0.25);
	transform: translateY(-1px);
}

.btn-outline-info {
	background: rgba(6, 182, 212, 0.05);
	border: 1px solid rgba(34, 211, 238, 0.35);
	color: #22d3ee;
	box-shadow: 0 0 3px rgba(34, 211, 238, 0.1);
}

.btn-outline-info:hover {
	background: rgba(34, 211, 238, 0.85);
	border-color: rgba(103, 232, 249, 0.5);
	color: #ffffff;
	box-shadow: 0 0 8px rgba(34, 211, 238, 0.25);
	transform: translateY(-1px);
}

.footer {
	background: linear-gradient(135deg, var(--secondary-bg), var(--primary-bg));
	border-top: 1px solid var(--border-color);
	margin-top: 3rem;
}

.footer .logo-circle {
	background: linear-gradient(135deg, var(--warning-color), #e0a800);
}

@media (max-width: 768px) {
	.container {
		padding: 0 0.25rem;
	}
	
	.hero-section,
	.services-section,
	.features-section,
	.cta-section {
		margin: 0 0.25rem;
		border-radius: 15px;
	}
	
	.hero-title {
		font-size: 2.5rem;
		letter-spacing: 0.08em;
	}
	
	.section-title {
		font-size: 2rem;
	}
	
	.hero-actions .btn {
		display: block;
		width: 100%;
		margin-bottom: 1rem;
	}
	
	.cta-buttons .btn {
		display: block;
		width: 100%;
		margin-bottom: 1rem;
	}
}

@media (max-width: 480px) {
	.container {
		padding: 0 0.125rem;
	}
	
	.hero-section,
	.services-section,
	.features-section,
	.cta-section {
		margin: 0 0.125rem;
		border-radius: 12px;
	}
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(0);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes moveStripe {
	0% {
		background-position: 200% 0;
	}
	100% {
		background-position: -200% 0;
	}
}

@keyframes moveStripeY {
	0% {
		background-position: 0 200%;
	}
	100% {
		background-position: 0 -200%;
	}
}

.animated-stripe {
	position: relative;
	overflow: hidden;
}

.animated-stripe::before {
	content: '';
	position: absolute;
	inset: 0 auto 0 0;
	width: 3px;
	background: linear-gradient(180deg, #dc3545, #f77f00, #ffc107);
	z-index: 10;
	pointer-events: none;
}

.service-card,
.feature-item {
	animation: fadeInUp 0.25s ease-out both;
}

.service-card:nth-child(1),
.service-card:nth-child(2),
.service-card:nth-child(3),
.feature-item:nth-child(1),
.feature-item:nth-child(2),
.feature-item:nth-child(3),
.feature-item:nth-child(4) {
	animation-delay: 0s;
}

html.apms-ajax-nav .service-card,
html.apms-ajax-nav .feature-item {
	animation: none !important;
}

@media (prefers-reduced-motion: reduce) {
	.service-card,
	.feature-item {
		animation: none !important;
	}

	.service-card:hover::after,
	.info-section-card:hover::after,
	.modern-accordion-item:hover::after {
		animation: none !important;
		background-position: 0 40%;
	}
}

::-webkit-scrollbar {
	width: 8px;
}

::-webkit-scrollbar-track {
	background: var(--secondary-bg);
}

::-webkit-scrollbar-thumb {
	background: var(--border-color);
	border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
	background: var(--text-muted);
}

.tooltip .tooltip-inner {
	background: rgba(26, 26, 26, 0.98);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid var(--border-color);
	box-shadow: var(--shadow);
	border-radius: 8px;
}

.tooltip .tooltip-arrow::before {
	border-top-color: rgba(26, 26, 26, 0.95);
}


body.auth-login-page main {
	margin-top: 100px !important;
	display: flex;
	align-items: center;
	min-height: calc(100vh - 100px);
}

/* Login: lábléc rejtve (teljes betöltés + AJAX-nav is) */
body.auth-login-page .footer {
	display: none !important;
}

.auth-page {
	padding-top: 1rem;
	padding-bottom: 1.5rem;
	width: 100%;
}

.auth-card {
	--auth-radius: 4px;
	font-family: 'Source Sans 3', 'Segoe UI', sans-serif;
	background:
		linear-gradient(160deg, rgba(42, 38, 34, 0.92) 0%, rgba(18, 16, 14, 0.96) 55%, rgba(12, 12, 12, 0.98) 100%);
	border: 1px solid rgba(210, 180, 140, 0.22);
	border-radius: var(--auth-radius);
	padding: 2.5rem 2.75rem;
	margin: 1.75rem auto;
	max-width: 560px;
	width: 100%;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	box-shadow:
		0 18px 48px rgba(0, 0, 0, 0.45),
		inset 0 1px 0 rgba(255, 255, 255, 0.04);
	position: relative;
	overflow: hidden;
	animation: authCardIn 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* Login: landscape rectangle — brand left, form right */
.auth-card.auth-card--rect {
	display: grid;
	grid-template-columns: minmax(220px, 0.88fr) minmax(300px, 1.2fr);
	max-width: 780px;
	padding: 0;
	margin: 0 auto;
	min-height: 440px;
	align-items: stretch;
}

.auth-card__aside {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	gap: 0;
	padding: 1.5rem 1.5rem 1.35rem;
	background:
		linear-gradient(145deg, rgba(210, 180, 140, 0.14) 0%, rgba(0, 0, 0, 0.35) 55%, rgba(0, 0, 0, 0.5) 100%);
	border-right: 1px solid rgba(210, 180, 140, 0.2);
	position: relative;
	text-align: center;
	min-height: 100%;
}

.auth-card__aside::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 4px;
	background: linear-gradient(180deg, var(--accent-color-light) 0%, var(--accent-color) 45%, var(--accent-color-dark) 100%);
}

.auth-card__main {
	padding: 1.85rem 2rem 1.75rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.auth-aside-top {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	flex: 1 1 auto;
	width: 100%;
	text-align: center;
	min-height: 0;
}

.auth-aside-copy {
	margin: 0;
	padding-top: 0.85rem;
	border-top: 1px solid rgba(210, 180, 140, 0.18);
	color: var(--text-muted);
	font-size: 0.88rem;
	line-height: 1.35;
	width: 100%;
	flex: 0 0 auto;
	text-align: center;
}

@keyframes authCardIn {
	from {
		opacity: 0;
		transform: translateY(16px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.auth-header {
	margin-bottom: 1.35rem;
	text-align: left;
}

.auth-brand-row {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	margin-bottom: 1.35rem;
}

.auth-brand-mark {
	width: 44px;
	height: 44px;
	object-fit: contain;
	border-radius: 3px;
	background: rgba(0, 0, 0, 0.35);
	border: 1px solid rgba(210, 180, 140, 0.25);
	padding: 4px;
	flex: 0 0 auto;
}

/* Login aside logo: no frame, centered stack */
.auth-card__aside .auth-brand-mark.auth-brand-mark--lg {
	width: 160px;
	height: 160px;
	margin: 0 0 0.35rem;
	padding: 0;
	border: none;
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	object-fit: contain;
}

.auth-brand-text {
	display: flex;
	flex-direction: column;
	min-width: 0;
	line-height: 1.15;
}

.auth-brand-name {
	font-family: 'Barlow Condensed', 'Segoe UI', sans-serif;
	font-weight: 800;
	font-size: 1.55rem;
	letter-spacing: 0.08em;
	color: var(--bezs-color);
	text-transform: uppercase;
}

.auth-card__aside .auth-brand-name {
	font-size: 2.15rem;
	line-height: 1;
	text-align: center;
}

.auth-brand-tag {
	font-size: 0.78rem;
	color: var(--text-muted);
	letter-spacing: 0.01em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.auth-card__aside .auth-brand-tag {
	white-space: normal;
	max-width: 12.5rem;
	line-height: 1.3;
	text-align: center;
	margin: 0 auto;
}

.auth-title {
	font-family: 'Barlow Condensed', 'Segoe UI', sans-serif;
	font-size: clamp(1.85rem, 3vw, 2.35rem);
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--text-primary);
	margin: 0 0 0.35rem;
	line-height: 1.05;
}

.auth-subtitle {
	color: var(--text-muted);
	font-size: 0.95rem;
	margin: 0;
	font-weight: 400;
}

.auth-form {
	margin-top: 0;
}

.auth-card .form-group {
	margin-bottom: 1.15rem;
}

.auth-card .form-label {
	color: var(--text-secondary);
	font-weight: 600;
	margin-bottom: 0.45rem;
	font-size: 0.88rem;
	letter-spacing: 0.02em;
}

.auth-input {
	background: rgba(8, 8, 8, 0.72);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--auth-radius);
	color: var(--text-primary);
	padding: 0.85rem 1rem;
	font-size: 1rem;
	font-family: inherit;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.auth-input:focus {
	background: rgba(8, 8, 8, 0.9);
	border-color: rgba(210, 180, 140, 0.65);
	box-shadow: 0 0 0 3px rgba(210, 180, 140, 0.18);
	color: var(--text-primary);
	outline: none;
}

.auth-input::placeholder {
	color: var(--text-muted);
}

.password-field {
	position: relative;
}

.password-field .auth-input {
	padding-right: 3.25rem;
}

.password-toggle {
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: none;
	color: var(--text-muted);
	font-size: 1rem;
	cursor: pointer;
	padding: 0.45rem 0.55rem;
	border-radius: 3px;
	transition: color 0.2s ease, background 0.2s ease;
	z-index: 10;
}

.password-toggle:hover {
	color: var(--text-primary);
	background: rgba(210, 180, 140, 0.12);
}

.password-toggle.active {
	color: var(--bezs-color);
}

.password-toggle:focus {
	outline: none;
	box-shadow: 0 0 0 2px rgba(210, 180, 140, 0.3);
}

.auth-btn {
	display: block;
	width: 100%;
	margin-top: 0.35rem;
	padding: 0.95rem 1.25rem;
	font-family: 'Barlow Condensed', 'Segoe UI', sans-serif;
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	border-radius: var(--auth-radius);
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
	border: none;
	position: relative;
	overflow: hidden;
}

.auth-btn:hover {
	transform: translateY(-2px);
	filter: brightness(1.05);
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
}

.auth-btn:active {
	transform: translateY(0);
}

.auth-footer-link {
	margin: 1rem 0 0;
	text-align: center;
	font-size: 0.9rem;
}

.auth-field-error {
	margin-top: 0.4rem;
	color: #ff8a8a;
	font-size: 0.85rem;
}

.auth-reset-hint {
	margin: 0 0 1rem;
	color: var(--text-muted);
	font-size: 0.85rem;
	line-height: 1.35;
}

.auth-input--code {
	text-align: center;
	font-size: 1.35rem;
	letter-spacing: 0.45rem;
	font-weight: 600;
}

.auth-btn-secondary {
	display: block;
	width: 100%;
	margin-top: 0.55rem;
	padding: 0.75rem 1.25rem;
	font-family: 'Barlow Condensed', 'Segoe UI', sans-serif;
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	border-radius: var(--auth-radius, 4px);
	border: 1px solid rgba(255, 255, 255, 0.18);
	background: transparent;
	color: var(--text-secondary);
	transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}

.auth-btn-secondary:hover {
	border-color: rgba(210, 180, 140, 0.45);
	color: var(--text-primary);
	background: rgba(255, 255, 255, 0.04);
}

.auth-footer-link a {
	color: var(--text-muted);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.auth-footer-link a:hover {
	color: var(--bezs-color);
	border-bottom-color: rgba(210, 180, 140, 0.5);
}

.auth-link {
	color: var(--bezs-color);
	text-decoration: none;
	font-weight: 600;
	transition: color 0.2s ease, background 0.2s ease;
	padding: 0.45rem 0.75rem;
	border-radius: 3px;
	display: inline-block;
}

.auth-link:hover {
	color: var(--text-primary);
	background: rgba(210, 180, 140, 0.1);
	text-decoration: none;
}

.auth-card .recaptcha-notice {
	margin-top: 1.15rem;
	padding: 0.85rem 1rem;
	background: rgba(0, 0, 0, 0.35);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: var(--auth-radius);
	display: flex;
	gap: 0.75rem;
	align-items: flex-start;
}

.auth-card .recaptcha-notice-icon {
	width: 32px;
	height: 32px;
	border-radius: 3px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.1);
	color: var(--bezs-color);
	flex: 0 0 auto;
}

@media (max-width: 768px) {
	body.auth-login-page main {
		margin-top: 90px !important;
		min-height: calc(100vh - 90px);
		align-items: flex-start;
	}

	.auth-page {
		padding-top: 0.5rem;
		padding-bottom: 1rem;
	}

	.auth-card {
		margin: 1rem;
		padding: 2rem 1.5rem;
		max-width: none;
	}

	.auth-card.auth-card--rect {
		display: block;
		min-height: 0;
		padding: 0;
		margin: 1rem;
	}

	.auth-card__aside {
		padding: 1.35rem 1.25rem 1.1rem;
		border-right: none;
		border-bottom: 1px solid rgba(210, 180, 140, 0.18);
		justify-content: center;
		align-items: center;
	}

	.auth-card__aside .auth-brand-name {
		font-size: 1.55rem;
	}

	.auth-card__aside .auth-brand-tag {
		font-size: 0.72rem;
		max-width: 14rem;
	}

	.auth-aside-top {
		flex: 0 0 auto;
	}

	.auth-aside-copy {
		font-size: 0.8rem;
		margin-top: 0.85rem;
		padding-top: 0.55rem;
	}

	.auth-card__aside .auth-brand-mark.auth-brand-mark--lg {
		width: 96px;
		height: 96px;
		margin: 0 0 0.2rem;
		padding: 0;
		border: none;
		background: transparent;
	}

	.auth-card__main {
		padding: 1.25rem 1.35rem 1.35rem;
	}

	.auth-brand-mark {
		width: 38px;
		height: 38px;
	}

	.auth-brand-name {
		font-size: 1.35rem;
	}

	.auth-brand-tag {
		font-size: 0.72rem;
	}

	.auth-title {
		font-size: 1.75rem;
	}

	.auth-header {
		margin-bottom: 1rem;
	}
}

@media (min-width: 769px) and (max-width: 991px) {
	.auth-card.auth-card--rect {
		max-width: 700px;
		grid-template-columns: minmax(190px, 0.85fr) minmax(280px, 1.2fr);
	}
}

.winter-theme .auth-aside-copy {
	border-top-color: rgba(165, 216, 255, 0.18);
}


.admin-container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 2rem 1rem;
}

.admin-header {
	background: linear-gradient(135deg, rgba(26, 26, 26, 0.95), rgba(10, 10, 10, 0.98));
	border: 1px solid var(--border-color);
	border-radius: 20px;
	padding: 2rem;
	margin-bottom: 2rem;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	box-shadow: var(--shadow);
	position: relative !important;
	overflow: hidden !important;
}

.admin-title {
	font-size: 2.5rem;
	font-weight: 800;
	background: linear-gradient(135deg, var(--text-primary), var(--text-secondary));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	margin-bottom: 0.5rem;
}

.admin-subtitle {
	color: var(--text-muted);
	font-size: 1.1rem;
	margin-bottom: 1.5rem;
}



.admin-header .btn {
	font-size: 0.9rem !important;
	padding: 0.75rem 1.25rem !important;
	border-radius: 8px !important;
	font-weight: 600 !important;
	transition: all 0.3s ease !important;
	white-space: nowrap !important;
}

.admin-header .btn:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
}

.admin-nav-tabs {
	background: rgba(26, 26, 26, 0.85);
	border: 1px solid var(--border-color);
	border-radius: 16px;
	padding: 1rem;
	margin-bottom: 2rem;
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
}

.admin-nav-tabs .btn {
	margin-right: 0.5rem;
	margin-bottom: 0.5rem;
	border-radius: 12px;
	font-weight: 600;
	padding: 0.75rem 1.5rem;
	transition: all 0.3s ease;
}

.admin-nav-tabs .btn:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow-hover);
}

.admin-card {
	background: var(--card-bg);
	border: 1px solid var(--border-color);
	border-radius: 16px;
	padding: 2rem;
	margin-bottom: 2rem;
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	box-shadow: var(--shadow);
}

.admin-card-title {
	font-size: 1.3rem;
	font-weight: 700;
	color: var(--text-primary);
	margin-bottom: 1.5rem;
	border-bottom: 2px solid var(--border-color);
	padding-bottom: 0.75rem;
}

.admin-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 2rem;
	margin-bottom: 2rem;
}

.admin-grid-item {
	background: var(--card-bg);
	border: 1px solid var(--border-color);
	border-radius: 16px;
	padding: 2rem;
	text-align: center;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	cursor: pointer;
}

.admin-grid-item:hover {
	transform: translate3d(0, -8px, 0);
	box-shadow: var(--shadow-hover);
	border-color: var(--accent-color);
}

.admin-grid-item i {
	font-size: 3rem;
	margin-bottom: 1rem;
	background: linear-gradient(135deg, var(--accent-color), var(--accent-color-dark));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.admin-grid-item h5 {
	color: var(--text-primary);
	font-weight: 600;
	margin-bottom: 0.5rem;
}

.admin-grid-item p {
	color: var(--text-muted);
	font-size: 0.9rem;
}

.admin-form {
	background: rgba(26, 26, 26, 0.85);
	border: 1px solid var(--border-color);
	border-radius: 16px;
	padding: 2rem;
	margin-bottom: 2rem;
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
}

.admin-form .form-label {
	color: var(--text-primary);
	font-weight: 600;
	margin-bottom: 0.5rem;
}

.admin-form .form-control,
.admin-form .form-select {
	background: rgba(10, 10, 10, 0.8);
	border: 1px solid var(--border-color);
	border-radius: 12px;
	color: var(--text-primary);
	padding: 0.75rem 1rem;
	transition: all 0.3s ease;
}

.admin-form .form-control:focus,
.admin-form .form-select:focus {
	background: rgba(10, 10, 10, 0.9);
	border-color: var(--primary-color);
	box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
	color: var(--text-primary);
}

.admin-form .form-control::placeholder {
	color: var(--text-muted);
}

.admin-table {
	background: rgba(26, 26, 26, 0.9);
	border: 1px solid var(--border-color);
	border-radius: 16px;
	overflow: hidden;
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
}

.admin-table .table {
	margin-bottom: 0;
	color: var(--text-primary);
}

.admin-table .table th {
	background: rgba(10, 10, 10, 0.8);
	border-bottom: 2px solid var(--border-color);
	color: var(--text-primary);
	font-weight: 600;
	padding: 1rem;
}

.admin-table .table td {
	border-bottom: 1px solid var(--border-color);
	padding: 1rem;
	vertical-align: middle;
}

.table-sticky thead th {
	position: sticky;
	top: 0;
	background: rgba(10, 10, 10, 0.95) !important;
	z-index: 3;
}

.table-sticky .sticky-col {
	position: sticky;
	left: 0;
	background: rgba(26, 26, 26, 0.9) !important;
	backdrop-filter: blur(8px);
	box-shadow: inset -1px 0 0 var(--border-color);
	z-index: 2;
}

.progress-modern {
	width: 100%;
	height: 8px;
	background: rgba(255, 255, 255, 0.08);
	border-radius: 10px;
	overflow: hidden;
}

.progress-modern-bar {
	height: 100%;
	background: linear-gradient(90deg, #28a745, #ffc107);
	box-shadow: 0 0 6px rgba(40, 167, 69, 0.4);
	transition: width 0.6s ease;
}

.admin-table .table tbody tr {
	background: rgba(26, 26, 26, 0.5) !important;
	color: var(--text-primary) !important;
	transition: none;
}

.admin-table .table tbody tr:hover {
	background: rgba(255, 255, 255, 0.05) !important;
}

.admin-table .table tbody tr.table-row-dark {
	background: rgba(26, 26, 26, 0.7) !important;
}

.admin-table .table tbody tr.table-row-dark:hover {
	background: rgba(255, 255, 255, 0.08) !important;
}

.admin-table .table tbody tr:nth-child(odd),
.admin-table .table tbody tr:nth-child(even) {
	background: rgba(26, 26, 26, 0.7) !important;
}

.admin-table .table tbody tr:nth-child(odd):hover,
.admin-table .table tbody tr:nth-child(even):hover {
	background: rgba(255, 255, 255, 0.08) !important;
}

.admin-table .table tbody tr,
.admin-table .table tbody tr.table-striped,
.admin-table .table tbody tr.table-striped > td,
.admin-table .table tbody tr.table-striped > th {
	background-color: rgba(26, 26, 26, 0.7) !important;
	color: var(--text-primary) !important;
}

.admin-table .table tbody tr:hover,
.admin-table .table tbody tr.table-striped:hover,
.admin-table .table tbody tr.table-striped:hover > td,
.admin-table .table tbody tr.table-striped:hover > th {
	background-color: rgba(255, 255, 255, 0.08) !important;
}

.admin-table .table.table-dark tbody tr,
.admin-table .table.table-dark tbody tr:nth-child(odd),
.admin-table .table.table-dark tbody tr:nth-child(even),
.admin-table .table.table-dark tbody tr.table-row-dark {
	background-color: rgba(26, 26, 26, 0.7) !important;
	color: var(--text-primary) !important;
}

.admin-table .table.table-dark tbody tr:hover,
.admin-table .table.table-dark tbody tr:nth-child(odd):hover,
.admin-table .table.table-dark tbody tr:nth-child(even):hover,
.admin-table .table.table-dark tbody tr.table-row-dark:hover {
	background-color: rgba(255, 255, 255, 0.08) !important;
}

.admin-table .table tbody tr,
.admin-table .table tbody tr:nth-child(odd),
.admin-table .table tbody tr:nth-child(even),
.admin-table .table tbody tr.table-row-dark,
.admin-table .table.table-dark tbody tr,
.admin-table .table.table-dark tbody tr:nth-child(odd),
.admin-table .table.table-dark tbody tr:nth-child(even),
.admin-table .table.table-dark tbody tr.table-row-dark {
	background-color: rgba(26, 26, 26, 0.7) !important;
	color: var(--text-primary) !important;
}

.admin-table .table.table-dark,
.admin-table .table.table-dark tbody,
.admin-table .table.table-dark tbody tr,
.admin-table .table.table-dark tbody tr:nth-child(odd),
.admin-table .table.table-dark tbody tr:nth-child(even),
.admin-table .table.table-dark tbody tr.table-row-dark,
.admin-table .table.table-dark tbody tr.table-striped,
.admin-table .table.table-dark tbody tr.table-striped > td,
.admin-table .table.table-dark tbody tr.table-striped > th {
	background-color: rgba(26, 26, 26, 0.7) !important;
	color: var(--text-primary) !important;
	border-color: var(--border-color) !important;
}

.admin-table .table.table-dark tbody tr:hover,
.admin-table .table.table-dark tbody tr:nth-child(odd):hover,
.admin-table .table.table-dark tbody tr:nth-child(even):hover,
.admin-table .table.table-dark tbody tr.table-row-dark:hover,
.admin-table .table.table-dark tbody tr.table-striped:hover,
.admin-table .table.table-dark tbody tr.table-striped:hover > td,
.admin-table .table.table-dark tbody tr.table-striped:hover > th {
	background-color: rgba(255, 255, 255, 0.08) !important;
}

.admin-table .table.table-dark tbody tr[style*="background-color"] {
	background-color: rgba(26, 26, 26, 0.7) !important;
	color: var(--text-primary) !important;
}

.admin-table .table tbody tr:hover,
.admin-table .table tbody tr:nth-child(odd):hover,
.admin-table .table tbody tr:nth-child(even):hover,
.admin-table .table tbody tr.table-row-dark:hover,
.admin-table .table.table-dark tbody tr:hover,
.admin-table .table.table-dark tbody tr:nth-child(odd):hover,
.admin-table .table.table-dark tbody tr:nth-child(even):hover,
.admin-table .table.table-dark tbody tr.table-row-dark:hover {
	background-color: rgba(255, 255, 255, 0.08) !important;
}

.admin-table .table {
	margin-bottom: 0;
	color: var(--text-primary);
}

.admin-table .table th {
	background: rgba(10, 10, 10, 0.8);
	border-bottom: 2px solid var(--border-color);
	color: var(--text-primary);
	font-weight: 600;
	padding: 1rem;
}

.admin-table .table td {
	border-bottom: 1px solid var(--border-color);
	padding: 1rem;
	vertical-align: middle;
}

.admin-table .table tbody tr:hover {
	background: rgba(255, 255, 255, 0.02);
}

.admin-stats-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 1.5rem;
	margin-bottom: 2rem;
}

.admin-stat-card {
	background: var(--card-bg);
	border: 1px solid var(--border-color);
	border-radius: 16px;
	padding: 1.5rem;
	text-align: center;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.admin-stat-card:hover {
	transform: translate3d(0, -4px, 0);
	box-shadow: var(--shadow-hover);
}

.admin-stat-icon {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 1rem;
	font-size: 1.5rem;
	color: white;
}

.admin-stat-number {
	font-size: 2rem;
	font-weight: 800;
	color: var(--text-primary);
	margin-bottom: 0.5rem;
}

.admin-stat-label {
	color: var(--text-muted);
	font-size: 0.9rem;
	font-weight: 500;
}

.week-selection {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 1rem;
}

.week-day-btn {
	border-radius: 12px;
	font-weight: 600;
	padding: 0.5rem 1rem;
	transition: all 0.3s ease;
	border: 2px solid transparent;
}

.week-day-btn:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow);
}

.week-day-btn.active {
	border-color: var(--primary-color);
	box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);
}

@media (max-width: 1200px) {
	.admin-container {
		padding: 1.5rem 0.75rem;
	}
	
	.admin-grid {
		grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
		gap: 1.5rem;
	}
}

@media (max-width: 768px) {
	.admin-container {
		padding: 1rem 0.5rem;
	}
	
	.admin-header {
		padding: 1.5rem;
		margin-bottom: 1.5rem;
	}
	

	
	.admin-title {
		font-size: 2rem;
	}
	
	.admin-grid {
		grid-template-columns: 1fr;
		gap: 1rem;
	}
	
	.admin-nav-tabs .btn {
		display: block;
		width: 100%;
		margin-right: 0;
		margin-bottom: 0.5rem;
	}
	
	.week-selection {
		justify-content: center;
	}
}

@media (max-width: 480px) {
	.admin-container {
		padding: 0.75rem 0.25rem;
	}
	
	.admin-header {
		padding: 1rem;
		border-radius: 16px;
	}
	

	
	.admin-header .btn {
		padding: 0.5rem 1rem !important;
		font-size: 0.8rem !important;
	}
	
	.admin-title {
		font-size: 1.75rem;
	}
	
	.admin-card {
		padding: 1.5rem;
	}
	
	.admin-form {
		padding: 1.5rem;
	}
}

.toast-container {
	position: fixed !important;
	top: 100px !important;
	right: 20px !important;
	z-index: 9999 !important;
	padding: 1rem !important;
}

.toast-container.position-fixed {
	top: 100px !important;
}

@media (max-width: 768px) {
	.toast-container {
		top: 90px !important;
		right: 10px !important;
		left: 10px !important;
		padding: 0.75rem !important;
	}
	
	.toast-container .toast {
		min-width: auto !important;
		width: 100% !important;
		max-width: 100% !important;
	}
}

.modal {
	z-index: 1060 !important;
}

.modal-backdrop {
	z-index: 1050 !important;
	pointer-events: auto !important;
}

body.modal-open {
	overflow: hidden !important;
}

.voucher-backdrop {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	z-index: 1050;
}

.modal-dialog-scrollable {
	height: calc(100% - 3.5rem);
}

.modal-dialog-scrollable .modal-content {
	max-height: 100%;
	overflow: hidden;
}

.modal-dialog-scrollable .modal-body {
	overflow-y: auto;
}

.modal-content {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	pointer-events: auto;
	background-color: var(--card-bg);
	background-clip: padding-box;
	border: 1px solid var(--border-color);
	border-radius: 0.3rem;
	outline: 0;
}

.modal-content {
	background: var(--card-bg) !important;
	border: 1px solid var(--border-color) !important;
	border-radius: 16px !important;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.8) !important;
	color: var(--text-primary) !important;
	max-width: 100% !important;
	margin: 0 auto !important;
	position: relative !important;
	overflow: hidden !important;
	pointer-events: auto !important;
}

.modal-content::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, 
		var(--accent-color) 0%, 
		var(--accent-color-dark) 50%, 
		var(--accent-color) 100%);
	background-size: 200% 100%;
	animation: moveStripe 3s linear infinite;
	z-index: 10;
}

.modal-header {
	border-bottom: 1px solid var(--border-color) !important;
	padding: 1.5rem !important;
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
}

.modal-footer {
	border-top: 1px solid var(--border-color) !important;
	padding: 1.5rem !important;
	display: flex !important;
	justify-content: flex-end !important;
	gap: 0.5rem !important;
}

.modal-body {
	padding: 1.5rem !important;
}

.modal-title {
	color: var(--text-primary) !important;
	font-weight: 700 !important;
	margin: 0 !important;
}

.btn-close-white {
	filter: brightness(0) invert(1) !important;
	opacity: 0.8 !important;
	padding: 0.5rem !important;
	background: transparent !important;
	border: none !important;
	position: relative !important;
	right: auto !important;
	top: auto !important;
	z-index: 5 !important;
	cursor: pointer !important;
	transition: all 0.3s ease !important;
	margin-left: auto !important;
}

.btn-close-white:hover {
	opacity: 1 !important;
	transform: scale(1.1) !important;
}

.modal .form-control {
	background: rgba(10, 10, 10, 0.8) !important;
	border: 1px solid var(--border-color) !important;
	border-radius: 8px !important;
	color: var(--text-primary) !important;
	padding: 0.75rem 1rem !important;
	transition: all 0.3s ease !important;
}

.modal .form-control:focus {
	background: rgba(10, 10, 10, 0.9) !important;
	border-color: var(--primary-color) !important;
	box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25) !important;
	color: var(--text-primary) !important;
}

.modal .form-label {
	color: var(--text-primary) !important;
	font-weight: 600 !important;
	margin-bottom: 0.5rem !important;
}

.modal .btn {
	border-radius: 8px !important;
	font-weight: 600 !important;
	padding: 0.75rem 1.5rem !important;
	transition: all 0.3s ease !important;
	border: none !important;
	cursor: pointer !important;
}

.modal .btn:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
}

@media (max-width: 575.98px) {
	.modal-dialog {
		margin: 1rem !important;
		max-width: calc(100% - 2rem) !important;
	}
	
	.modal-content {
		max-height: 90vh !important;
		overflow-y: auto !important;
	}
	
	.modal-footer {
		flex-direction: column !important;
		gap: 0.5rem !important;
	}
	
	.modal-footer .btn {
		width: 100% !important;
		margin: 0 !important;
	}
}

.name-rank-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.25rem;
}

.name-rank-container .card-title {
	margin-bottom: 0 !important;
	line-height: 1.2;
}

.name-rank-container p {
	margin-bottom: 0 !important;
	line-height: 1.1;
}

/* Bezs Button - Modern Glow Style */
.btn-bezs {
	background: rgba(210, 180, 140, 0.8) !important;
	border: 2px solid rgba(230, 212, 184, 0.6) !important;
	color: #1a1a1a !important;
	font-weight: 600;
	transition: all 0.3s ease;
	box-shadow: 0 0 8px rgba(210, 180, 140, 0.3);
}

.btn-bezs:hover {
	background: rgba(230, 212, 184, 0.9) !important;
	border-color: rgba(230, 212, 184, 0.8) !important;
	color: #1a1a1a !important;
	transform: translateY(-2px);
	box-shadow: 0 0 12px rgba(210, 180, 140, 0.4);
}

.btn-bezs:focus,
.btn-bezs.focus {
	background: rgba(230, 212, 184, 0.9) !important;
	border-color: rgba(230, 212, 184, 0.8) !important;
	color: #1a1a1a !important;
	box-shadow: 0 0 12px rgba(210, 180, 140, 0.4);
}

.btn-bezs:active,
.btn-bezs.active {
	background: rgba(212, 176, 130, 0.9) !important;
	border-color: rgba(212, 176, 130, 0.8) !important;
	color: #1a1a1a !important;
	transform: translateY(0);
	box-shadow: 0 0 6px rgba(210, 180, 140, 0.3);
}

.btn-outline-bezs {
	background: rgba(210, 180, 140, 0.05) !important;
	border: 1px solid rgba(210, 180, 140, 0.35) !important;
	color: var(--bezs-color) !important;
	font-weight: 600;
	transition: all 0.3s ease;
	box-shadow: 0 0 3px rgba(210, 180, 140, 0.1);
}

.btn-outline-bezs:hover {
	background: rgba(210, 180, 140, 0.85) !important;
	border-color: rgba(230, 212, 184, 0.5) !important;
	color: #1a1a1a !important;
	transform: translateY(-1px);
	box-shadow: 0 0 8px rgba(210, 180, 140, 0.25);
}

.bg-bezs {
	background-color: var(--bezs-color) !important;
}

.text-bezs {
	color: var(--bezs-color) !important;
}


.btn-login {
	background: linear-gradient(180deg, #e0c9a4 0%, #d2b48c 100%) !important;
	border: 1px solid rgba(230, 212, 184, 0.55) !important;
	color: #1a1410 !important;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28) !important;
}

.btn-login:hover {
	background: linear-gradient(180deg, #ebd4b0 0%, #dcc09a 100%) !important;
	border-color: rgba(230, 212, 184, 0.75) !important;
	color: #1a1410 !important;
}

.time-value {
	font-family: 'Roboto', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
	font-weight: 500;
	font-size: inherit;
	letter-spacing: 0.5px;
}

/* Üres állapot / infó — Bootstrap alert-info helyett (publikus + panel) */
.panel-empty-msg {
	text-align: center;
	color: var(--text-muted, #a0a0a0);
	padding: 1.25rem 0.75rem;
	font-size: 0.92rem;
	line-height: 1.45;
	margin: 0;
}

.panel-empty-msg i {
	opacity: 0.75;
	margin-right: 0.35rem;
}

.panel-note {
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.88rem;
	line-height: 1.45;
	padding: 0.5rem 0;
	margin: 0;
}

.panel-note.panel-note--box {
	padding: 0.65rem 0.85rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 12px;
	background: rgba(0, 0, 0, 0.22);
}

.panel-note--warning,
.panel-note.panel-note--box.panel-note--warning {
	color: rgba(255, 224, 130, 0.95);
	border-color: rgba(255, 193, 7, 0.35);
	background: rgba(255, 193, 7, 0.1);
}

.panel-note--danger,
.panel-note.panel-note--box.panel-note--danger {
	color: rgba(255, 180, 180, 0.95);
	border-color: rgba(220, 53, 69, 0.4);
	background: rgba(220, 53, 69, 0.12);
}

.panel-note--success,
.panel-note.panel-note--box.panel-note--success {
	color: rgba(180, 240, 200, 0.95);
	border-color: rgba(40, 167, 69, 0.4);
	background: rgba(40, 167, 69, 0.12);
}

.panel-note--secondary,
.panel-note.panel-note--box.panel-note--secondary {
	color: rgba(255, 255, 255, 0.65);
	border-color: rgba(255, 255, 255, 0.12);
	background: rgba(108, 117, 125, 0.15);
}

.panel-empty-msg.panel-empty-msg--success {
	color: rgba(143, 220, 165, 0.95);
}

/* Ajax betöltött oldalak vissza gombja - nagyobb távolság a lábléctől */
.text-center.mt-4,
.text-center.mt-5 {
	margin-bottom: 4rem !important;
}

/* Alternatív megoldás: csak a vissza gombokat tartalmazó konténerekre */
.text-center:has(a[href*="index"]),
.text-center:has(a[href*="dashboard"]) {
	margin-bottom: 4rem !important;
}
