/*
 * Supplier registration (F02), supplier administration (F02/F03) and the supplier
 * dashboard. Detail screens reuse the User editor shell (.dtt-reference-user-editor);
 * everything here is scoped to supplier classes so agent and staff screens are unchanged.
 */

.dtt-visually-hidden {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Status pills (one class per supplier status, independent of booking statuses). */
.dtt-supplier-status {
	white-space: nowrap;
}

.dtt-status-supplier-pending_review,
.dtt-status-supplier-documents_review {
	background: #fff5d1;
	color: #765300;
}

.dtt-status-supplier-agreement_pending {
	background: #e7f0ff;
	color: #173f8a;
}

.dtt-status-supplier-approved {
	background: #e8f8ef;
	color: #08723d;
}

.dtt-status-supplier-rejected,
.dtt-status-supplier-suspended {
	background: #fff1f2;
	color: #a51d2c;
}

.dtt-supplier-admin .dtt-status-current {
	background: #eef2f8;
	color: #33476f;
}

/* ------------------------------------------------------------------
 * Registration form: services checkbox group.
 * ---------------------------------------------------------------- */
.dtt-supplier-registration-form .dtt-supplier-services {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.dtt-supplier-registration-form .dtt-supplier-services legend {
	margin-bottom: 7px;
	padding: 0;
	color: var(--dtt-ink);
	font-size: 13px;
	font-weight: 800;
}

.dtt-supplier-service-options {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.dtt-form .dtt-supplier-service-options label.dtt-checkbox {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 36px;
	padding: 6px 12px;
	background: var(--dtt-surface-soft);
	border: 1px solid var(--dtt-line);
	border-radius: var(--dtt-radius-control);
	cursor: pointer;
}

.dtt-form .dtt-supplier-service-options label.dtt-checkbox input {
	width: 16px;
	min-height: 16px;
	height: 16px;
	margin: 0;
	padding: 0;
	accent-color: var(--dtt-accent);
}

.dtt-form .dtt-supplier-service-options label.dtt-checkbox span {
	font-size: 13px;
	font-weight: 700;
}

.dtt-supplier-registration .dtt-registration-actions .dtt-button {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.dtt-supplier-registration-done p {
	color: var(--dtt-muted);
}

/* ------------------------------------------------------------------
 * Approval rail: Applied - Documents reviewed - Agreement accepted - Approved.
 * ---------------------------------------------------------------- */
.dtt-supplier-rail {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 34px;
	margin: 0 0 12px;
	padding: 7px 14px;
	list-style: none;
	background: #fff;
	border: 1px solid #d9e4f1;
	border-radius: 8px;
	box-shadow: 0 2px 7px rgba(0, 27, 75, .035);
}

.dtt-supplier-rail-step {
	display: flex;
	flex: 1 1 0;
	align-items: center;
	gap: 8px;
	min-width: 0;
	margin: 0;
	color: #56698f;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
}

.dtt-supplier-rail-step:last-child {
	flex: 0 0 auto;
}

.dtt-supplier-rail-step:not(:last-child)::after {
	content: "";
	flex: 1 1 auto;
	min-width: 16px;
	height: 2px;
	margin: 0 4px 0 2px;
	background: #dce4f0;
	border-radius: 2px;
}

.dtt-supplier-rail-step.is-done:not(:last-child)::after {
	background: #0aa99f;
}

.dtt-supplier-rail-dot {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	box-sizing: border-box;
	background: #fff;
	border: 2px solid #dce4f0;
	border-radius: 999px;
	color: #56698f;
	font-size: 12px;
	font-weight: 800;
}

.dtt-supplier-rail-dot .dtt-ui-icon {
	width: 13px;
	height: 13px;
	stroke-width: 2.6;
}

/* RC67: labels wrap to two lines (e.g. "Agreement accepted" at 1024) instead of truncating. */
.dtt-supplier-rail-label:not(.dtt-visually-hidden) {
	display: -webkit-box;
	min-width: 0;
	overflow: hidden;
	white-space: normal;
	overflow-wrap: break-word;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
}

.dtt-supplier-rail-step.is-done {
	color: #10214f;
}

.dtt-supplier-rail-step.is-done .dtt-supplier-rail-dot {
	background: #0aa99f;
	border-color: #0aa99f;
	color: #fff;
}

.dtt-supplier-rail-step.is-current {
	color: #0b246d;
}

.dtt-supplier-rail-step.is-current .dtt-supplier-rail-dot {
	border-color: #0b246d;
	color: #0b246d;
	box-shadow: 0 0 0 3px rgba(11, 36, 109, .1);
}

.dtt-supplier-rail-step.is-stopped {
	color: #b4232f;
}

.dtt-supplier-rail-step.is-stopped .dtt-supplier-rail-dot {
	background: #d33f49;
	border-color: #d33f49;
	color: #fff;
}

/* Mini rail beside the status pill in the supplier list. */
.dtt-supplier-rail.is-mini {
	width: 76px;
	min-height: 0;
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	box-shadow: none;
}

.dtt-supplier-rail.is-mini .dtt-supplier-rail-step {
	gap: 0;
}

.dtt-supplier-rail.is-mini .dtt-supplier-rail-step:not(:last-child)::after {
	min-width: 6px;
	margin: 0 2px;
}

.dtt-supplier-rail.is-mini .dtt-supplier-rail-dot {
	width: 10px;
	height: 10px;
	border-width: 2px;
	box-shadow: none;
}

.dtt-supplier-rail.is-mini .dtt-supplier-rail-dot .dtt-ui-icon {
	display: none;
}

.dtt-supplier-status-cell {
	display: grid;
	justify-items: start;
	gap: 7px;
}

/* ------------------------------------------------------------------
 * Administrator screens: shared heading, panels and sidebar cards.
 * ---------------------------------------------------------------- */
.dtt-supplier-admin .dtt-supplier-title {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
}

.dtt-supplier-admin .dtt-supplier-title h1 {
	margin: 0;
}

.dtt-supplier-admin .dtt-reference-user-editor-shell {
	margin: 0;
}

.dtt-supplier-admin > .dtt-notice {
	margin: 0 0 12px;
}

.dtt-supplier-main {
	display: grid;
	gap: 12px;
	min-width: 0;
}

.dtt-supplier-admin .dtt-supplier-panel,
.dtt-supplier-dashboard .dtt-supplier-panel {
	margin: 0;
	padding: 16px;
}

/* Detail panels stay still: no hover lift on supplier screens. */
.dtt-supplier-admin .dtt-reference-user-editor-panel,
.dtt-supplier-admin .dtt-reference-user-editor-panel:hover {
	transform: none;
	transition: none;
	border-color: #d9e4f1;
	box-shadow: 0 2px 7px rgba(0, 27, 75, .035);
}

.dtt-supplier-admin .dtt-supplier-panel h2,
.dtt-supplier-dashboard .dtt-supplier-panel h2,
.dtt-supplier-dashboard .dtt-supplier-card h2,
.dtt-supplier-card-head h2 {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 0 0 13px;
	color: #09255a;
	font-size: 14px;
	font-weight: 800;
}

.dtt-supplier-admin h2 .dtt-ui-icon,
.dtt-supplier-dashboard h2 .dtt-ui-icon {
	width: 16px;
	height: 16px;
	color: #0aa99f;
}

.dtt-supplier-card-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin: 0 0 12px;
}

.dtt-supplier-card-head h2,
.dtt-supplier-admin .dtt-supplier-card-head h2,
.dtt-reference-user-editor .dtt-reference-summary-card .dtt-supplier-card-head h2 {
	margin: 0;
}

.dtt-supplier-note {
	margin: 10px 0 0;
	color: #56698f;
	font-size: 12px;
	line-height: 1.5;
}

.dtt-supplier-admin code {
	font-size: 12px;
}

/* Company & contact: compact two-column definition list. */
.dtt-supplier-facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 20px;
	margin: 0;
}

.dtt-supplier-facts > div {
	display: grid;
	gap: 3px;
	min-width: 0;
	padding: 8px 0;
	border-bottom: 1px solid #e8eef6;
}

.dtt-supplier-facts > div.dtt-supplier-facts-wide {
	grid-column: 1 / -1;
	border-bottom: 0;
	padding-bottom: 0;
}

.dtt-supplier-facts dt {
	color: #56698f;
	font-size: 12px;
	font-weight: 600;
}

.dtt-supplier-facts dd {
	margin: 0;
	color: #10214f;
	font-size: 12px;
	font-weight: 700;
	overflow-wrap: anywhere;
}

.dtt-supplier-facts dd a {
	color: #066f69;
}

/* Phones: the tel: link is a 44px tap target; desktop keeps the inline text link. */
@media (max-width: 767px), (pointer: coarse) {
	.dtt-supplier-facts dd a[href^="tel:"] {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
	}
}

/* Documents: the agent document tile, two per row. */
.dtt-supplier-documents.dtt-agent-document-manager {
	margin-top: 0;
}

.dtt-supplier-documents .dtt-section-header {
	margin-bottom: 12px;
}

.dtt-supplier-documents .dtt-section-header h2 {
	margin: 0;
}

.dtt-supplier-document-list {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.dtt-supplier-document-list .dtt-document-item {
	align-items: center;
	gap: 12px;
	min-width: 0;
	padding: 10px 12px;
}

.dtt-supplier-document-list .dtt-document-item-copy {
	min-width: 0;
}

.dtt-supplier-document-list .dtt-document-item.is-missing .dtt-document-item-icon {
	background: #eef2f6;
	color: #8a98b5;
}

/* Tables scroll inside their frame on narrow screens (as the agent list does). */
body.logged-in .dtt-supplier-admin .dtt-table-wrap,
.dtt-supplier-admin .dtt-table-wrap {
	max-width: 100%;
	overflow-x: auto;
	scrollbar-gutter: auto;
}

.dtt-supplier-admin .dtt-supplier-panel,
.dtt-supplier-admin .dtt-reference-user-editor-sidebar {
	min-width: 0;
}

/* Approval history. */
body.logged-in .dtt-supplier-admin .dtt-table-wrap > table.dtt-table,
.dtt-supplier-admin .dtt-table-wrap > table.dtt-table {
	width: 100%;
	margin: 0;
}

.dtt-supplier-history-more {
	margin-top: 10px;
}

.dtt-supplier-history-more > summary,
.dtt-supplier-record > summary {
	color: #066f69;
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
}

.dtt-supplier-history-more > .dtt-table-wrap {
	margin-top: 10px;
}

/* Sidebar: summary, next step and agreement cards. */
.dtt-supplier-admin .dtt-reference-summary-card dd code {
	font-size: 12px;
}

.dtt-supplier-summary-reason dd {
	color: #b4232f;
}

.dtt-supplier-next-step .dtt-supplier-actions {
	display: grid;
	gap: 8px;
}

.dtt-supplier-action-form {
	margin: 0;
}

.dtt-supplier-next-step .dtt-button {
	justify-content: center;
	width: 100%;
}

.dtt-supplier-dd-flex {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 6px;
}

.dtt-supplier-outdated {
	background: #fff5d1;
	color: #765300;
}

.dtt-supplier-record {
	margin-top: 10px;
}

.dtt-supplier-record > dl {
	margin-top: 4px;
}

.dtt-reference-user-editor .dtt-reference-summary-card .dtt-supplier-record-hash {
	display: grid;
	gap: 4px;
}

.dtt-reference-user-editor .dtt-reference-summary-card .dtt-supplier-record-hash dd {
	max-width: none;
	text-align: left;
}

.dtt-supplier-hash {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 12px;
	overflow-wrap: anywhere;
	word-break: break-all;
}

.dtt-supplier-record-log {
	display: grid;
	gap: 4px;
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
	color: #56698f;
	font-size: 12px;
}

/* Reject / Suspend reason dialog (agent suspension modal pattern). */
.dtt-supplier-reason-modal .dtt-modal-panel {
	width: min(480px, 100%);
}

.dtt-supplier-reason-modal .dtt-modal-panel header {
	padding: 14px 16px;
}

.dtt-supplier-reason-modal .dtt-modal-panel h2 {
	font-size: 16px;
}

.dtt-supplier-reason-form.dtt-modal-body {
	gap: 12px;
	padding: 16px;
}

.dtt-supplier-reason-form textarea {
	min-height: 96px;
}

.dtt-supplier-reason-form .dtt-form-actions {
	justify-content: flex-end;
	gap: 8px;
	padding: 0;
}

/* ------------------------------------------------------------------
 * View Suppliers list.
 * ---------------------------------------------------------------- */
.dtt-reference-user-list .dtt-supplier-list-filters .dtt-filter-grid {
	grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) minmax(180px, .7fr) minmax(100px, .4fr) auto;
}

/* ------------------------------------------------------------------
 * Registration link page.
 * ---------------------------------------------------------------- */
.dtt-supplier-link-field {
	display: flex;
	align-items: stretch;
	gap: 8px;
}

.dtt-supplier-link-field input {
	flex: 1 1 auto;
	min-width: 0;
	min-height: 40px;
	padding: 8px 12px;
	background: #f8fbfc;
	border: 1px solid #dce4f0;
	border-radius: 7px;
	color: #10214f;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 12px;
}

.dtt-supplier-link-field .dtt-button {
	flex: 0 0 auto;
}

.dtt-supplier-link-status {
	margin: 6px 0 0;
	color: #066f69;
	font-size: 12px;
	font-weight: 700;
}

.dtt-supplier-link-status:empty {
	display: none;
}

.dtt-supplier-link-tips {
	display: grid;
	gap: 4px;
	margin: 12px 0 0;
	padding-left: 18px;
	color: #56698f;
	font-size: 12px;
}

.dtt-supplier-link-regenerate form {
	margin: 12px 0 0;
}

.dtt-supplier-link-regenerate .dtt-supplier-note {
	margin: 0;
}

.dtt-supplier-link-regenerate .dtt-button {
	justify-content: center;
	width: 100%;
}

/* ------------------------------------------------------------------
 * Supplier Agreement page: versions table + upload form in the sidebar.
 * ---------------------------------------------------------------- */
.dtt-supplier-version {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.dtt-supplier-agreement-table td small {
	display: block;
	color: #56698f;
	font-size: 12px;
}

.dtt-supplier-agreement-table .dtt-inline-actions form {
	display: inline-block;
	margin: 0;
}

.dtt-supplier-agreement-upload .dtt-section-header {
	margin-bottom: 12px;
}

.dtt-reference-user-editor .dtt-reference-summary-card.dtt-supplier-agreement-upload .dtt-section-header h2 {
	margin: 0;
}

.dtt-supplier-agreement-upload .dtt-section-header p {
	margin: 4px 0 0;
	color: #56698f;
	font-size: 12px;
	line-height: 1.5;
}

.dtt-supplier-agreement-upload .dtt-form {
	display: grid;
	gap: 12px;
}

.dtt-supplier-agreement-upload .dtt-upload-box {
	min-height: 0;
	padding: 12px;
	border: 1px dashed #bfd0e2;
	border-radius: 7px;
}

.dtt-supplier-agreement-upload .dtt-upload-box > span {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 12px;
}

.dtt-supplier-agreement-upload .dtt-upload-box .dtt-ui-icon {
	width: 15px;
	height: 15px;
	color: #0aa99f;
}

.dtt-supplier-agreement-upload .dtt-upload-box input[type="file"] {
	width: 100%;
	min-height: 0;
	padding: 0;
	border: 0;
	background: none;
	font-size: 12px;
}

.dtt-supplier-agreement-upload .dtt-upload-box small,
.dtt-supplier-dashboard .dtt-upload-box small {
	color: #56698f;
	font-size: 12px;
}

.dtt-supplier-agreement-upload .dtt-form > label:not(.dtt-upload-box):not(.dtt-checkbox-field) > span {
	font-size: 12px;
}

.dtt-supplier-agreement-upload textarea {
	min-height: 60px;
}

.dtt-supplier-agreement-upload .dtt-checkbox-field .dtt-checkbox-control,
.dtt-supplier-accept-form .dtt-checkbox-field .dtt-checkbox-control {
	height: auto;
	min-height: 40px;
	font-size: 12px;
}

body .dtt-supplier-agreement-upload .dtt-form .dtt-checkbox-field input[type="checkbox"],
body .dtt-supplier-accept-form.dtt-form .dtt-checkbox-field input[type="checkbox"] {
	width: 18px;
	height: 18px;
	min-height: 0;
}

.dtt-supplier-agreement-upload .dtt-checkbox-field .dtt-checkbox-label,
.dtt-supplier-accept-form .dtt-checkbox-field .dtt-checkbox-label {
	font-size: 12px;
	line-height: 18px;
}

.dtt-supplier-agreement-upload .dtt-form-actions,
.dtt-supplier-accept-form .dtt-form-actions {
	justify-content: flex-start;
	padding: 0;
}

/* ------------------------------------------------------------------
 * Supplier dashboard (supplier's own view).
 * ---------------------------------------------------------------- */
.dtt-supplier-hero-status {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
}

.dtt-supplier-dashboard > .dtt-notice,
.dtt-supplier-dashboard > .dtt-supplier-card {
	margin: 0 0 12px;
}

body.logged-in .dtt-supplier-dashboard .dtt-supplier-card,
.dtt-supplier-dashboard .dtt-supplier-card {
	min-width: 0;
	padding: 16px;
}

.dtt-supplier-status-card .dtt-supplier-rail {
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	box-shadow: none;
}

.dtt-supplier-status-message {
	margin: 12px 0 0;
	color: #56698f;
	font-size: 12px;
	line-height: 1.5;
}

.dtt-supplier-status-reason {
	margin: 4px 0 0;
	color: #b4232f;
	font-size: 12px;
}

body.logged-in .dtt-supplier-dashboard .dtt-supplier-agreement-card.is-pending,
.dtt-supplier-agreement-card.is-pending {
	border-left: 4px solid #0b246d;
}

.dtt-supplier-accept-form .dtt-checkbox-field {
	justify-self: start;
	max-width: 100%;
}

.dtt-supplier-accept-form .dtt-checkbox-field .dtt-checkbox-control {
	padding-right: 14px;
}

.dtt-supplier-agreement-card .dtt-supplier-note:first-of-type {
	margin-top: 0;
}

.dtt-supplier-accept-form {
	display: grid;
	gap: 10px;
	margin-top: 10px;
}

.dtt-supplier-accepted {
	display: flex;
	align-items: center;
	gap: 6px;
}

.dtt-supplier-accepted .dtt-ui-icon {
	width: 14px;
	height: 14px;
	color: #0aa99f;
}

.dtt-supplier-dashboard-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 12px;
	align-items: start;
}

.dtt-supplier-summary-list {
	margin: 0;
}

.dtt-supplier-summary-list > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 8px 0;
	border-bottom: 1px solid #e8eef6;
}

.dtt-supplier-summary-list dt {
	color: #56698f;
	font-size: 12px;
}

.dtt-supplier-summary-list dd {
	margin: 0;
	color: #10214f;
	font-size: 12px;
	font-weight: 700;
	text-align: right;
	overflow-wrap: anywhere;
}

/* Keyboard focus stays visible on every supplier control. */
.dtt-supplier-admin :focus-visible,
.dtt-supplier-dashboard :focus-visible,
.dtt-supplier-reason-modal :focus-visible {
	outline: 2px solid var(--dtt-teal-text, #066f69);
	outline-offset: 2px;
}

@media (max-width: 1100px) {
	.dtt-reference-user-list .dtt-supplier-list-filters .dtt-filter-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 980px) {
	.dtt-supplier-agreements-screen .dtt-reference-user-editor-sidebar {
		order: -1;
	}

	.dtt-supplier-dashboard-grid,
	.dtt-supplier-admin .dtt-reference-user-editor-shell {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 767px) {
	.dtt-supplier-facts,
	.dtt-supplier-document-list {
		grid-template-columns: minmax(0, 1fr);
	}

	.dtt-supplier-document-list .dtt-document-item {
		grid-template-columns: 36px minmax(0, 1fr) auto;
	}

	.dtt-supplier-document-list .dtt-document-actions {
		grid-column: auto;
	}

	.dtt-supplier-link-field {
		flex-direction: column;
	}
}

@media (max-width: 760px) {
	.dtt-reference-user-list .dtt-supplier-list-filters .dtt-filter-grid {
		grid-template-columns: 1fr;
	}

	body.logged-in .dtt-supplier-admin .dtt-page-heading,
	.dtt-supplier-admin .dtt-page-heading {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		align-items: stretch;
		gap: 12px;
	}

	body.logged-in .dtt-supplier-admin .dtt-page-heading > .dtt-button,
	body.logged-in .dtt-supplier-admin .dtt-page-heading > .dtt-reference-user-editor-actions {
		grid-column: 1;
		grid-row: auto;
	}

	.dtt-supplier-admin .dtt-reference-user-editor-actions {
		flex-direction: column;
	}

	.dtt-supplier-admin .dtt-page-heading > .dtt-button,
	.dtt-supplier-admin .dtt-reference-user-editor-actions,
	.dtt-supplier-admin .dtt-reference-user-editor-actions .dtt-button {
		justify-content: center;
		width: 100%;
	}
}

@media (max-width: 480px) {
	.dtt-supplier-rail {
		padding: 7px 12px;
	}

	.dtt-supplier-rail:not(.is-mini) .dtt-supplier-rail-step:not([aria-current]) .dtt-supplier-rail-label {
		position: absolute;
		width: 1px;
		height: 1px;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
	}

	.dtt-supplier-rail-step,
	.dtt-supplier-rail-step:last-child {
		flex: 0 0 auto;
	}

	.dtt-supplier-rail-step[aria-current] {
		flex: 1 1 auto;
	}

	.dtt-supplier-rail:not(.is-mini) .dtt-supplier-rail-step:not(:last-child)::after {
		min-width: 12px;
	}

	.dtt-supplier-rail:not(.is-mini) .dtt-supplier-rail-step:not([aria-current]):not(:last-child)::after {
		flex: 0 0 14px;
	}

	.dtt-supplier-link-field .dtt-button,
	.dtt-supplier-admin .dtt-page-heading .dtt-button,
	.dtt-supplier-reason-form .dtt-form-actions .dtt-button,
	.dtt-supplier-accept-form .dtt-button,
	.dtt-supplier-agreement-card .dtt-supplier-card-head .dtt-button,
	.dtt-supplier-agreement-upload .dtt-button,
	.dtt-supplier-registration .dtt-registration-actions .dtt-button,
	.dtt-supplier-registration .dtt-registration-heading .dtt-button,
	.dtt-supplier-registration-done .dtt-button {
		justify-content: center;
		width: 100%;
	}

	.dtt-supplier-reason-form .dtt-form-actions,
	.dtt-supplier-accept-form .dtt-form-actions {
		flex-direction: column-reverse;
		align-items: stretch;
	}

	.dtt-form .dtt-supplier-service-options label.dtt-checkbox {
		flex: 1 1 calc(50% - 8px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.dtt-supplier-admin *,
	.dtt-supplier-dashboard *,
	.dtt-supplier-reason-modal * {
		transition: none !important;
		animation: none !important;
	}
}

/* ------------------------------------------------------------------
 * DEV visual QA fixes (RC41).
 * ---------------------------------------------------------------- */

/* List rows: pill and mini rail side by side so every cell keeps the portal row height. */
.dtt-supplier-status-cell {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 8px;
}

/* Sidebar cards use the same 12px rhythm as the main column. */
.dtt-supplier-admin .dtt-reference-user-editor-sidebar {
	gap: 12px;
}

/* Agreement card: label above value so versions and the outdated pill don't wrap awkwardly. */
.dtt-reference-summary-card.dtt-supplier-card-agreement dl > div {
	flex-direction: column;
	align-items: stretch;
	gap: 3px;
}

.dtt-reference-summary-card.dtt-supplier-card-agreement dl dd {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 6px;
	text-align: left;
	justify-content: flex-start;
}

/* History: both tables share fixed columns so the expanded rows line up. */
.dtt-supplier-admin .dtt-supplier-history-table {
	table-layout: fixed;
}

.dtt-supplier-admin .dtt-supplier-history-table th:nth-child(1) { width: 24%; }
.dtt-supplier-admin .dtt-supplier-history-table th:nth-child(2) { width: 20%; }
.dtt-supplier-admin .dtt-supplier-history-table th:nth-child(3) { width: 18%; }

.dtt-supplier-admin .dtt-supplier-history-table td {
	overflow-wrap: anywhere;
}

@media (max-width: 480px) {
	/* Rail: equal connectors; only the current label takes the free space. */
	.dtt-supplier-rail:not(.is-mini) {
		justify-content: flex-start;
	}

	.dtt-supplier-rail:not(.is-mini) .dtt-supplier-rail-step,
	.dtt-supplier-rail:not(.is-mini) .dtt-supplier-rail-step[aria-current] {
		flex: 0 1 auto;
	}

	.dtt-supplier-rail:not(.is-mini) .dtt-supplier-rail-step:not(:last-child)::after,
	.dtt-supplier-rail:not(.is-mini) .dtt-supplier-rail-step:not([aria-current]):not(:last-child)::after {
		flex: 0 0 16px;
		min-width: 16px;
		width: 16px;
	}

	.dtt-supplier-admin .dtt-supplier-history-table {
		table-layout: auto;
	}
}

/* ------------------------------------------------------------------
 * F04 supplier listings (RC47): supplier portal lists and editor, and the
 * administrator review card. Filter bars and 42px controls come from the
 * portal-wide block at the end of app.css.
 * ---------------------------------------------------------------- */

/* Listing status pills (Draft / Pending review / Published / Paused / Returned). */
.dtt-supplier-listing-status {
	white-space: nowrap;
}

.dtt-status-listing-draft {
	background: #eef2f8;
	color: #33476f;
}

.dtt-status-listing-pending {
	background: #fff5d1;
	color: #765300;
}

.dtt-status-listing-publish {
	background: #e8f8ef;
	color: #08723d;
}

.dtt-status-listing-paused {
	background: #f1f3f6;
	color: #56698f;
}

.dtt-status-listing-returned {
	background: #fff1f2;
	color: #a51d2c;
}

.dtt-supplier-updated-flag {
	background: #e7f0ff;
	color: #173f8a;
	white-space: nowrap;
}

/* List rows: return note under the pill, small row actions on one line. */
.dtt-supplier-row-note {
	display: block;
	margin-top: 4px;
	color: #a51d2c;
	font-size: 12px;
	line-height: 1.35;
}

.dtt-supplier-services-table .dtt-management-list-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.dtt-supplier-services-table .dtt-management-list-actions form {
	margin: 0;
}

/* Editor sidebar: status card, return note and the save buttons. */
.dtt-supplier-listing-summary .dtt-supplier-editor-buttons,
.dtt-supplier-listing-form .dtt-form-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.dtt-supplier-listing-summary .dtt-supplier-editor-buttons {
	margin-top: 12px;
}

.dtt-supplier-listing-summary .dtt-supplier-editor-buttons .dtt-button {
	flex: 1 1 auto;
	justify-content: center;
}

.dtt-supplier-listing-summary .dtt-supplier-note,
.dtt-supplier-review-card .dtt-supplier-note {
	margin: 8px 0 0;
	color: #56698f;
	font-size: 12px;
	line-height: 1.45;
}

.dtt-supplier-return-note {
	margin: 12px 0 0;
	padding: 9px 11px;
	border: 1px solid #edf2f5;
	border-left: 3px solid #d33f49;
	border-radius: 7px;
	background: #f8fbfc;
	color: #10214f;
	font-size: 12px;
	line-height: 1.45;
}

.dtt-supplier-return-note p {
	margin: 4px 0 0;
}

/* Administrator review card. */
.dtt-supplier-review-card {
	display: grid;
	gap: 10px;
}

.dtt-supplier-review-warning {
	margin: 0;
	padding: 8px 10px;
	border-radius: 7px;
	background: #fff5d1;
	color: #765300;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.45;
}

.dtt-supplier-review-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.dtt-supplier-review-actions:empty {
	display: none;
}

.dtt-supplier-review-note {
	display: grid;
	gap: 6px;
	margin: 0;
}

.dtt-supplier-review-note span {
	font-size: 12px;
	font-weight: 800;
	color: #10214f;
}

.dtt-supplier-review-note textarea {
	width: 100%;
	min-height: 64px;
	box-sizing: border-box;
}

.dtt-supplier-review-form {
	display: none;
}

/* Read-only selling rate next to the supplier rate (administrators). */
.dtt-supplier-selling-rate input[readonly] {
	background: #f3f6fa;
	color: #33476f;
}

/* "N supplier listings are waiting for review" line above admin lists. */
.dtt-supplier-review-queue {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin: 0 0 12px;
	padding: 8px 12px;
	border: 1px solid #f5c84b;
	border-radius: 8px;
	background: #fffaf0;
	color: #765300;
	font-size: 12px;
	font-weight: 700;
}

.dtt-supplier-review-queue .dtt-ui-icon {
	width: 16px;
	height: 16px;
}

/* Approved supplier dashboard: needs-attention list. */
.dtt-supplier-attention-list {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.dtt-supplier-attention-list li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	padding: 9px 0;
	border-bottom: 1px solid #dce4f0;
	font-size: 12px;
}

.dtt-supplier-attention-list li:last-child {
	border-bottom: 0;
}

.dtt-supplier-attention-list li > span {
	color: #56698f;
	font-size: 12px;
}

.dtt-supplier-attention-list small {
	flex-basis: 100%;
	color: #a51d2c;
	font-size: 12px;
}

@media (max-width: 480px) {
	.dtt-supplier-listing-summary .dtt-supplier-editor-buttons .dtt-button,
	.dtt-supplier-listing-form .dtt-form-actions .dtt-button,
	.dtt-supplier-review-actions .dtt-button,
	.dtt-supplier-review-card > .dtt-button {
		width: 100%;
	}
}

/* ------------------------------------------------------------------
 * RC48: supplier stat cards show a plain centred icon. The base
 * .dtt-stat-icon::after draws a ring with an open top, which read as a
 * spinner over the icon on the supplier dashboard.
 * ---------------------------------------------------------------- */
.dtt-supplier-portal .dtt-stat-icon::after,
.dtt-supplier-kpis .dtt-stat-icon::after {
	display: none;
	content: none;
}

.dtt-supplier-portal .dtt-stat-icon,
.dtt-supplier-kpis .dtt-stat-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	animation: none;
}

.dtt-supplier-portal .dtt-stat-icon .dtt-ui-icon,
.dtt-supplier-kpis .dtt-stat-icon .dtt-ui-icon {
	width: 20px;
	height: 20px;
	animation: none;
}

.dtt-supplier-status-message a {
	font-weight: 700;
}

/* ------------------------------------------------------------------
 * RC51: hotels and tours, reassign, managed services, destinations.
 * ---------------------------------------------------------------- */
.dtt-supplier-selling-note {
	display: block;
	margin-top: 4px;
	color: #33476f;
	font-size: 12px;
	font-weight: 600;
}

.dtt-supplier-selling-line {
	margin: 6px 0 0;
	padding: 7px 10px;
	border-radius: 7px;
	background: #f3f6fa;
	color: #33476f;
	font-size: 12px;
	line-height: 1.5;
	overflow-wrap: anywhere;
}

.dtt-supplier-reassign-form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	min-width: 0;
}

.dtt-supplier-reassign-form label {
	min-width: 0;
	margin: 0;
}

.dtt-supplier-reassign-form select {
	max-width: 180px;
	height: 32px;
	min-height: 32px;
	padding: 0 8px;
	font-size: 12px;
}

.dtt-tour-card-supplier {
	margin: 2px 0 0;
	color: #56698f;
	font-size: 12px;
}

.dtt-destination-tags .dtt-destination-supplier-hidden {
	background: #fff5d1;
	color: #765300;
}

.dtt-supplier-managed-services h3 {
	margin: 14px 0 6px;
	color: #13254d;
	font-size: 13px;
}

.dtt-supplier-managed-table th,
.dtt-supplier-managed-table td {
	white-space: nowrap;
}

@media (max-width: 480px) {
	.dtt-supplier-reassign-form,
	.dtt-supplier-reassign-form label,
	.dtt-supplier-reassign-form select,
	.dtt-supplier-reassign-form .dtt-button {
		width: 100%;
		max-width: none;
	}
}

/* ------------------------------------------------------------------
 * RC52: hotel room cards in two readable rows, room move/remove
 * controls, card actions that keep Reassign usable, inline errors.
 * ---------------------------------------------------------------- */
.dtt-hotel-room-card.dtt-room-card-stacked > .dtt-room-primary-grid,
.dtt-hotel-room-card.dtt-room-card-stacked > .dtt-room-pricing-grid,
.dtt-hotel-room-card.dtt-room-card-stacked > .dtt-room-all-fields-grid {
	grid-column: 1 / -1;
}

.dtt-hotel-room-card.dtt-room-card-stacked .dtt-room-primary-grid,
.dtt-hotel-room-card.dtt-room-card-stacked .dtt-room-pricing-grid,
.dtt-hotel-room-card.dtt-room-card-stacked .dtt-room-all-fields-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 10px 12px;
	align-items: end;
}

.dtt-hotel-room-card.dtt-room-card-stacked label,
.dtt-hotel-room-card.dtt-room-card-stacked input {
	min-width: 0;
}

.dtt-room-row-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 6px;
}

.dtt-catalog-card-actions {
	flex-wrap: wrap;
}

.dtt-catalog-card-actions > .dtt-supplier-reassign-form,
.dtt-reference-tour-list .dtt-tour-card-actions > .dtt-supplier-reassign-form {
	flex: 1 1 100%;
	grid-column: 1 / -1;
	padding: 6px 8px;
	border-top: 1px solid #e5ebf3;
}

.dtt-catalog-card-actions > .dtt-supplier-reassign-form label,
.dtt-tour-card-actions > .dtt-supplier-reassign-form label {
	flex: 1 1 auto;
}

.dtt-catalog-card-actions > .dtt-supplier-reassign-form select,
.dtt-tour-card-actions > .dtt-supplier-reassign-form select {
	width: 100%;
	max-width: none;
}

.dtt-catalog-card-actions > .dtt-supplier-reassign-form .dtt-button,
.dtt-reference-tour-list .dtt-tour-card-actions > .dtt-supplier-reassign-form .dtt-button {
	flex: 0 0 auto;
	width: auto;
	height: 32px;
	border-radius: 7px;
}

.dtt-room-missing-error {
	display: block;
	margin-top: 4px;
	color: #a51d2c;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.35;
}

@media (max-width: 900px) {
	.dtt-hotel-room-card.dtt-room-card-stacked .dtt-room-primary-grid,
	.dtt-hotel-room-card.dtt-room-card-stacked .dtt-room-pricing-grid,
	.dtt-hotel-room-card.dtt-room-card-stacked .dtt-room-all-fields-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 480px) {
	.dtt-hotel-room-card.dtt-room-card-stacked .dtt-room-primary-grid,
	.dtt-hotel-room-card.dtt-room-card-stacked .dtt-room-pricing-grid,
	.dtt-hotel-room-card.dtt-room-card-stacked .dtt-room-all-fields-grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.dtt-room-row-actions .dtt-button {
		flex: 1 1 auto;
	}
}

/* ------------------------------------------------------------------
 * RC53: approved supplier dashboard (status + Add a listing, type
 * tiles with filtered sub-links, Needs attention table), room move
 * and remove states, 390px pass with 40px tap targets.
 * ---------------------------------------------------------------- */
.dtt-supplier-tools-top {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 12px;
	align-items: start;
	margin: 0 0 12px;
}

.dtt-supplier-add-buttons {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px;
}

.dtt-supplier-add-buttons .dtt-button {
	justify-content: center;
}

.dtt-supplier-empty-state .dtt-supplier-add-buttons {
	grid-template-columns: repeat(4, max-content);
}

.dtt-supplier-kpis.dtt-quote-kpis {
	margin: 0 0 12px;
}

.dtt-supplier-type-tile {
	align-content: start;
	min-height: 0;
	padding: 14px 16px;
}

.dtt-supplier-type-tile .dtt-supplier-tile-main {
	display: grid;
	gap: 6px;
	max-width: calc(100% - 56px);
	color: inherit;
	text-decoration: none;
}

.dtt-supplier-type-tile .dtt-supplier-tile-main:hover strong,
.dtt-supplier-type-tile .dtt-supplier-tile-main:focus-visible strong {
	color: #066f69;
}

.dtt-supplier-type-tile .dtt-supplier-tile-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 2px 6px;
	max-width: none;
	color: #56698f;
	font-size: 12px;
}

.dtt-supplier-type-tile .dtt-supplier-tile-links a {
	color: #56698f;
	font-weight: 700;
	text-decoration: none;
}

.dtt-supplier-type-tile .dtt-supplier-tile-links a:hover,
.dtt-supplier-type-tile .dtt-supplier-tile-links a:focus-visible {
	color: #0b246d;
	text-decoration: underline;
}

.dtt-supplier-type-tile .dtt-supplier-tile-links a.is-returned {
	color: #a51d2c;
}

.dtt-supplier-type-tile .dtt-stat-icon {
	right: 14px;
	bottom: auto;
	top: 14px;
	width: 38px;
	height: 38px;
}

.dtt-supplier-attention-table td > strong {
	display: block;
	color: #10214f;
}

.dtt-supplier-attention-type {
	display: block;
	margin-top: 2px;
	color: #56698f;
	font-size: 12px;
}

.dtt-supplier-empty-state p {
	margin: 0 0 10px;
	color: #33476f;
	font-size: 12px;
	line-height: 1.5;
}

.dtt-room-row-actions .dtt-button[aria-disabled="true"] {
	cursor: not-allowed;
}

@media (max-width: 980px) {
	.dtt-supplier-tools-top {
		grid-template-columns: minmax(0, 1fr);
	}

	.dtt-supplier-kpis.dtt-quote-kpis {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 480px) {
	.dtt-supplier-kpis.dtt-quote-kpis {
		gap: 8px;
	}

	.dtt-supplier-type-tile {
		padding: 12px;
	}

	.dtt-supplier-type-tile .dtt-supplier-tile-main {
		max-width: none;
	}

	.dtt-supplier-type-tile .dtt-stat-icon {
		display: none;
	}

	.dtt-supplier-type-tile .dtt-supplier-tile-links a {
		display: inline-flex;
		align-items: center;
		min-height: 40px;
	}

	.dtt-supplier-empty-state .dtt-supplier-add-buttons {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dtt-supplier-portal .dtt-button,
	.dtt-supplier-portal .dtt-filter-form select,
	.dtt-supplier-portal .dtt-filter-form input,
	.dtt-supplier-dashboard .dtt-button,
	body.logged-in .dtt-supplier-portal .dtt-button,
	body.logged-in .dtt-supplier-dashboard .dtt-button {
		min-height: 42px;
	}

	.dtt-supplier-portal .dtt-button.dtt-button-small,
	.dtt-supplier-dashboard .dtt-button.dtt-button-small,
	body.logged-in .dtt-supplier-portal .dtt-button.dtt-button-small,
	body.logged-in .dtt-supplier-dashboard .dtt-button.dtt-button-small {
		min-height: 36px;
	}

	.dtt-supplier-editor-screen .dtt-reference-editor-back {
		display: inline-flex;
		align-items: center;
		min-height: 40px;
	}

	.dtt-supplier-portal .dtt-page-heading > .dtt-button,
	.dtt-supplier-portal .dtt-filter-actions .dtt-button {
		width: 100%;
		justify-content: center;
	}

	.dtt-supplier-services-table .dtt-management-list-actions .dtt-button,
	.dtt-supplier-attention-table .dtt-management-list-actions .dtt-button {
		min-width: 40px;
	}

	.dtt-supplier-status-message a {
		display: inline-flex;
		align-items: center;
		min-height: 40px;
	}
}

/* ------------------------------------------------------------------
 * RC54: F05 supplier markup settings card (administrator profile).
 * ---------------------------------------------------------------- */
.dtt-supplier-markup .dtt-supplier-markup-intro {
	margin: 0 0 12px;
}

.dtt-supplier-markup-rows {
	display: grid;
	gap: 8px;
}

.dtt-supplier-markup-row {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(140px, 0.9fr) minmax(110px, 0.7fr) minmax(0, 1.3fr);
	gap: 12px;
	align-items: end;
	min-width: 0;
	padding: 10px 12px;
	border: 1px solid #d9e4f1;
	border-radius: 8px;
	background: #fff;
}

.dtt-supplier-markup-category {
	display: grid;
	gap: 2px;
	align-self: center;
	min-width: 0;
}

.dtt-supplier-markup-category strong {
	color: #10214f;
	font-size: 13px;
	font-weight: 800;
}

.dtt-supplier-markup-category span {
	color: #56698f;
	font-size: 12px;
	line-height: 1.4;
}

.dtt-supplier-markup-field {
	display: grid;
	gap: 4px;
	min-width: 0;
	margin: 0;
}

.dtt-supplier-markup-field > span {
	color: #56698f;
	font-size: 12px;
	font-weight: 700;
	text-transform: none;
}

.dtt-supplier-markup-field select,
.dtt-supplier-markup-field input {
	width: 100%;
	min-width: 0;
	min-height: 36px;
	font-size: 12px;
}

.dtt-supplier-markup-field input:disabled {
	background: #f3f6fa;
	color: #52668a;
}

.dtt-supplier-markup-example {
	align-self: center;
	margin: 0;
	color: #10214f;
	font-size: 12px;
	font-weight: 700;
	overflow-wrap: anywhere;
}

.dtt-supplier-markup-example.is-invalid {
	color: #b4232f;
	font-weight: 600;
}

.dtt-supplier-markup .dtt-supplier-markup-form > .dtt-supplier-note {
	margin: 10px 0 0;
}

.dtt-supplier-markup .dtt-form-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}

.dtt-supplier-markup-status {
	color: #b4232f;
	font-size: 12px;
	font-weight: 600;
	white-space: normal;
}

.dtt-supplier-markup .dtt-supplier-markup-pending {
	margin: 10px 0 0;
}

.dtt-supplier-markup h3 {
	margin: 14px 0 6px;
	color: #13254d;
	font-size: 13px;
}

.dtt-supplier-markup-history-table th,
.dtt-supplier-markup-history-table td {
	white-space: nowrap;
}

body.logged-in .dtt-supplier-admin .dtt-supplier-markup-history-table,
.dtt-supplier-admin .dtt-supplier-markup-history-table {
	min-width: 560px;
}

@media (max-width: 900px) {
	.dtt-supplier-markup-row {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: 8px 12px;
	}

	.dtt-supplier-markup-category,
	.dtt-supplier-markup-example {
		grid-column: 1 / -1;
	}
}

@media (max-width: 480px) {
	.dtt-supplier-markup-row {
		padding: 10px;
	}

	.dtt-supplier-markup .dtt-form-actions .dtt-button {
		width: 100%;
		justify-content: center;
		min-height: 40px;
	}

	.dtt-supplier-markup-field select,
	.dtt-supplier-markup-field input {
		min-height: 40px;
	}
}

/* ------------------------------------------------------------------
 * RC54: rc53 follow-ups. Disabled room move/remove buttons look
 * disabled; the dashboard "Needs attention" table stacks at 390px.
 * ---------------------------------------------------------------- */
.dtt-room-row-actions .dtt-button[aria-disabled="true"],
.dtt-room-row-actions .dtt-button[aria-disabled="true"]:hover,
.dtt-room-row-actions .dtt-button[aria-disabled="true"]:active,
.dtt-room-row-actions .dtt-button[aria-disabled="true"]:focus {
	opacity: 1;
	color: #52668a;
	border-color: #dce4f0;
	background: #f3f6fa;
	box-shadow: none;
	transform: none;
	cursor: not-allowed;
}

.dtt-room-row-actions .dtt-button[aria-disabled="true"] .dtt-ui-icon,
.dtt-room-row-actions .dtt-button[aria-disabled="true"]:hover .dtt-ui-icon {
	color: #52668a;
	transform: none;
}

@media (max-width: 480px) {
	body.logged-in .dtt-table-wrap.dtt-supplier-attention-wrap,
	.dtt-table-wrap.dtt-supplier-attention-wrap {
		overflow: visible;
		border: 0;
		background: transparent;
		box-shadow: none;
	}

	.dtt-supplier-attention-table,
	.dtt-supplier-attention-table tbody,
	.dtt-supplier-attention-table tr,
	.dtt-supplier-attention-table td {
		display: block;
		width: 100%;
		min-width: 0;
	}

	body.logged-in .dtt-supplier-attention-table,
	.dtt-supplier-attention-table {
		min-width: 0;
	}

	.dtt-supplier-attention-table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}

	.dtt-supplier-attention-table tbody {
		display: grid;
		gap: 8px;
	}

	.dtt-supplier-attention-table tr {
		display: grid;
		gap: 6px;
		padding: 12px;
		border: 1px solid #d9e4f1;
		border-radius: 8px;
		background: #fff;
		box-shadow: 0 2px 7px rgba(0, 27, 75, 0.035);
	}

	body.logged-in .dtt-supplier-attention-table td,
	.dtt-supplier-attention-table td {
		padding: 0;
		border: 0;
		white-space: normal;
		text-align: left;
	}

	.dtt-supplier-attention-table td.dtt-supplier-attention-updated {
		color: #56698f;
		font-size: 12px;
	}

	.dtt-supplier-attention-table td.dtt-supplier-attention-updated::before {
		content: attr(data-label) ": ";
		font-weight: 700;
	}

	.dtt-supplier-attention-table td.dtt-management-list-actions {
		display: block;
	}

	.dtt-supplier-attention-table td.dtt-management-list-actions .dtt-button {
		display: flex;
		width: 100%;
		min-height: 40px;
		justify-content: center;
	}
}

/* ------------------------------------------------------------------
 * RC55: F06 supplier booking notifications. Booking status pills, My
 * Bookings list and detail, the dashboard "Booking notifications" card
 * and the administrator "Supplier information" card on booking details.
 * ---------------------------------------------------------------- */

.dtt-supplier-booking-status {
	white-space: nowrap;
}

.dtt-status-sa-new {
	background: #e7f0ff;
	color: #173f8a;
}

.dtt-status-sa-updated {
	background: #fff5d1;
	color: #765300;
}

.dtt-status-sa-confirmed {
	background: #e8f8ef;
	color: #08723d;
}

.dtt-status-sa-completed {
	background: #eef2f8;
	color: #33476f;
}

.dtt-status-sa-cancelled {
	background: #fff1f2;
	color: #a51d2c;
}

.dtt-supplier-unread-flag,
.dtt-table td small.dtt-supplier-unread-flag {
	display: inline-block;
	width: auto;
	margin: 0 0 0 6px;
	padding: 1px 8px;
	border-radius: 999px;
	background: #00776e;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	white-space: nowrap;
	vertical-align: middle;
}

.dtt-supplier-bookings-table tr.is-unread td:first-child strong {
	color: #0b246d;
}

/* Services table (supplier detail and administrator card). */
.dtt-supplier-booking-lines td {
	vertical-align: top;
}

.dtt-supplier-booking-line-meta,
.dtt-supplier-booking-line-cancelled,
.dtt-supplier-booking-line-warning {
	display: block;
	margin-top: 3px;
	color: #56698f;
	font-size: 12px;
	line-height: 1.35;
}

.dtt-supplier-booking-line-cancelled,
.dtt-supplier-booking-line-warning {
	color: #a51d2c;
	font-weight: 700;
}

.dtt-supplier-booking-lines tr.is-cancelled td {
	color: #56698f;
}

.dtt-supplier-booking-lines tr.is-cancelled td strong {
	text-decoration: line-through;
}

.dtt-supplier-booking-amount {
	text-align: right;
	white-space: nowrap;
}

.dtt-supplier-booking-lines tfoot th,
.dtt-supplier-booking-lines tfoot td {
	padding: 9px 12px;
	border-top: 1px solid #dce4f0;
	color: #10214f;
	font-size: 12px;
	text-align: right;
}

.dtt-supplier-booking-ack {
	margin: 0;
}

.dtt-supplier-booking-ack .dtt-button {
	width: 100%;
	justify-content: center;
}

/* Dashboard card "Booking notifications". */
.dtt-supplier-card-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 12px;
	margin-bottom: 8px;
}

.dtt-supplier-card-head h2 {
	margin: 0;
}

.dtt-supplier-unread-badge {
	margin-left: 8px;
	padding: 2px 8px;
	border-radius: 999px;
	background: #00776e;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
}

.dtt-supplier-booking-feed {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.dtt-supplier-booking-feed li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	padding: 9px 0;
	border-bottom: 1px solid #dce4f0;
	font-size: 12px;
}

.dtt-supplier-booking-feed li:last-child {
	border-bottom: 0;
}

.dtt-supplier-booking-feed li > span {
	color: #56698f;
	font-size: 12px;
}

.dtt-supplier-booking-feed li.is-unread a strong {
	color: #066f69;
}

/* Administrator "Supplier information" card on booking details. */
.dtt-booking-supplier-card {
	display: grid;
	gap: 12px;
}

.dtt-booking-supplier-block {
	display: grid;
	gap: 8px;
	padding: 12px;
	border: 1px solid #d9e4f1;
	border-radius: 8px;
	background: #fff;
}

.dtt-booking-supplier-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 12px;
}

.dtt-booking-supplier-head > div {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
}

.dtt-booking-supplier-head form {
	margin: 0;
}

.dtt-booking-supplier-name {
	color: #10214f;
	font-size: 13px;
	font-weight: 800;
}

.dtt-booking-supplier-email {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: #56698f;
	font-size: 12px;
	font-weight: 700;
}

.dtt-booking-supplier-email svg {
	width: 14px;
	height: 14px;
}

.dtt-booking-supplier-email.is-ok {
	color: #08723d;
}

.dtt-booking-supplier-email.is-error {
	color: #a51d2c;
}

.dtt-booking-supplier-email.is-warning {
	color: #765300;
}

.dtt-booking-supplier-card h3 {
	margin: 0;
	color: #10214f;
	font-size: 13px;
	font-weight: 800;
}

.dtt-booking-supplier-unassigned {
	display: grid;
	margin: 0;
	padding: 0;
	list-style: none;
}

.dtt-booking-supplier-unassigned li {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 10px;
	padding: 8px 0;
	border-bottom: 1px solid #dce4f0;
	font-size: 12px;
}

.dtt-booking-supplier-unassigned li:last-child {
	border-bottom: 0;
}

.dtt-booking-supplier-unassigned li span {
	color: #56698f;
	font-size: 12px;
}

.dtt-booking-supplier-generate {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
}

@media (max-width: 760px) {
	.dtt-supplier-booking-lines thead {
		display: none;
	}

	.dtt-supplier-booking-lines,
	.dtt-supplier-booking-lines tbody,
	.dtt-supplier-booking-lines tfoot,
	.dtt-supplier-booking-lines tr,
	.dtt-supplier-booking-lines td,
	.dtt-supplier-booking-lines tfoot th {
		display: block;
		width: 100%;
	}

	.dtt-supplier-booking-lines tbody tr {
		padding: 10px 0;
		border-bottom: 1px solid #dce4f0;
	}

	body.logged-in .dtt-supplier-booking-lines td,
	.dtt-supplier-booking-lines td {
		padding: 2px 0;
		border: 0;
		white-space: normal;
		text-align: left;
	}

	/* D2 (rc56): an empty or missing label (the total row) shows no stray ":". */
	.dtt-supplier-booking-lines td[data-label]:not([data-label=""]):not(:first-child)::before {
		content: attr(data-label) ": ";
		color: #56698f;
		font-size: 12px;
		font-weight: 700;
	}

	.dtt-supplier-booking-lines tfoot th,
	.dtt-supplier-booking-lines tfoot td {
		padding: 6px 0 0;
		border: 0;
		text-align: left;
	}

	.dtt-booking-supplier-head form,
	.dtt-booking-supplier-head .dtt-button,
	.dtt-booking-supplier-generate .dtt-button,
	.dtt-supplier-card-head .dtt-button {
		width: 100%;
		justify-content: center;
	}
}

/* ------------------------------------------------------------------
 * RC56: F07 supplier payment management. Payment status pills, the
 * supplier profile Payments panel (details, Record payment, ledger),
 * payment rows in the booking Supplier information card, the
 * supplier Payment Records page and the Company Profile form.
 * D1: on phones stacked tables drop the 760px table minimum and the
 * supplier panels / grid children may shrink (min-width: 0), so no
 * table pushes the page wider than the screen.
 * ---------------------------------------------------------------- */

.dtt-supplier-pay-status {
	white-space: nowrap;
}

.dtt-status-sp-unpaid {
	background: #fff1f2;
	color: #a51d2c;
}

.dtt-status-sp-partial {
	background: #fff5d1;
	color: #765300;
}

.dtt-status-sp-paid,
.dtt-status-sp-recorded {
	background: #e8f8ef;
	color: #08723d;
}

.dtt-status-sp-overpaid,
.dtt-status-sp-changed {
	background: #fff5d1;
	color: #765300;
	font-weight: 800;
}

.dtt-status-sp-none,
.dtt-status-sp-noproof,
.dtt-status-sp-voided {
	background: #eef2f8;
	color: #33476f;
}

.dtt-supplier-panel,
.dtt-supplier-shell > *,
.dtt-supplier-dashboard-grid > *,
.dtt-supplier-payments-screen > * {
	min-width: 0;
}

.dtt-supplier-payments-profile h3,
.dtt-supplier-payment-details-admin h3 {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	margin: 12px 0 8px;
	color: #10214f;
	font-size: 13px;
	font-weight: 800;
}

.dtt-supplier-payment-details-admin {
	margin: 0 0 12px;
	padding: 12px 14px;
	border: 1px solid #dce4f0;
	border-radius: 8px;
	background: #f8fbfc;
}

.dtt-supplier-payment-details-admin h3 {
	margin-top: 0;
}

.dtt-supplier-payment-reveal {
	margin-top: 8px;
	font-size: 12px;
}

.dtt-supplier-payment-reveal summary,
.dtt-supplier-payment-action summary,
.dtt-supplier-payment-record > summary {
	cursor: pointer;
	list-style: none;
}

.dtt-supplier-payment-reveal summary {
	color: #0b246d;
	font-weight: 700;
}

.dtt-supplier-payment-reveal summary::-webkit-details-marker,
.dtt-supplier-payment-action summary::-webkit-details-marker,
.dtt-supplier-payment-record > summary::-webkit-details-marker {
	display: none;
}

.dtt-supplier-payment-record {
	margin: 0 0 12px;
}

.dtt-supplier-payment-record > summary {
	display: inline-flex;
	width: auto;
}

.dtt-supplier-payment-form {
	margin-top: 12px;
	padding: 14px;
	border: 1px solid #dce4f0;
	border-radius: 8px;
	background: #fff;
}

.dtt-supplier-payment-alloc-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin: 12px 0 8px;
}

.dtt-supplier-payment-alloc-head h4 {
	margin: 0;
	color: #10214f;
	font-size: 12px;
	font-weight: 800;
}

.dtt-supplier-payment-alloc-table input {
	width: 110px;
	max-width: 100%;
	text-align: right;
}

.dtt-supplier-payment-form [data-dtt-sp-total].is-mismatch {
	color: #a51d2c;
	font-weight: 700;
}

.dtt-supplier-payment-allocations {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 12px;
}

.dtt-supplier-payment-allocations li span {
	color: #56698f;
	white-space: nowrap;
}

.dtt-supplier-payment-ledger tr.is-voided td {
	color: #56698f;
}

.dtt-supplier-payment-ledger tr.is-voided td strong {
	text-decoration: line-through;
}

.dtt-supplier-payment-actions {
	white-space: nowrap;
}

.dtt-supplier-payment-action {
	display: inline-block;
	margin: 0 4px 4px 0;
	vertical-align: top;
}

.dtt-supplier-payment-action form {
	display: grid;
	gap: 6px;
	min-width: 200px;
	margin-top: 6px;
	padding: 10px;
	border: 1px solid #edf2f5;
	border-radius: 7px;
	background: #f8fbfc;
	white-space: normal;
}

.dtt-supplier-payment-action label span {
	display: block;
	color: #56698f;
	font-size: 12px;
	font-weight: 700;
}

.dtt-supplier-payment-proof {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 12px;
	font-weight: 700;
}

.dtt-supplier-payment-proof svg {
	width: 14px;
	height: 14px;
}

/* Booking card: payment rows under each supplier's services. */
.dtt-booking-supplier-payments {
	margin-top: 10px;
	padding: 10px 12px;
	border: 1px solid #edf2f5;
	border-radius: 7px;
	background: #f8fbfc;
	font-size: 12px;
}

.dtt-booking-supplier-payments-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	color: #10214f;
}

.dtt-booking-supplier-payment-rows {
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
}

.dtt-booking-supplier-payment-rows li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 10px;
	padding: 5px 0;
	border-top: 1px solid #dce4f0;
}

.dtt-booking-supplier-payment-rows li span {
	color: #56698f;
}

.dtt-booking-supplier-payment-rows li.is-voided strong {
	color: #56698f;
	text-decoration: line-through;
}

.dtt-booking-supplier-payment-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 6px;
	margin-top: 8px;
}

/* Supplier: Company Profile form and Payment Records. */
.dtt-supplier-payment-details-card .dtt-form {
	margin-top: 10px;
}

.dtt-supplier-payment-others {
	margin: 12px 0 0;
	padding: 0;
	border: 0;
}

.dtt-supplier-payment-others legend {
	margin-bottom: 6px;
	color: #10214f;
	font-size: 12px;
	font-weight: 800;
}

.dtt-supplier-payment-other-row {
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr) minmax(0, 1fr);
	gap: 8px 12px;
	margin-bottom: 8px;
}

.dtt-supplier-payment-details-card small.dtt-supplier-review-warning {
	display: block;
	margin-top: 4px;
	font-size: 12px;
}

.dtt-supplier-payments-details-line {
	margin: 0 0 12px;
}

.dtt-supplier-payments-screen .dtt-supplier-panel {
	margin: 0 0 12px;
	padding: 14px 16px;
}

@media (max-width: 760px) {
	/* D1: stacked tables never keep the 760px desktop minimum. */
	body.logged-in .dtt-supplier-booking-lines,
	.dtt-supplier-booking-lines,
	body.logged-in .dtt-supplier-payment-ledger,
	.dtt-supplier-payment-ledger,
	body.logged-in .dtt-supplier-payment-alloc-table,
	.dtt-supplier-payment-alloc-table,
	body.logged-in .dtt-supplier-payment-status-table,
	.dtt-supplier-payment-status-table,
	body.logged-in .dtt-supplier-payment-records-table,
	.dtt-supplier-payment-records-table {
		min-width: 0;
	}

	.dtt-supplier-payment-ledger thead,
	.dtt-supplier-payment-alloc-table thead,
	.dtt-supplier-payment-status-table thead,
	.dtt-supplier-payment-records-table thead {
		display: none;
	}

	.dtt-supplier-payment-ledger,
	.dtt-supplier-payment-ledger tbody,
	.dtt-supplier-payment-ledger tr,
	.dtt-supplier-payment-ledger td,
	.dtt-supplier-payment-alloc-table,
	.dtt-supplier-payment-alloc-table tbody,
	.dtt-supplier-payment-alloc-table tr,
	.dtt-supplier-payment-alloc-table td,
	.dtt-supplier-payment-status-table,
	.dtt-supplier-payment-status-table tbody,
	.dtt-supplier-payment-status-table tr,
	.dtt-supplier-payment-status-table td,
	.dtt-supplier-payment-records-table,
	.dtt-supplier-payment-records-table tbody,
	.dtt-supplier-payment-records-table tr,
	.dtt-supplier-payment-records-table td {
		display: block;
		width: 100%;
	}

	.dtt-supplier-payment-ledger tbody tr,
	.dtt-supplier-payment-alloc-table tbody tr,
	.dtt-supplier-payment-status-table tbody tr,
	.dtt-supplier-payment-records-table tbody tr {
		padding: 10px 0;
		border-bottom: 1px solid #dce4f0;
	}

	body.logged-in .dtt-supplier-payment-ledger td,
	.dtt-supplier-payment-ledger td,
	body.logged-in .dtt-supplier-payment-alloc-table td,
	.dtt-supplier-payment-alloc-table td,
	body.logged-in .dtt-supplier-payment-status-table td,
	.dtt-supplier-payment-status-table td,
	body.logged-in .dtt-supplier-payment-records-table td,
	.dtt-supplier-payment-records-table td {
		padding: 2px 0;
		border: 0;
		white-space: normal;
		text-align: left;
	}

	.dtt-supplier-payment-ledger td[data-label]:not([data-label=""]):not(:first-child)::before,
	.dtt-supplier-payment-alloc-table td[data-label]:not([data-label=""]):not(:first-child)::before,
	.dtt-supplier-payment-status-table td[data-label]:not([data-label=""]):not(:first-child)::before,
	.dtt-supplier-payment-records-table td[data-label]:not([data-label=""]):not(:first-child)::before {
		content: attr(data-label) ": ";
		color: #56698f;
		font-size: 12px;
		font-weight: 700;
	}

	.dtt-supplier-payment-other-row {
		grid-template-columns: minmax(0, 1fr);
	}

	.dtt-supplier-payment-action,
	.dtt-supplier-payment-action form {
		display: block;
		min-width: 0;
	}

	.dtt-supplier-payment-record > summary,
	.dtt-supplier-payment-form .dtt-form-actions .dtt-button,
	.dtt-supplier-payment-alloc-head .dtt-button,
	.dtt-booking-supplier-payment-actions .dtt-button,
	.dtt-supplier-payment-action summary {
		width: 100%;
		justify-content: center;
	}

	.dtt-booking-supplier-payment-actions > * {
		width: 100%;
	}
}


/* ------------------------------------------------------------------
 * RC64: "Add to Public Listing" leads a supplier listing card's
 * actions; Reassign moves into the "More" disclosure at the bottom.
 * ---------------------------------------------------------------- */
.dtt-catalog-card-actions > .dtt-supplier-publish-form,
.dtt-reference-tour-list .dtt-tour-card-actions > .dtt-supplier-publish-form {
	flex: 1 1 100%;
	grid-column: 1 / -1;
	order: -1;
}

.dtt-reference-tour-list .dtt-tour-card-actions > .dtt-supplier-publish-form {
	border-right: 0;
	border-bottom: 1px solid var(--dtt-tour-line, #e5ebf3);
}

.dtt-catalog-card-actions > .dtt-catalog-more,
.dtt-reference-tour-list .dtt-tour-card-actions > .dtt-catalog-more {
	flex: 1 1 100%;
	grid-column: 1 / -1;
	order: 10;
	min-width: 0;
	border-right: 0;
}

.dtt-reference-tour-list .dtt-tour-card-actions > .dtt-catalog-more {
	border-top: 1px solid var(--dtt-tour-line, #e5ebf3);
}

.dtt-catalog-more > summary {
	display: flex;
	width: 100%;
	justify-content: center;
	gap: 6px;
	list-style: none;
	cursor: pointer;
}

.dtt-catalog-more > summary::-webkit-details-marker {
	display: none;
}

.dtt-catalog-more > summary::after {
	content: "";
	width: 12px;
	height: 12px;
	background: no-repeat center / 12px 12px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2365749a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	transition: transform 0.15s ease;
}

.dtt-catalog-more[open] > summary::after {
	transform: rotate(180deg);
}

.dtt-catalog-more-panel {
	padding: 6px 8px 8px;
}

.dtt-catalog-more-panel .dtt-supplier-reassign-form label {
	flex: 1 1 auto;
}

.dtt-catalog-more-panel .dtt-supplier-reassign-form select {
	width: 100%;
	max-width: none;
}

.dtt-catalog-more-panel .dtt-supplier-reassign-form .dtt-button {
	flex: 0 0 auto;
	width: auto;
	height: 32px;
	border-radius: 7px;
}

.dtt-catalog-more-panel .dtt-supplier-note {
	flex: 1 1 100%;
	margin: 0;
	font-size: 12px;
}

@media (prefers-reduced-motion: reduce) {
	.dtt-catalog-more > summary::after {
		transition: none;
	}
}

/* RC67: the services total stays right-aligned and padded at phone width. */
@media (max-width: 600px) {
	body.logged-in .dtt-supplier-booking-lines tfoot td.dtt-supplier-booking-amount,
	.dtt-supplier-booking-lines tfoot td.dtt-supplier-booking-amount {
		padding: 8px 12px 4px;
		text-align: right;
	}
}

/* ------------------------------------------------------------------
 * RC68: one Payment Records table, one row per booking, with the
 * payments for that booking in a native "Payments (N)" disclosure.
 * ---------------------------------------------------------------- */
.dtt-supplier-payment-combined {
	min-width: 1040px;
}

.dtt-supplier-payment-combined td {
	vertical-align: top;
}

.dtt-supplier-payment-proof-cell {
	min-width: 150px;
}

.dtt-supplier-payment-combined .dtt-supplier-payment-proof,
.dtt-supplier-payment-combined .dtt-supplier-note {
	min-height: 24px;
}

.dtt-supplier-payment-history {
	margin-top: 6px;
	font-size: 12px;
}

.dtt-supplier-payment-history > summary {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 0 10px;
	border: 1px solid #c9d6e6;
	border-radius: 7px;
	background: #fff;
	color: #10214f;
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
}

.dtt-supplier-payment-history > summary:focus-visible {
	outline: 2px solid #00776e;
	outline-offset: 2px;
}

.dtt-supplier-payment-history[open] > summary {
	border-color: #00776e;
	color: #00776e;
}

.dtt-supplier-payment-history ul {
	display: grid;
	gap: 6px;
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
}

.dtt-supplier-payment-history li {
	display: grid;
	gap: 2px;
	padding: 8px 10px;
	border: 1px solid #edf2f5;
	border-radius: 7px;
	background: #f8fbfc;
}

.dtt-supplier-payment-history-date {
	color: #56698f;
}

.dtt-supplier-payment-history .dtt-supplier-booking-amount {
	text-align: left;
}

@media (max-width: 640px) {
	body.logged-in .dtt-supplier-payment-combined,
	.dtt-supplier-payment-combined {
		min-width: 0;
	}

	.dtt-supplier-payment-combined thead {
		display: none;
	}

	.dtt-supplier-payment-combined,
	.dtt-supplier-payment-combined tbody,
	.dtt-supplier-payment-combined tr,
	.dtt-supplier-payment-combined td {
		display: block;
		width: 100%;
	}

	.dtt-supplier-payment-combined tr.dtt-supplier-payment-booking-row {
		margin-bottom: 12px;
		padding: 10px 12px;
		border: 1px solid #dce4f0;
		border-radius: 8px;
		background: #fff;
	}

	body.logged-in .dtt-supplier-payment-combined td,
	.dtt-supplier-payment-combined td {
		display: flex;
		flex-wrap: wrap;
		align-items: baseline;
		justify-content: space-between;
		gap: 4px 12px;
		min-height: 24px;
		padding: 5px 0;
		border: 0;
		border-bottom: 1px solid #edf2f5;
		white-space: normal;
		text-align: right;
	}

	.dtt-supplier-payment-combined td:last-child {
		border-bottom: 0;
	}

	.dtt-supplier-payment-combined td[data-label]:not([data-label=""])::before,
	.dtt-supplier-payment-combined.dtt-supplier-payment-status-table td[data-label]:not([data-label=""]):not(:first-child)::before {
		content: attr(data-label);
		flex: 0 0 auto;
		color: #56698f;
		font-size: 12px;
		font-weight: 700;
		text-align: left;
	}

	.dtt-supplier-payment-combined td:first-child {
		font-size: 14px;
	}

	.dtt-supplier-payment-combined td > small,
	.dtt-supplier-payment-combined td > .dtt-supplier-payment-proof,
	.dtt-supplier-payment-combined td > .dtt-supplier-note {
		text-align: right;
	}

	.dtt-supplier-payment-combined .dtt-supplier-payment-history {
		flex: 1 1 100%;
		text-align: left;
	}

	.dtt-supplier-payment-combined .dtt-supplier-payment-history > summary {
		width: 100%;
		justify-content: center;
		min-height: 36px;
	}

	.dtt-supplier-payment-proof-cell {
		min-width: 0;
	}
}

/* RC71: Supplier information card. Tables that still scroll (above the 760px stacking breakpoint) show the same
 * edge shadow as the booking ledgers, so a clipped column is never silent. */
.dtt-booking-supplier-card .dtt-table-wrap {
	max-width: 100%;
	overflow-x: auto;
	background:
		linear-gradient(90deg, #ffffff 30%, rgba(255, 255, 255, 0)) left center / 40px 100% no-repeat local,
		linear-gradient(270deg, #ffffff 30%, rgba(255, 255, 255, 0)) right center / 40px 100% no-repeat local,
		radial-gradient(farthest-side at 0 50%, rgba(6, 32, 91, 0.32), rgba(6, 32, 91, 0)) left center / 16px 100% no-repeat scroll,
		radial-gradient(farthest-side at 100% 50%, rgba(6, 32, 91, 0.32), rgba(6, 32, 91, 0)) right center / 16px 100% no-repeat scroll,
		linear-gradient(#ffffff, #ffffff);
	background-clip: padding-box, padding-box, padding-box, padding-box, border-box;
}

@media (max-width: 760px) {
	.dtt-booking-supplier-card .dtt-table-wrap {
		overflow-x: visible;
		background: none;
	}
}

/* RC73: Payment Records on phones - the stacked rows sit directly in the panel, no second border. */
@media (max-width: 640px) {
	body.logged-in .dtt-supplier-payments-bookings .dtt-table-wrap {
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}
}

/* Phones: the empty state sits outside the scrolling table so it is never cut off; buttons and links are 44px tap targets. */
.dtt-supplier-portal p.dtt-empty-state {
	margin: 0 0 16px;
	padding: 18px;
	border: 1px solid #dce6f3;
	border-radius: 8px;
	background: #fff;
	color: #56698f;
}

@media (max-width: 640px) {
	body.dtt-role-supplier :is(.dtt-button, .dtt-button.dtt-button-small, .dtt-reference-editor-back, .dtt-back-link, .dtt-pagination a, .select2-selection--single, summary, input:not([type="checkbox"], [type="radio"], [type="hidden"]), select) {
		min-height: 44px !important;
	}

	body.dtt-role-supplier :is(.dtt-supplier-tile-links a, .dtt-supplier-payment-combined a, .dtt-supplier-payments-screen > a, .dtt-supplier-payments-screen p > a, .dtt-screen a[href^="#"]) {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
	}

	body.dtt-role-supplier .dtt-supplier-status-message a {
		display: inline-block;
		padding: 14px 2px;
		margin: -14px 0;
	}
}
