:root {
	--cbet-bg: #ffffff;
	--cbet-text: #1d2327;
	--cbet-border: #d7dde2;
}

.cbet-exam-wrap {
	max-width: 720px;
	margin: 0 auto;
	font-family: inherit;
}

/* Card background behind the quiz text/questions and the progress dashboard.
   Override --cbet-bg / --cbet-text above (or these rules) to match your theme. */
#cbet-app,
.cbet-progress-wrap {
	background: var(--cbet-bg);
	color: var(--cbet-text);
	border: 1px solid var(--cbet-border);
	border-radius: 10px;
	padding: 24px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}
.cbet-login-notice {
	background: #f5f8fa;
	border: 1px solid #dbe4ea;
	border-radius: 8px;
	padding: 16px 20px;
	margin-bottom: 20px;
}
.cbet-btn {
	display: inline-block;
	background: #2271b1;
	color: #fff;
	border: none;
	padding: 10px 18px;
	border-radius: 6px;
	cursor: pointer;
	font-size: 15px;
	text-decoration: none;
	margin-right: 8px;
}
.cbet-btn:hover { background: #135e96; color: #fff; }
.cbet-btn-secondary { background: #6b7280; }
.cbet-progress-bar-wrap {
	font-size: 13px;
	color: #666;
	margin-bottom: 8px;
}
.cbet-domain-tag {
	display: inline-block;
	background: #eef2f7;
	color: #375873;
	font-size: 12px;
	padding: 3px 10px;
	border-radius: 999px;
	margin-bottom: 10px;
}
.cbet-question-stem h3 { margin: 0 0 10px; }
.cbet-options { display: flex; flex-direction: column; gap: 10px; margin: 16px 0; }
.cbet-option {
	display: block;
	border: 1px solid #d7dde2;
	border-radius: 8px;
	padding: 12px 14px;
	cursor: pointer;
	transition: background .15s, border-color .15s;
}
.cbet-option:hover { background: #f7fafc; }
.cbet-option.cbet-selected { border-color: #2271b1; background: #eaf2fa; }

/* Solid, high-contrast colors with an explicit forced text color (white),
   since relying on a light tint + inherited text color reads poorly against
   themes that set their own (often light-gray) text/link colors. */
.cbet-option.cbet-correct {
	border-color: #1e7e34 !important;
	background: #1e7e34 !important;
	color: #ffffff !important;
}
.cbet-option.cbet-incorrect {
	border-color: #b02a37 !important;
	background: #b02a37 !important;
	color: #ffffff !important;
}
.cbet-option.cbet-correct .cbet-letter,
.cbet-option.cbet-correct .cbet-option-text,
.cbet-option.cbet-incorrect .cbet-letter,
.cbet-option.cbet-incorrect .cbet-option-text {
	color: #ffffff !important;
}
.cbet-letter { font-weight: 600; }
.cbet-actions { margin: 10px 0 20px; }
.cbet-feedback {
	border-radius: 8px;
	padding: 14px 16px;
	margin-top: 10px;
}
.cbet-feedback-correct {
	background: #1e7e34 !important;
	border: 1px solid #155724 !important;
	color: #ffffff !important;
}
.cbet-feedback-incorrect {
	background: #b02a37 !important;
	border: 1px solid #7a1f27 !important;
	color: #ffffff !important;
}
.cbet-feedback-correct .cbet-result,
.cbet-feedback-correct .cbet-explanation,
.cbet-feedback-incorrect .cbet-result,
.cbet-feedback-incorrect .cbet-explanation {
	color: #ffffff !important;
}
.cbet-feedback .cbet-btn {
	background: #ffffff !important;
	color: #1d2327 !important;
}
.cbet-result { font-weight: 700; margin: 0 0 6px; }
.cbet-explanation { margin: 0 0 12px; }
.cbet-done { text-align: center; padding: 30px 10px; }
.cbet-loading { color: #888; }

.cbet-progress-wrap { max-width: 720px; margin: 0 auto; }
.cbet-table { width: 100%; border-collapse: collapse; margin: 12px 0 24px; }
.cbet-table th, .cbet-table td { text-align: left; padding: 8px 10px; border-bottom: 1px solid #e2e6ea; }
.cbet-table th { background: #f5f8fa; }

/* Category picker */
.cbet-category-picker h3 { margin-top: 0; }
.cbet-category-option {
	display: block;
	padding: 8px 4px;
	cursor: pointer;
}
.cbet-category-all { border-bottom: 1px solid #e2e6ea; margin-bottom: 6px; padding-bottom: 12px; }
.cbet-category-list { max-height: 320px; overflow-y: auto; margin-bottom: 10px; }
.cbet-category-count { color: #888; font-size: 13px; }
.cbet-change-cats-link { font-size: 12px; margin-left: 10px; }
