/* Promath Safe Exam For KWP CBT PRO interface. */

body.pmsa-exam-active {
	overflow: hidden !important;
	background: #eef2f8 !important;
}

/* KWP CBT PRO adapter ------------------------------------------------------ */
.pmsc-cbt-shell .pmsa-question-card {
	height: 100%;
	min-height: 0;
	overflow: hidden;
}

.pmsc-cbt-shell .kwpcbt-test-layout {
	display: flex !important;
	width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	min-height: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	overflow: hidden !important;
	background: transparent !important;
}

.pmsc-cbt-shell .kwpcbt-test-layout > .kwpcbt-header,
.pmsc-cbt-shell .kwpcbt-test-layout > .kwpcbt-progress-container,
.pmsc-cbt-shell .kwpcbt-sidebar,
.pmsc-cbt-shell #kwpcbt-proctor-alert {
	display: none !important;
}

.pmsc-cbt-shell .kwpcbt-main-body {
	display: flex !important;
	flex: 1 1 auto !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	overflow: hidden !important;
}

.pmsc-cbt-shell .kwpcbt-question-area {
	width: 100% !important;
	min-width: 0 !important;
	height: 100% !important;
	padding: 0 !important;
	overflow-y: auto !important;
	background: #f8fafc !important;
}

.pmsc-cbt-shell .kwpcbt-question-card {
	display: flex !important;
	flex-direction: column !important;
	width: min(100%, 1040px) !important;
	min-height: 100% !important;
	margin: 0 auto !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: #fff !important;
}

.pmsc-cbt-shell .kwpcbt-q-header {
	padding: 28px clamp(24px, 4.5vw, 58px) 8px !important;
	border-bottom: 0 !important;
	background: #fff !important;
	color: #475569 !important;
	font-size: 13px !important;
}

.pmsc-cbt-shell .pmsc-cbt-question-number-wrap {
	display: flex !important;
	align-items: center !important;
}

.pmsc-cbt-shell .pmsc-cbt-question-number {
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border: 1.5px solid #263248;
	border-radius: 10px;
	background: #fff;
	color: #172033;
	font-size: 17px;
	font-weight: 750;
}

.pmsc-cbt-shell .kwpcbt-q-contents-wrapper {
	flex: 1 0 auto !important;
	padding: 12px clamp(24px, 4.5vw, 58px) clamp(28px, 4vw, 48px) !important;
}

.pmsc-cbt-shell .kwpcbt-q-item {
	font-size: var(--pmsa-question-font-size, 16px) !important;
	line-height: 1.75 !important;
	color: #172033 !important;
}

.pmsc-cbt-shell .kwpcbt-answer-option {
	min-height: 48px !important;
	margin-bottom: 0 !important;
	padding: 12px 14px !important;
	border: 1px solid #dfe6f1 !important;
	border-radius: 12px !important;
	background: #fff !important;
	box-shadow: 0 1px 2px rgba(15, 23, 42, .025) !important;
}

.pmsc-cbt-shell .pmsc-cbt-choice-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 18px;
}

.pmsc-cbt-shell .kwpcbt-answer-option:hover {
	border-color: color-mix(in srgb, var(--pmsa-primary) 55%, #fff) !important;
	background: #f8faff !important;
}

.pmsc-cbt-shell .kwpcbt-answer-option.selected {
	border-color: var(--pmsa-primary) !important;
	background: color-mix(in srgb, var(--pmsa-primary) 8%, #fff) !important;
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--pmsa-primary) 12%, transparent) !important;
}

.pmsc-cbt-shell .kwpcbt-q-nav {
	position: sticky !important;
	bottom: 0 !important;
	z-index: 5 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 12px !important;
	margin: 0 !important;
	padding: 16px clamp(24px, 4.5vw, 58px) !important;
	border-top: 1px solid #e8edf5 !important;
	background: rgba(255, 255, 255, .96) !important;
	backdrop-filter: blur(12px) !important;
}

.pmsc-cbt-shell .pmsc-cbt-nav-actions {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	margin-left: auto !important;
}

.pmsc-cbt-shell #btn-next {
	min-height: 46px !important;
	padding-inline: 22px !important;
	border: 0 !important;
	background: linear-gradient(135deg, var(--pmsa-secondary), var(--pmsa-primary)) !important;
	box-shadow: 0 7px 18px color-mix(in srgb, var(--pmsa-primary) 24%, transparent) !important;
	color: #fff !important;
}

.pmsc-cbt-shell #btn-prev {
	min-height: 46px !important;
	border: 1px solid #ccd4e0 !important;
	background: #fff !important;
	color: #344054 !important;
}

.pmsc-cbt-shell .kwpcbt-q-nav .kwpcbt-btn,
.pmsc-cbt-shell .kwpcbt-doubt-toggle,
.pmsc-cbt-shell .pmsc-cbt-finish {
	min-height: 40px !important;
	padding: 9px 15px !important;
	border-radius: 10px !important;
	font-size: 13px !important;
	font-weight: 750 !important;
}

.pmsc-cbt-shell .kwpcbt-doubt-toggle {
	min-height: 46px !important;
	border: 1px solid #f4cc57 !important;
	background: #fff7d6 !important;
	color: #76530b !important;
}

.pmsc-cbt-shell .pmsc-cbt-doubt-control input {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.pmsc-cbt-shell .pmsc-cbt-doubt-control:has(input:checked) {
	border-color: #f59e0b !important;
	background: #f59e0b !important;
	color: #fff !important;
}

.pmsc-cbt-shell .pmsc-doubt-flag {
	font-size: 16px;
}

.pmsc-cbt-shell .pmsc-cbt-finish {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 7px !important;
	margin-left: 0 !important;
	border: 1px solid #16a34a !important;
	background: #16a34a !important;
	color: #fff !important;
	cursor: pointer !important;
}

.pmsc-cbt-shell .pmsc-cbt-finish[hidden] {
	display: none !important;
}

.pmsc-cbt-shell .pmsc-cbt-finish:hover {
	background: #15803d !important;
}

.pmsc-cbt-shell .pmsc-cbt-finish:disabled {
	opacity: .58 !important;
	cursor: wait !important;
}

.pmsc-cbt-shell #kwpcbt-submit-modal {
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.pmsc-cbt-calculator-button {
	width: 34px !important;
	height: 34px !important;
	padding: 0 !important;
	border: 1px solid #dce4f0 !important;
	border-radius: 10px !important;
	background: #fff !important;
	color: #334155 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
}

.pmsc-avatar-fallback {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: linear-gradient(135deg, var(--pmsa-primary), var(--pmsa-secondary));
	color: #fff;
	font-size: 10px;
}

.pmsc-cbt-shell.pmsa-text-large {
	--pmsa-question-font-size: 18px;
	--pmsa-question-stem-size: 19px;
	--pmsa-answer-font-size: 18px;
	--pmsa-control-font-size: 17px;
	--pmsa-math-size: 1.28em;
}

.pmsc-cbt-shell.pmsa-text-xlarge {
	--pmsa-question-font-size: 21px;
	--pmsa-question-stem-size: 22px;
	--pmsa-answer-font-size: 21px;
	--pmsa-control-font-size: 20px;
	--pmsa-math-size: 1.4em;
}

/* KWP injects fixed inline font sizes into stems and some response types.
 * Scope strong overrides to the active question so A+/A++ also resize math,
 * answer labels, matrices, fill-in fields, and essay controls. */
.pmsc-cbt-shell:is(.pmsa-text-large, .pmsa-text-xlarge) .kwpcbt-q-item.active .kwpcbt-q-text,
.pmsc-cbt-shell:is(.pmsa-text-large, .pmsa-text-xlarge) .kwpcbt-q-item.active .kwpcbt-q-text > p,
.pmsc-cbt-shell:is(.pmsa-text-large, .pmsa-text-xlarge) .kwpcbt-q-item.active .kwpcbt-q-text > div {
	font-size: var(--pmsa-question-stem-size) !important;
	line-height: 1.75 !important;
}

.pmsc-cbt-shell:is(.pmsa-text-large, .pmsa-text-xlarge) .kwpcbt-q-item.active .kwpcbt-answer-option,
.pmsc-cbt-shell:is(.pmsa-text-large, .pmsa-text-xlarge) .kwpcbt-q-item.active .kwpcbt-option-id,
.pmsc-cbt-shell:is(.pmsa-text-large, .pmsa-text-xlarge) .kwpcbt-q-item.active .kwpcbt-option-text,
.pmsc-cbt-shell:is(.pmsa-text-large, .pmsa-text-xlarge) .kwpcbt-q-item.active .kwpcbt-option-text > p,
.pmsc-cbt-shell:is(.pmsa-text-large, .pmsa-text-xlarge) .kwpcbt-q-item.active .kwpcbt-fib-content,
.pmsc-cbt-shell:is(.pmsa-text-large, .pmsa-text-xlarge) .kwpcbt-q-item.active .kwpcbt-matrix-table th,
.pmsc-cbt-shell:is(.pmsa-text-large, .pmsa-text-xlarge) .kwpcbt-q-item.active .kwpcbt-matrix-table td,
.pmsc-cbt-shell:is(.pmsa-text-large, .pmsa-text-xlarge) .kwpcbt-q-item.active .kwpcbt-matching-table th,
.pmsc-cbt-shell:is(.pmsa-text-large, .pmsa-text-xlarge) .kwpcbt-q-item.active .kwpcbt-matching-table td {
	font-size: var(--pmsa-answer-font-size) !important;
	line-height: 1.65 !important;
}

.pmsc-cbt-shell:is(.pmsa-text-large, .pmsa-text-xlarge) .kwpcbt-q-item.active input[type="text"],
.pmsc-cbt-shell:is(.pmsa-text-large, .pmsa-text-xlarge) .kwpcbt-q-item.active input[type="number"],
.pmsc-cbt-shell:is(.pmsa-text-large, .pmsa-text-xlarge) .kwpcbt-q-item.active textarea,
.pmsc-cbt-shell:is(.pmsa-text-large, .pmsa-text-xlarge) .kwpcbt-q-item.active select {
	font-size: var(--pmsa-control-font-size) !important;
	line-height: 1.55 !important;
}

.pmsc-cbt-shell:is(.pmsa-text-large, .pmsa-text-xlarge) .kwpcbt-q-item.active .katex {
	font-size: var(--pmsa-math-size) !important;
}

.pmsc-cbt-shell:is(.pmsa-text-large, .pmsa-text-xlarge) .kwpcbt-q-item.active .katex-display {
	overflow-x: auto;
	overflow-y: hidden;
	padding-block: .18em;
}

.pmsc-cbt-shell.pmsa-high-contrast .kwpcbt-question-area,
.pmsc-cbt-shell.pmsa-high-contrast .kwpcbt-question-card,
.pmsc-cbt-shell.pmsa-high-contrast .kwpcbt-answer-option {
	background: #fff !important;
	color: #000 !important;
}

@media (max-width: 760px) {
	/* Matrix / multiple Benar-Salah: each statement becomes a compact card. */
	.pmsc-cbt-shell .pmsc-responsive-matrix {
		width: 100% !important;
		max-width: 100% !important;
		overflow: visible !important;
	}

	.pmsc-cbt-shell .pmsc-responsive-matrix .pmsc-matrix-ready {
		display: block !important;
		width: 100% !important;
		min-width: 0 !important;
		margin-top: 8px !important;
		border: 0 !important;
		background: transparent !important;
		overflow: visible !important;
		white-space: normal !important;
	}

	.pmsc-cbt-shell .pmsc-responsive-matrix thead {
		position: absolute !important;
		width: 1px !important;
		height: 1px !important;
		margin: -1px !important;
		padding: 0 !important;
		border: 0 !important;
		overflow: hidden !important;
		clip: rect(0 0 0 0) !important;
		white-space: nowrap !important;
	}

	.pmsc-cbt-shell .pmsc-responsive-matrix tbody {
		display: grid !important;
		width: 100% !important;
		gap: 12px !important;
	}

	.pmsc-cbt-shell .pmsc-responsive-matrix tbody > tr {
		display: grid !important;
		width: 100% !important;
		grid-template-columns: repeat(var(--pmsc-matrix-columns, 2), minmax(0, 1fr)) !important;
		border: 1px solid #dfe6f1 !important;
		border-radius: 12px !important;
		background: #fff !important;
		overflow: hidden !important;
		box-shadow: 0 1px 2px rgba(15, 23, 42, .035) !important;
	}

	.pmsc-cbt-shell .pmsc-responsive-matrix tbody > tr > td {
		min-width: 0 !important;
		border: 0 !important;
		white-space: normal !important;
	}

	.pmsc-cbt-shell .pmsc-responsive-matrix .pmsc-matrix-statement {
		display: block !important;
		grid-column: 1 / -1 !important;
		padding: 13px 14px !important;
		border-bottom: 1px solid #e5eaf2 !important;
		background: #fff !important;
		font-size: 14px !important;
		line-height: 1.55 !important;
		overflow-wrap: anywhere !important;
		word-break: normal !important;
	}

	.pmsc-cbt-shell .pmsc-responsive-matrix .pmsc-matrix-answer {
		display: flex !important;
		min-height: 62px !important;
		align-items: center !important;
		justify-content: center !important;
		flex-direction: column !important;
		gap: 6px !important;
		padding: 9px 6px !important;
		border-right: 1px solid #edf0f5 !important;
		background: #f8fafc !important;
		color: #475569 !important;
		font-size: 11px !important;
		font-weight: 750 !important;
		text-align: center !important;
		text-transform: uppercase !important;
	}

	.pmsc-cbt-shell .pmsc-responsive-matrix .pmsc-matrix-answer::before {
		display: block;
		content: attr(data-pmsc-label);
	}

	.pmsc-cbt-shell .pmsc-responsive-matrix .pmsc-matrix-answer:last-child {
		border-right: 0 !important;
	}

	.pmsc-cbt-shell .pmsc-responsive-matrix .pmsc-matrix-answer label {
		display: grid !important;
		width: 34px !important;
		height: 28px !important;
		place-items: center !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.pmsc-cbt-shell .pmsc-responsive-matrix .pmsc-matrix-answer input {
		width: 18px !important;
		height: 18px !important;
		margin: 0 !important;
		accent-color: var(--pmsa-primary);
		transform: none !important;
	}

	.pmsc-cbt-shell .pmsc-cbt-choice-grid {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.pmsc-cbt-shell .kwpcbt-q-contents-wrapper {
		padding: 18px 15px 24px !important;
	}

	.pmsc-cbt-shell .kwpcbt-q-nav {
		flex-wrap: wrap !important;
		padding: 10px 12px !important;
	}

	.pmsc-cbt-shell .pmsc-cbt-nav-actions {
		width: 100%;
	}

	.pmsc-cbt-shell .pmsc-cbt-nav-actions > * {
		flex: 1 1 auto;
		justify-content: center;
	}

	.pmsc-cbt-shell .kwpcbt-doubt-toggle {
		order: 3;
		width: 100%;
		justify-content: center;
	}

	.pmsc-cbt-shell .pmsc-cbt-finish {
		margin-left: 0 !important;
	}
}

body.pmsa-exam-active #wpadminbar {
	display: none !important;
}

[hidden] {
	display: none !important;
}

.pmsa-exam-shell,
.pmsa-exam-shell * {
	box-sizing: border-box;
}

.pmsa-exam-shell {
	position: fixed;
	inset: 0;
	height: 100vh;
	height: 100dvh;
	max-height: 100vh;
	max-height: 100dvh;
	z-index: 999990;
	display: flex;
	flex-direction: column;
	min-width: 320px;
	background:
		radial-gradient(circle at 0 0, color-mix(in srgb, var(--pmsa-secondary) 10%, transparent), transparent 30%),
		#f3f5fa;
	color: #172033;
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}

.pmsa-header {
	position: relative;
	z-index: 30;
	display: flex;
	flex: 0 0 64px;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 7px 24px;
	border-bottom: 1px solid rgba(255, 255, 255, .14);
	background: linear-gradient(118deg, #2e1065 0%, var(--pmsa-primary) 44%, var(--pmsa-secondary) 76%, var(--pmsa-accent) 118%);
	box-shadow: 0 4px 22px rgba(76, 29, 149, .22);
	color: #fff;
}

.pmsa-header-brand,
.pmsa-header-tools,
.pmsa-user-card,
.pmsa-timer-card {
	display: flex;
	align-items: center;
}

.pmsa-header-brand {
	min-width: 0;
	gap: 13px;
}

.pmsa-logo {
	display: block;
	width: 112px;
	height: 38px;
	padding: 4px 8px;
	border-radius: 10px;
	background: #fff;
	object-fit: contain;
	box-shadow: 0 3px 10px rgba(0, 0, 0, .1);
}

.pmsa-header-title {
	display: flex;
	min-width: 0;
	flex-direction: column;
	line-height: 1.25;
}

.pmsa-header-title strong {
	max-width: 42vw;
	overflow: hidden;
	color: #fff;
	font-size: 15px;
	font-weight: 750;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.pmsa-header-title span {
	max-width: 42vw;
	margin-top: 2px;
	overflow: hidden;
	color: rgba(255, 255, 255, .78);
	font-size: 10.5px;
	font-weight: 500;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.pmsa-header-tools {
	flex: 0 0 auto;
	gap: 9px;
}

.pmsa-timer-card {
	min-width: 128px;
	flex-direction: column;
	align-items: flex-start;
	padding: 6px 12px;
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 10px;
	background: rgba(20, 12, 55, .22);
	line-height: 1.2;
	backdrop-filter: blur(8px);
}

.pmsa-timer-card span {
	color: rgba(255, 255, 255, .72);
	font-size: 9px;
	font-weight: 650;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.pmsa-timer-card strong {
	margin-top: 2px;
	color: #fff;
	font-size: 15px;
	font-variant-numeric: tabular-nums;
}

.pmsa-timer-card.is-active {
	border-color: rgba(255, 255, 255, .36);
}

.pmsa-timer-card.is-critical {
	border-color: rgba(253, 186, 116, .75);
	background: rgba(153, 27, 27, .34);
	box-shadow: 0 0 0 3px rgba(251, 146, 60, .12);
}

.pmsa-timer-card.is-critical strong {
	color: #ffedd5;
}

.pmsa-user-card {
	gap: 8px;
	min-width: 148px;
	padding: 5px 9px 5px 5px;
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 11px;
	background: rgba(255, 255, 255, .12);
}

.pmsa-user-card img {
	width: 32px;
	height: 32px;
	border: 2px solid rgba(255, 255, 255, .75);
	border-radius: 50%;
	object-fit: cover;
}

.pmsa-user-card div {
	display: flex;
	min-width: 0;
	flex-direction: column;
	line-height: 1.2;
}

.pmsa-user-card strong {
	max-width: 150px;
	overflow: hidden;
	font-size: 12px;
	font-weight: 700;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.pmsa-user-card span {
	margin-top: 2px;
	max-width: 150px;
	overflow: hidden;
	color: rgba(255, 255, 255, .7);
	font-size: 9px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.pmsa-nav-toggle {
	display: none;
	align-items: center;
	gap: 7px;
	min-height: 42px;
	padding: 8px 12px;
	border: 1px solid rgba(255, 255, 255, .28);
	border-radius: 11px;
	background: rgba(255, 255, 255, .12);
	color: #fff;
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	touch-action: manipulation;
	-webkit-tap-highlight-color: transparent;
}

.pmsa-desktop-nav-toggle,
.pmsa-accessibility-toggle {
	display: inline-grid;
	width: 34px;
	height: 34px;
	min-width: 34px;
	place-items: center;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, .28);
	border-radius: 9px;
	background: rgba(255, 255, 255, .12);
	color: #fff;
	font: inherit;
	font-size: 12px;
	font-weight: 800;
	cursor: pointer;
}

.pmsa-desktop-nav-toggle:hover,
.pmsa-desktop-nav-toggle:focus-visible,
.pmsa-accessibility-toggle:hover,
.pmsa-accessibility-toggle:focus-visible {
	background: rgba(255, 255, 255, .22);
	outline: 2px solid rgba(255, 255, 255, .75);
	outline-offset: 2px;
}

.pmsa-desktop-nav-toggle svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-width: 2;
}

.pmsa-save-status {
	display: flex;
	max-width: 160px;
	align-items: center;
	gap: 6px;
	color: rgba(255,255,255,.82);
	font-size: 10px;
	font-weight: 650;
	white-space: nowrap;
}

.pmsa-save-status i {
	display: block;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #86efac;
}

.pmsa-save-status.is-saving i { background: #fde68a; animation: pmsa-pulse 1s infinite; }
.pmsa-save-status.is-offline i { background: #fca5a5; }
.pmsa-save-status.is-restored i { background: #67e8f9; }

@keyframes pmsa-pulse { 50% { opacity: .35; } }

.pmsa-close-exam-button {
	display: inline-flex;
	width: 30px;
	height: 30px;
	min-width: 30px;
	min-height: 30px;
	flex: 0 0 30px;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, .38);
	border-radius: 9px;
	background: #e53935;
	box-shadow: 0 4px 12px rgba(185, 28, 28, .18);
	color: #fff;
	cursor: pointer;
	touch-action: manipulation;
	-webkit-tap-highlight-color: transparent;
}

.pmsa-close-exam-button:hover,
.pmsa-close-exam-button:focus-visible {
	background: #c62828;
	outline: 3px solid rgba(255, 255, 255, .72);
	outline-offset: 2px;
}

.pmsa-close-exam-button svg {
	width: 14px;
	height: 14px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-width: 2.25;
}

.pmsa-workspace {
	position: relative;
	z-index: 10;
	display: grid;
	min-height: 0;
	flex: 1 1 auto;
	grid-template-columns: minmax(0, 1fr) 330px;
	gap: 20px;
	padding: 20px 24px;
}

.pmsa-accessibility-panel {
	position: fixed;
	z-index: 95;
	top: 72px;
	right: 82px;
	width: min(290px, calc(100vw - 24px));
	padding: 16px;
	border: 1px solid #dbe2ed;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 18px 45px rgba(15, 23, 42, .22);
	color: #172033;
}

.pmsa-accessibility-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 13px;
}

.pmsa-accessibility-heading strong { font-size: 14px; }
.pmsa-accessibility-heading button {
	width: 28px;
	height: 28px;
	padding: 0;
	border: 0;
	border-radius: 7px;
	background: #eef2f7;
	font-size: 20px;
	cursor: pointer;
}

.pmsa-accessibility-panel > span {
	display: block;
	margin-bottom: 7px;
	color: #667085;
	font-size: 11px;
	font-weight: 700;
}

.pmsa-text-size-controls {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 7px;
}

.pmsa-text-size-controls button {
	min-height: 38px;
	border: 1px solid #d8deea;
	border-radius: 8px;
	background: #fff;
	color: #344054;
	font-weight: 750;
	cursor: pointer;
}

.pmsa-text-size-controls button.is-active {
	border-color: var(--pmsa-primary);
	background: color-mix(in srgb, var(--pmsa-primary) 9%, #fff);
	color: var(--pmsa-primary);
}

.pmsa-accessibility-panel > label {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-top: 13px;
	font-size: 12px;
	font-weight: 650;
}

.pmsa-accessibility-panel small {
	display: block;
	margin-top: 12px;
	color: #7a8498;
	font-size: 10px;
}

.pmsa-main {
	min-width: 0;
	overflow: auto;
	scrollbar-gutter: stable;
	-webkit-overflow-scrolling: touch;
}

.pmsa-question-card {
	width: min(1120px, 100%);
	min-height: calc(100vh - 104px);
	margin: 0 auto;
	padding: 0;
	border: 1px solid #dde3ee;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 12px 35px rgba(24, 36, 64, .08);
	overflow: hidden;
}

.pmsa-question-drawer {
	position: relative;
	min-width: 0;
	align-self: start;
	max-height: calc(100vh - 104px);
	padding: 22px;
	overflow: auto;
	border: 1px solid #dde3ee;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 12px 35px rgba(24, 36, 64, .08);
}

.pmsa-drawer-heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	padding-bottom: 17px;
	border-bottom: 1px solid #ebeff5;
}

.pmsa-drawer-heading > div {
	display: flex;
	flex-direction: column;
}

.pmsa-drawer-heading strong {
	font-size: 17px;
	font-weight: 750;
}

.pmsa-drawer-heading span {
	margin-top: 3px;
	color: #7a8498;
	font-size: 12px;
}

.pmsa-drawer-close {
	display: none;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	border-radius: 9px;
	background: #f0f3f8;
	color: #293248;
	font-size: 25px;
	line-height: 1;
	cursor: pointer;
	touch-action: manipulation;
	-webkit-tap-highlight-color: transparent;
}

.pmsa-question-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(40px, 1fr));
	gap: 10px;
	padding: 20px 0;
}

.pmsa-question-number {
	display: grid;
	min-width: 0;
	aspect-ratio: 1;
	place-items: center;
	padding: 0;
	border: 1px solid #dbe1eb;
	border-radius: 10px;
	background: #f7f8fb;
	color: #596377;
	font: inherit;
	font-size: 14px;
	font-weight: 750;
	cursor: pointer;
	touch-action: manipulation;
	-webkit-tap-highlight-color: transparent;
	transition: transform .15s ease, border-color .15s ease, background .15s ease, color .15s ease, box-shadow .15s ease;
}

.pmsa-question-number:hover,
.pmsa-question-number:focus-visible {
	border-color: var(--pmsa-primary);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--pmsa-primary) 15%, transparent);
	outline: none;
	transform: translateY(-1px);
}

.pmsa-question-number.is-current {
	border-color: var(--pmsa-secondary);
	background: linear-gradient(135deg, var(--pmsa-secondary), var(--pmsa-primary));
	box-shadow: 0 6px 14px color-mix(in srgb, var(--pmsa-primary) 28%, transparent);
	color: #fff;
}

.pmsa-question-number.is-answered {
	border-color: #1bb96c;
	background: #22c55e;
	color: #fff;
}

.pmsa-question-number.is-doubtful {
	border-color: #f3a31b;
	background: #f59e0b;
	color: #fff;
}

.pmsa-question-number.is-unanswered {
	border-color: #d8dee9;
	background: #eef1f5;
	color: #667085;
}

.pmsa-legend {
	display: grid;
	gap: 10px;
	padding-top: 17px;
	border-top: 1px solid #ebeff5;
}

.pmsa-legend > div {
	display: flex;
	align-items: center;
	gap: 9px;
	color: #566175;
	font-size: 12px;
}

.pmsa-legend i {
	display: block;
	width: 14px;
	height: 14px;
	border-radius: 4px;
	background: #eef1f5;
}

.pmsa-legend i.is-current { background: var(--pmsa-secondary); }
.pmsa-legend i.is-answered { background: #22c55e; }
.pmsa-legend i.is-doubtful { background: #f59e0b; }
.pmsa-legend i.is-unanswered { border: 1px solid #d8dee9; background: #eef1f5; }

.pmsa-drawer-backdrop {
	display: none;
}

/* Legacy compatibility selectors remain isolated from the KWP CBT adapter. */
.pmsa-exam-shell form.tutor-quiz-submission {
	position: relative;
	display: flex;
	min-height: calc(100vh - 120px);
	flex-direction: column;
	margin: 0 !important;
	padding: 0 !important;
	background: #fff;
}

.pmsa-exam-shell .tutor-quiz-header,
.pmsa-exam-shell .tutor-quiz-question-meta,
.pmsa-exam-shell .tutor-quiz-questions-pagination {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.pmsa-exam-shell .tutor-quiz-questions {
	min-width: 0;
	flex: 1 1 auto;
	padding: clamp(24px, 3.5vw, 48px) clamp(22px, 4.5vw, 58px) 26px !important;
	background: #fff;
}

.pmsa-exam-shell .tutor-quiz-question-wrapper {
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.pmsa-exam-shell .tutor-quiz-question {
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.pmsa-exam-shell .tutor-quiz-question-header {
	display: grid !important;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 14px !important;
	align-items: start !important;
	margin: 0 0 28px !important;
	padding: 0 !important;
	border: 0 !important;
}

.pmsa-exam-shell .tutor-quiz-question-number {
	display: grid !important;
	width: 38px !important;
	height: 38px !important;
	min-width: 38px !important;
	place-items: center;
	margin: 0 !important;
	padding: 0 !important;
	border: 1.5px solid #263248 !important;
	border-radius: 9px !important;
	background: #fff !important;
	color: #172033 !important;
	font-size: 17px !important;
	font-weight: 750 !important;
	line-height: 1 !important;
}

.pmsa-exam-shell .tutor-quiz-question-title {
	min-width: 0;
	color: #151d2d !important;
	font-size: clamp(17px, 1.3vw, 20px) !important;
	font-weight: 680 !important;
	line-height: 1.6 !important;
}

.pmsa-exam-shell .tutor-quiz-question-title > .tutor-p2,
.pmsa-exam-shell .tutor-quiz-question-title > div {
	margin-top: 10px !important;
	color: #20293a !important;
	font-size: clamp(16px, 1.2vw, 19px) !important;
	font-weight: 450 !important;
	line-height: 1.65 !important;
}

.pmsa-exam-shell .tutor-badge {
	margin-top: 4px !important;
	padding: 5px 10px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #f0f2f6 !important;
	color: #263248 !important;
	font-size: 12px !important;
	font-weight: 650 !important;
}

.pmsa-exam-shell .tutor-quiz-question-options {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 18px !important;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

.pmsa-exam-shell .tutor-quiz-question-option {
	position: relative;
	display: flex !important;
	min-width: 0;
	min-height: 52px;
	align-items: center;
	gap: 10px;
	margin: 0 !important;
	padding: 12px 14px !important;
	border: 1px solid #e1e5ec !important;
	border-radius: 11px !important;
	background: #fafbfc !important;
	color: #172033 !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 1.5 !important;
	cursor: pointer;
	transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}

.pmsa-exam-shell .tutor-quiz-question-option:hover,
.pmsa-exam-shell .tutor-quiz-question-option:focus-visible,
.pmsa-exam-shell .tutor-quiz-question-option:focus-within {
	border-color: color-mix(in srgb, var(--pmsa-primary) 62%, #fff) !important;
	background: #f7f7ff !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--pmsa-primary) 10%, transparent) !important;
	outline: none !important;
}

.pmsa-exam-shell .tutor-quiz-question-option:has(input:checked),
.pmsa-exam-shell .tutor-quiz-question-option.tutor-quiz-question-option-selected {
	border-color: var(--pmsa-primary) !important;
	background: color-mix(in srgb, var(--pmsa-primary) 8%, #fff) !important;
	box-shadow: inset 3px 0 0 var(--pmsa-primary) !important;
}

.pmsa-exam-shell input[type="radio"],
.pmsa-exam-shell input[type="checkbox"] {
	accent-color: var(--pmsa-primary);
}

.pmsa-exam-shell .tutor-input-field,
.pmsa-exam-shell .tutor-input-wrapper,
.pmsa-exam-shell .tutor-label {
	min-width: 0;
	font: inherit !important;
}

.pmsa-exam-shell textarea,
.pmsa-exam-shell input[type="text"],
.pmsa-exam-shell input[type="number"],
.pmsa-exam-shell select {
	max-width: 100%;
	border-color: #cdd5e2 !important;
	border-radius: 10px !important;
	font: inherit !important;
}

.pmsa-exam-shell textarea:focus,
.pmsa-exam-shell input[type="text"]:focus,
.pmsa-exam-shell input[type="number"]:focus,
.pmsa-exam-shell select:focus {
	border-color: var(--pmsa-primary) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--pmsa-primary) 12%, transparent) !important;
	outline: none !important;
}

.pmsa-exam-shell .tutor-quiz-questions-error {
	margin-top: 14px !important;
	color: #d92d20 !important;
	font-size: 13px !important;
	font-weight: 600 !important;
}

.pmsa-exam-shell .tutor-quiz-footer {
	position: sticky;
	z-index: 8;
	bottom: 0;
	margin: auto 0 0 !important;
	padding: 15px clamp(22px, 4.5vw, 58px) !important;
	border-top: 1px solid #e8ecf3 !important;
	background: rgba(255, 255, 255, .96) !important;
	box-shadow: 0 -7px 22px rgba(27, 38, 63, .05);
	backdrop-filter: blur(9px);
}

.pmsa-exam-shell .tutor-quiz-footer-inner {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
	max-width: none !important;
	margin: 0 !important;
}

.pmsa-exam-shell .tutor-quiz-footer-actions {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	margin-left: auto !important;
}

.pmsa-exam-shell .tutor-btn,
.pmsa-doubtful-control,
.pmsa-finish-control,
.pmsa-manual-controls button {
	min-height: 44px !important;
	padding: 10px 18px !important;
	border-radius: 10px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
}

.pmsa-exam-shell .tutor-quiz-answer-next-btn,
.pmsa-finish-control,
.pmsa-manual-next,
.pmsa-manual-submit {
	border-color: transparent !important;
	background: linear-gradient(135deg, var(--pmsa-secondary), var(--pmsa-primary)) !important;
	box-shadow: 0 6px 16px color-mix(in srgb, var(--pmsa-primary) 22%, transparent) !important;
	color: #fff !important;
}

.pmsa-exam-shell .tutor-quiz-submit-btn {
	display: none !important;
}

.pmsa-finish-control {
	border: 0;
	cursor: pointer;
}

.pmsa-finish-control:disabled {
	cursor: wait;
	opacity: .65;
}

.pmsa-exam-shell .tutor-quiz-answer-previous-btn,
.pmsa-manual-prev {
	border: 1px solid #ccd4e0 !important;
	background: #fff !important;
	color: #344054 !important;
}

.pmsa-doubtful-control {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 1px solid #f2b84a;
	background: #fffbeb;
	color: #9a6400;
	cursor: pointer;
}

.pmsa-doubtful-control.is-active {
	border-color: #f59e0b;
	background: #f59e0b;
	box-shadow: 0 5px 14px rgba(245, 158, 11, .24);
	color: #fff;
}

.pmsa-exam-shell .tutor-quiz-skip-btn {
	display: none !important;
}

.pmsa-manual-controls {
	position: sticky;
	z-index: 9;
	bottom: 0;
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: auto;
	padding: 15px clamp(22px, 4.5vw, 58px);
	border-top: 1px solid #e8ecf3;
	background: rgba(255, 255, 255, .96);
}

.pmsa-manual-next,
.pmsa-manual-submit {
	margin-left: auto;
}

.pmsa-emulated-pagination .tutor-quiz-question-wrapper {
	display: none !important;
}

.pmsa-emulated-pagination .tutor-quiz-question-wrapper.pmsa-manual-active {
	display: block !important;
}

.pmsa-emulated-pagination > .tutor-quiz-footer {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
}

/* MathJax, graph shortcodes, and rich descriptions remain native and responsive. */
.pmsa-exam-shell mjx-container,
.pmsa-exam-shell .MathJax,
.pmsa-exam-shell .MathJax_Display {
	max-width: 100%;
}

.pmsa-exam-shell mjx-container[display="true"],
.pmsa-exam-shell .MathJax_Display {
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
}

.pmsa-exam-shell .pmqb-math-graph,
.pmsa-exam-shell [class*="mathpolygraph"],
.pmsa-exam-shell [class*="mathrationalgraph"],
.pmsa-exam-shell [class*="mathfunctiongraph"],
.pmsa-exam-shell [class*="mathabsgraph"],
.pmsa-exam-shell [class*="mathtriggraph"],
.pmsa-exam-shell [class*="mathvectorgraph"],
.pmsa-exam-shell [class*="mathcirclegraph"] {
	width: 100% !important;
	max-width: 960px !important;
	margin: 18px auto !important;
	overflow: auto;
}

.pmsa-exam-shell canvas,
.pmsa-exam-shell svg,
.pmsa-exam-shell iframe,
.pmsa-exam-shell img {
	max-width: 100%;
}

.pmsa-exam-shell canvas,
.pmsa-exam-shell svg,
.pmsa-exam-shell img {
	height: auto;
}

.pmsa-exam-shell .pmqb-category-table-wrap {
	max-width: 100%;
	overflow-x: auto;
}

/* Identity watermark: visible but never intercepts input. */
.pmsa-watermark {
	position: fixed;
	inset: 78px 0 0;
	z-index: 18;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-template-rows: repeat(4, 1fr);
	pointer-events: none;
	overflow: hidden;
	opacity: .065;
}

.pmsa-watermark span {
	display: grid;
	place-items: center;
	align-content: center;
	gap: 2px;
	max-width: 92%;
	margin: auto;
	color: #263b68;
	letter-spacing: .025em;
	text-align: center;
	transform: rotate(-24deg);
	white-space: normal;
	overflow-wrap: anywhere;
}

.pmsa-watermark span strong {
	font-size: 11px;
	font-weight: 800;
	line-height: 1.2;
}

.pmsa-watermark span small {
	font-size: 8px;
	font-weight: 700;
	line-height: 1.25;
}

.pmsa-exam-finished .pmsa-watermark {
	display: none;
}

/* Start and violation shields. */
.pmsa-gate {
	position: fixed;
	inset: 0;
	z-index: 120;
	display: grid;
	place-items: center;
	padding: 24px;
	background: rgba(15, 19, 36, .76);
	backdrop-filter: blur(14px);
}

.pmsa-gate-card {
	width: min(510px, 100%);
	padding: clamp(28px, 5vw, 46px);
	border: 1px solid rgba(255, 255, 255, .7);
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 30px 80px rgba(7, 10, 25, .35);
	text-align: center;
}

.pmsa-gate-icon {
	display: grid;
	width: 64px;
	height: 64px;
	place-items: center;
	margin: 0 auto 18px;
	border-radius: 20px;
	background: linear-gradient(135deg, var(--pmsa-secondary), var(--pmsa-primary));
	box-shadow: 0 12px 28px color-mix(in srgb, var(--pmsa-primary) 30%, transparent);
	color: #fff;
	font-size: 28px;
	font-weight: 800;
}

.pmsa-gate-icon-warning {
	background: linear-gradient(135deg, #f59e0b, #f97316);
	box-shadow: 0 12px 28px rgba(249, 115, 22, .26);
}

.pmsa-gate-kicker {
	color: var(--pmsa-primary);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.pmsa-gate-card h2 {
	margin: 9px 0 10px;
	color: #151d2d;
	font-size: clamp(25px, 4vw, 34px);
	font-weight: 800;
	line-height: 1.2;
}

.pmsa-gate-card p {
	margin: 0 auto 22px;
	color: #5c667a;
	font-size: 15px;
	line-height: 1.7;
}

.pmsa-gate-note {
	margin: -4px 0 18px;
	padding: 11px 13px;
	border: 1px solid #f6c66c;
	border-radius: 10px;
	background: #fffbeb;
	color: #8a5a00;
	font-size: 13px;
	font-weight: 600;
}

.pmsa-close-card {
	width: min(510px, 100%);
	padding: clamp(28px, 5vw, 42px);
	border: 1px solid rgba(255, 255, 255, .7);
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 30px 80px rgba(7, 10, 25, .35);
	text-align: left;
}

.pmsa-close-icon {
	display: grid;
	width: 58px;
	height: 58px;
	place-items: center;
	margin-bottom: 18px;
	border-radius: 18px;
	background: #fff1f2;
	color: #dc2626;
	font-size: 31px;
	line-height: 1;
}

.pmsa-close-dialog.is-resume .pmsa-close-icon {
	background: #eef2ff;
	color: var(--pmsa-primary);
}

.pmsa-close-card h2 {
	margin: 9px 0 8px;
	color: #151d2d;
	font-size: 27px;
	line-height: 1.2;
}

.pmsa-close-card > p {
	margin: 0 0 20px;
	color: #5c667a;
	font-size: 14px;
	line-height: 1.65;
}

.pmsa-close-password-label {
	display: flex;
	flex-direction: column;
	gap: 7px;
	color: #344054;
	font-size: 13px;
	font-weight: 700;
}

.pmsa-close-password-label input {
	width: 100%;
	min-height: 48px;
	padding: 10px 13px;
	border: 1px solid #cdd5e2;
	border-radius: 11px;
	background: #fff;
	font: inherit;
}

.pmsa-close-password-label input:focus {
	border-color: var(--pmsa-primary);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--pmsa-primary) 13%, transparent);
	outline: none;
}

.pmsa-close-message {
	margin-top: 13px;
	padding: 10px 12px;
	border-radius: 9px;
	font-size: 12px;
	font-weight: 650;
}

.pmsa-close-message.is-error {
	border: 1px solid #fecaca;
	background: #fff1f2;
	color: #b42318;
}

.pmsa-close-message.is-success {
	border: 1px solid #a7f3d0;
	background: #ecfdf3;
	color: #067647;
}

.pmsa-close-actions {
	display: grid;
	grid-template-columns: 1fr 1.6fr;
	gap: 10px;
	margin-top: 20px;
}

.pmsa-close-actions button {
	min-height: 48px;
	padding: 10px 14px;
	border-radius: 11px;
	font: inherit;
	font-size: 13px;
	font-weight: 750;
	cursor: pointer;
}

.pmsa-close-cancel {
	border: 1px solid #cdd5e2;
	background: #fff;
	color: #344054;
}

.pmsa-close-verify {
	border: 0;
	background: linear-gradient(135deg, #dc2626, #ef4444);
	box-shadow: 0 8px 18px rgba(220, 38, 38, .2);
	color: #fff;
}

.pmsa-close-dialog.is-resume .pmsa-close-verify {
	background: linear-gradient(135deg, var(--pmsa-secondary), var(--pmsa-primary));
	box-shadow: 0 8px 18px color-mix(in srgb, var(--pmsa-primary) 22%, transparent);
}

.pmsa-close-actions button:disabled {
	cursor: wait;
	opacity: .65;
}

.pmsa-start-button,
.pmsa-return-button,
.pmsa-compat-button {
	display: inline-flex;
	width: 100%;
	min-height: 50px;
	align-items: center;
	justify-content: center;
	padding: 12px 18px;
	border-radius: 12px;
	font: inherit;
	font-size: 15px;
	font-weight: 750;
	cursor: pointer;
}

.pmsa-guard-actions {
	display: grid;
	gap: 10px;
}

.pmsa-resume-authorize-button {
	min-height: 48px;
	padding: 11px 16px;
	border: 1px solid #cdd5e2;
	border-radius: 12px;
	background: #fff;
	color: #344054;
	font: inherit;
	font-size: 14px;
	font-weight: 750;
	cursor: pointer;
}

.pmsa-resume-authorize-button:hover,
.pmsa-resume-authorize-button:focus-visible {
	border-color: var(--pmsa-primary);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--pmsa-primary) 12%, transparent);
	outline: none;
}

.pmsa-browser-control-note {
	display: block;
	margin-top: 16px;
	color: #7a8498;
	font-size: 11px;
	line-height: 1.55;
}

.pmsa-exam-shell [inert] {
	pointer-events: none !important;
	user-select: none !important;
}

.pmsa-start-button,
.pmsa-return-button {
	border: 0;
	background: linear-gradient(135deg, var(--pmsa-secondary), var(--pmsa-primary));
	box-shadow: 0 10px 22px color-mix(in srgb, var(--pmsa-primary) 28%, transparent);
	color: #fff;
}

.pmsa-compat-button {
	margin-top: 10px;
	border: 1px solid #ccd4e0;
	background: #fff;
	color: #465166;
}

.pmsa-start-button:disabled,
.pmsa-return-button:disabled {
	cursor: wait;
	opacity: .68;
}

.pmsa-review-card {
	width: min(620px, 100%);
	max-height: min(760px, calc(100vh - 40px));
	padding: clamp(24px, 4vw, 36px);
	overflow: auto;
	border: 1px solid rgba(255, 255, 255, .75);
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 30px 80px rgba(7, 10, 25, .35);
	text-align: left;
}

.pmsa-review-card h2 {
	margin: 8px 0 6px;
	font-size: clamp(23px, 3vw, 30px);
	line-height: 1.25;
}

.pmsa-review-card > p {
	margin: 0 0 19px;
	color: #667085;
	font-size: 13px;
}

.pmsa-review-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 9px;
}

.pmsa-review-stats > div {
	padding: 12px;
	border: 1px solid #e1e6ee;
	border-radius: 11px;
	background: #f8fafc;
}

.pmsa-review-stats strong,
.pmsa-review-stats span { display: block; }
.pmsa-review-stats strong { font-size: 22px; }
.pmsa-review-stats span { color: #667085; font-size: 11px; font-weight: 650; }
.pmsa-review-stats .is-answered strong { color: #079455; }
.pmsa-review-stats .is-unanswered strong { color: #667085; }
.pmsa-review-stats .is-doubtful strong { color: #d97706; }

.pmsa-review-grid {
	display: grid;
	grid-template-columns: repeat(8, minmax(38px, 1fr));
	gap: 8px;
	margin: 20px 0;
}

.pmsa-review-grid button {
	aspect-ratio: 1;
	min-width: 0;
	padding: 0;
	border: 1px solid #d8dee9;
	border-radius: 9px;
	background: #eef1f5;
	color: #596377;
	font: inherit;
	font-size: 12px;
	font-weight: 800;
	cursor: pointer;
}

.pmsa-review-grid button.is-answered { border-color: #1bb96c; background: #22c55e; color: #fff; }
.pmsa-review-grid button.is-doubtful { border-color: #f59e0b; background: #f59e0b; color: #fff; }
.pmsa-review-grid button:focus-visible { outline: 3px solid color-mix(in srgb, var(--pmsa-primary) 24%, transparent); outline-offset: 2px; }

.pmsa-review-actions {
	display: grid;
	grid-template-columns: 1fr 1.4fr;
	gap: 10px;
}

.pmsa-review-actions button {
	min-height: 46px;
	padding: 10px 14px;
	border-radius: 10px;
	font: inherit;
	font-size: 13px;
	font-weight: 750;
	cursor: pointer;
}

.pmsa-review-back { border: 1px solid #cdd5e2; background: #fff; color: #344054; }
.pmsa-review-submit { border: 0; background: linear-gradient(135deg, var(--pmsa-secondary), var(--pmsa-primary)); color: #fff; }

.pmsa-navigation-collapsed .pmsa-workspace {
	grid-template-columns: minmax(0, 1fr);
}

.pmsa-navigation-collapsed .pmsa-question-drawer {
	display: none;
}

.pmsa-text-large { font-size: 18px; }
.pmsa-text-xlarge { font-size: 20px; }
.pmsa-text-large .tutor-quiz-question-title,
.pmsa-text-large .tutor-quiz-question-option { font-size: 1.08em !important; }
.pmsa-text-xlarge .tutor-quiz-question-title,
.pmsa-text-xlarge .tutor-quiz-question-option { font-size: 1.18em !important; }

.pmsa-high-contrast {
	background: #fff !important;
	color: #000;
}

.pmsa-high-contrast .pmsa-question-card,
.pmsa-high-contrast .pmsa-question-drawer,
.pmsa-high-contrast form.tutor-quiz-submission {
	border-color: #111 !important;
	background: #fff !important;
}

.pmsa-high-contrast .tutor-quiz-question-option {
	border-width: 2px !important;
	border-color: #111 !important;
	background: #fff !important;
	color: #000 !important;
}

.pmsa-high-contrast .tutor-quiz-question-option:has(input:checked) {
	border-color: #111 !important;
	background: #ffef73 !important;
}

.pmsa-navigation-hidden .pmsa-workspace {
	grid-template-columns: minmax(0, 1fr);
}

.pmsa-navigation-hidden .pmsa-question-drawer,
.pmsa-navigation-hidden .pmsa-nav-toggle,
.pmsa-navigation-hidden .pmsa-desktop-nav-toggle {
	display: none !important;
}

/* Tutor modals must stay above the exam shell after submission. */
body.pmsa-exam-active .tutor-modal-wrap,
body.pmsa-exam-active .tutor-modal,
body.pmsa-exam-active [role="dialog"].tutor-modal-root {
	z-index: 1000120 !important;
}

@media (max-width: 1024px) {
	.pmsa-header {
		padding-inline: 18px;
	}

	.pmsa-header-title strong,
	.pmsa-header-title span {
		max-width: 30vw;
	}

	.pmsa-user-card div {
		display: none;
	}

	.pmsa-user-card {
		min-width: 0;
		padding: 5px;
	}

	.pmsa-workspace {
		grid-template-columns: minmax(0, 1fr) 288px;
		padding: 16px;
	}

	.pmsa-question-drawer {
		padding: 18px;
	}

	.pmsa-question-grid {
		gap: 8px;
	}

	.pmsa-save-status {
		max-width: 16px;
	}

	.pmsa-save-status span {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
	}
}

@media (max-width: 800px) {
	.pmsa-header {
		z-index: 80;
		flex-basis: 68px;
		gap: 10px;
		padding: 8px 12px;
	}

	.pmsa-logo {
		width: 98px;
		height: 40px;
	}

	.pmsa-header-title {
		display: none;
	}

	.pmsa-header-tools {
		gap: 7px;
	}

	.pmsa-desktop-nav-toggle {
		display: none;
	}

	.pmsa-save-status {
		position: fixed;
		z-index: 55;
		top: 74px;
		left: 50%;
		max-width: none;
		padding: 4px 9px;
		border-radius: 999px;
		background: rgba(15,23,42,.84);
		font-size: 9px;
		transform: translateX(-50%);
	}

	.pmsa-save-status span {
		position: static;
		width: auto;
		height: auto;
		overflow: visible;
		clip: auto;
		white-space: nowrap;
	}

	.pmsa-accessibility-toggle {
		width: 42px;
		height: 42px;
		min-width: 42px;
	}

	.pmsa-accessibility-panel {
		top: 76px;
		right: 12px;
	}

	.pmsa-user-card {
		display: none;
	}

	.pmsa-timer-card {
		min-width: 105px;
		padding: 7px 9px;
	}

	.pmsa-timer-card strong {
		font-size: 14px;
	}

	.pmsa-nav-toggle {
		display: inline-flex;
	}

	.pmsa-workspace {
		position: static;
		z-index: auto;
		display: block;
		min-height: 0;
		flex: 1 1 auto;
		overflow: hidden;
		padding: 10px;
	}

	.pmsa-main {
		height: 100%;
		min-height: 0;
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior-y: contain;
		scrollbar-gutter: auto;
		touch-action: pan-y;
		-webkit-overflow-scrolling: touch;
	}

	.pmsc-cbt-shell .pmsa-question-card {
		height: auto !important;
		min-height: 100% !important;
		border-radius: 14px;
		overflow: visible !important;
	}

	/* One mobile scroll owner: .pmsa-main. Nested CBT containers must expand
	   naturally so the final Ragu-ragu row cannot be clipped below the viewport. */
	.pmsc-cbt-shell .kwpcbt-test-layout,
	.pmsc-cbt-shell .kwpcbt-main-body,
	.pmsc-cbt-shell .kwpcbt-question-area {
		height: auto !important;
		min-height: 100% !important;
		overflow: visible !important;
	}

	.pmsc-cbt-shell .kwpcbt-question-card {
		min-height: 100% !important;
	}

	.pmsc-cbt-shell .kwpcbt-q-nav {
		position: static !important;
		bottom: auto !important;
		flex: 0 0 auto !important;
		padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
		box-shadow: 0 -7px 22px rgba(27, 38, 63, .04) !important;
	}

	.pmsc-cbt-shell .kwpcbt-doubt-toggle {
		display: inline-flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		min-height: 48px !important;
		flex: 1 0 100% !important;
		touch-action: manipulation;
	}

	.pmsa-question-drawer {
		position: fixed;
		z-index: 70;
		top: 68px;
		right: 0;
		bottom: 0;
		width: min(88vw, 360px);
		max-height: none;
		padding: 22px;
		border: 0;
		border-radius: 22px 0 0 22px;
		box-shadow: -18px 0 45px rgba(15, 23, 42, .22);
		pointer-events: none;
		transform: translateX(105%);
		transition: transform .22s ease;
		touch-action: pan-y;
		overscroll-behavior: contain;
	}

	.pmsa-navigation-collapsed:not(.pmsa-navigation-hidden) .pmsa-question-drawer {
		display: block;
	}

	.pmsa-drawer-close {
		display: block;
	}

	.pmsa-drawer-backdrop {
		position: fixed;
		z-index: 60;
		top: 68px;
		right: 0;
		bottom: 0;
		left: 0;
		display: block;
		background: rgba(15, 23, 42, .48);
		opacity: 0;
		pointer-events: none;
		transition: opacity .22s ease;
		touch-action: manipulation;
		-webkit-tap-highlight-color: transparent;
	}

	.pmsa-drawer-open .pmsa-question-drawer {
		pointer-events: auto;
		transform: translateX(0);
	}

	.pmsa-drawer-open .pmsa-drawer-backdrop {
		opacity: 1;
		pointer-events: auto;
	}

	.pmsa-watermark {
		inset: 68px 0 0;
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: repeat(6, 1fr);
	}

	.pmsa-watermark span:nth-child(n+13) {
		display: none;
	}

	.pmsa-watermark span strong { font-size: 9.5px; }
	.pmsa-watermark span small { font-size: 7px; }

	.pmsa-exam-shell .tutor-quiz-questions {
		padding: 24px 18px 18px !important;
	}

	.pmsa-exam-shell .tutor-quiz-question-options {
		grid-template-columns: 1fr;
		gap: 10px !important;
	}

	.pmsa-exam-shell .tutor-quiz-footer,
	.pmsa-manual-controls {
		padding: 12px 14px !important;
	}

	.pmsa-exam-shell .tutor-quiz-footer-inner {
		flex-wrap: wrap;
	}

	.pmsa-doubtful-control {
		order: 2;
	}

	.pmsa-exam-shell .tutor-quiz-footer-actions {
		width: 100%;
		order: 1;
	}

	.pmsa-exam-shell .tutor-quiz-footer-actions > * {
		flex: 1 1 auto;
	}

	.pmsa-review-grid {
		grid-template-columns: repeat(5, minmax(38px, 1fr));
	}
}

@media (max-width: 520px) {
	.pmsa-header {
		gap: 6px;
		padding-inline: 8px;
	}

	.pmsa-header-brand {
		flex: 0 1 auto;
	}

	.pmsa-header-tools {
		min-width: 0;
		gap: 5px;
	}

	.pmsa-logo {
		width: 76px;
	}

	.pmsa-nav-toggle {
		width: 42px;
		justify-content: center;
		padding: 7px;
		font-size: 0;
	}

	.pmsa-nav-toggle span {
		font-size: 20px;
	}

	.pmsa-timer-card span {
		display: none;
	}

	.pmsa-timer-card {
		min-width: 82px;
		align-items: center;
	}

	.pmsa-exam-shell .tutor-quiz-question-header {
		grid-template-columns: auto minmax(0, 1fr);
		gap: 10px !important;
		margin-bottom: 20px !important;
	}

	.pmsa-exam-shell .tutor-quiz-question-header > .tutor-badge {
		grid-column: 2;
		justify-self: start;
	}

	.pmsa-exam-shell .tutor-quiz-question-number {
		width: 32px !important;
		height: 32px !important;
		min-width: 32px !important;
		font-size: 14px !important;
	}

	.pmsa-exam-shell .tutor-quiz-question-title,
	.pmsa-exam-shell .tutor-quiz-question-title > .tutor-p2,
	.pmsa-exam-shell .tutor-quiz-question-title > div,
	.pmsa-exam-shell .tutor-quiz-question-option {
		font-size: 15px !important;
	}

	.pmsa-exam-shell .tutor-btn,
	.pmsa-doubtful-control,
	.pmsa-finish-control,
	.pmsa-manual-controls button {
		min-height: 42px !important;
		padding: 9px 12px !important;
		font-size: 12px !important;
	}

	.pmsa-manual-controls {
		flex-wrap: wrap;
	}

	.pmsa-manual-controls button {
		flex: 1 1 calc(50% - 5px);
		margin-left: 0;
	}

	.pmsa-close-exam-button {
		width: 28px;
		height: 28px;
		min-width: 28px;
		min-height: 28px;
		flex-basis: 28px;
		border-radius: 8px;
	}

	.pmsa-close-exam-button svg {
		width: 13px;
		height: 13px;
	}

	.pmsa-close-actions {
		grid-template-columns: 1fr;
	}

	.pmsa-review-stats {
		grid-template-columns: 1fr;
	}

	.pmsa-review-actions {
		grid-template-columns: 1fr;
	}
}

/* Native CBT review math repair ----------------------------------------- */
.pmsc-cbt-review-active #kwpcbt-review-container .kwp-math,
.pmsc-cbt-review-active #kwpcbt-review-container .katex {
	max-width: 100%;
}

.pmsc-cbt-review-active #kwpcbt-review-container .katex-display {
	max-width: 100%;
	margin: 0.65em 0;
	overflow-x: auto;
	overflow-y: hidden;
	padding: 2px 0;
	-webkit-overflow-scrolling: touch;
}

.pmsc-cbt-review-active #kwpcbt-review-container .kwp-math-block {
	display: block;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
}

@media (max-width: 640px) {
	.pmsc-cbt-review-active #kwpcbt-review-container .katex {
		font-size: 1em;
	}

	.pmsc-cbt-review-active #kwpcbt-review-container .kwpcbt-q-text-content,
	.pmsc-cbt-review-active #kwpcbt-review-container .kwpcbt-review-acc-content {
		overflow-wrap: anywhere;
	}
}

/* Safe, modern review document for account owners, guests, and administrators. */
body.pmsc-safe-review-page {
	min-height: 100vh;
	margin: 0 !important;
	background:
		radial-gradient(circle at 8% 3%, rgba(168, 85, 247, .14), transparent 29%),
		radial-gradient(circle at 94% 4%, rgba(236, 72, 153, .1), transparent 27%),
		linear-gradient(145deg, #faf7ff 0%, #f8f5ff 48%, #fff9fd 100%) !important;
	color: #1f1630;
	font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.pmsc-safe-review-page::before {
	position: fixed;
	z-index: 0;
	inset: 0;
	pointer-events: none;
	background-image:
		linear-gradient(rgba(109, 40, 217, .032) 1px, transparent 1px),
		linear-gradient(90deg, rgba(109, 40, 217, .032) 1px, transparent 1px);
	background-size: 36px 36px;
	mask-image: linear-gradient(to bottom, #000, transparent 70%);
	content: "";
}

.pmsc-review-app {
	position: relative;
	z-index: 1;
	min-height: 100vh;
}

.pmsc-review-topbar {
	display: flex;
	min-height: 72px;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 10px max(24px, calc((100vw - 1180px) / 2));
	border-bottom: 1px solid rgba(105, 78, 135, .14);
	background: rgba(255, 255, 255, .9);
	box-shadow: 0 5px 24px rgba(51, 27, 83, .055);
	backdrop-filter: blur(18px);
}

.pmsc-review-brand {
	display: inline-flex;
	align-items: center;
}

.pmsc-review-brand img {
	display: block;
	width: 150px;
	height: 46px;
	object-fit: contain;
}

.pmsc-review-identity {
	display: grid;
	justify-items: end;
	gap: 2px;
}

.pmsc-review-identity span {
	color: var(--pmsa-primary);
	font-size: 9px;
	font-weight: 850;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.pmsc-review-identity strong {
	max-width: 300px;
	overflow: hidden;
	color: #342341;
	font-size: 13px;
	font-weight: 800;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.pmsc-safe-review-content {
	width: min(calc(100% - 32px), 1180px);
	margin: 0 auto;
	padding: 30px 0 54px;
}

.pmsc-review-intro {
	position: relative;
	isolation: isolate;
	display: flex;
	min-height: 190px;
	align-items: end;
	justify-content: space-between;
	gap: 28px;
	margin-bottom: 20px;
	padding: clamp(27px, 4vw, 44px);
	overflow: hidden;
	border-radius: 27px;
	background:
		radial-gradient(circle at 86% 18%, rgba(249, 168, 212, .28), transparent 27%),
		linear-gradient(128deg, #26044f 0%, var(--pmsa-primary) 43%, var(--pmsa-secondary) 78%, #c026d3 120%);
	box-shadow: 0 24px 58px rgba(76, 29, 149, .2);
	color: #fff;
}

.pmsc-review-intro::after {
	position: absolute;
	z-index: -1;
	top: -180px;
	right: -80px;
	width: 360px;
	height: 360px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 50%;
	box-shadow: inset 0 0 80px rgba(255, 255, 255, .07);
	content: "";
}

.pmsc-review-intro > div {
	min-width: 0;
}

.pmsc-review-intro > div > span {
	color: rgba(255, 255, 255, .76);
	font-size: 9px;
	font-weight: 850;
	letter-spacing: .18em;
}

.pmsc-review-intro h1 {
	max-width: 790px;
	margin: 8px 0 0;
	color: #fff;
	font-size: clamp(27px, 4vw, 44px);
	font-weight: 900;
	letter-spacing: -.04em;
	line-height: 1.08;
	text-wrap: balance;
}

.pmsc-review-intro p {
	margin: 11px 0 0;
	color: rgba(255, 255, 255, .75);
	font-size: 13px;
	line-height: 1.6;
}

.pmsc-review-intro > a {
	display: inline-flex;
	min-height: 43px;
	flex: 0 0 auto;
	align-items: center;
	gap: 12px;
	padding: 9px 15px;
	border: 1px solid rgba(255, 255, 255, .24);
	border-radius: 13px;
	background: rgba(255, 255, 255, .14);
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	text-decoration: none;
	backdrop-filter: blur(10px);
}

.pmsc-review-intro > a:hover,
.pmsc-review-intro > a:focus-visible {
	background: rgba(255, 255, 255, .22);
	color: #fff;
	outline: none;
}

.pmsc-safe-review-content #kwpcbt-review-container {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: clamp(17px, 3vw, 28px) !important;
	border: 1px solid rgba(111, 82, 138, .14) !important;
	border-radius: 25px !important;
	background: rgba(255, 255, 255, .96) !important;
	box-shadow: 0 17px 42px rgba(45, 25, 65, .075) !important;
}

.pmsc-safe-review-content #kwpcbt-review-container > div:first-of-type {
	margin-bottom: 17px !important;
	padding: 0 0 15px !important;
	border-bottom-color: #e8deef !important;
}

.pmsc-safe-review-content #kwpcbt-review-container > div:first-of-type h2 {
	color: #2e1e3a !important;
	font-size: clamp(16px, 2vw, 21px) !important;
	font-weight: 850 !important;
	letter-spacing: -.02em;
}

.pmsc-safe-review-content #kwpcbt-review-container .kwpcbt-review-acc-item {
	margin-bottom: 10px !important;
	overflow: hidden;
	border-color: #e6ddec !important;
	border-radius: 14px !important;
	box-shadow: 0 6px 16px rgba(47, 27, 69, .035);
}

.pmsc-safe-review-content #kwpcbt-review-container .kwpcbt-review-acc-header {
	min-height: 46px;
	padding: 10px 13px !important;
	background: linear-gradient(145deg, #fcfaff, #f8f4fc) !important;
}

.pmsc-safe-review-content #kwpcbt-review-container .kwpcbt-review-acc-header:hover {
	background: #f4edfb !important;
}

.pmsc-safe-review-content #kwpcbt-review-container .kwpcbt-review-acc-content {
	padding: clamp(13px, 2.4vw, 22px) !important;
	border-top-color: #ded1e8 !important;
}

.pmsc-safe-review-content #kwpcbt-review-container .kwpcbt-acc-expand-all {
	min-height: 36px;
	padding: 7px 11px !important;
	border-color: #d8cae4 !important;
	border-radius: 10px !important;
	background: #f7f1fd !important;
	color: var(--pmsa-primary) !important;
}

.pmsc-review-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 23px max(24px, calc((100vw - 1180px) / 2));
	border-top: 1px solid rgba(105, 78, 135, .13);
	background: rgba(255, 255, 255, .7);
	color: #8b7b94;
}

.pmsc-review-footer span {
	color: #4a3657;
	font-size: 11px;
	font-weight: 850;
}

.pmsc-review-footer small {
	font-size: 9px;
}

.pmsc-review-error-page {
	display: grid;
	min-height: 100vh;
	place-items: center;
	padding: 22px;
}

.pmsc-review-error {
	position: relative;
	z-index: 1;
	display: grid;
	width: min(100%, 560px);
	justify-items: center;
	padding: clamp(28px, 5vw, 50px);
	border: 1px solid rgba(111, 82, 138, .16);
	border-radius: 28px;
	background: rgba(255, 255, 255, .96);
	box-shadow: 0 24px 64px rgba(63, 34, 88, .13);
	text-align: center;
}

.pmsc-review-error img {
	width: 150px;
	height: 48px;
	margin-bottom: 24px;
	object-fit: contain;
}

.pmsc-review-error > span {
	display: grid;
	width: 58px;
	height: 58px;
	place-items: center;
	border-radius: 19px;
	background: #fff0f4;
	color: #e11d48;
	font-size: 26px;
	font-weight: 900;
}

.pmsc-review-error h1 {
	margin: 18px 0 8px;
	color: #30203b;
	font-size: clamp(24px, 5vw, 34px);
	font-weight: 900;
	letter-spacing: -.035em;
}

.pmsc-review-error p {
	margin: 0;
	color: #776881;
	font-size: 13px;
	line-height: 1.7;
}

.pmsc-review-error a {
	margin-top: 22px;
	padding: 11px 18px;
	border-radius: 13px;
	background: linear-gradient(120deg, var(--pmsa-primary), var(--pmsa-secondary));
	box-shadow: 0 10px 24px rgba(109, 40, 217, .2);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	text-decoration: none;
}

@media (max-width: 720px) {
	.pmsc-review-topbar { min-height: 64px; padding: 8px 14px; }
	.pmsc-review-brand img { width: 124px; height: 40px; }
	.pmsc-review-identity strong { max-width: 160px; font-size: 11px; }
	.pmsc-safe-review-content { width: min(calc(100% - 20px), 1180px); padding: 15px 0 34px; }
	.pmsc-review-intro { min-height: 210px; align-items: stretch; flex-direction: column; padding: 25px 22px; border-radius: 22px; }
	.pmsc-review-intro > a { align-self: flex-start; }
	.pmsc-safe-review-content #kwpcbt-review-container { padding: 13px !important; border-radius: 19px !important; }
	.pmsc-safe-review-content #kwpcbt-review-container > div:first-of-type { align-items: flex-start !important; flex-direction: column !important; gap: 10px; }
	.pmsc-review-footer { align-items: flex-start; flex-direction: column; padding: 18px 15px; }
}

@media print {
	body.pmsa-print-blocked * {
		visibility: hidden !important;
	}

	body.pmsa-print-blocked::before {
		position: fixed;
		inset: 0;
		display: grid;
		visibility: visible !important;
		place-items: center;
		content: "Pencetakan halaman ujian dinonaktifkan oleh Promath Safe Exam.";
		color: #111827;
		font: 700 18px/1.5 sans-serif;
		text-align: center;
	}
}
html.pmsc-submit-transition #kwpcbt-proctor-alert,
html.pmsc-exam-completed #kwpcbt-proctor-alert {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* Premium pre-exam lobby. Native CBT form and actions remain untouched. */
body.pmsc-cbt-lobby-active {
	min-height: 100vh;
	margin: 0 !important;
	padding: clamp(14px, 4vw, 46px) !important;
	overflow-x: hidden;
	background:
		radial-gradient(circle at 12% 4%, rgba(124, 58, 237, 0.18), transparent 31%),
		radial-gradient(circle at 92% 8%, rgba(37, 99, 235, 0.15), transparent 27%),
		linear-gradient(145deg, #faf7ff 0%, #f7f2ff 48%, #fff7fd 100%) !important;
	color: #111827;
	font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.pmsc-cbt-lobby-active::before {
	position: fixed;
	z-index: 0;
	inset: 0;
	pointer-events: none;
	background-image:
		linear-gradient(rgba(79, 70, 229, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(79, 70, 229, 0.035) 1px, transparent 1px);
	background-size: 34px 34px;
	mask-image: linear-gradient(to bottom, #000, transparent 72%);
	content: "";
}

.pmsc-cbt-lobby-active .kwpcbt-lobby-container.pmsc-lobby-enhanced {
	position: relative;
	z-index: 1;
	width: min(100%, 1040px) !important;
	max-width: 1040px !important;
	margin: 0 auto !important;
	padding: 0 0 30px !important;
	overflow: hidden;
	border: 1px solid rgba(203, 213, 225, 0.72);
	border-radius: 30px !important;
	background: rgba(255, 255, 255, 0.96) !important;
	box-shadow: 0 30px 80px rgba(30, 41, 59, 0.13), 0 8px 26px rgba(79, 70, 229, 0.08);
	color: #111827;
	font-size: 15px;
	line-height: 1.55;
	animation: pmsc-lobby-rise 0.55s cubic-bezier(0.2, 0.75, 0.2, 1) both;
}

.pmsc-cbt-lobby-active .kwpcbt-lobby-container.pmsc-lobby-enhanced:fullscreen {
	width: 100vw !important;
	max-width: 100vw !important;
	height: 100vh !important;
	margin: 0 !important;
	padding: 0 0 30px !important;
	overflow-y: auto !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #f8faff !important;
}

.pmsc-lobby-svg {
	display: block;
	width: 1em;
	height: 1em;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.pmsc-cbt-lobby-active .pmsc-lobby-hero {
	position: relative;
	isolation: isolate;
	margin: 0 !important;
	padding: clamp(24px, 4vw, 46px) !important;
	overflow: hidden;
	background:
		radial-gradient(circle at 82% 18%, rgba(244, 114, 182, 0.28), transparent 28%),
		radial-gradient(circle at 16% 112%, rgba(216, 180, 254, 0.3), transparent 35%),
		linear-gradient(128deg, #25034f 0%, var(--pmsa-primary) 40%, var(--pmsa-secondary) 72%, #c026d3 112%) !important;
	color: #fff !important;
}

.pmsc-cbt-lobby-active .pmsc-lobby-hero::before,
.pmsc-cbt-lobby-active .pmsc-lobby-hero::after {
	position: absolute;
	z-index: -1;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 999px;
	content: "";
}

.pmsc-cbt-lobby-active .pmsc-lobby-hero::before {
	top: -180px;
	right: -110px;
	width: 370px;
	height: 370px;
	box-shadow: inset 0 0 80px rgba(255, 255, 255, 0.07);
}

.pmsc-cbt-lobby-active .pmsc-lobby-hero::after {
	right: 18%;
	bottom: -190px;
	width: 290px;
	height: 290px;
}

.pmsc-lobby-brand-row,
.pmsc-lobby-title-row {
	position: relative;
	z-index: 1;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px;
}

.pmsc-lobby-brand-row {
	margin-bottom: clamp(30px, 5vw, 54px);
}

.pmsc-lobby-brand {
	display: flex;
	align-items: center;
	gap: 11px;
}

.pmsc-lobby-brand img {
	display: block;
	width: 104px;
	height: auto;
	padding: 9px 12px;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 10px 28px rgba(15, 23, 42, 0.2);
}

.pmsc-lobby-brand > span {
	display: grid;
	gap: 1px;
}

.pmsc-lobby-brand strong {
	color: #fff;
	font-size: 13px;
	font-weight: 850;
	letter-spacing: 0.13em;
}

.pmsc-lobby-brand small {
	color: rgba(255, 255, 255, 0.68);
	font-size: 10px;
	font-weight: 650;
	letter-spacing: 0.04em;
}

.pmsc-lobby-ready-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 36px;
	padding: 7px 13px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 999px;
	background: rgba(15, 23, 42, 0.18);
	box-shadow: inset 0 1px rgba(255, 255, 255, 0.1);
	color: rgba(255, 255, 255, 0.9);
	font-size: 12px;
	font-weight: 700;
	backdrop-filter: blur(10px);
}

.pmsc-lobby-ready-badge i {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #5ee9a7;
	box-shadow: 0 0 0 5px rgba(94, 233, 167, 0.13), 0 0 18px rgba(94, 233, 167, 0.7);
}

.pmsc-cbt-lobby-active .pmsc-lobby-title-row {
	align-items: flex-start !important;
	margin-bottom: 14px !important;
}

.pmsc-cbt-lobby-active .pmsc-lobby-title-row > div {
	min-width: 0;
}

.pmsc-cbt-lobby-active .pmsc-lobby-title,
.pmsc-cbt-lobby-active .kwpcbt-lobby-header .pmsc-lobby-title {
	max-width: 790px;
	margin: 0 !important;
	color: #fff !important;
	font-size: clamp(28px, 4.1vw, 46px) !important;
	font-weight: 850 !important;
	letter-spacing: -0.035em;
	line-height: 1.08 !important;
	text-wrap: balance;
}

.pmsc-lobby-fullscreen {
	display: grid;
	width: 45px;
	height: 45px;
	min-width: 45px;
	padding: 0;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, 0.26);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
	font-size: 20px;
	cursor: pointer;
	backdrop-filter: blur(12px);
	transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.pmsc-lobby-fullscreen:hover,
.pmsc-lobby-fullscreen:focus-visible {
	border-color: rgba(255, 255, 255, 0.48);
	background: rgba(255, 255, 255, 0.18);
	transform: translateY(-2px);
	outline: none;
}

.pmsc-cbt-lobby-active .pmsc-lobby-description {
	position: relative;
	z-index: 1;
	max-width: 760px;
	margin: 0 0 20px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: rgba(255, 255, 255, 0.76) !important;
	font-size: 15px !important;
	line-height: 1.65 !important;
}

.pmsc-cbt-lobby-active .pmsc-lobby-description > :first-child { margin-top: 0; }
.pmsc-cbt-lobby-active .pmsc-lobby-description > :last-child { margin-bottom: 0; }

.pmsc-lobby-motivation {
	position: relative;
	z-index: 1;
	display: grid;
	max-width: 790px;
	gap: 5px;
	padding: 18px 20px;
	border: 1px solid rgba(255, 255, 255, 0.17);
	border-radius: 18px;
	background: linear-gradient(90deg, rgba(15, 23, 42, 0.22), rgba(255, 255, 255, 0.08));
	box-shadow: inset 0 1px rgba(255, 255, 255, 0.08);
	backdrop-filter: blur(10px);
}

.pmsc-lobby-eyebrow {
	color: #a5f3fc;
	font-size: 10px;
	font-weight: 850;
	letter-spacing: 0.16em;
}

.pmsc-lobby-motivation strong {
	color: #fff;
	font-size: clamp(17px, 2.2vw, 22px);
	font-weight: 780;
	letter-spacing: -0.015em;
}

.pmsc-lobby-motivation p {
	margin: 0;
	color: rgba(255, 255, 255, 0.73);
	font-size: 13px;
	line-height: 1.55;
}

.pmsc-lobby-section-title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 28px 28px 14px;
}

.pmsc-lobby-section-title > span,
.pmsc-lobby-history-icon {
	display: grid;
	width: 42px;
	height: 42px;
	min-width: 42px;
	place-items: center;
	border-radius: 13px;
	background: linear-gradient(145deg, #ede9fe, #dbeafe);
	color: #5b21b6;
	font-size: 21px;
}

.pmsc-lobby-section-title > div {
	display: grid;
	gap: 1px;
}

.pmsc-lobby-section-title strong {
	color: #172033;
	font-size: 17px;
	font-weight: 800;
	letter-spacing: -0.015em;
}

.pmsc-lobby-section-title small {
	color: #64748b;
	font-size: 12px;
}

.pmsc-cbt-lobby-active .pmsc-lobby-info-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
	gap: 12px !important;
	margin: 0 28px 14px !important;
}

.pmsc-cbt-lobby-active .pmsc-lobby-info-grid .kwpcbt-info-item {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	grid-template-rows: auto auto;
	column-gap: 13px;
	align-items: center;
	min-height: 84px;
	padding: 14px 16px !important;
	border: 1px solid #e5e9f2 !important;
	border-radius: 17px !important;
	background: linear-gradient(145deg, #fff, #f8faff) !important;
	box-shadow: 0 8px 24px rgba(30, 41, 59, 0.045);
	text-align: left !important;
}

.pmsc-lobby-info-icon {
	display: grid;
	grid-row: 1 / 3;
	width: 48px;
	height: 48px;
	place-items: center;
	border-radius: 15px;
	background: #ede9fe;
	color: #6d28d9;
	font-size: 24px;
}

.pmsc-lobby-info-icon.is-clock { background: #dbeafe; color: #2563eb; }
.pmsc-lobby-info-icon.is-retry { background: #dcfce7; color: #059669; }
.pmsc-lobby-info-icon.is-calendar { background: #fef3c7; color: #d97706; }

.pmsc-cbt-lobby-active .pmsc-lobby-info-grid .kwpcbt-info-label {
	align-self: end;
	margin: 0 !important;
	color: #7c879b !important;
	font-size: 11px !important;
	font-weight: 700;
	letter-spacing: 0.045em;
	line-height: 1.3;
	text-transform: uppercase;
}

.pmsc-cbt-lobby-active .pmsc-lobby-info-grid .kwpcbt-info-value {
	align-self: start;
	color: #172033 !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	line-height: 1.35;
}

.pmsc-cbt-lobby-active .pmsc-lobby-form-card {
	margin: 8px 28px 0 !important;
	padding: 24px !important;
	border: 1px solid #e4e8f0 !important;
	border-radius: 22px;
	background: linear-gradient(145deg, #fbfcff, #f7f7ff);
}

.pmsc-cbt-lobby-active .pmsc-lobby-form-card .kwpcbt-form-group {
	margin-bottom: 14px;
}

.pmsc-cbt-lobby-active .pmsc-lobby-form-card .kwpcbt-form-group label {
	margin-bottom: 6px;
	color: #253047;
	font-size: 13px;
	font-weight: 750;
}

.pmsc-cbt-lobby-active .pmsc-lobby-form-card .kwpcbt-input {
	min-height: 46px;
	padding: 10px 13px;
	border: 1px solid #cfd7e6;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
	color: #172033;
	font-size: 15px;
}

.pmsc-cbt-lobby-active .pmsc-lobby-form-card .kwpcbt-input:focus {
	border-color: var(--pmsa-primary);
	box-shadow: 0 0 0 4px rgba(124, 58, 237, 0.1);
	outline: none;
}

.pmsc-cbt-lobby-active .pmsc-lobby-form-card .kwpcbt-lobby-user-info {
	display: flex;
	align-items: center;
	gap: 13px;
	margin: 0 0 18px !important;
	padding: 13px 15px !important;
	border: 1px solid #bfdbfe !important;
	border-radius: 15px !important;
	background: linear-gradient(135deg, #eff6ff, #eef2ff) !important;
	color: #334155 !important;
	font-size: 13px !important;
}

.pmsc-lobby-user-icon {
	display: grid;
	width: 38px;
	height: 38px;
	min-width: 38px;
	place-items: center;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 4px 14px rgba(37, 99, 235, 0.12);
	color: var(--pmsa-primary);
	font-size: 19px;
}

.pmsc-lobby-user-copy {
	min-width: 0;
	overflow-wrap: anywhere;
}

.pmsc-lobby-user-copy strong { color: #172033; }

.pmsc-lobby-readiness {
	margin-top: 4px;
	padding: 18px;
	border: 1px solid #e6e9f2;
	border-radius: 18px;
	background: #fff;
}

.pmsc-lobby-readiness-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
}

.pmsc-lobby-readiness-heading > div {
	display: grid;
	gap: 1px;
}

.pmsc-lobby-readiness-heading strong {
	color: #172033;
	font-size: 15px;
	font-weight: 800;
}

.pmsc-lobby-readiness-heading span:not(.pmsc-lobby-ready-count) {
	color: #7c879b;
	font-size: 11px;
}

.pmsc-lobby-ready-count {
	padding: 5px 9px;
	border-radius: 999px;
	background: #dcfce7;
	color: #047857;
	font-size: 10px;
	font-weight: 850;
	letter-spacing: 0.06em;
}

.pmsc-lobby-readiness-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.pmsc-lobby-readiness-grid > div {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	min-width: 0;
	padding: 11px;
	border-radius: 13px;
	background: #f8fafc;
}

.pmsc-lobby-readiness-grid i {
	display: grid;
	width: 24px;
	height: 24px;
	min-width: 24px;
	place-items: center;
	border-radius: 8px;
	background: #dcfce7;
	color: #059669;
	font-size: 14px;
}

.pmsc-lobby-readiness-grid > div > span {
	display: grid;
	min-width: 0;
	gap: 1px;
}

.pmsc-lobby-readiness-grid strong {
	color: #29344a;
	font-size: 12px;
	font-weight: 780;
}

.pmsc-lobby-readiness-grid small {
	color: #8490a3;
	font-size: 10px;
	line-height: 1.4;
}

.pmsc-lobby-start-action {
	display: grid;
	justify-items: center;
	gap: 10px;
	margin-top: 22px !important;
}

.pmsc-cbt-lobby-active .pmsc-lobby-start-button,
.pmsc-cbt-lobby-active .kwpcbt-btn.primary.pmsc-lobby-start-button {
	position: relative;
	display: flex !important;
	width: min(100%, 500px);
	min-height: 68px;
	align-items: center;
	gap: 13px;
	padding: 10px 14px !important;
	overflow: hidden;
	border: 0 !important;
	border-radius: 18px !important;
	background: linear-gradient(115deg, #581c87 0%, var(--pmsa-primary) 34%, var(--pmsa-secondary) 70%, var(--pmsa-accent) 118%) !important;
	box-shadow: 0 16px 34px rgba(109, 40, 217, 0.3), inset 0 1px rgba(255, 255, 255, 0.24);
	color: #fff !important;
	font-size: 15px !important;
	text-align: left;
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.pmsc-cbt-lobby-active .pmsc-lobby-start-button::before {
	position: absolute;
	top: -80%;
	left: -35%;
	width: 30%;
	height: 260%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
	content: "";
	transform: rotate(24deg);
	animation: pmsc-lobby-shine 3.8s ease-in-out infinite;
}

.pmsc-cbt-lobby-active .pmsc-lobby-start-button:hover,
.pmsc-cbt-lobby-active .pmsc-lobby-start-button:focus-visible {
	filter: saturate(1.08) brightness(1.04);
	box-shadow: 0 20px 40px rgba(109, 40, 217, 0.38), inset 0 1px rgba(255, 255, 255, 0.3);
	transform: translateY(-2px);
	outline: none;
}

.pmsc-cbt-lobby-active .pmsc-lobby-start-button:disabled {
	filter: grayscale(0.2);
	opacity: 0.68;
	transform: none;
}

.pmsc-lobby-start-icon {
	display: grid;
	width: 44px;
	height: 44px;
	min-width: 44px;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.13);
	font-size: 24px;
}

.pmsc-lobby-start-copy {
	display: grid;
	min-width: 0;
	flex: 1;
	gap: 1px;
}

.pmsc-lobby-start-copy strong {
	font-size: 16px;
	font-weight: 850;
	letter-spacing: -0.01em;
}

.pmsc-lobby-start-copy small {
	color: rgba(255, 255, 255, 0.7);
	font-size: 10px;
	font-weight: 600;
}

.pmsc-lobby-start-arrow {
	display: grid;
	width: 35px;
	height: 35px;
	min-width: 35px;
	place-items: center;
	border-radius: 11px;
	background: rgba(255, 255, 255, 0.12);
	font-size: 19px;
}

.pmsc-lobby-assurance {
	margin: 0;
	color: #7c879b;
	font-size: 11px;
	font-weight: 600;
	text-align: center;
}

.pmsc-lobby-assurance span { color: var(--pmsa-secondary); }

.pmsc-cbt-lobby-active #kwpcbt-lobby-error {
	margin: 14px 0 0 !important;
	padding: 10px 12px;
	border: 1px solid #fecaca;
	border-radius: 11px;
	background: #fef2f2;
	font-size: 12px !important;
}

.pmsc-cbt-lobby-active .pmsc-lobby-countdown {
	margin: 10px 28px 0 !important;
	padding: 22px !important;
	border: 1px solid #ddd6fe !important;
	border-radius: 20px;
	background: linear-gradient(145deg, #faf5ff, #eef2ff);
	text-align: center;
}

.pmsc-lobby-history {
	margin: 26px 28px 0 !important;
	padding: 23px;
	border: 1px solid #e4e8f0;
	border-radius: 22px;
	background: #fff;
}

.pmsc-lobby-history-heading {
	display: flex;
	align-items: center;
	gap: 11px;
	margin: 0 !important;
	color: #172033 !important;
	font-size: 17px !important;
	font-weight: 820;
	letter-spacing: -0.015em;
}

.pmsc-lobby-history-icon {
	width: 38px;
	height: 38px;
	min-width: 38px;
	font-size: 19px;
}

.pmsc-lobby-history-copy {
	margin: 7px 0 16px 49px;
	color: #7c879b;
	font-size: 11px;
}

.pmsc-cbt-lobby-active .pmsc-lobby-history-table {
	border: 1px solid #e5e9f2;
	border-radius: 15px;
	box-shadow: none;
}

.pmsc-cbt-lobby-active .pmsc-lobby-history-table th {
	padding: 11px 13px;
	border-bottom: 1px solid #e5e9f2;
	background: #f7f8fc;
	color: #64748b;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.07em;
}

.pmsc-cbt-lobby-active .pmsc-lobby-history-table td {
	padding: 12px 13px;
	color: #344054;
	font-size: 12px;
}

.pmsc-cbt-lobby-active .pmsc-lobby-history-table tbody tr:hover td {
	background: #fafaff;
}

.pmsc-cbt-lobby-active .pmsc-lobby-history-table td a {
	border-radius: 9px !important;
	background: linear-gradient(135deg, var(--pmsa-primary), var(--pmsa-secondary)) !important;
	box-shadow: 0 5px 12px rgba(37, 99, 235, 0.18);
}

.pmsc-cbt-lobby-active .kwpcbt-pagination button {
	min-width: 34px;
	height: 34px;
	padding: 0 8px !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 10px !important;
	font-weight: 700;
}

@keyframes pmsc-lobby-rise {
	from { opacity: 0; transform: translateY(14px) scale(0.992); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes pmsc-lobby-shine {
	0%, 58% { left: -38%; opacity: 0; }
	70% { opacity: 1; }
	88%, 100% { left: 118%; opacity: 0; }
}

@media (max-width: 720px) {
	body.pmsc-cbt-lobby-active {
		padding: 10px !important;
		background: linear-gradient(160deg, #f6f3ff 0%, #f2f7ff 55%, #fff 100%) !important;
	}

	.pmsc-cbt-lobby-active .kwpcbt-lobby-container.pmsc-lobby-enhanced {
		padding-bottom: 18px !important;
		border-radius: 23px !important;
		box-shadow: 0 18px 50px rgba(30, 41, 59, 0.12);
	}

	.pmsc-cbt-lobby-active .pmsc-lobby-hero {
		padding: 20px 18px 24px !important;
	}

	.pmsc-lobby-brand-row {
		gap: 10px;
		margin-bottom: 31px;
	}

	.pmsc-lobby-brand img {
		width: 88px;
		padding: 8px 10px;
		border-radius: 12px;
	}

	.pmsc-lobby-brand > span { display: none; }

	.pmsc-lobby-ready-badge {
		min-height: 32px;
		padding: 6px 10px;
		font-size: 10px;
	}

	.pmsc-cbt-lobby-active .pmsc-lobby-title {
		font-size: clamp(25px, 7.6vw, 34px) !important;
		line-height: 1.13 !important;
	}

	.pmsc-lobby-fullscreen {
		width: 40px;
		height: 40px;
		min-width: 40px;
		border-radius: 12px;
		font-size: 18px;
	}

	.pmsc-cbt-lobby-active .pmsc-lobby-description {
		font-size: 13px !important;
	}

	.pmsc-lobby-motivation {
		padding: 15px 16px;
		border-radius: 16px;
	}

	.pmsc-lobby-motivation strong { font-size: 16px; }
	.pmsc-lobby-motivation p { font-size: 11px; }

	.pmsc-lobby-section-title {
		margin: 20px 16px 12px;
	}

	.pmsc-lobby-section-title > span {
		width: 38px;
		height: 38px;
		min-width: 38px;
		font-size: 18px;
	}

	.pmsc-lobby-section-title strong { font-size: 15px; }
	.pmsc-lobby-section-title small { font-size: 10px; }

	.pmsc-cbt-lobby-active .pmsc-lobby-info-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 9px !important;
		margin: 0 16px 12px !important;
	}

	.pmsc-cbt-lobby-active .pmsc-lobby-info-grid .kwpcbt-info-item {
		grid-template-columns: 39px minmax(0, 1fr);
		column-gap: 9px;
		min-height: 74px;
		padding: 11px !important;
		border-radius: 15px !important;
	}

	.pmsc-cbt-lobby-active .pmsc-lobby-info-grid .kwpcbt-info-item:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}

	.pmsc-lobby-info-icon {
		width: 39px;
		height: 39px;
		font-size: 19px;
		border-radius: 12px;
	}

	.pmsc-cbt-lobby-active .pmsc-lobby-info-grid .kwpcbt-info-label {
		font-size: 9px !important;
		letter-spacing: 0.025em;
	}

	.pmsc-cbt-lobby-active .pmsc-lobby-info-grid .kwpcbt-info-value {
		font-size: 14px !important;
	}

	.pmsc-cbt-lobby-active .pmsc-lobby-form-card {
		margin: 6px 16px 0 !important;
		padding: 16px !important;
		border-radius: 18px;
	}

	.pmsc-lobby-readiness {
		padding: 14px;
		border-radius: 15px;
	}

	.pmsc-lobby-readiness-grid {
		grid-template-columns: 1fr;
		gap: 7px;
	}

	.pmsc-lobby-readiness-grid > div { padding: 9px 10px; }

	.pmsc-cbt-lobby-active .pmsc-lobby-start-button,
	.pmsc-cbt-lobby-active .kwpcbt-btn.primary.pmsc-lobby-start-button {
		width: 100%;
		min-height: 64px;
		border-radius: 16px !important;
	}

	.pmsc-lobby-start-icon {
		width: 40px;
		height: 40px;
		min-width: 40px;
		font-size: 21px;
	}

	.pmsc-lobby-start-copy strong { font-size: 14px; }
	.pmsc-lobby-start-copy small { font-size: 9px; }

	.pmsc-cbt-lobby-active .pmsc-lobby-countdown {
		margin: 6px 16px 0 !important;
		padding: 17px !important;
	}

	.pmsc-lobby-history {
		margin: 20px 16px 0 !important;
		padding: 16px;
		border-radius: 18px;
	}

	.pmsc-lobby-history-copy {
		margin: 6px 0 14px;
		font-size: 10px;
	}

	.pmsc-cbt-lobby-active .pmsc-lobby-history-table {
		display: block !important;
		overflow: visible !important;
		border: 0;
		border-radius: 0;
		background: transparent;
		white-space: normal !important;
	}

	.pmsc-lobby-history-table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}

	.pmsc-lobby-history-table tbody {
		display: grid;
		gap: 10px;
	}

	.pmsc-lobby-history-table tbody tr {
		display: grid;
		overflow: hidden;
		border: 1px solid #e5e9f2;
		border-radius: 14px;
		background: #fff;
		box-shadow: 0 5px 16px rgba(30, 41, 59, 0.045);
	}

	.pmsc-cbt-lobby-active .pmsc-lobby-history-table tbody td {
		display: grid;
		grid-template-columns: 92px minmax(0, 1fr);
		align-items: center;
		gap: 10px;
		padding: 10px 12px !important;
		border: 0;
		border-bottom: 1px solid #edf0f5;
		text-align: right !important;
		white-space: normal;
	}

	.pmsc-cbt-lobby-active .pmsc-lobby-history-table tbody td:last-child {
		border-bottom: 0;
	}

	.pmsc-lobby-history-table tbody td::before {
		color: #8a94a6;
		font-size: 9px;
		font-weight: 800;
		letter-spacing: 0.06em;
		text-align: left;
		text-transform: uppercase;
		content: attr(data-pmsc-label);
	}

	.pmsc-cbt-lobby-active .pmsc-lobby-history-table td a {
		display: inline-flex !important;
		min-height: 34px;
		align-items: center;
		justify-content: center;
		margin: 0 0 0 auto !important;
		padding: 6px 10px !important;
		white-space: nowrap;
	}

	.pmsc-cbt-lobby-active .kwpcbt-pagination {
		justify-content: center !important;
	}
}

@media (max-width: 390px) {
	.pmsc-lobby-ready-badge span { display: none; }
	.pmsc-lobby-ready-badge { width: 32px; justify-content: center; padding: 0; }
	.pmsc-lobby-readiness-heading { align-items: flex-start; }
	.pmsc-lobby-ready-count { font-size: 9px; }
	.pmsc-lobby-start-arrow { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.pmsc-cbt-lobby-active .kwpcbt-lobby-container.pmsc-lobby-enhanced,
	.pmsc-cbt-lobby-active .pmsc-lobby-start-button::before {
		animation: none !important;
	}

	.pmsc-cbt-lobby-active * {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

/* Post-submit result actions --------------------------------------------- */
.pmsc-result-card {
	max-width: 540px !important;
}

.pmsc-result-actions {
	display: grid;
	gap: 12px;
	width: 100%;
}

.pmsc-result-review-button,
.pmsc-result-home-button {
	display: flex !important;
	width: 100% !important;
	min-height: 58px;
	box-sizing: border-box !important;
	align-items: center;
	justify-content: center;
	border-radius: 12px !important;
	text-decoration: none !important;
	transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease !important;
}

.pmsc-result-review-button {
	position: relative;
	gap: 13px;
	justify-content: flex-start;
	padding: 13px 18px !important;
	background: linear-gradient(135deg, var(--pmsa-secondary, #a855f7), var(--pmsa-primary, #6d28d9)) !important;
	box-shadow: 0 10px 22px rgba(109, 40, 217, 0.26);
	color: #fff !important;
	text-align: left;
}

.pmsc-result-review-button:hover,
.pmsc-result-review-button:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 14px 28px rgba(109, 40, 217, 0.34);
	color: #fff !important;
}

.pmsc-result-review-icon {
	display: grid;
	width: 38px;
	height: 38px;
	min-width: 38px;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 11px;
	background: rgba(255, 255, 255, 0.16);
}

.pmsc-result-review-icon svg {
	width: 22px;
	height: 22px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.pmsc-result-review-button > span:nth-child(2) {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.pmsc-result-review-button strong {
	font-size: 15px;
	line-height: 1.25;
}

.pmsc-result-review-button small {
	color: rgba(255, 255, 255, 0.78);
	font-size: 11px;
	line-height: 1.35;
}

.pmsc-result-review-button > b {
	margin-left: auto;
	font-size: 20px;
	font-weight: 500;
}

.pmsc-result-home-button {
	gap: 7px;
	padding: 13px 18px !important;
	border: 1px solid #dbe4f0 !important;
	background: #f8fafc !important;
	box-shadow: none !important;
	color: #475569 !important;
	font-size: 14px !important;
	font-weight: 700 !important;
}

.pmsc-result-home-button:hover,
.pmsc-result-home-button:focus-visible {
	background: #eef2ff !important;
	color: var(--pmsa-primary, #6d28d9) !important;
}

@media (max-width: 520px) {
	.pmsc-result-card {
		padding: 28px 20px !important;
	}

	.pmsc-result-review-button {
		padding: 12px 14px !important;
	}

	.pmsc-result-review-button small {
		font-size: 10px;
	}
}
