/* Minimal, unstyled-on-purpose — this is the functional MVP pass (SPEC §13),
   not the final visual design. */

.aicd-root {
	max-width: 640px;
	font-family: inherit;
}

.aicd-teacher-create-group label,
.aicd-register label {
	display: block;
	margin-bottom: 0.75em;
}

.aicd-teacher-create-group input,
.aicd-teacher-create-group select,
.aicd-register input,
.aicd-register select {
	display: block;
	width: 100%;
	max-width: 320px;
	margin-top: 0.25em;
	padding: 0.4em;
}

.aicd-groups-table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 1em;
}

.aicd-groups-table th,
.aicd-groups-table td {
	text-align: left;
	padding: 0.5em;
	border-bottom: 1px solid #ddd;
}

.aicd-aggregate .aicd-button {
	margin-bottom: 1em;
}

.aicd-notice,
.aicd-message {
	padding: 1em;
	background: #f0f0f1;
	border-left: 4px solid #2271b1;
}

.aicd-progress {
	font-size: 0.9em;
	color: #555;
	margin-bottom: 0.5em;
}

.aicd-question-text {
	font-size: 1.1em;
	font-weight: 600;
	margin-bottom: 1em;
}

.aicd-option {
	display: block;
	padding: 0.5em;
	margin-bottom: 0.25em;
	border: 1px solid #ccd0d4;
	border-radius: 4px;
	cursor: pointer;
}

.aicd-option:hover {
	background: #f6f7f7;
}

.aicd-slider {
	display: flex;
	align-items: center;
	gap: 0.75em;
	margin-bottom: 1em;
}

.aicd-slider span {
	font-size: 0.85em;
	max-width: 8em;
}

.aicd-button {
	margin-top: 1em;
	padding: 0.6em 1.4em;
	background: #2271b1;
	color: #fff;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	font-size: 1em;
}

.aicd-button:hover {
	background: #135e96;
}

.aicd-consent .aicd-consent-body {
	margin-bottom: 1em;
	padding: 1em;
	background: #f6f7f7;
	border-radius: 4px;
}

.aicd-join label {
	display: block;
	margin-bottom: 0.75em;
}

.aicd-join input {
	display: block;
	width: 100%;
	max-width: 220px;
	margin-top: 0.25em;
	padding: 0.4em;
}

.aicd-skip-button {
	background: transparent;
	color: #2271b1;
	border: 1px solid #2271b1;
}

.aicd-skip-button:hover {
	background: #f0f6fc;
}

.aicd-result-report {
	background: #fff;
	padding: 1em;
}

.aicd-pdf-button {
	margin-top: 1.5em;
}

.aicd-pdf-status {
	margin-top: 0.5em;
	color: #a00;
	font-size: 0.9em;
}

.aicd-result h3 {
	margin-bottom: 0.25em;
}

.aicd-radar-wrap {
	max-width: 420px;
	height: 420px;
	margin: 1em auto;
	position: relative;
}

.aicd-dimension-list {
	list-style: none;
	margin: 1em 0 0;
	padding: 0;
}

.aicd-dimension-list li {
	padding: 0.4em 0;
	border-bottom: 1px solid #eee;
}

.aicd-level-explanation {
	margin: 0.75em 0;
	color: #333;
}

.aicd-strengths,
.aicd-opportunities {
	margin-top: 1.5em;
}

.aicd-strengths h4,
.aicd-opportunities h4 {
	margin-bottom: 0.5em;
}

.aicd-strengths ul,
.aicd-opportunities ul {
	margin: 0;
	padding-left: 1.2em;
}

.aicd-strengths li,
.aicd-opportunities li {
	margin-bottom: 0.6em;
	line-height: 1.4;
}

.aicd-root:has(.aicd-tabs) {
	max-width: 900px;
}

.aicd-tab-buttons {
	display: flex;
	gap: 0.5em;
	margin-bottom: 1em;
}

.aicd-tab-button {
	margin-top: 0;
	background: transparent;
	color: #2271b1;
	border: 1px solid #2271b1;
}

.aicd-tab-button.is-active {
	background: #2271b1;
	color: #fff;
}

.aicd-research-filters {
	display: flex;
	align-items: flex-end;
	gap: 1em;
	flex-wrap: wrap;
	margin-bottom: 1em;
}

.aicd-research-filters label {
	display: block;
	font-size: 0.9em;
}

.aicd-research-filters select {
	display: block;
	margin-top: 0.25em;
	padding: 0.4em;
	min-width: 200px;
}

.aicd-research-filters .aicd-button {
	margin-top: 0;
}
