/**
 * Kozaru Honbu - Public Class Schedule Page
 *
 * Version: 1.0.0
 *
 * Calendar and event list styling belongs here. Public schedule pages should be
 * modern, readable, touch-friendly, and very clearly not dashboard screens.
 */

body.kozaru-frontend-public-page .kozaru-calendar-shortcode {
	--kozaru-calendar-card-min: min(100%, 520px);
	color: var(--kozaru-ink);
}

body.kozaru-frontend-public-page .kozaru-calendar-shortcode > h2 {
	font-size: clamp(2.2rem, 5vw, 4rem);
	letter-spacing: -.065em;
	line-height: .98;
	margin: 0 0 .8rem;
}

body.kozaru-frontend-public-page .kozaru-calendar-range-summary {
	color: var(--kozaru-muted);
	font-size: 1rem;
	font-weight: 650;
	margin: 0 0 1.25rem;
}

body.kozaru-frontend-public-page .kozaru-calendar-filters,
body.kozaru-frontend-public-page .kozaru-calendar-filter-panel {
	background: rgba(255, 255, 255, .94);
	border: 1px solid var(--kozaru-line);
	border-radius: 20px;
	box-shadow: var(--kozaru-shadow-card);
	margin: 0 0 1.1rem;
	padding: clamp(1rem, 2.1vw, 1.4rem);
}

body.kozaru-frontend-public-page .kozaru-calendar-filter-options,
body.kozaru-frontend-public-page .kozaru-calendar-category-filter-row,
body.kozaru-frontend-public-page .kozaru-calendar-filter-row {
	display: flex;
	flex-wrap: wrap;
	gap: .55rem;
	align-items: center;
}

body.kozaru-frontend-public-page .kozaru-calendar-filter-option,
body.kozaru-frontend-public-page .kozaru-calendar-category-filter-pill,
body.kozaru-frontend-public-page .kozaru-calendar-filter-pill {
	align-items: center;
	background: #fff;
	background: color-mix(in srgb, var(--kozaru-category-colour, var(--kozaru-crimson)) 8%, #fff);
	border: 2px solid var(--kozaru-category-colour, var(--kozaru-crimson));
	border-color: color-mix(in srgb, var(--kozaru-category-colour, var(--kozaru-crimson)) 55%, #fff);
	border-radius: 999px;
	color: var(--kozaru-ink);
	display: inline-flex;
	font-size: .9rem;
	font-weight: 850;
	gap: .4rem;
	line-height: 1.1;
	padding: .42rem .72rem;
}

body.kozaru-frontend-public-page .kozaru-calendar-event-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .9rem;
	align-items: stretch;
}

body.kozaru-frontend-public-page .kozaru-calendar-event-card {
	position: relative;
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	grid-template-areas:
		"date main"
		"date actions";
	gap: .85rem;
	align-items: center;
	min-height: 136px;
	padding: .85rem;
	background: rgba(255, 255, 255, .96);
	border: 1px solid var(--kozaru-line);
	border-left: 5px solid var(--kozaru-category-colour, var(--kozaru-crimson));
	border-radius: 20px;
	box-shadow: var(--kozaru-shadow-card);
	overflow: hidden;
}

body.kozaru-frontend-public-page .kozaru-calendar-event-card::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 100% 0%, rgba(217, 31, 43, .08), transparent 42%);
	pointer-events: none;
}

body.kozaru-frontend-public-page .kozaru-calendar-event-date,
body.kozaru-frontend-public-page .kozaru-calendar-event-main,
body.kozaru-frontend-public-page .kozaru-calendar-event-actions {
	position: relative;
	z-index: 1;
}

body.kozaru-frontend-public-page .kozaru-calendar-event-date {
	grid-area: date;
	align-self: stretch;
	display: grid;
	place-items: center;
	min-width: 0;
	padding: .65rem;
	background: #f6f7f9;
	border: 1px solid rgba(21, 26, 34, .08);
	border-radius: 14px;
	text-align: center;
}

body.kozaru-frontend-public-page .kozaru-calendar-event-date strong {
	font-size: clamp(1rem, 2.4vw, 1.1rem);
	letter-spacing: -.045em;
	line-height: .98;
}

body.kozaru-frontend-public-page .kozaru-calendar-event-date span {
	color: var(--kozaru-muted);
	font-size: .82rem;
	font-weight: 750;
	line-height: 1.25;
}

body.kozaru-frontend-public-page .kozaru-calendar-event-main {
	grid-area: main;
	min-width: 0;
}

body.kozaru-frontend-public-page .kozaru-calendar-event-main h3 {
	font-size: clamp(1rem, 2vw, 1.15rem);
	letter-spacing: -.04em;
	line-height: 1.1;
	margin: 0 0 .45rem;
}

body.kozaru-frontend-public-page .kozaru-calendar-event-meta,
body.kozaru-frontend-public-page .kozaru-calendar-event-registration {
	display: flex;
	flex-wrap: wrap;
	gap: .38rem .58rem;
	align-items: center;
}

body.kozaru-frontend-public-page .kozaru-calendar-event-meta span,
body.kozaru-frontend-public-page .kozaru-calendar-event-registration span {
	color: var(--kozaru-muted);
	font-size: .84rem;
	font-weight: 650;
}

body.kozaru-frontend-public-page .kozaru-calendar-event-meta a,
body.kozaru-frontend-public-page .kozaru-calendar-event-registration a {
	color: var(--kozaru-crimson);
	font-weight: 850;
}

body.kozaru-frontend-public-page .kozaru-calendar-event-actions {
	grid-area: actions;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: .55rem;
	flex-wrap: wrap;
}

body.kozaru-frontend-public-page .kozaru-calendar-shortcode .kozaru-trial-booking-link,
body.kozaru-frontend-public-page .kozaru-calendar-event-actions .kozaru-button,
body.kozaru-frontend-public-page .kozaru-add-to-calendar-button,
body.kozaru-frontend-public-page .add-to-calendar-button {
	min-height: 36px;
	padding: .56rem .82rem;
	font-size: .78rem;
	letter-spacing: .08em;
}

body.kozaru-frontend-public-page .kozaru-calendar-event-actions .kozaru-button-secondary,
body.kozaru-frontend-public-page .kozaru-add-to-calendar-button,
body.kozaru-frontend-public-page .add-to-calendar-button {
	background: #fff;
	border: 1px solid var(--kozaru-line-strong);
	box-shadow: 0 8px 18px rgba(5, 6, 8, .05);
	color: var(--kozaru-ink);
}

@media (max-width: 980px) {
	body.kozaru-frontend-public-page .kozaru-calendar-event-list {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 560px) {
	body.kozaru-frontend-public-page .kozaru-calendar-shortcode > h2 {
		font-size: clamp(2rem, 12vw, 3rem);
	}

	body.kozaru-frontend-public-page .kozaru-calendar-event-card {
		grid-template-columns: 80px minmax(0, 1fr);
		grid-template-areas:
			"date main"
			"actions actions";
		gap: .7rem;
		padding: .7rem;
	}

	body.kozaru-frontend-public-page .kozaru-calendar-event-actions {
		justify-content: stretch;
	}

	body.kozaru-frontend-public-page .kozaru-calendar-event-actions > *,
	body.kozaru-frontend-public-page .kozaru-calendar-shortcode .kozaru-trial-booking-link {
		flex: 1 1 auto;
		text-align: center;
	}
}

/* Kozaru public schedule refinement: keep filter forms compact and avoid styling the form itself as a category pill. */
body.kozaru-frontend-public-page .kozaru-calendar-category-filter {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: .75rem;
	padding: .8rem .9rem;
	margin: 0 0 1rem;
	background: rgba(255,255,255,.94);
	border: 1px solid var(--kozaru-line);
	border-radius: 18px;
	box-shadow: var(--kozaru-shadow-card);
}

body.kozaru-frontend-public-page .kozaru-calendar-category-filter-heading {
	display: grid;
	gap: .1rem;
	min-width: 8.5rem;
}

body.kozaru-frontend-public-page .kozaru-calendar-category-filter-heading strong {
	font-size: .95rem;
	line-height: 1.08;
}

body.kozaru-frontend-public-page .kozaru-calendar-category-filter-heading a {
	color: var(--kozaru-crimson);
	font-size: .9rem;
	font-weight: 800;
	text-decoration: none;
}

body.kozaru-frontend-public-page .kozaru-calendar-category-filter-options {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .45rem;
	min-width: 0;
}

body.kozaru-frontend-public-page .kozaru-calendar-category-filter-pill {
	align-items: center;
	background: color-mix(in srgb, var(--kozaru-category-colour, var(--kozaru-crimson)) 8%, #fff);
	border: 1px solid color-mix(in srgb, var(--kozaru-category-colour, var(--kozaru-crimson)) 45%, #fff);
	border-left: 4px solid var(--kozaru-category-colour, var(--kozaru-crimson));
	border-radius: 999px;
	color: var(--kozaru-ink);
	display: inline-flex;
	font-size: .86rem;
	font-weight: 800;
	gap: .36rem;
	line-height: 1.1;
	max-width: 100%;
	padding: .36rem .58rem;
}

body.kozaru-frontend-public-page .kozaru-calendar-category-filter-pill input {
	inline-size: .9rem;
	block-size: .9rem;
	margin: 0;
}

body.kozaru-frontend-public-page .kozaru-calendar-category-filter-pill small {
	background: #fff;
	border-radius: 999px;
	font-size: .72rem;
	line-height: 1;
	padding: .18rem .38rem;
}

body.kozaru-frontend-public-page .kozaru-calendar-category-filter-actions {
	margin: 0;
}

body.kozaru-frontend-public-page .kozaru-calendar-category-filter-actions .kozaru-button {
	min-height: 36px;
	white-space: normal;
}

@media (max-width: 700px) {
	body.kozaru-frontend-public-page .kozaru-calendar-category-filter {
		grid-template-columns: 1fr;
		gap: .65rem;
		padding: .75rem;
		border-radius: 16px;
	}
	body.kozaru-frontend-public-page .kozaru-calendar-category-filter-heading {
		align-items: baseline;
		display: flex;
		justify-content: space-between;
		min-width: 0;
	}
	body.kozaru-frontend-public-page .kozaru-calendar-category-filter-options {
		gap: .38rem;
	}
	body.kozaru-frontend-public-page .kozaru-calendar-category-filter-pill {
		font-size: .8rem;
		padding: .32rem .5rem;
	}
	body.kozaru-frontend-public-page .kozaru-calendar-category-filter-actions .kozaru-button {
		width: 100%;
	}
}

/* v0.4.3.10 - public schedule: tight, modern, still unmistakably Kozaru. */
body.kozaru-frontend-public-page .kozaru-calendar-shortcode {
	max-width: 1180px;
	margin-inline: auto;
}

body.kozaru-frontend-public-page .kozaru-calendar-category-filter {
	border-radius: 18px;
	box-shadow: 0 14px 34px rgba(5, 6, 8, .07);
}

body.kozaru-frontend-public-page .kozaru-calendar-category-filter-pill {
	min-height: 34px;
	padding: .34rem .58rem;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.55);
}

body.kozaru-frontend-public-page .kozaru-calendar-event-list {
	gap: .7rem;
}

body.kozaru-frontend-public-page .kozaru-calendar-event-card {
	grid-template-columns: 82px minmax(0, 1fr) auto;
	grid-template-areas: "date main actions";
	align-items: center;
	gap: .75rem;
	min-height: 0;
	padding: .72rem .78rem;
	border-radius: 18px;
	border-left-width: 4px;
	box-shadow: 0 12px 28px rgba(5, 6, 8, .06);
}

body.kozaru-frontend-public-page .kozaru-calendar-event-date {
	padding: .5rem;
	border-radius: 13px;
}

body.kozaru-frontend-public-page .kozaru-calendar-event-date strong {
	font-size: .98rem;
}

body.kozaru-frontend-public-page .kozaru-calendar-event-date span {
	font-size: .75rem;
}

body.kozaru-frontend-public-page .kozaru-calendar-event-main h3 {
	font-size: 1rem;
	margin-bottom: .32rem;
}

body.kozaru-frontend-public-page .kozaru-calendar-event-meta,
body.kozaru-frontend-public-page .kozaru-calendar-event-registration {
	gap: .25rem .45rem;
}

body.kozaru-frontend-public-page .kozaru-calendar-event-meta span,
body.kozaru-frontend-public-page .kozaru-calendar-event-registration span,
body.kozaru-frontend-public-page .kozaru-calendar-combined-details {
	font-size: .78rem;
	line-height: 1.25;
}

body.kozaru-frontend-public-page .kozaru-calendar-event-actions {
	justify-content: flex-end;
	gap: .35rem;
	min-width: 150px;
}

body.kozaru-frontend-public-page .kozaru-calendar-shortcode .kozaru-trial-booking-link,
body.kozaru-frontend-public-page .kozaru-calendar-event-actions .kozaru-button,
body.kozaru-frontend-public-page .kozaru-calendar-event-actions .button,
body.kozaru-frontend-public-page .kozaru-add-to-calendar summary {
	min-height: 32px;
	padding: .42rem .62rem;
	font-size: .7rem;
	border-radius: 999px;
	letter-spacing: .08em;
}

@media (max-width: 780px) {
	body.kozaru-frontend-public-page .kozaru-calendar-event-card {
		grid-template-columns: 74px minmax(0, 1fr);
		grid-template-areas: "date main" "actions actions";
		gap: .58rem .65rem;
		padding: .65rem;
	}
	body.kozaru-frontend-public-page .kozaru-calendar-event-actions {
		min-width: 0;
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
		width: 100%;
	}
	body.kozaru-frontend-public-page .kozaru-calendar-event-actions > *,
	body.kozaru-frontend-public-page .kozaru-calendar-shortcode .kozaru-trial-booking-link,
	body.kozaru-frontend-public-page .kozaru-add-to-calendar,
	body.kozaru-frontend-public-page .kozaru-add-to-calendar summary {
		width: 100%;
		min-width: 0;
		text-align: center;
	}
}

@media (max-width: 560px) {
	body.kozaru-frontend-public-page .kozaru-calendar-shortcode > h2 {
		font-size: clamp(2.05rem, 11vw, 2.85rem);
		letter-spacing: -.075em;
	}
	body.kozaru-frontend-public-page .kozaru-calendar-range-summary {
		font-size: .92rem;
		margin-bottom: .9rem;
	}
	body.kozaru-frontend-public-page .kozaru-calendar-category-filter {
		padding: .72rem;
		gap: .5rem;
	}
	body.kozaru-frontend-public-page .kozaru-calendar-category-filter-options {
		display: grid;
		grid-template-columns: 1fr;
		gap: .42rem;
	}
	body.kozaru-frontend-public-page .kozaru-calendar-category-filter-pill {
		width: 100%;
		justify-content: flex-start;
	}
	body.kozaru-frontend-public-page .kozaru-calendar-event-card {
		border-radius: 16px;
	}
}


/* v0.4.3.10 - public schedule grouped by day with thin, single-line operational rows. */
body.kozaru-frontend-public-page .kozaru-calendar-day-list {
	display: grid;
	gap: .75rem;
}
body.kozaru-frontend-public-page .kozaru-calendar-day-group {
	background: rgba(255,255,255,.96);
	border: 1px solid var(--kozaru-line);
	border-radius: 18px;
	box-shadow: 0 12px 30px rgba(5, 6, 8, .06);
	overflow: hidden;
}
body.kozaru-frontend-public-page .kozaru-calendar-day-heading {
	align-items: center;
	background: #f6f7f9;
	border-bottom: 1px solid var(--kozaru-line);
	display: flex;
	justify-content: space-between;
	gap: .75rem;
	padding: .68rem .85rem;
}
body.kozaru-frontend-public-page .kozaru-calendar-day-heading strong {
	font-size: 1.02rem;
	letter-spacing: -.035em;
}
body.kozaru-frontend-public-page .kozaru-calendar-day-heading span {
	color: var(--kozaru-muted);
	font-size: .78rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .08em;
}
body.kozaru-frontend-public-page .kozaru-calendar-day-rows {
	display: grid;
}
body.kozaru-frontend-public-page .kozaru-calendar-row {
	align-items: center;
	border-left: 4px solid var(--kozaru-category-colour, var(--kozaru-crimson));
	border-bottom: 1px solid var(--kozaru-line);
	display: grid;
	grid-template-columns: 108px minmax(0, 1fr) auto;
	gap: .7rem;
	min-height: 54px;
	padding: .54rem .75rem;
}
body.kozaru-frontend-public-page .kozaru-calendar-row:last-child { border-bottom: 0; }
body.kozaru-frontend-public-page .kozaru-calendar-row-time {
	color: var(--kozaru-ink);
	font-size: .88rem;
	font-weight: 850;
	white-space: nowrap;
}
body.kozaru-frontend-public-page .kozaru-calendar-row-main { min-width: 0; }
body.kozaru-frontend-public-page .kozaru-calendar-row-main h3 {
	font-size: .95rem;
	letter-spacing: -.025em;
	line-height: 1.08;
	margin: 0 .45rem .12rem 0;
	white-space: normal;
}
body.kozaru-frontend-public-page .kozaru-calendar-row-main h3 a { color: inherit; text-decoration: none; }
body.kozaru-frontend-public-page .kozaru-calendar-row-meta {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: .25rem .45rem;
}
body.kozaru-frontend-public-page .kozaru-calendar-row-meta span,
body.kozaru-frontend-public-page .kozaru-calendar-row .kozaru-calendar-combined-details {
	color: var(--kozaru-muted);
	font-size: .76rem;
	font-weight: 650;
	line-height: 1.2;
}
body.kozaru-frontend-public-page .kozaru-calendar-row .kozaru-calendar-combined-details {
	display: block;
	margin-top: .18rem;
}
body.kozaru-frontend-public-page .kozaru-calendar-row-actions {
	display: flex;
	gap: .35rem;
	justify-content: flex-end;
	align-items: center;
	white-space: nowrap;
}
body.kozaru-frontend-public-page .kozaru-calendar-row-actions .kozaru-button,
body.kozaru-frontend-public-page .kozaru-calendar-row-actions .button,
body.kozaru-frontend-public-page .kozaru-calendar-row-actions summary {
	border-radius: 999px;
	font-size: .68rem;
	letter-spacing: .08em;
	min-height: 30px;
	padding: .34rem .56rem;
}
body.kozaru-frontend-public-page .kozaru-calendar-event-list,
body.kozaru-frontend-public-page .kozaru-calendar-event-card { display: none; }
@media (max-width: 720px) {
	body.kozaru-frontend-public-page .kozaru-calendar-row {
		grid-template-columns: 78px minmax(0,1fr);
		grid-template-areas: "time main" "actions actions";
		gap: .42rem .6rem;
		padding: .58rem .62rem;
	}
	body.kozaru-frontend-public-page .kozaru-calendar-row-time { grid-area: time; font-size: .8rem; }
	body.kozaru-frontend-public-page .kozaru-calendar-row-main { grid-area: main; }
	body.kozaru-frontend-public-page .kozaru-calendar-row-actions {
		grid-area: actions;
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
		width: 100%;
		white-space: normal;
	}
	body.kozaru-frontend-public-page .kozaru-calendar-row-actions > *,
	body.kozaru-frontend-public-page .kozaru-calendar-row-actions .kozaru-button,
	body.kozaru-frontend-public-page .kozaru-calendar-row-actions summary { width: 100%; text-align: center; }
}
body.kozaru-frontend-public-page .kozaru-calendar-row .kozaru-calendar-combined-details {
	display: grid;
	gap: .08rem;
}
body.kozaru-frontend-public-page .kozaru-calendar-row .kozaru-calendar-combined-details span {
	display: block;
}


/* v0.4.3.12 - timetable pass: grouped days, thin rows, compact mobile actions. */
body.kozaru-frontend-public-page .kozaru-calendar-day-list {
	gap: .65rem;
}
body.kozaru-frontend-public-page .kozaru-calendar-day-group {
	border-radius: 16px;
	box-shadow: 0 10px 24px rgba(5,6,8,.055);
}
body.kozaru-frontend-public-page .kozaru-calendar-day-heading {
	min-height: 42px;
	padding: .55rem .72rem;
}
body.kozaru-frontend-public-page .kozaru-calendar-row {
	grid-template-columns: 122px minmax(0, 1fr) minmax(240px, auto);
	gap: .6rem;
	min-height: 44px;
	padding: .42rem .65rem;
}
body.kozaru-frontend-public-page .kozaru-calendar-row-main {
	display: grid;
	gap: .16rem;
}
body.kozaru-frontend-public-page .kozaru-calendar-row-main h3 {
	font-size: .92rem;
	line-height: 1.05;
	margin: 0;
}
body.kozaru-frontend-public-page .kozaru-calendar-row-meta {
	gap: .16rem .38rem;
}
body.kozaru-frontend-public-page .kozaru-calendar-row .kozaru-calendar-combined-details {
	display: flex;
	flex-wrap: wrap;
	gap: .16rem .45rem;
	margin-top: 0;
}
body.kozaru-frontend-public-page .kozaru-calendar-row .kozaru-calendar-combined-details span {
	white-space: nowrap;
}
body.kozaru-frontend-public-page .kozaru-calendar-row-actions {
	align-items: center;
	display: flex;
	flex-wrap: nowrap;
	gap: .28rem;
}
body.kozaru-frontend-public-page .kozaru-calendar-row-actions .kozaru-trial-booking-link,
body.kozaru-frontend-public-page .kozaru-calendar-row-actions .kozaru-button,
body.kozaru-frontend-public-page .kozaru-calendar-row-actions .button,
body.kozaru-frontend-public-page .kozaru-calendar-row-actions summary {
	box-shadow: none;
	font-size: .62rem;
	letter-spacing: .06em;
	min-height: 26px;
	padding: .26rem .44rem;
	white-space: nowrap;
}
body.kozaru-frontend-public-page .kozaru-calendar-row-actions details {
	position: relative;
}
body.kozaru-frontend-public-page .kozaru-calendar-row-actions .kozaru-add-to-calendar-menu {
	right: 0;
	left: auto;
}
@media (max-width: 760px) {
	body.kozaru-frontend-public-page .kozaru-calendar-day-group {
		border-radius: 14px;
	}
	body.kozaru-frontend-public-page .kozaru-calendar-day-heading {
		padding: .5rem .58rem;
	}
	body.kozaru-frontend-public-page .kozaru-calendar-row {
		grid-template-columns: 86px minmax(0, 1fr);
		grid-template-areas: "time main" "time actions";
		gap: .2rem .45rem;
		min-height: 0;
		padding: .42rem .52rem;
	}
	body.kozaru-frontend-public-page .kozaru-calendar-row-time {
		align-self: start;
		font-size: .76rem;
		grid-area: time;
		line-height: 1.15;
		padding-top: .12rem;
		white-space: normal;
	}
	body.kozaru-frontend-public-page .kozaru-calendar-row-main {
		grid-area: main;
	}
	body.kozaru-frontend-public-page .kozaru-calendar-row-main h3 {
		font-size: .86rem;
	}
	body.kozaru-frontend-public-page .kozaru-calendar-row-meta span,
	body.kozaru-frontend-public-page .kozaru-calendar-row .kozaru-calendar-combined-details {
		font-size: .68rem;
	}
	body.kozaru-frontend-public-page .kozaru-calendar-row-actions {
		display: flex !important;
		flex-wrap: wrap;
		grid-area: actions;
		justify-content: flex-start;
		width: auto;
		white-space: normal;
	}
	body.kozaru-frontend-public-page .kozaru-calendar-row-actions > *,
	body.kozaru-frontend-public-page .kozaru-calendar-row-actions .kozaru-button,
	body.kozaru-frontend-public-page .kozaru-calendar-row-actions summary {
		width: auto !important;
		min-width: 0 !important;
		max-width: 100%;
		text-align: center;
	}
	body.kozaru-frontend-public-page .kozaru-calendar-row-actions .kozaru-trial-booking-link,
	body.kozaru-frontend-public-page .kozaru-calendar-row-actions .kozaru-button,
	body.kozaru-frontend-public-page .kozaru-calendar-row-actions summary {
		font-size: .58rem;
		min-height: 24px;
		padding: .23rem .38rem;
	}
}
@media (max-width: 430px) {
	body.kozaru-frontend-public-page .kozaru-calendar-row {
		grid-template-columns: 74px minmax(0, 1fr);
	}
	body.kozaru-frontend-public-page .kozaru-calendar-row-actions .kozaru-trial-booking-link {
		max-width: calc(50% - .2rem);
		overflow: hidden;
		text-overflow: ellipsis;
	}
}

/* v0.4.3.12 public schedule: booking first, calendar icons under time */
body.kozaru-frontend-public-page .kozaru-calendar-row-time {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: .35rem;
	min-width: 8.5rem;
}

body.kozaru-frontend-public-page .kozaru-calendar-row-time-label {
	display: block;
	font-weight: 900;
	line-height: 1.05;
}

body.kozaru-frontend-public-page .kozaru-add-to-calendar-icons {
	display: flex;
	flex-wrap: wrap;
	gap: .25rem;
	align-items: center;
	max-width: 7.75rem;
}

body.kozaru-frontend-public-page .kozaru-add-to-calendar-icons a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.65rem;
	height: 1.45rem;
	padding: 0 .38rem;
	border: 1px solid rgba(17,24,39,.16);
	border-radius: 999px;
	background: rgba(255,255,255,.72);
	color: #111827;
	font-size: .62rem;
	font-weight: 900;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: .04em;
}

body.kozaru-frontend-public-page .kozaru-add-to-calendar-icons a:hover,
body.kozaru-frontend-public-page .kozaru-add-to-calendar-icons a:focus-visible {
	border-color: var(--kozaru-category-colour, #d4121f);
	color: var(--kozaru-category-colour, #d4121f);
}

body.kozaru-frontend-public-page .kozaru-calendar-row-actions {
	justify-content: flex-end;
	align-items: center;
}

body.kozaru-frontend-public-page .kozaru-calendar-row-actions .kozaru-trial-booking-link {
	min-width: 10rem;
	font-size: .7rem;
}

@media (max-width: 760px) {
	body.kozaru-frontend-public-page .kozaru-calendar-row-time {
		min-width: 0;
		width: 100%;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: .5rem;
	}

	body.kozaru-frontend-public-page .kozaru-add-to-calendar-icons {
		justify-content: flex-end;
		max-width: none;
	}

	body.kozaru-frontend-public-page .kozaru-calendar-row-actions {
		width: 100%;
	}

	body.kozaru-frontend-public-page .kozaru-calendar-row-actions .kozaru-trial-booking-link {
		width: 100%;
		min-width: 0;
	}
}

/* v0.4.3.13 - tighter public timetable and single compact calendar menu. */
body.kozaru-frontend-public-page .kozaru-calendar-day-group {
	border-radius: 12px;
	box-shadow: 0 8px 18px rgba(5,6,8,.045);
}

body.kozaru-frontend-public-page .kozaru-calendar-day-heading {
	padding: .5rem .7rem;
}

body.kozaru-frontend-public-page .kozaru-calendar-row {
	grid-template-columns: 128px minmax(0, 1fr) minmax(190px, auto);
	gap: .55rem;
	padding: .38rem .65rem;
	min-height: 42px;
}

body.kozaru-frontend-public-page .kozaru-calendar-row-time {
	min-width: 0;
	gap: .25rem;
}

body.kozaru-frontend-public-page .kozaru-calendar-row-time-label {
	font-size: .82rem;
	white-space: nowrap;
}

body.kozaru-frontend-public-page .kozaru-add-to-calendar-icon-menu {
	position: relative;
	width: fit-content;
}

body.kozaru-frontend-public-page .kozaru-add-to-calendar-icon-menu summary {
	align-items: center;
	background: #fff;
	border: 1px solid rgba(17,24,39,.16);
	border-radius: 999px;
	box-shadow: none;
	cursor: pointer;
	display: inline-grid;
	height: 24px;
	justify-content: center;
	list-style: none;
	min-height: 0;
	padding: 0;
	width: 28px;
}

body.kozaru-frontend-public-page .kozaru-add-to-calendar-icon-menu summary::-webkit-details-marker { display: none; }

body.kozaru-frontend-public-page .kozaru-add-to-calendar-icon-menu .kozaru-calendar-icon,
body.kozaru-frontend-public-page .kozaru-add-to-calendar-icon-menu svg {
	display: block;
	height: 14px;
	width: 14px;
	fill: #111827;
}

body.kozaru-frontend-public-page .kozaru-add-to-calendar-icon-menu .kozaru-add-to-calendar-menu {
	background: #fff;
	border: 1px solid rgba(17,24,39,.14);
	border-radius: 10px;
	box-shadow: 0 10px 24px rgba(15,23,42,.16);
	display: grid;
	gap: 0;
	left: 0;
	min-width: 112px;
	padding: 4px;
	position: absolute;
	top: calc(100% + 4px);
	z-index: 20;
}

body.kozaru-frontend-public-page .kozaru-add-to-calendar-icon-menu:not([open]) .kozaru-add-to-calendar-menu {
	display: none;
}

body.kozaru-frontend-public-page .kozaru-add-to-calendar-icon-menu .kozaru-add-to-calendar-menu a {
	border-radius: 7px;
	color: #111827;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	padding: 6px 8px;
	text-decoration: none;
}

body.kozaru-frontend-public-page .kozaru-add-to-calendar-icon-menu .kozaru-add-to-calendar-menu a:hover,
body.kozaru-frontend-public-page .kozaru-add-to-calendar-icon-menu .kozaru-add-to-calendar-menu a:focus-visible {
	background: #f0f6fc;
	color: #135e96;
}

body.kozaru-frontend-public-page .kozaru-calendar-row-actions {
	justify-content: flex-end;
}

body.kozaru-frontend-public-page .kozaru-calendar-row-actions .kozaru-trial-booking-link {
	min-width: 0;
}

@media (max-width: 760px) {
	body.kozaru-frontend-public-page .kozaru-calendar-row {
		grid-template-columns: 82px minmax(0,1fr);
		grid-template-areas: "time main" "time actions";
		gap: .2rem .45rem;
		padding: .4rem .52rem;
	}

	body.kozaru-frontend-public-page .kozaru-calendar-row-time {
		align-items: flex-start;
		flex-direction: column;
		justify-content: flex-start;
		width: auto;
	}

	body.kozaru-frontend-public-page .kozaru-calendar-row-time-label {
		font-size: .72rem;
		line-height: 1.1;
		white-space: normal;
	}

	body.kozaru-frontend-public-page .kozaru-calendar-row-main h3 {
		font-size: .82rem;
		line-height: 1.08;
	}

	body.kozaru-frontend-public-page .kozaru-calendar-row-actions {
		display: flex !important;
		gap: .25rem;
		justify-content: flex-start;
	}

	body.kozaru-frontend-public-page .kozaru-calendar-row-actions .kozaru-trial-booking-link,
	body.kozaru-frontend-public-page .kozaru-calendar-row-actions .kozaru-button,
	body.kozaru-frontend-public-page .kozaru-calendar-row-actions .button {
		font-size: .56rem;
		min-height: 24px;
		padding: .22rem .42rem;
		max-width: none;
		width: auto !important;
	}
}

/* v0.4.3.14 - keep public schedule calendar control tiny and stop it stealing layout from booking. */
body.kozaru-frontend-public-page .kozaru-calendar-row-time {
	align-self: start;
}
body.kozaru-frontend-public-page .kozaru-calendar-row-time .kozaru-add-to-calendar-icon-menu {
	margin-top: .25rem;
}
body.kozaru-frontend-public-page .kozaru-add-to-calendar-icon-menu summary {
	font-size: 0 !important;
	line-height: 1 !important;
	min-width: 28px !important;
	max-width: 28px !important;
}
body.kozaru-frontend-public-page .kozaru-calendar-row-main {
	min-width: 0;
}
body.kozaru-frontend-public-page .kozaru-calendar-row-actions {
	min-width: 0;
}
@media (max-width: 720px) {
	body.kozaru-frontend-public-page .kozaru-calendar-row {
		grid-template-columns: 104px minmax(0, 1fr);
		gap: .45rem .6rem;
	}
	body.kozaru-frontend-public-page .kozaru-calendar-row-actions {
		grid-column: 2;
		justify-content: stretch;
	}
	body.kozaru-frontend-public-page .kozaru-calendar-row-actions .kozaru-trial-booking-link,
	body.kozaru-frontend-public-page .kozaru-calendar-row-actions a.button {
		width: 100%;
	}
}


/* v0.4.3.37 - public schedule refinements moved out of the theme. */
body.kozaru-frontend-public-page .kozaru-calendar-day-list { width: 100%; }
body.kozaru-frontend-public-page .kozaru-calendar-day-group .kozaru-calendar-row { text-wrap: pretty; }
body.kozaru-frontend-public-page .kozaru-calendar-row-time {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: .35rem;
	min-width: 8.5rem;
}
body.kozaru-frontend-public-page .kozaru-calendar-row-time-label {
	display: block;
	font-weight: 900;
	line-height: 1.05;
}
body.kozaru-frontend-public-page .kozaru-add-to-calendar-icons { display: none !important; }
body.kozaru-frontend-public-page .kozaru-calendar-row-actions {
	justify-content: flex-end;
	align-items: center;
}
body.kozaru-frontend-public-page .kozaru-calendar-row-actions .kozaru-trial-booking-link {
	min-width: 10rem;
	font-size: .7rem;
}
body.kozaru-frontend-public-page .kozaru-add-to-calendar-icon-menu { position: relative; width: fit-content; }
body.kozaru-frontend-public-page .kozaru-add-to-calendar-icon-menu summary {
	align-items: center;
	background: #fff;
	border: 1px solid rgba(17,24,39,.16);
	border-radius: 999px;
	display: inline-grid;
	height: 24px;
	justify-content: center;
	list-style: none;
	padding: 0;
	width: 28px;
	font-size: 0 !important;
	line-height: 1 !important;
	min-width: 28px !important;
	max-width: 28px !important;
}
body.kozaru-frontend-public-page .kozaru-add-to-calendar-icon-menu summary::-webkit-details-marker { display: none; }
body.kozaru-frontend-public-page .kozaru-add-to-calendar-icon-menu svg { height: 14px; width: 14px; fill: #111827; }
body.kozaru-frontend-public-page .kozaru-add-to-calendar-icon-menu .kozaru-add-to-calendar-menu {
	background: #fff;
	border: 1px solid rgba(17,24,39,.14);
	border-radius: 10px;
	box-shadow: 0 10px 24px rgba(15,23,42,.16);
	left: 0;
	min-width: 112px;
	padding: 4px;
	position: absolute;
	top: calc(100% + 4px);
	z-index: 20;
}
body.kozaru-frontend-public-page .kozaru-add-to-calendar-icon-menu .kozaru-add-to-calendar-menu a {
	display: block;
	font-size: 12px;
	font-weight: 700;
	padding: 6px 8px;
	text-decoration: none;
}
body.kozaru-frontend-public-page .kozaru-calendar-row-time .kozaru-add-to-calendar-icon-menu { margin-top: .25rem; }
@media (max-width: 760px) {
	body.kozaru-frontend-public-page .kozaru-calendar-day-group .kozaru-calendar-row-actions .kozaru-button,
	body.kozaru-frontend-public-page .kozaru-calendar-day-group .kozaru-calendar-row-actions summary {
		border-radius: 999px;
		box-shadow: none;
	}
	body.kozaru-frontend-public-page .kozaru-calendar-row-time {
		min-width: 0;
		width: 100%;
		align-items: flex-start;
		flex-direction: column;
		justify-content: flex-start;
	}
	body.kozaru-frontend-public-page .kozaru-calendar-row-actions,
	body.kozaru-frontend-public-page .kozaru-calendar-row-actions .kozaru-trial-booking-link {
		width: 100%;
		min-width: 0;
	}
	body.kozaru-frontend-public-page .kozaru-calendar-row-actions .kozaru-trial-booking-link,
	body.kozaru-frontend-public-page .kozaru-calendar-row-actions .kozaru-button,
	body.kozaru-frontend-public-page .kozaru-calendar-row-actions .button {
		width: auto !important;
		max-width: none !important;
	}
}


/* v1.0.139: student portal pro surface pass. Tighten the front-facing screens and quiet helper copy. */
body.kozaru-frontend-student-app-page .kozaru-student-main-panel {
    background: #f4f5f7 !important;
    padding: clamp(1rem, 2vw, 1.45rem) !important;
}
body.kozaru-frontend-student-app-page .kozaru-student-main-panel > * {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}
.kozaru-student-interface--right-nav h1,
.kozaru-student-interface--right-nav h2,
.kozaru-frontend-wrap.kozaru-my-details > h2,
.kozaru-frontend-wrap.kozaru-my-grading-progress > h2,
.kozaru-frontend-wrap.kozaru-my-forms > h2,
.kozaru-calendar-shortcode > h2 {
    font-size: clamp(2rem, 4.4vw, 3.6rem) !important;
    line-height: .96 !important;
    letter-spacing: -.055em !important;
    margin: 0 0 1rem !important;
}
.kozaru-frontend-card,
.kozaru-command-card,
.kozaru-dashboard-shell,
.kozaru-calendar-day-group,
.kozaru-calendar-shortcode .kozaru-calendar-filter-panel,
.kozaru-training-journal-card {
    border: 1px solid rgba(15,23,42,.10) !important;
    border-radius: 16px !important;
    box-shadow: none !important;
}
.kozaru-frontend-card,
.kozaru-command-card {
    padding: clamp(.95rem, 1.5vw, 1.25rem) !important;
}
.kozaru-command-empty,
.kozaru-student-interface--right-nav .kozaru-command-empty,
.kozaru-my-details .kozaru-command-empty,
.kozaru-managed-registration-heading .kozaru-command-empty {
    font-size: .93rem !important;
    line-height: 1.35 !important;
    color: #647084 !important;
    margin: .25rem 0 0 !important;
}
.kozaru-my-preferred-class-card .kozaru-command-empty,
.kozaru-my-grading-progress .kozaru-frontend-reason-list,
.kozaru-eligibility-check-next-step,
.kozaru-eligibility-check-source,
.kozaru-eligibility-external-panel-header small,
.kozaru-calendar-range-summary {
    display: none !important;
}
.kozaru-my-details-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 1rem !important;
}
.kozaru-my-details-eyebrow,
.kozaru-command-eyebrow,
.kozaru-calendar-day-heading span,
.kozaru-forms-manager label > span,
.kozaru-preferred-class-form label > span {
    font-size: .72rem !important;
    letter-spacing: .16em !important;
    line-height: 1.1 !important;
    color: #6b7587 !important;
    white-space: nowrap !important;
}
.kozaru-my-details-primary-meta,
.kozaru-frontend-meta-list {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr) !important;
    gap: .5rem 1.05rem !important;
    align-items: center !important;
    margin: .75rem 0 0 !important;
}
.kozaru-frontend-meta-list dt {
    font-size: .72rem !important;
    letter-spacing: .12em !important;
    line-height: 1.15 !important;
    color: #6b7587 !important;
}
.kozaru-frontend-meta-list dd {
    font-size: .98rem !important;
    font-weight: 800 !important;
    margin: 0 !important;
}
.kozaru-my-preferred-class-summary {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 320px) !important;
    gap: 1rem !important;
    align-items: end !important;
}
.kozaru-my-preferred-class-summary h3,
.kozaru-my-details-section h3,
.kozaru-forms-manager h3 {
    font-size: clamp(1.25rem, 2.4vw, 1.7rem) !important;
    margin: .1rem 0 .25rem !important;
    letter-spacing: -.035em !important;
}
.kozaru-my-preferred-class-current {
    padding: .85rem 1rem !important;
    border-radius: 14px !important;
    background: #f9fafb !important;
    border: 1px solid rgba(15,23,42,.10) !important;
}
.kozaru-preferred-class-form {
    display: grid !important;
    grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) auto !important;
    gap: .65rem !important;
    align-items: end !important;
    margin-top: .95rem !important;
}
.kozaru-preferred-class-form label {
    display: grid !important;
    gap: .3rem !important;
    margin: 0 !important;
}
.kozaru-preferred-class-form select,
.kozaru-frontend-form input,
.kozaru-frontend-form select,
.kozaru-frontend-form textarea,
.kozaru-forms-manager input,
.kozaru-forms-manager select,
.kozaru-forms-manager textarea {
    min-height: 38px !important;
    border-radius: 10px !important;
}
.kozaru-my-details-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 1rem !important;
    margin-top: 1rem !important;
}
.kozaru-my-details-submission-list {
    display: grid !important;
    gap: .65rem !important;
    margin: .85rem 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.kozaru-my-details-submission-list li,
.kozaru-form-status-item,
.kozaru-command-list-item {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    gap: .75rem !important;
    align-items: center !important;
    padding: .85rem 1rem !important;
    border-radius: 12px !important;
    border: 1px solid rgba(15,23,42,.08) !important;
    background: #fff !important;
}
.kozaru-command-list-actions {
    display: flex !important;
    gap: .5rem !important;
    align-items: center !important;
    justify-content: flex-end !important;
}
.kozaru-button,
.kozaru-button-secondary,
.kozaru-button-danger,
button.kozaru-button,
a.kozaru-button {
    min-height: 38px !important;
    padding: .58rem .9rem !important;
    border-radius: 10px !important;
    font-size: .86rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-decoration: none !important;
}
.kozaru-status,
.kozaru-grading-readiness-pill,
.kozaru-eligibility-check-status,
.kozaru-eligibility-check-meta-pill,
.kozaru-calendar-pill,
.kozaru-class-category-pill {
    border-radius: 999px !important;
    padding: .28rem .55rem !important;
    font-size: .72rem !important;
    line-height: 1.05 !important;
    font-weight: 900 !important;
    letter-spacing: .04em !important;
    white-space: nowrap !important;
}
.kozaru-grading-readiness-summary {
    padding: .85rem !important;
    border-radius: 14px !important;
    margin: .75rem 0 !important;
}
.kozaru-grading-readiness-summary-main,
.kozaru-grading-readiness-facts,
.kozaru-grading-readiness-next-step {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: .45rem .65rem !important;
}
.kozaru-grading-readiness-summary-main small {
    max-width: 54ch !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
.kozaru-eligibility-external-panel {
    margin-top: 1rem !important;
}
.kozaru-eligibility-external-panel-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    margin-bottom: .75rem !important;
}
.kozaru-eligibility-external-checks {
    display: grid !important;
    gap: .65rem !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.kozaru-eligibility-external-check {
    padding: .85rem !important;
    border-radius: 12px !important;
}
.kozaru-eligibility-check-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .75rem !important;
}
.kozaru-eligibility-check-message {
    display: block !important;
    margin-top: .4rem !important;
    line-height: 1.25 !important;
}
.kozaru-eligibility-check-progress {
    margin-top: .45rem !important;
}
.kozaru-eligibility-check-meta-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: .35rem !important;
    margin-top: .5rem !important;
}
.kozaru-forms-status-list {
    display: grid !important;
    gap: .65rem !important;
}
.kozaru-form-status-item small {
    color: #647084 !important;
    line-height: 1.25 !important;
}
.kozaru-calendar-shortcode {
    max-width: 1180px !important;
    margin: 0 auto !important;
}
.kozaru-calendar-shortcode > h2 {
    margin-bottom: .75rem !important;
}
.kozaru-calendar-filter-panel,
.kozaru-calendar-filters,
.kozaru-calendar-filter-form {
    padding: .85rem !important;
    border-radius: 14px !important;
}
.kozaru-calendar-filter-panel p,
.kozaru-calendar-filter-heading,
.kozaru-calendar-filter-intro {
    display: none !important;
}
.kozaru-calendar-category-options {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: .45rem !important;
}
.kozaru-calendar-day-list {
    display: grid !important;
    gap: .85rem !important;
    margin-top: .9rem !important;
}
.kozaru-calendar-day-group {
    overflow: hidden !important;
    background: #fff !important;
}
.kozaru-calendar-day-heading {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: .65rem .85rem !important;
    background: #f8fafc !important;
    border-bottom: 1px solid rgba(15,23,42,.08) !important;
}
.kozaru-calendar-row {
    display: grid !important;
    grid-template-columns: 112px minmax(0, 1fr) auto !important;
    gap: .8rem !important;
    align-items: center !important;
    padding: .7rem .85rem .7rem 1rem !important;
    border-left: 4px solid var(--kozaru-category-colour, #2271b1) !important;
}
.kozaru-calendar-row h3 {
    font-size: 1rem !important;
    margin: 0 0 .2rem !important;
    letter-spacing: -.02em !important;
}
.kozaru-calendar-row-meta,
.kozaru-calendar-row-main > .kozaru-calendar-combined-details {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: .35rem .5rem !important;
    font-size: .83rem !important;
    color: #647084 !important;
}
.kozaru-calendar-row-time-label {
    font-size: .86rem !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
}
@media (max-width: 820px) {
    body.kozaru-frontend-student-app-page .kozaru-student-main-panel { padding: .85rem !important; }
    .kozaru-my-details-hero,
    .kozaru-my-preferred-class-summary,
    .kozaru-preferred-class-form,
    .kozaru-my-details-grid,
    .kozaru-form-status-item,
    .kozaru-command-list-item,
    .kozaru-calendar-row {
        grid-template-columns: 1fr !important;
    }
    .kozaru-my-details-grid { gap: .8rem !important; }
    .kozaru-command-list-actions { justify-content: stretch !important; }
    .kozaru-command-list-actions .kozaru-button,
    .kozaru-command-list-actions form,
    .kozaru-command-list-actions button { width: 100% !important; }
    .kozaru-calendar-row-actions { width: 100% !important; }
    .kozaru-calendar-row-actions .kozaru-button { width: 100% !important; }
}



/* v1.0.140: front-facing cohesion rescue pass. Tighter, calmer, no wrapper gremlins. */
body.kozaru-frontend-student-app-page .kozaru-student-main-panel,
body.kozaru-frontend-student-app-page .kozaru-student-content,
body.kozaru-frontend-student-app-page .kozaru-dashboard-content {
    background: #f3f4f6 !important;
}
body.kozaru-frontend-student-app-page .kozaru-student-main-panel > *,
body.kozaru-frontend-student-app-page .kozaru-frontend-wrap,
body.kozaru-frontend-student-app-page .kozaru-calendar-shortcode {
    max-width: 1120px !important;
}
body.kozaru-frontend-student-app-page h1,
body.kozaru-frontend-student-app-page h2,
.kozaru-calendar-shortcode > h2 {
    font-size: clamp(1.9rem, 3.6vw, 3rem) !important;
    line-height: 1 !important;
    letter-spacing: -.055em !important;
    margin-bottom: .85rem !important;
}
body.kozaru-frontend-student-app-page h3 {
    font-size: clamp(1.1rem, 1.7vw, 1.45rem) !important;
    letter-spacing: -.035em !important;
    line-height: 1.08 !important;
}
body.kozaru-frontend-student-app-page .kozaru-frontend-card,
body.kozaru-frontend-student-app-page .kozaru-command-card,
body.kozaru-frontend-student-app-page .kozaru-dashboard-shell,
body.kozaru-frontend-student-app-page .kozaru-student-section-panel,
body.kozaru-frontend-student-app-page .kozaru-student-section-hero,
body.kozaru-frontend-student-app-page .kozaru-calendar-day-group,
body.kozaru-frontend-student-app-page .kozaru-calendar-filter-panel {
    border: 1px solid rgba(15, 23, 42, .10) !important;
    border-radius: 14px !important;
    box-shadow: none !important;
    background: #fff !important;
}
body.kozaru-frontend-student-app-page .kozaru-frontend-card,
body.kozaru-frontend-student-app-page .kozaru-command-card,
body.kozaru-frontend-student-app-page .kozaru-student-section-panel,
body.kozaru-frontend-student-app-page .kozaru-student-section-hero {
    padding: 1rem !important;
}
.kozaru-command-empty,
.kozaru-training-journal-muted,
.kozaru-my-preferred-class-card .kozaru-command-empty,
.kozaru-managed-registration-heading .kozaru-command-empty,
.kozaru-calendar-range-summary,
.kozaru-eligibility-external-panel-header small,
.kozaru-eligibility-check-source,
.kozaru-eligibility-check-message,
.kozaru-eligibility-check-next-step,
.kozaru-frontend-reason-list {
    display: none !important;
}
.kozaru-my-details-grid {
    grid-template-columns: repeat(3, minmax(240px, 1fr)) !important;
    align-items: stretch !important;
    gap: .8rem !important;
}
.kozaru-my-details-section {
    min-height: 0 !important;
}
.kozaru-frontend-meta-list {
    grid-template-columns: minmax(120px, max-content) minmax(0, 1fr) !important;
    gap: .45rem .85rem !important;
}
.kozaru-frontend-meta-list dt,
.kozaru-my-details-eyebrow,
.kozaru-command-eyebrow,
.kozaru-calendar-day-heading span {
    overflow-wrap: normal !important;
    word-break: keep-all !important;
    white-space: nowrap !important;
    letter-spacing: .13em !important;
}
.kozaru-my-details-submission-list li,
.kozaru-form-status-item {
    display: grid !important;
    grid-template-columns: minmax(220px, 1fr) auto minmax(160px, max-content) !important;
    gap: .75rem !important;
    align-items: center !important;
    min-width: 0 !important;
}
.kozaru-my-details-submission-list li strong,
.kozaru-form-status-item strong {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    line-height: 1.15 !important;
}
.kozaru-my-details-submission-list li small,
.kozaru-form-status-item small {
    min-width: 0 !important;
    white-space: normal !important;
    line-height: 1.25 !important;
}
.kozaru-my-forms .kozaru-form-status-item,
.kozaru-forms-manager .kozaru-form-status-item {
    grid-template-columns: minmax(260px, 1fr) auto minmax(140px, max-content) !important;
}
.kozaru-my-forms .kozaru-form-status-item .kozaru-command-list-actions,
.kozaru-forms-manager .kozaru-form-status-item .kozaru-command-list-actions {
    display: flex !important;
    gap: .45rem !important;
    justify-content: flex-end !important;
}
.kozaru-my-grading-progress .kozaru-frontend-card {
    display: grid !important;
    gap: .8rem !important;
}
.kozaru-my-grading-progress .kozaru-core-student-identity,
.kozaru-my-grading-progress .kozaru-student-identity-card {
    padding-bottom: .75rem !important;
    border-bottom: 1px solid rgba(15,23,42,.08) !important;
}
.kozaru-grading-readiness-summary,
.kozaru-eligibility-external-panel,
.kozaru-eligibility-external-check {
    border-radius: 14px !important;
    box-shadow: none !important;
}
.kozaru-grading-readiness-summary {
    padding: .85rem !important;
}
.kozaru-grading-readiness-summary-message {
    font-weight: 800 !important;
    color: #334155 !important;
}
.kozaru-grading-readiness-next {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: .45rem .6rem !important;
    align-items: center !important;
    padding: .65rem .75rem !important;
    border-radius: 12px !important;
}
.kozaru-grading-readiness-next strong {
    display: none !important;
}
.kozaru-eligibility-external-panel {
    border: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}
.kozaru-eligibility-external-panel-header {
    margin: .25rem 0 .5rem !important;
}
.kozaru-eligibility-external-panel-header strong {
    font-size: 1rem !important;
    letter-spacing: -.02em !important;
}
.kozaru-eligibility-blocking-note {
    padding: .65rem .85rem !important;
    border-radius: 12px !important;
    font-size: .92rem !important;
}
.kozaru-eligibility-external-checks {
    display: grid !important;
    gap: .55rem !important;
}
.kozaru-eligibility-external-check {
    padding: .75rem .85rem !important;
    border-width: 1px !important;
}
.kozaru-eligibility-check-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .75rem !important;
}
.kozaru-eligibility-check-header strong {
    font-size: .98rem !important;
}
.kozaru-eligibility-check-progress {
    margin: .55rem 0 .35rem !important;
}
.kozaru-eligibility-check-meta-row {
    margin-top: .45rem !important;
}
.kozaru-managed-class-plans {
    padding: 0 !important;
}
.kozaru-managed-class-plan-heading,
.kozaru-managed-event-booking-heading {
    margin: 0 0 .7rem !important;
    padding: 0 !important;
    display: flex !important;
    align-items: end !important;
    justify-content: space-between !important;
    gap: .7rem !important;
}
.kozaru-managed-class-plan-list,
.kozaru-managed-registration-list {
    display: grid !important;
    gap: .55rem !important;
}
.kozaru-managed-class-plan-item,
.kozaru-managed-registration-item {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(170px, max-content) !important;
    gap: .75rem !important;
    align-items: center !important;
    padding: .75rem .85rem !important;
    border-radius: 12px !important;
}
.kozaru-command-item-main strong,
.kozaru-command-item-title {
    line-height: 1.14 !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
}
.kozaru-command-item-main small {
    display: block !important;
    margin-top: .2rem !important;
    line-height: 1.2 !important;
}
.kozaru-managed-class-plan-actions,
.kozaru-managed-registration-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    gap: .45rem !important;
    min-width: 0 !important;
}
.kozaru-managed-class-plan-actions .kozaru-button,
.kozaru-managed-registration-actions .kozaru-button,
.kozaru-training-plan-set-button {
    min-height: 34px !important;
    padding: .45rem .7rem !important;
    font-size: .82rem !important;
    white-space: nowrap !important;
}
.kozaru-calendar-shortcode .kozaru-calendar-filter-panel {
    padding: .8rem .9rem !important;
    margin-bottom: .8rem !important;
}
.kozaru-calendar-filter-options {
    gap: .45rem !important;
}
.kozaru-calendar-filter-panel button,
.kozaru-calendar-filter-panel .kozaru-button,
.kozaru-calendar-class-action .kozaru-button {
    min-height: 34px !important;
    padding: .45rem .7rem !important;
    font-size: .82rem !important;
}
.kozaru-calendar-day-group {
    margin-bottom: .75rem !important;
    overflow: hidden !important;
}
.kozaru-calendar-day-heading {
    padding: .65rem .8rem !important;
}
.kozaru-calendar-event-row,
.kozaru-calendar-event-card {
    padding: .55rem .75rem !important;
}
.kozaru-calendar-event-row {
    display: grid !important;
    grid-template-columns: 110px minmax(0, 1fr) auto !important;
    gap: .75rem !important;
    align-items: center !important;
}
.kozaru-calendar-event-title,
.kozaru-calendar-event-row strong {
    font-size: 1rem !important;
    line-height: 1.15 !important;
}
.kozaru-button,
.kozaru-button-secondary,
.kozaru-button-danger,
button.kozaru-button,
a.kozaru-button {
    border-radius: 8px !important;
}
@media (max-width: 900px) {
    .kozaru-my-details-grid { grid-template-columns: 1fr !important; }
    .kozaru-managed-class-plan-item,
    .kozaru-managed-registration-item,
    .kozaru-calendar-event-row {
        grid-template-columns: 1fr !important;
    }
    .kozaru-managed-class-plan-actions,
    .kozaru-managed-registration-actions,
    .kozaru-calendar-class-action {
        justify-content: stretch !important;
        width: 100% !important;
    }
    .kozaru-managed-class-plan-actions form,
    .kozaru-managed-class-plan-actions .kozaru-button,
    .kozaru-managed-registration-actions form,
    .kozaru-managed-registration-actions .kozaru-button,
    .kozaru-calendar-class-action .kozaru-button {
        width: 100% !important;
    }
    .kozaru-my-details-submission-list li,
    .kozaru-form-status-item,
    .kozaru-my-forms .kozaru-form-status-item,
    .kozaru-forms-manager .kozaru-form-status-item {
        grid-template-columns: 1fr auto !important;
    }
    .kozaru-my-details-submission-list li small,
    .kozaru-form-status-item small {
        grid-column: 1 / -1 !important;
    }
}
