.tt-runner-lmtl4 {
	margin-top: 0.75rem;
}
.tt-runner-lmtl4 [hidden],
.tt-test-admin-lmtl4 [hidden],
.tt-dialog-lmtl4 [hidden] {
	display: none !important;
}
.tt-actions-lmtl4 {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0.75rem 0;
}
.tt-field-lmtl4 {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	margin: 0.75rem 0;
	width: 100%;
	font-weight: normal;
}
.tt-field-lmtl4 textarea {
	min-height: 5rem;
	resize: vertical;
}
.tt-preserve-lmtl4 {
	white-space: pre-wrap;
	overflow-wrap: anywhere;
}
.tt-test-picker-lmtl4 {
	max-height: 22rem;
	overflow-y: auto;
	overscroll-behavior: contain;
	border: 1px solid var(--border-color, #ddd);
	border-radius: 0.375rem;
}
.tt-test-option-lmtl4 {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.25rem;
	width: 100%;
	padding: 0.75rem 1rem;
	text-align: left;
	background: transparent;
	color: inherit;
	border: 0;
	border-bottom: 1px solid var(--border-color, #eee);
}
.tt-test-option-lmtl4:hover,
.tt-test-option-lmtl4[aria-selected='true'] {
	background: var(--primary-bg-subtle, #eef2ff);
}
.tt-test-option-lmtl4:focus-visible {
	outline: 2px solid var(--primary, #4263eb);
	outline-offset: -2px;
}
.tt-test-option-lmtl4 span,
.tt-test-option-lmtl4 small {
	overflow-wrap: anywhere;
}
.tt-step-nav-lmtl4 {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem;
	margin: 1rem 0;
}
.tt-step-nav-lmtl4 [aria-current='step'] {
	outline: 2px solid #4263eb;
	outline-offset: 1px;
}
.tt-status-lmtl4 {
	display: inline-block;
	padding: 0.2rem 0.5rem;
	border-radius: 0.25rem;
	background: #e9ecef;
	color: #343a40;
	font-size: 0.8rem;
}
.tt-status-Passed,
.tt-step-Passed {
	background: #d3f9d8 !important;
	color: #166534 !important;
}
.tt-status-Failed,
.tt-step-Failed {
	background: #ffe3e3 !important;
	color: #9f1239 !important;
}
.tt-status-Blocked,
.tt-step-Blocked {
	background: #fff3bf !important;
	color: #854d0e !important;
}
.tt-status-Skipped,
.tt-step-Skipped {
	background: #e7f5ff !important;
	color: #075985 !important;
}
.tt-dialog-lmtl4 {
	width: min(74rem, 95vw);
	max-height: 92vh;
	overflow: auto;
	padding: 0;
	border: 1px solid #d9dee5;
	border-radius: 0.5rem;
	color: var(--body-color, #28313d);
	background: var(--body-bg, #fff);
	box-shadow: 0 1rem 4rem #0003;
}
.tt-dialog-lmtl4::backdrop {
	background: #0006;
}
.tt-dialog-lmtl4 > .card-header-lmtl4 {
	justify-content: space-between;
	padding: 1rem;
	margin: 0;
	border-bottom: 1px solid #ddd;
}
.tt-dialog-lmtl4 > .card-body-lmtl4 {
	padding: 1.25rem;
}
.tt-filter-grid-lmtl4,
.tt-editor-grid-lmtl4,
.tt-diff-lmtl4 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 1rem;
}
.tt-test-admin-lmtl4 {
	padding: 1.25rem;
}
.tt-test-admin-lmtl4 table {
	width: 100%;
	border-collapse: collapse;
}
.tt-test-admin-lmtl4 td,
.tt-test-admin-lmtl4 th {
	text-align: left;
	vertical-align: top;
	padding: 0.65rem;
	border-bottom: 1px solid #e5e7eb;
}
.tt-test-admin-lmtl4 .tt-test-picker-lmtl4 {
	max-height: 65vh;
}
.tt-step-editor-lmtl4 {
	padding: 1rem;
	margin: 0.75rem 0;
	border: 1px solid #d9dee5;
	border-radius: 0.375rem;
}
.tt-diff-lmtl4 pre {
	font-size: 0.8rem;
	white-space: pre-wrap;
	overflow-wrap: anywhere;
}
@media (max-width: 767px) {
	.tt-filter-grid-lmtl4,
	.tt-editor-grid-lmtl4,
	.tt-diff-lmtl4 {
		grid-template-columns: 1fr;
	}
	.tt-test-admin-lmtl4 {
		padding: 0.75rem;
	}
	.tt-dialog-lmtl4 {
		width: 97vw;
		max-height: 95vh;
	}
}

/* Narrow runner: outcome is the primary save-and-advance action. */
.tt-runner-lmtl4 .tt-outcomes-lmtl4 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem; margin: .65rem 0; }
.tt-runner-lmtl4 .tt-outcomes-lmtl4 button { min-height: 2.5rem; white-space: normal; padding: .45rem .3rem; }
.tt-runner-lmtl4 .tt-outcomes-lmtl4 button[aria-pressed="true"] { outline: 2px solid currentColor; outline-offset: 2px; }
.tt-runner-lmtl4 .tt-actions-lmtl4 > button { flex: 1 1 0; min-width: 0; white-space: normal; }
.tt-runner-lmtl4 .tt-secondary-lmtl4 { margin-top: .7rem; border-top: 1px solid var(--border-color, #ddd); padding-top: .6rem; }
.tt-runner-lmtl4 .tt-secondary-lmtl4 .tt-actions-lmtl4 { display: grid; grid-template-columns: 1fr; }
.tt-runner-lmtl4 .tt-field-lmtl4 textarea { min-height: 4.5rem; }
.tt-review-step-lmtl4 { border: 1px solid var(--border-color, #ddd); border-radius: .3rem; padding: .65rem; margin: .65rem 0; overflow-wrap: anywhere; }
.tt-review-step-lmtl4 p { margin: .4rem 0; }
.tt-native-steps-lmtl4 td { white-space: pre-wrap; vertical-align: top; min-width: 9rem; }
.tt-native-steps-lmtl4 td:first-child { min-width: 3rem; }
.tt-native-steps-lmtl4 td:last-child { min-width: 8rem; }

/* A flex footer stays reachable even with long instructions or 500 steps. */
.tt-runner-lmtl4.tt-run-layout-lmtl4 { display: flex; flex-direction: column; margin-top: 0; padding-bottom: 0; }
.tt-run-layout-lmtl4 > :first-child:not(.tt-run-content-lmtl4) { flex: 0 0 auto; max-height: 25%; overflow-y: auto; }
.tt-run-content-lmtl4 { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 0 .25rem .75rem 0; scrollbar-gutter: stable; }
.tt-run-footer-lmtl4 { flex: 0 0 auto; border-top: 1px solid var(--border-color, #ddd); background: var(--body-bg, #fff); padding: .4rem 0; display: flex; flex-direction: column; gap: .3rem; }
.tt-run-footer-lmtl4 > button { width: 100%; white-space: normal; min-height: 2.25rem; }
.tt-runner-lmtl4 .tt-run-footer-lmtl4 .tt-outcomes-lmtl4,
.tt-runner-lmtl4 .tt-run-footer-lmtl4 .tt-actions-lmtl4 { margin: 0; }
.tt-run-footer-lmtl4 [role='status'] { margin: 0; font-size: .75rem; }
.tt-run-header-lmtl4 { margin-bottom: .6rem; overflow-wrap: anywhere; }
.tt-run-header-lmtl4 h6 { margin: 0 0 .25rem; }
.tt-run-title-lmtl4 { margin: 0 0 .3rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tt-run-header-lmtl4 .tt-actions-lmtl4 { margin: .3rem 0; }
.tt-run-header-lmtl4 > button { margin: .2rem .4rem .2rem 0; font-size: .8rem; }
.tt-run-metadata-lmtl4 { display: inline-block; font-size: .8rem; margin: .3rem 0; }
.tt-run-metadata-lmtl4[open] { display: block; }
.tt-run-metadata-lmtl4 summary, .tt-step-list-lmtl4 > summary { cursor: pointer; }
.tt-step-list-lmtl4 { margin: .6rem 0; }
.tt-step-list-lmtl4 .tt-step-nav-lmtl4 { margin: .5rem 0; max-height: 12rem; overflow-y: auto; padding: .2rem; }
.tt-current-step-lmtl4 { margin: .6rem 0; }
.tt-current-step-lmtl4:focus-visible { outline: 2px solid var(--primary, #4263eb); outline-offset: 2px; }
.tt-review-summary-lmtl4 .tt-actions-lmtl4 { margin: .3rem 0 .6rem; gap: .25rem; }
.tt-review-step-lmtl4 > summary { cursor: pointer; }
.tt-review-step-lmtl4 > summary .tt-status-lmtl4 { margin-left: .4rem; }
.tt-review-preview-lmtl4 { display: block; margin-top: .25rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tt-review-step-lmtl4[open] > summary .tt-review-preview-lmtl4 { display: none; }
.tt-review-dialog-lmtl4 > .card-header-lmtl4 { position: sticky; top: 0; background: var(--body-bg, #fff); z-index: 1; }
.tt-last-run-lmtl4 { width: 100%; white-space: normal; text-align: left; }
