/* Joyn LMS frontend v3 — account pages. New templates only. Revision 2. */
.ju-frontend-v3,
.ju-frontend-v3 * {
	box-sizing: border-box;
}

.ju-frontend-v3 {
	font-family: var(--ju-font) !important;
}

.ju-frontend-v3 * {
	font-family: inherit;
}

.ju-frontend-v3[data-ju-page="role-gate"] .ju-bleed {
	background: var(--ju-bg);
	width: 100%;
	left: auto;
	right: auto;
	margin-left: 0;
	margin-right: 0;
}

.ju-frontend-v3 .ju-v3-role-avatar {
	display: grid !important;
	width: 80px !important;
	height: 80px !important;
	place-items: center !important;
	flex: 0 0 80px !important;
	margin: 0 auto 28px;
	font-size: 30px;
	line-height: 1 !important;
	box-shadow: 0 12px 28px rgba(81, 69, 230, 0.22);
}

.ju-v3-role-choices {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	text-align: left;
}

.ju-frontend-v3[data-ju-page="role-gate"] .ju-gate__title {
	margin-bottom: 10px;
}

.ju-frontend-v3[data-ju-page="role-gate"] .ju-gate__sub {
	margin-bottom: 36px;
}

.ju-frontend-v3[data-ju-page="role-gate"] .ju-gate__box {
	max-width: 820px;
}

/* WordPress wpautop must never create layout items between v3 components. */
.ju-v3-role-choices > br,
.ju-v3-role-choice > br {
	display: none !important;
}

/* wpautop can also insert line breaks between list rows in account templates. */
.joyn-account.ju-scope .ju-v3-instructor .ju-list > br {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
}

.ju-v3-role-choices > p {
	display: contents !important;
}

/* Theme link/button colors must never leak into filled brand actions. */
.joyn-account.ju-scope :is(a, button, input).ju-btn--primary,
.joyn-account.ju-scope :is(a, button, input).ju-btn--primary:link,
.joyn-account.ju-scope :is(a, button, input).ju-btn--primary:visited,
.joyn-account.ju-scope :is(a, button, input).ju-btn--primary:hover,
.joyn-account.ju-scope :is(a, button, input).ju-btn--primary:focus,
.joyn-account.ju-scope :is(a, button, input).ju-btn--primary:active,
.joyn-account.ju-scope :is(a, button, input).joyn-btn--primary,
.joyn-account.ju-scope :is(a, button, input).joyn-btn--primary:link,
.joyn-account.ju-scope :is(a, button, input).joyn-btn--primary:visited,
.joyn-account.ju-scope :is(a, button, input).joyn-btn--primary:hover,
.joyn-account.ju-scope :is(a, button, input).joyn-btn--primary:focus,
.joyn-account.ju-scope :is(a, button, input).joyn-btn--primary:active,
.joyn-account.ju-scope :is(a, button, input).joyn-btn--add-course,
.joyn-account.ju-scope :is(a, button, input).joyn-btn--add-course:hover,
.joyn-account.ju-scope :is(a, button, input).joyn-btn--add-course:focus,
.joyn-account.ju-scope :is(a, button, input).joyn-btn--add-course:active {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

.joyn-account.ju-scope :is(.ju-btn--primary, .joyn-btn--primary, .joyn-btn--add-course) :is(span, strong, b, i, svg) {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	fill: currentColor !important;
	stroke: currentColor !important;
}

.ju-v3-role-choice {
	display: flex !important;
	align-items: center !important;
	font-family: var(--ju-font) !important;
	gap: 16px;
	min-height: 104px;
	height: auto !important;
	padding: 20px;
}

.ju-v3-role-choice__icon {
	margin: 0;
	flex: 0 0 46px;
}

.ju-v3-role-choice__icon--instructor {
	background: var(--ju-success-soft);
	color: var(--ju-success);
}

.ju-v3-role-choice__icon--college {
	background: #EAF7FF;
	color: #087EA4;
}

@media (max-width: 960px) and (min-width: 641px) {
	.ju-v3-role-choices { grid-template-columns: 1fr; }
}

.ju-v3-role-choice__body {
	display: flex;
	flex: 1;
	min-width: 0;
	flex-direction: column;
	gap: 4px;
}

.ju-v3-role-choice__body .ju-choice__t {
	display: block;
	margin: 0;
}

.ju-v3-role-choice__arrow {
	width: 20px;
	height: 20px;
	flex: 0 0 20px;
	color: var(--ju-text-3);
}

@media (max-width: 640px) {
	.ju-frontend-v3[data-ju-page="role-gate"] .ju-gate {
		min-height: calc(100svh - 72px);
		padding: 36px 16px 48px;
	}

	.ju-frontend-v3[data-ju-page="role-gate"] .ju-gate__title {
		margin-bottom: 12px;
		font-size: 24px;
		line-height: 1.35;
	}

	.ju-frontend-v3 .ju-v3-role-avatar {
		width: 88px !important;
		height: 88px !important;
		flex-basis: 88px !important;
		margin-bottom: 30px;
		font-size: 34px;
	}

	.ju-frontend-v3[data-ju-page="role-gate"] .ju-gate__sub {
		margin-bottom: 32px;
		font-size: 16px !important;
		line-height: 1.6 !important;
	}

	.ju-v3-role-choices {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.ju-v3-role-choice {
		min-height: 108px;
		padding: 20px !important;
	}

	.ju-v3-role-choice__body .ju-choice__t {
		font-size: 18px !important;
		line-height: 1.4 !important;
	}

	.ju-frontend-v3 .ju-v3-role-choice__body .ju-choice__s {
		font-size: 15px !important;
		line-height: 1.55 !important;
	}
}

/* Standalone instructor course creation page (the form is no longer a modal). */
.joyn-account.ju-scope.joyn-account--tab-instructor-course-new .joyn-account__id-box { display: none !important; }
.joyn-course-create-page__mount { width: 100%; }
.joyn-course-create-page__card {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	overflow: visible !important;
	border: 1px solid var(--ju-border) !important;
	border-radius: var(--ju-r-lg) !important;
	background: var(--ju-surface) !important;
	box-shadow: var(--ju-sh-1) !important;
}
.joyn-course-create-page__card .joyn-modal__header {
	position: static !important;
	padding: 24px 28px 16px !important;
	border-bottom: 1px solid var(--ju-border-2) !important;
	background: transparent !important;
}
.joyn-course-create-page__card .joyn-modal__title { margin: 0 !important; font-size: 22px !important; }
.joyn-course-create-page__card .joyn-modal__body {
	max-height: none !important;
	height: auto !important;
	display: grid !important;
	gap: 18px !important;
	padding: 26px 28px !important;
	overflow: visible !important;
	background: var(--ju-bg) !important;
}
.joyn-course-create-page__card .joyn-modal__desc {
	margin: 0 !important;
	padding: 18px 20px !important;
	border: 1px solid var(--ju-border) !important;
	border-radius: 14px !important;
	background: var(--ju-surface) !important;
	color: var(--ju-text-2) !important;
	font-size: 15px !important;
	line-height: 1.7 !important;
}
.joyn-course-create-page__card .joyn-add-course-form > .joyn-form-group,
.joyn-course-create-page__card .joyn-add-course-form > .joyn-form-row {
	margin: 0 !important;
	padding: 20px !important;
	border: 1px solid var(--ju-border) !important;
	border-radius: 16px !important;
	background: var(--ju-surface) !important;
	box-shadow: 0 4px 14px rgba(20,24,40,.035) !important;
}
.joyn-course-create-page__card .joyn-form-group label,
.joyn-course-create-page__card .joyn-label-block {
	margin-bottom: 9px !important;
	color: var(--ju-text) !important;
	font-size: 15px !important;
	font-weight: 800 !important;
}
.joyn-course-create-page__card :is(input,select,textarea).joyn-form-input {
	min-height: 48px !important;
	border: 1px solid var(--ju-border) !important;
	border-radius: 12px !important;
	background: #fff !important;
	font-size: 15px !important;
}
.joyn-course-create-page__card textarea.joyn-form-input { min-height: 150px !important; line-height: 1.65 !important; }
.joyn-course-create-page__card .joyn-form-hint { color: var(--ju-text-3) !important; font-size: 14px !important; line-height: 1.6 !important; }
.joyn-course-create-page__card .joyn-mission-fee-consent {
	display: grid !important;
	grid-template-columns: 48px minmax(0,1fr) !important;
	gap: 16px !important;
	border-color: #c9c5ff !important;
	background: linear-gradient(135deg,#f4f2ff 0%,#fff 70%) !important;
}
.joyn-mission-fee-consent__icon {
	display: grid !important;
	width: 48px !important;
	height: 48px !important;
	place-items: center !important;
	border-radius: 14px !important;
	background: var(--ju-brand-soft) !important;
	color: var(--ju-brand-600) !important;
	font-size: 25px !important;
}
.joyn-mission-fee-consent__content > strong { display: block !important; margin: 1px 0 7px !important; font-size: 17px !important; }
.joyn-mission-fee-consent__content > p { margin: 0 0 15px !important; color: var(--ju-text-2) !important; font-size: 14px !important; line-height: 1.7 !important; }
.joyn-course-create-page__card .joyn-mission-fee-consent__check {
	display: flex !important;
	align-items: flex-start !important;
	gap: 10px !important;
	margin: 0 !important;
	padding: 13px 14px !important;
	border: 1px solid #d8d5ff !important;
	border-radius: 12px !important;
	background: #fff !important;
	cursor: pointer !important;
}
.joyn-mission-fee-consent__check input { width: 20px !important; height: 20px !important; margin: 1px 0 0 !important; accent-color: var(--ju-brand) !important; flex: 0 0 20px !important; }
.joyn-mission-fee-consent__check span { color: var(--ju-text) !important; font-size: 14px !important; font-weight: 750 !important; line-height: 1.55 !important; }
.joyn-course-create-page__card .joyn-course-option-card {
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid var(--ju-border) !important;
	border-radius: 18px !important;
	background: #f7f8fc !important;
	overflow: hidden !important;
}
.joyn-course-create-page__card .joyn-course-option-toggle {
	display: flex !important;
	align-items: center !important;
	gap: 18px !important;
	min-height: 104px !important;
	padding: 22px 26px !important;
	cursor: pointer !important;
	transition: background .2s ease, box-shadow .2s ease !important;
}
.joyn-course-option-toggle input {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
	pointer-events: none !important;
}
.joyn-course-option-toggle__control {
	position: relative !important;
	display: block !important;
	width: 58px !important;
	height: 34px !important;
	flex: 0 0 58px !important;
	border-radius: 999px !important;
	background: #cbd1dc !important;
	box-shadow: inset 0 0 0 1px rgba(25,32,50,.04) !important;
	transition: background .2s ease !important;
}
.joyn-course-option-toggle__control::after {
	content: "" !important;
	position: absolute !important;
	top: 4px !important;
	left: 4px !important;
	width: 26px !important;
	height: 26px !important;
	border-radius: 50% !important;
	background: #fff !important;
	box-shadow: 0 3px 8px rgba(30,38,60,.22) !important;
	transition: transform .2s ease !important;
}
.joyn-course-option-toggle__copy { display: grid !important; gap: 5px !important; min-width: 0 !important; }
.joyn-course-option-toggle__copy strong { color: var(--ju-text) !important; font-size: 17px !important; font-weight: 800 !important; line-height: 1.35 !important; }
.joyn-course-option-toggle__copy small { color: var(--ju-text-2) !important; font-size: 14px !important; line-height: 1.55 !important; }
.joyn-course-option-toggle:has(input:checked) { background: #f0efff !important; box-shadow: inset 0 0 0 1px rgba(79,70,229,.14) !important; }
.joyn-course-option-toggle input:checked + .joyn-course-option-toggle__control { background: var(--ju-brand) !important; }
.joyn-course-option-toggle input:checked + .joyn-course-option-toggle__control::after { transform: translateX(24px) !important; }
.joyn-course-option-toggle input:checked ~ .joyn-course-option-toggle__copy strong { color: var(--ju-brand) !important; }
.joyn-course-option-toggle:focus-within { outline: 3px solid rgba(79,70,229,.18) !important; outline-offset: -3px !important; }
.joyn-course-create-page__card .joyn-modal__footer {
	position: static !important;
	display: flex !important;
	justify-content: flex-end !important;
	padding: 18px 28px 26px !important;
	border-top: 1px solid var(--ju-border-2) !important;
	background: transparent !important;
}
@media (max-width: 640px) {
	.joyn-course-create-page__card { border-radius: 16px !important; }
	.joyn-course-create-page__card .joyn-modal__header { padding: 20px 18px 14px !important; }
	.joyn-course-create-page__card .joyn-modal__body { padding: 20px 18px !important; }
	.joyn-course-create-page__card .joyn-modal__footer { padding: 16px 18px 22px !important; }
	.joyn-course-create-page__card .joyn-form-row { grid-template-columns: 1fr !important; }
	.joyn-course-create-page__card .joyn-add-course-form > .joyn-form-group,
	.joyn-course-create-page__card .joyn-add-course-form > .joyn-form-row { padding: 17px !important; }
	.joyn-course-create-page__card .joyn-mission-fee-consent { grid-template-columns: 1fr !important; }
	.joyn-course-create-page__card .joyn-course-option-toggle { min-height: 94px !important; padding: 19px 20px !important; gap: 15px !important; }
	.joyn-course-option-toggle__copy strong { font-size: 16px !important; }
	.joyn-course-create-page__card .joyn-btn--primary { width: 100% !important; }
}

/* Instructor student/course management. */
.ju-v3-students__pending .ju-card__h,
.ju-v3-students__courses .ju-card__h { justify-content: space-between; }
.ju-v3-students__courses .ju-card__h small { margin-left: auto; color: var(--ju-text-3); font-size: 14px; font-weight: 500; }
.ju-v3-row-actions { display: flex; gap: 8px; }
.ju-v3-accordion { padding: 8px; }
.ju-v3-accordion__item { overflow: hidden; border-bottom: 1px solid var(--ju-border-2); }
.ju-v3-accordion__item:last-child { border-bottom: 0; }
.ju-v3-accordion__item summary { display: grid; grid-template-columns: 40px minmax(0,1fr) auto 24px; align-items: center; gap: 12px; min-height: 76px; padding: 10px 12px; cursor: pointer; list-style: none; border-radius: 13px; }
.ju-v3-accordion__item summary:hover { background: var(--ju-surface-2); }
.ju-v3-accordion__item summary::-webkit-details-marker { display:none; }
.ju-v3-accordion__copy { display:flex; min-width:0; flex-direction:column; gap:3px; }
.ju-v3-accordion__copy strong { overflow:hidden; font-size:15px; text-overflow:ellipsis; white-space:nowrap; }
.ju-v3-accordion__copy small { color:var(--ju-text-3); font-size:14px; }
.ju-v3-accordion__arrow { font-size:20px; transition:transform .18s ease; }
.ju-v3-accordion__item[open] .ju-v3-accordion__arrow { transform:rotate(180deg); }
.ju-v3-accordion__panel { padding: 4px 12px 14px 64px; }
.ju-v3-student-row { display:grid; grid-template-columns:42px minmax(0,1fr) minmax(150px,220px) auto; align-items:center; gap:12px; padding:12px 0; border-top:1px solid var(--ju-border-2); }
.ju-v3-student-row__avatar { display:block!important; width:42px!important; height:42px!important; border-radius:13px!important; object-fit:cover; }
.ju-v3-student-row > div:nth-child(2) { display:flex; min-width:0; flex-direction:column; gap:2px; }
.ju-v3-student-row > div:nth-child(2) strong { font-size:14px; }
.ju-v3-student-row > div:nth-child(2) small { overflow:hidden; color:var(--ju-text-3); font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.ju-v3-student-row__progress { display:flex; align-items:center; gap:8px; }
.ju-v3-student-row__progress > span { height:7px; flex:1; overflow:hidden; border-radius:99px; background:var(--ju-surface-2); }
.ju-v3-student-row__progress i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--ju-brand),var(--ju-accent)); }
.ju-v3-student-row__progress b { min-width:38px; color:var(--ju-brand-600); font-size:13px; }
.ju-v3-student-row__identity em{margin-top:3px;color:var(--ju-text-3);font-size:12px;font-style:normal;font-weight:700}.ju-v3-student-row__actions,.ju-v3-application__actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.ju-v3-pending-list{display:grid;gap:12px;padding:18px}.ju-v3-application{padding:17px;border:1px solid var(--ju-border);border-radius:16px;background:#fff;box-shadow:0 6px 18px rgba(24,31,51,.04)}.ju-v3-application__person{display:flex;align-items:center;gap:11px;padding-bottom:13px;border-bottom:1px solid var(--ju-border-2)}.ju-v3-application__person>div{display:grid;gap:2px;min-width:0}.ju-v3-application__person strong{font-size:15px}.ju-v3-application__person span{overflow:hidden;color:var(--ju-text-3);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.ju-v3-application__person em{margin-left:auto;padding:6px 9px;border-radius:99px;background:var(--ju-warning-soft);color:var(--ju-warning);font-size:12px;font-style:normal;font-weight:800}.ju-v3-application dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:13px 0}.ju-v3-application dl>div{padding:10px 11px;border-radius:11px;background:var(--ju-surface-2)}.ju-v3-application dt{margin-bottom:4px;color:var(--ju-text-3);font-size:11px;font-weight:700}.ju-v3-application dd{overflow:hidden;margin:0;color:var(--ju-text);font-size:13px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}
.ju-v3-course-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:18px; }
.ju-v3-course-card { overflow:hidden; transition:transform .16s ease,box-shadow .16s ease; }
.ju-v3-course-card:hover { transform:translateY(-3px); box-shadow:var(--ju-sh-2); }
.ju-v3-course-card__thumb { position:relative; display:grid; aspect-ratio:16/9; place-items:center; background:linear-gradient(135deg,var(--ju-brand-soft),var(--ju-surface-2)); background-position:center; background-size:cover; color:var(--ju-brand-600); }
.ju-v3-course-card__thumb > i { font-size:42px; opacity:.65; }
.ju-v3-course-card__thumb .ju-badge { position:absolute; top:12px; left:12px; }
.ju-v3-course-card__body { padding:18px; }
.ju-v3-course-card__body h2 { margin:0 0 6px; overflow:hidden; font-size:18px; text-overflow:ellipsis; white-space:nowrap; }
.ju-v3-course-card__body > p { margin:0 0 18px; color:var(--ju-text-3); font-size:14px; }
.ju-v3-course-card__actions { display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px; }
.ju-v3-course-card__actions .ju-btn { height:40px!important; padding:0 10px!important; }
@media(max-width:760px){
	.ju-v3-students__courses .ju-card__h { align-items:flex-start; flex-direction:column; }
	.ju-v3-students__courses .ju-card__h small { margin-left:0; }
	.ju-v3-accordion__item summary { grid-template-columns:40px minmax(0,1fr) auto 20px; }
	.ju-v3-accordion__panel { padding-left:12px; }
	.ju-v3-student-row { grid-template-columns:42px minmax(0,1fr) auto; }
	.ju-v3-student-row__progress { grid-column:2/4; }
	.ju-v3-student-row__actions{grid-column:1/-1;justify-content:flex-start}.ju-v3-application dl{grid-template-columns:1fr 1fr}.ju-v3-application__actions{justify-content:stretch}.ju-v3-application__actions .ju-btn{flex:1}
	.ju-v3-row-actions { width:100%; }
	.ju-v3-row-actions .ju-btn { flex:1; }
}
@media(max-width:480px){ .ju-v3-course-grid{grid-template-columns:1fr}.ju-v3-course-card__actions{grid-template-columns:1fr 1fr}.ju-v3-course-card__actions .ju-btn:last-child{grid-column:1/-1} }

/* Instructor public profile editor. */
.ju-v3-profile { display: flex; flex-direction: column; gap: 22px; }
.ju-v3-profile__status { display: inline-flex; align-items: center; gap: 7px; padding: 8px 12px; border: 1px solid var(--ju-border); border-radius: 999px; background: var(--ju-surface); color: var(--ju-text-2); font-size: 14px; font-weight: 700; }
.ju-v3-profile__layout { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 22px; align-items: start; }
.ju-v3-profile__form { display: flex; min-width: 0; flex-direction: column; gap: 18px; }
.ju-v3-profile__section { padding: 24px; }
.ju-v3-profile__section-head { display: flex; align-items: center; gap: 13px; margin-bottom: 20px; padding-bottom: 18px; border-bottom: 1px solid var(--ju-border-2); }
.ju-v3-profile__section-head > span { display: grid; width: 42px; height: 42px; flex: 0 0 42px; place-items: center; border-radius: 13px; background: var(--ju-brand-soft); color: var(--ju-brand-600); font-size: 20px; }
.ju-v3-profile__section-head h2 { margin: 0 0 3px; font-size: 18px; }
.ju-v3-profile__section-head p { margin: 0; color: var(--ju-text-3); font-size: 14px; }
.ju-v3-profile__fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.joyn-account.ju-scope .ju-v3-profile__fields > br,
.joyn-account.ju-scope .ju-v3-profile__section > p > br { display: none !important; width: 0 !important; height: 0 !important; }
.ju-v3-profile__section > p { margin: 0 !important; }
.ju-v3-profile__fields label { display: flex !important; flex-direction: column; gap: 8px; }
.ju-v3-profile__fields label > span { font-size: 14px; font-weight: 750; }
.ju-v3-profile__fields .ju-input { width: 100%; height: 48px; min-height: 48px; }
.ju-v3-profile__fields small { color: var(--ju-text-3); font-size: 14px; line-height: 1.5; }
.ju-v3-profile__bio { display: block !important; }
.ju-v3-profile__bio .ju-textarea { width: 100%; min-height: 240px; resize: vertical; font-size: 16px; line-height: 1.7; }
.ju-v3-profile__tip { display: flex; align-items: center; gap: 7px; margin-top: 10px; color: var(--ju-text-3); font-size: 14px; }
.ju-v3-profile__tip i { color: var(--ju-warning); font-size: 17px; }
.ju-v3-profile__actions { display: flex; align-items: center; justify-content: flex-end; gap: 16px; }
.ju-v3-profile__actions .joyn-status-message { display: none; flex: 1; margin: 0; font-size: 14px; }
.ju-v3-profile__actions .ju-btn { height: 48px !important; min-width: 150px; padding: 0 20px !important; font-size: 15px !important; }
.ju-v3-profile__preview { position: sticky; top: 84px; }
.ju-v3-profile__preview-label { display: flex; align-items: center; gap: 7px; margin: 0 0 10px; color: var(--ju-text-3); font-size: 13px; font-weight: 750; }
.ju-v3-profile-card { padding: 26px 22px; text-align: center; }
.ju-v3-profile-card__avatar { display: block !important; width: 80px !important; height: 80px !important; margin: 0 auto 14px !important; border: 4px solid var(--ju-surface); border-radius: 24px !important; object-fit: cover; box-shadow: 0 0 0 1px var(--ju-border), 0 10px 24px rgba(81,69,230,.17); }
.ju-v3-profile-card .ju-badge { margin-bottom: 12px; }
.ju-v3-profile-card h3 { margin: 0 0 7px; font-size: 21px; letter-spacing: -.025em; }
.ju-v3-profile-card > p { margin: 0; color: var(--ju-text-3); font-size: 14px; line-height: 1.55; }
.ju-v3-profile-card__divider { height: 1px; margin: 20px 0; background: var(--ju-border-2); }
.ju-v3-profile-card__bio { max-height: 280px; overflow: auto; color: var(--ju-text-2); font-size: 14px; line-height: 1.7; text-align: left; white-space: pre-line; }
.ju-v3-profile-card__bio p { margin: 0 0 10px; }
@media (max-width: 1050px) { .ju-v3-profile__layout { grid-template-columns: 1fr; } .ju-v3-profile__preview { position: static; } }
@media (max-width: 640px) {
	.ju-v3-profile { gap: 16px; }
	.ju-v3-profile__status { font-size: 14px; }
	.ju-v3-profile__section { padding: 20px 18px; }
	.ju-v3-profile__section-head { align-items: flex-start; }
	.ju-v3-profile__section-head p { line-height: 1.55; }
	.ju-v3-profile__fields { grid-template-columns: 1fr; }
	.ju-v3-profile__bio .ju-textarea { min-height: 220px; }
	.ju-v3-profile__actions { flex-direction: column; align-items: stretch; }
	.ju-v3-profile__actions .ju-btn { width: 100%; }
}

/* Frontend v3 instructor navigation and pages — common sample structure. */
.joyn-account.ju-scope .ju-v3-side {
	display: flex !important;
	flex-direction: column !important;
	gap: 0 !important;
}
.joyn-account.ju-scope .ju-v3-side__mode {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin: 0 14px 8px !important;
	padding: 10px 12px !important;
	border-radius: 12px !important;
	background: var(--ju-brand-tint) !important;
	color: var(--ju-brand-600) !important;
	font-size: 13px !important;
	font-weight: 800 !important;
}
.joyn-account.ju-scope .ju-v3-side__mode i { font-size: 18px !important; }
.joyn-account.ju-scope .ju-v3-side__mode--switch {
	grid-template-columns: 20px minmax(0,1fr) 18px !important;
	text-decoration: none !important;
	cursor: pointer !important;
	transition: background .16s ease, color .16s ease, transform .16s ease !important;
}
.joyn-account.ju-scope .ju-v3-side__mode--switch:hover,
.joyn-account.ju-scope .ju-v3-side__mode--switch:focus-visible {
	background: var(--ju-brand-soft) !important;
	color: var(--ju-brand-700, var(--ju-brand-600)) !important;
}
.joyn-account.ju-scope .ju-v3-side__mode--switch:active { transform: scale(.985) !important; }
.joyn-account.ju-scope .ju-v3-side__mode--switch .ju-v3-side__mode-arrow {
	margin-left: auto !important;
	font-size: 19px !important;
}
.joyn-account.ju-scope .ju-v3-side__nav { display: flex !important; flex-direction: column !important; }
.joyn-account.ju-scope .ju-v3-side__group {
	display: block !important;
	padding: 14px 12px 7px !important;
	color: var(--ju-text-3) !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	letter-spacing: .06em !important;
}
.joyn-account.ju-scope .ju-v3-side .ju-navitem {
	display: grid !important;
	grid-template-columns: 22px minmax(0,1fr) !important;
	grid-template-rows: 44px !important;
	align-items: center !important;
	column-gap: 12px !important;
	margin: 0 0 3px !important;
	padding: 0 12px !important;
	border: 0 !important;
	border-radius: 12px !important;
	background: transparent !important;
	color: var(--ju-text-2) !important;
	font-size: 14px !important;
	font-weight: 650 !important;
}
.joyn-account.ju-scope .ju-v3-side .ju-navitem:hover { background: var(--ju-surface-2) !important; color: var(--ju-text) !important; }
.joyn-account.ju-scope .ju-v3-side .ju-navitem.is-on { background: var(--ju-brand-soft) !important; color: var(--ju-brand-600) !important; font-weight: 800 !important; }
.joyn-account.ju-scope .ju-v3-side .ju-navitem i { grid-column: 1 !important; grid-row: 1 !important; width: 22px !important; font-size: 21px !important; text-align: center !important; }
.joyn-account.ju-scope .ju-v3-side .ju-navitem span { grid-column: 2 !important; grid-row: 1 !important; }

.ju-v3-instructor { display: flex; flex-direction: column; gap: 20px; }
.ju-v3-pagehead { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.ju-v3-pagehead > div:first-child > span { display: block; margin-bottom: 5px; color: var(--ju-brand-600); font-size: 14px; font-weight: 800; }
.ju-v3-pagehead h1 { margin: 0 0 5px; font-size: 28px; line-height: 1.25; letter-spacing: -.035em; }
.ju-v3-pagehead p { margin: 0; color: var(--ju-text-3); font-size: 15px; }
.ju-v3-pagehead__actions { display: flex; gap: 10px; }
.ju-v3-pagehead__actions .ju-btn { min-height: 42px; }
.ju-v3-kpis { margin-top: 2px; }
.ju-v3-dashboard-grid { margin-top: 2px; }
.ju-v3-mini-stats { display: flex; flex-direction: column; gap: 16px; }
.ju-v3-mini-stats > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid var(--ju-border-2); }
.ju-v3-mini-stats span { color: var(--ju-text-3); font-size: 14px; }
.ju-v3-mini-stats strong { font-size: 18px; }
.ju-v3-progress { display: inline-block; width: 100px; height: 7px; margin-right: 8px; overflow: hidden; border-radius: 99px; background: var(--ju-surface-2); vertical-align: middle; }
.ju-v3-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--ju-brand),var(--ju-accent)); }

@media (max-width: 860px) {
	.joyn-account.ju-scope .ju-v3-side {
		box-sizing: border-box !important;
		padding-top: calc(70px + env(safe-area-inset-top, 0px)) !important;
	}
	.joyn-account.ju-scope .ju-v3-side__mode { margin-top: 4px !important; }
	.joyn-account.ju-scope .ju-v3-side__group { font-size: 14px !important; }
	.joyn-account.ju-scope .ju-v3-side .ju-navitem { grid-template-rows: 48px !important; height: 48px !important; min-height: 48px !important; font-size: 15px !important; }
}
@media (max-width: 640px) {
	.ju-v3-pagehead { align-items: flex-start; flex-direction: column; }
	.ju-v3-pagehead h1 { font-size: 24px; }
	.ju-v3-pagehead p { font-size: 14px; line-height: 1.55; }
	.ju-v3-pagehead__actions { width: 100%; }
	.ju-v3-pagehead__actions .ju-btn { flex: 1; }
	.ju-v3-kpis { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
	.ju-v3-kpis .ju-kpi { min-height: 136px; }
	.ju-v3-dashboard-grid { grid-template-columns: 1fr; }
	.ju-v3-progress { width: 86px; }
}

/* Dedicated LMS settings page. */
.joyn-account.ju-scope.joyn-account--tab-settings .joyn-account__id-box {
	display: none !important;
}

.ju-settings {
	display: flex;
	max-width: 980px;
	margin: 0 auto;
	flex-direction: column;
	gap: 18px;
}

.ju-settings br {
	display: none !important;
}

.ju-settings__hero {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 26px 28px;
	border: 1px solid var(--ju-border);
	border-radius: 22px;
	background: linear-gradient(135deg, var(--ju-surface), var(--ju-brand-tint));
	box-shadow: var(--ju-sh-1);
}

.ju-settings__eyebrow {
	display: inline-flex;
	margin-bottom: 7px;
	color: var(--ju-brand-600);
	font-size: 14px;
	font-weight: 800;
}

.ju-settings__hero h1 {
	margin: 0 0 6px;
	font-size: 28px;
	line-height: 1.25;
	letter-spacing: -.035em;
}

.ju-settings__hero p {
	margin: 0;
	color: var(--ju-text-3);
	font-size: 15px;
}

.ju-settings__hero-icon,
.ju-settings__card-head > span {
	display: grid;
	place-items: center;
	background: var(--ju-brand-soft);
	color: var(--ju-brand-600);
}

.ju-settings__hero-icon {
	width: 58px;
	height: 58px;
	flex: 0 0 58px;
	border-radius: 18px;
	font-size: 27px;
}

.ju-settings__form {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.ju-settings__card {
	padding: 24px;
	border: 1px solid var(--ju-border);
	border-radius: 20px;
	background: var(--ju-surface);
	box-shadow: var(--ju-sh-1);
}

.ju-settings__card-head {
	display: flex;
	align-items: center;
	gap: 13px;
	margin-bottom: 20px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--ju-border-2);
}

.ju-settings__card-head > span {
	width: 42px;
	height: 42px;
	flex: 0 0 42px;
	border-radius: 13px;
	font-size: 20px;
}

.ju-settings__card-head h2 {
	margin: 0 0 3px;
	font-size: 18px;
	line-height: 1.35;
}

.ju-settings__card-head p {
	margin: 0;
	color: var(--ju-text-3);
	font-size: 14px;
}

.ju-settings__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.ju-settings__field {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ju-settings__field--wide { grid-column: 1 / -1; }
.ju-settings__field > span { font-size: 14px; font-weight: 700; color: var(--ju-text-2); }
.ju-settings__field .ju-input { width: 100%; min-height: 48px; }

.ju-settings__switch,
.ju-settings__choice {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	min-height: 68px;
	padding: 14px 0;
	border-bottom: 1px solid var(--ju-border-2);
}

.ju-settings__switch:last-child,
.ju-settings__choice:last-child { border-bottom: 0; }
.ju-settings__switch > span,
.ju-settings__choice > span { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.ju-settings__switch strong,
.ju-settings__choice strong { font-size: 15px; }
.ju-settings__switch small,
.ju-settings__choice small { color: var(--ju-text-3); font-size: 14px; line-height: 1.45; }

.ju-settings__switch { cursor: pointer; }
.joyn-account.ju-scope .ju-settings__switch {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	gap: 14px !important;
}
.joyn-account.ju-scope .ju-settings__switch > span {
	order: 2 !important;
	flex: 1 1 auto !important;
}
.joyn-account.ju-scope .ju-settings__switch input {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
}
.joyn-account.ju-scope .ju-settings__switch > i {
	position: relative;
	display: block !important;
	order: 1 !important;
	width: 48px;
	height: 28px;
	flex: 0 0 48px;
	margin: 0 !important;
	margin-top: 1px !important;
	border: 1px solid #c8cdd8 !important;
	border-radius: 999px;
	background: #d9dde6 !important;
	box-shadow: inset 0 1px 2px rgba(20,24,40,.08) !important;
	transition: background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.joyn-account.ju-scope .ju-settings__switch > i::after {
	content: "";
	position: absolute;
	top: 3px;
	left: 3px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 2px 6px rgba(0,0,0,.18);
	transition: transform .18s ease;
}
.joyn-account.ju-scope .ju-settings__switch input:checked + i {
	border-color: var(--ju-brand) !important;
	background: var(--ju-brand) !important;
	box-shadow: 0 5px 14px rgba(81,69,230,.25) !important;
}
.joyn-account.ju-scope .ju-settings__switch input:checked + i::after { transform: translateX(20px); }
.joyn-account.ju-scope .ju-settings__switch input:focus-visible + i { outline: 3px solid var(--ju-brand-soft); outline-offset: 3px; }

.ju-settings__choice > div { display: flex; align-items: center; gap: 16px; }
.ju-settings__choice label { display: inline-flex; align-items: center; gap: 7px; font-size: 14px !important; line-height: 1.5 !important; font-weight: 700; }
.ju-settings__choice input {
	appearance: none;
	display: grid;
	width: 19px;
	height: 19px;
	margin: 0;
	place-items: center;
	border: 2px solid #b8beca;
	border-radius: 50%;
	background: #fff;
}
.ju-settings__choice input::after {
	content: "";
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--ju-brand);
	transform: scale(0);
	transition: transform .15s ease;
}
.ju-settings__choice input:checked { border-color: var(--ju-brand); box-shadow: 0 0 0 3px var(--ju-brand-soft); }
.ju-settings__choice input:checked::after { transform: scale(1); }

.ju-settings__actions {
	display: flex;
	justify-content: flex-end;
	padding: 2px 0 24px;
}
.ju-settings__actions .ju-btn { min-width: 150px; height: 48px !important; min-height: 48px !important; padding: 0 20px !important; font-size: 15px !important; }

@media (max-width: 640px) {
	.ju-settings { gap: 14px; }
	.ju-settings__hero { padding: 22px 20px; border-radius: 18px; }
	.ju-settings__hero h1 { font-size: 24px; }
	.ju-settings__hero p { font-size: 14px; line-height: 1.55; }
	.ju-settings__hero-icon { width: 50px; height: 50px; flex-basis: 50px; border-radius: 15px; }
	.ju-settings__card { padding: 20px 18px; border-radius: 18px; }
	.ju-settings__grid { grid-template-columns: 1fr; }
	.ju-settings__field--wide { grid-column: auto; }
	.ju-settings__switch,
	.ju-settings__choice { align-items: flex-start; min-height: 72px; }
	.ju-settings__choice { flex-direction: column; }
	.ju-settings__actions .ju-btn { width: 100%; }
}

/* Account identity overview — compact profile + balanced learning KPIs. */
.joyn-account.ju-scope .joyn-account__id-box:not([style*="display: none"]) {
	padding: 28px !important;
	border: 1px solid var(--ju-border) !important;
	border-radius: 24px !important;
	background: var(--ju-surface) !important;
	box-shadow: 0 12px 36px rgba(20, 24, 40, 0.07) !important;
}

.joyn-account.ju-scope .joyn-account__id-box-header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 20px !important;
	margin: 0 0 24px !important;
}

.joyn-account.ju-scope .joyn-account__id-box-header > p,
.joyn-account.ju-scope .joyn-account__id-box-inner > p,
.joyn-account.ju-scope .joyn-account__id-row > p,
.joyn-account.ju-scope .joyn-account__id-summary-grid > p,
.joyn-account.ju-scope .joyn-account__id-summary-item > br {
	display: none !important;
}

.joyn-account.ju-scope .joyn-account__id-heading {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	min-width: 0 !important;
}

.joyn-account.ju-scope .joyn-account__id-avatar {
	display: block !important;
	width: 56px !important;
	height: 56px !important;
	flex: 0 0 56px !important;
	border: 3px solid var(--ju-surface) !important;
	border-radius: 18px !important;
	object-fit: cover !important;
	box-shadow: 0 0 0 1px var(--ju-border), 0 8px 18px rgba(81, 69, 230, 0.16) !important;
}

.joyn-account.ju-scope .joyn-account__id-heading-copy {
	min-width: 0 !important;
}

.joyn-account.ju-scope .joyn-account__id-box-title {
	margin: 0 0 3px !important;
	font-size: 22px !important;
	line-height: 1.35 !important;
	letter-spacing: -0.03em !important;
}

.joyn-account.ju-scope .joyn-account__id-box-subtitle {
	margin: 0 !important;
	color: var(--ju-text-3) !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
}

.joyn-account.ju-scope .joyn-account__id-badge {
	display: inline-flex !important;
	align-items: center !important;
	gap: 7px !important;
	min-height: 38px !important;
	padding: 0 14px !important;
	border: 1px solid color-mix(in srgb, var(--ju-danger) 24%, var(--ju-border)) !important;
	border-radius: 999px !important;
	background: var(--ju-danger-soft) !important;
}

.joyn-account.ju-scope .joyn-account__id-badge > br {
	display: none !important;
}

.joyn-account.ju-scope .joyn-account__id-badge-label {
	font-size: 14px !important;
}

.joyn-account.ju-scope .joyn-account__id-box-inner {
	display: grid !important;
	grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr) !important;
	gap: 24px !important;
	align-items: stretch !important;
}

.joyn-account.ju-scope .joyn-account__id-profile,
.joyn-account.ju-scope .joyn-account__id-summary {
	padding: 20px !important;
	border: 1px solid var(--ju-border-2) !important;
	border-radius: 18px !important;
	background: var(--ju-surface-2) !important;
	box-shadow: none !important;
}

.joyn-account.ju-scope .joyn-account__id-list {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 10px !important;
}

.joyn-account.ju-scope .joyn-account__id-row {
	display: flex !important;
	min-height: 78px !important;
	margin: 0 !important;
	padding: 14px 16px !important;
	flex-direction: column !important;
	justify-content: center !important;
	gap: 5px !important;
	border: 1px solid var(--ju-border-2) !important;
	border-radius: 14px !important;
	background: var(--ju-surface) !important;
	box-shadow: none !important;
}

.joyn-account.ju-scope .joyn-account__id-label {
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--ju-text-3) !important;
}

.joyn-account.ju-scope .joyn-account__id-value {
	font-size: 16px !important;
	font-weight: 700 !important;
	color: var(--ju-text) !important;
}

.joyn-account.ju-scope .joyn-account__id-summary-title {
	margin: 0 0 14px !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	color: var(--ju-text) !important;
}

.joyn-account.ju-scope .joyn-account__id-summary-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 10px !important;
}

.joyn-account.ju-scope .joyn-account__id-summary-item {
	display: grid !important;
	min-height: 138px !important;
	padding: 16px 10px !important;
	place-items: center !important;
	align-content: center !important;
	gap: 7px !important;
	border: 1px solid var(--ju-border-2) !important;
	border-radius: 16px !important;
	background: var(--ju-surface) !important;
	text-align: center !important;
}

.joyn-account.ju-scope .joyn-account__id-summary-icon {
	display: grid !important;
	width: 38px !important;
	height: 38px !important;
	place-items: center !important;
	border-radius: 12px !important;
	background: var(--ju-brand-soft) !important;
	color: var(--ju-brand-600) !important;
	font-size: 20px !important;
}

.joyn-account.ju-scope .joyn-account__id-summary-icon--success { background: var(--ju-success-soft) !important; color: var(--ju-success) !important; }
.joyn-account.ju-scope .joyn-account__id-summary-icon--warning { background: var(--ju-warning-soft) !important; color: var(--ju-warning) !important; }
.joyn-account.ju-scope .joyn-account__id-summary-icon--info { background: var(--ju-info-soft) !important; color: var(--ju-info) !important; }

.joyn-account.ju-scope .joyn-account__id-summary-value {
	font-size: 26px !important;
	font-weight: 800 !important;
	line-height: 1.15 !important;
}

.joyn-account.ju-scope .joyn-account__id-summary-label {
	font-size: 14px !important;
	line-height: 1.4 !important;
}

@media (max-width: 1100px) {
	.joyn-account.ju-scope .joyn-account__id-box-inner {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 640px) {
	/* Account UI text remains readable on phones; no visible label is below 14px. */
	.joyn-account.ju-scope .ju-sec-h__more,
	.joyn-account.ju-scope .ju-v3-students b,
	.joyn-account.ju-scope .ju-v3-profile label,
	.joyn-account.ju-scope .ju-v3-profile__preview-label,
	.joyn-account.ju-scope .ju-settings__field,
	.joyn-account.ju-scope .ju-settings__switch,
	.joyn-account.ju-scope .ju-settings__switch > span {
		font-size: 14px !important;
	}

	.joyn-account.ju-scope .joyn-account__id-box:not([style*="display: none"]) {
		padding: 20px !important;
		border-radius: 20px !important;
	}

	.joyn-account.ju-scope .joyn-account__id-box-header {
		align-items: flex-start !important;
		margin-bottom: 20px !important;
	}

	.joyn-account.ju-scope .joyn-account__id-avatar {
		width: 52px !important;
		height: 52px !important;
		flex-basis: 52px !important;
		border-radius: 16px !important;
	}

	.joyn-account.ju-scope .joyn-account__id-box-title { font-size: 20px !important; }
	.joyn-account.ju-scope .joyn-account__id-badge { min-height: 34px !important; padding: 0 11px !important; }
	.joyn-account.ju-scope .joyn-account__id-profile,
	.joyn-account.ju-scope .joyn-account__id-summary { padding: 14px !important; }
	.joyn-account.ju-scope .joyn-account__id-list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.joyn-account.ju-scope .joyn-account__id-row:nth-child(3),
	.joyn-account.ju-scope .joyn-account__id-row:nth-child(4) { grid-column: 1 / -1 !important; }
	.joyn-account.ju-scope .joyn-account__id-row { min-height: 70px !important; }
	.joyn-account.ju-scope .joyn-account__id-label { font-size: 14px !important; }
	.joyn-account.ju-scope .joyn-account__id-value { font-size: 15px !important; }
	.joyn-account.ju-scope .joyn-account__id-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.joyn-account.ju-scope .joyn-account__id-summary-item { min-height: 126px !important; }
}
