.cedge-match-jv {
	--jv-accent: var(--cedge-accent, #a24b2a);
	--jv-border: var(--cedge-border, #dccfbe);
	--jv-muted: var(--cedge-muted, #5f6f64);
	display: grid;
	gap: 1rem;
	margin: 0 auto;
	max-width: 74rem;
}

.cedge-match-jv__hero {
	background: linear-gradient(135deg, #fffdf8 0%, #fff5e9 100%);
	border: 1px solid var(--jv-border);
	border-left: 5px solid var(--jv-accent);
	border-radius: 1.25rem;
	padding: clamp(1.1rem, 3vw, 2rem);
}

.cedge-match-jv__hero h1,
.cedge-match-jv__hero h2,
.cedge-match-jv__hero p {
	margin-top: 0;
}

.cedge-match-jv__disclaimer {
	background: #f8faf8;
	border: 1px solid var(--jv-border);
	border-radius: 0.8rem;
	color: var(--jv-muted);
	font-size: 0.92rem;
	line-height: 1.55;
	padding: 0.85rem 1rem;
}

.cedge-match-jv__tabs,
.cedge-match-jv__step-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
}

.cedge-match-jv__tabs a,
.cedge-match-jv__step-nav button {
	background: #fff;
	border: 1px solid var(--jv-border);
	border-radius: 999px;
	color: inherit;
	cursor: pointer;
	font: inherit;
	padding: 0.55rem 0.85rem;
	text-decoration: none;
}

.cedge-match-jv__tabs a[aria-current="page"],
.cedge-match-jv__step-nav button.is-current {
	background: var(--jv-accent);
	border-color: var(--jv-accent);
	color: #fff;
}

.cedge-match-jv__wizard {
	background: #fff;
	border: 1px solid var(--jv-border);
	border-radius: 1.25rem;
	padding: clamp(1rem, 3vw, 1.75rem);
}

.cedge-match-jv__wizard-status {
	align-items: center;
	display: flex;
	gap: 0.75rem;
	justify-content: space-between;
	margin-bottom: 1rem;
}

.cedge-match-jv__wizard:not(.is-enhanced) .cedge-match-jv__step-nav,
.cedge-match-jv__wizard:not(.is-enhanced) [data-jv-next],
.cedge-match-jv__wizard:not(.is-enhanced) [data-jv-previous] {
	display: none;
}

.cedge-match-jv__wizard:not(.is-enhanced) .cedge-match-jv__step + .cedge-match-jv__step {
	border-top: 1px solid var(--jv-border);
	margin-top: 1.5rem;
	padding-top: 1.5rem;
}

.cedge-match-jv__step {
	border: 0;
	margin: 0;
	min-inline-size: 0;
	padding: 0;
}

.cedge-match-jv__step[hidden],
.cedge-match-jv [hidden] {
	display: none !important;
}

.cedge-match-jv__grid,
.cedge-match-jv__choice-grid,
.cedge-match-jv__score-grid,
.cedge-match-jv__feedback-grid {
	display: grid;
	gap: 0.9rem;
}

.cedge-match-jv__grid,
.cedge-match-jv__choice-grid {
	grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
}

.cedge-match-jv__choice {
	align-items: flex-start;
	background: #fffdf9;
	border: 1px solid var(--jv-border);
	border-radius: 0.75rem;
	display: flex;
	gap: 0.65rem;
	line-height: 1.4;
	padding: 0.75rem;
}

.cedge-match-jv__choice input {
	margin-top: 0.2rem;
}

.cedge-match-jv__field {
	display: grid;
	gap: 0.35rem;
}

.cedge-match-jv__field label,
.cedge-match-jv__field-label {
	font-weight: 650;
}

.cedge-match-jv__field > label {
	display: grid;
	gap: 0.35rem;
}

.cedge-match-jv__range {
	border: 0;
	margin: 0;
	min-width: 0;
	padding: 0;
}

.cedge-match-jv__range legend {
	padding: 0;
}

.cedge-match-jv__help,
.cedge-match-jv__count {
	color: var(--jv-muted);
	font-size: 0.88rem;
	line-height: 1.45;
}

.cedge-match-jv__step-actions,
.cedge-match-jv__card-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	justify-content: space-between;
	margin-top: 1.2rem;
}

.cedge-match-jv__card {
	background: #fff;
	border: 1px solid var(--jv-border);
	border-radius: 1.25rem;
	box-shadow: 0 0.7rem 1.8rem rgba(49, 39, 29, 0.08);
	overflow: hidden;
}

.cedge-match-jv__card-head,
.cedge-match-jv__card-body {
	padding: clamp(1rem, 3vw, 1.5rem);
}

.cedge-match-jv__card-head {
	align-items: center;
	background: #fff9f1;
	border-bottom: 1px solid var(--jv-border);
	display: flex;
	gap: 1rem;
}

.cedge-match-jv__avatar img {
	border-radius: 50%;
	display: block;
	height: 5rem;
	object-fit: cover;
	width: 5rem;
}

.cedge-match-jv__card-head h2,
.cedge-match-jv__card-head h3 {
	margin: 0.15rem 0;
}

.cedge-match-jv__score-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: 1rem;
}

.cedge-match-jv__score {
	background: #f8faf8;
	border: 1px solid var(--jv-border);
	border-radius: 0.8rem;
	padding: 0.8rem;
	text-align: center;
}

.cedge-match-jv__score strong {
	display: block;
	font-size: clamp(1.35rem, 3vw, 2rem);
	line-height: 1.1;
}

.cedge-match-jv__pine {
	background: #eef5ff;
	border-left: 4px solid #2563eb;
	border-radius: 0 0.6rem 0.6rem 0;
	margin: 1rem 0;
	padding: 0.75rem 0.9rem;
}

.cedge-match-jv__reasons {
	margin: 0.6rem 0 1rem;
	padding-left: 1.25rem;
}

.cedge-match-jv__learn-more,
.cedge-match-jv__profile-section,
.cedge-match-jv__profile-glance,
.cedge-match-jv__aggregate-panel {
	background: #fffdf9;
	border: 1px solid var(--jv-border);
	border-radius: 0.75rem;
	margin: 0.85rem 0;
	padding: 0.75rem 0.9rem;
}

.cedge-match-jv__learn-more > summary,
.cedge-match-jv__profile-section > summary,
.cedge-match-jv__profile-glance > summary,
.cedge-match-jv__aggregate-panel > summary {
	cursor: pointer;
	font-weight: 700;
}

.cedge-match-jv__profile-section > :not(summary),
.cedge-match-jv__learn-more > div,
.cedge-match-jv__profile-glance-body,
.cedge-match-jv__aggregate-panel > :not(summary) {
	margin-top: 0.75rem;
}

.cedge-match-jv__profile-glance-body p {
	margin: 0.5rem 0;
}

.cedge-match-jv__incoming {
	border-color: #2563eb;
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.cedge-match-jv__rating-row {
	border-bottom: 1px solid var(--jv-border);
	display: grid;
	gap: 0.55rem;
	padding: 0.85rem 0;
}

.cedge-match-jv__rating-options {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}

.cedge-match-jv__rating-options label {
	align-items: center;
	background: #fff;
	border: 1px solid var(--jv-border);
	border-radius: 0.45rem;
	display: inline-flex;
	gap: 0.3rem;
	padding: 0.35rem 0.5rem;
}

.cedge-match-jv__aggregate {
	align-items: center;
	display: flex;
	gap: 0.6rem;
	justify-content: space-between;
}

.cedge-match-jv__aggregate-meter {
	background: #e8ebe8;
	border-radius: 999px;
	flex: 1 1 auto;
	height: 0.55rem;
	overflow: hidden;
}

.cedge-match-jv__aggregate-meter > span {
	background: var(--jv-accent);
	display: block;
	height: 100%;
}

.cedge-match-jv__received-note {
	border-top: 1px solid var(--jv-border);
	padding: 1rem 0;
}

.cedge-match-jv__received-note:first-of-type {
	border-top: 0;
}

.cedge-match-jv__empty {
	background: #f8faf8;
	border: 1px dashed var(--jv-border);
	border-radius: 1rem;
	padding: 1.25rem;
	text-align: center;
}

.cedge-match-jv__empty .cedge-button {
	box-sizing: border-box;
	max-width: 100%;
}

@media (max-width: 700px) {
	.cedge-match-jv__score-grid {
		grid-template-columns: 1fr;
	}

	.cedge-match-jv__card-head {
		align-items: flex-start;
	}

	.cedge-match-jv__step-actions,
	.cedge-match-jv__card-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.cedge-match-jv__step-actions .cedge-button,
	.cedge-match-jv__card-actions .cedge-button,
	.cedge-match-jv__card-actions form {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cedge-match-jv * {
		scroll-behavior: auto !important;
	}
}
