.nsd-form,
.nsd-result,
.nsd-panel {
	background: #ffffff;
	border: 1px solid #dce4ef;
	border-radius: 8px;
	box-shadow: 0 18px 40px rgba(11, 31, 58, 0.1);
	padding: 24px;
}

.nsd-intake,
.nsd-admin-grid,
.nsd-result {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.nsd-form label,
.nsd-panel label {
	display: grid;
	gap: 8px;
	font-weight: 700;
}

.nsd-form input[type="text"],
.nsd-form input[type="email"],
.nsd-form textarea,
.nsd-panel input[type="text"],
.nsd-panel input[type="number"],
.nsd-panel select,
.nsd-panel textarea {
	width: 100%;
	border: 1px solid #cbd6e4;
	border-radius: 8px;
	padding: 11px 12px;
}

.nsd-form-head {
	margin-bottom: 20px;
}

.nsd-form-head h2 {
	margin: 0 0 8px;
	color: #0b1f3a;
	font-size: clamp(1.6rem, 4vw, 2.6rem);
	line-height: 1.15;
}

.nsd-coach-group {
	margin-top: 26px;
	padding-top: 22px;
	border-top: 1px solid #dce4ef;
}

.nsd-coach-group h3 {
	margin: 0 0 14px;
	color: #0b1f3a;
}

.nsd-coach-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.nsd-coach-fields label:nth-child(n + 8),
.nsd-coach-fields label:has(textarea) {
	grid-column: auto;
}

.nsd-question {
	margin: 22px 0;
	border: 1px solid #dce4ef;
	border-radius: 8px;
	padding: 18px;
}

.nsd-question legend {
	color: #0b1f3a;
	font-weight: 800;
}

.nsd-question legend span {
	display: inline-grid;
	place-items: center;
	width: 34px;
	height: 34px;
	margin-right: 8px;
	background: #f2b84b;
	border-radius: 50%;
}

.nsd-choices {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
	margin-top: 14px;
}

.nsd-choices label {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 54px;
	padding: 10px;
	background: #f7f9fc;
	border: 1px solid #dce4ef;
	border-radius: 8px;
	font-weight: 700;
}

.nsd-submit {
	width: 100%;
	min-height: 50px;
	border: 0;
	border-radius: 8px;
	background: #f2b84b;
	color: #172033;
	font-size: 1rem;
	font-weight: 800;
	cursor: pointer;
}

.nsd-result-summary {
	align-self: center;
}

.nsd-result-summary h2 {
	margin: 0;
	color: #0b1f3a;
	font-size: clamp(2rem, 5vw, 3.5rem);
	line-height: 1.1;
}

.nsd-kicker {
	color: #a06f09;
	font-weight: 800;
	text-transform: uppercase;
}

.nsd-chart-wrap {
	min-height: 340px;
}

.nsd-score-grid {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}

.nsd-score-grid div {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	padding: 12px;
	background: #f7f9fc;
	border-radius: 8px;
}

.nsd-score-grid span {
	color: #0b1f3a;
	font-weight: 900;
}

.nsd-alert {
	grid-column: 1 / -1;
	margin: 16px 0 0;
	padding: 14px;
	background: #fff3d5;
	border-radius: 8px;
}

.nsd-report-wrap {
	grid-column: 1 / -1;
}

.nsd-report {
	display: grid;
	gap: 14px;
	margin-top: 12px;
	padding: 24px;
	background: #f7f9fc;
	border: 1px solid #dce4ef;
	border-radius: 8px;
}

.nsd-report h2,
.nsd-report h3,
.nsd-report h4 {
	margin: 0;
	color: #0b1f3a;
}

.nsd-report h3 {
	margin-top: 10px;
	padding-top: 16px;
	border-top: 1px solid #dce4ef;
}

.nsd-report ul,
.nsd-report ol {
	margin: 0;
	padding-left: 22px;
}

.nsd-report li + li {
	margin-top: 8px;
}

.nsd-stars {
	color: #f2b84b;
	font-size: 1.3rem;
	font-weight: 900;
}

.nsd-options-editor {
	display: grid;
	gap: 10px;
}

.nsd-option-row {
	display: grid;
	grid-template-columns: 1fr 90px;
	gap: 8px;
}

.nsd-checkbox {
	display: flex !important;
	align-items: center;
}

@media (max-width: 900px) {
	.nsd-intake,
	.nsd-admin-grid,
	.nsd-result,
	.nsd-coach-fields,
	.nsd-choices,
	.nsd-score-grid {
		grid-template-columns: 1fr;
	}
}
