.lmcc-wizard {
	--lmcc-ink: #17223b;
	--lmcc-muted: #5f6b7a;
	--lmcc-border: #d7dce3;
	--lmcc-brand: #3858e9;
	--lmcc-brand-dark: #2643c4;
	--lmcc-soft: #f4f6fb;
	--lmcc-error: #b32d2e;
	max-width: 1180px;
	color: var(--lmcc-ink);
}

.lmcc-wizard__header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
	gap: 28px;
	align-items: start;
	padding: 30px 32px;
	margin: 20px 0 22px;
	background: linear-gradient(135deg, #fff 0%, #f3f6ff 100%);
	border: 1px solid var(--lmcc-border);
	border-radius: 12px;
	box-shadow: 0 4px 18px rgba(23, 34, 59, .06);
}

.lmcc-wizard__header h1 { margin: 4px 0 10px; font-size: 30px; line-height: 1.2; }
.lmcc-wizard__eyebrow { margin: 0; color: var(--lmcc-brand-dark); font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.lmcc-wizard__lead { max-width: 720px; margin: 0; color: var(--lmcc-muted); font-size: 16px; line-height: 1.6; }
.lmcc-wizard__scope { padding: 18px 20px; background: #fff; border-left: 4px solid var(--lmcc-brand); border-radius: 6px; }
.lmcc-wizard__scope p { margin: 6px 0 0; color: var(--lmcc-muted); line-height: 1.5; }
.lmcc-edition-note { display: grid; grid-template-columns: minmax(170px, auto) minmax(0, 1fr); gap: 16px; align-items: start; padding: 16px 18px; margin: 0 0 22px; background: #eef6ff; border: 1px solid #c9dcf5; border-left: 4px solid var(--lmcc-brand); border-radius: 8px; }
.lmcc-edition-note p { margin: 0; color: var(--lmcc-muted); line-height: 1.5; }
.lmcc-edition-note--compact { margin-bottom: 18px; }
.lmcc-dashboard { margin-top: 20px; }
.lmcc-dashboard > h1 { margin-bottom: 8px; }

.lmcc-wizard__layout { display: grid; grid-template-columns: 245px minmax(0, 1fr); gap: 28px; align-items: start; }
.lmcc-wizard__nav { position: sticky; top: 46px; background: #fff; border: 1px solid var(--lmcc-border); border-radius: 10px; overflow: hidden; }
.lmcc-wizard__nav ol { margin: 0; padding: 10px 0; list-style: none; }
.lmcc-wizard__nav li { margin: 0; }
.lmcc-wizard__nav a { display: flex; gap: 11px; align-items: center; padding: 12px 16px; color: var(--lmcc-ink); text-decoration: none; border-left: 3px solid transparent; }
.lmcc-wizard__nav a:hover, .lmcc-wizard__nav a:focus { background: var(--lmcc-soft); color: var(--lmcc-brand-dark); }
.lmcc-wizard__nav a small { display: block; margin-top: 2px; color: var(--lmcc-muted); font-size: 11px; font-weight: 400; }
.lmcc-wizard__nav .is-current a { background: #eef2ff; border-left-color: var(--lmcc-brand); font-weight: 650; }
.lmcc-wizard__nav-number { display: inline-grid; place-items: center; width: 25px; height: 25px; flex: 0 0 25px; border: 1px solid #aeb7c6; border-radius: 50%; font-size: 12px; }
.lmcc-wizard__nav .is-current .lmcc-wizard__nav-number, .lmcc-wizard__nav .is-complete .lmcc-wizard__nav-number { color: #fff; background: var(--lmcc-brand); border-color: var(--lmcc-brand); }

.lmcc-wizard__content { min-width: 0; }
.lmcc-wizard__step-count { margin: 0 0 6px; color: var(--lmcc-brand-dark); font-weight: 600; }
.lmcc-step-header { margin: 0 0 20px; }
.lmcc-step-header h2 { margin: 0 0 8px; font-size: 25px; line-height: 1.3; }
.lmcc-step-header p { max-width: 760px; margin: 0; color: var(--lmcc-muted); font-size: 15px; line-height: 1.55; }

.lmcc-card { padding: 24px; margin: 0 0 18px; background: #fff; border: 1px solid var(--lmcc-border); border-radius: 10px; box-shadow: 0 2px 8px rgba(23, 34, 59, .035); }
.lmcc-card h3 { margin-top: 0; font-size: 17px; }
.lmcc-card__heading { display: flex; gap: 12px; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.lmcc-card__heading h3 { margin: 0; }
.lmcc-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 26px; }
.lmcc-field--full { grid-column: 1 / -1; }
.lmcc-stack > * + * { margin-top: 18px; }
.lmcc-field label, .lmcc-field legend { display: block; margin-bottom: 7px; font-weight: 600; }
.lmcc-field input:not([type="checkbox"]), .lmcc-field select { width: 100%; max-width: 100%; min-height: 40px; }
.lmcc-wizard :where(a, button, input, select, summary):focus-visible { outline: 3px solid #2271b1; outline-offset: 2px; box-shadow: none; }
.lmcc-field .description, .lmcc-check .description { margin: 6px 0 0; color: var(--lmcc-muted); line-height: 1.45; }
.lmcc-required, .lmcc-optional { display: inline-block; margin-left: 5px; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; }
.lmcc-required { color: var(--lmcc-error); }
.lmcc-optional { color: var(--lmcc-muted); }
.lmcc-check { padding: 14px 16px; background: var(--lmcc-soft); border: 1px solid #e3e7ee; border-radius: 7px; }
.lmcc-check label { display: flex; gap: 9px; align-items: flex-start; font-weight: 550; line-height: 1.45; }
.lmcc-check input { margin-top: 3px; }
.lmcc-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.lmcc-facts { display: grid; grid-template-columns: minmax(130px, 1fr) 2fr; margin: 0; }
.lmcc-facts dt, .lmcc-facts dd { padding: 9px 0; margin: 0; border-bottom: 1px solid #edf0f4; }
.lmcc-facts dt { color: var(--lmcc-muted); }
.lmcc-facts dd { font-weight: 600; }
.lmcc-callout { display: flex; gap: 14px; align-items: flex-start; padding: 18px; margin-bottom: 20px; background: #eef6ff; border-radius: 8px; }
.lmcc-callout .dashicons { color: var(--lmcc-brand); font-size: 28px; width: 28px; height: 28px; }
.lmcc-callout p { margin: 0; line-height: 1.55; }
.lmcc-callout p + p { margin-top: 8px; }
.lmcc-badge { display: inline-flex; align-items: center; width: fit-content; padding: 3px 8px; border-radius: 999px; background: #eef1f5; color: #394558; font-size: 11px; font-weight: 650; white-space: nowrap; }
.lmcc-badge--automatic, .lmcc-badge--on { background: #e8f5ed; color: #176b3a; }
.lmcc-badge--declared { background: #fff4d7; color: #795600; }
.lmcc-badge--review, .lmcc-badge--off { background: #fbeaea; color: #8b2525; }
.lmcc-why { margin-top: 14px; padding: 10px 12px; border: 1px solid var(--lmcc-border); border-radius: 6px; }
.lmcc-why summary, .lmcc-diagnostics summary { cursor: pointer; color: var(--lmcc-brand-dark); font-weight: 600; }
.lmcc-detected { padding: 16px; border-left: 4px solid; border-radius: 6px; }
.lmcc-detected strong, .lmcc-detected span { display: block; }
.lmcc-detected a { margin-top: 10px; }
.lmcc-detected--ok { background: #edf8f1; border-color: #16814b; }
.lmcc-detected--error { background: #fff0f0; border-color: var(--lmcc-error); }
.lmcc-method-list { margin: 0 0 14px; }
.lmcc-method-list li { display: flex; gap: 12px; align-items: center; justify-content: space-between; padding: 10px 0; margin: 0; border-bottom: 1px solid #edf0f4; }
.lmcc-route-preview { padding: 14px; margin: 14px 0; background: #f7f8fb; border: 1px solid var(--lmcc-border); border-radius: 7px; }
.lmcc-route-preview p { margin: 5px 0 0; }
.lmcc-audit-group { margin-top: 14px; border: 1px solid var(--lmcc-border); border-radius: 8px; overflow: hidden; }
.lmcc-audit-group > summary { padding: 14px 16px; cursor: pointer; background: #f7f8fb; font-weight: 700; }
.lmcc-audit-group > summary span { float: right; }
.lmcc-audit-list { padding: 0 16px; }
.lmcc-finding { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: start; padding: 16px 0; border-bottom: 1px solid #edf0f4; }
.lmcc-finding:last-child { border-bottom: 0; }
.lmcc-finding p { margin: 5px 0; color: var(--lmcc-muted); }
.lmcc-diagnostics { grid-column: 1 / -1; }
.lmcc-diagnostics dl { display: grid; grid-template-columns: 130px 1fr; margin-bottom: 0; }
.lmcc-diagnostics dt, .lmcc-diagnostics dd { padding: 4px 0; margin: 0; }
.lmcc-statline, .lmcc-audit-counts { font-weight: 650; }
.lmcc-field-error { margin: 7px 0 0; color: var(--lmcc-error); font-weight: 600; }
.lmcc-error-summary { padding: 12px 16px; margin: 0 0 20px; }
.lmcc-error-summary h2 { margin: 0 0 8px; font-size: 15px; }
.lmcc-error-summary ul { margin: 0 0 0 20px; list-style: disc; }
.lmcc-wizard__actions { display: flex; gap: 10px; align-items: center; justify-content: flex-end; padding: 18px 0 32px; border-top: 1px solid var(--lmcc-border); }
.lmcc-wizard__actions .button:first-child { margin-right: auto; }
.lmcc-wizard [hidden] { display: none !important; }

@media screen and (max-width: 900px) {
	.lmcc-wizard__header, .lmcc-wizard__layout { grid-template-columns: 1fr; }
	.lmcc-wizard__nav { position: static; }
	.lmcc-wizard__nav ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lmcc-form-grid { grid-template-columns: 1fr; }
	.lmcc-finding { grid-template-columns: 1fr; }
}

@media screen and (max-width: 600px) {
	.lmcc-wizard__header, .lmcc-card { padding: 18px; }
	.lmcc-edition-note { grid-template-columns: 1fr; }
	.lmcc-wizard__nav ol { grid-template-columns: 1fr; }
	.lmcc-choice-grid { grid-template-columns: 1fr; }
	.lmcc-wizard__actions { flex-wrap: wrap; }
	.lmcc-wizard__actions .button { width: 100%; margin: 0; text-align: center; }
	.lmcc-card__heading { align-items: flex-start; flex-direction: column; }
}
