.jld-checker {
	--jld-ok: #067647;
	--jld-ok-bg: #ecfdf3;
	--jld-ok-border: #abefc6;
	--jld-fail: #b42318;
	--jld-fail-bg: #fef3f2;
	--jld-fail-border: #fecdca;
	--jld-warn: #b54708;
	--jld-warn-bg: #fffaeb;
	--jld-warn-border: #fedf89;
	--jld-skip: #475467;
	--jld-info: #175cd3;
	--jld-border: #d0d5dd;
	--jld-bg: #f9fafb;
	--jld-text: #101828;
	--jld-muted: #667085;
	max-width: 980px;
	margin: 2rem auto 3rem;
	padding: 0 1rem;
	font-family: inherit;
	color: var(--jld-text);
}

.jld-checker__inner {
	background: #fff;
	border: 1px solid var(--jld-border);
	border-radius: 16px;
	padding: 1.75rem;
	box-shadow: 0 12px 32px rgba(16, 24, 40, 0.08);
}

.jld-checker__title {
	margin: 0 0 0.5rem;
	font-size: 1.85rem;
	line-height: 1.2;
	letter-spacing: -0.02em;
}

.jld-checker__lead {
	margin: 0 0 1.5rem;
	color: var(--jld-muted);
	line-height: 1.5;
}

.jld-checker__label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.4rem;
	font-size: 0.95rem;
}

.jld-checker__section-heading {
	margin: 0 0 0.5rem;
	font-size: 1.5rem;
	line-height: 1.25;
	letter-spacing: -0.02em;
	font-weight: 700;
}

.jld-checker__section-lead {
	margin: 0 0 1.25rem;
	color: var(--jld-muted);
	font-size: 1rem;
	line-height: 1.55;
}

.jld-checker__steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.jld-checker__step {
	margin: 0;
	padding: 1.15rem 1.2rem;
	border: 1px solid var(--jld-border);
	border-radius: 12px;
	background: var(--jld-bg);
}

.jld-checker__step-header {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 0.85rem;
}

.jld-checker__step-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: #111827;
	color: #fff;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1;
}

.jld-checker__step-title {
	margin: 0;
	font-size: 1.2rem;
	line-height: 1.3;
	font-weight: 700;
}

.jld-checker__step-title--emph {
	font-size: 1.28rem;
}

.jld-checker__step-body {
	padding-left: 0.15rem;
}

.jld-checker__field-label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.45rem;
	font-size: 1rem;
	color: var(--jld-text);
}

.jld-checker__field-label--emph {
	font-size: 1.12rem;
	font-weight: 700;
	margin-top: 0.15rem;
}

.jld-checker__field-hint {
	display: block;
	margin: 0.65rem 0 0;
	color: var(--jld-muted);
	font-size: 0.95rem;
	line-height: 1.55;
	max-width: 62ch;
}

.jld-checker__field-hint code {
	font-size: 0.9em;
	background: #fff;
	padding: 0.1em 0.35em;
	border-radius: 4px;
	border: 1px solid var(--jld-border);
}

.jld-checker__field-hint--inline {
	display: inline;
	margin: 0 0 0 0.5rem;
}

.jld-checker__url-only-action {
	margin: 1rem 0 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
}

.jld-checker__help-box--privacy {
	border-color: #abefc6;
	background: #ecfdf3;
}

.jld-checker__help-box--privacy .jld-checker__help-box-title {
	color: #067647;
}

.jld-checker__help-box {
	margin-bottom: 1rem;
	padding: 0.9rem 1rem;
	border: 1px solid #b2ddff;
	border-radius: 10px;
	background: #eff8ff;
}

.jld-checker__help-box-title {
	margin: 0 0 0.5rem;
	font-size: 0.98rem;
	font-weight: 700;
	color: #175cd3;
}

.jld-checker__help-list {
	margin: 0 0 0.75rem;
	padding-left: 1.25rem;
	color: #344054;
	font-size: 0.94rem;
	line-height: 1.55;
}

.jld-checker__help-list li {
	margin-bottom: 0.35rem;
}

.jld-checker__help-links {
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.6;
}

.jld-checker__help-links a {
	color: #175cd3;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.jld-checker__help-links a:hover,
.jld-checker__help-links a:focus {
	color: #1040a0;
}

.jld-checker__help-sep {
	color: #98a2b3;
	margin: 0 0.25rem;
}

.jld-checker__run-full {
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--jld-border);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
}

.jld-checker__button--primary {
	background: #111827;
}

.jld-checker__row {
	display: flex;
	gap: 0.75rem;
	flex-wrap: wrap;
	align-items: center;
}

.jld-checker__row--actions {
	margin-top: 1rem;
	justify-content: space-between;
}

.jld-checker__input,
.jld-checker__textarea {
	width: 100%;
	padding: 0.7rem 0.85rem;
	border: 1px solid var(--jld-border);
	border-radius: 10px;
	font-size: 1rem;
	font-family: inherit;
	box-sizing: border-box;
}

.jld-checker__input {
	flex: 1 1 320px;
	min-width: 0;
}

.jld-checker__textarea {
	margin-bottom: 1rem;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.88rem;
	resize: vertical;
	min-height: 120px;
}

.jld-checker__button {
	padding: 0.7rem 1.1rem;
	border: 0;
	border-radius: 10px;
	background: #111827;
	color: #fff;
	font-weight: 600;
	cursor: pointer;
	font-size: 0.95rem;
	white-space: nowrap;
}

.jld-checker__button--secondary {
	background: #344054;
}

.jld-checker__button--outline {
	background: #fff;
	color: #111827;
	border: 1px solid var(--jld-border);
}

.jld-checker__button--ghost {
	background: transparent;
	color: var(--jld-muted);
	border: 0;
}

.jld-checker__button:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

.jld-checker__hint,
.jld-checker__panel-lead,
.jld-checker__admin-note {
	margin: 0.5rem 0 0;
	color: var(--jld-muted);
	font-size: 0.92rem;
	line-height: 1.45;
}

/* Legacy aliases — prefer .jld-checker__field-hint in template */
.jld-checker__hint {
	display: block;
	line-height: 1.55;
	max-width: 62ch;
}

.jld-checker__admin-note {
	color: var(--jld-warn);
}

.jld-checker__full-panel {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.jld-checker__panel-title {
	margin: 0 0 0.35rem;
	font-size: 1.15rem;
}

.jld-checker__gsc-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 0.75rem;
}

.jld-checker__gsc-status {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.95rem;
}

.jld-checker__gsc-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #98a2b3;
	flex-shrink: 0;
}

.jld-checker__gsc-dot--on { background: var(--jld-ok); }
.jld-checker__gsc-dot--off { background: #f79009; }
.jld-checker__gsc-dot--na { background: #98a2b3; }

.jld-checker__gsc-actions {
	display: flex;
	gap: 0.5rem;
	flex-wrap: wrap;
}

.jld-checker__checkbox {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	font-size: 0.92rem;
	color: var(--jld-muted);
}

.jld-checker__status.is-hidden,
.jld-checker__results.is-hidden {
	display: none;
}

.jld-checker__status {
	margin-top: 1rem;
	padding: 0.8rem 1rem;
	border-radius: 10px;
	background: var(--jld-bg);
	border: 1px solid var(--jld-border);
}

.jld-checker__status.is-error {
	background: var(--jld-fail-bg);
	color: var(--jld-fail);
	border-color: var(--jld-fail-border);
}

.jld-checker__results {
	margin-top: 1.5rem;
}

.jld-checker__verdict {
	padding: 1.1rem 1.2rem;
	border-radius: 12px;
	background: var(--jld-bg);
	border: 1px solid var(--jld-border);
	margin-bottom: 1.25rem;
}

.jld-checker__verdict.is-ok {
	background: var(--jld-ok-bg);
	border-color: var(--jld-ok-border);
}

.jld-checker__verdict.is-fail {
	background: var(--jld-fail-bg);
	border-color: var(--jld-fail-border);
}

.jld-checker__verdict-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6rem;
	margin-bottom: 0.35rem;
}

.jld-checker__verdict-title {
	font-size: 1.05rem;
}

.jld-checker__tier {
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 0.2rem 0.5rem;
	border-radius: 999px;
	background: rgba(16, 24, 40, 0.08);
}

.jld-checker__verdict-summary {
	margin: 0.35rem 0 0;
	line-height: 1.5;
}

.jld-checker__counts {
	margin: 0.75rem 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	font-size: 0.88rem;
	font-weight: 600;
}

.jld-checker__count--pass { color: var(--jld-ok); }
.jld-checker__count--fail { color: var(--jld-fail); }
.jld-checker__count--warn { color: var(--jld-warn); }

.jld-checker__section {
	margin-bottom: 1.25rem;
}

.jld-checker__section-title {
	margin: 0 0 0.6rem;
	font-size: 1rem;
	font-weight: 700;
}

.jld-checker__table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--jld-border);
	border-radius: 12px;
	overflow: hidden;
	font-size: 0.92rem;
}

.jld-checker__table thead th {
	text-align: left;
	padding: 0.65rem 0.85rem;
	background: var(--jld-bg);
	border-bottom: 1px solid var(--jld-border);
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--jld-muted);
}

.jld-checker__table tbody td {
	padding: 0.7rem 0.85rem;
	border-bottom: 1px solid #eaecf0;
	vertical-align: top;
}

.jld-checker__table tbody tr:last-child td {
	border-bottom: 0;
}

.jld-checker__cell-status {
	width: 7.5rem;
	white-space: nowrap;
}

.jld-checker__cell-label {
	width: 34%;
	font-weight: 600;
}

.jld-checker__help-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.1rem;
	height: 1.1rem;
	margin-left: 0.25rem;
	border-radius: 50%;
	border: 1px solid var(--jld-border);
	background: var(--jld-bg);
	color: var(--jld-muted);
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1;
	cursor: help;
	vertical-align: middle;
}

.jld-checker__help-icon:hover,
.jld-checker__help-icon:focus {
	background: #fff;
	border-color: var(--jld-info);
	color: var(--jld-info);
	outline: none;
	box-shadow: 0 0 0 2px rgba(23, 92, 211, 0.15);
}

.jld-checker__check[title] {
	cursor: help;
}

.jld-checker__cell-detail {
	color: var(--jld-muted);
	line-height: 1.45;
	word-break: break-word;
}

.jld-checker__check {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-weight: 700;
	font-size: 0.82rem;
}

.jld-checker__check-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.35rem;
	height: 1.35rem;
	border-radius: 6px;
	font-size: 0.85rem;
	line-height: 1;
}

.jld-checker__check--pass .jld-checker__check-icon {
	background: var(--jld-ok-bg);
	color: var(--jld-ok);
	border: 1px solid var(--jld-ok-border);
}

.jld-checker__check--fail .jld-checker__check-icon {
	background: var(--jld-fail-bg);
	color: var(--jld-fail);
	border: 1px solid var(--jld-fail-border);
}

.jld-checker__check--warn .jld-checker__check-icon {
	background: var(--jld-warn-bg);
	color: var(--jld-warn);
	border: 1px solid var(--jld-warn-border);
}

.jld-checker__check--skip .jld-checker__check-icon,
.jld-checker__check--info .jld-checker__check-icon {
	background: var(--jld-bg);
	color: var(--jld-skip);
	border: 1px solid var(--jld-border);
}

.jld-checker__check--pass { color: var(--jld-ok); }
.jld-checker__check--fail { color: var(--jld-fail); }
.jld-checker__check--warn { color: var(--jld-warn); }
.jld-checker__check--skip { color: var(--jld-skip); }
.jld-checker__check--info { color: var(--jld-info); }

.jld-checker__row--fail {
	background: rgba(254, 243, 242, 0.45);
}

.jld-checker__raw {
	margin-top: 1rem;
}

.jld-checker__raw summary {
	cursor: pointer;
	color: var(--jld-muted);
	font-size: 0.9rem;
	margin-bottom: 0.5rem;
}

.jld-checker__footer {
	margin-top: 1.25rem;
	color: var(--jld-muted);
	font-size: 0.88rem;
}

.jld-checker__mono {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.82rem;
	white-space: pre-wrap;
	word-break: break-word;
	background: #0f172a;
	color: #e2e8f0;
	padding: 1rem;
	border-radius: 10px;
	overflow: auto;
	max-height: 420px;
}

@media (max-width: 720px) {
	.jld-checker__table thead {
		display: none;
	}

	.jld-checker__table tbody tr {
		display: block;
		padding: 0.65rem 0.85rem;
		border-bottom: 1px solid #eaecf0;
	}

	.jld-checker__table tbody td {
		display: block;
		padding: 0.2rem 0;
		border: 0;
		width: auto;
	}

	.jld-checker__cell-status {
		margin-bottom: 0.25rem;
	}
}
