.yla-academy {
	--yla-navy: #0a2540;
	--yla-blue: #1f6feb;
	--yla-orange: #ff7a00;
	--yla-white: #ffffff;
	--yla-soft: #f4f7fb;
	--yla-text: #16324a;
	--yla-muted: #5d6b7a;
	--yla-border: #dce4ee;
	--yla-success: #157347;
	--yla-error: #b42318;
	background: var(--yla-white);
	color: var(--yla-text);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0;
	margin: 0 auto;
	max-width: 1600px;
	overflow-x: hidden;
}

.yla-academy *,
.yla-academy *::before,
.yla-academy *::after {
	box-sizing: border-box;
}

.yla-academy img {
	max-width: 100%;
}

.yla-academy a {
	color: var(--yla-blue);
}

.yla-academy .screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	width: 1px;
}

.yla-academy .yla-shell {
	margin: 0 auto;
	max-width: 1240px;
	padding-left: 24px;
	padding-right: 24px;
	width: 100%;
}

.yla-academy .yla-shell--narrow {
	max-width: 880px;
}

.yla-academy .yla-shell--form {
	max-width: 940px;
}

.yla-academy .yla-masthead {
	background: var(--yla-white);
	border-bottom: 1px solid var(--yla-border);
	position: relative;
	z-index: 20;
}

.yla-academy .yla-masthead__inner {
	align-items: center;
	display: flex;
	gap: 28px;
	justify-content: space-between;
	min-height: 78px;
}

.yla-academy .yla-brand {
	display: inline-flex;
	flex: 0 1 310px;
}

.yla-academy .yla-brand img {
	display: block;
	height: auto;
	max-height: 50px;
	object-fit: contain;
	width: auto;
}

.yla-academy .yla-nav {
	align-items: center;
	display: flex;
	gap: 20px;
}

.yla-academy .yla-nav a {
	color: var(--yla-navy);
	font-size: 0.94rem;
	font-weight: 700;
	text-decoration: none;
}

.yla-academy .yla-nav a:last-child {
	background: var(--yla-blue);
	border-radius: 6px;
	color: var(--yla-white);
	padding: 10px 15px;
}

.yla-academy .yla-nav a:hover,
.yla-academy .yla-nav a:focus {
	color: var(--yla-orange);
}

.yla-academy .yla-nav a:last-child:hover,
.yla-academy .yla-nav a:last-child:focus {
	background: var(--yla-navy);
	color: var(--yla-white);
}

.yla-academy .yla-nav-toggle {
	background: transparent;
	border: 1px solid var(--yla-border);
	border-radius: 6px;
	color: var(--yla-navy);
	display: none;
	font-size: 1.45rem;
	height: 44px;
	width: 44px;
}

.yla-academy .yla-hero {
	background: var(--yla-soft);
	padding: 72px 0;
}

.yla-academy .yla-hero__grid {
	align-items: center;
	display: grid;
	gap: 58px;
	grid-template-columns: minmax(0, 0.88fr) minmax(480px, 1.12fr);
}

.yla-academy .yla-eyebrow {
	color: var(--yla-blue);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0;
	margin: 0 0 12px;
	text-transform: uppercase;
}

.yla-academy .yla-eyebrow--light {
	color: #bcd4ff;
}

.yla-academy h1,
.yla-academy h2,
.yla-academy h3 {
	color: var(--yla-navy);
	font-weight: 800;
	letter-spacing: 0;
}

.yla-academy h1 {
	font-size: 3.65rem;
	line-height: 1.02;
	margin: 0;
}

.yla-academy h2 {
	font-size: 2.45rem;
	line-height: 1.12;
	margin: 0;
}

.yla-academy h3 {
	font-size: 1.25rem;
	line-height: 1.25;
	margin: 0;
}

.yla-academy .yla-lead {
	color: var(--yla-muted);
	font-size: 1.15rem;
	margin: 22px 0 0;
}

.yla-academy .yla-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}

.yla-academy .yla-button {
	align-items: center;
	border: 2px solid transparent;
	border-radius: 6px;
	cursor: pointer;
	display: inline-flex;
	font-family: inherit;
	font-size: 0.98rem;
	font-weight: 700;
	justify-content: center;
	line-height: 1.2;
	min-height: 48px;
	padding: 12px 17px;
	text-align: center;
	text-decoration: none;
}

.yla-academy .yla-button--primary {
	background: var(--yla-blue);
	color: var(--yla-white);
}

.yla-academy .yla-button--primary:hover,
.yla-academy .yla-button--primary:focus {
	background: var(--yla-navy);
	color: var(--yla-white);
}

.yla-academy .yla-button--secondary {
	background: var(--yla-white);
	border-color: var(--yla-blue);
	color: var(--yla-blue);
}

.yla-academy .yla-button--secondary:hover,
.yla-academy .yla-button--secondary:focus {
	background: #eaf2ff;
	color: var(--yla-navy);
}

.yla-academy .yla-button--orange {
	background: var(--yla-orange);
	color: var(--yla-white);
}

.yla-academy .yla-button--light {
	background: transparent;
	border-color: #91b9fb;
	color: var(--yla-white);
}

.yla-academy a:focus-visible,
.yla-academy button:focus-visible,
.yla-academy input:focus-visible,
.yla-academy select:focus-visible,
.yla-academy textarea:focus-visible,
.yla-academy summary:focus-visible {
	outline: 3px solid var(--yla-orange);
	outline-offset: 3px;
}

.yla-academy .yla-hero__images {
	display: grid;
	gap: 12px;
	grid-template-columns: 1.2fr 0.8fr;
	grid-template-rows: 1fr 1fr;
	height: 470px;
}

.yla-academy .yla-hero__image {
	border-radius: 8px;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.yla-academy .yla-hero__image--1 {
	grid-row: 1 / 3;
}

.yla-academy .yla-section {
	padding: 80px 0;
}

.yla-academy .yla-section--soft,
.yla-academy .yla-section--courses {
	background: var(--yla-soft);
}

.yla-academy .yla-section--navy {
	background: var(--yla-navy);
	color: var(--yla-white);
}

.yla-academy .yla-section--navy h2,
.yla-academy .yla-section--navy h3 {
	color: var(--yla-white);
}

.yla-academy .yla-section-heading {
	margin-bottom: 34px;
	max-width: 840px;
}

.yla-academy .yla-course-grid {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.yla-academy .yla-course-card {
	background: var(--yla-white);
	border: 1px solid var(--yla-border);
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
}

.yla-academy .yla-course-card__media {
	aspect-ratio: 16 / 9;
	background: var(--yla-navy);
	position: relative;
}

.yla-academy .yla-course-card__media img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.yla-academy .yla-course-card__badge {
	background: var(--yla-orange);
	border-radius: 5px;
	bottom: 12px;
	color: var(--yla-white);
	font-size: 0.78rem;
	font-weight: 800;
	left: 12px;
	padding: 6px 9px;
	position: absolute;
}

.yla-academy .yla-course-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 22px;
}

.yla-academy .yla-course-card__body > p {
	color: var(--yla-muted);
}

.yla-academy .yla-course-card__pathway {
	color: var(--yla-blue) !important;
	font-size: 0.8rem;
	font-weight: 800;
	margin: 0 0 8px;
	text-transform: uppercase;
}

.yla-academy .yla-course-card__facts {
	border-top: 1px solid var(--yla-border);
	display: grid;
	gap: 10px;
	margin: auto 0 0;
	padding-top: 16px;
}

.yla-academy .yla-course-card__facts div {
	display: grid;
	gap: 8px;
	grid-template-columns: 86px 1fr;
}

.yla-academy .yla-course-card__facts dt {
	color: var(--yla-navy);
	font-size: 0.78rem;
	font-weight: 800;
}

.yla-academy .yla-course-card__facts dd {
	color: var(--yla-muted);
	font-size: 0.9rem;
	margin: 0;
}

.yla-academy .yla-course-card__actions {
	display: grid;
	gap: 10px;
	padding: 0 22px 22px;
}

.yla-academy .yla-course-card__unavailable {
	background: var(--yla-soft);
	border-radius: 6px;
	color: var(--yla-muted);
	font-weight: 700;
	padding: 12px;
	text-align: center;
}

.yla-academy .yla-comparison,
.yla-academy .yla-routes,
.yla-academy .yla-output-grid,
.yla-academy .yla-evidence {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.yla-academy .yla-comparison article,
.yla-academy .yla-routes article {
	border: 1px solid var(--yla-border);
	border-radius: 8px;
	padding: 24px;
}

.yla-academy .yla-comparison article > span {
	color: var(--yla-blue);
	font-size: 0.8rem;
	font-weight: 800;
	text-transform: uppercase;
}

.yla-academy .yla-routes article {
	border-color: #315475;
}

.yla-academy .yla-routes article > span {
	align-items: center;
	background: var(--yla-orange);
	border-radius: 50%;
	color: var(--yla-white);
	display: inline-flex;
	font-weight: 800;
	height: 36px;
	justify-content: center;
	width: 36px;
}

.yla-academy .yla-output-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.yla-academy .yla-output-grid li {
	background: var(--yla-soft);
	border-left: 4px solid var(--yla-orange);
	border-radius: 6px;
	font-weight: 700;
	padding: 18px;
}

.yla-academy .yla-evidence img,
.yla-academy .yla-evidence blockquote,
.yla-academy .yla-evidence > p {
	background: var(--yla-white);
	border: 1px solid var(--yla-border);
	border-radius: 8px;
	margin: 0;
	padding: 20px;
}

.yla-academy .yla-evidence img {
	aspect-ratio: 4 / 3;
	height: auto;
	object-fit: cover;
	padding: 0;
	width: 100%;
}

.yla-academy .yla-school-feature {
	border-top: 8px solid var(--yla-orange);
}

.yla-academy .yla-school-feature__grid {
	align-items: center;
	display: grid;
	gap: 58px;
	grid-template-columns: 1.2fr 0.8fr;
}

.yla-academy .yla-school-feature__actions {
	display: grid;
	gap: 12px;
}

.yla-academy .yla-faq {
	border-top: 1px solid var(--yla-border);
}

.yla-academy .yla-faq details {
	border-bottom: 1px solid var(--yla-border);
	padding: 0;
}

.yla-academy .yla-faq summary {
	color: var(--yla-navy);
	cursor: pointer;
	font-weight: 700;
	list-style-position: outside;
	padding: 18px 4px;
}

.yla-academy .yla-faq details p {
	color: var(--yla-muted);
	margin: 0;
	padding: 0 4px 18px;
}

.yla-academy .yla-final-cta {
	background: var(--yla-navy);
	color: var(--yla-white);
	padding: 72px 0;
	text-align: center;
}

.yla-academy .yla-final-cta h2 {
	color: var(--yla-white);
}

.yla-academy .yla-final-cta .yla-actions {
	justify-content: center;
}

.yla-academy .yla-footer {
	background: #071b2d;
	color: #d7e2ed;
	padding: 54px 0;
}

.yla-academy .yla-footer__grid {
	display: grid;
	gap: 34px;
	grid-template-columns: 1.35fr repeat(3, 1fr);
}

.yla-academy .yla-footer img {
	background: var(--yla-white);
	border-radius: 5px;
	height: auto;
	max-width: 260px;
	padding: 8px;
}

.yla-academy .yla-footer h2 {
	color: var(--yla-white);
	font-size: 1rem;
	margin-bottom: 12px;
}

.yla-academy .yla-footer a,
.yla-academy .yla-footer span {
	color: #d7e2ed;
	display: block;
	margin: 8px 0;
	text-decoration: none;
}

.yla-academy .yla-registration-hub,
.yla-academy.yla-registration-hub,
.yla-academy.yla-application,
.yla-academy.yla-success,
.yla-academy.yla-academy-status {
	background: var(--yla-soft);
	padding: 64px 0;
}

.yla-academy .yla-form-heading {
	margin-bottom: 28px;
}

.yla-academy .yla-form-progress {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(4, 1fr);
	list-style: none;
	margin: 0 0 28px;
	padding: 0;
}

.yla-academy .yla-form-progress li {
	align-items: center;
	border-bottom: 3px solid var(--yla-border);
	color: var(--yla-muted);
	display: flex;
	font-size: 0.86rem;
	font-weight: 700;
	gap: 7px;
	padding: 10px 4px;
}

.yla-academy .yla-form-progress li span {
	align-items: center;
	background: var(--yla-border);
	border-radius: 50%;
	display: inline-flex;
	height: 26px;
	justify-content: center;
	width: 26px;
}

.yla-academy .yla-form-progress li.is-current,
.yla-academy .yla-form-progress li.is-complete {
	border-color: var(--yla-blue);
	color: var(--yla-navy);
}

.yla-academy .yla-form-progress li.is-current span,
.yla-academy .yla-form-progress li.is-complete span {
	background: var(--yla-blue);
	color: var(--yla-white);
}

.yla-academy .yla-application-form,
.yla-academy .yla-success .yla-shell--narrow {
	background: var(--yla-white);
	border: 1px solid var(--yla-border);
	border-radius: 8px;
	padding: 32px;
}

.yla-academy .yla-form-step {
	border: 0;
	margin: 0 0 32px;
	min-width: 0;
	padding: 0;
}

.yla-academy .yla-application-form.is-enhanced .yla-form-step {
	display: none;
}

.yla-academy .yla-application-form.is-enhanced .yla-form-step.is-active {
	display: block;
}

.yla-academy .yla-form-step legend {
	color: var(--yla-navy);
	font-size: 1.55rem;
	font-weight: 800;
	margin-bottom: 22px;
	width: 100%;
}

.yla-academy .yla-selected-course {
	align-items: center;
	background: var(--yla-soft);
	border-radius: 8px;
	display: grid;
	gap: 22px;
	grid-template-columns: 210px 1fr;
	margin-bottom: 18px;
	padding: 18px;
}

.yla-academy .yla-selected-course img {
	aspect-ratio: 16 / 9;
	border-radius: 6px;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.yla-academy .yla-selected-course span,
.yla-academy .yla-text-link {
	font-size: 0.86rem;
	font-weight: 700;
}

.yla-academy .yla-form-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.yla-academy .yla-form-grid--tracking,
.yla-academy .yla-new-school {
	border-top: 1px solid var(--yla-border);
	margin-top: 24px;
	padding-top: 24px;
}

.yla-academy .yla-field--wide {
	grid-column: 1 / -1;
}

.yla-academy .yla-field label,
.yla-academy .yla-admin-form label {
	color: var(--yla-navy);
	display: block;
	font-size: 0.92rem;
	font-weight: 700;
	margin-bottom: 7px;
}

.yla-academy .yla-field small {
	color: var(--yla-muted);
	font-weight: 500;
}

.yla-academy .yla-field input,
.yla-academy .yla-field select,
.yla-academy .yla-field textarea {
	background: var(--yla-white);
	border: 1px solid #b9c6d5;
	border-radius: 5px;
	color: var(--yla-text);
	font: inherit;
	min-height: 48px;
	padding: 10px 12px;
	width: 100%;
}

.yla-academy .yla-field textarea {
	min-height: 110px;
	resize: vertical;
}

.yla-academy .yla-field [aria-invalid="true"],
.yla-academy .yla-field input:invalid:focus,
.yla-academy .yla-field select:invalid:focus {
	border-color: var(--yla-error);
}

.yla-academy .yla-field-error {
	color: var(--yla-error);
	display: block;
	font-size: 0.86rem;
	margin-top: 5px;
}

.yla-academy .yla-check {
	align-items: flex-start;
	color: var(--yla-text);
	display: flex;
	font-weight: 500;
	gap: 10px;
	margin: 16px 0;
}

.yla-academy .yla-check input {
	flex: 0 0 auto;
	height: 20px;
	margin-top: 3px;
	width: 20px;
}

.yla-academy .yla-check--compact {
	font-size: 0.85rem;
	margin: 8px 0 0;
}

.yla-academy .yla-honeypot {
	left: -10000px;
	position: absolute;
	top: auto;
}

.yla-academy .yla-form-navigation {
	display: none;
	gap: 12px;
	justify-content: space-between;
}

.yla-academy .yla-application-form.is-enhanced .yla-form-navigation {
	display: flex;
}

.yla-academy .yla-payment-note,
.yla-academy .yla-review {
	background: #eef5ff;
	border-left: 4px solid var(--yla-blue);
	border-radius: 5px;
	margin: 22px 0;
	padding: 16px;
}

.yla-academy .yla-error-summary {
	background: #fff1f0;
	border: 1px solid #f0b4ae;
	border-left: 5px solid var(--yla-error);
	border-radius: 6px;
	margin-bottom: 24px;
	padding: 18px;
}

.yla-academy .yla-error-summary h2 {
	color: var(--yla-error);
	font-size: 1.2rem;
}

.yla-academy .yla-success {
	text-align: center;
}

.yla-academy .yla-success__icon {
	align-items: center;
	background: var(--yla-success);
	border-radius: 50%;
	color: var(--yla-white);
	display: inline-flex;
	font-size: 2rem;
	height: 64px;
	justify-content: center;
	margin-bottom: 16px;
	width: 64px;
}

.yla-academy .yla-success__summary {
	display: grid;
	gap: 10px;
	margin: 28px 0;
	text-align: left;
}

.yla-academy .yla-success__summary div {
	background: var(--yla-soft);
	border-radius: 5px;
	display: grid;
	gap: 12px;
	grid-template-columns: 150px 1fr;
	padding: 12px;
}

.yla-academy .yla-success__summary dt {
	font-weight: 800;
}

.yla-academy .yla-success__summary dd {
	margin: 0;
}

.yla-academy .yla-success__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
	margin-top: 24px;
}

.yla-academy .yla-status-list {
	display: grid;
	gap: 12px;
}

.yla-academy .yla-status-card {
	align-items: center;
	background: var(--yla-white);
	border: 1px solid var(--yla-border);
	border-radius: 6px;
	display: grid;
	gap: 12px;
	grid-template-columns: 1fr auto auto;
	padding: 16px;
}

@media (max-width: 1100px) {
	.yla-academy .yla-nav-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.yla-academy .yla-nav {
		background: var(--yla-white);
		border-bottom: 1px solid var(--yla-border);
		display: none;
		left: 0;
		padding: 16px 24px 22px;
		position: absolute;
		top: 100%;
		width: 100%;
	}

	.yla-academy .yla-nav.is-open {
		display: grid;
	}

	.yla-academy .yla-hero__grid,
	.yla-academy .yla-school-feature__grid {
		grid-template-columns: 1fr;
	}

	.yla-academy .yla-hero__images {
		height: 420px;
	}

	.yla-academy .yla-course-grid,
	.yla-academy .yla-comparison,
	.yla-academy .yla-routes {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.yla-academy .yla-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.yla-academy .yla-shell {
		padding-left: 18px;
		padding-right: 18px;
	}

	.yla-academy h1 {
		font-size: 2.45rem;
	}

	.yla-academy h2 {
		font-size: 1.85rem;
	}

	.yla-academy .yla-hero,
	.yla-academy .yla-section,
	.yla-academy .yla-final-cta,
	.yla-academy.yla-registration-hub,
	.yla-academy.yla-application,
	.yla-academy.yla-success,
	.yla-academy.yla-academy-status {
		padding-bottom: 54px;
		padding-top: 54px;
	}

	.yla-academy .yla-hero__images {
		display: block;
		height: auto;
	}

	.yla-academy .yla-hero__image {
		aspect-ratio: 16 / 9;
		display: none;
		height: auto;
	}

	.yla-academy .yla-hero__image:first-child {
		display: block;
	}

	.yla-academy .yla-course-grid,
	.yla-academy .yla-comparison,
	.yla-academy .yla-routes,
	.yla-academy .yla-output-grid,
	.yla-academy .yla-evidence,
	.yla-academy .yla-footer__grid,
	.yla-academy .yla-form-grid {
		grid-template-columns: 1fr;
	}

	.yla-academy .yla-field--wide {
		grid-column: auto;
	}

	.yla-academy .yla-form-progress {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.yla-academy .yla-form-progress li {
		font-size: 0;
		justify-content: center;
	}

	.yla-academy .yla-form-progress li span {
		font-size: 0.84rem;
	}

	.yla-academy .yla-application-form,
	.yla-academy .yla-success .yla-shell--narrow {
		padding: 20px;
	}

	.yla-academy .yla-selected-course,
	.yla-academy .yla-success__summary div,
	.yla-academy .yla-status-card {
		grid-template-columns: 1fr;
	}

	.yla-academy .yla-actions,
	.yla-academy .yla-success__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.yla-academy .yla-button {
		width: 100%;
	}
}

@media (max-width: 390px) {
	.yla-academy h1 {
		font-size: 2.1rem;
	}

	.yla-academy .yla-shell {
		padding-left: 14px;
		padding-right: 14px;
	}

	.yla-academy .yla-application-form {
		padding: 16px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.yla-academy *,
	.yla-academy *::before,
	.yla-academy *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

.yla-academy .yla-field-help {
	margin: 8px 0 0;
	font-size: 14px;
	color: #52677a;
}

.yla-academy.yla-institution-application .yla-form-progress {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.yla-academy .yla-review-list {
	display: grid;
	grid-template-columns: minmax(150px, 0.8fr) minmax(0, 1.5fr);
	gap: 0;
	margin: 18px 0;
	border: 1px solid #dce4ed;
}

.yla-academy .yla-review-list dt,
.yla-academy .yla-review-list dd {
	margin: 0;
	padding: 9px 12px;
	border-bottom: 1px solid #dce4ed;
}

.yla-academy .yla-review-list dt {
	font-weight: 700;
	background: #f3f4f6;
}

.yla-academy .yla-dashboard-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
	margin: 28px 0;
}

.yla-academy .yla-table-scroll {
	overflow-x: auto;
	margin: 16px 0 28px;
}

.yla-academy .yla-table-scroll table {
	width: 100%;
	min-width: 840px;
	border-collapse: collapse;
}

.yla-academy .yla-table-scroll th,
.yla-academy .yla-table-scroll td {
	padding: 10px;
	border-bottom: 1px solid #dce4ed;
	text-align: left;
	vertical-align: top;
}

.yla-academy [data-yla-public-qr] {
	width: 168px;
	height: 168px;
	margin-top: 16px;
}

@media (max-width: 760px) {
	.yla-academy.yla-institution-application .yla-form-progress {
		grid-template-columns: repeat(5, minmax(42px, 1fr));
	}
	.yla-academy .yla-dashboard-grid,
	.yla-academy .yla-review-list {
		grid-template-columns: 1fr;
	}
}

.yla-academy.yla-login-page {
	background: #0a2540;
	margin: 0;
	max-width: none;
	min-height: 100dvh;
	width: 100%;
}

.yla-academy .yla-login-layout {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100dvh;
	padding: 28px;
}

.yla-academy .yla-login-logo {
	background: var(--yla-white);
	border-radius: 6px;
	display: block;
	margin: 0 auto 24px;
	max-width: 340px;
	padding: 10px;
}

.yla-academy .yla-login-card {
	background: var(--yla-white);
	border: 1px solid var(--yla-border);
	border-radius: 8px;
	max-width: 520px;
	padding: 34px;
	width: min(100%, 520px);
}

.yla-academy .yla-login-card h2 {
	font-size: 2rem;
	margin-bottom: 20px;
}

.yla-academy .yla-login-form {
	display: grid;
	gap: 18px;
}

.yla-academy .yla-login-form label span {
	color: var(--yla-navy);
	display: block;
	font-weight: 800;
	margin-bottom: 7px;
}

.yla-academy .yla-login-form input[type="text"],
.yla-academy .yla-login-form input[type="email"],
.yla-academy .yla-login-form input[type="password"] {
	border: 1px solid #b9c6d5;
	border-radius: 6px;
	color: var(--yla-text);
	font: inherit;
	min-height: 50px;
	padding: 12px;
	width: 100%;
}

.yla-academy .yla-login-options {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: space-between;
}

.yla-academy .yla-login-error,
.yla-academy .yla-login-notice {
	border-radius: 6px;
	margin-bottom: 18px;
	padding: 12px 14px;
}

.yla-academy .yla-login-error {
	background: #fff1f0;
	border-left: 4px solid var(--yla-error);
	color: var(--yla-error);
}

.yla-academy .yla-login-notice {
	background: #eef5ff;
	border-left: 4px solid var(--yla-blue);
	color: var(--yla-navy);
}

.yla-academy.yla-workspace {
	background: #eef3f8;
	margin: 0;
	max-width: none;
	min-height: 100dvh;
	width: 100%;
}

body.yla-fullscreen-body {
	margin: 0;
	overflow-x: hidden;
}

.yla-academy .yla-workspace-shell {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	min-height: 100dvh;
	width: 100%;
}

.yla-academy .yla-workspace-sidebar {
	background: var(--yla-navy);
	color: var(--yla-white);
	min-height: 100dvh;
	overflow-y: auto;
	padding: 24px 18px;
}

.yla-academy .yla-workspace-sidebar > img {
	background: var(--yla-white);
	border-radius: 6px;
	display: block;
	margin-bottom: 24px;
	padding: 8px;
	width: 100%;
}

.yla-academy .yla-school-identity {
	border-bottom: 1px solid rgba(255,255,255,0.16);
	display: grid;
	gap: 8px;
	margin-bottom: 20px;
	padding-bottom: 18px;
}

.yla-academy .yla-school-identity img {
	background: var(--yla-white);
	border-radius: 6px;
	height: 58px;
	object-fit: contain;
	padding: 6px;
	width: 58px;
}

.yla-academy .yla-school-identity strong,
.yla-academy .yla-school-identity span {
	color: var(--yla-white);
}

.yla-academy .yla-workspace-sidebar nav {
	display: grid;
	gap: 4px;
}

.yla-academy .yla-workspace-sidebar a {
	border-radius: 6px;
	color: #d7e7fb;
	font-weight: 800;
	padding: 10px 12px;
	text-decoration: none;
}

.yla-academy .yla-workspace-sidebar a:hover,
.yla-academy .yla-workspace-sidebar a:focus,
.yla-academy .yla-workspace-sidebar a.is-active {
	background: var(--yla-blue);
	color: var(--yla-white);
}

.yla-academy .yla-workspace-main {
	min-width: 0;
	overflow-x: hidden;
	padding: 28px;
}

.yla-academy .yla-workspace-topbar {
	align-items: center;
	background: var(--yla-white);
	border: 1px solid var(--yla-border);
	border-radius: 8px;
	display: flex;
	gap: 18px;
	justify-content: space-between;
	margin-bottom: 24px;
	padding: 18px 20px;
}

.yla-academy .yla-workspace-topbar h1 {
	font-size: 2rem;
}

.yla-academy .yla-workspace-menu {
	background: var(--yla-navy);
	border: 0;
	border-radius: 6px;
	color: var(--yla-white);
	display: none;
	font: inherit;
	font-weight: 800;
	padding: 10px 12px;
}

.yla-academy .yla-workspace-user {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: flex-end;
}

.yla-academy .yla-workspace-user span {
	align-items: center;
	background: var(--yla-orange);
	border-radius: 50%;
	color: var(--yla-white);
	display: inline-flex;
	font-weight: 800;
	height: 32px;
	justify-content: center;
	min-width: 32px;
}

.yla-academy .yla-workspace-section {
	background: var(--yla-white);
	border: 1px solid var(--yla-border);
	border-radius: 8px;
	margin-bottom: 22px;
	min-width: 0;
	padding: 24px;
}

.yla-academy .yla-workspace-metrics {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(5, minmax(140px, 1fr));
}

.yla-academy .yla-workspace-metrics--large {
	grid-template-columns: repeat(4, minmax(180px, 1fr));
}

.yla-academy .yla-workspace-metrics div,
.yla-academy .yla-workspace-card {
	background: #f7faff;
	border: 1px solid var(--yla-border);
	border-radius: 8px;
	padding: 16px;
}

.yla-academy .yla-workspace-metrics strong {
	color: var(--yla-navy);
	display: block;
	font-size: 1.6rem;
	line-height: 1.1;
}

.yla-academy .yla-workspace-metrics span {
	color: var(--yla-muted);
	display: block;
	font-size: 0.86rem;
	font-weight: 800;
	margin-top: 6px;
}

.yla-academy .yla-workspace-actions,
.yla-academy .yla-card-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 18px;
}

.yla-academy .yla-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.yla-academy .yla-workspace-form {
	display: grid;
	gap: 18px;
	margin-bottom: 24px;
	min-width: 0;
}

.yla-academy .yla-workspace-form .yla-field span {
	color: var(--yla-navy);
	display: block;
	font-weight: 800;
	margin-bottom: 7px;
}

.yla-academy .yla-workspace-form input,
.yla-academy .yla-workspace-form select,
.yla-academy .yla-workspace-form textarea,
.yla-academy .yla-copy-field {
	border: 1px solid #b9c6d5;
	border-radius: 5px;
	font: inherit;
	min-height: 44px;
	padding: 9px 10px;
	width: 100%;
}

.yla-academy .yla-evidence-upload,
.yla-academy .yla-schedule-row,
.yla-academy .yla-schedule-inline {
	background: #f7faff;
	border: 1px solid var(--yla-border);
	border-radius: 8px;
	display: grid;
	gap: 14px;
	min-width: 0;
	padding: 16px;
}

.yla-academy .yla-schedule-row {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.yla-academy .yla-schedule-row .yla-field--wide,
.yla-academy .yla-schedule-inline .yla-field--wide {
	grid-column: 1 / -1;
}

.yla-academy .yla-schedule-inline {
	grid-template-columns: repeat(6, minmax(130px, 1fr));
}

.yla-academy .yla-evidence-list {
	display: grid;
	gap: 8px;
	margin-top: 12px;
}

.yla-academy .yla-workspace-notice {
	background: #eef5ff;
	border-left: 4px solid var(--yla-blue);
	border-radius: 6px;
	margin: 0 0 18px;
	padding: 12px 14px;
}

.yla-academy .yla-workspace-notice--error {
	background: #fff1f0;
	border-left-color: var(--yla-error);
	color: var(--yla-error);
}

.yla-academy .yla-school-logo-preview {
	background: var(--yla-white);
	border: 1px solid var(--yla-border);
	border-radius: 6px;
	height: 86px;
	object-fit: contain;
	padding: 8px;
	width: 120px;
}

@media (max-width: 1180px) {
	.yla-academy .yla-workspace-metrics,
	.yla-academy .yla-workspace-metrics--large,
	.yla-academy .yla-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.yla-academy .yla-schedule-row,
	.yla-academy .yla-schedule-inline {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 860px) {
	.yla-academy .yla-workspace-shell {
		grid-template-columns: 1fr;
	}
	.yla-academy .yla-workspace-sidebar {
		display: none;
	}
	.yla-academy .yla-workspace-sidebar.is-open {
		display: block;
	}
	.yla-academy .yla-workspace-menu {
		display: inline-flex;
	}
	.yla-academy .yla-workspace-main {
		padding: 16px;
	}
	.yla-academy .yla-workspace-topbar {
		align-items: flex-start;
		flex-direction: column;
	}

	.yla-academy .yla-workspace-sidebar {
		min-height: auto;
	}
}

@media (max-width: 620px) {
	.yla-academy .yla-login-card {
		width: calc(100% - 28px);
	}
	.yla-academy .yla-workspace-metrics,
	.yla-academy .yla-workspace-metrics--large,
	.yla-academy .yla-card-grid,
	.yla-academy .yla-schedule-row,
	.yla-academy .yla-schedule-inline {
		grid-template-columns: 1fr;
	}
	.yla-academy .yla-workspace-section {
		padding: 18px;
	}
}

/* v3.2.0 clarity upgrade: role-first gateway, stronger mobile course pathway, and branded login. */
.yla-academy.yla-academy-gateway {
	max-width: none;
	width: 100%;
}
.yla-academy .yla-hero--gateway {
	background:
		radial-gradient(circle at 92% 10%, rgba(31,111,235,0.14), transparent 34%),
		linear-gradient(180deg, #f7faff 0%, #eef4fb 100%);
}
.yla-academy .yla-role-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
.yla-academy .yla-role-card {
	background: var(--yla-white);
	border: 1px solid var(--yla-border);
	border-radius: 14px;
	box-shadow: 0 12px 32px rgba(10, 37, 64, 0.06);
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 24px;
}
.yla-academy .yla-role-card--featured {
	border-top: 8px solid var(--yla-orange);
}
.yla-academy .yla-role-card > span {
	color: var(--yla-blue);
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.yla-academy .yla-role-card h3 {
	font-size: 1.25rem;
	margin-top: 10px;
}
.yla-academy .yla-role-card p {
	color: var(--yla-muted);
	margin-bottom: 18px;
}
.yla-academy .yla-role-actions {
	display: grid;
	gap: 10px;
	margin-top: auto;
}
.yla-academy .yla-course-card__note {
	background: #eef5ff;
	border-left: 4px solid var(--yla-blue);
	border-radius: 6px;
	color: var(--yla-navy) !important;
	font-size: 0.9rem;
	font-weight: 650;
	padding: 12px 14px;
}
.yla-academy .yla-course-card--paid_tutor {
	border-top: 6px solid var(--yla-orange);
}
.yla-academy .yla-course-card__signin {
	color: var(--yla-navy);
	font-size: 0.92rem;
	font-weight: 800;
	text-align: center;
	text-decoration: underline;
}
.yla-academy.yla-login-page {
	background: var(--yla-white);
}
.yla-academy .yla-login-split {
	display: grid;
	grid-template-columns: minmax(420px, 0.95fr) minmax(420px, 1.05fr);
	min-height: 100dvh;
	width: 100%;
}
.yla-academy .yla-login-hero {
	align-items: flex-start;
	background:
		radial-gradient(circle at 80% 10%, rgba(255,255,255,0.16), transparent 26%),
		linear-gradient(145deg, #0a2540 0%, #10549b 100%);
	color: var(--yla-white);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 100dvh;
	padding: clamp(34px, 6vw, 92px);
}
.yla-academy .yla-login-hero-logo {
	background: var(--yla-white);
	border-radius: 10px;
	height: auto;
	margin-bottom: auto;
	max-width: 300px;
	padding: 12px;
}
.yla-academy .yla-login-kicker {
	color: var(--yla-orange);
	font-size: 0.85rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	margin: 0 0 12px;
	text-transform: uppercase;
}
.yla-academy .yla-login-hero h1 {
	color: var(--yla-white);
	font-size: clamp(2.7rem, 5vw, 5.3rem);
	letter-spacing: -0.03em;
	line-height: 0.95;
	max-width: 720px;
}
.yla-academy .yla-login-hero p,
.yla-academy .yla-login-route-list {
	color: #e8f2ff;
	font-size: 1.1rem;
	max-width: 620px;
}
.yla-academy .yla-login-route-list {
	margin: 18px 0 0;
	padding-left: 20px;
}
.yla-academy .yla-login-panel-wrap {
	align-items: center;
	background: #f7faff;
	display: flex;
	justify-content: center;
	padding: clamp(24px, 5vw, 72px);
}
.yla-academy .yla-login-hint {
	color: var(--yla-muted);
	margin-top: -8px;
}
.yla-academy .yla-login-card {
	border-radius: 16px;
	box-shadow: 0 18px 54px rgba(10, 37, 64, 0.10);
	max-width: 560px;
}
.yla-academy.yla-workspace {
	max-width: none;
}
.yla-academy .yla-school-app .yla-workspace-main,
.yla-academy.yla-school-app .yla-workspace-main {
	background: #eef3f8;
	min-height: 100dvh;
}
.yla-academy .yla-next-session {
	margin-top: 18px;
}
.yla-academy [data-yla-public-qr] canvas,
.yla-academy [data-yla-public-qr] img {
	max-width: 100%;
}

@media (max-width: 1180px) {
	.yla-academy .yla-role-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 900px) {
	.yla-academy .yla-login-split {
		grid-template-columns: 1fr;
	}
	.yla-academy .yla-login-hero {
		min-height: auto;
		padding: 34px 24px;
	}
	.yla-academy .yla-login-hero-logo {
		margin-bottom: 42px;
		max-width: 240px;
	}
}
@media (max-width: 760px) {
	.yla-academy .yla-role-grid {
		grid-template-columns: 1fr;
	}
	.yla-academy .yla-login-panel-wrap {
		padding: 20px 14px 34px;
	}
	.yla-academy .yla-login-card {
		padding: 24px;
		width: 100%;
	}
}

/* v3.3.0 Public homepage refresh: a theme layer inside the plugin, not a WordPress theme replacement. */
.yla-academy.yla-front {
	background: #f4f7fb;
	left: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	max-width: none;
	position: relative;
	right: 50%;
	width: 100vw;
}

.yla-front .yla-shell {
	max-width: 1240px;
}

.yla-front-masthead {
	background: rgba(255, 255, 255, 0.96);
	border-bottom: 1px solid var(--yla-border);
	position: sticky;
	top: 0;
	z-index: 60;
}

.yla-front-masthead__inner {
	align-items: center;
	display: flex;
	gap: 28px;
	justify-content: space-between;
	min-height: 84px;
}

.yla-front .yla-brand img {
	max-height: 54px;
}

.yla-front-hero {
	background:
		radial-gradient(circle at 86% 16%, rgba(255, 122, 0, 0.14), transparent 26%),
		linear-gradient(135deg, #071f38 0%, #0a3a69 48%, #0f5ca6 100%);
	color: #ffffff;
	min-height: calc(100vh - 84px);
	padding: 72px 0;
}

.yla-front-hero__grid {
	align-items: center;
	display: grid;
	gap: 34px;
	grid-template-columns: minmax(0, 0.86fr) minmax(520px, 1.14fr);
}

.yla-front-hero .yla-eyebrow,
.yla-front-hero h1,
.yla-front-hero .yla-lead {
	color: #ffffff;
}

.yla-front-hero .yla-eyebrow {
	color: #ffb36b;
}

.yla-front-hero h1 {
	font-size: clamp(3rem, 6vw, 6.6rem);
	line-height: 0.94;
	max-width: 720px;
}

.yla-front-hero .yla-lead {
	font-size: clamp(1.05rem, 1.5vw, 1.32rem);
	max-width: 620px;
	opacity: 0.92;
}

.yla-front-hero__quicklinks {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 32px;
}

.yla-front .yla-button--light {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.55);
	color: #ffffff;
}

.yla-front .yla-button--light:hover,
.yla-front .yla-button--light:focus {
	background: #ffffff;
	color: var(--yla-navy);
}

.yla-front-hero__spotlight {
	display: flex;
	justify-content: flex-end;
}

.yla-front-course {
	background: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.32);
	border-radius: 28px;
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.26);
	color: var(--yla-text);
	overflow: hidden;
	width: 100%;
}

.yla-front-course--primary {
	max-width: 650px;
}

.yla-front-course__image {
	background: #eaf2ff;
	border-bottom: 6px solid var(--yla-orange);
	overflow: hidden;
}

.yla-front-course__image img {
	display: block;
	height: auto;
	width: 100%;
}

.yla-front-course__body {
	padding: 30px;
}

.yla-front-course__body > span,
.yla-front-choice-card > span {
	color: var(--yla-blue);
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0.04em;
	margin-bottom: 10px;
	text-transform: uppercase;
}

.yla-front-course__body h2 {
	font-size: clamp(1.95rem, 3vw, 3.15rem);
	line-height: 1.02;
}

.yla-front-course__body p {
	color: var(--yla-muted);
	font-size: 1.05rem;
	margin: 16px 0 0;
}

.yla-front-course__body ul {
	border-left: 4px solid var(--yla-orange);
	color: var(--yla-text);
	list-style: none;
	margin: 22px 0 0;
	padding: 0 0 0 16px;
}

.yla-front-course__body li + li {
	margin-top: 8px;
}

.yla-front-course__price {
	align-items: center;
	background: #fff4e8;
	border: 1px solid #ffd7b1;
	border-radius: 999px;
	color: #9a4700;
	display: inline-flex;
	font-size: 1.06rem;
	font-weight: 900;
	margin-top: 24px;
	padding: 9px 15px;
}

.yla-front-choice {
	background: #ffffff;
}

.yla-section-heading--center {
	margin-left: auto;
	margin-right: auto;
	max-width: 780px;
	text-align: center;
}

.yla-front-choice__grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 34px;
}

.yla-front-choice-card {
	background: #ffffff;
	border: 1px solid var(--yla-border);
	border-radius: 18px;
	box-shadow: 0 18px 45px rgba(10, 37, 64, 0.08);
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-height: 390px;
	padding: 26px;
}

.yla-front-choice-card--paid {
	border-top: 7px solid var(--yla-orange);
}

.yla-front-choice-card h3 {
	font-size: 1.42rem;
}

.yla-front-choice-card p {
	color: var(--yla-muted);
	margin: 0;
}

.yla-front-choice-card .yla-button {
	margin-top: auto;
	width: 100%;
}

.yla-front-text-link {
	font-weight: 800;
	text-align: center;
}

.yla-front-school {
	background: var(--yla-soft);
}

.yla-front-school__grid {
	align-items: center;
	display: grid;
	gap: 42px;
	grid-template-columns: minmax(360px, 0.92fr) minmax(0, 1.08fr);
}

.yla-front-school__media img {
	background: #ffffff;
	border-radius: 24px;
	box-shadow: 0 22px 55px rgba(10, 37, 64, 0.12);
	display: block;
	width: 100%;
}

.yla-front-school__copy p {
	color: var(--yla-muted);
	font-size: 1.08rem;
}

.yla-front-process {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 28px 0;
}

.yla-front-process div {
	background: #ffffff;
	border: 1px solid var(--yla-border);
	border-radius: 14px;
	padding: 16px;
}

.yla-front-process strong {
	align-items: center;
	background: var(--yla-orange);
	border-radius: 999px;
	color: #ffffff;
	display: inline-flex;
	height: 30px;
	justify-content: center;
	margin-bottom: 10px;
	width: 30px;
}

.yla-front-process span {
	display: block;
	font-size: 0.92rem;
	font-weight: 800;
	line-height: 1.3;
}

.yla-front-courses {
	background: #ffffff;
}

.yla-front-how .yla-section-heading h2,
.yla-front-how h3,
.yla-front-how p {
	color: #ffffff;
}

.yla-front-outputs,
.yla-front-help {
	background: #ffffff;
}

.yla-front-footer {
	margin-top: 0;
}

@media (max-width: 1180px) {
	.yla-front-hero__grid,
	.yla-front-school__grid {
		grid-template-columns: 1fr;
	}
	.yla-front-hero__spotlight {
		justify-content: flex-start;
	}
	.yla-front-choice__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.yla-front-masthead__inner {
		min-height: 72px;
	}
	.yla-front .yla-nav {
		background: #ffffff;
		border: 1px solid var(--yla-border);
		border-radius: 14px;
		box-shadow: 0 15px 35px rgba(10, 37, 64, 0.14);
		display: none;
		flex-direction: column;
		gap: 6px;
		padding: 12px;
		position: absolute;
		right: 18px;
		top: 76px;
		width: min(320px, calc(100vw - 36px));
	}
	.yla-front .yla-nav.is-open {
		display: flex;
	}
	.yla-front .yla-nav a {
		padding: 10px 12px;
		width: 100%;
	}
	.yla-front .yla-nav-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}
	.yla-front-hero {
		min-height: auto;
		padding: 44px 0;
	}
	.yla-front-hero h1 {
		font-size: clamp(2.65rem, 16vw, 4.1rem);
	}
	.yla-front-hero__quicklinks .yla-button,
	.yla-front-course__body .yla-actions .yla-button,
	.yla-front-school__copy .yla-actions .yla-button {
		width: 100%;
	}
	.yla-front-course__body {
		padding: 22px;
	}
	.yla-front-choice__grid,
	.yla-front-process {
		grid-template-columns: 1fr;
	}
	.yla-front-choice-card {
		min-height: auto;
	}
}

/* v3.4.0 refinement: clearer front-page routes, orange school programme band, dashboard usability fixes. */
.yla-front .yla-nav--decision {
	gap: 10px;
}
.yla-front .yla-nav--decision a {
	border: 1px solid var(--yla-border);
	border-radius: 999px;
	font-size: 0.98rem;
	font-weight: 900;
	padding: 12px 16px;
	white-space: nowrap;
}
.yla-front .yla-nav--decision a:nth-last-child(2),
.yla-front .yla-nav--decision a:last-child {
	background: var(--yla-blue);
	border-color: var(--yla-blue);
	color: #fff;
}
.yla-front .yla-nav--decision a:last-child {
	background: var(--yla-orange);
	border-color: var(--yla-orange);
	color: #fff;
}
.yla-front .yla-nav--decision a:hover,
.yla-front .yla-nav--decision a:focus {
	background: var(--yla-navy);
	border-color: var(--yla-navy);
	color: #fff;
}
.yla-front-school-feature {
	background:
		radial-gradient(circle at 82% 18%, rgba(255,255,255,.28), transparent 22%),
		linear-gradient(135deg, #ff7a00 0%, #f7931d 52%, #ffb15e 100%);
	color: #fff;
	padding: clamp(58px, 7vw, 108px) 0;
}
.yla-front-school-feature__grid {
	align-items: center;
	display: grid;
	gap: 44px;
	grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr);
}
.yla-front-school-feature .yla-eyebrow,
.yla-front-school-feature h2,
.yla-front-school-feature p {
	color: #fff;
}
.yla-front-school-feature .yla-eyebrow {
	color: #0a2540;
}
.yla-front-school-feature h2 {
	font-size: clamp(2.35rem, 5vw, 5.2rem);
	line-height: .98;
	max-width: 820px;
}
.yla-front-school-feature p {
	font-size: clamp(1.04rem, 1.4vw, 1.24rem);
	max-width: 760px;
}
.yla-front-school-feature__panel {
	background: #fff;
	border-radius: 28px;
	box-shadow: 0 28px 80px rgba(82,39,0,.26);
	overflow: hidden;
}
.yla-front-school-feature__panel > img {
	display: block;
	width: 100%;
}
.yla-front-school-feature__steps {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(4, minmax(0,1fr));
	padding: 18px;
}
.yla-front-school-feature__steps div {
	background: #fff8f0;
	border: 1px solid #ffd1a4;
	border-radius: 14px;
	color: var(--yla-navy);
	padding: 13px;
}
.yla-front-school-feature__steps strong {
	align-items: center;
	background: var(--yla-orange);
	border-radius: 999px;
	color: #fff;
	display: inline-flex;
	height: 28px;
	justify-content: center;
	margin-bottom: 8px;
	width: 28px;
}
.yla-front-school-feature__steps span {
	display: block;
	font-size: .88rem;
	font-weight: 900;
	line-height: 1.25;
}
.yla-output-split {
	display: grid;
	gap: 34px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.yla-output-split h3 {
	margin-bottom: 14px;
}
.yla-workspace-section .yla-check,
.yla-evidence-upload .yla-check {
	align-items: flex-start !important;
	display: grid !important;
	grid-template-columns: 24px minmax(0, 1fr) !important;
	justify-content: start !important;
	line-height: 1.45;
	max-width: 920px;
	white-space: normal;
}
.yla-workspace-section .yla-check input,
.yla-evidence-upload .yla-check input {
	grid-column: 1;
	justify-self: start;
	margin: 2px 0 0 !important;
}
.yla-workspace-section .yla-check span,
.yla-evidence-upload .yla-check span {
	grid-column: 2;
}
.yla-attendance-present {
	align-items: center;
	display: inline-flex;
	font-weight: 800;
	gap: 8px;
	white-space: nowrap;
}
.yla-attendance-present input {
	height: 18px;
	width: 18px;
}
.yla-learner-roster-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 18px;
}
.yla-tutor-brand-shell {
	background: linear-gradient(135deg,#f6f9fd,#eef5ff);
}
body:has(.tutor-dashboard),
body:has(.tutor-checkout-wrap),
body:has(.tutor-frontend-dashboard-maincontent) {
	background: #f4f7fb;
}
.tutor-dashboard,
.tutor-checkout-wrap,
.tutor-frontend-dashboard-maincontent {
	border-radius: 18px;
}
@media (max-width: 1180px) {
	.yla-front-school-feature__grid,
	.yla-output-split {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 760px) {
	.yla-front .yla-nav--decision a {
		border-radius: 12px;
		font-size: .95rem;
		white-space: normal;
	}
	.yla-front-school-feature {
		padding: 44px 0;
	}
	.yla-front-school-feature h2 {
		font-size: clamp(2.2rem, 13vw, 4rem);
	}
	.yla-front-school-feature__steps {
		grid-template-columns: 1fr 1fr;
	}
	.yla-workspace-section .yla-check,
	.yla-evidence-upload .yla-check {
		max-width: 100%;
	}
}

/* v3.5.1 operations reliability and school dashboard usability fixes. */
.yla-fullscreen-body .yla-academy.yla-workspace,
.yla-fullscreen-body .yla-academy.yla-school-app {
	min-height: 100dvh;
	width: 100vw;
}
.yla-academy .yla-workspace-shell {
	max-width: none;
	min-height: 100dvh;
	width: 100%;
}
.yla-academy .yla-workspace-sidebar {
	position: sticky;
	top: 0;
}
.yla-academy .yla-workspace-main {
	max-width: none;
	width: 100%;
}
.yla-workspace-actions,
.yla-learner-roster-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 14px 0;
}
.yla-workspace-actions form,
.yla-learner-roster-actions form {
	margin: 0;
}
.yla-workspace-section .yla-check,
.yla-evidence-upload .yla-check,
.yla-academy .yla-check {
	align-items: flex-start !important;
	display: grid !important;
	gap: 10px !important;
	grid-template-columns: 24px minmax(0, 1fr) !important;
	justify-content: start !important;
	line-height: 1.45 !important;
	margin: 12px 0 !important;
	max-width: 100% !important;
	padding: 10px 12px !important;
	white-space: normal !important;
}
.yla-workspace-section .yla-check input,
.yla-evidence-upload .yla-check input,
.yla-academy .yla-check input {
	align-self: start !important;
	grid-column: 1 !important;
	height: 18px !important;
	justify-self: start !important;
	margin: 2px 0 0 !important;
	min-width: 18px !important;
	width: 18px !important;
}
.yla-workspace-section .yla-check span,
.yla-evidence-upload .yla-check span,
.yla-academy .yla-check span {
	grid-column: 2 !important;
	max-width: 100% !important;
	min-width: 0 !important;
	white-space: normal !important;
}
.yla-workspace-notice {
	background: #ecfdf5;
	border: 1px solid #34d399;
	border-left: 5px solid #047857;
	border-radius: 10px;
	color: #064e3b;
	font-weight: 800;
	margin: 0 0 18px;
	padding: 14px 16px;
}
.yla-workspace-notice--error {
	background: #fef2f2;
	border-color: #fca5a5;
	border-left-color: #b91c1c;
	color: #7f1d1d;
}
.yla-table-scroll table .yla-button {
	padding: 8px 10px;
	white-space: nowrap;
}
@media (max-width: 900px) {
	.yla-academy .yla-workspace-sidebar {
		position: fixed;
	}
	.yla-academy .yla-workspace-main {
		padding: 18px;
	}
	.yla-workspace-actions,
	.yla-learner-roster-actions {
		align-items: stretch;
		flex-direction: column;
	}
	.yla-workspace-actions .yla-button,
	.yla-workspace-actions form,
	.yla-learner-roster-actions .yla-button,
	.yla-learner-roster-actions form {
		width: 100%;
	}
}

/* v3.5.2 programme content selector and front page refinement. */
.yla-programme-selector {
	background: #f8fbff;
	border: 1px solid var(--yla-border);
	border-left: 5px solid var(--yla-orange);
	border-radius: 18px;
	box-shadow: 0 12px 32px rgba(10,37,64,.05);
	grid-column: 1 / -1;
	margin: 14px 0 18px;
	padding: 18px;
}
.yla-programme-selector h3 {
	font-size: clamp(1.2rem, 2vw, 1.7rem);
	margin: 0 0 6px;
}
.yla-programme-selector p {
	margin: 0 0 14px;
}
.yla-programme-activities {
	background: #fff;
	border: 1px solid var(--yla-border);
	border-radius: 14px;
	display: grid;
	gap: 4px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 14px;
	padding: 14px;
}
.yla-programme-activities > strong {
	grid-column: 1 / -1;
}
.yla-programme-activities .yla-check {
	margin: 4px 0 !important;
	padding: 8px !important;
}
.yla-front-school-feature__identity {
	min-width: 0;
}
.yla-front-school-feature h2 {
	font-size: clamp(2.4rem, 4.25vw, 4.4rem);
	line-height: 1.02;
	max-width: 760px;
	overflow-wrap: anywhere;
	text-wrap: balance;
}
.yla-front-school-feature p {
	line-height: 1.75;
	max-width: 720px;
}
.yla-front-school-feature__grid {
	grid-template-columns: minmax(0, .95fr) minmax(360px, .9fr);
}
.yla-front-school-feature__panel {
	max-width: 720px;
}
.yla-front-school-feature__steps div {
	min-height: 92px;
}
@media (max-width: 900px) {
	.yla-programme-activities {
		grid-template-columns: 1fr;
	}
	.yla-front-school-feature h2 {
		font-size: clamp(2.1rem, 10vw, 3.3rem);
	}
	.yla-front-school-feature__grid {
		grid-template-columns: 1fr;
	}
}
@media print {
	.yla-workspace-sidebar,
	.yla-workspace-topbar,
	.yla-workspace-actions,
	.yla-button,
	.yla-front-masthead,
	.yla-footer {
		display: none !important;
	}
	.yla-workspace-main,
	.yla-workspace-section {
		background: #fff !important;
		padding: 0 !important;
		width: 100% !important;
	}
}

/* v3.5.3 review workflow and school-programme front-page balance. */
.yla-front-school-feature h2 {
	font-size: clamp(2.3rem, 3.7vw, 4rem) !important;
	line-height: 1.05 !important;
	max-width: 680px !important;
	text-wrap: balance;
}
.yla-front-school-feature p {
	font-size: clamp(1rem, 1.2vw, 1.16rem) !important;
	line-height: 1.68 !important;
	max-width: 660px !important;
}
.yla-front-school-feature__grid {
	align-items: center;
	grid-template-columns: minmax(0, .88fr) minmax(380px, .82fr) !important;
}
.yla-front-school-feature__panel {
	justify-self: end;
	max-width: 680px !important;
}
.yla-inline-review-form {
	display: grid;
	gap: 8px;
	min-width: 220px;
}
.yla-inline-review-form select,
.yla-inline-review-form textarea {
	border: 1px solid var(--yla-border);
	border-radius: 10px;
	font: inherit;
	padding: 8px 10px;
	width: 100%;
}
.yla-inline-review-form textarea {
	min-height: 58px;
	resize: vertical;
}
.yla-review-note {
	background: #fff7ed;
	border-left: 4px solid var(--yla-orange);
	border-radius: 12px;
	font-weight: 700;
	padding: 10px 12px;
}
@media (max-width: 1040px) {
	.yla-front-school-feature__grid {
		grid-template-columns: 1fr !important;
	}
	.yla-front-school-feature__panel {
		justify-self: stretch;
		max-width: none !important;
	}
}

/* v3.5.4: timetable save/preview hardening */
.yla-academy .yla-print-area {
	background: #ffffff;
	border: 1px solid var(--yla-border);
	border-radius: 8px;
	margin: 12px 0 22px;
	padding: 6px;
}
.yla-academy .yla-schedule-row .yla-field-help,
.yla-academy .yla-schedule-inline .yla-field-help,
.yla-academy .yla-programme-selector .yla-field-help {
	display: block;
	font-size: 0.86rem;
	line-height: 1.45;
	margin-top: 6px;
}
@media print {
	.yla-academy .yla-workspace-sidebar,
	.yla-academy .yla-workspace-topbar,
	.yla-academy .yla-workspace-actions,
	.yla-academy form.yla-workspace-form,
	.yla-academy .yla-schedule-inline,
	.yla-academy .yla-next-session,
	.yla-academy .yla-card-grid {
		display: none !important;
	}
	.yla-academy .yla-workspace-shell,
	.yla-academy .yla-workspace-main,
	.yla-academy .yla-workspace-section {
		display: block !important;
		margin: 0 !important;
		max-width: none !important;
		padding: 0 !important;
		width: 100% !important;
	}
	.yla-academy .yla-print-area {
		border: 0;
		padding: 0;
	}
}

/* v3.5.5 clearer planning guidance for teachers using the timetable. */
.yla-academy .yla-guidance-card {
	background: #fff7ed;
	border: 1px solid rgba(255, 122, 0, .25);
	border-left: 5px solid var(--yla-orange);
	border-radius: 16px;
	margin: 16px 0 20px;
	padding: 16px 18px;
}
.yla-academy .yla-guidance-card strong {
	display: block;
	margin-bottom: 8px;
}
.yla-academy .yla-guidance-card ul {
	margin: 0;
	padding-left: 20px;
}
.yla-academy .yla-guidance-card li + li {
	margin-top: 6px;
}

/* v3.5.6 session report save/preview guidance */
.yla-academy .yla-guidance-box {
	background: #f8fbff;
	border: 1px solid var(--yla-border);
	border-left: 5px solid var(--yla-blue);
	border-radius: 14px;
	margin: 12px 0 16px;
	padding: 14px 16px;
}
.yla-academy .yla-guidance-box p {
	margin: 6px 0 0;
}
.yla-academy .yla-guidance-box--success {
	background: #f0fdf4;
	border-left-color: #16a34a;
}

/* v3.5.7 attendance register workflow */
.yla-academy .yla-attendance-context {
	margin: 16px 0;
}
.yla-academy .yla-attendance-statuses {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(2, minmax(90px, 1fr));
}
.yla-academy .yla-attendance-statuses label {
	align-items: center;
	background: #fff;
	border: 1px solid var(--yla-border);
	border-radius: 10px;
	display: flex;
	font-weight: 700;
	gap: 8px;
	padding: 8px 10px;
	white-space: nowrap;
}
.yla-academy .yla-attendance-register input[type="text"],
.yla-academy .yla-attendance-register input:not([type]) {
	min-width: 140px;
}
@media (max-width: 760px) {
	.yla-academy .yla-attendance-register table,
	.yla-academy .yla-attendance-register thead,
	.yla-academy .yla-attendance-register tbody,
	.yla-academy .yla-attendance-register tr,
	.yla-academy .yla-attendance-register th,
	.yla-academy .yla-attendance-register td {
		display: block;
		width: 100%;
	}
	.yla-academy .yla-attendance-register thead {
		display: none;
	}
	.yla-academy .yla-attendance-register tr {
		background: #fff;
		border: 1px solid var(--yla-border);
		border-radius: 14px;
		margin-bottom: 12px;
		padding: 12px;
	}
	.yla-academy .yla-attendance-register td {
		border: 0;
		padding: 7px 0;
	}
	.yla-academy .yla-attendance-statuses {
		grid-template-columns: 1fr 1fr;
	}
}

/* v3.6.0 — Teacher Resource Library and school document identity */
.yla-academy .yla-resource-quick-links {
	margin: 18px 0;
}

.yla-academy .yla-resource-filters {
	display: grid;
	grid-template-columns: minmax(220px, 1.3fr) repeat(3, minmax(180px, 1fr));
	gap: 14px;
	align-items: end;
	padding: 18px;
	margin: 20px 0;
	background: #f6f9fd;
	border: 1px solid #dbe6f2;
	border-radius: 14px;
}

.yla-academy .yla-resource-filters .yla-field {
	margin: 0;
}

.yla-academy .yla-resource-filter-actions {
	display: flex;
	gap: 10px;
	grid-column: 1 / -1;
	flex-wrap: wrap;
}

.yla-academy .yla-resource-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 20px;
}

.yla-academy .yla-resource-card {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	padding: 20px;
	background: #fff;
	border: 1px solid #dbe6f2;
	border-radius: 14px;
	box-shadow: 0 10px 28px rgba(10, 37, 64, 0.06);
}

.yla-academy .yla-resource-card.is-featured {
	border-top: 5px solid #ff7a00;
}

.yla-academy .yla-resource-card__meta {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #1f6feb;
}

.yla-academy .yla-resource-card__meta strong {
	color: #a84a00;
	background: #fff1e6;
	border-radius: 999px;
	padding: 4px 8px;
}

.yla-academy .yla-resource-card h3 {
	font-size: 21px;
	line-height: 1.2;
	margin: 12px 0 8px;
}

.yla-academy .yla-resource-card p {
	color: #52677b;
}

.yla-academy .yla-resource-card dl,
.yla-academy .yla-profile-details {
	margin: 14px 0;
}

.yla-academy .yla-resource-card dl > div,
.yla-academy .yla-profile-details > div {
	display: grid;
	grid-template-columns: minmax(86px, 0.35fr) 1fr;
	gap: 10px;
	padding: 8px 0;
	border-top: 1px solid #e5edf5;
}

.yla-academy .yla-resource-card dt,
.yla-academy .yla-profile-details dt {
	font-weight: 800;
	color: #0a2540;
}

.yla-academy .yla-resource-card dd,
.yla-academy .yla-profile-details dd {
	margin: 0;
	overflow-wrap: anywhere;
}

.yla-academy .yla-resource-card__actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: auto;
	padding-top: 12px;
}

.yla-academy .yla-resource-empty {
	grid-column: 1 / -1;
}

.yla-academy .yla-profile-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(320px, 0.8fr);
	gap: 18px;
	margin-top: 18px;
}

.yla-academy .yla-logo-manager form {
	margin-top: 16px;
}

.yla-academy .yla-logo-placeholder {
	padding: 22px;
	border: 2px dashed #c8d6e5;
	border-radius: 12px;
	background: #f8fbff;
	color: #52677b;
}

.yla-academy .yla-success-text {
	padding: 10px 12px;
	border-left: 4px solid #1f9d55;
	background: #edf9f2;
	color: #155d36;
}

.yla-academy .yla-button--danger {
	background: #fff;
	border: 1px solid #b42318;
	color: #b42318;
}

.yla-academy .yla-button--danger:hover,
.yla-academy .yla-button--danger:focus {
	background: #fff1f0;
	color: #8f1d14;
}

@media (max-width: 1180px) {
	.yla-academy .yla-resource-filters {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.yla-academy .yla-resource-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.yla-academy .yla-resource-filters,
	.yla-academy .yla-resource-grid,
	.yla-academy .yla-profile-grid {
		grid-template-columns: 1fr;
	}
	.yla-academy .yla-resource-card dl > div,
	.yla-academy .yla-profile-details > div {
		grid-template-columns: 1fr;
		gap: 3px;
	}
	.yla-academy .yla-resource-card__actions .yla-button,
	.yla-academy .yla-resource-filter-actions .yla-button {
		width: 100%;
		text-align: center;
	}
}

.yla-academy .yla-resource-badges {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	justify-content: flex-end;
}

.yla-academy .yla-resource-card__meta .is-required {
	background: #e8f1ff;
	color: #0b5ed7;
}

/* v3.7.0 Reports and Evidence Centre */
.yla-academy .yla-reports-centre .yla-section-heading {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
	gap: 28px;
	align-items: end;
	margin-bottom: 22px;
}
.yla-academy .yla-reports-centre .yla-section-heading h2,
.yla-academy .yla-reports-centre .yla-section-heading p { margin-bottom: 0; }
.yla-academy .yla-report-centre-metrics {
	grid-template-columns: repeat(6, minmax(120px, 1fr));
	margin: 22px 0;
}
.yla-academy .yla-report-centre-filters {
	display: grid;
	grid-template-columns: repeat(5, minmax(150px, 1fr));
	gap: 14px;
	padding: 20px;
	margin: 22px 0 14px;
	background: #f5f8fc;
	border: 1px solid #d7e1ed;
	border-radius: 14px;
}
.yla-academy .yla-report-centre-filters .yla-field--wide { grid-column: span 3; }
.yla-academy .yla-report-filter-actions {
	display: flex;
	gap: 10px;
	align-items: end;
	flex-wrap: wrap;
}
.yla-academy .yla-report-export-actions,
.yla-academy .yla-template-actions { margin-bottom: 20px; }
.yla-academy .yla-report-centre-table td { min-width: 140px; }
.yla-academy .yla-report-centre-table td:nth-child(2) { min-width: 250px; }
.yla-academy .yla-report-centre-table td:nth-child(4) { min-width: 220px; }
.yla-academy .yla-report-centre-table td:nth-child(6) { min-width: 190px; }
.yla-academy .yla-report-centre-table td > strong,
.yla-academy .yla-report-centre-table td > small { display: block; }
.yla-academy .yla-record-type,
.yla-academy .yla-status-pill,
.yla-academy .yla-integrity-pill {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	padding: 5px 9px;
	margin: 0 0 8px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
}
.yla-academy .yla-record-type { background: #e8f1ff; color: #075fd8; }
.yla-academy .yla-record-type--attendance { background: #e8f8ef; color: #19723b; }
.yla-academy .yla-record-type--timetable { background: #fff0df; color: #a54b00; }
.yla-academy .yla-record-type--evidence { background: #f2eafe; color: #6a32a8; }
.yla-academy .yla-status-pill { background: #edf1f6; color: #34495e; }
.yla-academy .yla-status-pill--submitted,
.yla-academy .yla-status-pill--under_review { background: #e8f1ff; color: #075fd8; }
.yla-academy .yla-status-pill--accepted,
.yla-academy .yla-status-pill--permission_confirmed { background: #e8f8ef; color: #19723b; }
.yla-academy .yla-status-pill--needs_clarification,
.yla-academy .yla-status-pill--permission_pending { background: #fff0df; color: #a54b00; }
.yla-academy .yla-integrity-pill--ready { background: #e8f8ef; color: #19723b; }
.yla-academy .yla-integrity-pill--attention { background: #fff0df; color: #a54b00; }
.yla-academy .yla-report-feedback {
	margin-top: 10px;
	padding: 10px;
	background: #f6f9fd;
	border-left: 3px solid #1670ed;
	border-radius: 6px;
}
.yla-academy .yla-report-feedback p { margin: 4px 0 0; }
.yla-academy .yla-report-centre-table details { margin-top: 8px; }
.yla-academy .yla-report-centre-table details ul { margin: 8px 0 0 18px; padding: 0; }
.yla-academy .yla-report-row-actions { display: flex; gap: 7px; flex-wrap: wrap; }
.yla-academy .yla-report-row-actions form { margin: 0; }
.yla-academy .yla-evidence-gallery {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 16px;
}
.yla-academy .yla-evidence-card,
.yla-academy .yla-empty-state {
	border: 1px solid #d7e1ed;
	border-radius: 14px;
	background: #fff;
	overflow: hidden;
}
.yla-academy .yla-evidence-card img {
	display: block;
	width: 100%;
	height: 190px;
	object-fit: cover;
	background: #eef3f8;
}
.yla-academy .yla-evidence-card > div { padding: 16px; }
.yla-academy .yla-evidence-card strong,
.yla-academy .yla-evidence-card small { display: block; overflow-wrap: anywhere; }
.yla-academy .yla-evidence-card .yla-button { margin-top: 10px; }
.yla-academy .yla-evidence-file-icon {
	display: grid;
	place-items: center;
	min-height: 190px;
	font-size: 34px;
	font-weight: 900;
	background: #eef3f8;
	color: #0a2540;
}
.yla-academy .yla-empty-state { grid-column: 1 / -1; padding: 22px; }
.yla-academy .yla-guidance-box--notice { border-left-color: #ff7a00; background: #fff7ee; }
.yla-academy .yla-schedule-inline:target { outline: 4px solid rgba(22,112,237,.2); scroll-margin-top: 20px; }

@media (max-width: 1180px) {
	.yla-academy .yla-report-centre-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.yla-academy .yla-report-centre-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.yla-academy .yla-report-centre-filters .yla-field--wide { grid-column: span 2; }
	.yla-academy .yla-evidence-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
	.yla-academy .yla-reports-centre .yla-section-heading,
	.yla-academy .yla-report-centre-filters,
	.yla-academy .yla-report-centre-metrics,
	.yla-academy .yla-evidence-gallery { grid-template-columns: 1fr; }
	.yla-academy .yla-report-centre-filters .yla-field--wide { grid-column: auto; }
	.yla-academy .yla-report-filter-actions,
	.yla-academy .yla-report-filter-actions .yla-button,
	.yla-academy .yla-report-row-actions,
	.yla-academy .yla-report-row-actions .yla-button { width: 100%; }
	.yla-academy .yla-report-row-actions form { width: 100%; }
}

/* v3.8.0 — Communications and community centre */
.yla-communication-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:24px}
.yla-announcement-list,.yla-conversation-list{display:grid;gap:18px}
.yla-announcement-card{border-left:5px solid #2a74e8}
.yla-announcement-card.is-unread{box-shadow:0 10px 28px rgba(10,37,64,.1);background:#fbfdff}
.yla-announcement-card.priority-high{border-left-color:#ff7a00}
.yla-announcement-card.priority-urgent{border-left-color:#c62828}
.yla-announcement-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;color:#536477;font-size:.85rem}
.yla-announcement-card__meta span,.yla-announcement-card__meta strong{display:inline-flex;padding:5px 9px;border-radius:999px;background:#edf4ff;color:#0a56c7;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}
.yla-announcement-card__meta strong{background:#fff0e4;color:#9f4300}
.yla-announcement-card__meta time{margin-left:auto}
.yla-conversation-card{padding:24px}
.yla-thread-messages{display:grid;gap:12px;margin:18px 0}
.yla-thread-message{max-width:86%;padding:14px 16px;border-radius:14px;background:#eef4fb}
.yla-thread-message.is-school{margin-left:auto;background:#e7f1ff;border-bottom-right-radius:4px}
.yla-thread-message.is-youthlearn{margin-right:auto;background:#fff5e9;border-bottom-left-radius:4px}
.yla-thread-message p{margin:6px 0 8px}.yla-thread-message small{display:block;color:#607284}
.yla-thread-reply{display:grid;gap:12px;padding-top:16px;border-top:1px solid #dbe4ee}
.yla-conversation-card form{margin-top:12px}
@media(max-width:760px){.yla-communication-metrics{grid-template-columns:1fr}.yla-announcement-card__meta time{width:100%;margin-left:0}.yla-thread-message{max-width:100%}}


/* v3.9.0 — School Profile, document centre and school branding */
.yla-academy .yla-profile-summary-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:18px;margin:18px 0}
.yla-academy .yla-profile-completeness__top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.yla-academy .yla-profile-completeness__top div{display:grid;gap:4px}.yla-academy .yla-profile-completeness__top strong{font-size:2.3rem;line-height:1;color:#0a2540}.yla-academy .yla-status-pill{display:inline-flex;padding:7px 11px;border-radius:999px;background:#eaf2ff;color:#0b5ed7;font-weight:800;font-size:.8rem}
.yla-academy .yla-progress-track{height:12px;background:#e5edf6;border-radius:999px;overflow:hidden;margin:16px 0}.yla-academy .yla-progress-track span{display:block;height:100%;background:linear-gradient(90deg,#1f6feb,#ff7a00);border-radius:999px}
.yla-academy .yla-profile-identity-card{text-align:center;display:grid;place-content:center}.yla-academy .yla-profile-identity-card__logos{display:flex;justify-content:center;align-items:center;gap:14px;min-height:80px}.yla-academy .yla-profile-identity-card__logos img{max-width:180px;max-height:70px;width:auto;height:auto;object-fit:contain}.yla-academy .yla-profile-identity-card__logos span{font-size:1.5rem;font-weight:900;color:#ff7a00}
.yla-academy .yla-profile-document-centre{margin:24px 0;padding:22px;border:1px solid #dbe6f2;border-radius:16px;background:#f8fbff}.yla-academy .yla-profile-document-centre .yla-section-heading{margin-bottom:16px}.yla-academy .yla-document-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.yla-academy .yla-document-action-grid form{margin:0}.yla-academy .yla-document-action{display:flex;flex-direction:column;gap:6px;width:100%;height:100%;min-height:112px;padding:16px;border:1px solid #cbd9e8;border-radius:12px;background:#fff;color:#0a2540;text-align:left;text-decoration:none;cursor:pointer;font:inherit;box-shadow:0 5px 16px rgba(10,37,64,.04)}.yla-academy .yla-document-action:hover,.yla-academy .yla-document-action:focus{border-color:#1f6feb;transform:translateY(-1px);box-shadow:0 8px 22px rgba(31,111,235,.12)}.yla-academy .yla-document-action strong{font-size:1rem}.yla-academy .yla-document-action span{font-size:.84rem;line-height:1.45;color:#5b6b7a}
.yla-academy .yla-profile-grid--identity{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)}.yla-academy .yla-branding-coverage{margin-top:18px;padding:14px;border-radius:12px;background:#f5f8fc}.yla-academy .yla-branding-coverage ul{margin:8px 0 0 18px}.yla-academy .yla-registration-identity .yla-profile-qr{margin-top:16px}.yla-academy .yla-registration-identity .yla-profile-qr img{max-width:210px;height:auto}.yla-academy .yla-inline-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.yla-academy .yla-profile-editor{margin-top:24px;border:1px solid #dbe6f2;border-radius:16px;background:#fff;overflow:hidden}.yla-academy .yla-profile-editor>summary{display:flex;justify-content:space-between;gap:18px;padding:20px 22px;background:#f6f9fd;cursor:pointer;list-style:none}.yla-academy .yla-profile-editor>summary::-webkit-details-marker{display:none}.yla-academy .yla-profile-editor>summary span{max-width:600px;color:#5b6b7a;font-size:.88rem}.yla-academy .yla-profile-edit-form{padding:22px}.yla-academy .yla-profile-edit-form fieldset{margin:0 0 22px;padding:18px;border:1px solid #dbe6f2;border-radius:14px}.yla-academy .yla-profile-edit-form legend{padding:0 8px;font-weight:900;color:#0a2540}.yla-academy .yla-profile-edit-form .yla-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.yla-academy .yla-profile-edit-form .yla-field{margin:0}.yla-academy .yla-profile-edit-form .yla-field--wide{grid-column:1/-1}.yla-academy .yla-profile-save-bar{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px;margin:0 -22px -22px;background:#0a2540;color:#fff}.yla-academy .yla-profile-save-bar .yla-button{flex:0 0 auto}
@media(max-width:1180px){.yla-academy .yla-document-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.yla-academy .yla-profile-edit-form .yla-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.yla-academy .yla-profile-summary-grid,.yla-academy .yla-profile-grid--identity,.yla-academy .yla-document-action-grid,.yla-academy .yla-profile-edit-form .yla-form-grid{grid-template-columns:1fr}.yla-academy .yla-profile-completeness__top,.yla-academy .yla-profile-editor>summary,.yla-academy .yla-profile-save-bar{align-items:stretch;flex-direction:column}.yla-academy .yla-profile-edit-form .yla-field--wide{grid-column:auto}.yla-academy .yla-inline-actions .yla-button,.yla-academy .yla-profile-save-bar .yla-button{width:100%}}

/* Version 4.0.0: staff, facilitator and management workspaces. */
.yla-staff-workspace .yla-workspace-main,
.yla-management-workspace .yla-workspace-main {
	min-width: 0;
}
.yla-sidebar-role {
	margin: 16px 0 20px;
	padding-bottom: 16px;
	border-bottom: 1px solid rgba(255,255,255,.18);
	font-size: 13px;
	line-height: 1.45;
	color: rgba(255,255,255,.82);
}
.yla-staff-filter-bar form {
	display: flex;
	align-items: end;
	gap: 12px;
	flex-wrap: wrap;
}
.yla-staff-filter-bar label {
	display: grid;
	gap: 6px;
	min-width: 210px;
	font-weight: 700;
}
.yla-staff-filter-bar input,
.yla-staff-filter-bar select,
.yla-staff-action-form input,
.yla-staff-action-form select,
.yla-staff-action-form textarea {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #b9c9dc;
	border-radius: 6px;
	background: #fff;
	padding: 11px 12px;
	font: inherit;
	color: #082a4a;
}
.yla-workspace-metrics--dense,
.yla-workspace-metrics--management {
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}
.yla-workspace-metrics--management > div {
	min-height: 104px;
}
.yla-section-heading {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 20px;
	margin-bottom: 18px;
}
.yla-health-grid {
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}
.yla-risk-card {
	position: relative;
	border-top: 5px solid #8aa0b7;
}
.yla-risk-card--high { border-top-color: #b42318; }
.yla-risk-card--medium { border-top-color: #f79009; }
.yla-risk-card--low { border-top-color: #12b76a; }
.yla-card-status {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 8px;
}
.yla-risk-badge {
	display: inline-flex;
	align-items: center;
	border-radius: 999px;
	padding: 5px 9px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .03em;
	white-space: nowrap;
}
.yla-risk-badge--high { background: #fee4e2; color: #912018; }
.yla-risk-badge--medium { background: #fef0c7; color: #7a2e0e; }
.yla-risk-badge--low { background: #dcfae6; color: #05603a; }
.yla-compact-list {
	margin: 12px 0;
	padding-left: 18px;
}
.yla-compact-list li { margin: 5px 0; }
.yla-risk-reasons {
	min-height: 42px;
	padding: 10px 12px;
	background: #f5f8fc;
	border-left: 3px solid #ff7a00;
	border-radius: 4px;
}
.yla-status-chip {
	display: inline-block;
	padding: 5px 8px;
	border-radius: 999px;
	background: #eaf2fb;
	font-size: 12px;
	font-weight: 700;
}
.yla-two-column-section {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 24px;
}
.yla-staff-action-form {
	display: grid;
	gap: 13px;
	padding: 18px;
	border: 1px solid #d4dfeb;
	border-radius: 10px;
	background: #f8fbff;
}
.yla-staff-action-form label {
	display: grid;
	gap: 6px;
	font-weight: 700;
}
.yla-form-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}
.yla-checkbox-line {
	display: flex !important;
	grid-template-columns: none !important;
	align-items: center;
	gap: 9px;
}
.yla-checkbox-line input { width: auto; }
.yla-message-list {
	display: grid;
	gap: 12px;
	max-height: 680px;
	overflow: auto;
	padding-right: 4px;
}
.yla-message-list article {
	padding: 14px;
	border: 1px solid #d5e0ec;
	border-radius: 8px;
	background: #f8fbff;
}
.yla-message-list h4 {
	margin: 4px 0 8px;
	font-size: 17px;
}
.yla-message-list p { margin: 4px 0; }
.yla-sensitive-list article {
	border-left: 4px solid #b42318;
	background: #fff7f6;
}
.yla-programme-selector {
	padding: 14px;
	border: 1px solid #d4dfeb;
	border-left: 4px solid #ff7a00;
	border-radius: 8px;
	background: #fff;
}
.yla-notice {
	margin: 0 0 16px;
	padding: 13px 16px;
	border-radius: 7px;
	font-weight: 700;
}
.yla-notice--success {
	background: #dcfae6;
	color: #05603a;
	border: 1px solid #86d9a8;
}
.yla-management-workspace .yla-workspace-section,
.yla-staff-workspace .yla-workspace-section {
	scroll-margin-top: 20px;
}

@media (max-width: 980px) {
	.yla-two-column-section { grid-template-columns: 1fr; }
	.yla-form-row { grid-template-columns: 1fr; }
	.yla-staff-filter-bar form { align-items: stretch; }
	.yla-staff-filter-bar label { min-width: 0; flex: 1 1 220px; }
}

@media (max-width: 720px) {
	.yla-health-grid { grid-template-columns: 1fr; }
	.yla-section-heading { align-items: start; flex-direction: column; }
	.yla-workspace-metrics--dense,
	.yla-workspace-metrics--management { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.yla-staff-action-form { padding: 13px; }
}


/* Phase 12 responsive attendance register */
.yla-attendance-toolbar{position:sticky;top:8px;z-index:5;display:flex;align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid #cbd8e7;border-left:5px solid #ff8500;border-radius:10px;padding:12px;margin:14px 0;box-shadow:0 6px 18px rgba(6,40,79,.08)}
.yla-attendance-toolbar label{display:flex;flex-direction:column;gap:4px;min-width:230px}.yla-attendance-bulk{display:flex;gap:6px;flex-wrap:wrap}.yla-attendance-select-col{width:42px;text-align:center}.yla-attendance-table--v2 tr.is-selected{background:#eef5ff}.yla-attendance-table--v2 tr.is-marked-present{box-shadow:inset 4px 0 #24935b}.yla-attendance-table--v2 tr.is-marked-absent{box-shadow:inset 4px 0 #c63737}.yla-attendance-table--v2 tr.is-marked-late{box-shadow:inset 4px 0 #e58a00}.yla-attendance-table--v2 tr.is-marked-excused{box-shadow:inset 4px 0 #6e63c7}
@media(max-width:760px){.yla-attendance-toolbar{position:static;align-items:stretch}.yla-attendance-toolbar label{min-width:0;width:100%}.yla-attendance-bulk .yla-button{flex:1 1 42%}.yla-attendance-table--v2 thead{display:none}.yla-attendance-table--v2,.yla-attendance-table--v2 tbody,.yla-attendance-table--v2 tr,.yla-attendance-table--v2 td{display:block;width:100%}.yla-attendance-table--v2 tr{border:1px solid #d8e2ee;border-radius:10px;margin:0 0 12px;padding:10px;background:#fff}.yla-attendance-table--v2 td{border:0;padding:7px 4px}.yla-attendance-table--v2 td:before{content:attr(data-label);display:block;font-size:.73rem;font-weight:800;color:#5c6f84;text-transform:uppercase;letter-spacing:.03em;margin-bottom:3px}.yla-attendance-table--v2 .yla-attendance-select-col{width:auto;text-align:left}}

.yla-attendance-selected-count{min-width:90px;text-align:right;color:#0b4ba5}.yla-attendance-statuses{display:flex;gap:6px;flex-wrap:wrap}.yla-attendance-statuses label{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border:1px solid #cbd8e7;border-radius:999px;background:#fff;font-size:.82rem;font-weight:700;cursor:pointer}.yla-attendance-statuses label:has(input:checked){background:#eaf2ff;border-color:#216be8;color:#083c87}.yla-attendance-table--v2 td{vertical-align:top}.yla-attendance-table--v2 input[type="text"],.yla-attendance-table--v2 input:not([type]){min-width:150px}.yla-v5-row-actions{display:flex;gap:6px;flex-wrap:wrap}.yla-academic-workbench .yla-v5-support-grid{margin:16px 0}.yla-academic-workbench h3{margin-top:26px}
@supports not selector(:has(*)){.yla-attendance-statuses label{background:#fff}}

/* Phase 15.3 clickable dashboard cards */
.yla-v5-card{position:relative;text-decoration:none;color:inherit;display:flex;align-items:center;gap:14px;min-height:112px}.yla-v5-card:hover,.yla-v5-card:focus{transform:translateY(-1px);box-shadow:0 10px 28px rgba(10,53,114,.12)}.yla-v5-card__body{display:flex;flex-direction:column;gap:4px;min-width:0}.yla-v5-card__value{font-size:1.55rem;line-height:1.1}.yla-v5-card__label{font-weight:700;line-height:1.25}.yla-v5-card__arrow{margin-left:auto;color:#0b57d0}

/* Phase 15.7 school-workspace recovery controls. */
.yla147-school-primary-return{margin:12px 0}.yla147-school-primary-return button{background:#f28c18;border:0;border-radius:8px;color:#fff;cursor:pointer;font-weight:700;padding:10px 12px;width:100%}.yla147-primary-link{font-weight:700}

/* Alpha 14.17 canonical Tutor learner-handoff actions. */
.yla1417-submission-actions{align-items:center;gap:7px}.yla1417-submission-actions .yla-v5-status-chip{white-space:nowrap}.yla1417-tutor-status{flex:1 1 100%;font-size:.82rem;color:#43566e}.yla1417-tutor-status summary{cursor:pointer;font-weight:700;color:#0b4ba5}.yla1417-tutor-status p{margin:6px 0 0;max-width:72ch;line-height:1.45}.yla147-review-toolbar .yla1417-submission-actions{margin-top:10px}
@media(max-width:720px){.yla1417-submission-actions .yla-v5-button,.yla1417-submission-actions button.yla-v5-button{flex:1 1 46%;text-align:center}.yla1417-submission-actions .yla-v5-status-chip{flex:1 1 100%;text-align:center}}
