/* MD Class Desk — single stylesheet (admin + public) */

:root {
	/* Fallback only — runtime value from MDCLSDSK_ACCENT_COLOR via enqueue. Keep in sync. */
	--mdclsdsk-accent: #3690b8;
	--mdclsdsk-accent-deep: color-mix(in srgb, var(--mdclsdsk-accent) 72%, black);
	--mdclsdsk-accent-hover: color-mix(in srgb, var(--mdclsdsk-accent) 80%, transparent);
	--mdclsdsk-accent-20: color-mix(in srgb, var(--mdclsdsk-accent) 20%, transparent);
	--mdclsdsk-accent-10: color-mix(in srgb, var(--mdclsdsk-accent) 10%, transparent);
	--mdclsdsk-accent-5: color-mix(in srgb, var(--mdclsdsk-accent) 5%, transparent);
	--mdclsdsk-error: #cd5c5c;
	--mdclsdsk-border-light: #e7e7e7;
	--mdclsdsk-border-medium: #dddddd;
	--mdclsdsk-border-dark: #c3c4c7;
	--mdclsdsk-wrap-max: 1200px;
	--mdclsdsk-element-max: 800px;
	--mdclsdsk-radius: 6px;
	--mdclsdsk-row-pad-y: 0.2rem;
}

.mdclsdsk-wrap {
	max-width: var(--mdclsdsk-wrap-max);
	margin: 0 auto;
	padding: 1rem 1.25rem;
	box-sizing: border-box;
}

.mdclsdsk-admin-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1rem;
	gap: 1rem;
}

.mdclsdsk-admin-header-title {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 1.35rem;
	font-weight: 600;
	color: #1d2327;
}

.mdclsdsk-admin-header-title-icon {
	width: 1.15em;
	height: 1.15em;
	font-weight: 400;
	line-height: 1;
	color: inherit;
}

.mdclsdsk-admin-header-title .mdclsdsk-inline-form {
	display: inline-flex;
	align-items: center;
	margin: 0;
}

.mdclsdsk-btn-add {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	appearance: none;
	-webkit-appearance: none;
	width: 32px;
	height: 32px;
	padding: 0;
	border: none;
	border-radius: 999px;
	background: var(--mdclsdsk-accent);
	color: #fff;
	cursor: pointer;
	flex-shrink: 0;
	font-size: 0.85rem;
	font-weight: 400;
	line-height: 1;
	box-shadow: none;
}

.mdclsdsk-btn-add.sml {
	width: 32px;
	height: 32px;
}

.mdclsdsk-btn-add.medium {
	width: 48px;
	height: 48px;
}

.mdclsdsk-btn-add.lge {
	width: 96px;
	height: 96px;
}

.mdclsdsk-btn-add.medium .mdclsdsk-icon {
	width: 1.15rem;
	height: 1.15rem;
}

.mdclsdsk-btn-add.lge .mdclsdsk-icon {
	width: 2rem;
	height: 2rem;
}

.mdclsdsk-btn-add:hover,
.mdclsdsk-btn-add:focus {
	background: var(--mdclsdsk-accent-hover);
	color: #fff;
	outline: none;
}

/* Admin sidebar layout */
body.mdclsdsk-admin {
	--mdclsdsk-admin-shell-height: calc(100vh - 32px);
	--mdclsdsk-admin-bg: #f2f3f6;
	--mdclsdsk-sidebar-width: 256px;
	--mdclsdsk-sidebar-width-collapsed: 72px;
	--mdclsdsk-sidebar-margin: 12px;
	--mdclsdsk-sidebar-bg: var(--mdclsdsk-accent);
	--mdclsdsk-sidebar-text: rgba(255, 255, 255, 0.82);
	--mdclsdsk-sidebar-item-active: color-mix(in srgb, #fff 16%, transparent);
}

@media screen and (max-width: 1100px) {
	body.mdclsdsk-admin {
		--mdclsdsk-sidebar-width: 200px;
		--mdclsdsk-sidebar-margin: 8px;
	}
}

@media screen and (max-width: 782px) {
	body.mdclsdsk-admin {
		--mdclsdsk-admin-shell-height: calc(100vh - 46px);
		--mdclsdsk-sidebar-width: min(260px, calc(100vw - 32px));
		--mdclsdsk-sidebar-margin: 8px;
	}
}

body.mdclsdsk-admin:not(.admin-bar) {
	--mdclsdsk-admin-shell-height: 100vh;
}

body.mdclsdsk-admin,
body.mdclsdsk-admin #wpwrap {
	background-color: var(--mdclsdsk-admin-bg) !important;
}

body.mdclsdsk-admin #wpwrap {
	height: var(--mdclsdsk-admin-shell-height);
}

/*
 * WP admin menu clearance: admin.js syncAdminMenuOffset() is the source of truth
 * (measures #adminmenuwrap). These are no-JS / first-paint fallbacks only.
 */
body.mdclsdsk-admin {
	--mdclsdsk-wp-menu-width: 160px;
}

body.mdclsdsk-admin.folded {
	--mdclsdsk-wp-menu-width: 36px;
}

@media only screen and (max-width: 960px) {
	body.mdclsdsk-admin.auto-fold {
		--mdclsdsk-wp-menu-width: 36px;
	}
}

@media screen and (max-width: 782px) {
	body.mdclsdsk-admin {
		--mdclsdsk-wp-menu-width: 0px;
	}
}

body.mdclsdsk-admin #wpcontent,
body.mdclsdsk-admin #wpfooter {
	margin-left: var(--mdclsdsk-wp-menu-width);
	padding-left: 0;
}

body.mdclsdsk-admin #wpbody {
	margin-right: 20px !important;
}

body.mdclsdsk-admin #wpbody-content {
	display: flex;
	flex-direction: column;
	height: var(--mdclsdsk-admin-shell-height);
	margin: 0 20px 0 0 !important;
	padding: 0;
	background: transparent;
	box-sizing: border-box;
	overflow: visible;
}

#adminmenu #toplevel_page_mdclsdsk-dashboard .wp-submenu {
	display: none !important;
}

.mdclsdsk-admin-layout {
	display: flex;
	flex: 1;
	min-width: 0;
	max-width: 100%;
	min-height: 0;
	background: transparent;
	gap: 0;
	overflow: visible;
}

body.mdclsdsk-admin .mdclsdsk-sidebar-wrapper {
	width: var(--mdclsdsk-sidebar-width);
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	min-height: 0;
	height: calc(var(--mdclsdsk-admin-shell-height) - (2 * var(--mdclsdsk-sidebar-margin)));
	padding: 12px 10px;
	margin: var(--mdclsdsk-sidebar-margin) !important;
	background: var(--mdclsdsk-sidebar-bg);
	color: var(--mdclsdsk-sidebar-text);
	border-radius: 16px;
	box-sizing: border-box;
	overflow: hidden;
	transition: width 0.2s ease;
}

body.mdclsdsk-admin .mdclsdsk-admin-layout.is-sidebar-collapsed .mdclsdsk-sidebar-wrapper {
	width: var(--mdclsdsk-sidebar-width-collapsed);
	padding: 12px 8px;
}

.mdclsdsk-sidebar-header {
	display: flex;
	align-items: center;
	gap: 4px;
	flex-shrink: 0;
	margin: 0 4px 12px;
}

.mdclsdsk-sidebar-logo {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 6px;
	min-width: 0;
	flex: 1;
	padding: 4px;
	line-height: 1.2;
	text-decoration: none !important;
	color: #fff !important;
	background: transparent;
	overflow: hidden;
	box-shadow: none !important;
}

.mdclsdsk-sidebar-logo:hover,
.mdclsdsk-sidebar-logo:focus,
.mdclsdsk-sidebar-logo:focus-visible,
.mdclsdsk-sidebar-logo:active {
	color: #fff !important;
	background: transparent !important;
	outline: none;
	box-shadow: none !important;
	text-decoration: none !important;
}

.mdclsdsk-sidebar-logo-mark {
	display: block;
	height: 48px;
	max-width: 100%;
	overflow: hidden;
	line-height: 0;
	margin-right: auto;
	text-align: left;
}

.mdclsdsk-sidebar-logo-cube {
	display: none;
}

.mdclsdsk-sidebar-logo-icon {
	display: block;
	height: 48px;
	width: auto;
	margin: 0;
	color: inherit;
}

body.mdclsdsk-admin .mdclsdsk-sidebar-collapse {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	margin: 0;
	padding: 0 !important;
	min-width: 0 !important;
	min-height: 0 !important;
	border: 0 !important;
	border-radius: 8px;
	background: transparent !important;
	color: #fff !important;
	box-shadow: none !important;
	line-height: 1 !important;
	cursor: pointer;
}

body.mdclsdsk-admin .mdclsdsk-sidebar-collapse:hover,
body.mdclsdsk-admin .mdclsdsk-sidebar-collapse:focus,
body.mdclsdsk-admin .mdclsdsk-sidebar-collapse:focus-visible {
	background: var(--mdclsdsk-sidebar-item-active) !important;
	color: #fff !important;
	outline: none;
	box-shadow: none !important;
}

.mdclsdsk-sidebar-collapse .mdclsdsk-icon {
	width: 14px;
	height: 14px;
	transition: transform 0.2s ease;
}

.mdclsdsk-admin-layout.is-sidebar-collapsed .mdclsdsk-sidebar-collapse .mdclsdsk-icon {
	transform: rotate(180deg);
}

.mdclsdsk-sidebar-nav-main-list {
	flex: 1;
	min-height: 0;
	overflow-x: hidden;
	overflow-y: auto;
}

.mdclsdsk-sidebar-nav-menu {
	list-style: none;
	border: none;
	margin: 0;
	padding: 0;
}

.mdclsdsk-sidebar-nav-menu li {
	margin: 0 0 2px;
	padding: 0;
	line-height: normal;
}

.mdclsdsk-sidebar-nav-menu .mdclsdsk-sidebar-nav-menu {
	padding-left: 20px;
	padding-right: 0;
	padding-top: 2px;
	margin-top: 0;
}

.mdclsdsk-sidebar-nav-item {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	margin: 0;
	color: var(--mdclsdsk-sidebar-text) !important;
	background-color: transparent;
	border: 0;
	border-radius: 8px;
	text-decoration: none !important;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.2;
	box-sizing: border-box;
	width: 100%;
	box-shadow: none;
}

.mdclsdsk-icon.mdclsdsk-sidebar-nav-icon {
	display: inline-block;
	color: inherit;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	text-align: center;
	vertical-align: middle;
	margin-right: 0;
	line-height: 1;
}

.mdclsdsk-sidebar-nav-label {
	min-width: 0;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	line-height: 1.2;
}

.mdclsdsk-sidebar-nav-badge {
	margin-left: auto;
	min-width: 1.25rem;
	height: 1.25rem;
	padding: 0 0.35rem;
	border-radius: 999px;
	background: #fff;
	color: var(--mdclsdsk-accent);
	font-size: 11px;
	line-height: 1.25rem;
	text-align: center;
	font-weight: 700;
}

.mdclsdsk-sidebar-nav-item:hover,
.mdclsdsk-sidebar-nav-item.active,
body.mdclsdsk-admin .mdclsdsk-sidebar-nav-item:focus,
body.mdclsdsk-admin .mdclsdsk-sidebar-nav-item:focus-visible {
	color: #fff !important;
	background-color: var(--mdclsdsk-sidebar-item-active);
	outline: none;
	box-shadow: none;
}

.mdclsdsk-sidebar-nav-has-children > .mdclsdsk-sidebar-nav-item {
	display: flex;
	align-items: stretch;
	padding: 0;
}

.mdclsdsk-sidebar-nav-main {
	display: flex;
	align-items: center;
	gap: 10px;
	flex: 1;
	min-width: 0;
	padding: 10px 8px 10px 12px;
	color: inherit !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

.mdclsdsk-sidebar-nav-has-children > .mdclsdsk-sidebar-nav-item .mdclsdsk-sidebar-nav-label {
	flex: 1;
	min-width: 0;
}

body.mdclsdsk-admin .mdclsdsk-sidebar-nav-toggle {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: stretch;
	width: auto;
	height: auto;
	margin-left: 0;
	padding: 10px 12px 10px 4px !important;
	min-width: 0 !important;
	min-height: 0 !important;
	border: 0 !important;
	border-radius: 0 8px 8px 0;
	background: transparent !important;
	color: inherit !important;
	box-shadow: none !important;
	line-height: 1 !important;
	font-size: 14px !important;
	cursor: pointer;
}

.mdclsdsk-sidebar-nav-submenu {
	display: grid;
	grid-template-rows: 0fr;
}

.mdclsdsk-sidebar-nav-has-children.is-open > .mdclsdsk-sidebar-nav-submenu {
	grid-template-rows: 1fr;
}

.mdclsdsk-sidebar-nav-has-children.is-animating > .mdclsdsk-sidebar-nav-submenu {
	transition: grid-template-rows 0.2s ease;
}

.mdclsdsk-sidebar-nav-submenu > .mdclsdsk-sidebar-nav-menu {
	overflow: hidden;
	min-height: 0;
}

.mdclsdsk-sidebar-nav-submenu .mdclsdsk-sidebar-nav-item {
	font-weight: 400;
	font-size: 13px;
	padding: 8px 12px;
}

.mdclsdsk-icon {
	display: inline-block;
	width: 1em;
	height: 1em;
	flex-shrink: 0;
	vertical-align: -0.125em;
}

.mdclsdsk-card-icon-btn .mdclsdsk-icon,
.mdclsdsk-btn-add .mdclsdsk-icon,
.mdclsdsk-copy-btn .mdclsdsk-icon,
.mdclsdsk-share-btn .mdclsdsk-icon,
.mdclsdsk-share-icon .mdclsdsk-icon {
	width: .85rem;
	height: .85rem;
}

.mdclsdsk-sidebar-nav-has-children .mdclsdsk-sidebar-nav-toggle .mdclsdsk-icon {
	transition: transform 0.2s ease;
}

.mdclsdsk-sidebar-nav-has-children.is-open .mdclsdsk-sidebar-nav-toggle .mdclsdsk-icon {
	transform: rotate(180deg);
}

.mdclsdsk-sidebar-footer {
	flex-shrink: 0;
	margin-top: auto;
	padding-top: 8px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.mdclsdsk-sidebar-user {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 15px;
	padding: 8px;
	border-radius: 8px;
	text-decoration: none !important;
	box-shadow: none !important;
	overflow: hidden;
	color: #fff !important;
	background: var(--mdclsdsk-sidebar-item-active);
}

/* .mdclsdsk-sidebar-user:hover,
.mdclsdsk-sidebar-user:focus,
.mdclsdsk-sidebar-user:focus-visible {
	background: var(--mdclsdsk-sidebar-item-active);
	color: #fff !important;
	outline: none;
	box-shadow: none !important;
} */

.mdclsdsk-avatar-sml,
.mdclsdsk-avatar-med,
.mdclsdsk-avatar-lge {
	display: block;
	box-sizing: border-box;
	object-fit: cover;
	object-position: center;
	border-radius: 999px;
	flex-shrink: 0;
	float: none;
	margin: 0;
	padding: 0;
	border: 1px solid var(--mdclsdsk-border-light);
	background: #fff;
}

.mdclsdsk-avatar-sml {
	width: 32px;
	height: 32px;
}

.mdclsdsk-avatar-med {
	width: 48px;
	height: 48px;
}

.mdclsdsk-avatar-lge {
	width: 96px;
	height: 96px;
}

.mdclsdsk-org-avatar {
	display: inline-flex;
	flex-shrink: 0;
	line-height: 0;
}

.mdclsdsk-sidebar-user .mdclsdsk-avatar-sml {
	border-color: color-mix(in srgb, #fff 28%, transparent);
}

.mdclsdsk-avatar-placeholder {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: color-mix(in srgb, #fff 18%, transparent);
	color: #fff;
}

.mdclsdsk-avatar-placeholder-icon {
	width: 58%;
	height: 58%;
	display: block;
	fill: currentColor;
}

.mdclsdsk-sidebar-user-meta {
	display: flex;
	flex-direction: column;
	min-width: 0;
	gap: 2px;
}

.mdclsdsk-sidebar-user-name {
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.mdclsdsk-sidebar-user-email {
	font-size: 12px;
	font-weight: 400;
	line-height: 1.2;
	color: var(--mdclsdsk-sidebar-text);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.mdclsdsk-admin-layout.is-sidebar-collapsed .mdclsdsk-sidebar-header {
	flex-direction: column;
	align-items: center;
	margin: 0 0 8px;
	gap: 4px;
}

.mdclsdsk-admin-layout.is-sidebar-collapsed .mdclsdsk-sidebar-logo {
	justify-content: center;
	align-items: center;
	flex: 0 0 auto;
	width: 100%;
	padding: 0;
	margin: 0;
}

/* Collapsed: cube mark only (no FrontDesk wordmark text) */
.mdclsdsk-admin-layout.is-sidebar-collapsed .mdclsdsk-sidebar-logo-wordmark {
	display: none;
}

.mdclsdsk-admin-layout.is-sidebar-collapsed .mdclsdsk-sidebar-logo-cube {
	display: block;
	width: 40px;
	height: 40px;
	margin: 0 auto;
	overflow: visible;
}

.mdclsdsk-admin-layout.is-sidebar-collapsed .mdclsdsk-sidebar-logo-cube-icon {
	height: 40px;
	width: auto;
	margin: 0 auto;
}

.mdclsdsk-admin-layout.is-sidebar-collapsed .mdclsdsk-sidebar-nav-label,
.mdclsdsk-admin-layout.is-sidebar-collapsed .mdclsdsk-sidebar-nav-toggle,
.mdclsdsk-admin-layout.is-sidebar-collapsed .mdclsdsk-sidebar-user-meta {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.mdclsdsk-admin-layout.is-sidebar-collapsed .mdclsdsk-sidebar-nav-submenu {
	display: none;
}

.mdclsdsk-admin-layout.is-sidebar-collapsed .mdclsdsk-sidebar-nav-item,
.mdclsdsk-admin-layout.is-sidebar-collapsed .mdclsdsk-sidebar-nav-main {
	justify-content: center;
	padding: 10px;
	gap: 0;
}

.mdclsdsk-admin-layout.is-sidebar-collapsed .mdclsdsk-sidebar-nav-badge {
	position: absolute;
	top: 2px;
	right: 2px;
	margin: 0;
	min-width: 1rem;
	height: 1rem;
	padding: 0 0.2rem;
	line-height: 1rem;
	font-size: 10px;
}

.mdclsdsk-admin-layout.is-sidebar-collapsed .mdclsdsk-sidebar-user {
	justify-content: center;
	padding: 8px 0;
}

.mdclsdsk-admin-layout .mdclsdsk-wrap {
	flex: 1;
	display: flex;
	flex-direction: column;
	min-width: 0;
	max-width: 100%;
	min-height: 0;
	margin: 0;
	padding: 1.2rem 1px 1.2rem 0;
	overflow: hidden;
	box-sizing: border-box;
	background: transparent;
}

@media screen and (max-width: 782px) {
	body.mdclsdsk-admin #wpwrap,
	body.mdclsdsk-admin #wpbody-content {
		height: auto;
		min-height: var(--mdclsdsk-admin-shell-height);
	}

	body.mdclsdsk-admin #wpbody {
		margin-right: 0 !important;
	}

	body.mdclsdsk-admin #wpbody-content {
		margin: 0 10px 0 0 !important;
	}

	.mdclsdsk-admin-layout,
	.mdclsdsk-admin-layout.is-sidebar-collapsed {
		flex-direction: column;
		align-items: flex-start;
	}

	body.mdclsdsk-admin .mdclsdsk-sidebar-wrapper,
	body.mdclsdsk-admin .mdclsdsk-admin-layout.is-sidebar-collapsed .mdclsdsk-sidebar-wrapper {
		width: var(--mdclsdsk-sidebar-width);
		max-width: var(--mdclsdsk-sidebar-width);
		height: auto;
		max-height: min(70vh, 560px);
		margin: var(--mdclsdsk-sidebar-margin) !important;
		padding: 12px 10px;
		box-sizing: border-box;
		overflow: auto;
	}

	.mdclsdsk-sidebar-nav-main-list {
		overflow: visible;
	}

	body.mdclsdsk-admin .mdclsdsk-sidebar-collapse {
		display: none !important;
	}

	.mdclsdsk-admin-layout.is-sidebar-collapsed .mdclsdsk-sidebar-header {
		flex-direction: row;
		margin: 0 4px 12px;
	}

	.mdclsdsk-admin-layout.is-sidebar-collapsed .mdclsdsk-sidebar-logo {
		justify-content: flex-start;
		padding: 4px;
	}

	.mdclsdsk-admin-layout.is-sidebar-collapsed .mdclsdsk-sidebar-logo-wordmark {
		display: block;
		width: auto;
		height: 48px;
	}

	.mdclsdsk-admin-layout.is-sidebar-collapsed .mdclsdsk-sidebar-logo-cube {
		display: none;
	}

	.mdclsdsk-admin-layout.is-sidebar-collapsed .mdclsdsk-sidebar-nav-label,
	.mdclsdsk-admin-layout.is-sidebar-collapsed .mdclsdsk-sidebar-nav-toggle,
	.mdclsdsk-admin-layout.is-sidebar-collapsed .mdclsdsk-sidebar-user-meta {
		position: static;
		width: auto;
		height: auto;
		padding: 0;
		margin: 0;
		overflow: hidden;
		clip: unset;
		white-space: nowrap;
		border: 0;
	}

	.mdclsdsk-admin-layout.is-sidebar-collapsed .mdclsdsk-sidebar-nav-submenu {
		display: grid;
	}

	.mdclsdsk-admin-layout.is-sidebar-collapsed .mdclsdsk-sidebar-nav-item,
	.mdclsdsk-admin-layout.is-sidebar-collapsed .mdclsdsk-sidebar-nav-main {
		justify-content: flex-start;
		padding: 10px 12px;
		gap: 10px;
	}

	.mdclsdsk-admin-layout.is-sidebar-collapsed .mdclsdsk-sidebar-nav-has-children > .mdclsdsk-sidebar-nav-item,
	.mdclsdsk-admin-layout.is-sidebar-collapsed .mdclsdsk-sidebar-nav-main {
		padding: 10px 8px 10px 12px;
	}

	.mdclsdsk-admin-layout.is-sidebar-collapsed .mdclsdsk-sidebar-nav-badge {
		position: static;
		margin-left: auto;
		min-width: 1.25rem;
		height: 1.25rem;
		padding: 0 0.35rem;
		line-height: 1.25rem;
		font-size: 11px;
	}

	.mdclsdsk-admin-layout.is-sidebar-collapsed .mdclsdsk-sidebar-user {
		justify-content: flex-start;
		padding: 8px;
	}

	.mdclsdsk-admin-layout .mdclsdsk-wrap {
		align-self: stretch;
		width: 100%;
		box-sizing: border-box;
		padding: 1rem 0 1rem;
		overflow: hidden;
	}
}

/* PrayerBoard button primitives */
.mdclsdsk-button-controls {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

body.mdclsdsk-admin .mdclsdsk-button-standard,
body.mdclsdsk-admin .mdclsdsk-button-inert,
body.mdclsdsk-admin .mdclsdsk-button-delete,
.mdclsdsk-button-standard,
.mdclsdsk-button-inert,
.mdclsdsk-button-delete {
	cursor: pointer;
	box-sizing: border-box;
	appearance: none;
	-webkit-appearance: none;
	padding: 8px 12px !important;
	min-width: 40px;
	min-height: 40px !important;
	height: auto !important;
	font-weight: 400;
	font-size: 14px !important;
	line-height: 1 !important;
	text-decoration: none !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease;
	box-shadow: none !important;
}

.mdclsdsk-button-standard {
	background: var(--mdclsdsk-accent) !important;
	border: 1px solid var(--mdclsdsk-accent) !important;
	border-radius: 4px;
	color: #ffffff !important;
}

.mdclsdsk-button-standard:hover,
.mdclsdsk-button-standard:focus {
	background: var(--mdclsdsk-accent-hover) !important;
	border-color: var(--mdclsdsk-accent) !important;
	color: #ffffff !important;
}

.mdclsdsk-button-inert {
	background: #ffffff !important;
	border: 1px solid var(--mdclsdsk-accent) !important;
	border-radius: 3px;
	color: var(--mdclsdsk-accent) !important;
	font-weight: 500;
}

.mdclsdsk-button-inert:hover,
.mdclsdsk-button-inert:focus {
	background: var(--mdclsdsk-accent) !important;
	border-color: var(--mdclsdsk-accent) !important;
	color: #ffffff !important;
}

.mdclsdsk-button-delete {
	background: none;
	border: 1px solid var(--mdclsdsk-error);
	border-radius: 4px;
	color: var(--mdclsdsk-error) !important;
}

.mdclsdsk-button-delete:hover,
.mdclsdsk-button-delete:focus {
	background: var(--mdclsdsk-error) !important;
	border-color: var(--mdclsdsk-error) !important;
	color: #ffffff !important;
}

/* PrayerBoard form controls */
.form-control,
.standard-element-full,
.standard-element-xxlarge,
.standard-element-xlarge,
.standard-element-large,
.standard-element-medium,
.standard-element-normal,
.standard-element-small,
.standard-element-tiny,
.standard-element-textarea {
	height: 40px !important;
	border: 1px solid var(--mdclsdsk-border-light) !important;
	border-radius: 4px !important;
	background-color: #ffffff !important;
	color: #333333 !important;
	font-size: 14px !important;
	font-family: inherit !important;
	vertical-align: middle !important;
	transition: border-color 0.15s ease-in-out !important;
	padding: 0 10px !important;
	box-sizing: border-box !important;
	max-width: 100%;
	box-shadow: none !important;
}

.standard-element-full {
	width: 100% !important;
}

.standard-element-xxlarge {
	width: 690px !important;
}

.standard-element-xlarge {
	width: 550px !important;
}

.standard-element-large {
	width: 450px !important;
}

.standard-element-medium {
	width: 260px !important;
}

select.standard-element-medium[multiple] {
	height: auto !important;
	min-height: 88px;
	padding: 6px 10px !important;
}

.standard-element-normal {
	width: 200px !important;
}

.standard-element-small {
	width: 130px !important;
}

.standard-element-tiny {
	width: 90px !important;
}

.standard-element-textarea {
	height: auto !important;
	min-height: calc(2em * 1.4 + 16px) !important;
	width: 100% !important;
	resize: vertical !important;
	padding: 8px !important;
}

.form-control:hover,
.standard-element-full:hover,
.standard-element-xxlarge:hover,
.standard-element-xlarge:hover,
.standard-element-large:hover,
.standard-element-medium:hover,
.standard-element-normal:hover,
.standard-element-small:hover,
.standard-element-tiny:hover,
.standard-element-textarea:hover,
.form-control:focus,
.standard-element-full:focus,
.standard-element-xxlarge:focus,
.standard-element-xlarge:focus,
.standard-element-large:focus,
.standard-element-medium:focus,
.standard-element-normal:focus,
.standard-element-small:focus,
.standard-element-tiny:focus,
.standard-element-textarea:focus {
	border-color: var(--mdclsdsk-accent) !important;
}

.form-control:focus,
.standard-element-full:focus,
.standard-element-xxlarge:focus,
.standard-element-xlarge:focus,
.standard-element-large:focus,
.standard-element-medium:focus,
.standard-element-normal:focus,
.standard-element-small:focus,
.standard-element-tiny:focus,
.standard-element-textarea:focus {
	outline: 2px solid transparent;
	box-shadow: 0 0 0 1px var(--mdclsdsk-accent) !important;
}

@media screen and (max-width: 782px) {
	.form-control,
	.standard-element-full,
	.standard-element-xxlarge,
	.standard-element-xlarge,
	.standard-element-large,
	.standard-element-medium,
	.standard-element-normal,
	.standard-element-small,
	.standard-element-tiny,
	.standard-element-textarea {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	.mdclsdsk-slug-hint {
		width: 100%;
	}
}

.mdclsdsk-panel {
	background: #fff;
	border-radius: var(--mdclsdsk-radius);
	padding: 1.25rem;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
	margin-bottom: 1rem;
}

.mdclsdsk-table {
	width: 100%;
	border-collapse: collapse;
}

.mdclsdsk-table th,
.mdclsdsk-table td {
	padding: 0.5rem 0.75rem;
	text-align: left;
	vertical-align: middle;
}

.mdclsdsk-table a.mdclsdsk-table-link {
	color: inherit;
	text-decoration: none;
	box-shadow: none;
}

.mdclsdsk-table a.mdclsdsk-table-link:hover,
.mdclsdsk-table a.mdclsdsk-table-link:focus {
	color: var(--mdclsdsk-accent);
	text-decoration: none;
	box-shadow: none;
}

.mdclsdsk-terms-weeks,
.mdclsdsk-schedule-table,
.mdclsdsk-fees-terms {
	width: max-content !important;
	table-layout: auto;
	border-collapse: collapse;
}

.mdclsdsk-terms-weeks th,
.mdclsdsk-terms-weeks td,
.mdclsdsk-schedule-table th,
.mdclsdsk-schedule-table td,
.mdclsdsk-fees-terms th,
.mdclsdsk-fees-terms td {
	width: 1%;
	white-space: nowrap;
}

.mdclsdsk-terms-weeks th:nth-child(2),
.mdclsdsk-terms-weeks td:nth-child(2),
.mdclsdsk-schedule-table th:nth-child(2),
.mdclsdsk-schedule-table td:nth-child(2) {
	padding-right: 20px;
}

.mdclsdsk-terms-weeks th:nth-child(3),
.mdclsdsk-terms-weeks td:nth-child(3),
.mdclsdsk-schedule-table th:nth-child(3),
.mdclsdsk-schedule-table td:nth-child(3) {
	padding-left: 0;
}

.mdclsdsk-terms-weeks th,
.mdclsdsk-schedule-table th,
.mdclsdsk-fees-terms th {
	padding-top: 0;
	padding-bottom: 0.35rem;
}

.mdclsdsk-terms-weeks td,
.mdclsdsk-schedule-table td,
.mdclsdsk-fees-terms td {
	padding-top: var(--mdclsdsk-row-pad-y);
	padding-bottom: var(--mdclsdsk-row-pad-y);
}

.mdclsdsk-fees-terms th:nth-child(1),
.mdclsdsk-fees-terms td:nth-child(1),
.mdclsdsk-fees-terms th:nth-child(2),
.mdclsdsk-fees-terms td:nth-child(2) {
	padding-right: 0.75rem;
}

.mdclsdsk-fees-total {
	display: flex;
	align-items: baseline;
	gap: 0.75rem;
	margin: 0.75rem 0 0;
	font-weight: 600;
}

.mdclsdsk-fees-total-label {
	font-size: 0.9rem;
}

.mdclsdsk-fees-total-value {
	font-size: 0.9rem;
}

.mdclsdsk-schedule-table th:nth-child(1),
.mdclsdsk-schedule-table td:nth-child(1) {
	padding-right: 0.75rem;
}

.mdclsdsk-currency-field {
	display: inline-flex;
	align-items: stretch;
	height: 40px;
	border: 1px solid var(--mdclsdsk-border-light);
	border-radius: 4px;
	background: #ffffff;
	box-sizing: border-box;
	vertical-align: middle;
	overflow: hidden;
}

.mdclsdsk-currency-descriptor {
	display: flex;
	align-items: center;
	padding: 0 0 0 10px;
	color: #333;
	font-size: 14px;
	line-height: 1;
	white-space: nowrap;
}

.mdclsdsk-currency-field:focus-within {
	border-color: var(--mdclsdsk-accent);
}

.mdclsdsk-currency-field input.standard-element-small,
.mdclsdsk-currency-field input {
	height: 38px !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding-left: 6px !important;
	box-shadow: none !important;
}

.mdclsdsk-table-actions {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.mdclsdsk-list {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	margin-bottom: 1.5rem;
}

.mdclsdsk-list-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	width: 100%;
}

.mdclsdsk-list-meta {
	display: grid;
	grid-template-columns: max-content;
	row-gap: 0.15rem;
	align-items: start;
	justify-content: start;
	text-align: left;
	width: max-content;
	max-width: 100%;
}

.mdclsdsk-list-breakdown {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	width: 100%;
}

.mdclsdsk-list-detail {
	flex: 0 0 auto;
	margin-left: auto;
	text-align: right;
	white-space: nowrap;
	line-height: 1.55;
	color: #1d2327;
}

.mdclsdsk-list-detail .mdclsdsk-list-data {
	display: block;
	line-height: 1.55;
	color: #1d2327;
}

.mdclsdsk-list-row {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.35rem;
	padding: 0.75rem 1rem;
	border: 1px solid #e2e4e7;
	border-left: 15px solid var(--mdclsdsk-accent);
	border-radius: var(--mdclsdsk-radius);
	background: #fff;
	box-sizing: border-box;
}

.mdclsdsk-list-receipt {
	margin: 0;
	min-height: 1.1rem;
	font-size: 0.8rem;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.03em;
	color: #646970;
}

.mdclsdsk-list-receipt-actions {
	display: flex;
	flex: 0 0 auto;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.5rem;
	margin-left: auto;
}

.mdclsdsk-list-label,
.mdclsdsk-list-data {
	min-width: 0;
	margin: 0;
	font-size: 0.85rem;
	font-weight: 400;
	line-height: 1.35;
	text-align: left;
}

.mdclsdsk-list-label {
	font-weight: 600;
}

.mdclsdsk-list-terms {
	list-style: disc;
	flex: 1 1 auto;
	min-width: 0;
	margin: 0 0 0 1.35rem;
	padding: 0;
}

.mdclsdsk-list-terms li {
	margin: 0.45rem 0;
	font-size: 0.85rem;
	line-height: 1.55;
	color: #646970;
}

.mdclsdsk-list-terms li:first-child {
	margin-top: 0;
}

.mdclsdsk-receipt-dialog {
	max-width: 26rem;
	width: 94%;
	padding: 1rem 1rem 1.25rem;
	text-align: left;
	overflow: auto;
	max-height: min(90vh, 44rem);
}

.mdclsdsk-receipt-dialog .mdclsdsk-receipt-slot {
	width: 100%;
	max-width: none;
	margin: 0;
}

@media (max-width: 700px) {
	.mdclsdsk-list-breakdown {
		gap: 0.75rem;
	}
}

.mdclsdsk-email-editor h2 {
	margin-top: 0;
}

.mdclsdsk-email-editor .standard-element-medium {
	width: 100%;
	max-width: 36rem;
}

.mdclsdsk-email-editor .wp-editor-wrap {
	max-width: 40rem;
}

.mdclsdsk-email-editor .wp-editor-area {
	font-family: inherit;
}

.mdclsdsk-inline-form {
	display: inline;
	margin: 0;
}

.mdclsdsk-crud-form h2 {
	margin-top: 0;
	font-size: 1.1rem;
}

.mdclsdsk-slug-hint {
	margin: 0.3rem 0 0;
	width: 450px;
	max-width: 100%;
	text-align: left;
	color: #8c8f94;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.3;
	word-break: break-all;
}

.mdclsdsk-class-form-required {
	border: 2px solid var(--mdclsdsk-accent);
	border-radius: var(--mdclsdsk-radius);
	background: var(--mdclsdsk-accent-10);
	padding: 1rem 1.25rem 0.35rem;
	margin: 0 0 1.5rem;
}

.mdclsdsk-class-form-required > h3 {
	margin: 0 0 0.35rem;
	font-size: 0.8rem;
	font-weight: 700;
	color: var(--mdclsdsk-accent);
}

.mdclsdsk-class-form-required .form-table {
	margin-top: 0;
	margin-bottom: 0;
}

body.mdclsdsk-admin .form-table th,
body.mdclsdsk-admin .form-table td {
	padding-top: 0.35rem;
	padding-bottom: 0.35rem;
	vertical-align: middle;
}

body.mdclsdsk-admin .form-table th {
	width: 1.35%;
	white-space: nowrap;
	padding-left: 0;
	padding-right: 0.75rem;
}

body.mdclsdsk-admin .form-table td p {
	margin: 0.2rem 0 0;
}

.mdclsdsk-schedule-days {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	margin: 0 0 1rem;
}

.mdclsdsk-class-form-required .mdclsdsk-schedule-days {
	margin: 0;
}

.mdclsdsk-class-form-extra {
	border: 1px solid var(--mdclsdsk-border-dark);
	border-radius: var(--mdclsdsk-radius);
	padding: 0 1.25rem 0.35rem;
	margin: 0 0 1.5rem;
	background: #fff;
}

.mdclsdsk-class-form-extra > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
	list-style: none;
	margin: 0 -1.25rem;
	padding: 0.75rem 1.25rem;
	font-size: 0.8rem;
	font-weight: 700;
	color: #1d2327;
}

.mdclsdsk-class-form-extra > summary::-webkit-details-marker {
	display: none;
}

.mdclsdsk-class-form-extra > summary::after {
	content: '';
	display: block;
	width: 0.45rem;
	height: 0.45rem;
	margin-left: auto;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-0.1rem);
	flex: 0 0 auto;
}

.mdclsdsk-class-form-extra[open] > summary::after {
	transform: rotate(-135deg) translateY(-0.05rem);
}

.mdclsdsk-class-form-extra .form-table {
	margin-top: 0;
	margin-bottom: 0;
}

.mdclsdsk-thumbnail-block {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	text-align: left;
}

.mdclsdsk-thumbnail-label {
	display: block;
	margin: 0 0 0.5rem;
	font-weight: 600;
	text-align: left;
}

.mdclsdsk-thumbnail-field {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
	text-align: left;
}

.mdclsdsk-thumbnail-preview {
	margin: 0;
}

.mdclsdsk-thumbnail-preview img {
	display: block;
	max-width: 240px;
	height: auto;
	border-radius: var(--mdclsdsk-radius);
	border: 1px solid var(--mdclsdsk-border-light);
}

.mdclsdsk-thumbnail-preview img.mdclsdsk-avatar-sml,
.mdclsdsk-thumbnail-preview img.mdclsdsk-avatar-med,
.mdclsdsk-thumbnail-preview img.mdclsdsk-avatar-lge {
	max-width: none;
	object-fit: cover;
	object-position: center;
	border-radius: 999px;
}

.mdclsdsk-thumbnail-preview img.mdclsdsk-avatar-sml {
	width: 32px;
	height: 32px;
}

.mdclsdsk-thumbnail-preview img.mdclsdsk-avatar-med {
	width: 48px;
	height: 48px;
}

.mdclsdsk-thumbnail-preview img.mdclsdsk-avatar-lge {
	width: 96px;
	height: 96px;
}

.mdclsdsk-thumbnail-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
}

.mdclsdsk-schedule-day-check {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-weight: 600;
	cursor: pointer;
}

.mdclsdsk-filter-box {
	margin-bottom: 1rem;
}

.mdclsdsk-filter-box-select {
	min-width: 12rem;
}

.mdclsdsk-selected,
.mdclsdsk-card.is-selected {
	background: var(--mdclsdsk-accent-20);
}

.mdclsdsk-admin-layout .mdclsdsk-wrap:not(:has(.mdclsdsk-split-layout)):not(:has(.mdclsdsk-email-template)) {
	overflow-y: auto;
}

/* Split layout */
.mdclsdsk-split-layout {
	display: flex;
	flex-wrap: wrap;
	gap: 2%;
	align-items: flex-start;
	flex: 1;
	min-height: 0;
}

.mdclsdsk-split-layout-left {
	flex: 0 0 38%;
	max-width: 38%;
	min-width: 16rem;
	display: flex;
	flex-direction: column;
	min-height: 0;
	max-height: 80vh;
	overflow: hidden;
	box-sizing: border-box;
}

.mdclsdsk-split-layout-right {
	flex: 0 0 58%;
	max-width: 58%;
	min-width: 16rem;
	display: none;
	flex-direction: column;
	min-height: 0;
	max-height: 80vh;
	overflow: hidden;
	box-sizing: border-box;
}

.mdclsdsk-split-layout-right.is-visible {
	display: flex;
}

.mdclsdsk-split-layout-right.is-loading {
	cursor: wait;
}

.mdclsdsk-split-layout-right.is-loading > .mdclsdsk-panel {
	opacity: 0.55;
	pointer-events: none;
	transition: opacity 0.15s ease;
}

.mdclsdsk-split-layout-left > .mdclsdsk-panel,
.mdclsdsk-split-layout-right > .mdclsdsk-panel {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
	max-height: 100%;
	overflow: hidden;
	margin-bottom: 0;
}

.mdclsdsk-split-placeholder {
	color: #646970;
	text-align: center;
	padding: 2rem 1rem;
}

.save-toast {
	position: fixed;
	right: 16px;
	bottom: 16px;
	top: auto;
	left: auto;
	z-index: 100000;
	padding: 12px 14px;
	background: #333333;
	color: #ffffff;
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
	border-radius: 3px;
	box-shadow: none;
	pointer-events: none;
	opacity: 0;
	transform: translateY(4px);
	transition: opacity 0.15s ease, transform 0.15s ease;
	white-space: nowrap;
}

.save-toast.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.save-toast--error {
	background: #8a1f1f;
}

.toggle {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 3px;
	border: 1px solid var(--mdclsdsk-border-light);
	border-radius: 8px;
	background: #f6f7f7;
}

.toggle-thumb {
	position: absolute;
	top: 3px;
	left: 0;
	z-index: 0;
	height: calc(100% - 6px);
	border-radius: 6px;
	background: #ffffff;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
	pointer-events: none;
	transform: translateX(0);
	transition: transform 0.22s ease, width 0.22s ease, background-color 0.22s ease, box-shadow 0.22s ease;
}

.toggle-thumb.is-instant {
	transition: none;
}

.toggle-thumb--accent {
	background: var(--mdclsdsk-accent);
	box-shadow: 0 1px 2px color-mix(in srgb, var(--mdclsdsk-accent) 35%, transparent);
}

.toggle-thumb--muted {
	background: #dcdcde;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}

.toggle-details {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: #50575e;
	cursor: pointer;
	font-weight: 600;
	line-height: 1.2;
	padding: 6px 12px;
}

.toggle-details input {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
	margin: 0;
	pointer-events: none;
}

.toggle:not(.has-thumb) .toggle-details.is-active,
.toggle:not(.has-thumb) .toggle-details:has(input:checked) {
	background: #ffffff;
	color: #1d2327;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}

.toggle.has-thumb .toggle-details.is-active,
.toggle.has-thumb .toggle-details:has(input:checked) {
	background: transparent;
	box-shadow: none;
	color: #1d2327;
}

.toggle-details--accent {
	color: var(--mdclsdsk-accent);
}

.toggle:not(.has-thumb) .toggle-details--accent.is-active,
.toggle:not(.has-thumb) .toggle-details--accent:has(input:checked) {
	background: var(--mdclsdsk-accent);
	color: #ffffff;
	box-shadow: 0 1px 2px color-mix(in srgb, var(--mdclsdsk-accent) 35%, transparent);
}

.toggle.has-thumb .toggle-details--accent.is-active,
.toggle.has-thumb .toggle-details--accent:has(input:checked) {
	background: transparent;
	color: #ffffff;
	box-shadow: none;
}

.toggle:not(.has-thumb) .toggle-details--muted.is-active,
.toggle:not(.has-thumb) .toggle-details--muted:has(input:checked) {
	background: #dcdcde;
	color: #1d2327;
}

.toggle.has-thumb .toggle-details--muted.is-active,
.toggle.has-thumb .toggle-details--muted:has(input:checked) {
	background: transparent;
	color: #1d2327;
	box-shadow: none;
}

.toggle-details:has(input:disabled) {
	opacity: 0.45;
	cursor: not-allowed;
	pointer-events: none;
}

.toggle.has-thumb .toggle-details--accent:has(input:disabled),
.toggle:not(.has-thumb) .toggle-details--accent:has(input:disabled) {
	color: #8c8f94;
}

.mdclsdsk-status-open-hint {
	margin: 0.4rem 0 0;
	max-width: 18rem;
	font-size: 12px;
	line-height: 1.35;
	color: #646970;
}

.mdclsdsk-status-open-hint[hidden] {
	display: none;
}

.toggle-simple {
	appearance: none;
	-webkit-appearance: none;
	display: inline-block;
	position: relative;
	z-index: 2;
	width: 2.25rem;
	height: 1.25rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: #c3c4c7;
	box-shadow: none;
	cursor: pointer;
	line-height: 0;
	vertical-align: middle;
	transition: background 0.15s ease;
}

.mdclsdsk-wrap .mdclsdsk-panel button.toggle-simple,
button.toggle-simple {
	appearance: none !important;
	-webkit-appearance: none !important;
	display: inline-block !important;
	width: 2.25rem !important;
	height: 1.25rem !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #c3c4c7 !important;
	box-shadow: none !important;
}

.toggle-simple::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 2px;
	margin-top: auto;
	margin-bottom: auto;
	width: 0.95rem;
	height: 0.95rem;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
	transition: transform 0.15s ease;
}

.toggle-simple.is-on,
.toggle-simple[aria-checked="true"] {
	background: var(--mdclsdsk-accent);
}

.mdclsdsk-wrap .mdclsdsk-panel button.toggle-simple.is-on,
.mdclsdsk-wrap .mdclsdsk-panel button.toggle-simple[aria-checked="true"],
button.toggle-simple.is-on,
button.toggle-simple[aria-checked="true"] {
	background: var(--mdclsdsk-accent) !important;
}

.toggle-simple.is-on::after,
.toggle-simple[aria-checked="true"]::after {
	transform: translateX(1rem);
}

.toggle-simple:focus-visible {
	outline: 2px solid var(--mdclsdsk-accent);
	outline-offset: 2px;
}

.mdclsdsk-card-actions .toggle-simple {
	margin-left: 0.25rem !important;
}

/* Sortable class cards */
.mdclsdsk-sortable-list {
	list-style: none;
	margin: 0;
	padding: 0 10px 0 0;
	flex: 1 1 auto;
	min-height: 0;
	overflow-x: hidden;
	overflow-y: auto;
}

.mdclsdsk-wrap .mdclsdsk-panel ul.mdclsdsk-sortable-list > li.mdclsdsk-sortable-card,
.mdclsdsk-sortable-card {
	position: relative;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	gap: 0.4rem;
	padding: 0.7rem 0.5rem 0.7rem 2.35rem;
	margin-bottom: 0.5rem;
	border: 1px solid #e2e4e7;
	border-radius: var(--mdclsdsk-radius);
	background: #fff;
	box-sizing: border-box;
	cursor: pointer;
	transition: opacity 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}

.mdclsdsk-sortable-card:hover {
	border-color: #c3c4c7;
}

.mdclsdsk-wrap .mdclsdsk-panel ul.mdclsdsk-sortable-list > li.mdclsdsk-sortable-card.is-draft,
.mdclsdsk-panel .mdclsdsk-sortable-card.is-draft,
.mdclsdsk-wrap .mdclsdsk-panel ul.mdclsdsk-sortable-list > li.mdclsdsk-sortable-card.is-archived,
.mdclsdsk-panel .mdclsdsk-sortable-card.is-archived {
	background: #e8eaed !important;
	opacity: 1;
}

.mdclsdsk-wrap .mdclsdsk-panel ul.mdclsdsk-sortable-list > li.mdclsdsk-sortable-card.is-live,
.mdclsdsk-panel .mdclsdsk-sortable-card.is-live {
	background: var(--mdclsdsk-accent-10) !important;
	border-color: color-mix(in srgb, var(--mdclsdsk-accent) 35%, transparent);
}

.mdclsdsk-wrap .mdclsdsk-panel ul.mdclsdsk-sortable-list > li.mdclsdsk-sortable-card.is-selected,
.mdclsdsk-panel .mdclsdsk-sortable-card.is-selected {
	background: var(--mdclsdsk-accent-20) !important;
	border: 1px solid var(--mdclsdsk-accent);
}

.mdclsdsk-wrap .mdclsdsk-panel ul.mdclsdsk-sortable-list > li.mdclsdsk-sortable-card.is-selected:hover,
.mdclsdsk-panel .mdclsdsk-sortable-card.is-selected:hover {
	border-color: var(--mdclsdsk-accent);
}

.mdclsdsk-wrap .mdclsdsk-panel ul.mdclsdsk-sortable-list > li.mdclsdsk-sortable-card.is-selected.is-draft,
.mdclsdsk-panel .mdclsdsk-sortable-card.is-selected.is-draft,
.mdclsdsk-wrap .mdclsdsk-panel ul.mdclsdsk-sortable-list > li.mdclsdsk-sortable-card.is-selected.is-archived,
.mdclsdsk-panel .mdclsdsk-sortable-card.is-selected.is-archived {
	background: #e8eaed !important;
}

.mdclsdsk-sortable-card.is-dragging,
body > .mdclsdsk-sortable-card.ui-sortable-helper {
	opacity: 0.5;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	list-style: none;
	margin: 0;
	z-index: 100000;
	pointer-events: none;
}

body.mdclsdsk-is-sorting .tooltip {
	display: none !important;
}

.mdclsdsk-sortable-placeholder {
	height: 4.5rem;
	margin-bottom: 0.5rem;
	border: 2px dashed var(--mdclsdsk-accent);
	border-radius: var(--mdclsdsk-radius);
	background: var(--mdclsdsk-accent-10);
}

.mdclsdsk-wrap .mdclsdsk-panel ul.mdclsdsk-sortable-list > li.mdclsdsk-sortable-card .mdclsdsk-sortable-handle,
.mdclsdsk-sortable-card .mdclsdsk-sortable-handle {
	position: absolute !important;
	left: 0.7rem;
	top: 50% !important;
	right: auto;
	bottom: auto !important;
	z-index: 2;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 1.25rem;
	height: 1.25rem;
	margin: 0 !important;
	padding: 0 !important;
	transform: translateY(-50%);
	color: #8c8f94;
	cursor: grab;
	line-height: 1;
}

.mdclsdsk-sortable-handle i {
	display: block;
	line-height: 1;
	font-size: 0.95rem;
}

.mdclsdsk-sortable-list:not([data-sort-action]) .mdclsdsk-sortable-handle {
	cursor: default;
}

.mdclsdsk-wrap .mdclsdsk-panel ul.mdclsdsk-sortable-list.is-readonly > li.mdclsdsk-sortable-card,
.mdclsdsk-sortable-list.is-readonly > .mdclsdsk-sortable-card {
	padding-left: 0.85rem;
}

.mdclsdsk-wrap .mdclsdsk-panel ul.mdclsdsk-sortable-list > li.mdclsdsk-sortable-card .mdclsdsk-sortable-card-thumb,
.mdclsdsk-sortable-card .mdclsdsk-sortable-card-thumb {
	--mdclsdsk-card-thumb: 4rem;
	display: block !important;
	box-sizing: border-box;
	width: var(--mdclsdsk-card-thumb) !important;
	height: var(--mdclsdsk-card-thumb) !important;
	min-width: var(--mdclsdsk-card-thumb) !important;
	min-height: var(--mdclsdsk-card-thumb) !important;
	max-width: var(--mdclsdsk-card-thumb) !important;
	max-height: var(--mdclsdsk-card-thumb) !important;
	object-fit: cover;
	border-radius: var(--mdclsdsk-radius);
	flex: 0 0 var(--mdclsdsk-card-thumb) !important;
	background: #ececf2;
}

.mdclsdsk-sortable-card-thumb-empty {
	display: block;
}

.mdclsdsk-sortable-card-meta {
	flex: 1 1 0;
	min-width: 0;
	width: 100%;
	text-decoration: none;
	color: inherit;
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	pointer-events: none;
}

.mdclsdsk-wrap .mdclsdsk-panel .mdclsdsk-sortable-card-hit,
.mdclsdsk-sortable-card-hit {
	position: absolute !important;
	inset: 0;
	z-index: 1;
	display: block !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	text-decoration: none !important;
	cursor: pointer;
}

.mdclsdsk-sortable-card-title {
	font-size: 0.95rem;
	color: #1d2327;
}

.mdclsdsk-sortable-card-descriptor,
.mdclsdsk-sortable-card-meta-status {
	font-size: 0.8rem;
	color: #646970;
}

.mdclsdsk-wrap .mdclsdsk-panel ul.mdclsdsk-sortable-list > li.mdclsdsk-sortable-card.is-live .mdclsdsk-sortable-card-meta-status,
.mdclsdsk-sortable-card.is-live .mdclsdsk-sortable-card-meta-status {
	color: var(--mdclsdsk-accent);
}

.mdclsdsk-sortable-card-descriptor:empty {
	display: none;
}

.mdclsdsk-wrap .mdclsdsk-panel .mdclsdsk-card-actions,
.mdclsdsk-card-actions {
	position: relative;
	z-index: 2;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	align-self: center !important;
	gap: 0;
	flex: 0 0 auto !important;
	width: auto !important;
	margin: 0;
	padding: 0;
}

.mdclsdsk-wrap .mdclsdsk-panel .mdclsdsk-card-divider,
.mdclsdsk-card-divider {
	display: block !important;
	width: 1px !important;
	height: 2rem;
	margin: 0 0.05rem 0 0;
	padding: 0;
	background: #dcdcde;
	flex: 0 0 1px;
	align-self: center;
}

.mdclsdsk-wrap .mdclsdsk-panel form.mdclsdsk-card-icon-form,
.mdclsdsk-card-icon-form {
	display: flex !important;
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}

.mdclsdsk-wrap .mdclsdsk-panel button.mdclsdsk-card-icon-btn,
.mdclsdsk-wrap .mdclsdsk-panel a.mdclsdsk-card-icon-btn,
.mdclsdsk-card-icon-btn {
	appearance: none !important;
	-webkit-appearance: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 1.45rem !important;
	height: 1.45rem !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: 1.45rem !important;
	max-height: 1.45rem !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: var(--mdclsdsk-radius);
	background: transparent !important;
	color: #8c8f94 !important;
	cursor: pointer;
	line-height: 1 !important;
	box-sizing: border-box;
	box-shadow: none !important;
	text-shadow: none !important;
	text-decoration: none !important;
}

.mdclsdsk-wrap .mdclsdsk-panel button.mdclsdsk-card-icon-btn:hover,
.mdclsdsk-wrap .mdclsdsk-panel button.mdclsdsk-card-icon-btn:focus,
.mdclsdsk-wrap .mdclsdsk-panel a.mdclsdsk-card-icon-btn:hover,
.mdclsdsk-wrap .mdclsdsk-panel a.mdclsdsk-card-icon-btn:focus,
.mdclsdsk-card-icon-btn:hover,
.mdclsdsk-card-icon-btn:focus {
	background: transparent !important;
	border: 0 !important;
	color: #1d2327 !important;
	box-shadow: none !important;
}

.mdclsdsk-wrap .mdclsdsk-panel button.mdclsdsk-card-delete:hover,
.mdclsdsk-wrap .mdclsdsk-panel button.mdclsdsk-card-delete:focus,
.mdclsdsk-card-delete:hover,
.mdclsdsk-card-delete:focus {
	color: #d63638 !important;
}

.mdclsdsk-sortable-drop-divider {
	display: none;
	height: 2px;
	background: var(--mdclsdsk-accent);
	margin: 0.25rem 0;
}

/* Stepper */
.mdclsdsk-header {
	position: sticky;
	top: 0;
	z-index: 20;
	flex-shrink: 0;
	background: #fff;
	/* margin: -1.25rem -1.25rem 1.25rem; */
	padding: 1.25rem 1.25rem 0.75rem;
}

.mdclsdsk-header form {
	margin: 0;
}

.mdclsdsk-header .mdclsdsk-stepper {
	overflow: visible;
	min-width: 0;
	width: 100%;
	max-width: 100%;
}

.mdclsdsk-header .toggle {
	display: flex;
	width: fit-content;
	margin: 0.75rem auto 0;
}

.mdclsdsk-page-card .mdclsdsk-header {
	margin: -1.5rem -1.5rem 1.25rem;
	padding: 1.5rem 1.5rem 0.75rem;
	border-radius: var(--mdclsdsk-radius) var(--mdclsdsk-radius) 0 0;
}

.mdclsdsk-stepper {
	display: flex;
	align-items: center;
	gap: 0;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.mdclsdsk-stepper-step {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.45rem;
	text-decoration: none;
	color: #646970;
	flex: 1 1 0;
	min-width: 0;
	padding: 0;
	border: none;
	box-shadow: none;
	outline: none;
	background: none;
	position: relative;
	z-index: 1;
}

body.mdclsdsk-admin .mdclsdsk-stepper-step:focus,
body.mdclsdsk-admin .mdclsdsk-stepper-step:focus-visible,
body.mdclsdsk-admin .mdclsdsk-stepper-step:active,
.mdclsdsk-wrap a.mdclsdsk-stepper-step:focus,
.mdclsdsk-wrap a.mdclsdsk-stepper-step:focus-visible,
.mdclsdsk-wrap a.mdclsdsk-stepper-step:active {
	outline: none !important;
	border: none !important;
	box-shadow: none !important;
	color: #646970;
}

body.mdclsdsk-admin .mdclsdsk-stepper-step.is-active:focus,
body.mdclsdsk-admin .mdclsdsk-stepper-step.is-active:focus-visible,
body.mdclsdsk-admin .mdclsdsk-stepper-step.is-complete:focus,
body.mdclsdsk-admin .mdclsdsk-stepper-step.is-complete:focus-visible,
.mdclsdsk-wrap a.mdclsdsk-stepper-step.is-active:focus,
.mdclsdsk-wrap a.mdclsdsk-stepper-step.is-active:focus-visible,
.mdclsdsk-wrap a.mdclsdsk-stepper-step.is-complete:focus,
.mdclsdsk-wrap a.mdclsdsk-stepper-step.is-complete:focus-visible {
	color: var(--mdclsdsk-accent);
}

.mdclsdsk-stepper-disk {
	display: flex;
	align-items: center;
	justify-content: center;
	align-self: center;
	flex-shrink: 0;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 999px;
	border: 2px solid #c3c4c7;
	background: #fff;
	color: #646970;
	font-size: 0.8rem;
	font-weight: 600;
	position: relative;
	z-index: 1;
}

.mdclsdsk-stepper-label {
	display: block;
	box-sizing: border-box;
	font-size: 0.75rem;
	text-align: center;
	width: 100%;
	max-width: none;
	line-height: 1.2;
	white-space: nowrap;
}

.mdclsdsk-stepper-step.is-active .mdclsdsk-stepper-disk,
.mdclsdsk-stepper-step.is-complete .mdclsdsk-stepper-disk {
	border-color: var(--mdclsdsk-accent);
	background: var(--mdclsdsk-accent);
	color: #fff;
}

.mdclsdsk-stepper-step.is-active .mdclsdsk-stepper-label,
.mdclsdsk-stepper-step.is-complete .mdclsdsk-stepper-label {
	color: var(--mdclsdsk-accent);
	font-weight: 600;
}

.mdclsdsk-stepper-line {
	flex: 1 1 0;
	height: 2px;
	min-width: 0;
	max-width: none;
	background: #e2e4e7;
	align-self: flex-start;
	margin: calc((1.75rem / 2) - 1px) -2.5rem 0;
	position: relative;
	z-index: 0;
}

.mdclsdsk-stepper-step.is-complete + .mdclsdsk-stepper-line {
	background: var(--mdclsdsk-accent);
}

.mdclsdsk-page-card .mdclsdsk-stepper-step.is-skipped,
.mdclsdsk-page-card .mdclsdsk-stepper-line.is-skipped {
	display: none;
}

@media (max-width: 600px) {
	.mdclsdsk-stepper-label {
		font-size: 0.7rem;
	}
}

.mdclsdsk-record-content {
	padding-top: 0.5rem;
	padding-right: 10px;
	flex: 1 1 auto;
	min-height: 0;
	overflow-x: hidden;
	overflow-y: auto;
}

.mdclsdsk-step-panel[hidden] {
	display: none !important;
}

.mdclsdsk-schedule-empty-hint {
	display: none;
	margin: 0;
}

.mdclsdsk-step-panel[data-step="schedule"]:not(:has(.mdclsdsk-schedule-day-row:not([hidden]))) .mdclsdsk-schedule-empty-hint {
	display: block;
}

.mdclsdsk-step-panel[data-step="schedule"]:not(:has(.mdclsdsk-schedule-day-row:not([hidden]))) .mdclsdsk-schedule-table {
	display: none;
}

body.mdclsdsk-nav-pending {
	cursor: wait;
}

body.mdclsdsk-nav-pending .mdclsdsk-wrap {
	opacity: 0.72;
	pointer-events: none;
}

/* Dashboard */
.mdclsdsk-dashboard-stats {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr));
	gap: 0.75rem;
	margin-bottom: 1rem;
}

.mdclsdsk-stat-widget {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	padding: 1.35rem 1.25rem;
	background: #fff;
	border-radius: var(--mdclsdsk-radius);
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
	text-decoration: none;
	color: inherit;
	text-align: center;
	transition: box-shadow 0.15s ease;
}

.mdclsdsk-stat-widget:hover {
	box-shadow: 0 2px 8px color-mix(in srgb, var(--mdclsdsk-accent) 20%, transparent);
}

.mdclsdsk-stat-widget-value {
	font-size: 1.75rem;
	font-weight: 700;
	color: var(--mdclsdsk-accent);
	line-height: 1.15;
}

.mdclsdsk-stat-widget-label {
	font-size: 0.8rem;
	color: #646970;
	line-height: 1.25;
}

.mdclsdsk-stat-alert .mdclsdsk-stat-widget-value {
	color: #e11d48;
}

.mdclsdsk-dashboard-actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	margin: 0 0 1rem;
	padding: 0;
	background: transparent;
	box-shadow: none;
}

.mdclsdsk-dashboard-action-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.85rem;
	box-sizing: border-box;
	padding: 1.5rem 1.5rem;
	background: #fff;
	border-radius: var(--mdclsdsk-radius);
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}

.mdclsdsk-dashboard-actions-label {
	margin: 0;
	padding: 0;
	width: 100%;
	text-align: center;
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.25;
	color: #1d2327;
	text-transform: none;
	letter-spacing: 0;
}

.mdclsdsk-quick-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	align-items: center;
}

.mdclsdsk-quick-actions--create,
.mdclsdsk-quick-actions--goto {
	justify-content: center;
	width: 100%;
}

.mdclsdsk-quick-actions--create {
	gap: 0.85rem 1.15rem;
	align-items: center;
	justify-content: center;
}

.mdclsdsk-quick-actions--goto {
	gap: 0.5rem;
}

.mdclsdsk-create-action {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 0.35rem;
	margin: 0;
	text-align: center;
}

.mdclsdsk-create-action-label {
	font-size: 0.8rem;
	font-weight: 500;
	line-height: 1.2;
	color: #50575e;
	max-width: 4.75rem;
}

.mdclsdsk-dashboard-actions .mdclsdsk-button-standard,
.mdclsdsk-dashboard-actions .mdclsdsk-button-inert {
	min-height: 2rem !important;
	padding: 0.35rem 0.75rem !important;
	font-size: 0.8125rem !important;
	line-height: 1.2 !important;
}

@media (max-width: 782px) {
	.mdclsdsk-dashboard-actions {
		grid-template-columns: 1fr;
	}
}

.mdclsdsk-dashboard-starting h2 {
	margin: 0 0 0.5rem;
	font-size: 1rem;
}

.mdclsdsk-dashboard-empty {
	margin: 0;
}

.mdclsdsk-alert-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mdclsdsk-alert-list li {
	padding: 0.5rem 0;
	border-bottom: 1px solid #f0f0f1;
}

.mdclsdsk-alert-list a,
.mdclsdsk-funds-panel .mdclsdsk-alert-list li {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 0.75rem;
	text-decoration: none;
	color: #1d2327;
}

.mdclsdsk-funds-panel .mdclsdsk-attention-panel-head {
	align-items: center;
}

.mdclsdsk-funds-panel .mdclsdsk-funds-year {
	margin: 0;
	flex-shrink: 0;
}

.mdclsdsk-funds-panel .mdclsdsk-funds-total {
	font-size: 1.05rem;
}

.mdclsdsk-dashboard-attention {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
	gap: 0.75rem;
	margin-bottom: 1rem;
}

.mdclsdsk-dashboard-attention > .mdclsdsk-panel {
	margin-bottom: 0;
}

.mdclsdsk-attention-panel-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.5rem;
}

.mdclsdsk-attention-panel-head h2 {
	margin: 0;
	font-size: 1rem;
}

.mdclsdsk-attention-panel-head h2 a {
	color: inherit;
	text-decoration: none;
}

.mdclsdsk-attention-panel-head h2 a:hover,
.mdclsdsk-attention-panel-head h2 a:focus {
	color: var(--mdclsdsk-accent);
}

.mdclsdsk-attention-count {
	flex-shrink: 0;
	font-size: 0.85rem;
	font-weight: 600;
	color: #646970;
}

.mdclsdsk-attention-label {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.mdclsdsk-attention-meta {
	flex-shrink: 0;
	color: var(--mdclsdsk-accent);
	font-weight: 600;
}

.mdclsdsk-attention-more {
	margin: 0.65rem 0 0;
}

.mdclsdsk-attention-empty .description {
	margin: 0;
}

/* Kanban */
.mdclsdsk-enrollment-filters,
.mdclsdsk-emails-filter,
.mdclsdsk-credits-filter {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 0.75rem;
	margin-bottom: 1rem;
}

.mdclsdsk-enrollment-filters .mdclsdsk-filter-box,
.mdclsdsk-emails-filter .mdclsdsk-filter-box,
.mdclsdsk-credits-filter .mdclsdsk-filter-box {
	margin-bottom: 0;
}

.mdclsdsk-settings-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin: 0 0 1.15rem;
	padding: 0.25rem 0 0.85rem;
	border-bottom: 1px solid #dcdcde;
}

.mdclsdsk-settings-tab {
	display: inline-flex;
	align-items: center;
	padding: 0.45rem 0.85rem;
	border-radius: var(--mdclsdsk-radius) var(--mdclsdsk-radius) 0 0;
	border: 1px solid transparent;
	border-bottom: none;
	color: #50575e;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	background: transparent;
	box-shadow: none;
	margin-bottom: -1px;
}

.mdclsdsk-settings-tab:hover,
.mdclsdsk-settings-tab:focus {
	color: var(--mdclsdsk-accent);
	background: color-mix(in srgb, var(--mdclsdsk-accent) 8%, #fff);
	text-decoration: none;
	box-shadow: none;
}

.mdclsdsk-settings-tab.is-active {
	color: var(--mdclsdsk-accent);
	background: #fff;
	border-color: #dcdcde;
	box-shadow: 0 1px 0 #fff;
}

.mdclsdsk-settings-template-filter {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 0.75rem;
	margin: 0 0 1rem;
}

.mdclsdsk-settings-template-filter .mdclsdsk-filter-box {
	margin-bottom: 0;
}

.mdclsdsk-kanban-swimlane {
	margin-bottom: 1.5rem;
}

.mdclsdsk-kanban-swimlane-title {
	font-size: 1rem;
	margin: 0 0 0.75rem;
	color: var(--mdclsdsk-accent);
}

.mdclsdsk-kanban-columns {
	display: flex;
	gap: 0.75rem;
	overflow-x: auto;
	padding-bottom: 0.5rem;
}

.mdclsdsk-kanban-column {
	flex: 0 0 16rem;
	min-width: 16rem;
	background: #fff;
	border-radius: var(--mdclsdsk-radius);
	padding: 0.5rem;
}

.mdclsdsk-kanban-column-header {
	font-size: 0.8rem;
	margin-bottom: 0.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}

.mdclsdsk-kanban-column-header span {
	color: #646970;
	font-weight: 400;
}

.mdclsdsk-kanban-cards {
	list-style: none;
	margin: 0;
	padding: 0;
	min-height: 3rem;
}

.mdclsdsk-kanban-card {
	background: #fff;
	border: 1px solid #e2e4e7;
	border-radius: var(--mdclsdsk-radius);
	padding: 0.5rem;
	margin-bottom: 0.4rem;
	font-size: 0.8rem;
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
}

.mdclsdsk-kanban-card-name {
	font-weight: 600;
}

.mdclsdsk-kanban-card-balance {
	color: #e11d48;
	font-size: 0.75rem;
}

/* Badges */
.mdclsdsk-badge {
	display: inline-flex;
	align-items: center;
	padding: 2px 7px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
	text-transform: uppercase;
	vertical-align: middle;
	white-space: nowrap;
}

.mdclsdsk-badge-paid { background: #dcfce7; color: #166534; }
.mdclsdsk-badge-partial { background: #fef9c3; color: #854d0e; }
.mdclsdsk-badge-unpaid { background: #fee2e2; color: #991b1b; }
.mdclsdsk-badge-refunded { background: #e0e7ff; color: #3730a3; }

/* Credits */
.mdclsdsk-arrears-ok { color: #16a34a; }
.mdclsdsk-arrears-warn { color: #e11d48; }

.mdclsdsk-credit-note {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	padding: 0.75rem;
	margin-bottom: 0.5rem;
	border-left: 3px solid var(--mdclsdsk-accent);
	background: var(--mdclsdsk-accent-10);
	border-radius: 0 var(--mdclsdsk-radius) var(--mdclsdsk-radius) 0;
	font-size: 0.85rem;
}

.mdclsdsk-credit-note.is-closed {
	border-left-color: #8c8f94;
	background: #f6f7f7;
	opacity: 0.85;
}

.mdclsdsk-credit-note-meta {
	color: #646970;
	font-size: 0.8rem;
}

.mdclsdsk-credit-pool {
	font-size: 1.15rem;
	font-weight: 600;
	margin: 0 0 0.75rem;
}

.mdclsdsk-credit-payout {
	margin: 0 0 1.25rem;
}

.mdclsdsk-credits-list .mdclsdsk-sortable-card-hit {
	z-index: 1;
}

/* Credit chip (checkout / transfer) */
.mdclsdsk-form-step .mdclsdsk-credit-chip,
.mdclsdsk-credit-chip {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1rem;
	box-sizing: border-box;
	margin: 30px 0;
	padding: 0.75rem;
	border-left: 3px solid var(--mdclsdsk-accent);
	background: var(--mdclsdsk-accent-10);
	border-radius: 0 var(--mdclsdsk-radius) var(--mdclsdsk-radius) 0;
}

.mdclsdsk-credit-chip[hidden] {
	display: none;
}

.mdclsdsk-credit-chip-apply {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0;
	font-weight: 600;
	cursor: pointer;
}

.mdclsdsk-explain-link {
	display: inline;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--mdclsdsk-accent);
	font-size: 0.85rem;
	font-weight: 400;
	line-height: inherit;
	text-decoration: none;
	cursor: pointer;
	vertical-align: baseline;
}

.mdclsdsk-explain-link:hover,
.mdclsdsk-explain-link:focus {
	color: var(--mdclsdsk-accent-hover);
	text-decoration: none;
}

.mdclsdsk-explain-link[hidden] {
	display: none;
}

.mdclsdsk-credit-modal-lines {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-bottom: 1rem;
}

#mdclsdsk-credit-modal .mdclsdsk-share-modal-dialog,
#mdclsdsk-transfer-credit-modal .mdclsdsk-share-modal-dialog {
	max-width: calc(22rem + 80px);
	padding: calc(1.5rem + 30px) 1.5rem;
}

/* Responsive */
@media (max-width: 782px) {
	.mdclsdsk-split-layout-left,
	.mdclsdsk-split-layout-right {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.mdclsdsk-split-layout-right {
		display: flex;
		flex-direction: column;
		max-height: 80vh;
		overflow: hidden;
	}
}

/* ===== PUBLIC PAGE ELEMENTS ===== */

.mdclsdsk-3d-carousel,
.mdclsdsk-accordion,
.mdclsdsk-slideshow-wrapper,
.mdclsdsk-static-grid {
	max-width: var(--mdclsdsk-element-max);
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

/* 3D Carousel */
.mdclsdsk-3d-carousel {
	position: relative;
	overflow: hidden;
	padding: 2rem 0;
}

.mdclsdsk-3d-carousel-track {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	min-height: 22rem;
}

.mdclsdsk-class-full-label {
	position: absolute;
	z-index: 4;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	padding: 0.5rem 0.9rem;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: #fff;
	background: #1d2327;
	border-radius: 4px;
	white-space: nowrap;
	pointer-events: none;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.28);
}

.mdclsdsk-info-carousel-status-label {
	position: absolute;
	z-index: 30;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	margin: 0;
	padding: 0 1rem;
	text-align: center;
	pointer-events: none;
	max-width: calc(100% - 2rem);
	background: rgba(211, 211, 211, 0.7);
	border-radius: var(--mdclsdsk-radius);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
	padding: 1rem;
}

.mdclsdsk-info-carousel-status-heading {
	margin: 0;
	font-size: 2.75rem;
	font-weight: 700;
	line-height: 1.15;
	color: #1d2327;
}

.mdclsdsk-info-carousel-status-sub {
	margin: 0.45rem 0 0;
	font-size: 1.05rem;
	font-weight: 400;
	line-height: 1.35;
	color: #1d2327;
}

.mdclsdsk-info-carousel.is-draft .mdclsdsk-info-carousel-slide,
.mdclsdsk-info-carousel.is-archived .mdclsdsk-info-carousel-slide {
	filter: grayscale(1);
	opacity: 0.7;
}

.mdclsdsk-3d-carousel-card.is-full,
.mdclsdsk-accordion-row.is-full,
.mdclsdsk-slideshow-slide.is-full,
.mdclsdsk-static-card.is-full,
.mdclsdsk-info-carousel.is-full {
	filter: grayscale(1);
	opacity: 0.7;
}

.mdclsdsk-static-card.is-full:hover,
.mdclsdsk-accordion-row.is-full:hover {
	transform: none;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.mdclsdsk-accordion-row {
	position: relative;
}

.mdclsdsk-class-full-notice {
	margin: 1rem 0 0;
	padding: 1.25rem 1.5rem;
	text-align: center;
	font-size: 1.15rem;
	font-weight: 700;
	color: #1d2327;
	background: #f0f0f1;
	border-radius: var(--mdclsdsk-radius);
}

.mdclsdsk-class-full-notice p {
	margin: 0;
}

.mdclsdsk-3d-carousel-card {
	position: absolute;
	width: 14rem;
	aspect-ratio: 3/4;
	border-radius: var(--mdclsdsk-radius);
	overflow: hidden;
	transition: transform 0.4s ease, opacity 0.4s ease, filter 0.4s ease;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.mdclsdsk-3d-carousel-card.is-center {
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
}

.mdclsdsk-3d-carousel-card-link {
	display: flex;
	flex-direction: column;
	height: 100%;
	text-decoration: none;
	color: inherit;
}

.mdclsdsk-3d-carousel-card-img {
	flex: 1;
	min-height: 0;
	background-size: cover;
	background-position: center;
	background-color: #e2e4e7;
}

.mdclsdsk-3d-carousel-card-info {
	flex-shrink: 0;
	padding: 0.6rem;
	background: #fff;
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}

.mdclsdsk-3d-carousel-card-title {
	font-weight: 600;
	font-size: 0.85rem;
	line-height: 1.3;
}

.mdclsdsk-3d-carousel-meta {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	font-size: 0.75rem;
	line-height: 1.3;
	color: #646970;
}

.mdclsdsk-3d-carousel-card-price {
	font-size: 0.8rem;
	color: var(--mdclsdsk-accent);
}

.mdclsdsk-3d-carousel-nav-btn-prev,
.mdclsdsk-3d-carousel-nav-btn-next,
.mdclsdsk-slideshow-nav-btn-prev,
.mdclsdsk-slideshow-nav-btn-next,
.mdclsdsk-info-carousel-nav-btn-prev,
.mdclsdsk-info-carousel-nav-btn-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(255, 255, 255, 0.9);
	border: none;
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 999px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1rem;
	color: var(--mdclsdsk-accent);
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
	z-index: 10;
}

.mdclsdsk-3d-carousel-nav-btn-prev .mdclsdsk-icon,
.mdclsdsk-3d-carousel-nav-btn-next .mdclsdsk-icon,
.mdclsdsk-slideshow-nav-btn-prev .mdclsdsk-icon,
.mdclsdsk-slideshow-nav-btn-next .mdclsdsk-icon,
.mdclsdsk-info-carousel-nav-btn-prev .mdclsdsk-icon,
.mdclsdsk-info-carousel-nav-btn-next .mdclsdsk-icon {
	width: 2rem;
	height: 2rem;
	vertical-align: 0;
}

.mdclsdsk-3d-carousel-nav-btn-prev,
.mdclsdsk-slideshow-nav-btn-prev,
.mdclsdsk-info-carousel-nav-btn-prev { left: 0.75rem; }

.mdclsdsk-3d-carousel-nav-btn-next,
.mdclsdsk-slideshow-nav-btn-next,
.mdclsdsk-info-carousel-nav-btn-next { right: 0.75rem; }

.mdclsdsk-3d-carousel-nav-dots,
.mdclsdsk-slideshow-nav-dots,
.mdclsdsk-info-carousel-nav-dots {
	display: flex;
	justify-content: center;
	gap: 0.4rem;
	margin-top: 0.75rem;
}

.mdclsdsk-nav-dot {
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 999px;
	background: #c3c4c7;
	cursor: pointer;
	transition: background 0.2s;
}

.mdclsdsk-nav-dot.is-active {
	background: var(--mdclsdsk-accent);
}

/* Accordion */
.mdclsdsk-accordion {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.mdclsdsk-accordion-row {
	border: 1px solid #e2e4e7;
	border-radius: var(--mdclsdsk-radius);
	overflow: hidden;
	background: #fff;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.mdclsdsk-accordion-header {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.75rem 1rem;
	cursor: pointer;
}

.mdclsdsk-accordion-header .mdclsdsk-share-btn {
	position: static;
	flex: 0 0 auto;
}

.mdclsdsk-accordion-header .mdclsdsk-accordion-thumb {
	width: 3.5rem;
	height: 3.5rem;
	object-fit: cover;
	border-radius: var(--mdclsdsk-radius);
	flex: 0 0 3.5rem;
}

.mdclsdsk-accordion-heading {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	flex: 1;
	min-width: 0;
}

.mdclsdsk-accordion-title {
	font-weight: 600;
	font-size: 0.85rem;
	line-height: 1.3;
}

.mdclsdsk-accordion-meta {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	font-size: 0.8rem;
	line-height: 1.3;
	color: #646970;
}

.mdclsdsk-accordion-price {
	font-weight: 600;
	color: var(--mdclsdsk-accent);
	font-size: 0.9rem;
	flex: 0 0 auto;
	margin-left: auto;
}

.mdclsdsk-accordion-toggle {
	flex: 0 0 auto;
	transition: transform 0.2s;
}

.mdclsdsk-accordion-row.is-open .mdclsdsk-accordion-toggle {
	transform: rotate(180deg);
}

.mdclsdsk-accordion-body {
	display: none;
	align-items: center;
	gap: 0.75rem;
	padding: 0.75rem 1rem;
	border-top: 1px solid #e2e4e7;
}

.mdclsdsk-accordion-row.is-open .mdclsdsk-accordion-body {
	display: flex;
}

.mdclsdsk-accordion-body .mdclsdsk-accordion-meta {
	flex: 1;
	min-width: 0;
}

.mdclsdsk-accordion-book {
	flex: 0 0 auto;
	align-self: center;
	margin-left: auto;
}

/* Slideshow — card pattern (image + white meta), larger than 3D carousel cards */
.mdclsdsk-slideshow-wrapper {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 1.5rem 0 0.5rem;
	box-sizing: border-box;
}

.mdclsdsk-slideshow-stage {
	position: relative;
	width: min(22rem, calc(100% - 7rem));
	max-width: 100%;
}

.mdclsdsk-slideshow-track {
	position: relative;
	width: 100%;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	border-radius: var(--mdclsdsk-radius);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
	background: #fff;
}

.mdclsdsk-slideshow-slide {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	background: #fff;
	transition: transform 0.4s ease;
	pointer-events: none;
}

.mdclsdsk-slideshow-slide.is-active {
	pointer-events: auto;
	z-index: 1;
}

.mdclsdsk-slideshow-link {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	min-height: 0;
	text-decoration: none;
	color: inherit;
}

.mdclsdsk-slideshow-img {
	flex: 1;
	min-height: 0;
	background-size: cover;
	background-position: center;
	background-color: #e2e4e7;
}

.mdclsdsk-slideshow-img-empty {
	background-color: #e2e4e7;
}

.mdclsdsk-slideshow-info {
	flex-shrink: 0;
	padding: 0.85rem 1rem;
	background: #fff;
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
}

.mdclsdsk-slideshow-title {
	font-weight: 600;
	font-size: 1rem;
	line-height: 1.3;
	color: #1d2327;
}

.mdclsdsk-slideshow-meta {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	margin: 0;
	font-size: 0.85rem;
	line-height: 1.35;
	font-weight: 400;
	color: #646970;
}

.mdclsdsk-slideshow-price {
	font-size: 0.9rem;
	color: var(--mdclsdsk-accent);
}

.mdclsdsk-slideshow-stage .mdclsdsk-slideshow-nav-btn-prev,
.mdclsdsk-slideshow-stage .mdclsdsk-slideshow-nav-btn-next {
	top: 50%;
	z-index: 2;
}

.mdclsdsk-slideshow-stage .mdclsdsk-slideshow-nav-btn-prev {
	left: -3.25rem;
}

.mdclsdsk-slideshow-stage .mdclsdsk-slideshow-nav-btn-next {
	right: -3.25rem;
}

.mdclsdsk-slideshow-wrapper .mdclsdsk-slideshow-nav-dots {
	position: static;
	margin-top: 0.85rem;
	transform: none;
}

@media (max-width: 600px) {
	.mdclsdsk-slideshow-stage {
		width: min(18rem, calc(100% - 5.5rem));
	}

	.mdclsdsk-slideshow-info {
		padding: 0.7rem 0.85rem;
	}

	.mdclsdsk-slideshow-title {
		font-size: 0.95rem;
	}

	.mdclsdsk-slideshow-meta {
		font-size: 0.8rem;
	}

	.mdclsdsk-slideshow-stage .mdclsdsk-slideshow-nav-btn-prev {
		left: -2.75rem;
	}

	.mdclsdsk-slideshow-stage .mdclsdsk-slideshow-nav-btn-next {
		right: -2.75rem;
	}
}

/* Static cards grid */
.mdclsdsk-static-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2%;
}

@media (max-width: 900px) {
	.mdclsdsk-static-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
	.mdclsdsk-static-grid { grid-template-columns: 1fr; }
}

.mdclsdsk-static-card {
	position: relative;
	height: auto;
	align-self: start;
	border-radius: var(--mdclsdsk-radius);
	overflow: visible;
	background: #fff;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.mdclsdsk-static-card:hover,
.mdclsdsk-accordion-row:hover {
	transform: scale(1.01) translateY(-2px) rotate(0.2deg);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}

.mdclsdsk-static-card-link {
	display: flex;
	flex-direction: column;
	height: auto;
	min-height: 0;
	text-decoration: none;
	color: inherit;
}

.mdclsdsk-static-card-img {
	aspect-ratio: 4/3;
	flex-shrink: 0;
	overflow: hidden;
	border-radius: var(--mdclsdsk-radius) var(--mdclsdsk-radius) 0 0;
}

.mdclsdsk-static-card-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mdclsdsk-static-card-img-empty {
	background: #e2e4e7;
}

.mdclsdsk-static-card-body {
	flex-shrink: 0;
	overflow: visible;
	padding: 0.75rem 0.75rem 1rem;
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	border-radius: 0 0 var(--mdclsdsk-radius) var(--mdclsdsk-radius);
	background: #fff;
}

.mdclsdsk-static-card-title,
.mdclsdsk-static-card-meta,
.mdclsdsk-static-card-price {
	display: block;
	line-height: 1.35;
	overflow: visible;
	white-space: normal;
}

.mdclsdsk-static-card-title {
	font-size: 0.9rem;
}

.mdclsdsk-static-card-meta {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	font-size: 0.75rem;
	color: #646970;
}

.mdclsdsk-static-card-price {
	margin-top: 0.15rem;
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--mdclsdsk-accent);
}

/* Share button */
.mdclsdsk-share-btn {
	position: absolute;
	top: 0.5rem;
	left: 0.5rem;
	width: 2rem;
	height: 2rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.9);
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-size: 0.85rem;
	color: #646970;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
	z-index: 5;
}

/* Share modal */
.mdclsdsk-share-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
}

.mdclsdsk-share-modal[hidden] { display: none; }

.mdclsdsk-share-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.4);
}

.mdclsdsk-share-modal-dialog {
	position: relative;
	background: #fff;
	border-radius: var(--mdclsdsk-radius);
	padding: 1.5rem;
	max-width: 22rem;
	width: 90%;
	text-align: center;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}

.mdclsdsk-share-modal-dialog.is-dragging {
	user-select: none;
}

.mdclsdsk-share-modal-header {
	position: relative;
	min-height: 2rem;
	margin: -0.35rem -0.35rem 0.85rem;
	padding: 0.35rem 2.25rem 0.35rem 0.35rem;
	cursor: grab;
	touch-action: none;
	user-select: none;
}

.mdclsdsk-share-modal-dialog.is-dragging .mdclsdsk-share-modal-header {
	cursor: grabbing;
}

.mdclsdsk-share-modal-header .mdclsdsk-loginpage-title {
	margin: 0;
}

.mdclsdsk-share-modal-url {
	font-size: 0.8rem;
	word-break: break-all;
	color: #646970;
	margin-bottom: 0.75rem;
}

.mdclsdsk-share-modal-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	margin-bottom: 0;
}

.mdclsdsk-share-close {
	position: absolute;
	top: 0.5rem;
	right: 0.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	padding: 0;
	border: none;
	border-radius: 999px;
	background: none;
	color: #646970;
	cursor: pointer;
	z-index: 2;
}

.mdclsdsk-share-close:hover,
.mdclsdsk-share-close:focus {
	color: #1d2327;
}

.mdclsdsk-share-close .mdclsdsk-icon {
	width: 1rem;
	height: 1rem;
}

.mdclsdsk-share-icon {
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--mdclsdsk-accent-10);
	color: var(--mdclsdsk-accent);
	text-decoration: none;
	font-size: 1rem;
}

/* Class page */
.mdclsdsk-class-page {
	max-width: var(--mdclsdsk-wrap-max);
}

.mdclsdsk-info-carousel {
	border: 1px solid #d8d8d8;
	border-radius: var(--mdclsdsk-radius);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
	margin: 0 1.75rem 1.5rem;
	box-sizing: border-box;
}

.mdclsdsk-info-carousel {
	position: relative;
	container-type: inline-size;
	height: 500px;
	padding: 25px;
	overflow: visible;
	background: #fff;
	margin-bottom: 2.75rem;
}

.mdclsdsk-info-carousel-nav-btn-prev,
.mdclsdsk-info-carousel-nav-btn-next {
	z-index: 20;
}

.mdclsdsk-info-carousel-nav-btn-prev {
	left: -1.75rem;
}

.mdclsdsk-info-carousel-nav-btn-next {
	right: -1.75rem;
}

.mdclsdsk-info-carousel-slide {
	display: none;
	height: 100%;
	padding: 0;
	overflow: hidden;
	box-sizing: border-box;
}

.mdclsdsk-info-carousel-slide.is-active {
	display: flex;
}

.mdclsdsk-info-carousel-slide-overview.is-active {
	flex-direction: row;
	align-items: stretch;
}

.mdclsdsk-info-carousel-media {
	position: relative;
	flex: 0 0 auto;
	height: 100%;
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: 3px;
}

.mdclsdsk-info-carousel-img {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	margin: 0;
	border-radius: 3px;
	overflow: hidden;
}

.mdclsdsk-info-carousel-img img,
.mdclsdsk-info-carousel-img svg,
.mdclsdsk-info-carousel-img .mdclsdsk-map-frame {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	margin: 0;
	border: 0;
	border-radius: 0;
}

.mdclsdsk-info-carousel-img-empty {
	background: #c3c4c7;
}

.mdclsdsk-info-carousel-img-terms {
	background: var(--mdclsdsk-accent-10);
}

.mdclsdsk-info-carousel-content {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-width: 0;
	height: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	padding: 0 0 0 15px;
	box-sizing: border-box;
	font-size: 0.9rem;
	line-height: 1.45;
}

.mdclsdsk-info-carousel-slide:not(.mdclsdsk-info-carousel-slide-overview) .mdclsdsk-info-carousel-content {
	width: 100%;
	padding: 0;
}

.mdclsdsk-info-carousel-content .mdclsdsk-table th,
.mdclsdsk-info-carousel-content .mdclsdsk-table td {
	padding: 0.35rem 0.5rem;
	font-size: 0.85rem;
}

.mdclsdsk-info-carousel-slide-terms .mdclsdsk-info-carousel-content {
	overflow-x: auto;
	overflow-y: auto;
}

.mdclsdsk-info-carousel-slide-terms .mdclsdsk-table {
	width: max-content;
	min-width: 100%;
}

.mdclsdsk-info-carousel-block {
	padding: 0 0 0.7rem;
	margin: 0 0 0.7rem;
	border-bottom: 1px solid #e2e4e7;
}

.mdclsdsk-info-carousel-content h2 {
	margin: 0 0 0.6rem;
	font-size: 1.05rem;
}

.mdclsdsk-info-carousel-content h2.mdclsdsk-info-carousel-title {
	margin: 0 0 0.2rem;
	font-size: 1.2rem;
	line-height: 1.25;
	color: #1d2327;
}

.mdclsdsk-info-carousel-content h3 {
	margin: 0.75rem 0 0.4rem;
	font-size: 0.95rem;
}

.mdclsdsk-info-carousel-block > h3:first-child {
	margin-top: 0;
}

.mdclsdsk-class-code {
	margin: 0;
	font-size: 0.78rem;
	letter-spacing: 0.02em;
	color: #8c8f94;
}

.mdclsdsk-class-teacher {
	margin: 0 0 0.4rem;
	font-size: 0.95rem;
	font-weight: 700;
	color: #50575e;
}

.mdclsdsk-class-teachers-extra {
	font-weight: 400;
	font-size: 0.8rem;
}

.mdclsdsk-class-facts {
	margin: 0;
	padding: 0 0 0 1rem;
	color: #646970;
	font-size: 0.85rem;
}

.mdclsdsk-class-facts li {
	margin: 0 0 0.25rem;
}

.mdclsdsk-class-facts li:last-child {
	margin-bottom: 0;
}

.mdclsdsk-class-description p {
	margin: 0 0 0.5rem;
	color: #646970;
	font-size: 0.85rem;
}

.mdclsdsk-class-description p:last-child {
	margin-bottom: 0;
}

.mdclsdsk-info-carousel-meta {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	margin-top: auto;
	padding-top: 0.15rem;
	font-size: 0.85rem;
}

.mdclsdsk-term-meta {
	color: #646970;
}

.mdclsdsk-sortable-card-meta .mdclsdsk-term-meta {
	font-size: 0.75rem;
	color: #8c8f94;
}

.mdclsdsk-term-status.is-ended,
.mdclsdsk-term-status.is-full {
	color: #8c8f94;
}

.mdclsdsk-info-carousel-slide-terms .mdclsdsk-term-row.is-ended td {
	color: #8c8f94;
}

.mdclsdsk-class-page-price {
	color: #646970;
	font-weight: 400;
	text-align: right;
}

.mdclsdsk-class-page-price strong {
	font-size: 1.1rem;
	color: #1d2327;
}

.mdclsdsk-class-page-terms {
	color: #8c8f94;
}

.mdclsdsk-info-carousel .mdclsdsk-info-carousel-nav-dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1.5rem;
	width: auto;
	margin: 0;
	z-index: 10;
}

@media (max-width: 900px) {
	.mdclsdsk-info-carousel {
		margin: 0 1rem 1.5rem;
	}

	.mdclsdsk-info-carousel {
		height: calc(100cqi + 210px);
		margin-bottom: 2.75rem;
	}

	.mdclsdsk-info-carousel-nav-btn-prev,
	.mdclsdsk-info-carousel-nav-btn-next {
		width: 2.75rem;
		height: 2.75rem;
	}

	.mdclsdsk-info-carousel-nav-btn-prev .mdclsdsk-icon,
	.mdclsdsk-info-carousel-nav-btn-next .mdclsdsk-icon {
		width: 1.5rem;
		height: 1.5rem;
	}

	.mdclsdsk-info-carousel-nav-btn-prev {
		left: -1rem;
	}

	.mdclsdsk-info-carousel-nav-btn-next {
		right: -1rem;
	}

	.mdclsdsk-info-carousel-slide.is-active {
		height: 100%;
	}

	.mdclsdsk-info-carousel-slide-overview.is-active {
		flex-direction: column;
		align-items: stretch;
	}

	.mdclsdsk-info-carousel-media,
	.mdclsdsk-info-carousel-img {
		width: 100%;
		height: auto;
		max-height: none;
		flex: 0 0 auto;
		aspect-ratio: 1 / 1;
		border-radius: 3px;
	}

	.mdclsdsk-info-carousel-content {
		flex: 1 1 auto;
		min-height: 0;
		height: auto;
		overflow-x: hidden;
		overflow-y: auto;
		padding: 15px 0 0;
	}

	.mdclsdsk-info-carousel-slide-terms .mdclsdsk-info-carousel-content {
		overflow-x: auto;
		overflow-y: auto;
	}

	.mdclsdsk-info-carousel-slide-terms .mdclsdsk-table th,
	.mdclsdsk-info-carousel-slide-terms .mdclsdsk-table td {
		padding: 0.1rem 0.2rem;
		font-size: 0.75rem;
		white-space: nowrap;
	}

	.mdclsdsk-info-carousel .mdclsdsk-info-carousel-nav-dots {
		left: 0;
		right: 0;
		top: auto;
		bottom: -1.5rem;
		width: auto;
	}
}

/* Page card */
.mdclsdsk-page-card {
	background: #fff;
	border: 1px solid #d8d8d8;
	border-radius: var(--mdclsdsk-radius);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
	box-sizing: border-box;
	padding: 1.5rem;
	margin: 1.5rem 0;
	overflow: hidden;
}

.mdclsdsk-page-card > .mdclsdsk-loginpage-title:first-child {
	margin-top: 0;
}

.mdclsdsk-page-card > :last-child {
	margin-bottom: 0;
}

.mdclsdsk-page-card .mdclsdsk-student-classes {
	margin-bottom: 0;
}

@media (max-width: 600px) {
	.mdclsdsk-page-card {
		padding: 1rem;
	}

	.mdclsdsk-page-card .mdclsdsk-header {
		margin: -1rem -1rem 1rem;
		padding: 1rem 0.25rem 0.75rem;
	}
}

.mdclsdsk-form-step {
	display: none;
}

.mdclsdsk-form-step.is-active {
	display: block;
	padding-top: 1.75rem;
}

.mdclsdsk-page-card .mdclsdsk-form-step h2 {
	margin: 0;
	padding: 0;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.3;
}

.mdclsdsk-page-card .mdclsdsk-form-step h2 + * {
	padding-top: 1.25rem;
}

.mdclsdsk-form-step label,
.mdclsdsk-profile-form label,
.mdclsdsk-checkout-seat-row > label,
.mdclsdsk-checkout-seat-medical-label,
.mdclsdsk-login-form label {
	display: block;
	margin-bottom: 0.25rem;
	font-size: 0.85rem;
	font-weight: 500;
	line-height: 1.35;
	color: #1d2327;
}

.mdclsdsk-form-step input[type="email"],
.mdclsdsk-form-step input[type="text"],
.mdclsdsk-form-step input[type="tel"],
.mdclsdsk-form-step input[type="date"],
.mdclsdsk-form-step input[type="number"],
.mdclsdsk-form-step select,
.mdclsdsk-form-step textarea,
.mdclsdsk-profile-form input[type="email"],
.mdclsdsk-profile-form input[type="text"],
.mdclsdsk-profile-form input[type="tel"],
.mdclsdsk-profile-form input[type="date"],
.mdclsdsk-profile-form select,
.mdclsdsk-profile-form textarea {
	width: 100%;
	padding: 0.5rem;
	border: 1px solid var(--mdclsdsk-border-dark);
	border-radius: var(--mdclsdsk-radius);
	margin-bottom: 0.75rem;
	font-size: 0.9rem;
	box-sizing: border-box;
}

.mdclsdsk-form-enrollee-options {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 1.5rem;
	margin-bottom: 1rem;
}

@media (max-width: 600px) {
	.mdclsdsk-form-enrollee-options {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.75rem;
	}
}

.mdclsdsk-form-enrollee-option {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	font-weight: 400;
}

.mdclsdsk-form-hint {
	font-size: 0.85rem;
	font-weight: 400;
	color: #646970;
	margin: 0 0 0.75rem;
}

.mdclsdsk-form-nested,
.mdclsdsk-form-child-row {
	margin: 0.5rem 0 1rem 1.25rem;
}

.mdclsdsk-form-child-row label {
	display: block;
	margin-top: 0.4rem;
}

.mdclsdsk-login-notice {
	color: #0f766e;
	font-size: 0.85rem;
	text-align: center;
}

.mdclsdsk-login-alt {
	text-align: center;
	font-size: 0.8rem;
	margin-top: 1rem;
}

.mdclsdsk-student-class-who {
	font-size: 0.85rem;
	color: #646970;
}

.mdclsdsk-page-card .mdclsdsk-login-error,
.mdclsdsk-page-card .mdclsdsk-login-notice {
	text-align: left;
	margin: 0 0 1rem;
}

.mdclsdsk-profile-form .mdclsdsk-profile-person-title {
	margin: 0 0 0.75rem;
	font-size: 1.15rem;
	font-weight: 600;
	line-height: 1.3;
}

.mdclsdsk-profile-form > .mdclsdsk-profile-person-title:first-child {
	margin-top: 0;
}

.mdclsdsk-student-card + .mdclsdsk-profile-person-title {
	margin-top: 1.5rem;
}

.mdclsdsk-profile-form .mdclsdsk-student-card {
	margin: 0 0 1.25rem;
}

.mdclsdsk-profile-form .mdclsdsk-student-card:last-child {
	margin-bottom: 0;
}

.mdclsdsk-profile-person-name {
	margin: 0 0 0.5rem;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.35;
	color: #1d2327;
}

.mdclsdsk-profile-person-role {
	margin-left: 0.4rem;
	font-size: 0.8rem;
	font-weight: 400;
	color: #646970;
}

.mdclsdsk-profile-form input[readonly] {
	background: #f6f7f7;
	color: #646970;
}

.mdclsdsk-profile-form .mdclsdsk-btn {
	margin: 0.25rem 0 0.75rem;
}

.mdclsdsk-form-terms-list {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-bottom: 0.75rem;
}

.mdclsdsk-form-term-item,
.mdclsdsk-form-term-all,
.mdclsdsk-form-term-per {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	font-weight: 400;
}

.mdclsdsk-form-term-item.is-disabled,
.mdclsdsk-form-term-all.is-disabled {
	opacity: 0.55;
}

.mdclsdsk-checkout-term-note {
	color: #8c8f94;
	font-weight: 400;
}

.mdclsdsk-form-mode-word {
	font-weight: 700;
	text-transform: uppercase;
}

.mdclsdsk-form-per-terms {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.mdclsdsk-form-per-terms[hidden] {
	display: none;
}

.mdclsdsk-form-total {
	display: flex;
	justify-content: flex-end;
	align-items: baseline;
	gap: 0.35rem;
	font-size: 1.1rem;
	margin-bottom: 0.75rem;
	text-align: right;
}

/* Pay step: Total sits top-right on the same row as the Pay heading */
.mdclsdsk-page-card .mdclsdsk-form-step[data-step="pay"] {
	position: relative;
}

.mdclsdsk-page-card .mdclsdsk-form-step[data-step="pay"] > .mdclsdsk-form-total {
	position: absolute;
	top: 1.75rem;
	right: 0;
	margin: 0;
	padding: 0;
	line-height: 1.3;
}

.mdclsdsk-form-nav {
	display: flex;
	gap: 0.5rem;
	margin-top: 1rem;
}

/* Buttons */
.mdclsdsk-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.5rem 1rem;
	border: 1px solid #c3c4c7;
	border-radius: var(--mdclsdsk-radius);
	background: #fff;
	cursor: pointer;
	font-size: 0.85rem;
	text-decoration: none;
	color: #1d2327;
	transition: background 0.15s, border-color 0.15s;
}

.mdclsdsk-btn:hover,
.mdclsdsk-btn:focus {
	border-color: var(--mdclsdsk-accent);
	color: var(--mdclsdsk-accent);
	background: var(--mdclsdsk-accent-10);
}

.mdclsdsk-btn-primary {
	background: var(--mdclsdsk-accent) !important;
	border-color: var(--mdclsdsk-accent) !important;
	color: #fff !important;
}

.mdclsdsk-btn-primary:hover,
.mdclsdsk-btn-primary:focus {
	background: var(--mdclsdsk-accent-hover) !important;
	border-color: var(--mdclsdsk-accent) !important;
	color: #fff !important;
}
.mdclsdsk-btn-small { padding: 0.3rem 0.6rem; font-size: 0.75rem; }

.mdclsdsk-btn:disabled,
.mdclsdsk-btn-primary:disabled,
.mdclsdsk-btn:disabled:hover,
.mdclsdsk-btn-primary:disabled:hover {
	background: #c3c4c7;
	border-color: #c3c4c7;
	color: #fff;
	cursor: not-allowed;
}

/* Public accent wash (login + admin desk + open classes) */
html:has(body.mdclsdsk-accent-wash),
html:has(body.mdclsdsk-login-screen),
body.mdclsdsk-accent-wash,
body.mdclsdsk-login-screen {
	min-height: 100%;
	background-color: color-mix(in srgb, var(--mdclsdsk-accent) 4%, #ffffff) !important;
}

body.mdclsdsk-accent-wash .site,
body.mdclsdsk-accent-wash .site-content,
body.mdclsdsk-accent-wash #content,
body.mdclsdsk-accent-wash #primary,
body.mdclsdsk-accent-wash main,
body.mdclsdsk-accent-wash .entry-content,
body.mdclsdsk-accent-wash article,
body.mdclsdsk-accent-wash .wp-site-blocks,
body.mdclsdsk-accent-wash .wp-block-group,
body.mdclsdsk-accent-wash .wp-block-post-content,
body.mdclsdsk-login-screen .site,
body.mdclsdsk-login-screen .site-content,
body.mdclsdsk-login-screen #content,
body.mdclsdsk-login-screen #primary,
body.mdclsdsk-login-screen main,
body.mdclsdsk-login-screen .entry-content,
body.mdclsdsk-login-screen article,
body.mdclsdsk-login-screen .wp-site-blocks,
body.mdclsdsk-login-screen .wp-block-group,
body.mdclsdsk-login-screen .wp-block-post-content {
	background-color: transparent !important;
}

body.mdclsdsk-accent-wash .site-content,
body.mdclsdsk-accent-wash #content,
body.mdclsdsk-accent-wash #primary,
body.mdclsdsk-accent-wash main,
body.mdclsdsk-accent-wash .entry-content,
body.mdclsdsk-accent-wash article,
body.mdclsdsk-accent-wash .wp-block-post-content,
body.mdclsdsk-login-screen .site-content,
body.mdclsdsk-login-screen #content,
body.mdclsdsk-login-screen #primary,
body.mdclsdsk-login-screen main,
body.mdclsdsk-login-screen .entry-content,
body.mdclsdsk-login-screen article,
body.mdclsdsk-login-screen .wp-block-post-content {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

body.mdclsdsk-accent-wash .entry-header,
body.mdclsdsk-accent-wash .page-header,
body.mdclsdsk-accent-wash .wp-block-post-title,
body.mdclsdsk-login-screen .entry-header,
body.mdclsdsk-login-screen .page-header,
body.mdclsdsk-login-screen .wp-block-post-title {
	display: none !important;
}

body.mdclsdsk-accent-wash .mdclsdsk-wrap.mdclsdsk-page:not(.mdclsdsk-login-wrap) {
	padding-top: 0.35rem;
}

body.mdclsdsk-accent-wash .mdclsdsk-page h1.mdclsdsk-desk-page-header {
	margin-top: 0;
}

/* Student login */
.mdclsdsk-wrap.mdclsdsk-login-wrap {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	max-width: none;
	width: 100%;
	min-height: 0;
	margin: 4rem 0 0;
	padding: 0 1.25rem 2.5rem;
	background: transparent;
	box-sizing: border-box;
}

.mdclsdsk-login-card {
	position: relative;
	background: #fff;
	padding: 2.25rem 1.85rem 1.65rem;
	border-radius: calc(var(--mdclsdsk-radius) + 4px);
	box-shadow:
		0 1px 2px rgba(16, 24, 40, 0.04),
		0 12px 36px color-mix(in srgb, var(--mdclsdsk-accent) 12%, transparent);
	max-width: 22.5rem;
	width: 100%;
	text-align: center;
	border: 1px solid color-mix(in srgb, var(--mdclsdsk-accent) 12%, #e8eaef);
	border-top: none;
	box-sizing: border-box;
	overflow: hidden;
	transform: scale(1);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.mdclsdsk-login-card:hover {
	transform: scale(1.005);
	box-shadow:
		0 4px 10px rgba(16, 24, 40, 0.12),
		0 18px 48px rgba(16, 24, 40, 0.18),
		0 22px 56px color-mix(in srgb, var(--mdclsdsk-accent) 22%, transparent);
}

.mdclsdsk-login-card::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: var(--mdclsdsk-accent);
}

.mdclsdsk-login-brand {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.55rem;
	margin: 0.15rem 0 1.15rem;
}

.mdclsdsk-login-brand-logo {
	display: block;
	width: 64px;
	height: 64px;
	border-radius: 999px;
	object-fit: cover;
	box-shadow: 0 0 0 4px var(--mdclsdsk-accent-10);
}

.mdclsdsk-login-brand-name {
	margin: 0;
	font-size: 1.1rem;
	font-weight: 600;
	line-height: 1.3;
	color: #1d2327;
}

.mdclsdsk-page .mdclsdsk-login-card h1.mdclsdsk-desk-page-header {
	margin: 0 0 0.4rem;
	text-align: center;
	font-size: 1.45rem;
}

.mdclsdsk-login-tagline {
	margin: 0 auto 1.5rem;
	max-width: 18rem;
	font-size: 0.9rem;
	line-height: 1.5;
	color: #646970;
}

.mdclsdsk-login-card .mdclsdsk-login-error,
.mdclsdsk-login-card .mdclsdsk-login-notice {
	margin: 0 0 1rem;
}

.mdclsdsk-login-form {
	text-align: left;
}

.mdclsdsk-login-form label {
	display: block;
	font-size: 0.85rem;
	font-weight: 500;
	margin: 0 0 0.35rem;
	color: #1d2327;
}

.mdclsdsk-login-form input,
.mdclsdsk-login-form input.standard-element-full {
	width: 100%;
	box-sizing: border-box;
	padding: 0.65rem 0.75rem;
	margin: 0 0 0.9rem;
	border: 1px solid var(--mdclsdsk-border-dark);
	border-radius: var(--mdclsdsk-radius);
	font-size: 0.95rem;
	line-height: 1.3;
}

.mdclsdsk-password-field {
	position: relative;
	margin: 0 0 0.9rem;
}

.mdclsdsk-login-form .mdclsdsk-password-field input,
.mdclsdsk-login-form .mdclsdsk-password-field input.standard-element-full {
	margin-bottom: 0;
	padding-right: 2.75rem;
}

.mdclsdsk-password-toggle {
	position: absolute;
	top: 50%;
	right: 0.35rem;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.1rem;
	height: 2.1rem;
	padding: 0;
	border: none;
	border-radius: var(--mdclsdsk-radius);
	background: transparent;
	color: #646970;
	cursor: pointer;
}

.mdclsdsk-password-toggle:hover,
.mdclsdsk-password-toggle:focus {
	color: #1d2327;
}

.mdclsdsk-password-toggle .mdclsdsk-icon {
	width: 1.1rem;
	height: 1.1rem;
}

.mdclsdsk-password-toggle-icon[hidden] {
	display: none;
}

.mdclsdsk-login-form .mdclsdsk-btn-primary {
	width: 100%;
	margin-top: 0.15rem;
}

.mdclsdsk-login-alt {
	text-align: center;
	font-size: 0.8rem;
	margin: 1rem 0 0;
	line-height: 1.4;
}

.mdclsdsk-login-alt .mdclsdsk-text-link {
	opacity: 0.85;
}

.mdclsdsk-login-alt .mdclsdsk-text-link:hover,
.mdclsdsk-login-alt .mdclsdsk-text-link:focus {
	opacity: 1;
}

.mdclsdsk-login-card .mdclsdsk-powered-by {
	display: grid;
	margin-top: 1.25rem;
	padding-top: 0.9rem;
	border-top: 1px solid var(--mdclsdsk-border-light);
	gap: 2px;
	justify-items: center;
}

.mdclsdsk-powered-by {
	text-align: center;
	color: #c5c9d1;
	line-height: 1;
}

.mdclsdsk-powered-by-label {
	margin: 0;
	font-size: 0.6rem;
	line-height: 1;
	color: #c5c9d1;
}

.mdclsdsk-powered-by-brand {
	display: block;
	line-height: 0;
	color: #c5c9d1;
}

.mdclsdsk-powered-by-brand svg,
.mdclsdsk-powered-by-logo {
	display: block;
	width: auto;
	height: 1.35rem;
	margin: 0 auto;
	flex-shrink: 0;
	color: inherit;
}

.mdclsdsk-login-error {
	color: #e11d48;
	font-size: 0.85rem;
	text-align: center;
}

/* Student home */
.mdclsdsk-student-classes {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-bottom: 1.5rem;
}

.mdclsdsk-student-class-card {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-wrap: wrap;
	padding: 0.75rem 1rem;
	border: 1px solid #e2e4e7;
	border-radius: var(--mdclsdsk-radius);
	background: #fff;
	box-sizing: border-box;
	font-size: 0.85rem;
	font-weight: 400;
	line-height: 1.35;
}

.mdclsdsk-student-class-head,
.mdclsdsk-student-classes-pay .mdclsdsk-student-class-card,
.mdclsdsk-student-classes:has(.mdclsdsk-student-class-head) .mdclsdsk-student-class-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 7.5rem;
	align-items: center;
	column-gap: 0.75rem;
	row-gap: 0;
	flex-wrap: nowrap;
}

.mdclsdsk-student-classes-pay .mdclsdsk-student-class-head,
.mdclsdsk-student-classes-pay .mdclsdsk-student-class-card {
	grid-template-columns: minmax(0, 1fr) 7.5rem 2.75rem;
	grid-template-rows: auto;
}

.mdclsdsk-student-class-head {
	padding: 0 1rem 0.15rem;
}

.mdclsdsk-student-class-info {
	grid-column: 1;
	min-width: 0;
	display: flex;
	align-items: center;
}

.mdclsdsk-student-class-info .mdclsdsk-list-data {
	display: block;
	margin: 0;
	padding: 0;
	max-width: none;
	line-height: 1.35;
}

.mdclsdsk-student-class-status {
	grid-column: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	justify-self: stretch;
	width: 100%;
	text-align: center;
}

.mdclsdsk-student-class-status .mdclsdsk-list-label,
.mdclsdsk-student-class-status .mdclsdsk-badge {
	margin: 0;
	text-align: center;
}

.mdclsdsk-student-class-pay {
	grid-column: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	justify-self: stretch;
	min-width: 1.35rem;
	min-height: 1.35rem;
	width: 100%;
	text-align: center;
}

.mdclsdsk-student-class-pay .mdclsdsk-list-label {
	margin: 0;
	text-align: center;
}

.mdclsdsk-buy-more {
	flex-shrink: 0;
	white-space: nowrap;
}

.mdclsdsk-student-class-card.is-withdrawn {
	opacity: 0.55;
}

.mdclsdsk-conditions-body {
    max-width: none;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.mdclsdsk-conditions-card {
	border: 1px solid #d8dadd;
	border-radius: var(--mdclsdsk-radius);
	background: #f3f4f5;
	padding: 1.1rem 1.25rem;
}

.mdclsdsk-conditions-card-head {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin-bottom: 0.65rem;
}

.mdclsdsk-conditions-card-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 2rem;
	height: 2rem;
	color: var(--mdclsdsk-accent);
}

.mdclsdsk-conditions-card-icon .mdclsdsk-icon {
	width: 1.35rem;
	height: 1.35rem;
}

.mdclsdsk-conditions-card-title {
	margin: 0;
	font-size: 1.1rem;
	line-height: 1.3;
	font-weight: 500;
}

.mdclsdsk-conditions-card-body {
	font-size: 0.95rem;
	line-height: 1.55;
}

.mdclsdsk-conditions-card-body p,
.mdclsdsk-conditions-card-body ul,
.mdclsdsk-conditions-card-body ol {
	margin: 0 0 0.75rem;
}

.mdclsdsk-conditions-card-body li {
	margin: 0 0 0.35rem;
}

.mdclsdsk-conditions-card-body li:last-child {
	margin-bottom: 0;
}

.mdclsdsk-conditions-card-body > *:first-child {
	margin-top: 0;
}

.mdclsdsk-conditions-card-body > *:last-child {
	margin-bottom: 0;
}

.mdclsdsk-conditions-sortable.mdclsdsk-sortable-list {
	overflow: visible;
	padding: 0;
	flex: none;
	min-height: 0;
}

.mdclsdsk-wrap .mdclsdsk-panel ul.mdclsdsk-conditions-sortable > li.mdclsdsk-conditions-section,
.mdclsdsk-conditions-sortable .mdclsdsk-conditions-section {
	flex-direction: column !important;
	align-items: stretch !important;
	cursor: default;
	padding: 1rem 1rem 1rem 2.5rem;
	gap: 0.75rem;
	margin-bottom: calc(0.5rem + 10px);
	background: var(--mdclsdsk-accent-10) !important;
	border-color: color-mix(in srgb, var(--mdclsdsk-accent) 35%, transparent);
}

.mdclsdsk-conditions-sortable .mdclsdsk-sortable-placeholder {
	margin-bottom: calc(0.5rem + 20px);
}

.mdclsdsk-conditions-sortable .mdclsdsk-conditions-section.is-disabled {
	opacity: 0.62;
	background: #e8eaed !important;
	border-color: #e2e4e7;
}

.mdclsdsk-conditions-section-head {
	position: relative;
	z-index: 2;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.5rem 0.65rem;
	width: 100%;
}

.mdclsdsk-wrap .mdclsdsk-panel button.mdclsdsk-conditions-section-toggle,
.mdclsdsk-conditions-section-toggle {
	appearance: none !important;
	-webkit-appearance: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 1.75rem !important;
	height: 1.75rem !important;
	min-width: 1.75rem !important;
	min-height: 1.75rem !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: var(--mdclsdsk-radius);
	background: transparent !important;
	color: #646970 !important;
	flex: 0 0 auto;
	cursor: pointer;
	box-shadow: none !important;
	line-height: 1 !important;
}

.mdclsdsk-conditions-section-toggle .mdclsdsk-icon {
	width: 1rem;
	height: 1rem;
	transition: transform 0.15s ease;
}

.mdclsdsk-conditions-section:not(.is-collapsed) .mdclsdsk-conditions-section-toggle .mdclsdsk-icon {
	transform: rotate(180deg);
}

.mdclsdsk-wrap .mdclsdsk-panel button.mdclsdsk-conditions-section-icon,
.mdclsdsk-conditions-section-icon {
	appearance: none !important;
	-webkit-appearance: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 2.25rem !important;
	height: 2.25rem !important;
	min-width: 2.25rem !important;
	min-height: 2.25rem !important;
	max-width: 2.25rem !important;
	max-height: 2.25rem !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: var(--mdclsdsk-radius);
	background: transparent !important;
	color: var(--mdclsdsk-accent) !important;
	flex: 0 0 auto;
	cursor: pointer;
	box-shadow: none !important;
	line-height: 1 !important;
}

.mdclsdsk-wrap .mdclsdsk-panel button.mdclsdsk-conditions-section-icon:hover,
.mdclsdsk-wrap .mdclsdsk-panel button.mdclsdsk-conditions-section-icon:focus,
.mdclsdsk-conditions-section-icon:hover,
.mdclsdsk-conditions-section-icon:focus {
	background: transparent !important;
	color: var(--mdclsdsk-accent) !important;
	opacity: 0.75;
}

.mdclsdsk-conditions-section-icon .mdclsdsk-icon {
	width: 1.65rem;
	height: 1.65rem;
}

.mdclsdsk-wrap .mdclsdsk-panel .mdclsdsk-conditions-section-title.standard-element-small,
.mdclsdsk-conditions-section-title.standard-element-small {
	flex: 0 0 130px !important;
	width: 130px !important;
	max-width: 130px !important;
	min-width: 130px !important;
}

.mdclsdsk-conditions-action-btns {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	margin-left: auto;
	flex: 0 0 auto;
}

.mdclsdsk-conditions-section-body {
	position: relative;
	z-index: 2;
	width: 100%;
}

.mdclsdsk-conditions-section.is-collapsed .mdclsdsk-conditions-section-body,
.mdclsdsk-conditions-section-body[hidden] {
	display: none !important;
}

.mdclsdsk-conditions-section-body .wp-editor-wrap {
	width: 100%;
}

.mdclsdsk-conditions-icon-modal.mdclsdsk-share-modal {
	z-index: 100100;
}

.mdclsdsk-conditions-icon-modal.mdclsdsk-share-modal.is-open,
.mdclsdsk-conditions-icon-modal.mdclsdsk-share-modal:not([hidden]) {
	display: flex !important;
}

.mdclsdsk-conditions-icon-modal .mdclsdsk-share-modal-dialog {
	max-width: 26rem;
	text-align: left;
}

.mdclsdsk-conditions-icon-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 0.5rem;
	margin: 1rem 0;
}

.mdclsdsk-wrap .mdclsdsk-panel button.mdclsdsk-conditions-icon-option,
button.mdclsdsk-conditions-icon-option,
.mdclsdsk-conditions-icon-option {
	appearance: none !important;
	-webkit-appearance: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	aspect-ratio: 1;
	min-width: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 2px solid #dcdcde !important;
	border-radius: var(--mdclsdsk-radius);
	background: #fff !important;
	color: #1d2327 !important;
	cursor: pointer;
	box-shadow: none !important;
}

.mdclsdsk-wrap .mdclsdsk-panel button.mdclsdsk-conditions-icon-option:hover,
.mdclsdsk-wrap .mdclsdsk-panel button.mdclsdsk-conditions-icon-option:focus,
button.mdclsdsk-conditions-icon-option:hover,
button.mdclsdsk-conditions-icon-option:focus,
.mdclsdsk-conditions-icon-option:hover,
.mdclsdsk-conditions-icon-option:focus {
	border-color: var(--mdclsdsk-accent) !important;
	background: var(--mdclsdsk-accent-10) !important;
	color: var(--mdclsdsk-accent) !important;
}

.mdclsdsk-wrap .mdclsdsk-panel button.mdclsdsk-conditions-icon-option.is-selected,
button.mdclsdsk-conditions-icon-option.is-selected,
.mdclsdsk-conditions-icon-option.is-selected {
	border-color: var(--mdclsdsk-accent) !important;
	background: var(--mdclsdsk-accent-10) !important;
	color: var(--mdclsdsk-accent) !important;
	outline: 2px solid var(--mdclsdsk-accent);
	outline-offset: 1px;
}

.mdclsdsk-conditions-icon-option .mdclsdsk-icon {
	width: 1.35rem;
	height: 1.35rem;
}

.mdclsdsk-conditions-actions {
	margin-top: 0.75rem;
}

.mdclsdsk-conditions-actions .mdclsdsk-button-standard {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
}

/* Schedule list on class page */
.mdclsdsk-schedule-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mdclsdsk-schedule-list li {
	padding: 0.3rem 0;
	font-size: 0.85rem;
}

.mdclsdsk-map-embed {
	margin-top: 0.75rem;
	overflow: hidden;
	border-radius: var(--mdclsdsk-radius);
}

.mdclsdsk-map-frame {
	display: block;
	width: 100%;
	height: 300px;
	border: 0;
}

/* Floating tooltip (positioned above via admin.js; avoids native title below + scroll clipping) */
.tooltip {
	position: fixed;
	z-index: 100300;
	padding: 5px 10px;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.35;
	color: #fff;
	background: #1d2327;
	border-radius: 4px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
	pointer-events: none;
	white-space: pre-line;
	max-width: min(280px, calc(100vw - 12px));
}

.mdclsdsk-panel.mdclsdsk-shortcode-panel {
	margin-right: 20px;
}

.mdclsdsk-shortcode-panel h2 {
	margin-top: 0;
}

.mdclsdsk-browse-layout-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
	margin-top: 0.75rem;
}

.mdclsdsk-browse-layout-form {
	margin-top: 0;
}

.mdclsdsk-browse-layout-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin-left: auto;
}

.mdclsdsk-shortcode-table {
	margin-top: 0.75rem;
}

.mdclsdsk-shortcode-table-copy {
	width: 4rem;
	text-align: center;
}

.mdclsdsk-shortcode-code {
	display: inline-block;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.85rem;
	background: #f6f7f7;
	padding: 0.25rem 0.5rem;
	border-radius: var(--mdclsdsk-radius);
	max-width: 100%;
	white-space: normal;
	overflow-wrap: anywhere;
}

.mdclsdsk-wrap .mdclsdsk-copy-btn,
.mdclsdsk-copy-btn {
	appearance: none !important;
	-webkit-appearance: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 2rem !important;
	height: 2rem !important;
	min-width: 2rem !important;
	min-height: 2rem !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 1px solid var(--mdclsdsk-border-light) !important;
	border-radius: var(--mdclsdsk-radius);
	background: #fff !important;
	color: #1d2327 !important;
	cursor: pointer;
	line-height: 1 !important;
	box-shadow: none !important;
}

.mdclsdsk-wrap .mdclsdsk-copy-btn:hover,
.mdclsdsk-wrap .mdclsdsk-copy-btn:focus,
.mdclsdsk-copy-btn:hover,
.mdclsdsk-copy-btn:focus {
	border-color: var(--mdclsdsk-accent) !important;
	color: var(--mdclsdsk-accent) !important;
	background: #fff !important;
}

.mdclsdsk-wrap .mdclsdsk-copy-btn.is-copied,
.mdclsdsk-copy-btn.is-copied {
	background: var(--mdclsdsk-accent) !important;
	border-color: var(--mdclsdsk-accent) !important;
	color: #fff !important;
}

.mdclsdsk-copy-btn-done {
	display: none;
}

.mdclsdsk-copy-btn.is-copied .mdclsdsk-copy-btn-idle {
	display: none;
}

.mdclsdsk-copy-btn.is-copied .mdclsdsk-copy-btn-done {
	display: inline-flex;
}

.mdclsdsk-class-cart-bar {
	display: flex;
	justify-content: flex-end;
	margin: 0 1.75rem 1rem;
}

/*
 * Public Log in + cart dock. Top offset from --mdclsdsk-header-offset
 * (public.js measures sticky/fixed site header + admin bar).
 * Hide legacy menu-injected chrome (cached pages / older plugin builds).
 */
.menu-item.mdclsdsk-menu-account,
.menu-item.mdclsdsk-menu-cart {
	display: none !important;
}

.mdclsdsk-cart-dock {
	position: fixed;
	top: calc(var(--mdclsdsk-header-offset, 0px) + 0.5rem);
	right: 1rem;
	left: auto;
	z-index: 100020;
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	align-items: center;
	gap: 0.75rem;
}

@media screen and (max-width: 782px) {
	.mdclsdsk-cart-dock .mdclsdsk-account-link {
		width: 2.5rem;
		padding: 0;
	}

	.mdclsdsk-cart-dock .mdclsdsk-account-link-text {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}
}

.mdclsdsk-desk-post {
	display: inline;
	margin: 0;
}

.mdclsdsk-desk-post button.mdclsdsk-account-link,
.mdclsdsk-desk-post button.mdclsdsk-btn {
	font-family: inherit;
	cursor: pointer;
}

button.mdclsdsk-account-link {
	border: none;
}

.mdclsdsk-account-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	height: 2.5rem;
	padding: 0 0.85rem;
	border-radius: 999px;
	background: #fff;
	color: #1d2327;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.16);
	text-decoration: none;
	font-weight: 600;
	font-size: 0.9rem;
	white-space: nowrap;
}

.mdclsdsk-account-link:hover,
.mdclsdsk-account-link:focus {
	color: var(--mdclsdsk-accent);
}

.mdclsdsk-account-link .mdclsdsk-icon {
	width: 1.1rem;
	height: 1.1rem;
}

.mdclsdsk-account-link-logout {
	background: var(--mdclsdsk-accent) !important;
	color: #fff !important;
}

.mdclsdsk-account-link-logout:hover,
.mdclsdsk-account-link-logout:focus {
	background: var(--mdclsdsk-accent-hover) !important;
	color: #fff !important;
}

.mdclsdsk-cart-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 999px;
	background: #fff;
	color: #1d2327;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.16);
	text-decoration: none;
}

.mdclsdsk-cart-link .mdclsdsk-icon {
	width: 1.25rem;
	height: 1.25rem;
}

.mdclsdsk-cart-count {
	position: absolute;
	top: -0.35rem;
	right: -0.35rem;
	min-width: 1.1rem;
	height: 1.1rem;
	padding: 0 0.25rem;
	border-radius: 999px;
	background: var(--mdclsdsk-accent);
	color: #fff;
	font-size: 0.7rem;
	line-height: 1.1rem;
	text-align: center;
}

.mdclsdsk-checkout-page {
	max-width: var(--mdclsdsk-wrap-max);
}

.mdclsdsk-desk-email {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	margin: 0 0 1rem;
}

.mdclsdsk-desk-email-field {
	flex: 1 1 auto;
	min-width: 0;
}

.mdclsdsk-desk-list {
	flex: 0 0 16.5rem;
	max-height: 16rem;
	overflow: auto;
	margin: 20px 0 0;
	padding: 0.5rem;
	border: 1px solid var(--mdclsdsk-border-dark);
	border-radius: var(--mdclsdsk-radius);
	background: #fff;
	box-sizing: border-box;
	list-style: none;
}

.mdclsdsk-desk-list[hidden],
#mdclsdsk-desk-account-fields[hidden] {
	display: none;
}

.mdclsdsk-desk-list-label {
	margin: 0 0.25rem 0.35rem;
	font-size: 0.75rem;
	font-weight: 700;
	color: #646970;
}

.mdclsdsk-desk-list ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mdclsdsk-desk-list-empty {
	margin: 0;
	padding: 0.5rem 0.75rem;
	font-size: 0.8rem;
	color: #646970;
}

.mdclsdsk-desk-item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.1rem;
	width: 100%;
	margin: 0;
	padding: 0.45rem 0.75rem;
	border: 0;
	background: transparent;
	text-align: left;
	cursor: pointer;
	box-sizing: border-box;
	font-weight: 400;
	font-size: 0.85rem;
}

.mdclsdsk-desk-item:hover {
	background: var(--mdclsdsk-accent-10);
}

.mdclsdsk-desk-item-sub {
	font-weight: 400;
	font-size: 0.75rem;
	color: #646970;
	word-break: break-all;
}

.mdclsdsk-desk-item-meta {
	font-weight: 400;
	font-size: 0.7rem;
	color: var(--mdclsdsk-accent);
}

@media (max-width: 700px) {
	.mdclsdsk-desk-email {
		flex-direction: column;
	}

	.mdclsdsk-desk-list {
		flex: 1 1 auto;
		width: 100%;
		margin-top: 0;
		max-height: 12rem;
	}
}

.mdclsdsk-checkout-class,
.mdclsdsk-checkout-class-seats,
.mdclsdsk-checkout-class-terms {
	margin-bottom: 0.75rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #e5e5e5;
}

.mdclsdsk-checkout-class-seats {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-bottom: 1.5rem;
	padding-bottom: 0;
	border-bottom: none;
}

.mdclsdsk-checkout-class {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.mdclsdsk-checkout-class-main {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	min-width: 0;
	flex: 1;
}

.mdclsdsk-checkout-class-thumb {
	width: 3.5rem;
	height: 3.5rem;
	object-fit: cover;
	border-radius: var(--mdclsdsk-radius);
	flex: 0 0 3.5rem;
	background: #ececf2;
}

.mdclsdsk-checkout-class-thumb-empty {
	display: block;
}

.mdclsdsk-checkout-class-copy {
	min-width: 0;
	flex: 1;
}

.mdclsdsk-checkout-class .mdclsdsk-checkout-class-title {
	margin: 0;
}

.mdclsdsk-checkout-class-title,
.mdclsdsk-checkout-class-terms h3 {
	margin: 0 0 0.75rem;
	font-size: 1rem;
}

.mdclsdsk-checkout-student-terms {
	margin: 0 0 1.5rem;
}

.mdclsdsk-checkout-terms-student {
	margin: 0 0 0.75rem;
	padding: 0 0 0.65rem;
	border-bottom: 1px solid #e5e5e5;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.4;
}

.mdclsdsk-checkout-student-terms .mdclsdsk-checkout-class-terms {
	margin: 0 0 1rem;
}

.mdclsdsk-checkout-single-term {
	margin: 0.35rem 0 0;
	font-size: 0.9rem;
	line-height: 1.45;
	color: #1d2327;
}

.mdclsdsk-checkout-single-term-main {
	font-weight: 600;
}

.mdclsdsk-checkout-single-term-save {
	display: block;
	margin-top: 0.2rem;
	font-size: 0.8rem;
	font-weight: 400;
	color: #646970;
}

.mdclsdsk-checkout-class-terms h3 {
	margin: 0 0 0.75rem;
	font-size: 1rem;
}

.mdclsdsk-checkout-class-subtotal {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.15rem;
	margin: 0.75rem 0 0;
	font-size: 1.1rem;
	font-weight: 600;
	text-align: right;
}

.mdclsdsk-checkout-class-subtotal-amount {
	display: block;
}

.mdclsdsk-checkout-class-subtotal-save {
	display: block;
	font-size: 0.85rem;
	font-weight: 400;
}

.mdclsdsk-checkout-seat h3 {
	margin: 0 0 0.75rem;
	font-size: 1rem;
	font-weight: 700;
}

.mdclsdsk-checkout-class-meta {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	margin: 0.15rem 0 0;
	font-size: 0.75rem;
	font-weight: 400;
	color: #646970;
	line-height: 1.35;
}

.mdclsdsk-checkout-class-title + .mdclsdsk-checkout-class-meta {
	margin-top: 0.15rem;
}

.mdclsdsk-checkout-class-terms h3 + .mdclsdsk-checkout-class-meta,
.mdclsdsk-checkout-seat h3 + .mdclsdsk-checkout-class-meta {
	margin: -0.55rem 0 0.75rem;
}

.mdclsdsk-checkout-class .mdclsdsk-qty {
	flex-shrink: 0;
	padding-top: 0.1rem;
}

.mdclsdsk-qty {
	display: flex;
	align-items: center;
	gap: 0.4rem;
}

.mdclsdsk-qty-minus,
.mdclsdsk-qty-plus {
	box-sizing: border-box;
	width: 2.15rem;
	height: 2.15rem;
	min-width: 2.15rem;
	padding: 0;
	aspect-ratio: 1 / 1;
	flex: 0 0 2.15rem;
}

.mdclsdsk-qty-val {
	min-width: 1.5rem;
	text-align: center;
	font-weight: 600;
}

.mdclsdsk-checkout-seat,
.mdclsdsk-student-card {
	margin-bottom: 0;
	padding: 0.85rem 1rem;
	border: 1px solid var(--mdclsdsk-border-dark);
	border-radius: var(--mdclsdsk-radius);
	background: #f7f7fb;
}

.mdclsdsk-checkout-seat-mode,
.mdclsdsk-checkout-seat-new-kind {
	margin: 0 0 0.75rem;
}

.mdclsdsk-checkout-seat-new-legend {
	margin: 0 0 0.45rem;
	font-weight: 600;
}

.mdclsdsk-checkout-seat-mode-option,
.mdclsdsk-checkout-seat-new-option {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0 0 0.35rem;
	font-weight: 400;
	cursor: pointer;
}

.mdclsdsk-checkout-seat-mode-option input,
.mdclsdsk-checkout-seat-new-option input {
	margin: 0;
	width: auto;
	flex: 0 0 auto;
}

.mdclsdsk-checkout-seat-existing,
.mdclsdsk-checkout-seat-new {
	margin-bottom: 0.65rem;
}

.mdclsdsk-checkout-seat-fields {
	margin-top: 0.5rem;
}

.mdclsdsk-checkout-seat-fields[hidden],
.mdclsdsk-checkout-seat-existing[hidden],
.mdclsdsk-checkout-seat-new[hidden] {
	display: none;
}

.mdclsdsk-checkout-seat-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem 0.75rem;
	margin-bottom: 0.75rem;
}

.mdclsdsk-checkout-seat-row > label {
	flex: 1 1 8rem;
	min-width: 0;
	margin-bottom: 0;
}

.mdclsdsk-checkout-seat-row input,
.mdclsdsk-checkout-seat-row select {
	display: block;
	width: 100%;
	margin-bottom: 0;
}

.mdclsdsk-checkout-seat-medical-label {
	margin: 0 0 0.25rem;
}

.mdclsdsk-checkout-seat-medical-options {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.25rem;
	margin-bottom: 0.55rem;
}

.mdclsdsk-checkout-seat-medical-options label {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin: 0;
	font-weight: 400;
}

.mdclsdsk-checkout-seat-medical {
	width: 100%;
	min-height: 6rem;
	resize: vertical;
	margin-bottom: 0;
}

.mdclsdsk-checkout-seat-medical[hidden] {
	display: none;
}

.mdclsdsk-checkout-catalogue {
	margin-top: 1.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--mdclsdsk-border-dark);
}

.mdclsdsk-checkout-catalogue h3 {
	margin: 0 0 0.85rem;
	font-size: 1.05rem;
}

.mdclsdsk-checkout-pick-full {
	font-weight: 600;
	white-space: nowrap;
}

.mdclsdsk-checkout-prev[hidden] {
	display: none;
}

.mdclsdsk-page h1.mdclsdsk-desk-page-header,
.mdclsdsk-page .mdclsdsk-desk-page-subheader,
.mdclsdsk-page .mdclsdsk-desk-page-intro {
	display: block;
	width: 100%;
	text-align: center;
}

.mdclsdsk-page h1.mdclsdsk-desk-page-header {
	margin: 0 0 1.5rem;
	color: #1d2327;
	font-weight: 600;
	font-size: 26px;
	line-height: 1.3;
}

.mdclsdsk-page .mdclsdsk-desk-page-subheader,
.mdclsdsk-page .mdclsdsk-desk-page-intro {
	margin: 0 0 1.5rem;
	color: #646970;
	font-weight: 400;
	font-size: 20px;
	line-height: 1.4;
}

.mdclsdsk-page h1.mdclsdsk-desk-page-header:has(+ .mdclsdsk-desk-page-subheader) {
	margin-bottom: 0.35rem;
}

.mdclsdsk-page h1.mdclsdsk-desk-page-header + .mdclsdsk-desk-page-subheader,
.mdclsdsk-page .mdclsdsk-desk-page-subheader + .mdclsdsk-desk-page-intro {
	margin-top: 0;
}

.mdclsdsk-page .mdclsdsk-desk-page-subheader:has(+ .mdclsdsk-desk-page-tabs),
.mdclsdsk-page .mdclsdsk-desk-page-intro:has(+ .mdclsdsk-desk-page-tabs),
.mdclsdsk-page h1.mdclsdsk-desk-page-header:has(+ .mdclsdsk-desk-page-tabs) {
	margin-bottom: 0.75rem;
}

.mdclsdsk-desk-page-tabs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
	gap: 0.25rem 0.35rem;
	margin: 0 0 1.75rem;
	padding: 0;
}

.mdclsdsk-desk-page-tabs .mdclsdsk-desk-post {
	display: contents;
}

.mdclsdsk-desk-page-tabs a,
.mdclsdsk-desk-page-tabs button,
.mdclsdsk-desk-page-tabs span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 2.5rem;
	padding: 0.45rem 1rem;
	color: #646970;
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.3;
	text-decoration: none;
	border: none;
	border-bottom: 2px solid transparent;
	background: none;
	font-family: inherit;
	cursor: pointer;
	transition: color 0.15s ease, border-color 0.15s ease;
}

.mdclsdsk-desk-page-tabs span {
	cursor: default;
}

.mdclsdsk-desk-page-tabs a:hover,
.mdclsdsk-desk-page-tabs a:focus,
.mdclsdsk-desk-page-tabs button:hover,
.mdclsdsk-desk-page-tabs button:focus {
	color: var(--mdclsdsk-accent);
	text-decoration: none;
}

.mdclsdsk-desk-page-tabs a.is-current,
.mdclsdsk-desk-page-tabs button.is-current,
.mdclsdsk-desk-page-tabs span.is-current {
	color: #1d2327;
	font-weight: 600;
	border-bottom-color: var(--mdclsdsk-accent);
}

.mdclsdsk-page-footer {
	margin: 2rem 0 0;
	text-align: center;
}

.mdclsdsk-text-link {
	color: var(--mdclsdsk-accent);
	font-weight: 400;
	text-decoration: none;
}

.mdclsdsk-text-link:hover,
.mdclsdsk-text-link:focus {
	color: var(--mdclsdsk-accent);
	text-decoration: none;
}

.mdclsdsk-loginpage-title {
	margin: 0 0 0.75rem;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.3;
}

.mdclsdsk-loginpage-header {
	margin: 0 0 1rem;
	max-width: 40rem;
}

.mdclsdsk-desk-home-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1rem;
}

.mdclsdsk-desk-transfer .mdclsdsk-form-step.is-active {
	padding-top: 0;
}

.mdclsdsk-desk-transfer #mdclsdsk-transfer-matches {
	margin: 0.5rem 0 1rem;
	max-width: 36rem;
}

.mdclsdsk-desk-transfer-compare {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem;
	align-items: start;
	margin: 0.5rem 0 1rem;
}

.mdclsdsk-desk-transfer-terms {
	margin: 0 0 1.25rem;
	padding-bottom: 0.85rem;
}

.mdclsdsk-desk-transfer-terms[hidden] {
	display: none;
}

.mdclsdsk-desk-transfer-terms .mdclsdsk-checkout-terms-student {
	margin-bottom: 0.45rem;
	padding-bottom: 0;
	border-bottom: none;
	font-size: 0.95rem;
}

.mdclsdsk-desk-transfer-heading {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0.35rem 0.75rem;
}

.mdclsdsk-page-card .mdclsdsk-form-step .mdclsdsk-desk-transfer-heading h2 + * {
	padding-top: 0;
}

.mdclsdsk-desk-transfer-heading .mdclsdsk-form-hint {
	margin: 0;
}

.mdclsdsk-desk-transfer-col .mdclsdsk-desk-list {
	flex: 0 0 auto;
	width: 100%;
	max-width: none;
	min-height: 0;
	height: auto;
	max-height: 16rem;
	margin: 20px 0 0;
	padding: 0.5rem;
}

.mdclsdsk-page-card .mdclsdsk-form-step .mdclsdsk-desk-transfer-col > h2 + .mdclsdsk-desk-list {
	padding-top: 0.5rem;
}

#mdclsdsk-transfer-from-list {
	max-height: none;
}

@media (max-width: 700px) {
	.mdclsdsk-desk-transfer-compare {
		grid-template-columns: 1fr;
	}
}

.mdclsdsk-desk-pay-pick {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 1.5rem 0;
}

.mdclsdsk-desk-item.is-selected {
	outline: 2px solid var(--mdclsdsk-accent);
	outline-offset: -2px;
	background: var(--mdclsdsk-accent-10);
}

.mdclsdsk-desk-pay-pick .mdclsdsk-btn.is-selected {
	outline: 2px solid var(--mdclsdsk-accent);
	background: var(--mdclsdsk-accent-10);
}

.mdclsdsk-desk-item:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

#mdclsdsk-transfer-stripe {
	margin: 0 0 1rem;
}

.mdclsdsk-desk-cash {
	margin-bottom: 1rem;
}

.mdclsdsk-desk-cash[hidden],
.mdclsdsk-desk-done[hidden],
#mdclsdsk-checkout-form[hidden],
#mdclsdsk-stripe-element[hidden],
#mdclsdsk-transfer-form[hidden],
#mdclsdsk-transfer-compare[hidden],
#mdclsdsk-transfer-quote[hidden],
#mdclsdsk-transfer-pay-pick[hidden],
#mdclsdsk-transfer-stripe[hidden],
#mdclsdsk-transfer-done[hidden],
#mdclsdsk-transfer-back[hidden],
.mdclsdsk-desk-transfer .mdclsdsk-form-nav[hidden],
#mdclsdsk-transfer-done-receipt[hidden] {
	display: none;
}

.mdclsdsk-desk-due {
	margin: 0 0 0.75rem;
	padding: 0;
	font-size: 1.1rem;
	line-height: 1.3;
}

.mdclsdsk-desk-due .mdclsdsk-list-label {
	font-size: inherit;
}

.mdclsdsk-desk-confirm p {
	margin: 0 0 0.35rem;
}

.mdclsdsk-desk-confirm p:last-child {
	margin-bottom: 0;
}

.mdclsdsk-desk-confirm p:empty {
	display: none;
}

.mdclsdsk-desk-confirm .mdclsdsk-sortable-card-title {
	font-weight: 700;
}

.mdclsdsk-transfer-confirm-when {
	display: inline-block;
	margin-top: 0.15rem;
}

.mdclsdsk-desk-confirm .mdclsdsk-explain-link {
	margin-left: 0.65rem;
}

#mdclsdsk-transfer-fee-modal .mdclsdsk-share-modal-dialog {
	max-width: calc(22rem + 80px);
	padding: calc(1.5rem + 30px) 1.5rem;
}

.mdclsdsk-share-modal-dialog > .mdclsdsk-loginpage-title {
	margin-top: 0;
	margin-bottom: 1.25rem;
}

.mdclsdsk-share-modal-dialog .mdclsdsk-sortable-card-title {
	font-weight: 700;
}

.mdclsdsk-desk-stamp {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 0.5rem;
	margin: 0 0 0.75rem;
}

.mdclsdsk-form-step .mdclsdsk-desk-stamp input[type="text"] {
	flex: 0 0 auto;
	margin-bottom: 0;
}

.mdclsdsk-desk-stamp .mdclsdsk-btn {
	flex: 0 0 auto;
	height: 40px;
	margin: 0;
	padding-top: 0;
	padding-bottom: 0;
	box-sizing: border-box;
	white-space: nowrap;
}

.mdclsdsk-form-step label.mdclsdsk-form-terms-agree,
.mdclsdsk-form-terms-agree {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.4rem;
	box-sizing: border-box;
	margin: 30px 0;
	padding: 15px;
	border-radius: var(--mdclsdsk-radius);
	background: var(--mdclsdsk-accent-10);
	font-size: 0.85rem;
	font-weight: 700;
	line-height: 1.35;
	color: #1d2327;
}

.mdclsdsk-form-step label.mdclsdsk-form-terms-agree input,
.mdclsdsk-form-terms-agree input {
	margin: 0;
	width: auto;
	flex: 0 0 auto;
}

.mdclsdsk-form-step label.mdclsdsk-form-terms-agree .mdclsdsk-text-link,
.mdclsdsk-form-terms-agree .mdclsdsk-text-link {
	font-weight: 700;
}

.mdclsdsk-desk-done {
	margin-top: 1.5rem;
	padding: 1.25rem 1.35rem;
	border: 1px solid var(--mdclsdsk-border-dark);
	border-radius: var(--mdclsdsk-radius);
	background: #f7f7fb;
}

.mdclsdsk-desk-done h2 {
	margin-top: 0;
}

.mdclsdsk-admin-layout .mdclsdsk-wrap:has(.mdclsdsk-stripe-setup) {
	padding-right: 1.2rem;
}

.mdclsdsk-stripe-setup {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding-bottom: 1.2rem;
}

.mdclsdsk-stripe-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
	background: #fff;
	border-radius: var(--mdclsdsk-radius);
	padding: 1rem 1.25rem;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}

.mdclsdsk-stripe-header-title h2 {
	margin: 0;
	padding: 0;
	border: none;
	font-size: 1.15rem;
	font-weight: 600;
	color: #1d2327;
}

.mdclsdsk-stripe-header-env {
	display: flex;
	align-items: center;
	gap: 0.65rem;
}

.mdclsdsk-stripe-header-env > span {
	font-size: 0.85rem;
	font-weight: 600;
	color: #50575e;
}

.mdclsdsk-stripe-card {
	margin-bottom: 0;
}

.mdclsdsk-panel.mdclsdsk-stripe-card.mdclsdsk-stripe-env {
	margin-bottom: 1.2rem;
}

.mdclsdsk-stripe-card-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
	margin-bottom: 1rem;
}

.mdclsdsk-stripe-card-title {
	display: flex;
	align-items: baseline;
	gap: 0.75rem;
	flex-wrap: wrap;
	min-width: 0;
	flex: 1;
}

.mdclsdsk-stripe-card-head h3 {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	margin: 0;
	font-size: 1rem;
	font-weight: 600;
	color: #1d2327;
}

.mdclsdsk-stripe-card-head p {
	margin: 0;
	font-size: 0.8rem;
	color: #646970;
}

.mdclsdsk-stripe-env-check {
	display: none;
	align-items: center;
	justify-content: center;
	width: 1.25rem;
	height: 1.25rem;
	border-radius: 999px;
	background: var(--mdclsdsk-accent);
	color: #fff;
	flex-shrink: 0;
}

.mdclsdsk-stripe-env-check .mdclsdsk-icon {
	width: 0.75rem;
	height: 0.75rem;
}

.mdclsdsk-stripe-env.is-active {
	background: var(--mdclsdsk-accent-10);
	box-shadow: 0 0 0 1px var(--mdclsdsk-accent-20), 0 1px 4px rgba(0, 0, 0, 0.06);
}

.mdclsdsk-stripe-env.is-active .mdclsdsk-stripe-env-check {
	display: inline-flex;
}

.mdclsdsk-stripe-env:not(.is-active) {
	background: #f4f5f7;
	box-shadow: none;
	border: 1px solid var(--mdclsdsk-border-light);
}

.mdclsdsk-stripe-test {
	gap: 0.4rem;
	white-space: nowrap;
}

.mdclsdsk-stripe-test:disabled {
	opacity: 0.65;
	cursor: wait;
}

.mdclsdsk-stripe-test .mdclsdsk-icon {
	width: 0.9rem;
	height: 0.9rem;
}

.mdclsdsk-stripe-fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.85rem 1.25rem;
}

.mdclsdsk-stripe-fields--single {
	grid-template-columns: 1fr;
	margin-top: 0.85rem;
}

.mdclsdsk-stripe-field-label {
	display: flex;
	align-items: baseline;
	gap: 0.75rem;
	flex-wrap: wrap;
	margin-bottom: 0.35rem;
}

.mdclsdsk-stripe-field label {
	display: block;
	margin-bottom: 0;
	font-size: 0.8rem;
	font-weight: 600;
	color: #1d2327;
}

.mdclsdsk-stripe-req {
	color: #d63638;
	font-weight: 700;
}

.mdclsdsk-stripe-help {
	margin: 0;
	font-size: 0.75rem;
	color: #646970;
}

.mdclsdsk-secret-field {
	position: relative;
}

.mdclsdsk-secret-field .standard-element-full {
	padding-right: 2.5rem !important;
}

.mdclsdsk-secret-toggle {
	position: absolute;
	top: 50%;
	right: 0.45rem;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	padding: 0;
	border: 0;
	border-radius: 4px;
	background: transparent;
	color: #646970;
	cursor: pointer;
	transform: translateY(-50%);
}

.mdclsdsk-secret-toggle:hover,
.mdclsdsk-secret-toggle:focus {
	color: var(--mdclsdsk-accent);
	background: var(--mdclsdsk-accent-10);
}

.mdclsdsk-secret-toggle .mdclsdsk-icon {
	width: 1rem;
	height: 1rem;
}

.mdclsdsk-secret-toggle .mdclsdsk-icon-eye-off {
	display: none;
}

.mdclsdsk-secret-toggle.is-revealed .mdclsdsk-icon-eye {
	display: none;
}

.mdclsdsk-secret-toggle.is-revealed .mdclsdsk-icon-eye-off {
	display: inline-block;
}

@media (max-width: 782px) {
	.mdclsdsk-stripe-fields {
		grid-template-columns: 1fr;
	}
}

.mdclsdsk-split-layout.mdclsdsk-email-template {
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 1rem;
	flex: 1 1 auto;
	min-height: 0;
}

.mdclsdsk-split-layout.mdclsdsk-email-template .mdclsdsk-split-layout-left,
.mdclsdsk-split-layout.mdclsdsk-email-template .mdclsdsk-split-layout-right {
	flex: 1 1 0;
	max-width: none;
	min-width: 0;
	min-height: 0;
	max-height: none;
	align-self: stretch;
	display: flex;
	flex-direction: column;
}

.mdclsdsk-split-layout.mdclsdsk-email-template .mdclsdsk-split-layout-right {
	display: flex;
}

.mdclsdsk-split-layout.mdclsdsk-email-template .mdclsdsk-split-layout-left > .mdclsdsk-panel,
.mdclsdsk-split-layout.mdclsdsk-email-template .mdclsdsk-split-layout-right > .mdclsdsk-panel {
	flex: 1 1 auto;
	max-height: none;
	min-height: 0;
}

.mdclsdsk-split-layout.mdclsdsk-email-template .mdclsdsk-autosave {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-width: 0;
	min-height: 0;
}

.mdclsdsk-split-layout.mdclsdsk-email-template .mdclsdsk-panel > h3 {
	margin: 0 0 1rem;
	flex-shrink: 0;
	font-size: 1rem;
	font-weight: 600;
	color: #1d2327;
}

.mdclsdsk-email-template-fields {
	flex: 1 1 auto;
	min-width: 0;
	min-height: 0;
	overflow: auto;
}

.mdclsdsk-email-template-fields .form-table {
	margin-top: 0;
	width: 100%;
	max-width: 100%;
}

.mdclsdsk-split-layout.mdclsdsk-email-template .mdclsdsk-button-controls,
.mdclsdsk-split-layout.mdclsdsk-email-template .mdclsdsk-panel > .description {
	flex-shrink: 0;
	margin-top: 0.75rem;
}

.mdclsdsk-email-template-preview-wrap {
	flex: 1 1 auto;
	min-height: 0;
	overflow: auto;
}

.mdclsdsk-notification-preview-slot {
	width: 65%;
	max-width: 400px;
	margin: 0 auto;
	overflow: hidden;
}

.mdclsdsk-notification-preview-frame {
	display: block;
	width: 480px;
	border: 0;
	background: transparent;
	transform-origin: top left;
	pointer-events: none;
}

@media (max-width: 782px) {
	.mdclsdsk-split-layout.mdclsdsk-email-template {
		flex-wrap: wrap;
	}

	.mdclsdsk-split-layout.mdclsdsk-email-template .mdclsdsk-split-layout-left,
	.mdclsdsk-split-layout.mdclsdsk-email-template .mdclsdsk-split-layout-right {
		flex: 0 0 100%;
		max-width: 100%;
	}
}
