/**
 * Modern Tutor LMS dashboard styling for Shaolin Chan Arts Academy.
 */

.tutor-dashboard {
	--scaa-radius-sm: 10px;
	--scaa-radius-md: 14px;
	--scaa-radius-lg: 18px;
	--scaa-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.05);
	--scaa-shadow-md: 0 10px 30px rgba(15, 23, 42, 0.08);
	--scaa-shadow-lg: 0 18px 45px rgba(15, 23, 42, 0.1);
	--scaa-surface: #ffffff;
	--scaa-surface-muted: #f4f6fb;
	--scaa-border: rgba(15, 23, 42, 0.08);
	--scaa-text-muted: #64748b;
	--scaa-accent: var(--tutor-color-primary, var(--theme-palette-color-1, #2563eb));
	--scaa-accent-hover: var(--tutor-color-primary-hover, var(--theme-palette-color-2, #1d4ed8));
	--scaa-accent-soft: color-mix(in srgb, var(--scaa-accent) 12%, white);
	--scaa-transition: 180ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* Page background */
.tutor-screen-frontend-dashboard #main-container,
.tutor-screen-frontend-dashboard .site-main,
.tutor-screen-frontend-dashboard .entry-content {
	background: var(--scaa-surface-muted);
}

.tutor-dashboard.tutor-wrap {
	padding-top: 24px;
	padding-bottom: 48px;
}

.tutor-dashboard .tutor-container {
	max-width: 1240px;
}

/* Header */
.tutor-dashboard .tutor-frontend-dashboard-header {
	margin-bottom: 28px;
	padding: 24px 28px;
	background: var(--scaa-surface);
	border: 1px solid var(--scaa-border);
	border-radius: var(--scaa-radius-lg);
	box-shadow: var(--scaa-shadow-sm);
}

.tutor-dashboard .tutor-frontend-dashboard-header::after {
	display: none;
}

.tutor-dashboard .tutor-dashboard-header-avatar img,
.tutor-dashboard .tutor-dashboard-header-avatar .tutor-avatar {
	border-radius: 999px;
	box-shadow: 0 0 0 4px var(--scaa-surface), 0 0 0 6px var(--scaa-accent-soft);
}

.tutor-dashboard .tutor-dashboard-header-greetings {
	color: var(--scaa-text-muted);
	font-size: 0.95rem;
	font-weight: 500;
	letter-spacing: 0.01em;
}

.tutor-dashboard .tutor-dashboard-header-username {
	letter-spacing: -0.02em;
}

.tutor-dashboard .tutor-header-right-side .tutor-btn {
	border-radius: 999px;
	padding-inline: 20px;
	font-weight: 600;
	transition: transform var(--scaa-transition), box-shadow var(--scaa-transition), background-color var(--scaa-transition);
}

.tutor-dashboard .tutor-header-right-side .tutor-btn:hover {
	transform: translateY(-1px);
	box-shadow: var(--scaa-shadow-sm);
}

/* Layout: use grid so sidebar and content never overlap */
.tutor-dashboard .tutor-frontend-dashboard-maincontent {
	margin-inline: 0;
}

.tutor-dashboard .tutor-frontend-dashboard-maincontent > [class*="tutor-col-"] {
	padding-inline: 0;
}

@media (min-width: 768px) {
	.tutor-dashboard .tutor-frontend-dashboard-maincontent {
		display: grid;
		grid-template-columns: minmax(220px, 33.333%) minmax(0, 1fr);
		gap: 24px;
		align-items: start;
	}

	.tutor-dashboard .tutor-frontend-dashboard-maincontent > [class*="tutor-col-"] {
		width: 100% !important;
		max-width: 100% !important;
		flex: none !important;
	}
}

@media (min-width: 992px) {
	.tutor-dashboard .tutor-frontend-dashboard-maincontent {
		grid-template-columns: minmax(240px, 25%) minmax(0, 1fr);
	}
}

/* Sidebar */
@media (min-width: 768px) {
	.tutor-dashboard .tutor-dashboard-left-menu {
		position: sticky;
		top: calc(var(--admin-bar, 0px) + 24px);
	}
}

.tutor-dashboard .tutor-dashboard-left-menu .tutor-dashboard-permalinks {
	margin: 0;
	padding: 14px;
	background: var(--scaa-surface);
	border: 1px solid var(--scaa-border);
	border-radius: var(--scaa-radius-lg);
	box-shadow: var(--scaa-shadow-sm);
}

.tutor-dashboard .tutor-frontend-dashboard-maincontent ul.tutor-dashboard-permalinks::before {
	display: none;
}

.tutor-dashboard .tutor-dashboard-left-menu .tutor-dashboard-menu-item {
	margin-bottom: 4px;
}

.tutor-dashboard .tutor-dashboard-left-menu .tutor-dashboard-menu-item-link {
	padding: 12px 14px;
	border-radius: var(--scaa-radius-sm);
	font-weight: 500;
	transition: background-color var(--scaa-transition), color var(--scaa-transition), transform var(--scaa-transition);
}

.tutor-dashboard .tutor-dashboard-left-menu .tutor-dashboard-menu-item-link:hover {
	background: var(--scaa-surface-muted);
}

.tutor-dashboard .tutor-dashboard-left-menu .tutor-dashboard-menu-item-icon {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
}

.tutor-dashboard .tutor-round-box {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 14px;
	background: var(--scaa-accent-soft);
	color: var(--scaa-accent);
}

.tutor-dashboard .tutor-dashboard-left-menu .tutor-dashboard-permalinks li.active a,
.tutor-dashboard .tutor-dashboard-left-menu .tutor-dashboard-menu-item.active a {
	background: linear-gradient(135deg, var(--scaa-accent), var(--scaa-accent-hover));
	border-radius: var(--scaa-radius-sm);
	box-shadow: 0 8px 18px rgba(15, 23, 42, 0.12);
}

.tutor-dashboard .tutor-dashboard-left-menu .tutor-dashboard-permalinks li.active a:hover,
.tutor-dashboard .tutor-dashboard-left-menu .tutor-dashboard-menu-item.active a:hover {
	background: linear-gradient(135deg, var(--scaa-accent-hover), var(--scaa-accent));
}

.tutor-dashboard .tutor-dashboard-menu-divider-header {
	padding: 10px 14px 6px;
	color: var(--scaa-text-muted);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.tutor-dashboard .tutor-dashboard-menu-divider {
	margin: 8px 0;
	border-top: 1px solid var(--scaa-border);
}

/* Content area */
.tutor-dashboard .tutor-dashboard-content {
	padding: 28px 32px;
	background: var(--scaa-surface);
	border: 1px solid var(--scaa-border);
	border-radius: var(--scaa-radius-lg);
	box-shadow: var(--scaa-shadow-sm);
	min-height: 420px;
}

.tutor-dashboard .tutor-dashboard-title,
.tutor-dashboard .tutor-dashboard-content > .tutor-fs-5.tutor-fw-medium {
	margin-bottom: 24px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--scaa-border);
	font-size: 1.35rem;
	letter-spacing: -0.02em;
}

/* Cards & stats */
.tutor-dashboard .tutor-card {
	border: 1px solid var(--scaa-border);
	border-radius: var(--scaa-radius-md);
	box-shadow: var(--scaa-shadow-sm);
	overflow: hidden;
	transition: transform var(--scaa-transition), box-shadow var(--scaa-transition);
}

.tutor-dashboard .tutor-card:not(.tutor-no-border) {
	border-color: var(--scaa-border);
}

.tutor-dashboard .tutor-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--scaa-shadow-md);
}

.tutor-dashboard .tutor-profile-completion.tutor-card {
	border-left: 4px solid var(--scaa-accent);
}

/* Hide cover/profile photo uploader on settings page */
.tutor-dashboard #tutor_profile_cover_photo_editor {
	display: none !important;
}

/* Hide selected profile settings fields */
.tutor-dashboard .tutor-dashboard-setting-profile .tutor-row:has(input[name="tutor_profile_job_title"]),
.tutor-dashboard .tutor-dashboard-setting-profile .tutor-row:has(#tutor_profile_bio),
.tutor-dashboard .tutor-dashboard-setting-profile .tutor-row:has(select[name="display_name"]) {
	display: none !important;
}

/* Hide "Customize Preference" title and content on notification settings (class added via JS) */
.tutor-dashboard .scaa-hidden-customize-preference {
	display: none !important;
}

/* Tables */
.tutor-dashboard .tutor-table {
	border: 1px solid var(--scaa-border);
	border-radius: var(--scaa-radius-md);
	overflow: hidden;
	border-collapse: separate;
	border-spacing: 0;
}

.tutor-dashboard .tutor-table thead th {
	background: var(--scaa-surface-muted);
	border-bottom: 1px solid var(--scaa-border);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.tutor-dashboard .tutor-table tbody tr:hover {
	background: rgba(15, 23, 42, 0.02);
}

/* Forms & inputs */
.tutor-dashboard .tutor-form-control,
.tutor-dashboard .tutor-form-select,
.tutor-dashboard input[type="text"],
.tutor-dashboard input[type="email"],
.tutor-dashboard input[type="password"],
.tutor-dashboard input[type="search"],
.tutor-dashboard textarea,
.tutor-dashboard select {
	border: 1px solid var(--scaa-border);
	border-radius: var(--scaa-radius-sm);
	transition: border-color var(--scaa-transition), box-shadow var(--scaa-transition);
}

.tutor-dashboard .tutor-form-control:focus,
.tutor-dashboard .tutor-form-select:focus,
.tutor-dashboard input:focus,
.tutor-dashboard textarea:focus,
.tutor-dashboard select:focus {
	border-color: var(--scaa-accent);
	box-shadow: 0 0 0 3px var(--scaa-accent-soft);
	outline: none;
}

/* Buttons */
.tutor-dashboard .tutor-btn {
	border-radius: 999px;
	font-weight: 600;
	transition: transform var(--scaa-transition), box-shadow var(--scaa-transition), background-color var(--scaa-transition);
}

.tutor-dashboard .tutor-btn-primary,
.tutor-dashboard .tutor-btn-outline-primary:hover {
	box-shadow: 0 8px 18px rgba(15, 23, 42, 0.12);
}

.tutor-dashboard .tutor-btn:hover {
	transform: translateY(-1px);
}

/* Alerts */
.tutor-dashboard .tutor-alert {
	border: 1px solid var(--scaa-border);
	border-radius: var(--scaa-radius-md);
	box-shadow: var(--scaa-shadow-sm);
}

/* Course cards in dashboard lists */
.tutor-dashboard .tutor-course-card,
.tutor-dashboard .tutor-card-list-item {
	border-radius: var(--scaa-radius-md);
}

/* Mobile footer – navigation lives in the theme header instead */
#tutor-dashboard-footer-mobile {
	display: none !important;
}

@media (max-width: 767px) {
	/* Tutor reserves space for the fixed mobile nav bar – no longer needed */
	body.tutor-screen-frontend-dashboard {
		padding-bottom: 0 !important;
	}

	.tutor-dashboard.tutor-wrap,
	.tutor-dashboard.tutor-wrap.tutor-pb-80 {
		padding-bottom: 0 !important;
	}

	.tutor-dashboard .tutor-dashboard-left-menu {
		display: none !important;
	}

	body.tutor-screen-frontend-dashboard footer.ct-footer {
		padding-bottom: env(safe-area-inset-bottom, 0px);
	}

	.tutor-dashboard .tutor-dashboard-content {
		padding: 20px;
	}

	.tutor-dashboard .tutor-frontend-dashboard-header {
		padding: 20px;
	}
}

@media (max-width: 767px) {
	.tutor-dashboard.tutor-wrap {
		padding-top: 12px;
	}

	.tutor-dashboard .tutor-frontend-dashboard-header {
		border-radius: var(--scaa-radius-md);
	}

	.tutor-dashboard .tutor-dashboard-content {
		border-radius: var(--scaa-radius-md);
	}
}
