/* Eğitim Kutusu — Dashboard Enhancements */

.ek-dashboard,
.tutor-dashboard {
	--ek-dash-primary: #3980d4;
	--ek-dash-primary-light: #3b8fd6;
	--ek-dash-primary-dark: #366acf;
	--ek-dash-primary-soft: rgba(57, 128, 212, 0.1);
	--ek-dash-gold: #f59e0b;
	--ek-dash-gold-soft: rgba(245, 158, 11, 0.12);
	--ek-dash-success: #19cb98;
	--ek-dash-success-soft: rgba(25, 203, 152, 0.12);
	--ek-dash-info: #39afd1;
	--ek-dash-info-soft: rgba(57, 175, 209, 0.12);
	--ek-dash-border: #e3edf5;
	--ek-dash-text: #18113c;
	--ek-dash-muted: #8c87a6;
	--bs-primary: #3980d4;
	--bs-primary-rgb: 57, 128, 212;
	--bs-link-color: #3980d4;
	--bs-link-hover-color: #366acf;
}

/* Sidebar / content stacking — prevent course links from hijacking nav clicks */
.tutor-dashboard-left-menu,
.ek-dash-sidenav {
	position: relative;
	z-index: 20;
}

.tutor-dashboard-left-menu .nav-link {
	position: relative;
	z-index: 21;
}

.tutor-dashboard-content {
	position: relative;
	z-index: 1;
	isolation: isolate;
}

.tutor-dashboard-content .stretched-link::after,
.tutor-dashboard-content .tutor-stretched-link::after {
	z-index: 0;
}

/* Welcome banner */
.ek-dash-welcome {
	background: linear-gradient(135deg, #3b8fd6 0%, #3980d4 55%, #366acf 100%);
	border-radius: 0.75rem;
	color: #fff;
	padding: 1.75rem 2rem;
	position: relative;
	overflow: hidden;
}

.ek-dash-welcome::before {
	content: "";
	position: absolute;
	top: -40%;
	right: -5%;
	width: 280px;
	height: 280px;
	background: rgba(255, 255, 255, 0.06);
	border-radius: 50%;
	pointer-events: none;
}

.ek-dash-welcome::after {
	content: "";
	position: absolute;
	bottom: -30%;
	left: 10%;
	width: 180px;
	height: 180px;
	background: rgba(255, 255, 255, 0.04);
	border-radius: 50%;
	pointer-events: none;
}

.ek-dash-welcome__title {
	font-size: 1.35rem;
	font-weight: 700;
	margin-bottom: 0.35rem;
	position: relative;
}

.ek-dash-welcome__subtitle {
	opacity: 0.88;
	font-size: 0.9375rem;
	margin-bottom: 0;
	position: relative;
}

.ek-dash-welcome__rank {
	background: rgba(255, 255, 255, 0.15);
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 0.75rem;
	padding: 0.85rem 1.25rem;
	text-align: center;
	position: relative;
	backdrop-filter: blur(8px);
}

.ek-dash-welcome__rank-num {
	font-size: 2rem;
	font-weight: 800;
	line-height: 1;
	display: block;
}

.ek-dash-welcome__rank--gold {
	background: linear-gradient(135deg, rgba(255, 215, 0, 0.25), rgba(245, 158, 11, 0.2));
	border-color: rgba(255, 215, 0, 0.45);
}

.ek-dash-welcome__rank--silver {
	background: linear-gradient(135deg, rgba(192, 192, 192, 0.25), rgba(148, 163, 184, 0.2));
	border-color: rgba(192, 192, 192, 0.45);
}

.ek-dash-welcome__rank--bronze {
	background: linear-gradient(135deg, rgba(205, 127, 50, 0.25), rgba(234, 88, 12, 0.2));
	border-color: rgba(205, 127, 50, 0.45);
}

.ek-dash-welcome__rank--top10 {
	background: linear-gradient(135deg, rgba(59, 143, 214, 0.25), rgba(54, 106, 207, 0.2));
	border-color: rgba(255, 255, 255, 0.35);
}

.ek-dash-welcome__medal {
	font-size: 2rem;
	line-height: 1;
	display: block;
	margin-bottom: 0.25rem;
}

.ek-dash-welcome__rank-tier {
	display: block;
	font-size: 0.8125rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-bottom: 0.15rem;
}

.ek-dash-welcome__rank-label {
	font-size: 0.75rem;
	opacity: 0.85;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

/* Stat cards */
.ek-dash-stat {
	border: 1px solid var(--ek-dash-border);
	border-radius: 0.75rem;
	padding: 1.25rem;
	background: #fff;
	height: 100%;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ek-dash-stat:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(24, 17, 60, 0.07);
}

.ek-dash-stat__icon {
	width: 48px;
	height: 48px;
	border-radius: 0.65rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.25rem;
	margin-bottom: 0.85rem;
}

.ek-dash-stat__icon--primary { background: var(--ek-dash-primary-soft); color: var(--ek-dash-primary); }
.ek-dash-stat__icon--success { background: var(--ek-dash-success-soft); color: var(--ek-dash-success); }
.ek-dash-stat__icon--gold    { background: var(--ek-dash-gold-soft); color: var(--ek-dash-gold); }
.ek-dash-stat__icon--info    { background: var(--ek-dash-info-soft); color: var(--ek-dash-info); }

.ek-dash-stat__value {
	font-size: 1.75rem;
	font-weight: 800;
	color: var(--ek-dash-text);
	line-height: 1.1;
}

.ek-dash-stat__label {
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--ek-dash-muted);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-top: 0.25rem;
}

/* Section headers */
.ek-dash-section-title {
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--ek-dash-text);
	margin-bottom: 1rem;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: wrap;
}

.ek-dash-section-title .fe {
	color: var(--ek-dash-primary);
}

/* In-progress course cards */
.ek-dash-course-card {
	border: 1px solid var(--ek-dash-border);
	border-radius: 0.75rem;
	overflow: hidden;
	background: #fff;
	transition: box-shadow 0.2s ease;
	position: relative;
	isolation: isolate;
}

.ek-dash-course-card__img-link {
	display: block;
	height: 100%;
}

.ek-dash-course-card__title {
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--ek-dash-text);
	margin-bottom: 0.5rem;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.ek-dash-course-card__title:hover {
	color: var(--ek-dash-primary);
}

.ek-dash-progress {
	height: 6px;
	border-radius: 99px;
	background: #eef4fb;
	overflow: hidden;
}

.ek-dash-progress__bar {
	height: 100%;
	border-radius: 99px;
	background: linear-gradient(90deg, var(--ek-dash-primary-dark), var(--ek-dash-primary-light));
	transition: width 0.4s ease;
}

.ek-dash-course-card:hover {
	box-shadow: 0 6px 20px rgba(24, 17, 60, 0.08);
}

.ek-dash-course-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	min-height: 120px;
}

.ek-dash-course-card__body {
	padding: 1rem 1.25rem;
}

/* Leaderboard & Podium */
.ek-dash-card--leaderboard {
	background: linear-gradient(180deg, #fff 0%, #f5f9fd 100%);
}

.ek-dash-league-badge {
	margin-left: auto;
	font-size: 0.625rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	background: linear-gradient(90deg, #3980d4, #3b8fd6);
	color: #fff;
	padding: 0.25rem 0.55rem;
	border-radius: 99px;
}

.ek-dash-podium {
	display: grid;
	grid-template-columns: 1fr 1.15fr 1fr;
	align-items: end;
	gap: 0.5rem;
	margin-bottom: 1.25rem;
	padding: 0.5rem 0 0;
}

.ek-dash-podium__slot {
	text-align: center;
	padding: 0.75rem 0.35rem 0;
	border-radius: 0.75rem 0.75rem 0 0;
	position: relative;
	transition: transform 0.2s ease;
}

.ek-dash-podium__slot:hover {
	transform: translateY(-3px);
}

.ek-dash-podium__slot--gold {
	background: linear-gradient(180deg, rgba(255, 215, 0, 0.18) 0%, rgba(255, 215, 0, 0.04) 100%);
	border: 1px solid rgba(255, 193, 7, 0.35);
}

.ek-dash-podium__slot--silver {
	background: linear-gradient(180deg, rgba(192, 192, 192, 0.2) 0%, rgba(192, 192, 192, 0.04) 100%);
	border: 1px solid rgba(192, 192, 192, 0.4);
}

.ek-dash-podium__slot--bronze {
	background: linear-gradient(180deg, rgba(205, 127, 50, 0.18) 0%, rgba(205, 127, 50, 0.04) 100%);
	border: 1px solid rgba(205, 127, 50, 0.35);
}

.ek-dash-podium__slot.is-me {
	box-shadow: 0 0 0 2px var(--ek-dash-primary);
}

.ek-dash-podium__slot--gold .ek-dash-podium__stand {
	height: 72px;
	background: linear-gradient(180deg, #ffd700, #f59e0b);
}

.ek-dash-podium__slot--silver .ek-dash-podium__stand {
	height: 52px;
	background: linear-gradient(180deg, #e2e8f0, #94a3b8);
}

.ek-dash-podium__slot--bronze .ek-dash-podium__stand {
	height: 40px;
	background: linear-gradient(180deg, #fdba74, #c2410c);
}

.ek-dash-podium__medal {
	font-size: 1.5rem;
	line-height: 1;
	margin-bottom: 0.35rem;
}

.ek-dash-podium__slot--gold .ek-dash-podium__medal {
	font-size: 1.85rem;
}

.ek-dash-podium__avatar {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	object-fit: cover;
	border: 3px solid #fff;
	box-shadow: 0 4px 12px rgba(24, 17, 60, 0.12);
	margin-bottom: 0.35rem;
}

.ek-dash-podium__slot--gold .ek-dash-podium__avatar {
	width: 52px;
	height: 52px;
	border-color: #ffd700;
}

.ek-dash-podium__name {
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--ek-dash-text);
	line-height: 1.2;
	margin-bottom: 0.15rem;
}

.ek-dash-podium__name small {
	display: block;
	color: var(--ek-dash-primary);
	font-weight: 600;
}

.ek-dash-podium__score {
	font-size: 0.875rem;
	font-weight: 800;
	color: var(--ek-dash-primary);
	margin-bottom: 0.5rem;
}

.ek-dash-podium__score small {
	font-weight: 600;
	font-size: 0.625rem;
	color: var(--ek-dash-muted);
}

.ek-dash-podium__stand {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-weight: 800;
	font-size: 1.125rem;
	border-radius: 0.35rem 0.35rem 0 0;
}
.ek-dash-leaderboard {
	list-style: none;
	padding: 0;
	margin: 0;
}

.ek-dash-leaderboard__item {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--ek-dash-border);
}

.ek-dash-leaderboard__item:last-child {
	border-bottom: none;
}

.ek-dash-leaderboard__item.is-me {
	background: linear-gradient(90deg, var(--ek-dash-primary-soft), rgba(57, 128, 212, 0.04));
	margin: 0 -1rem;
	padding: 0.75rem 1rem;
	border-radius: 0.5rem;
	border-bottom: none;
	box-shadow: inset 3px 0 0 var(--ek-dash-primary);
}

.ek-dash-leaderboard__rank {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.75rem;
	font-weight: 700;
	flex-shrink: 0;
	background: #eef4fb;
	color: var(--ek-dash-muted);
}

.ek-dash-leaderboard__rank--1 { background: #fef3c7; color: #d97706; }
.ek-dash-leaderboard__rank--2 { background: #f1f5f9; color: #64748b; }
.ek-dash-leaderboard__rank--3 { background: #ffedd5; color: #c2410c; }

.ek-dash-leaderboard__avatar {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}

.ek-dash-leaderboard__name {
	font-weight: 600;
	font-size: 0.875rem;
	color: var(--ek-dash-text);
	flex: 1;
	min-width: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ek-dash-leaderboard__score {
	font-weight: 700;
	font-size: 0.8125rem;
	color: var(--ek-dash-primary);
	white-space: nowrap;
}

/* Popular courses grid */
.ek-dash-popular-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 1rem;
}

.ek-dash-popular-card {
	border: 1px solid var(--ek-dash-border);
	border-radius: 0.75rem;
	overflow: hidden;
	background: #fff;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ek-dash-popular-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 28px rgba(24, 17, 60, 0.1);
}

.ek-dash-popular-card__img-wrap {
	position: relative;
	aspect-ratio: 16/9;
	overflow: hidden;
}

.ek-dash-popular-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ek-dash-popular-card__badge {
	position: absolute;
	top: 0.65rem;
	left: 0.65rem;
	background: rgba(24, 17, 60, 0.75);
	color: #fff;
	font-size: 0.6875rem;
	font-weight: 600;
	padding: 0.25rem 0.55rem;
	border-radius: 99px;
	backdrop-filter: blur(4px);
}

.ek-dash-popular-card__body {
	padding: 1rem;
}

.ek-dash-popular-card__title {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--ek-dash-text);
	margin-bottom: 0.35rem;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.ek-dash-popular-card__meta {
	font-size: 0.75rem;
	color: var(--ek-dash-muted);
}

.ek-dash-leaderboard__rank {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.75rem;
	font-weight: 700;
	flex-shrink: 0;
	background: #eef4fb;
	color: var(--ek-dash-muted);
}

/* Achievement medals */
.ek-dash-card--achievements {
	position: relative;
	z-index: 5;
}

.ek-dash-medals {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
	gap: 0.75rem;
}

.ek-dash-medal {
	text-align: center;
	padding: 1rem 0.65rem;
	border-radius: 0.75rem;
	border: 2px solid var(--ek-dash-border);
	background: #f5f9fd;
	cursor: default;
	user-select: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	position: relative;
	z-index: 1;
}

.ek-dash-medal:focus {
	outline: 2px solid var(--ek-dash-primary);
	outline-offset: 2px;
}

.ek-dash-medal.is-earned:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 20px rgba(24, 17, 60, 0.1);
}

.ek-dash-medal.is-locked {
	opacity: 0.65;
	filter: grayscale(0.4);
}

.ek-dash-medal__icon-wrap {
	position: relative;
	width: 56px;
	height: 56px;
	margin: 0 auto 0.5rem;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #eee;
}

.ek-dash-medal--bronze.is-earned .ek-dash-medal__icon-wrap {
	background: linear-gradient(135deg, #fcd9b6, #cd7f32);
	box-shadow: 0 4px 14px rgba(205, 127, 50, 0.35);
}

.ek-dash-medal--silver.is-earned .ek-dash-medal__icon-wrap {
	background: linear-gradient(135deg, #f1f5f9, #94a3b8);
	box-shadow: 0 4px 14px rgba(148, 163, 184, 0.35);
}

.ek-dash-medal--gold.is-earned .ek-dash-medal__icon-wrap,
.ek-dash-medal--platinum.is-earned .ek-dash-medal__icon-wrap {
	background: linear-gradient(135deg, #ffe066, #f59e0b);
	box-shadow: 0 4px 14px rgba(245, 158, 11, 0.4);
}

.ek-dash-medal--champion.is-earned .ek-dash-medal__icon-wrap {
	background: linear-gradient(135deg, #3b8fd6, #366acf);
	box-shadow: 0 4px 14px rgba(57, 128, 212, 0.4);
}

.ek-dash-medal__emoji {
	font-size: 1.65rem;
	line-height: 1;
}

.ek-dash-medal__lock {
	position: absolute;
	bottom: -2px;
	right: -2px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #fff;
	border: 1px solid var(--ek-dash-border);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.625rem;
	color: var(--ek-dash-muted);
}

.ek-dash-medal__label {
	font-size: 0.8125rem;
	font-weight: 700;
	color: var(--ek-dash-text);
	margin-bottom: 0.2rem;
}

.ek-dash-medal__desc {
	font-size: 0.6875rem;
	color: var(--ek-dash-muted);
	line-height: 1.3;
}

.ek-dash-medal.is-earned {
	border-color: transparent;
}

.ek-dash-medal--bronze.is-earned { border-color: rgba(205, 127, 50, 0.45); background: linear-gradient(180deg, #fff, #fff8f0); }
.ek-dash-medal--silver.is-earned { border-color: rgba(148, 163, 184, 0.45); background: linear-gradient(180deg, #fff, #f8fafc); }
.ek-dash-medal--gold.is-earned,
.ek-dash-medal--platinum.is-earned { border-color: rgba(245, 158, 11, 0.45); background: linear-gradient(180deg, #fff, #fffbeb); }
.ek-dash-medal--champion.is-earned { border-color: rgba(57, 128, 212, 0.45); background: linear-gradient(180deg, #fff, #f0f6fd); }

/* Platform stats strip */
.ek-dash-platform {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	padding: 1rem 1.25rem;
	background: #f5f9fd;
	border: 1px solid var(--ek-dash-border);
	border-radius: 0.75rem;
}

.ek-dash-platform__item {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
	color: var(--ek-dash-muted);
}

.ek-dash-platform__item strong {
	color: var(--ek-dash-text);
	font-weight: 700;
}

/* Quick actions */
.ek-dash-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
}

.ek-dash-actions .btn {
	border-radius: 99px;
	font-weight: 600;
	font-size: 0.8125rem;
	padding: 0.45rem 1rem;
}

/* Card wrapper */
.ek-dash-card {
	border: 1px solid var(--ek-dash-border);
	border-radius: 0.75rem;
	background: #fff;
	padding: 1.25rem;
	height: 100%;
}

/* Tutor dashboard — kurumsal mavi (enrolled-courses vb.) */
.tutor-dashboard .btn-primary {
	--bs-btn-bg: #3980d4;
	--bs-btn-border-color: #3980d4;
	--bs-btn-hover-bg: #366acf;
	--bs-btn-hover-border-color: #366acf;
	--bs-btn-active-bg: #366acf;
	--bs-btn-active-border-color: #366acf;
	background-color: #3980d4;
	border-color: #3980d4;
}

.tutor-dashboard .btn-primary:hover,
.tutor-dashboard .btn-primary:focus,
.tutor-dashboard .btn-primary:active {
	background-color: #366acf !important;
	border-color: #366acf !important;
}

.tutor-dashboard .btn-outline-primary {
	--bs-btn-color: #3980d4;
	--bs-btn-border-color: #3980d4;
	--bs-btn-hover-bg: #3980d4;
	--bs-btn-hover-border-color: #3980d4;
	color: #3980d4;
	border-color: #3980d4;
}

.tutor-dashboard .text-primary,
.tutor-dashboard a.text-primary {
	color: #3980d4 !important;
}

.tutor-dashboard .bg-primary {
	background-color: #3980d4 !important;
}

.tutor-dashboard .bg-light-primary {
	background-color: rgba(59, 143, 214, 0.12) !important;
}

.tutor-dashboard .alert-primary {
	--bs-alert-color: #366acf;
	--bs-alert-bg: rgba(59, 143, 214, 0.1);
	--bs-alert-border-color: rgba(57, 128, 212, 0.2);
}

.tutor-dashboard .nav-lb-tab .nav-item .nav-link.active,
.tutor-dashboard .nav-lb-tab .nav-item .nav-link:hover {
	border-bottom-color: #3980d4;
	color: #3980d4;
}

.tutor-dashboard .sidenav.navbar .navbar-nav .nav-item.active,
.tutor-dashboard .sidenav.navbar .navbar-nav .nav-item .nav-link:hover,
.tutor-dashboard .sidenav.navbar .navbar-nav .active > .nav-link {
	color: #3980d4;
}

.tutor-dashboard .sidenav.navbar .navbar-nav .nav-item.active,
.tutor-dashboard .sidenav.navbar .navbar-nav .nav-item .nav-link:hover {
	background-color: rgba(59, 143, 214, 0.1);
}

.tutor-dashboard-content-inner.enrolled-courses .tutor-pagination,
.tutor-dashboard-content-inner.my-courses .tutor-pagination,
.tutor-dashboard-content .tutor-pagination {
	border-color: var(--ek-dash-border);
}

.tutor-dashboard-content-inner.enrolled-courses .tutor-pagination .page-numbers.prev,
.tutor-dashboard-content-inner.enrolled-courses .tutor-pagination .page-numbers.next,
.tutor-dashboard-content-inner.my-courses .tutor-pagination .page-numbers.prev,
.tutor-dashboard-content-inner.my-courses .tutor-pagination .page-numbers.next,
.tutor-dashboard-content .tutor-pagination .page-numbers.prev,
.tutor-dashboard-content .tutor-pagination .page-numbers.next {
	background: rgba(59, 143, 214, 0.12);
}

.tutor-dashboard .tutor-progress-value {
	background: linear-gradient(90deg, #3980d4, #3b8fd6);
}

@media (max-width: 767.98px) {
	.ek-dash-welcome {
		padding: 1.25rem;
	}

	.ek-dash-welcome__rank {
		margin-top: 1rem;
	}

	.ek-dash-popular-grid {
		grid-template-columns: 1fr;
	}

	.ek-dash-medals {
		grid-template-columns: repeat(2, 1fr);
	}

	.ek-dash-podium__name {
		font-size: 0.6875rem;
	}
}
