.academy-core-access-banner {
	margin: 16px 0 8px;
}

.academy-core-access-banner .tutor-container {
	padding-bottom: 0;
}

.academy-core-subscription {
	margin: 0;
	border: 1px solid #e9edf2;
	border-radius: 14px;
	background: #fff;
	overflow: hidden;
}

.academy-core-subscription--active {
	border-color: #d5ead9;
}

.academy-core-subscription--pending {
	border-color: #d8e5fb;
}

.academy-core-subscription--expired {
	border-color: #efd6d6;
}

.academy-core-subscription__toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	width: 100%;
	padding: 18px 20px;
	border: 0;
	background: #fff;
	text-align: left;
	cursor: pointer;
}

.academy-core-subscription__toggle:focus-visible {
	outline: none;
	box-shadow: inset 0 0 0 2px rgba(34, 113, 177, 0.22);
}

.academy-core-subscription__copy {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.academy-core-subscription__eyebrow {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
	color: #98a2b3;
}

.academy-core-subscription__title {
	font-size: 22px;
	font-weight: 600;
	line-height: 1.2;
	color: #101828;
}

.academy-core-subscription__subtitle {
	font-size: 14px;
	line-height: 1.45;
	color: #667085;
}

.academy-core-subscription__meta {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	flex: 0 0 auto;
	margin-left: auto;
}

.academy-core-subscription__chevron {
	position: relative;
	width: 20px;
	height: 20px;
	color: #101828;
}

.academy-core-subscription__chevron::before {
	content: "";
	position: absolute;
	top: 4px;
	left: 4px;
	width: 10px;
	height: 10px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}

.academy-core-subscription.is-open .academy-core-subscription__chevron::before {
	transform: rotate(225deg);
}

.academy-core-subscription__panel {
	padding-top: 0;
	border-top: 1px solid #eaecf0;
	background: #fff;
}

.academy-core-subscription__panel[hidden] {
	display: none !important;
}

.academy-core-dashboard-has-subscription > .academy-core-subscription {
	margin: 16px 0 12px;
}

.academy-core-dashboard-has-subscription > .academy-core-subscription + .tutor-frontend-dashboard-header {
	align-items: flex-start;
	padding-top: 0;
	padding-bottom: 0;
}

.academy-core-dashboard-has-subscription > .academy-core-subscription + .tutor-frontend-dashboard-header .tutor-header-left-side,
.academy-core-dashboard-has-subscription > .academy-core-subscription + .tutor-frontend-dashboard-header .tutor-header-right-side {
	align-items: flex-start !important;
}

.academy-core-dashboard-has-subscription > .academy-core-subscription + .tutor-frontend-dashboard-header .tutor-header-right-side {
	margin-top: 0 !important;
}

.academy-core-dashboard-has-subscription > .academy-core-subscription + .tutor-frontend-dashboard-header .tutor-user-info {
	margin-top: 0;
}

.academy-core-dashboard-has-subscription > .academy-core-subscription + .tutor-frontend-dashboard-header::after {
	bottom: -1px;
}

.academy-core-dashboard-has-subscription > .tutor-frontend-dashboard-maincontent {
	margin-top: 0;
}

.academy-core-subscription__panel-grid {
	display: grid;
	grid-template-columns: minmax(220px, 260px) minmax(0, 1fr);
	gap: 16px;
	align-items: start;
}

.academy-core-subscription__metric {
	padding: 18px;
	border: 1px solid #edf1f5;
	border-radius: 14px;
	background: #f8fafc;
	align-self: start;
}

.academy-core-subscription__metric--active {
	background: #eef8f1;
}

.academy-core-subscription__metric--pending {
	background: #f2f7ff;
}

.academy-core-subscription__metric--expired {
	background: #fff4f4;
}

.academy-core-subscription__metric-label {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
	color: #98a2b3;
}

.academy-core-subscription__metric-main {
	display: flex;
	align-items: flex-end;
	gap: 10px;
	margin-top: 12px;
}

.academy-core-subscription__metric-value {
	font-size: 30px;
	font-weight: 700;
	line-height: 1;
	color: #101828;
}

.academy-core-subscription__metric-note {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	color: #475467;
}

.academy-core-subscription__headline {
	font-size: 24px;
	font-weight: 600;
	line-height: 1.25;
	color: #101828;
}

.academy-core-access-eyebrow {
	letter-spacing: 0.08em;
}

.academy-core-access-meter-value {
	margin-top: 12px;
	font-size: clamp(30px, 4vw, 40px);
	font-weight: 700;
	line-height: 1;
}

.academy-core-access-copy {
	margin: 12px 0 0;
	max-width: 680px;
	font-size: 15px;
	line-height: 1.6;
	color: #667085;
}

.academy-core-access-chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.academy-core-access-chip--active {
	background: #e9f8ee;
	color: #1f7a3f;
}

.academy-core-access-chip--pending {
	background: #edf4ff;
	color: #2563eb;
}

.academy-core-access-chip--expired {
	background: #fff0f0;
	color: #c0392b;
}

.academy-core-access-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	gap: 12px;
}

.academy-core-access-stats--admin {
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.academy-core-access-stats--notice {
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.academy-core-access-stat {
	padding: 12px 14px;
	border: 1px solid #edf0f4;
	border-radius: 12px;
	background: #fff;
}

.academy-core-lesson-lock-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: clamp(360px, 56vh, 620px);
	padding: 24px 0;
}

.academy-core-locked-lesson .tutor-course-single-content-wrapper {
	min-height: auto;
}

.academy-core-locked-lesson #tutor-single-entry-content {
	display: block;
	min-height: auto;
}

.academy-core-locked-lesson #tutor-course-spotlight-overview,
.academy-core-locked-lesson #tutor-course-spotlight-overview > .tutor-container,
.academy-core-locked-lesson #tutor-course-spotlight-overview > .tutor-container > .tutor-row {
	min-height: auto;
}

.academy-core-locked-lesson #tutor-course-spotlight-overview > .tutor-container > .tutor-row {
	align-items: flex-start;
}

.academy-core-lesson-lock-wrap .tutor-container {
	width: 100%;
	max-width: 100%;
	padding-bottom: 0;
}

.academy-core-lesson-lock-wrap .tutor-row {
	min-height: inherit;
}

.academy-core-lesson-lock-notice {
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.academy-core-lesson-lock-notice .tutor-alert-text {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	flex: 1 1 auto;
}

.academy-core-lesson-lock-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 18px;
	padding-left: 44px;
	flex: 0 0 auto;
}

.academy-core-mobile-lesson-header-actions {
	gap: 10px;
}

.academy-core-mobile-sidebar-toggle {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
}

/* Replace Tutor Pro's fixed-position scroll snap with native sticky behavior. */
#tutor_calendar_wrapper .tutor-calendar-sticky-wrapper {
	width: auto !important;
	height: auto !important;
}

#tutor_calendar_wrapper .tutor-calendar-wrapper {
	width: auto !important;
	max-width: 100%;
	box-sizing: border-box;
}

@media screen and (min-width: 769px) {
	#tutor_calendar_wrapper .tutor-calendar-wrapper {
		position: sticky !important;
		top: 0 !important;
	}

	body.admin-bar #tutor_calendar_wrapper .tutor-calendar-wrapper {
		top: 32px !important;
	}
}

.academy-core-access-stat--soft {
	border-color: transparent;
	background: #f7f9fb;
}

@media (max-width: 1199px) {
	.academy-core-locked-lesson .tutor-course-single-content-wrapper {
		min-height: calc(100dvh - 92px);
	}

	.academy-core-locked-lesson #tutor-single-entry-content {
		display: flex;
		flex-direction: column;
		justify-content: center;
		min-height: inherit;
	}

	.academy-core-locked-lesson #tutor-course-spotlight-overview,
	.academy-core-locked-lesson #tutor-course-spotlight-overview > .tutor-container,
	.academy-core-locked-lesson #tutor-course-spotlight-overview > .tutor-container > .tutor-row {
		min-height: inherit;
	}

	.academy-core-locked-lesson #tutor-course-spotlight-overview > .tutor-container > .tutor-row {
		align-items: center;
	}

	.academy-core-lesson-lock-wrap {
		min-height: inherit;
		padding: 18px 0;
	}

	.academy-core-lesson-lock-notice {
		flex-direction: column;
		align-items: stretch;
		gap: 20px;
	}

	.academy-core-lesson-lock-notice .tutor-alert-text {
		width: 100%;
	}

	.academy-core-lesson-lock-actions {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding-left: 0;
		width: 100%;
		margin-top: 0;
	}

	.academy-core-lesson-lock-actions .academy-core-mobile-sidebar-toggle {
		grid-column: 1 / -1;
		justify-content: center;
		width: 100%;
	}

	.academy-core-lesson-lock-actions .tutor-btn {
		justify-content: center;
		width: 100%;
	}
}

@media (max-width: 767px) {
	.academy-core-locked-lesson .tutor-course-single-content-wrapper {
		min-height: calc(100dvh - 76px);
	}

	.academy-core-locked-lesson #tutor-single-entry-content {
		padding-top: 8px;
		padding-bottom: 8px;
	}

	.academy-core-lesson-lock-wrap {
		padding: 10px 0;
	}

	.academy-core-lesson-lock-notice .tutor-alert-text {
		gap: 12px;
	}

	.academy-core-lesson-lock-actions {
		grid-template-columns: 1fr;
	}

	.academy-core-lesson-lock-actions .tutor-btn {
		justify-content: center;
		width: 100%;
	}

	.academy-core-mobile-sidebar-toggle {
		padding-left: 14px;
		padding-right: 14px;
	}
}

.academy-core-locked-lesson .tutor-spotlight-mobile-progress-complete {
	display: none !important;
}

.academy-core-student-access-inline {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.academy-core-student-access-tariff {
	min-width: 68px;
}

.academy-core-admin-panel .academy-core-admin-surface {
	border: 1px solid #e6eaf0;
	border-radius: 16px;
	box-shadow: none;
}

.academy-core-course-notice {
	border: 1px solid #d9e1ea;
	border-radius: 18px;
	background: #fff;
}

.academy-core-slide-deck {
	display: grid;
	gap: 18px;
	margin-top: 28px;
}

.academy-core-slide-deck__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
}

.academy-core-slide-deck__head-copy {
	max-width: 720px;
}

.academy-core-slide-deck__eyebrow {
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
	color: #5b6f86;
}

.academy-core-slide-deck__title {
	margin: 0;
	font-size: clamp(28px, 4vw, 40px);
	font-weight: 700;
	line-height: 1.05;
	color: #0f172a;
}

.academy-core-slide-deck__counter {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	border: 1px solid #d7e2f0;
	border-radius: 999px;
	background: #f7faff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	color: #304256;
}

.academy-core-slide-deck__stage {
	position: relative;
}

.academy-core-slide {
	display: none;
	padding: 30px;
	border: 1px solid #dce6f3;
	border-radius: 28px;
	background:
		radial-gradient(circle at top right, rgba(79, 109, 245, 0.14), transparent 32%),
		linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
	box-shadow: 0 18px 36px rgba(15, 23, 42, 0.05);
}

.academy-core-slide.is-active {
	display: grid;
	gap: 18px;
}

.academy-core-slide__meta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	padding: 7px 12px;
	border-radius: 999px;
	background: #ecf3ff;
	color: #3556d8;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.academy-core-slide__title {
	margin: 0;
	font-size: clamp(26px, 3.5vw, 38px);
	font-weight: 700;
	line-height: 1.08;
	color: #0f172a;
}

.academy-core-slide__lead {
	margin: 0;
	font-size: 19px;
	line-height: 1.7;
	color: #425466;
}

.academy-core-slide__list {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.academy-core-slide__list li {
	position: relative;
	padding-left: 28px;
	font-size: 17px;
	line-height: 1.7;
	color: #1f2f40;
}

.academy-core-slide__list li::before {
	content: "";
	position: absolute;
	top: 10px;
	left: 0;
	width: 10px;
	height: 10px;
	border-radius: 999px;
	background: #4f6df5;
	box-shadow: 0 0 0 5px rgba(79, 109, 245, 0.12);
}

.academy-core-slide__note {
	padding: 16px 18px;
	border: 1px solid #dbe7f5;
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.75);
	font-size: 15px;
	line-height: 1.7;
	color: #4b5f75;
}

.academy-core-slide-deck__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
}

.academy-core-slide-deck__dots {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.academy-core-slide-deck__dot {
	width: 11px;
	height: 11px;
	border: 0;
	border-radius: 999px;
	background: #ced8e5;
	cursor: pointer;
	transition: transform 0.2s ease, background-color 0.2s ease;
}

.academy-core-slide-deck__dot.is-active {
	background: #4f6df5;
	transform: scale(1.15);
}

.academy-core-slide-deck__actions {
	display: flex;
	align-items: center;
	gap: 10px;
}

.academy-core-slide-deck__button {
	min-height: 44px;
	padding: 10px 18px;
	border: 1px solid #d2dbe7;
	border-radius: 999px;
	background: #fff;
	color: #243447;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.academy-core-slide-deck__button:hover:not(:disabled) {
	border-color: #b7c8dc;
	background: #f8fbff;
}

.academy-core-slide-deck__button--primary {
	border-color: #4f6df5;
	background: #4f6df5;
	color: #fff;
}

.academy-core-slide-deck__button--primary:hover:not(:disabled) {
	border-color: #3f5adb;
	background: #3f5adb;
}

.academy-core-slide-deck__button:disabled {
	opacity: 0.45;
	cursor: default;
}

.academy-core-lesson-overview {
	display: grid;
	gap: 18px;
	margin-top: 28px;
}

.academy-core-lesson-overview__lead {
	font-size: 18px;
	line-height: 1.7;
	color: #405062;
}

.academy-core-lesson-overview__lead p {
	margin: 0;
}

.academy-methodology-slide {
	margin-top: 16px;
}

.academy-methodology-content {
	display: grid;
	gap: 16px;
	color: #223244;
	font-size: 17px;
	line-height: 1.75;
}

.academy-methodology-content > * {
	margin: 0;
}

.academy-methodology-content p {
	margin: 0;
	font-size: 17px;
	line-height: 1.75;
	color: #223244;
}

.academy-methodology-content h2,
.academy-methodology-content h3,
.academy-methodology-content h4 {
	margin: 8px 0 0;
	font-weight: 700;
	line-height: 1.3;
	color: #0f172a;
}

.academy-methodology-content h2 {
	font-size: 28px;
}

.academy-methodology-content h3 {
	font-size: 23px;
}

.academy-methodology-content h4 {
	font-size: 19px;
}

.academy-methodology-content .academy-methodology-subtitle {
	margin-top: 8px;
	font-size: 21px;
	line-height: 1.4;
	color: #0f172a;
}

.academy-methodology-content .academy-methodology-label {
	margin-top: 4px;
	font-size: 16px;
	line-height: 1.55;
	color: #0f172a;
}

.academy-methodology-content .academy-methodology-list {
	display: grid;
	gap: 8px;
	margin: 0;
	padding-left: 22px;
}

.academy-methodology-content ul,
.academy-methodology-content ol,
.academy-methodology-content .academy-methodology-list {
	display: grid;
	gap: 8px;
	margin: 0;
	padding-left: 22px;
}

.academy-methodology-content ul li,
.academy-methodology-content ol li,
.academy-methodology-content .academy-methodology-list li {
	margin: 0;
	padding-left: 4px;
	font-size: 17px;
	line-height: 1.7;
	color: #223244;
}

.academy-methodology-content hr {
	width: 100%;
	height: 1px;
	margin: 6px 0;
	border: 0;
	background: #d8e0ea;
}

.academy-methodology-content a {
	color: #3559e0;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.academy-methodology-content .academy-methodology-table {
	width: 100%;
	margin-top: 4px;
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 16px;
	line-height: 1.55;
	background: #fff;
}

.academy-methodology-content .academy-methodology-table th,
.academy-methodology-content .academy-methodology-table td {
	padding: 12px 14px;
	border: 1px solid #d8e0ea;
	text-align: left;
	vertical-align: top;
}

.academy-methodology-content table {
	width: 100%;
	margin-top: 4px;
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 16px;
	line-height: 1.55;
	background: #fff;
}

.academy-methodology-content table th,
.academy-methodology-content table td {
	padding: 12px 14px;
	border: 1px solid #d8e0ea;
	text-align: left;
	vertical-align: top;
}

.academy-methodology-content .academy-methodology-table th {
	font-weight: 700;
	color: #0f172a;
	background: #f7f9fc;
}

.academy-methodology-content table th {
	font-weight: 700;
	color: #0f172a;
	background: #f7f9fc;
}

.academy-methodology-content blockquote {
	margin: 0;
	padding: 16px 18px;
	border-left: 3px solid #3559e0;
	border-radius: 0 12px 12px 0;
	background: #f7f9fc;
	color: #223244;
}

.academy-core-lesson-card {
	padding: 24px 26px;
	border: 1px solid #e4ebf3;
	border-radius: 20px;
	background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
	box-shadow: 0 14px 30px rgba(15, 23, 42, 0.04);
}

.academy-core-lesson-card--accent {
	border-color: #dbe8ff;
	background: linear-gradient(180deg, #f9fbff 0%, #eef4ff 100%);
}

.academy-core-lesson-card__eyebrow {
	margin: 0 0 14px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
	color: #5b6f86;
}

.academy-core-lesson-card__text {
	margin: 0;
	font-size: 17px;
	line-height: 1.75;
	color: #223244;
}

.academy-core-lesson-checklist {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.academy-core-lesson-checklist li {
	position: relative;
	padding-left: 28px;
	font-size: 17px;
	line-height: 1.65;
	color: #223244;
}

.academy-core-lesson-checklist li::before {
	content: "";
	position: absolute;
	top: 10px;
	left: 0;
	width: 10px;
	height: 10px;
	border-radius: 999px;
	background: #4f6df5;
	box-shadow: 0 0 0 5px rgba(79, 109, 245, 0.12);
}

.academy-core-lesson-files {
	margin-top: 28px;
}

.academy-core-lesson-files__heading {
	margin-bottom: 18px;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.2;
	color: #0f172a;
}

.tutor-qna-spotlight-sidebar {
	display: grid;
	gap: 16px;
	padding: 0;
}

.tutor-qna-spotlight-sidebar > .tutor-qna-single-question:empty {
	display: none;
}

.tutor-qna-spotlight-sidebar .tutor-qa-new[data-context="course-single-qna-sidebar"] {
	position: static;
	width: auto;
	margin: 0;
	padding: 18px;
	border: 1px solid #e4ebf3;
	border-radius: 20px;
	background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
	box-shadow: 0 14px 30px rgba(15, 23, 42, 0.05);
}

.tutor-qna-spotlight-sidebar .tutor-qa-new[data-context="course-single-qna-sidebar"] .tutor-quesanswer-askquestion {
	display: grid;
	gap: 14px;
}

.tutor-qna-spotlight-sidebar .tutor-qa-new[data-context="course-single-qna-sidebar"] .tutor-quesanswer-askquestion:not(.tutor-quesanswer-askquestion-expand) .sidebar-ask-new-qna-submit,
.tutor-qna-spotlight-sidebar .tutor-qa-new[data-context="course-single-qna-sidebar"] .tutor-quesanswer-askquestion:not(.tutor-quesanswer-askquestion-expand) .wp-editor-wrap,
.tutor-qna-spotlight-sidebar .tutor-qa-new[data-context="course-single-qna-sidebar"] .tutor-quesanswer-askquestion:not(.tutor-quesanswer-askquestion-expand) textarea {
	display: none;
}

.tutor-qna-spotlight-sidebar .tutor-qa-new[data-context="course-single-qna-sidebar"] .tutor-quesanswer-askquestion.tutor-quesanswer-askquestion-expand .sidebar-ask-new-qna-btn-wrap {
	display: none;
}

.tutor-qna-spotlight-sidebar .tutor-qa-new[data-context="course-single-qna-sidebar"] .wp-editor-wrap,
.tutor-qna-spotlight-sidebar .tutor-qa-new[data-context="course-single-qna-sidebar"] .wp-editor-wrap * {
	max-width: 100%;
}

.tutor-qna-spotlight-sidebar .tutor-qa-new[data-context="course-single-qna-sidebar"] .wp-editor-wrap {
	border-radius: 16px;
	overflow: hidden;
}

.tutor-qna-spotlight-sidebar .tutor-qa-new[data-context="course-single-qna-sidebar"] textarea {
	min-height: 160px !important;
}

.tutor-qna-spotlight-sidebar .tutor-qa-new[data-context="course-single-qna-sidebar"] .sidebar-ask-new-qna-submit {
	margin-top: 0;
}

.tutor-qna-spotlight-sidebar .tutor-qa-new[data-context="course-single-qna-sidebar"] .sidebar-ask-new-qna-btn,
.tutor-qna-spotlight-sidebar .tutor-qa-new[data-context="course-single-qna-sidebar"] .sidebar-ask-new-qna-cancel-btn,
.tutor-qna-spotlight-sidebar .tutor-qa-new[data-context="course-single-qna-sidebar"] .sidebar-ask-new-qna-submit-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	border-radius: 14px;
	font-weight: 600;
}

.tutor-qna-spotlight-sidebar .tutor-qa-new[data-context="course-single-qna-sidebar"] .sidebar-ask-new-qna-btn {
	width: 100%;
}

.single-lesson .tutor-course-topic-single-footer,
.single-tutor_assignments .tutor-course-topic-single-footer,
.single-tutor_quiz .tutor-course-topic-single-footer {
	margin-top: 24px !important;
}

.academy-assignment-feedback-summary {
	display: grid;
	gap: 16px;
	padding: 24px;
	border: 1px solid #e6ebf5;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 20px 45px rgba(15, 23, 42, 0.05);
}

.academy-assignment-feedback-summary__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}

.academy-assignment-feedback-summary__eyebrow {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #64748b;
}

.academy-assignment-feedback-summary__title {
	margin-top: 6px;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.15;
	color: #111827;
}

.academy-assignment-feedback-summary__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 8px 14px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
}

.academy-assignment-feedback-summary__badge--pending {
	background: rgba(59, 130, 246, 0.14);
	color: #2563eb;
}

.academy-assignment-feedback-summary__badge--reviewed {
	background: rgba(34, 197, 94, 0.16);
	color: #15803d;
}

.academy-assignment-feedback-summary__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 20px;
	font-size: 14px;
	color: #475569;
}

.academy-assignment-feedback-summary__meta strong {
	color: #0f172a;
}

.academy-assignment-feedback-summary__body {
	font-size: 17px;
	line-height: 1.75;
	color: #1f2937;
}

.academy-assignment-feedback-summary__body > :first-child {
	margin-top: 0;
}

.academy-assignment-feedback-summary__body > :last-child {
	margin-bottom: 0;
}

@media (min-width: 768px) {
	.single-courses .tutor-course-details-header {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		column-gap: 24px;
		row-gap: 12px;
	}

	.single-courses .tutor-course-details-header .tutor-course-details-title {
		grid-column: 1;
		margin-top: 0;
	}

	.single-courses .tutor-course-details-header .tutor-course-details-top {
		grid-column: 2;
		grid-row: 1;
		margin-top: 0;
	}

	.single-courses .tutor-course-details-header .tutor-course-details-top .tutor-row {
		margin: 0;
	}

	.single-courses .tutor-course-details-header .tutor-course-details-top .tutor-row > .tutor-col {
		display: none;
	}

	.single-courses .tutor-course-details-header .tutor-course-details-top .tutor-row > .tutor-col-auto {
		width: auto;
		max-width: none;
		padding: 0;
	}

	.single-courses .tutor-course-details-header .tutor-course-details-actions {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		flex-wrap: wrap;
		gap: 8px;
		margin-top: 0 !important;
	}

	.single-courses .tutor-course-details-header .tutor-course-wishlist-btn {
		margin-right: 0 !important;
	}

}

@media (max-width: 767px) {
	.single-courses .tutor-course-details-header .tutor-course-details-top {
		margin-top: 16px;
	}

	.single-courses .tutor-course-details-header .tutor-course-details-top .tutor-row {
		margin: 0;
	}

	.single-courses .tutor-course-details-header .tutor-course-details-top .tutor-row > .tutor-col {
		display: none;
	}

	.single-courses .tutor-course-details-header .tutor-course-details-top .tutor-row > .tutor-col-auto {
		width: 100%;
		max-width: 100%;
		padding: 0;
	}

	.single-courses .tutor-course-details-header .tutor-course-details-actions {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		flex-wrap: wrap;
		gap: 8px;
		margin-top: 0 !important;
	}

	.single-courses .tutor-course-details-header .tutor-course-wishlist-btn {
		margin-right: 0 !important;
	}

	.academy-assignment-feedback-summary {
		padding: 20px;
	}

	.academy-assignment-feedback-summary__header {
		flex-direction: column;
		align-items: flex-start;
	}

	.academy-assignment-feedback-summary__title {
		font-size: 22px;
	}

	.academy-assignment-feedback-summary__meta {
		flex-direction: column;
		gap: 8px;
	}

	.academy-assignment-feedback-summary__body {
		font-size: 16px;
	}
}

.single-courses .tutor-course-details-content .tutor-fs-6 {
	max-width: 1040px;
	font-size: 16px;
	line-height: 1.75;
}

.single-courses .tutor-course-details-content .tutor-fs-6 > *:last-child {
	margin-bottom: 0;
}

.single-courses .tutor-course-details-content .tutor-fs-6 p,
.single-courses .tutor-course-details-content .tutor-fs-6 ul,
.single-courses .tutor-course-details-content .tutor-fs-6 ol,
.single-courses .tutor-course-details-content .tutor-fs-6 blockquote,
.single-courses .tutor-course-details-content .tutor-fs-6 table,
.single-courses .tutor-course-details-content .tutor-fs-6 pre {
	margin: 0 0 24px;
}

.single-courses .tutor-course-details-content .tutor-fs-6 h1,
.single-courses .tutor-course-details-content .tutor-fs-6 h2,
.single-courses .tutor-course-details-content .tutor-fs-6 h3,
.single-courses .tutor-course-details-content .tutor-fs-6 h4,
.single-courses .tutor-course-details-content .tutor-fs-6 h5,
.single-courses .tutor-course-details-content .tutor-fs-6 h6 {
	font-family: var(--body-font), sans-serif;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: normal;
	text-transform: none;
	margin: 0 0 20px;
}

.single-courses .tutor-course-details-content .tutor-fs-6 h1 {
	font-size: clamp(2rem, 1.7rem + 1vw, 2.625rem);
}

.single-courses .tutor-course-details-content .tutor-fs-6 h2 {
	font-size: clamp(1.75rem, 1.55rem + 0.7vw, 2.25rem);
}

.single-courses .tutor-course-details-content .tutor-fs-6 h3 {
	font-size: clamp(1.5rem, 1.35rem + 0.4vw, 1.875rem);
}

.single-courses .tutor-course-details-content .tutor-fs-6 h4 {
	font-size: 1.375rem;
}

.single-courses .tutor-course-details-content .tutor-fs-6 h5 {
	font-size: 1.25rem;
}

.single-courses .tutor-course-details-content .tutor-fs-6 h6 {
	font-size: 1.125rem;
}

.single-courses .tutor-course-details-content .tutor-fs-6 ul,
.single-courses .tutor-course-details-content .tutor-fs-6 ol {
	padding-left: 1.5em;
}

.single-courses .tutor-course-details-content .tutor-fs-6 li {
	margin-bottom: 8px;
}

.single-courses .tutor-course-details-content .tutor-fs-6 li:last-child {
	margin-bottom: 0;
}

.single-courses .tutor-course-details-content .tutor-fs-6 li > ul,
.single-courses .tutor-course-details-content .tutor-fs-6 li > ol {
	margin-top: 8px;
	margin-bottom: 0;
}

.single-courses .tutor-course-details-content .tutor-fs-6 img,
.single-courses .tutor-course-details-content .tutor-fs-6 iframe,
.single-courses .tutor-course-details-content .tutor-fs-6 video {
	max-width: 100%;
	height: auto;
}

@media (max-width: 767px) {
	.academy-core-slide-deck {
		margin-top: 20px;
	}

	.academy-core-slide {
		padding: 20px 18px;
		border-radius: 20px;
	}

	.academy-core-slide__lead {
		font-size: 16px;
	}

	.academy-core-slide__list li {
		font-size: 15px;
	}

	.academy-core-slide-deck__footer {
		align-items: flex-start;
	}

	.academy-core-slide-deck__actions {
		width: 100%;
		justify-content: space-between;
	}

	.academy-core-slide-deck__button {
		flex: 1 1 0;
	}

	.academy-core-lesson-overview {
		margin-top: 20px;
		gap: 14px;
	}

	.academy-core-lesson-overview__lead {
		font-size: 16px;
	}

	.academy-core-lesson-card {
		padding: 18px;
		border-radius: 16px;
	}

	.academy-core-lesson-card__text,
	.academy-core-lesson-checklist li {
		font-size: 15px;
	}

	.academy-methodology-content {
		gap: 14px;
		font-size: 15px;
	}

	.academy-methodology-content p,
	.academy-methodology-content .academy-methodology-list li {
		font-size: 15px;
	}

	.academy-methodology-content .academy-methodology-subtitle {
		font-size: 18px;
	}

	.academy-methodology-content .academy-methodology-table {
		font-size: 14px;
	}

	.academy-core-lesson-files__heading {
		font-size: 20px;
	}

	.tutor-qna-spotlight-sidebar .tutor-qa-new[data-context="course-single-qna-sidebar"] {
		padding: 16px;
		border-radius: 16px;
	}

	.single-lesson .tutor-course-topic-single-footer,
	.single-tutor_assignments .tutor-course-topic-single-footer,
	.single-tutor_quiz .tutor-course-topic-single-footer {
		margin-top: 16px !important;
	}
}

.academy-core-panel-body {
	padding: 24px;
}

.academy-core-admin-form .academy-core-field-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 16px;
}

.academy-core-admin-form .academy-core-form-group--full {
	grid-column: 1 / -1;
}

.academy-core-form-group label {
	display: block;
	margin-bottom: 8px;
	font-size: 13px;
	font-weight: 500;
	color: #4b5563;
}

.academy-core-form-group .tutor-form-control {
	width: 100%;
	min-height: 44px;
	border-radius: 12px;
}

.academy-core-meta-control {
	width: 100%;
	max-width: 100%;
}

.academy-core-form-hint {
	margin-top: 8px;
	font-size: 12px;
	line-height: 1.5;
	color: #6b7280;
}

.academy-core-course-selector {
	display: grid;
	gap: 8px;
}

.academy-core-course-selector__dropdown {
	border: 1px solid #d9e2ec;
	border-radius: 14px;
	background: #fff;
	overflow: hidden;
}

.academy-core-course-selector__summary {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 48px;
	padding: 12px 44px 12px 14px;
	list-style: none;
	cursor: pointer;
}

.academy-core-course-selector__summary::-webkit-details-marker {
	display: none;
}

.academy-core-course-selector__summary::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 18px;
	width: 9px;
	height: 9px;
	margin-top: -6px;
	border-right: 2px solid #475467;
	border-bottom: 2px solid #475467;
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}

.academy-core-course-selector__dropdown[open] .academy-core-course-selector__summary::after {
	transform: rotate(225deg);
	margin-top: -1px;
}

.academy-core-course-selector__summary-value {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
	color: #111827;
}

.academy-core-course-selector__panel {
	display: grid;
	gap: 12px;
	padding: 14px;
	border-top: 1px solid #e8eef5;
	background: #fbfdff;
}

.academy-core-course-selector__empty {
	font-size: 13px;
	line-height: 1.5;
	color: #6b7280;
}

.academy-core-course-selector__options {
	display: grid;
	gap: 8px;
	max-height: 240px;
	padding-right: 4px;
	overflow-y: auto;
}

.academy-core-course-selector__option {
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr);
	align-items: center;
	column-gap: 12px;
	padding: 10px 12px;
	border: 1px solid #e5ebf2;
	border-radius: 12px;
	background: #fff;
}

.academy-core-course-selector__option--master {
	border-color: #d8e5fb;
	background: #f5f9ff;
}

.academy-core-course-selector__option input[type="checkbox"] {
	margin: 0;
	align-self: center;
}

.academy-core-course-selector__option-copy {
	display: grid;
	gap: 2px;
	min-width: 0;
	align-self: center;
}

.academy-core-course-selector__option-label {
	display: block;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.45;
	color: #111827;
	word-break: break-word;
}

.academy-core-course-selector__option-meta {
	font-size: 12px;
	line-height: 1.4;
	color: #6b7280;
}

.academy-core-settings-page {
	max-width: 1180px;
}

.academy-core-settings-page .academy-core-page-intro {
	max-width: 780px;
	margin-top: 8px;
	font-size: 14px;
	line-height: 1.6;
	color: #5f6b76;
}

.academy-core-settings-page .academy-core-card {
	max-width: 980px;
}

.academy-core-settings-page .academy-core-nav-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 20px;
	border-bottom: none;
	padding-left: 0;
}

.academy-core-settings-page .academy-core-nav-tabs .nav-tab {
	margin-left: 0;
	padding: 8px 14px;
	border: 1px solid #dfe5ec;
	border-radius: 999px;
	background: #fff;
	color: #334155;
}

.academy-core-settings-page .academy-core-nav-tabs .nav-tab:hover {
	background: #f8fafc;
}

.academy-core-settings-page .academy-core-nav-tabs .nav-tab-active,
.academy-core-settings-page .academy-core-nav-tabs .nav-tab-active:hover {
	border-color: #2563eb;
	background: #2563eb;
	color: #fff;
}

.academy-core-settings-page .card {
	margin-top: 20px;
	padding: 22px 24px;
	border: 1px solid #e6eaf0;
	border-radius: 16px;
	box-shadow: none;
}

.academy-core-settings-page .card h2 {
	margin-top: 0;
}

.academy-core-settings-page .widefat {
	border: 1px solid #e8edf3;
	border-radius: 14px;
	box-shadow: none;
	overflow: hidden;
}

.academy-core-settings-page .widefat th,
.academy-core-settings-page .widefat td {
	padding: 14px 16px;
}

.academy-core-settings-page .academy-core-table {
	width: 100%;
	max-width: 940px;
}

.academy-core-settings-page .academy-core-table--narrow {
	max-width: 900px;
}

.academy-core-settings-page .academy-core-list {
	padding-left: 20px;
	list-style: disc;
}

.academy-core-settings-page .academy-core-space-top {
	margin-top: 16px;
}

.academy-core-settings-page .academy-core-settings-block {
	margin-top: 28px;
}

.academy-core-settings-page .academy-core-settings-block h3 {
	margin: 0 0 8px;
}

.academy-core-settings-page .academy-core-subtabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 24px 0 12px;
	padding: 8px;
	border: 1px solid #d8dee6;
	border-radius: 18px;
	background: linear-gradient(180deg, #f7f9fc 0%, #eef3f8 100%);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.academy-core-settings-page button.academy-core-subtab-button {
	appearance: none;
	-webkit-appearance: none;
	border: 1px solid transparent;
	border-radius: 14px;
	background: transparent;
	box-shadow: none;
	color: #4a5565;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1.2;
	margin: 0;
	min-height: 46px;
	padding: 11px 18px;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.academy-core-settings-page button.academy-core-subtab-button:hover {
	background: rgba(255, 255, 255, 0.78);
	border-color: rgba(34, 113, 177, 0.16);
	color: #1f2937;
	transform: translateY(-1px);
}

.academy-core-settings-page button.academy-core-subtab-button:focus-visible {
	outline: none;
	border-color: #2271b1;
	box-shadow: 0 0 0 3px rgba(34, 113, 177, 0.18);
}

.academy-core-settings-page button.academy-core-subtab-button.is-active {
	background: #ffffff;
	border-color: rgba(34, 113, 177, 0.18);
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08), 0 2px 6px rgba(34, 113, 177, 0.12);
	color: #0f172a;
	transform: translateY(-1px);
}

.academy-core-settings-page .academy-core-subtab-panel {
	display: none;
}

.academy-core-settings-page .academy-core-subtab-panel.is-active {
	display: block;
}

.academy-core-settings-page .academy-core-settings-block--bitrix24-entity {
	margin-top: 20px;
}

.academy-core-settings-page .academy-core-form-table th {
	width: 280px;
	padding-inline-start: 0;
}

.academy-core-settings-page .academy-core-form-table td {
	padding-inline-end: 0;
}

.academy-core-settings-page .academy-core-inline-check {
	display: inline-block;
	margin-bottom: 8px;
}

.academy-core-settings-page .academy-core-entity-rules {
	margin-top: 24px;
}

.academy-core-settings-page .academy-core-entity-rules h4 {
	margin: 0 0 10px;
}

.academy-core-settings-page .academy-core-entity-rules__toolbar {
	display: grid;
	grid-template-columns: minmax(260px, 1.2fr) auto;
	gap: 12px 18px;
	align-items: center;
	margin: 0 0 16px;
}

.academy-core-settings-page .academy-core-entity-rules__search {
	display: block;
}

.academy-core-settings-page .academy-core-entity-rules__search input[type="search"] {
	width: 100%;
	max-width: none;
}

.academy-core-settings-page .academy-core-entity-rules__toggle {
	margin: 0;
	justify-self: start;
}

.academy-core-settings-page .academy-core-entity-rules__meta {
	grid-column: 1 / -1;
	color: #61758a;
	font-size: 13px;
	line-height: 1.5;
}

.academy-core-settings-page .academy-core-table-scroll {
	width: 100%;
	overflow-x: auto;
}

.academy-core-settings-page input.regular-text,
.academy-core-settings-page input[type="url"],
.academy-core-settings-page input[type="text"],
.academy-core-settings-page input[type="number"],
.academy-core-settings-page select,
.academy-core-settings-page textarea {
	border-color: #d8dee6;
	border-radius: 10px;
}

.academy-core-settings-page .academy-core-table--tariffs th:not(:first-child),
.academy-core-settings-page .academy-core-table--tariffs td:not(:first-child) {
	text-align: center;
}

.academy-core-settings-page .academy-core-table--tariffs,
.academy-core-settings-page .academy-core-table--durations {
	max-width: none;
	table-layout: fixed;
	min-width: 860px;
}

.academy-core-settings-page .academy-core-table--entity-rules {
	max-width: none;
	table-layout: fixed;
	min-width: 840px;
}

.academy-core-settings-page .academy-core-table--tariffs th:first-child,
.academy-core-settings-page .academy-core-table--tariffs td:first-child {
	width: 24%;
}

.academy-core-settings-page .academy-core-table--entity-rules th:nth-child(1),
.academy-core-settings-page .academy-core-table--entity-rules td:nth-child(1) {
	width: 18%;
}

.academy-core-settings-page .academy-core-table--entity-rules th:nth-child(2),
.academy-core-settings-page .academy-core-table--entity-rules td:nth-child(2) {
	width: 36%;
}

.academy-core-settings-page .academy-core-table--entity-rules th:nth-child(3),
.academy-core-settings-page .academy-core-table--entity-rules td:nth-child(3) {
	width: 46%;
}

.academy-core-settings-page .academy-core-table--tariffs th:not(:first-child),
.academy-core-settings-page .academy-core-table--tariffs td:not(:first-child),
.academy-core-settings-page .academy-core-table--durations th,
.academy-core-settings-page .academy-core-table--durations td {
	width: 19%;
}

.academy-core-settings-page .academy-core-table--tariffs td,
.academy-core-settings-page .academy-core-table--durations td {
	vertical-align: middle;
}

.academy-core-settings-page .academy-core-table--entity-rules th,
.academy-core-settings-page .academy-core-table--entity-rules td {
	padding: 12px 14px;
	vertical-align: top;
}

.academy-core-settings-page .academy-core-table--tariffs td:first-child strong {
	display: block;
	line-height: 1.45;
	word-break: break-word;
}

.academy-core-settings-page .academy-core-table--entity-rules td:first-child strong {
	display: block;
	line-height: 1.35;
	word-break: break-word;
}

.academy-core-settings-page .academy-core-registration-field__meta--entity-rule {
	margin-top: 8px;
}

.academy-core-settings-page .academy-core-table--entity-rules .description {
	word-break: break-word;
}

.academy-core-settings-page .academy-core-registration-fields {
	display: grid;
	gap: 18px;
	margin-top: 24px;
}

.academy-core-settings-page .academy-core-registration-field {
	border: 1px solid #dbe4ee;
	border-radius: 20px;
	background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
	box-shadow: 0 12px 28px rgba(15, 23, 42, 0.04);
	padding: 22px;
}

.academy-core-settings-page .academy-core-registration-field__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 18px;
}

.academy-core-settings-page .academy-core-registration-field__title {
	margin: 0;
	color: #111827;
	font-size: 20px;
	line-height: 1.2;
}

.academy-core-settings-page .academy-core-registration-field__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}

.academy-core-settings-page .academy-core-registration-field__tag {
	display: inline-flex;
	align-items: center;
	border: 1px solid #d7e0ea;
	border-radius: 999px;
	background: #f3f7fb;
	color: #425466;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, monospace;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	padding: 7px 10px;
}

.academy-core-settings-page .academy-core-registration-field__tag--muted {
	background: #fff;
	color: #607084;
}

.academy-core-settings-page .academy-core-registration-field__toggles {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: flex-start;
}

.academy-core-settings-page .academy-core-registration-flag {
	display: flex;
	align-items: center;
	gap: 10px;
	border: 1px solid #dbe4ee;
	border-radius: 999px;
	background: #fff;
	padding: 8px 12px;
}

.academy-core-settings-page .academy-core-registration-flag__label {
	color: #4a5565;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
}

.academy-core-settings-page .academy-core-registration-field__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 16px 18px;
}

.academy-core-settings-page .academy-core-registration-field__control {
	min-width: 0;
}

.academy-core-settings-page .academy-core-registration-field__control--full {
	grid-column: 1 / -1;
}

.academy-core-settings-page .academy-core-registration-field__label {
	display: block;
	margin-bottom: 8px;
	color: #344051;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
}

.academy-core-settings-page .academy-core-field-options-cell.is-hidden {
	display: none;
}

.academy-core-settings-page .academy-core-registration-fields > * {
	min-width: 0;
}

.academy-core-settings-page .academy-core-registration-field input[type="text"],
.academy-core-settings-page .academy-core-registration-field select,
.academy-core-settings-page .academy-core-registration-field textarea {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.academy-core-settings-page .academy-core-select-input {
	width: 100%;
	min-width: 0;
	max-width: 100%;
}

.academy-core-settings-page .academy-core-select-input--compact {
	max-width: 160px;
}

.academy-core-settings-page .academy-core-number-input {
	width: 100%;
	max-width: 160px;
}

.academy-core-settings-page .academy-core-text-input {
	width: 100%;
	max-width: none;
}

.academy-core-settings-page .academy-core-textarea-input {
	width: 100%;
	max-width: none;
	min-height: 104px;
	box-sizing: border-box;
}

.academy-core-settings-page .academy-core-table--entity-rules .academy-core-select-wide,
.academy-core-settings-page .academy-core-table--entity-rules select,
.academy-core-settings-page .academy-core-table--entity-rules input[type="text"],
.academy-core-settings-page .academy-core-table--entity-rules textarea {
	width: 100%;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}

.academy-core-settings-page .academy-core-checkbox-cell {
	text-align: center;
	vertical-align: middle;
}

.academy-core-settings-page .academy-core-checkbox-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.academy-core-settings-page .academy-core-checkbox-toggle input[type="checkbox"] {
	margin: 0;
}

.academy-core-settings-page .academy-core-checkbox-toggle--switch {
	position: relative;
	width: 42px;
	height: 24px;
	flex: 0 0 auto;
}

.academy-core-settings-page .academy-core-checkbox-toggle--switch input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	width: 42px;
	height: 24px;
	border: 1px solid #cbd5e1;
	border-radius: 999px;
	background: #dbe4ee;
	box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.08);
	cursor: pointer;
	position: relative;
	transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.academy-core-settings-page .academy-core-checkbox-toggle--switch input[type="checkbox"]::after {
	content: "";
	position: absolute;
	top: 2px;
	left: 2px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 2px 6px rgba(15, 23, 42, 0.16);
	transition: transform 0.2s ease;
}

.academy-core-settings-page .academy-core-checkbox-toggle--switch input[type="checkbox"]:checked {
	background: #2271b1;
	border-color: #2271b1;
}

.academy-core-settings-page .academy-core-checkbox-toggle--switch input[type="checkbox"]:checked::after {
	transform: translateX(18px);
}

.academy-core-settings-page .academy-core-checkbox-toggle--switch input[type="checkbox"]:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba(34, 113, 177, 0.18);
}

.academy-core-settings-page .academy-core-select-wide {
	min-width: min(220px, 100%);
}

.academy-core-settings-page .button,
.academy-core-settings-page .button-secondary,
.academy-core-settings-page .button-primary {
	border-radius: 10px;
}

@media (min-width: 992px) {
	.academy-core-panel-body {
		padding: 32px;
	}
}

@media (max-width: 767px) {
	.academy-core-subscription__toggle {
		flex-direction: column;
		align-items: flex-start;
		padding: 18px;
	}

	.academy-core-subscription__meta {
		width: 100%;
		justify-content: flex-start;
	}

	.academy-core-subscription__title {
		font-size: 22px;
	}

	.academy-core-subscription__panel-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.academy-core-subscription__metric {
		padding: 18px;
	}

	.academy-core-settings-page .academy-core-nav-tabs .nav-tab {
		width: 100%;
		text-align: center;
	}

	.academy-core-settings-page .academy-core-subtabs {
		padding: 6px;
	}

	.academy-core-settings-page button.academy-core-subtab-button {
		width: 100%;
		min-height: 44px;
		padding-inline: 14px;
	}

	.academy-core-settings-page .academy-core-table--tariffs,
	.academy-core-settings-page .academy-core-table--durations {
		min-width: 760px;
	}

	.academy-core-settings-page .academy-core-table--entity-rules {
		min-width: 700px;
	}

	.academy-core-settings-page .academy-core-entity-rules__toolbar {
		grid-template-columns: 1fr;
	}

	.academy-core-settings-page .academy-core-registration-field {
		padding: 18px;
	}

	.academy-core-settings-page .academy-core-registration-field__header {
		flex-direction: column;
	}

	.academy-core-settings-page .academy-core-registration-field__toggles {
		justify-content: flex-start;
	}

	.academy-core-settings-page .academy-core-registration-field__grid {
		grid-template-columns: 1fr;
	}
}
