:root {
	--dtt-header: #061638;
	--dtt-navy: #0b246d;
	--dtt-accent: #0aa99f;
	--dtt-accent-strong: #078d86;
	--dtt-ink: #10214f;
	--dtt-muted: #56698f;
	--dtt-line: #dce4f0;
	--dtt-surface: #ffffff;
	--dtt-surface-soft: #f6f8fc;
	--dtt-bg: #f3f6fa;
	--dtt-teal: var(--dtt-accent);
	--dtt-teal-dark: var(--dtt-accent-strong);
	/* RC63: teal for text/links (AA on white); --dtt-accent stays for decoration. */
	--dtt-teal-text: #066f69;
	/* RC63: teal button fills that carry white text (AA); #00a89b stays decorative. */
	--dtt-mockup-teal-strong: #00776e;
	--dtt-mockup-teal-strong-hover: #00625b;
	--dtt-mockup-teal-strong-active: #00524c;
	--dtt-green: #12a85b;
	--dtt-yellow: #f5c84b;
	--dtt-red: #d33f49;
	--dtt-radius: 8px;
	--dtt-radius-control: 6px;
	--dtt-radius-panel: 8px;
	--dtt-shadow: 0 6px 18px rgba(6, 22, 56, 0.07);
}

/* Agent workspace parity v0.20.0 */
.dtt-agent-dashboard-overview,
.dtt-reference-agent-catalog {
	--dtt-agent-surface: #ffffff;
	--dtt-agent-border: #d9e3ef;
}

.dtt-agent-dashboard-overview .dtt-agent-dashboard-lower-grid {
	display: grid;
	grid-template-columns: 260px 220px minmax(0, 1fr);
	gap: 12px;
	align-items: stretch;
}

.dtt-agent-dashboard-overview .dtt-agent-readiness-card,
.dtt-agent-dashboard-overview .dtt-agent-quick-actions-card,
.dtt-agent-dashboard-overview .dtt-agent-income-card {
	min-width: 0;
}

.dtt-agent-dashboard-overview .dtt-agent-readiness-card .dtt-section-header h2,
.dtt-agent-dashboard-overview .dtt-agent-income-card .dtt-section-header h2 {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.dtt-agent-dashboard-overview .dtt-agent-readiness-card .dtt-section-header h2 .dtt-ui-icon {
	width: 16px;
	height: 16px;
	color: var(--dtt-accent);
}

.dtt-agent-dashboard-overview .dtt-profile-summary {
	display: grid;
	gap: 8px;
}

.dtt-agent-dashboard-overview .dtt-progress-line {
	height: 7px;
	overflow: hidden;
	border-radius: 999px;
	background: #edf3f7;
}

.dtt-agent-dashboard-overview .dtt-progress-line span {
	display: block;
	width: var(--progress);
	height: 100%;
	border-radius: inherit;
	background: var(--dtt-accent);
}

.dtt-agent-dashboard-overview .dtt-agent-income-card .dtt-table {
	font-size: 12px;
}

.dtt-agent-dashboard-overview .dtt-agent-income-card .dtt-table td:last-child,
.dtt-agent-dashboard-overview .dtt-agent-income-card .dtt-table th:last-child {
	font-weight: 700;
	text-align: right;
}

.dtt-agent-dashboard-overview .dtt-agent-quick-actions-card .dtt-quick-actions {
	display: grid;
	gap: 7px;
}

.dtt-agent-dashboard-overview .dtt-agent-quick-actions-card .dtt-quick-actions a {
	display: grid;
	grid-template-columns: 18px minmax(0, 1fr) 16px;
	gap: 9px;
	align-items: center;
	min-height: 40px;
	padding: 8px 10px;
	color: var(--dtt-ink);
	background: #fff;
	border: 1px solid #d8e3ef;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
	transition: transform var(--dtt-motion-fast), color var(--dtt-motion-fast), border-color var(--dtt-motion-fast), box-shadow var(--dtt-motion-fast);
}

.dtt-agent-dashboard-overview .dtt-agent-quick-actions-card .dtt-quick-actions a:hover {
	transform: translateX(3px);
	color: var(--dtt-teal-text);
	border-color: #9fded8;
	box-shadow: 0 6px 14px rgba(6, 22, 56, .06);
}

.dtt-agent-dashboard-overview .dtt-quick-action-leading,
.dtt-agent-dashboard-overview .dtt-quick-action-chevron {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.dtt-agent-dashboard-overview .dtt-quick-action-leading .dtt-ui-icon,
.dtt-agent-dashboard-overview .dtt-quick-action-chevron .dtt-ui-icon {
	width: 16px;
	height: 16px;
}

.dtt-agent-dashboard-overview .dtt-quick-action-leading { color: var(--dtt-accent); }
.dtt-agent-dashboard-overview .dtt-quick-action-chevron { color: #54709d; }
.dtt-agent-dashboard-overview .dtt-quick-action-label { min-width: 0; }

.dtt-reference-agent-catalog .dtt-agent-catalog-heading {
	align-items: flex-end;
}

.dtt-reference-agent-catalog .dtt-agent-read-only-badge {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 38px;
	padding: 0 13px;
	border: 1px solid #bfe9e4;
	border-radius: 7px;
	background: #effaf8;
	color: #087c75;
	font-size: 12px;
	font-weight: 700;
}

.dtt-reference-agent-catalog .dtt-agent-read-only-badge .dtt-ui-icon {
	width: 16px;
	height: 16px;
}

.dtt-reference-agent-catalog .dtt-agent-catalog-kpis {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.dtt-reference-agent-catalog .dtt-agent-catalog-kpis .dtt-stat-card {
	min-height: 112px;
	transition: transform var(--dtt-motion-standard), box-shadow var(--dtt-motion-standard), border-color var(--dtt-motion-standard);
}

.dtt-reference-agent-catalog .dtt-agent-catalog-kpis .dtt-stat-card:hover {
	transform: translateY(-3px);
	border-color: #b8dcd8;
	box-shadow: 0 10px 24px rgba(6, 22, 56, 0.08);
}

.dtt-reference-agent-catalog .dtt-agent-catalog-content {
	display: grid;
	gap: 12px;
}

.dtt-reference-agent-catalog .dtt-management-list-filters {
	margin: 0;
	padding: 12px;
	border: 1px solid var(--dtt-agent-border);
	border-radius: 8px;
	background: var(--dtt-agent-surface);
}

.dtt-reference-agent-catalog .dtt-management-list-filters input,
.dtt-reference-agent-catalog .dtt-management-list-filters select,
.dtt-reference-agent-catalog .dtt-management-list-filters .dtt-button {
	min-height: 40px;
	height: 40px;
}

.dtt-reference-agent-catalog .dtt-agent-catalog-list-section {
	margin: 0;
	padding: 0;
	overflow: hidden;
	border: 1px solid var(--dtt-agent-border);
	border-radius: 8px;
	background: var(--dtt-agent-surface);
	transition: transform var(--dtt-motion-standard), box-shadow var(--dtt-motion-standard), border-color var(--dtt-motion-standard);
}

.dtt-reference-agent-catalog .dtt-agent-catalog-list-section:hover {
	transform: translateY(-2px);
	border-color: #c7d8e8;
	box-shadow: 0 9px 22px rgba(6, 22, 56, 0.065);
}

.dtt-reference-agent-catalog .dtt-agent-catalog-list-section > h2 {
	margin: 0;
	padding: 14px 16px;
	border-bottom: 1px solid var(--dtt-agent-border);
	font-size: 15px;
}

.dtt-reference-agent-catalog .dtt-agent-catalog-table {
	font-size: 12px;
}

.dtt-reference-agent-catalog .dtt-agent-catalog-table th {
	background: #f8fafc;
	font-size: 12px;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.dtt-reference-agent-catalog .dtt-agent-catalog-table td,
.dtt-reference-agent-catalog .dtt-agent-catalog-table th {
	padding: 10px 12px;
}

.dtt-reference-agent-catalog .dtt-agent-catalog-table td strong {
	color: var(--dtt-navy);
}

.dtt-reference-agent-catalog .dtt-agent-catalog-table td small {
	display: block;
	margin-top: 3px;
	color: var(--dtt-muted);
}

.dtt-reference-agent-catalog .dtt-agent-catalog-table .dtt-button {
	white-space: nowrap;
}

.dtt-reference-agent-catalog .dtt-pagination {
	padding: 12px 16px;
	border-top: 1px solid var(--dtt-agent-border);
}

@media (max-width: 900px) {
	.dtt-agent-dashboard-overview .dtt-agent-dashboard-lower-grid {
		grid-template-columns: 1fr;
	}

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

@media (max-width: 620px) {
	.dtt-reference-agent-catalog .dtt-agent-catalog-kpis {
		grid-template-columns: 1fr;
	}

	.dtt-reference-agent-catalog .dtt-agent-catalog-heading {
		align-items: flex-start;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dtt-agent-dashboard-overview .dtt-agent-readiness-card,
	.dtt-agent-dashboard-overview .dtt-agent-quick-actions-card,
	.dtt-agent-dashboard-overview .dtt-agent-income-card,
	.dtt-reference-agent-catalog .dtt-agent-catalog-kpis .dtt-stat-card,
	.dtt-reference-agent-catalog .dtt-agent-catalog-list-section {
		transition: none !important;
		transform: none !important;
	}
}

/* Agent registration and direct catalog navigation v0.20.0 */
body.logged-in .dtt-site-header > .dtt-agent-main-nav {
	gap: 0;
	overflow-x: auto;
	scrollbar-width: none;
}

body.logged-in .dtt-site-header > .dtt-agent-main-nav::-webkit-scrollbar { display: none; }

body.logged-in .dtt-site-header > .dtt-agent-main-nav > a,
body.logged-in .dtt-site-header > .dtt-agent-main-nav .dtt-nav-trigger {
	min-width: 64px;
	padding-inline: 8px;
	font-size: 12px;
	white-space: nowrap;
}

body.logged-in .dtt-site-header > .dtt-agent-main-nav > a .dtt-nav-icon,
body.logged-in .dtt-site-header > .dtt-agent-main-nav .dtt-nav-trigger .dtt-nav-icon {
	width: 18px;
	height: 18px;
}

.dtt-reference-agent-registration {
	max-width: 1180px;
	margin: 0 auto;
	padding: 24px 18px 48px;
}

.dtt-reference-agent-registration .dtt-registration-heading {
	align-items: flex-end;
	margin: 0 0 14px;
}

.dtt-reference-agent-registration .dtt-registration-heading p:last-child {
	margin: 5px 0 0;
	color: var(--dtt-muted);
	font-size: 12px;
}

.dtt-reference-agent-registration .dtt-registration-heading .dtt-button,
.dtt-reference-agent-registration .dtt-registration-actions,
.dtt-reference-agent-registration .dtt-registration-actions > span,
.dtt-reference-agent-registration .dtt-registration-section h2,
.dtt-reference-agent-registration .dtt-upload-box > span {
	display: flex;
	align-items: center;
	gap: 7px;
}

.dtt-reference-agent-registration .dtt-registration-layout {
	display: grid;
	grid-template-columns: 300px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
}

.dtt-reference-agent-registration .dtt-registration-guidance,
.dtt-reference-agent-registration .dtt-registration-panel {
	background: #fff;
	border: 1px solid var(--dtt-line);
	border-radius: 8px;
	box-shadow: 0 7px 20px rgba(6, 22, 56, .055);
}

.dtt-reference-agent-registration .dtt-registration-guidance {
	position: sticky;
	top: 84px;
	padding: 20px;
}

.dtt-reference-agent-registration .dtt-registration-guidance-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	margin-bottom: 14px;
	color: #fff;
	background: var(--dtt-accent);
	border-radius: 50%;
}

.dtt-reference-agent-registration .dtt-registration-guidance-icon .dtt-ui-icon { width: 21px; height: 21px; }
.dtt-reference-agent-registration .dtt-registration-guidance h2 { margin: 0 0 8px; font-size: 18px; }
.dtt-reference-agent-registration .dtt-registration-guidance > p { margin: 0; color: var(--dtt-muted); font-size: 12px; line-height: 1.65; }

.dtt-reference-agent-registration .dtt-registration-steps {
	display: grid;
	gap: 0;
	margin: 20px 0;
	padding: 0;
	list-style: none;
}

.dtt-reference-agent-registration .dtt-registration-steps li {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr);
	gap: 10px;
	padding: 10px 0;
	border-bottom: 1px solid #e8eef6;
}

.dtt-reference-agent-registration .dtt-registration-steps li > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	color: #066f69;
	background: #e4f8f5;
	border-radius: 50%;
	font-size: 12px;
	font-weight: 800;
}

.dtt-reference-agent-registration .dtt-registration-steps strong,
.dtt-reference-agent-registration .dtt-registration-steps small { display: block; }
.dtt-reference-agent-registration .dtt-registration-steps strong { color: var(--dtt-ink); font-size: 12px; }
.dtt-reference-agent-registration .dtt-registration-steps small { margin-top: 3px; color: var(--dtt-muted); font-size: 12px; line-height: 1.45; }

.dtt-reference-agent-registration .dtt-registration-security-note {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	padding: 10px;
	color: #066f69;
	background: #effbf9;
	border: 1px solid #bfe8e3;
	border-radius: 6px;
	font-size: 12px;
}

.dtt-reference-agent-registration .dtt-registration-panel { padding: 12px; }
.dtt-reference-agent-registration .dtt-registration-section { margin: 0 0 10px; padding: 15px; box-shadow: none; }
.dtt-reference-agent-registration .dtt-registration-section h2 { margin: 0 0 14px; font-size: 14px; }
.dtt-reference-agent-registration .dtt-registration-section h2 .dtt-ui-icon { width: 17px; height: 17px; color: var(--dtt-accent); }
.dtt-reference-agent-registration .dtt-registration-section-copy { margin: -7px 0 12px; color: var(--dtt-muted); font-size: 12px; }

.dtt-reference-agent-registration .dtt-upload-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 9px;
}

.dtt-reference-agent-registration .dtt-upload-box {
	min-height: 92px;
	padding: 12px;
	background: #fafcfe;
	border: 1px dashed #bfd0e2;
	border-radius: 7px;
	transition: transform var(--dtt-motion-fast), border-color var(--dtt-motion-fast), background-color var(--dtt-motion-fast);
}

.dtt-reference-agent-registration .dtt-upload-box:hover {
	transform: translateY(-2px);
	background: #f4fbfa;
	border-color: var(--dtt-accent);
}

.dtt-reference-agent-registration .dtt-upload-box > span { color: var(--dtt-ink); font-size: 12px; font-weight: 750; }
.dtt-reference-agent-registration .dtt-upload-box .dtt-ui-icon { width: 15px; height: 15px; color: var(--dtt-accent); }
.dtt-reference-agent-registration .dtt-upload-box input[type="file"] { width: 100%; margin-top: 12px; font-size: 12px; }

.dtt-reference-agent-registration .dtt-registration-actions {
	justify-content: space-between;
	gap: 12px;
	padding: 3px 3px 2px;
}

.dtt-reference-agent-registration .dtt-registration-actions > span { color: #066f69; font-size: 12px; }
.dtt-reference-agent-registration .dtt-registration-actions .dtt-ui-icon { width: 15px; height: 15px; }

@media (max-width: 900px) {
	.dtt-reference-agent-registration .dtt-registration-layout { grid-template-columns: 1fr; }
	.dtt-reference-agent-registration .dtt-registration-guidance { position: static; }
}

@media (max-width: 620px) {
	.dtt-reference-agent-registration .dtt-upload-grid { grid-template-columns: 1fr; }
	.dtt-reference-agent-registration .dtt-registration-heading,
	.dtt-reference-agent-registration .dtt-registration-actions { align-items: stretch; flex-direction: column; }
	.dtt-reference-agent-registration .dtt-registration-heading .dtt-button,
	.dtt-reference-agent-registration .dtt-registration-actions .dtt-button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.dtt-agent-dashboard-overview .dtt-agent-quick-actions-card .dtt-quick-actions a,
	.dtt-reference-agent-registration .dtt-upload-box { transition: none !important; transform: none !important; }
}

/* Reference management lists v0.19.4 */
.dtt-reference-management-list {
	align-items: flex-end;
	margin: 22px 0 14px;
}

.dtt-reference-management-list > div > p:last-child {
	margin: 5px 0 0;
	color: var(--dtt-muted, #60709a);
	font-size: 12px;
}

.dtt-reference-management-list .dtt-eyebrow {
	margin-bottom: 5px;
	color: var(--dtt-teal-text);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
}

.dtt-reference-management-list h1 {
	font-size: clamp(25px, 2.2vw, 32px);
	line-height: 1.08;
}

.dtt-reference-management-list .dtt-button,
.dtt-management-list-filters .dtt-button,
.dtt-management-list-actions .dtt-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
}

.dtt-reference-management-list .dtt-ui-icon,
.dtt-management-list-filters .dtt-ui-icon,
.dtt-management-list-actions .dtt-ui-icon {
	width: 15px;
	height: 15px;
	flex: 0 0 auto;
}

.dtt-management-list-summary {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin: 0 0 12px;
}

.dtt-management-list-summary-compact {
	/* Add-on page: all four cards (incl. Pending review) on one line, a little smaller than the hotel cards. */
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.logged-in .dtt-management-list-summary-compact .dtt-stat-card {
	min-height: 78px;
	padding: 10px 56px 9px 14px;
	gap: 3px;
}

body.logged-in .dtt-management-list-summary-compact .dtt-stat-card strong {
	margin: 0;
	font-size: 20px;
}

.dtt-management-list-summary .dtt-stat-card {
	min-height: 96px;
	padding: 15px 66px 13px 15px;
	border-radius: 8px;
	box-shadow: none;
	transition: transform var(--dtt-motion-standard), border-color var(--dtt-motion-standard), box-shadow var(--dtt-motion-standard);
}

.dtt-management-list-summary .dtt-stat-card:hover {
	transform: translateY(-3px);
	border-color: rgba(10, 169, 159, .34);
	box-shadow: 0 10px 25px rgba(6, 22, 56, .08);
}

.dtt-management-list-summary .dtt-stat-icon::after {
	display: none;
}

.dtt-management-list-summary .dtt-stat-icon {
	display: flex;
	align-items: center;
	justify-content: center;
}

.dtt-management-list-summary .dtt-stat-icon .dtt-ui-icon {
	width: 20px;
	height: 20px;
}

.dtt-management-list-filters {
	margin: 0 0 12px;
	padding: 14px;
	border: 1px solid var(--dtt-border, #d8e1ef);
	border-radius: 8px;
	background: #fff;
	box-shadow: none;
}

.dtt-management-list-filters .dtt-filter-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 10px;
	align-items: end;
}

.dtt-management-list-filters label {
	position: relative;
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 6px;
}

.dtt-management-list-filters .dtt-filter-label {
	color: var(--dtt-header, #061638);
	font-size: 12px;
	font-weight: 750;
}

.dtt-management-list-filters .dtt-filter-control {
	display: block;
	min-width: 0;
}

.dtt-management-list-filters .dtt-filter-control > input,
.dtt-management-list-filters .dtt-filter-control > select {
	display: block;
	width: 100%;
}

.dtt-filter-control-search {
	position: relative;
}

.dtt-management-list-filters input,
.dtt-management-list-filters select,
.dtt-management-list-filters .dtt-button {
	height: 40px;
	min-height: 40px;
	margin: 0;
	border-radius: 6px;
}

.dtt-filter-control-search .dtt-filter-input-icon {
	position: absolute;
	left: 12px;
	top: 50%;
	z-index: 1;
	transform: translateY(-50%);
	color: #173d80;
	pointer-events: none;
}

.dtt-filter-control-search .dtt-filter-input-icon,
.dtt-filter-control-search .dtt-filter-input-icon .dtt-ui-icon {
	display: inline-flex;
	width: 16px;
	height: 16px;
}

.dtt-filter-control-search > input {
	padding-left: 38px;
}

.dtt-management-list-filters .dtt-filter-actions {
	display: flex;
	gap: 7px;
	align-items: center;
	white-space: nowrap;
}

.dtt-management-list-filters .dtt-filter-per-page {
	max-width: 110px;
}

.dtt-management-list-table-wrap {
	margin: 0;
	border: 1px solid var(--dtt-border, #d8e1ef);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 5px 18px rgba(6, 22, 56, .045);
}

.dtt-management-list-table {
	min-width: 980px;
	font-size: 12px;
}

.dtt-management-list-table th {
	padding: 12px 13px;
	color: var(--dtt-header, #061638);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .015em;
	text-transform: none;
}

.dtt-management-list-table td {
	padding: 10px 13px;
	vertical-align: middle;
}

.dtt-management-list-table tbody tr {
	transition: background-color var(--dtt-motion-standard), box-shadow var(--dtt-motion-standard);
}

.dtt-management-list-table tbody tr:hover {
	background: #f5fbfb;
	box-shadow: inset 3px 0 0 var(--dtt-accent, #0aa99f);
}

.dtt-management-list-table strong {
	display: block;
	color: var(--dtt-header, #061638);
	font-weight: 750;
	line-height: 1.35;
}

.dtt-management-list-table small {
	display: block;
	margin-top: 3px;
	color: var(--dtt-muted, #60709a);
	font-size: 12px;
	line-height: 1.35;
}

.dtt-management-list-identity,
.dtt-management-list-inline-icon {
	display: flex;
	align-items: center;
	gap: 10px;
}

.dtt-management-list-identity {
	min-width: 220px;
}

.dtt-management-list-thumb {
	display: block;
	width: 54px;
	height: 40px;
	flex: 0 0 54px;
	border-radius: 6px;
	object-fit: cover;
	background: #e8f7f5;
}

.dtt-management-list-thumb-fallback {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--dtt-accent, #0aa99f);
}

.dtt-management-list-thumb-fallback .dtt-ui-icon {
	width: 20px;
	height: 20px;
}

.dtt-management-list-inline-icon .dtt-ui-icon {
	width: 18px;
	height: 18px;
	color: var(--dtt-accent, #0aa99f);
}

.dtt-management-list-actions {
	display: flex;
	align-items: center;
	gap: 6px;
	white-space: nowrap;
}

.dtt-management-list-actions form {
	display: inline-flex;
	margin: 0;
}

.dtt-management-list-actions .dtt-button {
	min-height: 36px;
	padding: 6px 9px;
	font-size: 12px;
}

.dtt-management-list-table .dtt-empty-state {
	padding: 44px 20px;
	color: var(--dtt-muted, #60709a);
	font-size: 13px;
	text-align: center;
}

@media (max-width: 1120px) {
	.dtt-management-list-filters .dtt-filter-grid,
	.dtt-special-offer-list-filters .dtt-filter-grid,
	.dtt-ferry-list-filters .dtt-filter-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dtt-management-list-filters .dtt-filter-actions {
		justify-content: flex-start;
	}
}

@media (max-width: 760px) {
	.dtt-reference-management-list {
		align-items: stretch;
		gap: 14px;
	}

	.dtt-reference-management-list .dtt-button {
		width: 100%;
	}

	.dtt-management-list-summary,
	.dtt-management-list-summary-compact,
	.dtt-management-list-filters .dtt-filter-grid {
		grid-template-columns: 1fr;
	}

	.dtt-management-list-filters .dtt-filter-actions,
	.dtt-management-list-filters .dtt-filter-actions .dtt-button {
		width: 100%;
	}

	.dtt-management-list-table-wrap {
		border-radius: 7px;
		overflow-x: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dtt-reference-management-list,
	.dtt-reference-management-list *,
	.dtt-management-list-summary .dtt-stat-card,
	.dtt-management-list-table tbody tr {
		transition: none !important;
		animation: none !important;
	}

	.dtt-management-list-summary .dtt-stat-card:hover {
		transform: none;
	}
}

/* Reference catalog editors v0.19.6. */
.dtt-reference-editor-heading {
	align-items: flex-end;
	margin-bottom: 12px;
}

.dtt-reference-editor-heading > div:first-child > p:last-child {
	margin: 4px 0 0;
	color: var(--dtt-muted);
	font-size: 12px;
}

.dtt-reference-editor-back {
	display: inline-flex;
	gap: 6px;
	align-items: center;
	margin-bottom: 8px;
	color: #536d9c;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
}

.dtt-reference-editor-back .dtt-ui-icon,
.dtt-reference-editor-actions .dtt-ui-icon,
.dtt-reference-editor-panel h2 .dtt-ui-icon,
.dtt-reference-summary-card h2 .dtt-ui-icon,
.dtt-addon-editor-tabs .dtt-ui-icon {
	width: 16px;
	height: 16px;
}

.dtt-reference-editor-actions {
	display: flex;
	gap: 8px;
	align-items: center;
}

.dtt-reference-editor-shell {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 280px;
	gap: 12px;
	align-items: start;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

.dtt-reference-editor-shell > * {
	grid-column: 1;
}

.dtt-reference-editor-shell > .dtt-reference-editor-sidebar {
	display: block;
	grid-column: 2;
	grid-row: 1 / span 8;
	position: sticky;
	top: 82px;
}

.dtt-reference-editor-panel,
.dtt-reference-summary-card {
	background: #fff;
	border: 1px solid #d9e4f1;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(8, 35, 83, 0.035);
}

.dtt-reference-editor-panel {
	margin: 0;
	transition: transform var(--dtt-motion-standard) ease, border-color var(--dtt-motion-standard) ease, box-shadow var(--dtt-motion-standard) ease;
}

.dtt-reference-editor-panel:hover {
	transform: translateY(-2px);
	border-color: #c7d8ea;
	box-shadow: 0 7px 18px rgba(8, 35, 83, 0.07);
}

.dtt-reference-editor-panel h2,
.dtt-reference-summary-card h2 {
	display: flex;
	gap: 8px;
	align-items: center;
	margin: 0 0 14px;
	color: #09255a;
	font-size: 14px;
	font-weight: 800;
}

.dtt-reference-summary-card {
	padding: 16px;
}

.dtt-reference-summary-card dl {
	margin: 0;
}

.dtt-reference-summary-card dl > div {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 11px 0;
	border-top: 1px solid #edf2f7;
}

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

.dtt-reference-summary-card dd {
	margin: 0;
	color: #09255a;
	font-size: 12px;
	font-weight: 700;
	text-align: right;
}

.dtt-reference-sidebar-save {
	width: 100%;
	margin-top: 12px;
}

.dtt-reference-editor-shell > .dtt-form-actions {
	grid-column: 1 / -1;
	justify-content: flex-end;
}

.dtt-special-offer-media-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.dtt-special-offer-media-grid .dtt-upload-box,
.dtt-reference-upload-field {
	padding: 16px;
	background: #f9fbfd;
	border: 1px dashed #a9bfd8;
	border-radius: 7px;
}

.dtt-hotel-room-grid,
.dtt-transfer-rate-grid,
.dtt-ferry-route-grid {
	gap: 10px;
}

.dtt-addon-editor-tabs {
	display: flex;
	gap: 24px;
	margin: -2px 0 12px;
	padding: 0 12px;
	border-bottom: 1px solid #dce6f1;
}

.dtt-addon-editor-tabs a {
	display: inline-flex;
	gap: 7px;
	align-items: center;
	padding: 11px 4px;
	color: #536d9c;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
	border-bottom: 2px solid transparent;
	transition: color var(--dtt-motion-standard) ease, border-color var(--dtt-motion-standard) ease, transform var(--dtt-motion-standard) ease;
}

.dtt-addon-editor-tabs a:hover,
.dtt-addon-editor-tabs a:focus-visible {
	color: var(--dtt-teal-text);
	border-bottom-color: var(--dtt-accent);
	transform: translateY(-1px);
}

@media (max-width: 980px) {
	.dtt-reference-editor-shell {
		grid-template-columns: 1fr;
	}

	.dtt-reference-editor-shell > *,
	.dtt-reference-editor-shell > .dtt-reference-editor-sidebar {
		grid-column: 1;
		grid-row: auto;
		position: static;
	}
}

/* Users workspace: agents, approvals, and staff/admin accounts. */
.dtt-reference-user-list,
.dtt-reference-user-editor {
	--dtt-user-border: #d9e4f1;
	--dtt-user-muted: #52668a;
}

.dtt-reference-user-heading,
.dtt-reference-user-editor-heading {
	align-items: flex-end;
	margin-bottom: 14px;
}

.dtt-reference-user-heading > div > p:last-child,
.dtt-reference-user-editor-heading > div > p:last-child {
	margin: 5px 0 0;
	color: var(--dtt-user-muted);
	font-size: 12px;
}

.dtt-reference-user-heading .dtt-button,
.dtt-reference-user-editor-actions,
.dtt-reference-user-editor-actions .dtt-button,
.dtt-reference-user-list .dtt-inline-actions .dtt-button {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.dtt-reference-user-list .dtt-user-list-filters {
	margin-bottom: 12px;
}

.dtt-reference-user-list .dtt-user-list-filters .dtt-filter-grid {
	grid-template-columns: minmax(220px, 1.25fr) repeat(3, minmax(145px, .8fr)) minmax(100px, .45fr) auto;
}

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

.dtt-reference-user-list .dtt-agent-kpis {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin: 0 0 12px;
}

.dtt-reference-user-list .dtt-stat-icon::after {
	display: none;
	content: none;
}

.dtt-reference-user-list .dtt-stat-card {
	min-height: 102px;
	transition: transform var(--dtt-motion-standard) ease, border-color var(--dtt-motion-standard) ease, box-shadow var(--dtt-motion-standard) ease;
}

.dtt-reference-user-list .dtt-stat-card:hover {
	transform: translateY(-3px);
	border-color: rgba(10, 169, 159, .3);
	box-shadow: 0 10px 24px rgba(3, 33, 77, .08);
}

.dtt-reference-user-list .dtt-stat-icon {
	display: flex;
	align-items: center;
	justify-content: center;
}

.dtt-reference-user-list .dtt-management-list-table {
	font-size: 12px;
}

.dtt-reference-user-list .dtt-management-list-table tbody tr:hover {
	background: #f4fbfb;
}

.dtt-reference-user-list .dtt-management-list-table td {
	vertical-align: middle;
}

.dtt-reference-user-list .dtt-management-list-table td:first-child {
	display: flex;
	align-items: center;
	gap: 10px;
}

.dtt-reference-user-list .dtt-management-list-table td strong,
.dtt-reference-user-list .dtt-management-list-table td small {
	display: block;
}

.dtt-reference-user-list .dtt-management-list-table td small {
	margin-top: 3px;
	color: var(--dtt-user-muted);
}

.dtt-user-avatar {
	display: inline-flex;
	flex: 0 0 34px;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	color: #066f69;
	background: #e5f8f6;
	border: 1px solid #c7eeea;
	border-radius: 50%;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .03em;
}

.dtt-role-pill {
	display: inline-flex;
	padding: 4px 8px;
	color: #153b78;
	background: #edf4ff;
	border: 1px solid #d7e5fb;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
}

.dtt-reference-user-list .dtt-inline-actions {
	flex-wrap: wrap;
}

.dtt-reference-user-list .dtt-inline-actions form {
	display: inline-flex;
	margin: 0;
}

.dtt-reference-user-list .dtt-empty-state {
	padding: 28px 16px;
	color: var(--dtt-user-muted);
	text-align: center;
}

.dtt-approval-summary {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 12px;
	padding: 11px 14px;
	color: #704d00;
	background: #fff9e9;
	border: 1px solid #f5df9f;
	border-radius: 7px;
	font-size: 12px;
}

.dtt-approval-summary-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	color: #b57800;
	background: #fff2ca;
	border-radius: 50%;
}

.dtt-reference-agent-approvals .dtt-agent-approval-table td:nth-child(5) a {
	display: block;
	margin: 2px 0;
	color: var(--dtt-teal-text);
	font-weight: 650;
}

.dtt-reference-user-editor .dtt-reference-user-editor-actions {
	display: flex;
	gap: 8px;
}

.dtt-reference-user-editor .dtt-reference-user-editor-shell {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 280px;
	gap: 12px;
	align-items: start;
}

.dtt-reference-user-editor .dtt-reference-user-editor-panel {
	margin: 0;
	transition: transform var(--dtt-motion-standard) ease, border-color var(--dtt-motion-standard) ease, box-shadow var(--dtt-motion-standard) ease;
}

.dtt-reference-user-editor .dtt-reference-user-editor-panel:hover {
	transform: translateY(-2px);
	border-color: rgba(10, 169, 159, .3);
	box-shadow: 0 9px 20px rgba(3, 33, 77, .07);
}

.dtt-reference-user-editor .dtt-reference-user-editor-panel h2,
.dtt-reference-user-editor .dtt-reference-user-editor-sidebar h2 {
	display: flex;
	align-items: center;
	gap: 7px;
}

.dtt-reference-user-editor .dtt-reference-user-editor-sidebar {
	position: sticky;
	top: 82px;
	display: grid;
	gap: 10px;
}

.dtt-reference-user-editor .dtt-reference-summary-card,
.dtt-reference-user-editor .dtt-reference-summary-note {
	padding: 14px;
	background: #fff;
	border: 1px solid var(--dtt-user-border);
	border-radius: 7px;
}

.dtt-reference-user-editor .dtt-reference-summary-card h2 {
	margin: 0 0 13px;
	font-size: 13px;
}

.dtt-reference-user-editor .dtt-user-summary-name {
	display: block;
	margin-bottom: 10px;
	color: var(--dtt-mockup-ink);
	font-size: 13px;
}

.dtt-reference-user-editor .dtt-reference-summary-card dl {
	margin: 0;
}

.dtt-reference-user-editor .dtt-reference-summary-card dl > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 9px 0;
	border-bottom: 1px solid #e8eef6;
}

.dtt-reference-user-editor .dtt-reference-summary-card dt,
.dtt-reference-user-editor .dtt-reference-summary-card dd {
	margin: 0;
	font-size: 12px;
}

.dtt-reference-user-editor .dtt-reference-summary-card dd {
	max-width: 155px;
	color: var(--dtt-mockup-ink);
	font-weight: 700;
	text-align: right;
	word-break: break-word;
}

.dtt-reference-user-editor .dtt-reference-summary-note {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	color: #066f69;
	background: #effbf9;
	border-color: #bfe8e3;
	font-size: 12px;
	line-height: 1.5;
}

.dtt-reference-user-editor .dtt-reference-user-editor-sidebar > .dtt-button {
	width: 100%;
}

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

@media (max-width: 980px) {
	.dtt-reference-user-editor .dtt-reference-user-editor-shell {
		grid-template-columns: 1fr;
	}

	.dtt-reference-user-editor .dtt-reference-user-editor-sidebar {
		position: static;
	}
}

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

	.dtt-reference-user-heading,
	.dtt-reference-user-editor-heading,
	.dtt-reference-user-editor-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.dtt-reference-user-heading .dtt-button,
	.dtt-reference-user-editor-actions .dtt-button {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dtt-reference-user-list .dtt-stat-card,
	.dtt-reference-user-list .dtt-management-list-table tbody tr,
	.dtt-reference-user-editor .dtt-reference-user-editor-panel {
		transition: none !important;
	}

	.dtt-reference-user-list .dtt-stat-card:hover,
	.dtt-reference-user-editor .dtt-reference-user-editor-panel:hover {
		transform: none !important;
	}
}

@media (max-width: 700px) {
	.dtt-reference-editor-heading,
	.dtt-reference-editor-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.dtt-reference-editor-actions .dtt-button,
	.dtt-special-offer-media-grid {
		width: 100%;
	}

	.dtt-special-offer-media-grid,
	.dtt-hotel-room-grid,
	.dtt-transfer-rate-grid,
	.dtt-ferry-route-grid {
		grid-template-columns: 1fr;
	}

	.dtt-addon-editor-tabs {
		overflow-x: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dtt-reference-catalog-editor .dtt-reference-editor-panel,
	.dtt-reference-editor-panel,
	.dtt-addon-editor-tabs a {
		transition: none !important;
	}

	.dtt-reference-catalog-editor .dtt-reference-editor-panel:hover,
	.dtt-reference-editor-panel:hover,
	.dtt-addon-editor-tabs a:hover {
		transform: none !important;
	}
}

* {
	box-sizing: border-box;
}

body {
	margin: 0;
	background: var(--dtt-bg);
	color: var(--dtt-ink);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 15px;
	line-height: 1.5;
}

a {
	color: var(--dtt-teal-text);
	text-decoration: none;
}

a:hover,
a:focus {
	color: var(--dtt-navy);
}

img {
	max-width: 100%;
	height: auto;
}

.dtt-site-header {
	position: sticky;
	top: 0;
	z-index: 20;
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 24px;
	min-height: 70px;
	padding: 10px clamp(18px, 5vw, 72px);
	background: var(--dtt-surface);
	border-bottom: 1px solid var(--dtt-line);
	box-shadow: 0 1px 2px rgba(7, 22, 92, 0.04);
}

.dtt-brand {
	display: inline-flex;
	align-items: center;
	min-width: 190px;
}

.dtt-brand img {
	display: block;
	width: min(230px, 36vw);
	max-height: 48px;
	object-fit: contain;
	object-position: left center;
}

.dtt-header-nav {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.dtt-header-nav {
	justify-content: flex-end;
	justify-self: end;
}

.dtt-user-chip {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 50px;
	padding: 0 14px;
	background: #f8f9fc;
	border-left: 1px solid var(--dtt-line);
}

.dtt-user-avatar {
	display: inline-grid;
	place-items: center;
	width: 34px;
	height: 34px;
	background: #e8f8ef;
	border: 2px solid #ffffff;
	border-radius: 50%;
	color: var(--dtt-green);
	font-size: 14px;
	font-weight: 900;
	box-shadow: 0 0 0 1px #cdebd9;
}

.dtt-user-chip strong,
.dtt-user-chip small {
	display: block;
	line-height: 1.1;
}

.dtt-user-chip small {
	margin-top: 4px;
	color: var(--dtt-muted);
	font-size: 12px;
}

.dtt-nav-group {
	position: relative;
	display: inline-flex;
	min-width: 0;
}

.dtt-header-nav a {
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	padding: 9px 12px;
	background: transparent;
	border: 0;
	color: var(--dtt-ink);
	border-radius: 6px;
	cursor: pointer;
	font: inherit;
	font-weight: 700;
	font-size: 14px;
}

.dtt-header-nav a:hover {
	background: #e9f8f8;
	color: var(--dtt-navy);
}

.dtt-dashboard-nav {
	position: relative;
	z-index: 15;
	display: flex;
	align-items: center;
	gap: 20px;
	min-height: 50px;
	margin: -8px 0 24px;
	padding: 0 18px;
	background: var(--dtt-surface);
	border: 1px solid var(--dtt-line);
	border-radius: 4px;
	box-shadow: 0 1px 3px rgba(7, 22, 92, 0.06);
}

.dtt-dashboard-nav a,
.dtt-nav-trigger {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 48px;
	padding: 0;
	background: transparent;
	border: 0;
	color: #5d6680;
	cursor: pointer;
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
}

.dtt-dashboard-nav > a:hover,
.dtt-dashboard-nav > a:focus,
.dtt-nav-trigger:hover,
.dtt-nav-trigger:focus {
	color: var(--dtt-navy);
}

.dtt-nav-icon {
	width: 18px;
	height: 18px;
	flex: 0 0 auto;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.9;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.dtt-nav-trigger::after {
	content: "⌄";
	margin-left: 8px;
	color: var(--dtt-muted);
	font-size: 13px;
	line-height: 1;
}

.dtt-nav-menu {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 45;
	display: none;
	min-width: 230px;
	padding: 7px;
	background: var(--dtt-surface);
	border: 1px solid var(--dtt-line);
	border-radius: 4px;
	box-shadow: 0 18px 36px rgba(7, 22, 92, 0.14);
}

.dtt-nav-menu a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	min-height: 38px;
	padding: 0 10px;
	border-radius: 4px;
	color: #5d6680;
	white-space: nowrap;
}

.dtt-nav-menu a:hover,
.dtt-nav-menu a:focus {
	background: #f3f6f9;
	color: var(--dtt-navy);
}

.dtt-nav-group.dtt-nav-open .dtt-nav-menu {
	display: grid;
	gap: 2px;
}

.dtt-page-shell {
	width: min(1280px, calc(100% - 32px));
	margin: 0 auto;
	padding: 26px 0 56px;
}

.dtt-content-panel,
.dtt-auth-card,
.dtt-stat-card,
.dtt-action-band,
.dtt-form-section,
.dtt-quote-shell {
	background: var(--dtt-surface);
	border: 1px solid var(--dtt-line);
	border-radius: 6px;
	box-shadow: var(--dtt-shadow);
}

.dtt-panel-flat {
	box-shadow: none;
}

.dtt-content-panel {
	padding: clamp(22px, 4vw, 34px);
}

.dtt-app-page {
	width: 100%;
}

.dtt-entry-header h1,
.dtt-page-heading h1,
.dtt-app-hero h1,
.dtt-auth-brand h1 {
	margin: 0;
	color: var(--dtt-navy);
	line-height: 1.1;
	letter-spacing: 0;
}

.dtt-page-heading,
.dtt-app-hero {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 22px;
	padding: 22px 24px;
	background: var(--dtt-surface);
	border: 1px solid var(--dtt-line);
	border-left: 4px solid var(--dtt-teal);
	border-radius: 6px;
}

.dtt-page-heading p,
.dtt-app-hero p,
.dtt-auth-brand p,
.dtt-action-band p {
	margin: 8px 0 0;
	color: var(--dtt-muted);
}

.dtt-eyebrow {
	margin: 0 0 6px;
	color: var(--dtt-green);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.dtt-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 10px 16px;
	border: 1px solid transparent;
	border-radius: 6px;
	cursor: pointer;
	font: inherit;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.dtt-button-primary {
	background: var(--dtt-mockup-teal-strong);
	color: #ffffff;
	border-color: var(--dtt-mockup-teal-strong);
}

.dtt-button-primary:hover,
.dtt-button-primary:focus {
	background: var(--dtt-yellow);
	border-color: var(--dtt-yellow);
	color: var(--dtt-navy);
}

.dtt-button-secondary,
.dtt-button-ghost {
	background: #eef7f7;
	color: var(--dtt-navy);
	border-color: #cde8e8;
}

.dtt-button-secondary:hover,
.dtt-button-ghost:hover {
	background: #dff2f2;
}

.dtt-button-danger {
	background: #fff1f2;
	color: var(--dtt-red);
	border-color: #ffd0d4;
}

.dtt-button-small {
	min-height: 36px;
	padding: 7px 10px;
	font-size: 12px;
}

.dtt-button-wide {
	width: 100%;
}

.dtt-auth-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(320px, 420px);
	gap: 28px;
	align-items: stretch;
}

.dtt-auth-brand {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 360px;
	padding: clamp(20px, 4vw, 36px);
	background: #eaf8f6;
	border-left: 8px solid var(--dtt-yellow);
	border-radius: var(--dtt-radius);
	text-align: center;
}

.dtt-auth-brand img {
	width: min(220px, 70%);
	margin-bottom: 20px;
	opacity: 0.82;
	mix-blend-mode: multiply;
}

.dtt-auth-card {
	padding: 28px;
}

.dtt-auth-card h2,
.dtt-form-section h2,
.dtt-content-panel h2,
.dtt-quote-section h2,
.dtt-action-band h2 {
	margin: 0 0 18px;
	color: var(--dtt-navy);
	font-size: 20px;
	line-height: 1.2;
	letter-spacing: 0;
}

.dtt-auth-switch {
	margin: 18px 0 0;
	color: var(--dtt-muted);
	text-align: center;
}

.dtt-form {
	display: grid;
	gap: 18px;
}

.dtt-form-section {
	padding: 22px;
	box-shadow: none;
}

.dtt-grid {
	display: grid;
	gap: 16px;
}

.dtt-grid > * {
	min-width: 0;
}

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

.dtt-grid-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dtt-grid-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dtt-grid-5 {
	grid-template-columns: 1.4fr repeat(4, minmax(0, 1fr));
}

.dtt-grid-6 {
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

.dtt-tour-rate-grid,
.dtt-tour-rate-less-grid {
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

.dtt-tour-rate-less-grid {
	margin-bottom: 8px;
	align-items: end;
}

.dtt-checkbox-field .dtt-checkbox-control {
	display: flex;
	align-items: center;
	gap: 8px;
	box-sizing: border-box;
	height: 65px;
	min-height: 65px;
	padding: 8px 10px;
	background: #fbfcfd;
	border: 1px solid #cbd7de;
	border-radius: 6px;
	color: var(--dtt-ink);
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
	white-space: normal;
	overflow: hidden;
}

.dtt-checkbox-field input[type="checkbox"] {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	min-height: 0;
	margin: 0;
	padding: 0;
	accent-color: var(--dtt-teal);
}

.dtt-checkbox-label {
	flex: 1 1 auto;
	min-width: 0;
	overflow-wrap: anywhere;
}

.dtt-grid-span {
	grid-column: span 2;
}

.dtt-grid-span-full {
	grid-column: 1 / -1;
}

.dtt-peak-season-block {
	padding-top: 4px;
}

.dtt-peak-season-block h3 {
	margin: 0 0 4px;
}

.dtt-field-help {
	margin: 0 0 12px;
	color: var(--dtt-muted);
	font-size: 12px;
}

.dtt-peak-season-ranges {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 16px;
}

.dtt-peak-season-range {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 12px;
	padding: 12px;
	border: 1px solid var(--dtt-border);
	border-radius: 8px;
	background: #fbfcfd;
}

.dtt-peak-season-range > strong {
	align-self: center;
	white-space: nowrap;
}

.dtt-peak-season-range-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}


.dtt-room-media-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.dtt-hotel-room-card {
	display: grid;
	gap: 16px;
	padding: 18px;
	border: 1px solid #dce4f0;
	border-radius: 8px;
	background: #fff;
}

.dtt-hotel-room-card + .dtt-hotel-room-card {
	margin-top: 12px;
}

.dtt-room-primary-grid,
.dtt-room-pricing-grid,
.dtt-room-media-grid {
	display: grid;
	gap: 12px;
}

.dtt-room-primary-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dtt-room-pricing-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	padding-top: 2px;
}

.dtt-room-peak-season-panel {
	display: grid;
	gap: 10px;
	padding: 14px;
	border: 1px solid #dce4f0;
	border-radius: 8px;
	background: #f8fbff;
}

.dtt-room-peak-season-panel h3 {
	margin: 0;
	color: var(--dtt-header, #061638);
	font-size: 12px;
}

.dtt-room-peak-rate-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	align-items: end;
}

.dtt-room-media-grid input[type="file"] {
	max-width: 100%;
}

.dtt-photo-thumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin-top: 8px;
}

.dtt-photo-thumb-link {
	display: inline-flex;
	border-radius: 4px;
	outline-offset: 3px;
}

.dtt-photo-thumb-link:hover img,
.dtt-photo-thumb-link:focus img {
	border-color: var(--dtt-teal);
	box-shadow: 0 0 0 3px rgba(24, 191, 193, 0.16);
}

.dtt-photo-thumb-link img,
.dtt-photo-thumbs > img {
	display: block;
	width: 48px;
	height: 48px;
	border: 1px solid var(--dtt-line);
	border-radius: 4px;
	object-fit: cover;
	background: #f3f6f9;
}

.dtt-photo-more {
	display: inline-grid;
	place-items: center;
	min-width: 48px;
	height: 48px;
	padding: 0 8px;
	background: #edf8f8;
	border: 1px dashed #b8dedf;
	border-radius: 4px;
	color: var(--dtt-navy);
	font-size: 13px;
	font-weight: 900;
}

.dtt-photo-edit-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 10px;
}

.dtt-photo-edit-item {
	display: grid;
	gap: 5px;
	justify-items: center;
	width: 74px;
	padding: 6px;
	border: 1px solid var(--dtt-line);
	border-radius: 6px;
	background: #fff;
}

.dtt-photo-delete {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	min-height: auto;
	font-size: 12px;
	font-weight: 800;
	color: var(--dtt-red);
}

.dtt-photo-delete input {
	width: auto;
	min-height: auto;
	padding: 0;
}

.dtt-upload-status {
	min-height: 18px;
	color: var(--dtt-muted);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.35;
}

.dtt-upload-status-error {
	color: var(--dtt-red);
}

.dtt-file-current {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 4px;
	color: var(--dtt-muted);
	font-size: 13px;
}

.dtt-form label,
.dtt-upload-box {
	display: grid;
	gap: 7px;
	min-width: 0;
}

.dtt-form label span,
.dtt-upload-box span {
	color: var(--dtt-ink);
	font-size: 13px;
	font-weight: 800;
}

.dtt-form input,
.dtt-form select,
.dtt-form textarea {
	width: 100%;
	min-height: 42px;
	padding: 10px 12px;
	background: #fbfcfd;
	border: 1px solid #cbd7de;
	border-radius: 6px;
	color: var(--dtt-ink);
	font: inherit;
}

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

.select2-container {
	position: relative;
	display: block;
	width: 100%;
	min-width: 0;
}

.select2-selection {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
	min-height: 42px;
	padding: 10px 12px;
	background: #fbfcfd;
	border: 1px solid #cbd7de;
	border-radius: 6px;
	color: var(--dtt-ink);
	cursor: pointer;
	font: inherit;
	text-align: left;
	min-width: 0;
}

.select2-selection:focus {
	outline: 2px solid var(--dtt-teal-text);
	outline-offset: 2px;
	border-color: var(--dtt-teal);
}

.select2-selection__rendered {
	display: block;
	flex: 1 1 auto;
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.select2-selection__arrow {
	flex: 0 0 auto;
	color: var(--dtt-muted);
	font-size: 12px;
}

/* Chevron for every enhanced dropdown (the arrow element carries no text). Scoped to
 * .select2-container so form-label span styles (margin, colour, size) never reach it. */
.select2-container .select2-selection .select2-selection__arrow {
	display: block;
	width: 14px;
	height: 14px;
	margin: 0;
	font-size: 0;
	line-height: 0;
	color: transparent;
	background: no-repeat center / 14px 14px 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;
}

.select2-container.select2-container--open .select2-selection .select2-selection__arrow {
	transform: rotate(180deg);
}

@media (prefers-reduced-motion: reduce) {
	.select2-container .select2-selection .select2-selection__arrow {
		transition: none;
	}
}

/* Plain dropdowns (not enhanced) get the same chevron as the enhanced ones instead of the
 * browser's own arrow. !important because many field rules use the background shorthand. */
select:not([multiple]):not([size]):not(.select2-hidden-accessible) {
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	padding-right: 34px !important;
	background-image: 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") !important;
	background-repeat: no-repeat !important;
	background-position: right 12px center !important;
	background-size: 14px 14px !important;
}

select::-ms-expand {
	display: none;
}

.select2-dropdown {
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% + 4px);
	z-index: 40;
	display: none;
	padding: 8px;
	background: var(--dtt-surface);
	border: 1px solid #b8c9d2;
	border-radius: 6px;
	box-shadow: 0 16px 34px rgba(7, 22, 92, 0.14);
}

.select2-container--open .select2-dropdown {
	display: block;
}

.select2-search__field {
	width: 100%;
	min-height: 36px !important;
	margin: 0 0 8px;
	padding: 8px 10px !important;
	background: #f1fbfb !important;
	border-color: #bce4e5 !important;
	font-size: 14px !important;
}

.select2-results__options {
	max-height: 220px;
	margin: 0;
	padding: 0;
	overflow-y: auto;
	list-style: none;
}

.select2-results__option {
	padding: 9px 10px;
	border-radius: 5px;
	cursor: pointer;
	font-size: 14px;
}

.select2-results__option:hover,
.select2-results__option--selected {
	background: #e8f8f8;
	color: var(--dtt-navy);
}

.select2-results__option--empty {
	color: var(--dtt-muted);
	cursor: default;
}

.dtt-form textarea {
	resize: vertical;
}

.dtt-form input:focus,
.dtt-form select:focus,
.dtt-form textarea:focus {
	outline: 2px solid var(--dtt-teal-text);
	outline-offset: 2px;
	border-color: var(--dtt-teal);
}

.dtt-upload-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 14px;
}

.dtt-upload-box {
	min-height: 118px;
	padding: 16px;
	background: #f8fbfc;
	border: 1px dashed #aebfc8;
	border-radius: var(--dtt-radius);
}

.dtt-section-header,
.dtt-form-actions,
.dtt-quote-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.dtt-section-header {
	margin-bottom: 16px;
}

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

.dtt-repeater-row {
	position: relative;
	padding: 16px 0;
	border-top: 1px solid #edf2f5;
}

.dtt-repeater-row:first-child {
	padding-top: 0;
	border-top: 0;
}

.dtt-day-list {
	display: grid;
	gap: 16px;
}

.dtt-day-card {
	padding: 16px;
	background: #f8fbfc;
	border: 1px solid #edf2f5;
	border-radius: var(--dtt-radius);
}

.dtt-day-header {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	gap: 14px;
	align-items: end;
}

.dtt-day-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-end;
}

.dtt-day-blocks {
	display: grid;
	gap: 12px;
	margin-top: 14px;
}

.dtt-day-block {
	position: relative;
	padding: 14px;
	background: var(--dtt-surface);
	border: 1px solid #dfe8ed;
	border-radius: 6px;
}

.dtt-day-block-title {
	margin-bottom: 10px;
	color: var(--dtt-navy);
	font-size: 13px;
	font-weight: 900;
	text-transform: uppercase;
}

.dtt-itinerary-line {
	grid-template-columns: 86px minmax(230px, 1fr) minmax(190px, 0.7fr) auto;
	align-items: end;
}

.dtt-booking-form [data-dtt-repeater="hotels"] .dtt-hotel-line {
	grid-template-columns: minmax(190px, 1.4fr) minmax(150px, 1.2fr) minmax(120px, 0.8fr) repeat(3, minmax(96px, 0.7fr));
}

.dtt-transport-actions {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-end;
}

.dtt-transport-line {
	grid-template-columns: minmax(130px, 1fr) minmax(95px, 0.75fr) minmax(105px, 0.8fr) minmax(95px, 0.75fr) minmax(110px, 0.85fr) minmax(145px, 1fr) minmax(130px, 0.9fr) minmax(90px, 0.65fr) minmax(116px, 0.8fr);
	align-items: end;
}

[data-dtt-transfer-rate-wrap][hidden] {
	display: none !important;
}

.dtt-itinerary-actions {
	display: flex;
	align-items: end;
	gap: 8px;
	padding-bottom: 1px;
}

.dtt-row-actions {
	display: flex;
	justify-content: flex-end;
	margin-top: 10px;
}

.dtt-day-block > .dtt-row-actions {
	margin-top: 10px;
	padding-bottom: 0;
	justify-content: flex-end;
}

.dtt-addon-line {
	grid-template-columns: minmax(220px, 1.2fr) minmax(110px, 0.45fr) minmax(130px, 0.5fr) minmax(240px, 1fr);
	align-items: end;
}

.dtt-addons-grid {
	grid-template-columns: repeat(6, minmax(96px, 1fr));
	gap: 12px;
}

.dtt-compact-grid input,
.dtt-compact-grid select,
.dtt-compact-grid textarea,
.dtt-compact-grid .select2-selection {
	min-height: 36px;
	padding: 8px 10px;
}

.dtt-form-actions {
	padding: 20px 0;
}

.dtt-filter-form {
	margin-bottom: 14px;
	padding: 14px;
	background: #f8fbfc;
	border: 1px solid #edf2f5;
	border-radius: var(--dtt-radius);
}

.dtt-filter-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: end;
}

.dtt-filter-actions {
	display: flex;
	gap: 8px;
	align-items: end;
}

.dtt-form-actions p {
	margin: 0;
	color: var(--dtt-muted);
	font-size: 13px;
	font-weight: 700;
}

.dtt-live-total {
	display: grid;
	gap: 7px;
	padding: 14px 16px;
	background: #f7fcfb;
	border: 1px solid #d7ecec;
	border-radius: var(--dtt-radius);
}

.dtt-live-total span {
	color: var(--dtt-muted);
	font-size: 13px;
	font-weight: 800;
}

.dtt-live-total strong {
	color: var(--dtt-navy);
	font-size: 28px;
	line-height: 1;
}

.dtt-notice {
	margin: 0 0 18px;
	padding: 14px 16px;
	border-radius: 6px;
	border: 1px solid;
	font-weight: 700;
}

.dtt-notice-success {
	background: #edf9f2;
	border-color: #bfe9cf;
	color: #096235;
}

.dtt-notice-error {
	background: #fff1f2;
	border-color: #ffd0d4;
	color: #9f1d2b;
}

.dtt-notice-info,
.dtt-notice-warning {
	background: #fff8e1;
	border-color: #f2d27d;
	color: #6a4b00;
}

.dtt-stat-grid,
.dtt-metric-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 22px;
}

.dtt-stat-grid-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dtt-stat-card,
.dtt-metric {
	display: grid;
	gap: 8px;
	padding: 20px;
	color: var(--dtt-ink);
}

.dtt-stat-card {
	position: relative;
	min-height: 132px;
	overflow: hidden;
	box-shadow: none;
}

.dtt-stat-card::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 4px;
	background: var(--dtt-teal);
}

.dtt-stat-card-teal::before {
	background: var(--dtt-teal);
}

.dtt-stat-card-green::before {
	background: var(--dtt-green);
}

.dtt-stat-card-yellow::before {
	background: var(--dtt-yellow);
}

.dtt-stat-card-navy::before {
	background: var(--dtt-navy);
}

.dtt-stat-card .dtt-stat-label,
.dtt-metric span {
	color: var(--dtt-muted);
	font-size: 13px;
	font-weight: 800;
}

.dtt-stat-card strong,
.dtt-metric strong {
	color: var(--dtt-navy);
	font-size: 28px;
	line-height: 1;
	letter-spacing: 0;
}

.dtt-stat-card small {
	max-width: calc(100% - 58px);
	color: #56698f;
	font-size: 12px;
	font-weight: 700;
}

.dtt-stat-icon {
	position: absolute;
	right: 18px;
	bottom: 18px;
	width: 44px;
	height: 44px;
	background: #e8f8f8;
	border-radius: 50%;
}

.dtt-stat-icon::after {
	content: "";
	position: absolute;
	inset: 13px;
	border: 3px solid var(--dtt-teal-dark);
	border-top-color: transparent;
	border-radius: 50%;
}

.dtt-dashboard-hero {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 22px;
	padding: 24px;
	background: linear-gradient(135deg, rgba(7, 22, 92, 0.92), rgba(15, 150, 154, 0.82));
	border-radius: 6px;
	color: #ffffff;
	overflow: hidden;
}

.dtt-dashboard-hero h1 {
	margin: 0;
	color: #ffffff;
	font-size: 34px;
	line-height: 1.15;
}

.dtt-dashboard-hero p {
	max-width: 760px;
	margin: 8px 0 0;
	color: rgba(255, 255, 255, 0.78);
}

.dtt-dashboard-hero .dtt-eyebrow {
	color: var(--dtt-yellow);
}

.dtt-dashboard-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
}

.dtt-dashboard-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.4fr);
	gap: 18px;
	margin-bottom: 22px;
}

.dtt-dashboard-grid-main {
	grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
}

.dtt-dashboard-grid-6 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dtt-dashboard-card {
	padding: 20px;
	background: var(--dtt-surface);
	border: 1px solid var(--dtt-line);
	border-radius: 6px;
	box-shadow: 0 1px 2px rgba(7, 22, 92, 0.04);
}

.dtt-dashboard-card h2 {
	margin: 0;
	color: var(--dtt-ink);
	font-size: 18px;
}

.dtt-card-kicker {
	color: #56698f;
	font-size: 12px;
	font-weight: 800;
}

.dtt-bar-chart {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 16px;
	align-items: end;
	min-height: 260px;
	padding-top: 20px;
}

.dtt-bar-item {
	display: grid;
	gap: 8px;
	align-items: end;
	min-width: 0;
	text-align: center;
}

.dtt-bar-track {
	position: relative;
	height: 168px;
	background: #f3f6f9;
	border-radius: 999px;
	overflow: hidden;
}

.dtt-bar-track span {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: var(--bar);
	background: linear-gradient(180deg, var(--dtt-teal), var(--dtt-green));
	border-radius: 999px;
}

.dtt-bar-item strong {
	color: var(--dtt-ink);
	font-size: 12px;
	line-height: 1.2;
}

.dtt-bar-item small {
	color: var(--dtt-muted);
	font-size: 12px;
	font-weight: 800;
}

.dtt-status-chart {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	gap: 20px;
	align-items: center;
	padding-top: 14px;
}

.dtt-donut {
	position: relative;
	display: grid;
	place-items: center;
	width: 150px;
	aspect-ratio: 1;
	border-radius: 50%;
}

.dtt-donut::after {
	content: "";
	position: absolute;
	inset: 24px;
	background: #ffffff;
	border-radius: 50%;
	box-shadow: inset 0 0 0 1px #edf0f5;
}

.dtt-donut span {
	position: relative;
	z-index: 1;
	color: var(--dtt-navy);
	font-size: 28px;
	font-weight: 900;
}

.dtt-status-list,
.dtt-catalog-list {
	display: grid;
	gap: 10px;
}

.dtt-status-list div,
.dtt-catalog-list a {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 10px;
	align-items: center;
	padding: 10px 0;
	border-bottom: 1px solid #edf0f5;
}

.dtt-status-list i {
	width: 10px;
	height: 10px;
	border-radius: 50%;
}

.dtt-status-list span,
.dtt-catalog-list span {
	color: var(--dtt-muted);
	font-weight: 800;
}

.dtt-status-list strong,
.dtt-catalog-list strong {
	color: var(--dtt-navy);
}

.dtt-profile-summary {
	display: grid;
	gap: 8px;
}

.dtt-profile-summary strong {
	color: var(--dtt-navy);
	font-size: 18px;
}

.dtt-profile-summary small,
.dtt-profile-summary p {
	margin: 0;
	color: var(--dtt-muted);
	font-weight: 700;
}

.dtt-progress-line {
	height: 8px;
	margin: 10px 0 2px;
	background: #edf0f5;
	border-radius: 999px;
	overflow: hidden;
}

.dtt-progress-line span {
	display: block;
	width: var(--progress);
	height: 100%;
	background: linear-gradient(90deg, var(--dtt-teal), var(--dtt-green));
	border-radius: inherit;
}

.dtt-action-band {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 22px;
	padding: 24px;
	background: #f7fcfb;
	box-shadow: none;
}

.dtt-filter-form {
	margin-bottom: 14px;
	padding: 16px;
	background: var(--dtt-surface);
	border: 1px solid var(--dtt-line);
	border-radius: 4px;
	box-shadow: 0 1px 3px rgba(7, 22, 92, 0.04);
}

.dtt-table-wrap {
	width: 100%;
	overflow-x: auto;
	background: var(--dtt-surface);
	border: 1px solid var(--dtt-line);
	border-radius: 4px;
	box-shadow: 0 1px 3px rgba(7, 22, 92, 0.06);
}

.dtt-table {
	width: 100%;
	min-width: 760px;
	border-collapse: collapse;
	color: #172033;
	font-size: 13px;
}

.dtt-table th,
.dtt-table td {
	padding: 13px 16px;
	border-bottom: 1px solid #eef1f5;
	text-align: left;
	vertical-align: middle;
}

.dtt-table th {
	background: var(--dtt-surface);
	color: #172033;
	font-size: 13px;
	font-weight: 800;
	text-transform: none;
	white-space: nowrap;
}

.dtt-table tbody tr:hover {
	background: #f8f9fc;
}

.dtt-table tbody tr:last-child td {
	border-bottom: 0;
}

.dtt-table td small {
	display: block;
	margin-top: 3px;
	color: var(--dtt-muted);
}

.dtt-pagination {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-top: 12px;
	color: var(--dtt-muted);
	font-size: 13px;
	font-weight: 700;
}

.dtt-pagination-links {
	display: flex;
	align-items: center;
	gap: 6px;
}

.dtt-pagination-page {
	display: inline-grid;
	place-items: center;
	min-width: 34px;
	height: 34px;
	padding: 0 10px;
	border: 1px solid var(--dtt-line);
	border-radius: 4px;
	background: #fff;
	color: var(--dtt-navy);
	font-weight: 900;
}

.dtt-pagination-page.is-active {
	background: var(--dtt-teal);
	border-color: var(--dtt-teal);
	color: #fff;
}

.dtt-disabled {
	opacity: 0.52;
	pointer-events: none;
}

.dtt-date-warning {
	color: #b42318;
	font-weight: 900;
}

.dtt-status {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 5px 9px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
}

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

.dtt-status-pending,
.dtt-status-draft_quote,
.dtt-status-submitted {
	background: #fff5d1;
	color: #765300;
}

.dtt-status-declined,
.dtt-status-suspended,
.dtt-status-inactive,
.dtt-status-paused {
	background: #fff1f2;
	color: #a51d2c;
}

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

.dtt-inline-actions form {
	margin: 0;
}

.dtt-profile-grid,
.dtt-quote-grid {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 18px;
}

.dtt-detail-list {
	display: grid;
	grid-template-columns: 160px 1fr;
	gap: 10px 16px;
	margin: 0;
}

.dtt-detail-list dt {
	color: var(--dtt-muted);
	font-weight: 800;
}

.dtt-detail-list dd {
	margin: 0;
}

.dtt-catalog-detail {
	display: grid;
	gap: 24px;
	margin-bottom: 18px;
}

.dtt-catalog-detail h2 {
	margin: 0;
	font-size: 22px;
	line-height: 1.25;
}

.dtt-catalog-detail .dtt-photo-thumbs {
	gap: 10px;
	margin-top: 0;
}

.dtt-catalog-detail .dtt-photo-thumb-link img,
.dtt-catalog-detail .dtt-photo-thumbs > img {
	width: 72px;
	height: 72px;
}

.dtt-catalog-detail .dtt-detail-list {
	grid-template-columns: minmax(150px, 190px) minmax(0, 1fr);
	gap: 16px 32px;
	align-items: start;
}

.dtt-catalog-detail .dtt-detail-list dt {
	padding-top: 2px;
	line-height: 1.35;
}

.dtt-catalog-detail .dtt-detail-list dd {
	max-width: 820px;
	line-height: 1.65;
	overflow-wrap: anywhere;
}

.dtt-catalog-detail .dtt-table-wrap {
	margin-top: 8px;
}

.dtt-detail-text {
	white-space: normal;
}

.dtt-document-list {
	display: grid;
	gap: 10px;
}

.dtt-document-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px;
	background: #f8fbfc;
	border: 1px solid #edf2f5;
	border-radius: 6px;
}

.dtt-quote-shell {
	padding: clamp(20px, 4vw, 34px);
	box-shadow: none;
}

.dtt-quote-header {
	align-items: flex-start;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--dtt-line);
}

.dtt-quote-header img {
	width: 240px;
}

.dtt-quote-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 8px;
}

.dtt-quote-actions form {
	margin: 0;
}

.dtt-status-form {
	grid-template-columns: minmax(220px, 320px) auto;
	align-items: end;
	margin: 18px 0 0;
	padding: 16px;
	background: #f8fbfc;
	border: 1px solid #edf2f5;
	border-radius: var(--dtt-radius);
}

.dtt-quote-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 24px 0;
}

.dtt-quote-grid > div,
.dtt-quote-section {
	padding: 18px;
	border: 1px solid #edf2f5;
	border-radius: var(--dtt-radius);
}

.dtt-quote-grid h2,
.dtt-quote-section h2 {
	margin-bottom: 12px;
	font-size: 17px;
}

.dtt-quote-grid p {
	margin: 8px 0;
}

.dtt-quote-section {
	margin-top: 18px;
}

.dtt-itinerary-list {
	display: grid;
	gap: 12px;
}

.dtt-itinerary-item {
	padding: 14px;
	background: #f8fbfc;
	border-radius: 6px;
}

.dtt-itinerary-item h3 {
	margin: 4px 0;
	color: var(--dtt-navy);
	font-size: 17px;
}

.dtt-itinerary-entry + .dtt-itinerary-entry {
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid var(--dtt-line);
}

.dtt-itinerary-item p {
	margin: 0 0 6px;
}

.dtt-itinerary-meta {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px 12px;
	margin: 10px 0 12px;
	padding: 10px;
	background: #f8fbfc;
	border-radius: 6px;
}

.dtt-itinerary-meta dt {
	color: var(--dtt-muted);
	font-size: 12px;
	font-weight: 800;
}

.dtt-itinerary-meta dd {
	margin: 0;
	color: var(--dtt-ink);
	font-weight: 700;
}

.dtt-total-row td {
	color: var(--dtt-navy);
	font-weight: 900;
	font-size: 18px;
}

.dtt-validity {
	margin: 14px 0 0;
	color: var(--dtt-muted);
	font-weight: 800;
}

.dtt-modal-open {
	overflow: hidden;
}

.dtt-modal[hidden] {
	display: none;
}

.dtt-modal {
	position: fixed;
	inset: 0;
	z-index: 100;
	display: grid;
	place-items: center;
	padding: 20px;
}

.dtt-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(7, 22, 92, 0.52);
}

.dtt-modal-panel {
	position: relative;
	z-index: 1;
	width: min(720px, 100%);
	max-height: min(720px, calc(100vh - 40px));
	overflow: hidden;
	background: var(--dtt-surface);
	border-radius: var(--dtt-radius);
	box-shadow: 0 24px 60px rgba(7, 22, 92, 0.24);
}

.dtt-modal-panel-image {
	width: min(1040px, 100%);
}

.dtt-modal-panel header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 18px 20px;
	border-bottom: 1px solid var(--dtt-line);
}

.dtt-modal-panel h2 {
	margin: 0;
	color: var(--dtt-navy);
	font-size: 20px;
}

.dtt-modal-panel button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	background: #eef7f7;
	border: 1px solid #cde8e8;
	border-radius: 6px;
	color: var(--dtt-navy);
	cursor: pointer;
	font: inherit;
	font-weight: 900;
}

.dtt-modal-body {
	max-height: calc(100vh - 132px);
	padding: 20px;
	overflow: auto;
	color: var(--dtt-ink);
	white-space: pre-line;
}

.dtt-modal-body-image {
	display: grid;
	place-items: center;
	padding: 16px;
	background: #f8fbfc;
	white-space: normal;
}

.dtt-gallery-frame {
	display: grid;
	gap: 12px;
	justify-items: center;
	margin: 0;
	width: 100%;
}

.dtt-modal-body-image img {
	display: block;
	max-width: 100%;
	max-height: calc(100vh - 172px);
	border-radius: 4px;
	object-fit: contain;
}

.dtt-gallery-controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	color: var(--dtt-muted);
	font-size: 13px;
	font-weight: 900;
}

.dtt-gallery-controls .dtt-button {
	width: auto;
	height: 34px;
	min-height: 34px;
	padding: 0 12px;
}

.dtt-agent-suspend-form {
	display: grid;
	gap: 16px;
	white-space: normal;
}

.dtt-agent-suspend-form label {
	display: grid;
	gap: 8px;
}

.dtt-agent-suspend-form textarea {
	min-height: 120px;
	resize: vertical;
}

.dtt-agent-suspend-form .dtt-button {
	width: auto;
	height: 38px;
	min-height: 38px;
	padding: 0 16px;
}

.dtt-site-footer {
	padding: 24px;
	color: var(--dtt-muted);
	text-align: center;
}

body.logged-in {
	background: var(--dtt-bg);
}

body.logged-in .dtt-site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	display: grid;
	grid-template-columns: 138px minmax(0, 1fr) auto;
	gap: 10px;
	min-height: 68px;
	padding: 0 18px;
	background: var(--dtt-header);
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	box-shadow: 0 6px 18px rgba(6, 22, 56, 0.14);
}

body.admin-bar.logged-in .dtt-site-header {
	top: 32px;
}

body.logged-in .dtt-brand {
	min-width: 0;
}

body.logged-in .dtt-brand img {
	width: 128px;
	max-height: 46px;
	border-radius: 4px;
}

body.logged-in .dtt-header-nav {
	grid-column: 3;
	flex-wrap: nowrap;
	gap: 8px;
}

body.logged-in .dtt-user-chip {
	min-height: 40px;
	padding: 0;
	background: transparent;
	border-left: 0;
}

body.logged-in .dtt-user-avatar {
	width: 30px;
	height: 30px;
	background: #e5f8ef;
	color: #087744;
}

body.logged-in .dtt-user-chip strong {
	color: #ffffff;
	font-size: 13px;
}

body.logged-in .dtt-user-chip small {
	color: rgba(255, 255, 255, 0.64);
	font-size: 12px;
}

body.logged-in .dtt-header-nav .dtt-button-ghost {
	min-height: 34px;
	padding: 7px 10px;
	background: transparent;
	border-color: transparent;
	color: rgba(255, 255, 255, 0.82);
}

body.logged-in .dtt-page-shell {
	width: min(1540px, calc(100% - 32px));
	max-width: none;
	margin: 0 auto;
	padding-top: 24px;
}

body.admin-bar.logged-in .dtt-page-shell {
	padding-top: 24px;
}

body.logged-in .dtt-site-header > .dtt-dashboard-nav {
	position: static;
	z-index: auto;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 2px;
	width: 100%;
	min-height: 68px;
	margin: 0;
	padding: 0;
	overflow: visible;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

body.logged-in .dtt-page-shell > .dtt-dashboard-nav {
	display: none;
}

body.logged-in .dtt-site-header > .dtt-dashboard-nav > a,
body.logged-in .dtt-site-header > .dtt-dashboard-nav .dtt-nav-trigger {
	position: relative;
	width: auto;
	min-height: 68px;
	justify-content: center;
	flex-direction: column;
	gap: 4px;
	padding: 8px 11px 6px;
	border-radius: 0;
	color: rgba(255, 255, 255, 0.86);
	font-size: 12px;
	font-weight: 650;
}

body.logged-in .dtt-dashboard-nav > a:hover,
body.logged-in .dtt-dashboard-nav > a:focus,
body.logged-in .dtt-dashboard-nav > a.dtt-nav-active,
body.logged-in .dtt-nav-trigger:hover,
body.logged-in .dtt-nav-trigger:focus,
body.logged-in .dtt-nav-group.dtt-nav-active > .dtt-nav-trigger,
body.logged-in .dtt-nav-group.dtt-nav-open .dtt-nav-trigger {
	background: rgba(255, 255, 255, 0.07);
	color: #ffffff;
}

body.logged-in .dtt-site-header > .dtt-dashboard-nav > a.dtt-nav-active::after,
body.logged-in .dtt-site-header > .dtt-dashboard-nav .dtt-nav-group.dtt-nav-active > .dtt-nav-trigger::before {
	position: absolute;
	right: 7px;
	bottom: 0;
	left: 7px;
	height: 3px;
	background: var(--dtt-accent);
	border-radius: 3px 3px 0 0;
	content: "";
}

body.logged-in .dtt-nav-icon {
	width: 17px;
	height: 17px;
}

body.logged-in .dtt-nav-trigger::after {
	display: none;
}

body.logged-in .dtt-nav-group {
	display: inline-flex;
	width: auto;
}

body.logged-in .dtt-nav-menu {
	position: absolute;
	top: calc(100% - 2px);
	left: 0;
	min-width: 230px;
	width: max-content;
	max-width: min(320px, calc(100vw - 24px));
	margin: 0;
	padding: 7px;
	background: #ffffff;
	border: 1px solid var(--dtt-line);
	border-radius: 8px;
	box-shadow: 0 18px 40px rgba(6, 22, 56, 0.18);
}

body.logged-in .dtt-nav-menu a {
	min-height: 38px;
	padding: 0 10px;
	color: var(--dtt-ink);
	font-size: 12px;
}

body.logged-in .dtt-nav-menu a:hover,
body.logged-in .dtt-nav-menu a:focus,
body.logged-in .dtt-nav-menu a.dtt-nav-active {
	background: #eaf8f7;
	color: var(--dtt-navy);
}

body.logged-in .dtt-page-heading,
body.logged-in .dtt-app-hero {
	align-items: center;
	margin-bottom: 20px;
	padding: 20px 24px;
	border-left: 4px solid var(--dtt-teal);
	border-radius: 8px;
	box-shadow: 0 10px 28px rgba(7, 22, 92, 0.05);
}

body.logged-in .dtt-page-heading h1,
body.logged-in .dtt-app-hero h1 {
	font-size: 30px;
}

body.logged-in .dtt-quotation-heading {
	position: relative;
	overflow: hidden;
	background:
		linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0.96) 55%, rgba(255, 255, 255, 0.36) 100%),
		url("../images/quotation-wave-heading.jpg") right top / auto 100% no-repeat;
}

body.logged-in .dtt-eyebrow {
	color: #1b5678;
	font-size: 12px;
	letter-spacing: 0;
}

body.logged-in .dtt-form-section,
body.logged-in .dtt-dashboard-card,
body.logged-in .dtt-content-panel,
body.logged-in .dtt-table-wrap,
body.logged-in .dtt-stat-card,
body.logged-in .dtt-quote-shell {
	border-color: #dfe8f0;
	border-radius: 8px;
	box-shadow: 0 10px 28px rgba(7, 22, 92, 0.05);
}

body.logged-in .dtt-form-section,
body.logged-in .dtt-dashboard-card {
	padding: 20px;
}

body.logged-in .dtt-booking-form {
	counter-reset: dtt-quote-step;
}

body.logged-in .dtt-booking-form > .dtt-form-section > h2,
body.logged-in .dtt-booking-form > .dtt-form-section > .dtt-section-header h2 {
	display: inline-flex;
	align-items: center;
	gap: 9px;
}

body.logged-in .dtt-booking-form > .dtt-form-section > h2::before,
body.logged-in .dtt-booking-form > .dtt-form-section > .dtt-section-header h2::before {
	counter-increment: dtt-quote-step;
	content: counter(dtt-quote-step);
	display: inline-grid;
	place-items: center;
	width: 22px;
	height: 22px;
	background: #13bca8;
	border-radius: 6px;
	color: #ffffff;
	font-size: 12px;
	font-weight: 900;
	line-height: 1;
}

body.logged-in .dtt-form label span,
body.logged-in .dtt-upload-box span {
	color: #10254b;
	font-size: 12px;
}

body.logged-in .dtt-form input,
body.logged-in .dtt-form select,
body.logged-in .dtt-form textarea,
body.logged-in .select2-selection {
	min-height: 40px;
	background: #ffffff;
	border-color: #d4e0ea;
	border-radius: 6px;
	font-size: 13px;
}

body.logged-in .dtt-filter-form {
	padding: 16px;
	background: #ffffff;
	border-color: #dfe8f0;
	border-radius: 8px;
	box-shadow: 0 8px 22px rgba(7, 22, 92, 0.04);
}

body.logged-in .dtt-table th {
	color: #061657;
	font-size: 12px;
}

body.logged-in .dtt-table td {
	font-size: 13px;
}

body.logged-in .dtt-button-primary {
	background: linear-gradient(180deg, #13c4b1, #0aa890);
	border-color: #0aa890;
	color: #ffffff;
	box-shadow: 0 8px 18px rgba(10, 168, 144, 0.18);
}

body.logged-in .dtt-button-primary:hover,
body.logged-in .dtt-button-primary:focus {
	background: linear-gradient(180deg, #0fb29e, #078c7a);
	border-color: #078c7a;
	color: #ffffff;
}

body.logged-in .dtt-button-secondary,
body.logged-in .dtt-button-ghost {
	background: #f6fbfd;
	border-color: #cfe2ee;
	color: var(--dtt-navy);
}

body.logged-in .dtt-dashboard-hero {
	min-height: 136px;
	padding: 24px 30px;
	background:
		linear-gradient(90deg, #0060c9 0%, rgba(0, 111, 213, 0.96) 42%, rgba(0, 111, 213, 0.18) 74%),
		url("../images/dashboard-hero-generated.png");
	background-size: cover;
	background-position: center right;
	background-repeat: no-repeat;
	border-radius: 0;
	box-shadow: 0 12px 26px rgba(0, 91, 190, 0.12);
}

body.logged-in .dtt-dashboard-hero h1 {
	font-size: 36px;
}

body.logged-in .dtt-dashboard-hero .dtt-eyebrow {
	color: #fff7b8;
}

body.logged-in .dtt-stat-grid,
body.logged-in .dtt-metric-grid {
	gap: 18px;
}

body.logged-in .dtt-stat-card {
	min-height: 112px;
	padding: 18px 20px 18px 22px;
	background: #ffffff;
}

@media (max-width: 980px) {
	.dtt-site-header,
	.dtt-page-heading,
	.dtt-app-hero,
	.dtt-action-band,
	.dtt-form-actions,
	.dtt-quote-header {
		align-items: flex-start;
		flex-direction: column;
	}

	.dtt-site-header,
	.dtt-dashboard-grid,
	.dtt-dashboard-grid-main {
		grid-template-columns: 1fr;
	}

	.dtt-header-nav,
	.dtt-dashboard-actions {
		justify-content: flex-start;
	}

	.dtt-dashboard-nav {
		overflow-x: auto;
		flex-wrap: nowrap;
	}

	.dtt-auth-layout,
	.dtt-profile-grid,
	.dtt-quote-grid,
	.dtt-status-form {
		grid-template-columns: 1fr;
	}

	.dtt-auth-brand {
		min-height: auto;
	}

	.dtt-grid-3,
	.dtt-grid-4,
	.dtt-grid-5,
	.dtt-grid-6,
	.dtt-room-media-grid,
	.dtt-tour-rate-grid,
	.dtt-tour-rate-less-grid,
	.dtt-addons-grid,
	.dtt-booking-form [data-dtt-repeater="hotels"] .dtt-hotel-line,
	.dtt-day-header,
	.dtt-filter-grid,
	.dtt-itinerary-line,
	.dtt-transport-line,
	.dtt-addon-line,
	.dtt-upload-grid,
	.dtt-stat-grid,
	.dtt-metric-grid,
	.dtt-bar-chart,
	.dtt-itinerary-meta {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dtt-status-chart {
		grid-template-columns: 1fr;
	}

	.dtt-tour-rate-less-grid > span[aria-hidden="true"] {
		display: none;
	}
}

@media (max-width: 640px) {
	.dtt-page-shell {
		width: min(100% - 20px, 1180px);
		padding-top: 20px;
	}

	.dtt-brand img {
		width: min(250px, 80vw);
	}

	.dtt-header-nav,
	.dtt-dashboard-nav {
		width: 100%;
	}

	.dtt-nav-group,
	.dtt-nav-trigger {
		width: 100%;
	}

	.dtt-nav-menu {
		position: static;
		width: 100%;
		box-shadow: none;
	}

	.dtt-header-nav a,
	.dtt-dashboard-nav > a,
	.dtt-nav-trigger {
		flex: 1 1 auto;
		justify-content: flex-start;
	}

	.dtt-grid-2,
	.dtt-grid-3,
	.dtt-grid-4,
	.dtt-grid-5,
	.dtt-grid-6,
	.dtt-room-media-grid,
	.dtt-tour-rate-grid,
	.dtt-tour-rate-less-grid,
	.dtt-addons-grid,
	.dtt-booking-form [data-dtt-repeater="hotels"] .dtt-hotel-line,
	.dtt-day-header,
	.dtt-filter-grid,
	.dtt-upload-grid,
	.dtt-stat-grid,
	.dtt-metric-grid,
	.dtt-bar-chart,
	.dtt-itinerary-line,
	.dtt-transport-line,
	.dtt-addon-line,
	.dtt-itinerary-meta {
		grid-template-columns: 1fr;
	}

	.dtt-dashboard-hero,
	.dtt-status-chart {
		align-items: flex-start;
	}

	.dtt-donut {
		width: 132px;
	}

	.dtt-grid-span {
		grid-column: span 1;
	}

	.dtt-detail-list {
		grid-template-columns: 1fr;
	}

	.dtt-quote-header img {
		width: 210px;
	}

	.dtt-day-actions,
	.dtt-filter-actions {
		justify-content: flex-start;
	}

	.dtt-day-block {
		grid-template-columns: 1fr;
	}

	.dtt-day-block > .dtt-grid,
	.dtt-day-block > .dtt-row-actions {
		grid-column: 1;
	}

	.dtt-day-block > .dtt-row-actions {
		justify-content: flex-start;
	}
}

@media (max-width: 1100px) {
	body.logged-in .dtt-site-header {
		position: sticky;
		top: 0;
		grid-template-columns: 130px 1fr;
		gap: 12px;
		padding: 8px 16px;
	}

	body.admin-bar.logged-in .dtt-site-header {
		top: 32px;
	}

	body.logged-in .dtt-header-nav {
		grid-column: 2;
		justify-content: flex-end;
	}

	body.logged-in .dtt-page-shell,
	body.admin-bar.logged-in .dtt-page-shell {
		width: min(100% - 24px, 1180px);
		margin: 0 auto;
		padding-top: 20px;
	}

	body.logged-in .dtt-dashboard-nav,
	body.admin-bar.logged-in .dtt-dashboard-nav {
		position: relative;
		top: auto;
		bottom: auto;
		left: auto;
		flex-direction: row;
		width: 100%;
		min-height: 54px;
		margin: 0 0 18px;
		padding: 8px;
		overflow-x: auto;
		overflow-y: visible;
		border-radius: 8px;
	}

	body.logged-in .dtt-dashboard-nav > a,
	body.logged-in .dtt-nav-group,
	body.logged-in .dtt-nav-trigger {
		width: auto;
		flex: 0 0 auto;
	}

	body.logged-in .dtt-nav-menu {
		position: absolute;
		min-width: 220px;
		margin: 6px 0 0;
		padding: 7px;
		background: #ffffff;
		border: 1px solid var(--dtt-line);
		border-radius: 6px;
		box-shadow: 0 18px 36px rgba(7, 22, 92, 0.14);
	}

	body.logged-in .dtt-nav-menu a {
		color: #5d6680;
	}

	body.logged-in .dtt-nav-menu a:hover,
	body.logged-in .dtt-nav-menu a:focus {
		background: #eef7f7;
		color: var(--dtt-navy);
	}
}

@media (max-width: 782px) {
	body.admin-bar.logged-in .dtt-site-header {
		top: 46px;
	}
}

@media (max-width: 700px) {
	body.logged-in .dtt-site-header {
		grid-template-columns: 1fr;
	}

	body.logged-in .dtt-header-nav {
		grid-column: 1;
	}

	body.logged-in .dtt-user-chip {
		padding-left: 0;
	}

	body.logged-in .dtt-page-heading h1,
	body.logged-in .dtt-app-hero h1 {
		font-size: 24px;
	}

	body.logged-in .dtt-dashboard-hero h1 {
		font-size: 28px;
	}
}

/* 2026 reference-aligned workspace system. */
body.logged-in,
body.logged-in input,
body.logged-in select,
body.logged-in textarea,
body.logged-in button {
	font-variant-numeric: tabular-nums;
}

body.logged-in :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--dtt-teal-text);
	outline-offset: 2px;
}

/* RC67: the dark header needs a light ring to stay visible. */
body.logged-in .dtt-site-header :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline-color: #7ee6dd;
}

body.logged-in .dtt-page-heading,
body.logged-in .dtt-app-hero {
	align-items: center;
	min-height: 92px;
	margin-bottom: 18px;
	padding: 18px 22px;
	background: #ffffff;
	border: 1px solid var(--dtt-line);
	border-left: 0;
	border-radius: var(--dtt-radius-panel);
	box-shadow: var(--dtt-shadow);
}

body.logged-in .dtt-page-heading h1,
body.logged-in .dtt-app-hero h1 {
	font-size: clamp(24px, 2.2vw, 31px);
	letter-spacing: -0.025em;
}

body.logged-in .dtt-page-heading p,
body.logged-in .dtt-app-hero p {
	max-width: 72ch;
	font-size: 13px;
}

body.logged-in .dtt-eyebrow {
	margin-bottom: 5px;
	color: var(--dtt-teal-text);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.05em;
}

.dtt-button {
	min-height: 42px;
	border-radius: var(--dtt-radius-control);
	white-space: nowrap;
	transition: transform 140ms ease, background-color 140ms ease, border-color 140ms ease, color 140ms ease, box-shadow 140ms ease;
}

.dtt-button:active {
	transform: translateY(1px);
}

body.logged-in .dtt-button-primary {
	background: var(--dtt-accent);
	border-color: var(--dtt-accent);
	box-shadow: 0 6px 14px rgba(10, 169, 159, 0.2);
}

body.logged-in .dtt-button-primary:hover,
body.logged-in .dtt-button-primary:focus {
	background: var(--dtt-accent-strong);
	border-color: var(--dtt-accent-strong);
}

body.logged-in .dtt-button-secondary,
body.logged-in .dtt-button-ghost {
	background: #ffffff;
	border-color: #cad7e8;
	color: var(--dtt-navy);
	box-shadow: 0 1px 2px rgba(6, 22, 56, 0.04);
}

body.logged-in .dtt-button-danger {
	background: #fff4f4;
	border-color: #ffcaca;
	color: #c72935;
}

body.logged-in .dtt-button-small {
	min-height: 36px;
	padding: 6px 10px;
}

body.logged-in .dtt-form-section,
body.logged-in .dtt-dashboard-card,
body.logged-in .dtt-content-panel,
body.logged-in .dtt-stat-card,
body.logged-in .dtt-quote-shell,
body.logged-in .dtt-action-band {
	background: #ffffff;
	border: 1px solid var(--dtt-line);
	border-radius: var(--dtt-radius-panel);
	box-shadow: var(--dtt-shadow);
}

body.logged-in .dtt-form-section,
body.logged-in .dtt-dashboard-card {
	padding: 18px;
}

body.logged-in .dtt-form-section h2,
body.logged-in .dtt-dashboard-card h2,
body.logged-in .dtt-quote-section h2 {
	color: var(--dtt-navy);
	font-size: 16px;
	letter-spacing: -0.01em;
}

body.logged-in .dtt-form label span,
body.logged-in .dtt-upload-box span {
	margin-bottom: 6px;
	color: #1d3264;
	font-size: 12px;
	font-weight: 750;
}

body.logged-in .dtt-form input,
body.logged-in .dtt-form select,
body.logged-in .dtt-form textarea,
body.logged-in .select2-selection {
	min-height: 40px;
	background: #ffffff;
	border: 1px solid #cfdbea;
	border-radius: var(--dtt-radius-control);
	color: var(--dtt-ink);
	font-size: 13px;
	box-shadow: inset 0 1px 1px rgba(6, 22, 56, 0.025);
}

body.logged-in .dtt-form input::placeholder,
body.logged-in .dtt-form textarea::placeholder {
	color: #56698f;
	opacity: 1;
}

body.logged-in .dtt-form input:focus,
body.logged-in .dtt-form select:focus,
body.logged-in .dtt-form textarea:focus,
body.logged-in .select2-container--open .select2-selection {
	border-color: var(--dtt-accent);
	box-shadow: 0 0 0 3px rgba(10, 169, 159, 0.13);
}

body.logged-in .dtt-filter-form {
	padding: 14px;
	background: #ffffff;
	border: 1px solid var(--dtt-line);
	border-radius: var(--dtt-radius-panel);
	box-shadow: none;
}

.dtt-table-wrap {
	overflow-x: auto;
	background: #ffffff;
	border: 1px solid var(--dtt-line);
	border-radius: var(--dtt-radius-panel);
	box-shadow: var(--dtt-shadow);
	scrollbar-gutter: stable;
}

body.logged-in .dtt-table {
	min-width: 760px;
	border-collapse: separate;
	border-spacing: 0;
}

body.logged-in .dtt-table th {
	padding: 11px 12px;
	background: #f8fafe;
	border-bottom: 1px solid var(--dtt-line);
	color: var(--dtt-navy);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.02em;
	text-transform: none;
}

body.logged-in .dtt-table td {
	padding: 11px 12px;
	border-bottom-color: #e8edf5;
	color: #22345f;
	font-size: 12px;
	vertical-align: middle;
}

body.logged-in .dtt-table tbody tr:hover {
	background: #f8fbfd;
}

body.logged-in .dtt-status {
	border-radius: 4px;
	font-size: 12px;
	font-weight: 850;
	letter-spacing: 0.01em;
}

body.logged-in .dtt-status-approved,
body.logged-in .dtt-status-active {
	background: #e2f7ec;
	border-color: #b6e8ce;
	color: #087744;
}

body.logged-in .dtt-status-pending,
body.logged-in .dtt-status-draft_quote,
body.logged-in .dtt-status-submitted {
	background: #fff4d8;
	border-color: #f4d98b;
	color: #875900;
}

body.logged-in .dtt-status-declined,
body.logged-in .dtt-status-suspended,
body.logged-in .dtt-status-inactive,
body.logged-in .dtt-status-paused {
	background: #ffebed;
	border-color: #ffcbd0;
	color: #b72a36;
}

body.logged-in .dtt-stat-grid,
body.logged-in .dtt-metric-grid {
	gap: 12px;
}

body.logged-in .dtt-stat-card {
	min-height: 104px;
	padding: 16px 18px;
	box-shadow: none;
}

body.logged-in .dtt-stat-card strong,
body.logged-in .dtt-live-total strong,
body.logged-in .dtt-quote-total strong {
	color: var(--dtt-navy);
	letter-spacing: -0.02em;
}

body.logged-in .dtt-dashboard-hero {
	min-height: 132px;
	padding: 22px 26px;
	background:
		linear-gradient(90deg, rgba(6, 22, 56, 0.96), rgba(6, 22, 56, 0.78) 52%, rgba(6, 22, 56, 0.2)),
		url("../images/dashboard-hero-generated.png") center right / cover no-repeat;
	border-radius: var(--dtt-radius-panel);
	box-shadow: 0 10px 24px rgba(6, 22, 56, 0.12);
}

body.logged-in .dtt-dashboard-hero h1 {
	font-size: clamp(28px, 3vw, 38px);
}

body.logged-in .dtt-booking-form {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 14px;
}

body.logged-in .dtt-booking-form > .dtt-form-section {
	grid-column: 1 / -1;
}

body.logged-in .dtt-booking-form > .dtt-form-section:first-of-type {
	grid-column: span 8;
}

body.logged-in .dtt-booking-form > .dtt-form-section:nth-of-type(2) {
	grid-column: span 4;
}

body.logged-in .dtt-booking-form > .dtt-total-panel {
	grid-column: 9 / -1;
	position: sticky;
	bottom: 18px;
	z-index: 4;
}

body.logged-in .dtt-booking-form > .dtt-form-actions {
	grid-column: 1 / 9;
	align-self: end;
}

body.logged-in .dtt-quote-shell {
	padding: 18px;
}

body.logged-in .dtt-quote-header {
	padding-bottom: 16px;
	border-bottom: 1px solid var(--dtt-line);
}

body.logged-in .dtt-quote-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

body.logged-in .dtt-quote-grid > div,
body.logged-in .dtt-quote-section {
	background: #ffffff;
	border: 1px solid var(--dtt-line);
	border-radius: var(--dtt-radius-panel);
	box-shadow: none;
}

body.logged-in .dtt-pagination-page.is-active {
	background: #1557c0;
	border-color: #1557c0;
	color: #ffffff;
}

body.logged-in .select2-dropdown,
body.logged-in .dtt-modal-panel {
	border-color: var(--dtt-line);
	border-radius: var(--dtt-radius-panel);
	box-shadow: 0 22px 52px rgba(6, 22, 56, 0.2);
}

body.logged-in .select2-results__option--selected,
body.logged-in .select2-results__option:hover {
	background: #eaf8f7;
	color: var(--dtt-navy);
}

/* Account, catalog, and management page families. */
.dtt-auth-brand {
	background: var(--dtt-header);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-top: 4px solid var(--dtt-accent);
	box-shadow: 0 16px 36px rgba(6, 22, 56, 0.14);
}

.dtt-auth-brand h1,
.dtt-auth-brand p {
	color: #ffffff;
}

.dtt-auth-brand p {
	opacity: 0.74;
}

.dtt-auth-brand img {
	padding: 0;
	background: transparent;
	border-radius: 0;
	opacity: 1;
	mix-blend-mode: normal;
}

.dtt-auth-card {
	border-radius: var(--dtt-radius-panel);
	box-shadow: var(--dtt-shadow);
}

body.logged-in .dtt-management-form .dtt-repeater-row,
body.logged-in .dtt-management-form .dtt-photo-edit-item {
	background: #f8fafe;
	border: 1px solid var(--dtt-line);
	border-radius: var(--dtt-radius-control);
}

body.logged-in .dtt-management-form .dtt-repeater-row {
	padding: 12px;
}

body.logged-in .dtt-management-form .dtt-section-header {
	padding-bottom: 10px;
	border-bottom: 1px solid var(--dtt-line);
}

body.logged-in .dtt-catalog-detail .dtt-detail-list {
	padding: 18px;
	background: #f8fafe;
	border: 1px solid var(--dtt-line);
	border-radius: var(--dtt-radius-panel);
}

body.logged-in .dtt-catalog-detail .dtt-photo-thumb-link img,
body.logged-in .dtt-catalog-detail .dtt-photo-thumbs > img {
	border-radius: var(--dtt-radius-control);
	box-shadow: 0 3px 10px rgba(6, 22, 56, 0.08);
}

body.logged-in .dtt-profile-grid > .dtt-form-section,
body.logged-in .dtt-profile-grid > .dtt-content-panel,
body.logged-in .dtt-profile-grid > .dtt-dashboard-card {
	min-width: 0;
	background: #ffffff;
	border: 1px solid var(--dtt-line);
	border-radius: var(--dtt-radius-panel);
	box-shadow: var(--dtt-shadow);
}

body.logged-in .dtt-notice {
	border-width: 1px;
	border-left-width: 4px;
	border-radius: var(--dtt-radius-control);
	box-shadow: 0 4px 12px rgba(6, 22, 56, 0.05);
}

@media (max-width: 1250px) {
	body.logged-in .dtt-site-header {
		grid-template-columns: 116px minmax(0, 1fr) auto;
		padding-inline: 12px;
	}

	body.logged-in .dtt-brand img {
		width: 108px;
	}

	body.logged-in .dtt-site-header > .dtt-dashboard-nav > a,
	body.logged-in .dtt-site-header > .dtt-dashboard-nav .dtt-nav-trigger {
		padding-inline: 7px;
		font-size: 12px;
	}
}

@media (max-width: 1100px) {
	body.logged-in .dtt-site-header,
	body.admin-bar.logged-in .dtt-site-header {
		position: sticky;
		grid-template-columns: 118px minmax(0, 1fr) auto;
		gap: 8px;
		padding: 0 12px;
	}

	body.logged-in .dtt-site-header > .dtt-dashboard-nav,
	body.admin-bar.logged-in .dtt-site-header > .dtt-dashboard-nav {
		position: static;
		width: 100%;
		min-height: 68px;
		margin: 0;
		padding: 0;
		overflow-x: auto;
		overflow-y: visible;
		background: transparent;
		border: 0;
		border-radius: 0;
	}

	body.logged-in .dtt-page-shell,
	body.admin-bar.logged-in .dtt-page-shell {
		width: min(100% - 24px, 1180px);
		margin: 0 auto;
		padding-top: 20px;
	}
}

@media (max-width: 820px) {
	body.logged-in .dtt-site-header,
	body.admin-bar.logged-in .dtt-site-header {
		grid-template-columns: 110px minmax(0, 1fr);
		min-height: 112px;
		padding: 6px 12px 0;
	}

	body.logged-in .dtt-header-nav {
		grid-column: 2;
		grid-row: 1;
	}

	body.logged-in .dtt-site-header > .dtt-dashboard-nav {
		grid-column: 1 / -1;
		grid-row: 2;
		justify-content: flex-start;
		min-height: 54px;
	}

	body.logged-in .dtt-site-header > .dtt-dashboard-nav > a,
	body.logged-in .dtt-site-header > .dtt-dashboard-nav .dtt-nav-trigger {
		min-height: 54px;
		flex-direction: row;
		font-size: 12px;
	}

	body.logged-in .dtt-booking-form {
		display: grid;
		grid-template-columns: 1fr;
	}

	body.logged-in .dtt-booking-form > .dtt-form-section,
	body.logged-in .dtt-booking-form > .dtt-form-section:first-of-type,
	body.logged-in .dtt-booking-form > .dtt-form-section:nth-of-type(2),
	body.logged-in .dtt-booking-form > .dtt-total-panel,
	body.logged-in .dtt-booking-form > .dtt-form-actions {
		grid-column: 1;
		position: static;
	}

	body.logged-in .dtt-quote-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	body.logged-in .dtt-user-chip span:last-child {
		display: none;
	}

	body.logged-in .dtt-header-nav .dtt-button-ghost {
		display: none;
	}

	body.logged-in .dtt-page-heading,
	body.logged-in .dtt-app-hero {
		align-items: stretch;
		padding: 16px;
	}

	body.logged-in .dtt-page-heading .dtt-button,
	body.logged-in .dtt-app-hero .dtt-button {
		width: 100%;
	}

	body.logged-in .dtt-grid-3,
	body.logged-in .dtt-grid-4,
	body.logged-in .dtt-grid-5,
	body.logged-in .dtt-grid-6 {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

/* Reference-faithful shared quotation builder v0.18.4. */
.dtt-reference-builder {
	--dtt-builder-line: #dce6f3;
	--dtt-builder-soft: #f8fafc;
	--dtt-builder-blue: #0d4fac;
}

.dtt-reference-builder .dtt-builder-heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 20px;
	margin-bottom: 10px;
	padding: 12px 14px 10px;
	background: transparent;
	border: 0;
	box-shadow: none;
}

.dtt-reference-builder .dtt-builder-heading h1 {
	font-size: 23px;
	letter-spacing: -0.035em;
}

.dtt-reference-builder .dtt-builder-heading p {
	margin-top: 4px;
	font-size: 12px;
}

.dtt-reference-builder .dtt-builder-heading-actions,
.dtt-reference-builder .dtt-summary-actions,
.dtt-reference-builder .dtt-builder-footer-actions {
	display: flex;
	align-items: center;
	gap: 8px;
}

.dtt-reference-builder .dtt-builder-heading-actions .dtt-button {
	min-height: 42px;
	padding: 8px 13px;
	background: #fff;
	border-color: var(--dtt-builder-line);
	color: var(--dtt-navy);
	font-size: 12px;
}

.dtt-reference-builder .dtt-builder-steps {
	position: relative;
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 8px;
	margin-bottom: 12px;
	padding: 10px 14px;
	background: #fff;
	border: 1px solid var(--dtt-builder-line);
	border-radius: 7px;
	overflow: hidden;
}

.dtt-reference-builder .dtt-builder-steps span {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 7px;
	min-height: 36px;
	padding: 0 12px;
	color: #55709d;
	border: 1px solid var(--dtt-builder-line);
	border-radius: 5px;
	font-size: 12px;
	font-weight: 700;
	white-space: nowrap;
}

.dtt-reference-builder .dtt-builder-steps span::after {
	content: "›";
	position: absolute;
	right: -8px;
	z-index: 2;
	color: #bcc8da;
	font-size: 17px;
}

.dtt-reference-builder .dtt-builder-steps span:last-child::after {
	display: none;
}

.dtt-reference-builder .dtt-builder-steps b {
	display: grid;
	place-items: center;
	width: 20px;
	height: 20px;
	border: 1px solid currentColor;
	border-radius: 50%;
	font-size: 12px;
}

.dtt-reference-builder .dtt-builder-steps .is-active {
	color: #fff;
	background: var(--dtt-builder-blue);
	border-color: var(--dtt-builder-blue);
}

.dtt-reference-builder .dtt-builder-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 270px;
	gap: 10px;
	align-items: start;
}

.dtt-reference-builder .dtt-builder-main {
	display: grid;
	grid-column: 1;
	gap: 8px;
	min-width: 0;
}

.dtt-reference-builder .dtt-builder-summary {
	position: sticky;
	top: 82px;
	grid-column: 2;
	grid-row: 1;
	padding: 14px;
	border-color: var(--dtt-builder-line);
	box-shadow: 0 8px 22px rgba(6, 22, 56, 0.06);
}

.dtt-reference-builder .dtt-builder-section {
	padding: 13px 14px;
	border-color: var(--dtt-builder-line);
	box-shadow: none;
	transition: transform var(--dtt-motion-standard) var(--dtt-motion-ease),
		border-color var(--dtt-motion-standard) ease-out,
		box-shadow var(--dtt-motion-standard) ease-out;
}

.dtt-reference-builder .dtt-builder-section:hover,
.dtt-reference-builder .dtt-builder-section:focus-within {
	transform: translateY(-2px);
	border-color: #bed2e8;
	box-shadow: 0 9px 22px rgba(6, 22, 56, 0.07);
}

.dtt-reference-builder .dtt-builder-section h2,
.dtt-reference-builder .dtt-section-header h2,
.dtt-reference-builder .dtt-summary-heading h2 {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 0 0 11px;
	color: var(--dtt-navy);
	font-size: 12px;
	font-weight: 800;
}

.dtt-reference-builder .dtt-builder-section h2 > .dtt-ui-icon,
.dtt-reference-builder .dtt-summary-heading h2 > .dtt-ui-icon {
	width: 16px;
	height: 16px;
	color: var(--dtt-accent-strong);
}

.dtt-reference-builder .dtt-builder-section-number {
	display: grid;
	place-items: center;
	width: 21px;
	height: 21px;
	color: #fff;
	background: var(--dtt-mockup-teal-strong);
	border-radius: 6px;
	font-size: 12px;
}

.dtt-reference-builder label > span {
	margin-bottom: 5px;
	color: #173268;
	font-size: 12px;
	font-weight: 700;
}

.dtt-reference-builder input:not([type="hidden"]),
.dtt-reference-builder select,
.dtt-reference-builder textarea,
.dtt-reference-builder .select2-selection {
	min-height: 36px;
	padding: 7px 9px;
	border-color: #d5e1ef;
	border-radius: 5px;
	background: #fff;
	font-size: 12px;
}

.dtt-reference-builder .dtt-client-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dtt-reference-builder .dtt-builder-passengers .dtt-compact-grid {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.dtt-reference-builder .dtt-section-header {
	align-items: center;
	margin-bottom: 9px;
}

.dtt-reference-builder .dtt-section-header h2 {
	margin: 0;
}

.dtt-reference-builder .dtt-button {
	gap: 6px;
}

.dtt-reference-builder .dtt-button .dtt-ui-icon {
	width: 14px;
	height: 14px;
}

.dtt-reference-builder .dtt-day-list,
.dtt-reference-builder .dtt-day-blocks,
.dtt-reference-builder [data-dtt-rows] {
	display: grid;
	gap: 8px;
}

.dtt-reference-builder .dtt-day-card {
	padding: 10px;
	background: var(--dtt-builder-soft);
	border: 1px solid #e2eaf3;
	border-radius: 6px;
	box-shadow: none;
}

.dtt-reference-builder .dtt-day-header {
	align-items: end;
	gap: 10px;
	margin-bottom: 8px;
}

.dtt-reference-builder .dtt-day-number {
	width: 74px;
}

.dtt-reference-builder .dtt-day-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 6px;
}

.dtt-reference-builder .dtt-day-actions .dtt-button,
.dtt-reference-builder .dtt-row-actions .dtt-button,
.dtt-reference-builder .dtt-itinerary-actions .dtt-button {
	min-height: 36px;
	padding: 6px 9px;
	font-size: 12px;
}

.dtt-reference-builder .dtt-day-block,
.dtt-reference-builder .dtt-repeater-row {
	padding: 10px;
	background: #fff;
	border: 1px solid #dfe8f2;
	border-radius: 5px;
	box-shadow: none;
}

.dtt-reference-builder .dtt-day-block-title {
	margin-bottom: 8px;
	color: var(--dtt-navy);
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
}

.dtt-reference-builder .dtt-hotel-line {
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

.dtt-reference-builder .dtt-transport-line {
	grid-template-columns: repeat(9, minmax(80px, 1fr));
}

.dtt-reference-builder .dtt-itinerary-line {
	grid-template-columns: minmax(240px, 1fr) minmax(145px, .35fr) auto;
	align-items: end;
}

.dtt-reference-builder .dtt-addon-line {
	grid-template-columns: 1.1fr .45fr .55fr 1.4fr;
}

.dtt-reference-builder .dtt-row-actions {
	margin-top: 7px;
}

.dtt-reference-builder .dtt-summary-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid #e4ebf4;
}

.dtt-reference-builder .dtt-summary-heading h2 {
	margin: 0;
}

.dtt-reference-builder .dtt-summary-heading > span {
	padding: 4px 7px;
	border: 1px solid #d5e1ef;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 800;
}

.dtt-reference-builder .dtt-summary-lines {
	display: grid;
	gap: 0;
}

.dtt-reference-builder .dtt-summary-lines > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 9px 0;
	border-bottom: 1px solid #edf1f7;
	font-size: 12px;
}

.dtt-reference-builder .dtt-summary-lines > div strong {
	color: var(--dtt-navy);
	font-size: 12px;
	font-variant-numeric: tabular-nums;
}

.dtt-reference-builder .dtt-summary-lines label {
	padding: 10px 0;
	border-bottom: 1px solid #edf1f7;
}

.dtt-reference-builder .dtt-summary-subtotal {
	font-weight: 800;
}

.dtt-reference-builder .dtt-live-total {
	margin: 8px 0 0;
	padding: 12px !important;
	background: #f3fbfa;
	border: 1px solid #cde9e5 !important;
	border-radius: 6px;
}

.dtt-reference-builder .dtt-live-total strong {
	font-size: 17px !important;
}

.dtt-reference-builder .dtt-summary-note,
.dtt-reference-builder .dtt-review-confirmation {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 10px;
	padding: 10px;
	color: #087c73;
	background: #f1fbf9;
	border: 1px solid #bee8e1;
	border-radius: 5px;
	font-size: 12px;
}

.dtt-reference-builder .dtt-summary-note .dtt-ui-icon,
.dtt-reference-builder .dtt-review-confirmation > .dtt-ui-icon {
	flex: 0 0 auto;
	width: 15px;
	height: 15px;
}

.dtt-reference-builder .dtt-summary-actions {
	display: grid;
	margin-top: 10px;
}

.dtt-reference-builder .dtt-review-confirmation {
	justify-content: space-between;
	margin: 0;
}

.dtt-reference-builder .dtt-review-confirmation span {
	flex: 1;
}

.dtt-reference-builder .dtt-builder-footer-actions {
	justify-content: space-between;
	padding: 2px;
}

.dtt-reference-builder .dtt-builder-footer-actions p {
	margin: 0;
	color: #56698f;
	font-size: 12px;
}

.dtt-reference-builder .dtt-builder-section:hover .dtt-builder-section-number,
.dtt-reference-builder .dtt-builder-section:focus-within .dtt-builder-section-number {
	transform: scale(1.06);
}

.dtt-reference-builder .dtt-builder-section-number,
.dtt-reference-builder .dtt-builder-section h2 .dtt-ui-icon {
	transition: transform var(--dtt-motion-standard) var(--dtt-motion-ease);
}

.dtt-reference-builder .dtt-button:hover .dtt-ui-icon,
.dtt-reference-builder .dtt-button:focus-visible .dtt-ui-icon {
	transform: translateY(-1px) scale(1.06);
}

@media (max-width: 1180px) {
	.dtt-reference-builder .dtt-client-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dtt-reference-builder .dtt-hotel-line,
	.dtt-reference-builder .dtt-transport-line {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 980px) {
	.dtt-reference-builder .dtt-builder-layout {
		grid-template-columns: 1fr;
	}

	.dtt-reference-builder .dtt-builder-main,
	.dtt-reference-builder .dtt-builder-summary {
		grid-column: 1;
		grid-row: auto;
	}

	.dtt-reference-builder .dtt-builder-summary {
		position: static;
	}
}

@media (max-width: 720px) {
	.dtt-reference-builder .dtt-builder-heading {
		grid-template-columns: 1fr;
	}

	.dtt-reference-builder .dtt-builder-heading-actions {
		justify-content: flex-start;
	}

	.dtt-reference-builder .dtt-builder-steps {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x proximity;
	}

	.dtt-reference-builder .dtt-builder-steps span {
		flex: 0 0 145px;
		scroll-snap-align: start;
	}

	.dtt-reference-builder .dtt-builder-steps span::after {
		display: none;
	}

	.dtt-reference-builder .dtt-client-grid,
	.dtt-reference-builder .dtt-builder-trip .dtt-grid,
	.dtt-reference-builder .dtt-builder-passengers .dtt-compact-grid,
	.dtt-reference-builder .dtt-hotel-line,
	.dtt-reference-builder .dtt-transport-line,
	.dtt-reference-builder .dtt-itinerary-line,
	.dtt-reference-builder .dtt-addon-line {
		grid-template-columns: 1fr;
	}

	.dtt-reference-builder .dtt-review-confirmation,
	.dtt-reference-builder .dtt-builder-footer-actions {
		align-items: stretch;
		flex-direction: column;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dtt-reference-builder .dtt-builder-section,
	.dtt-reference-builder .dtt-builder-section-number,
	.dtt-reference-builder .dtt-builder-section h2 .dtt-ui-icon,
	.dtt-reference-builder .dtt-button .dtt-ui-icon {
		transition: none !important;
	}

	.dtt-reference-builder .dtt-builder-section:hover,
	.dtt-reference-builder .dtt-builder-section:focus-within,
	.dtt-reference-builder .dtt-builder-section:hover .dtt-builder-section-number,
	.dtt-reference-builder .dtt-builder-section:focus-within .dtt-builder-section-number,
	.dtt-reference-builder .dtt-button:hover .dtt-ui-icon,
	.dtt-reference-builder .dtt-button:focus-visible .dtt-ui-icon {
		transform: none !important;
	}
}

/* Functional quotation filters: compact, aligned, and responsive. */
.dtt-screen-quotations .dtt-quotation-filter-form {
	display: grid;
	grid-template-columns: minmax(280px, 1.4fr) repeat(2, minmax(150px, 0.72fr)) minmax(150px, 0.72fr) auto;
	gap: 10px;
	align-items: center;
}

.dtt-screen-quotations .dtt-quotation-filter-form.dtt-has-agent-filter {
	grid-template-columns: minmax(260px, 1.35fr) repeat(2, minmax(145px, 0.72fr)) repeat(2, minmax(140px, 0.68fr)) auto;
}

.dtt-quotation-filter-form input:not([type="hidden"]),
.dtt-quotation-filter-form select,
.dtt-quotation-filter-form .dtt-button {
	box-sizing: border-box;
	height: 40px;
	min-height: 40px;
	max-height: 40px;
	margin: 0;
	font-size: 12px;
	line-height: 1.2;
}

.dtt-quotation-filter-form .dtt-filter-search {
	position: relative;
	display: block;
	min-width: 0;
}

.dtt-quotation-filter-form .dtt-filter-search > .dtt-ui-icon {
	position: absolute;
	z-index: 2;
	top: 50%;
	left: 12px;
	width: 16px;
	height: 16px;
	transform: translateY(-50%);
	pointer-events: none;
}

.dtt-quotation-filter-form .dtt-filter-search input {
	width: 100%;
	height: 40px;
	padding: 0 12px 0 38px;
}

.dtt-quotation-filter-form input[type="date"],
.dtt-quotation-filter-form select {
	width: 100%;
	padding-top: 0;
	padding-bottom: 0;
}

.dtt-quotation-filter-form .dtt-button {
	white-space: nowrap;
}

@media (max-width: 1100px) {
	.dtt-screen-quotations .dtt-quotation-filter-form,
	.dtt-screen-quotations .dtt-quotation-filter-form.dtt-has-agent-filter {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 700px) {
	.dtt-screen-quotations .dtt-quotation-filter-form,
	.dtt-screen-quotations .dtt-quotation-filter-form.dtt-has-agent-filter {
		grid-template-columns: 1fr;
	}
}

/* Quotation KPI SVG and interaction polish v0.18.3. */
.dtt-screen-quotations .dtt-quote-kpis .dtt-stat-card {
	isolation: isolate;
	transition: transform var(--dtt-motion-standard) var(--dtt-motion-ease),
		border-color var(--dtt-motion-standard) ease-out,
		background-color var(--dtt-motion-standard) ease-out,
		box-shadow var(--dtt-motion-standard) ease-out;
}

.dtt-screen-quotations .dtt-quote-kpis .dtt-stat-card .dtt-stat-icon {
	transition: transform var(--dtt-motion-standard) var(--dtt-motion-ease),
		background-color var(--dtt-motion-standard) ease-out,
		box-shadow var(--dtt-motion-standard) ease-out;
}

.dtt-screen-quotations .dtt-quote-kpis .dtt-stat-card .dtt-stat-icon .dtt-ui-icon {
	display: block;
	transition: transform var(--dtt-motion-standard) var(--dtt-motion-ease),
		color var(--dtt-motion-fast) ease-out;
}

.dtt-screen-quotations .dtt-quote-kpis .dtt-stat-card:hover,
.dtt-screen-quotations .dtt-quote-kpis .dtt-stat-card:focus-visible {
	transform: translateY(-3px);
	border-color: #b9cee7;
	background: #ffffff;
	box-shadow: 0 12px 26px rgba(6, 22, 56, 0.11);
}

.dtt-screen-quotations .dtt-quote-kpis .dtt-stat-card:focus-visible {
	outline: 2px solid var(--dtt-teal-text);
	outline-offset: 3px;
}

.dtt-screen-quotations .dtt-quote-kpis .dtt-stat-card:active {
	transform: translateY(-1px) scale(0.995);
	box-shadow: 0 6px 14px rgba(6, 22, 56, 0.09);
	transition-duration: 80ms;
}

.dtt-screen-quotations .dtt-quote-kpis .dtt-stat-card:hover .dtt-stat-icon,
.dtt-screen-quotations .dtt-quote-kpis .dtt-stat-card:focus-visible .dtt-stat-icon {
	transform: translateY(-50%) scale(1.08);
	box-shadow: 0 7px 15px rgba(6, 22, 56, 0.1);
}

.dtt-screen-quotations .dtt-quote-kpis .dtt-stat-card:hover .dtt-stat-icon .dtt-ui-icon,
.dtt-screen-quotations .dtt-quote-kpis .dtt-stat-card:focus-visible .dtt-stat-icon .dtt-ui-icon {
	transform: translateY(-1px) rotate(-4deg) scale(1.06);
}

@media (prefers-reduced-motion: reduce) {
	.dtt-screen-quotations .dtt-quote-kpis .dtt-stat-card,
	.dtt-screen-quotations .dtt-quote-kpis .dtt-stat-icon,
	.dtt-screen-quotations .dtt-quote-kpis .dtt-stat-icon .dtt-ui-icon {
		transition: none !important;
	}

	.dtt-screen-quotations .dtt-quote-kpis .dtt-stat-icon {
		transform: translateY(-50%) !important;
	}

	.dtt-screen-quotations .dtt-quote-kpis .dtt-stat-card:hover,
	.dtt-screen-quotations .dtt-quote-kpis .dtt-stat-card:focus-visible,
	.dtt-screen-quotations .dtt-quote-kpis .dtt-stat-card:active,
	.dtt-screen-quotations .dtt-quote-kpis .dtt-stat-card:hover .dtt-stat-icon .dtt-ui-icon,
	.dtt-screen-quotations .dtt-quote-kpis .dtt-stat-card:focus-visible .dtt-stat-icon .dtt-ui-icon {
		transform: none !important;
	}
}

/* Quotation list dashboard parity v0.18.1. */
.dtt-screen-quotations .dtt-quotation-list-heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 4px 24px;
	margin-bottom: 14px;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

.dtt-screen-quotations .dtt-quotation-list-heading h1 {
	grid-column: 1;
	font-size: 28px;
	line-height: 1.12;
	letter-spacing: -0.02em;
}

.dtt-screen-quotations .dtt-quotation-list-heading p {
	grid-column: 1;
	margin: 2px 0 0;
	font-size: 12px;
}

.dtt-screen-quotations .dtt-quotation-list-heading .dtt-button {
	grid-column: 2;
	grid-row: 1 / span 2;
	gap: 7px;
	min-height: 42px;
}

.dtt-screen-quotations .dtt-quotation-list-heading .dtt-ui-icon,
.dtt-screen-quotations .dtt-quotation-list-filters .dtt-button .dtt-ui-icon,
.dtt-screen-quotations .dtt-inline-actions .dtt-ui-icon {
	width: 15px;
	height: 15px;
}

.dtt-screen-quotations .dtt-quotation-list-filters {
	grid-template-columns: minmax(260px, 1.35fr) repeat(3, minmax(135px, 0.72fr)) auto;
	gap: 10px;
	margin-bottom: 14px;
	padding: 12px;
}

.dtt-screen-quotations .dtt-quotation-list-filters.dtt-has-agent-filter {
	grid-template-columns: minmax(230px, 1.25fr) repeat(4, minmax(120px, 0.7fr)) auto;
}

.dtt-screen-quotations .dtt-quotation-list-filters input,
.dtt-screen-quotations .dtt-quotation-list-filters select,
.dtt-screen-quotations .dtt-quotation-list-filters .dtt-button {
	min-height: 40px;
	font-size: 12px;
}

.dtt-screen-quotations .dtt-quotation-list-filters .dtt-button {
	gap: 7px;
	padding-inline: 14px;
}

.dtt-screen-quotations .dtt-quote-kpis {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 14px;
}

.dtt-screen-quotations .dtt-quote-kpis .dtt-stat-card {
	min-height: 104px;
	padding: 15px 60px 14px 15px;
	border-color: #dce6f3;
	border-radius: 7px;
}

.dtt-screen-quotations .dtt-quote-kpis .dtt-stat-card strong {
	margin: 7px 0 4px;
	font-size: 22px;
	font-variant-numeric: tabular-nums;
}

.dtt-screen-quotations .dtt-quote-kpis .dtt-stat-card small {
	max-width: none;
	color: #56698f;
	font-size: 12px;
	font-weight: 500;
}

.dtt-screen-quotations .dtt-quote-kpis .dtt-stat-icon {
	top: 50%;
	right: 15px;
	bottom: auto;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	color: #176df0;
	background: #e2eeff;
	transform: translateY(-50%);
}

.dtt-screen-quotations .dtt-quote-kpis .dtt-stat-icon::after {
	display: none;
}

.dtt-screen-quotations .dtt-quote-kpis .dtt-stat-icon .dtt-ui-icon {
	width: 20px;
	height: 20px;
}

.dtt-screen-quotations .dtt-quote-kpis .dtt-stat-card-yellow .dtt-stat-icon {
	color: #db8a00;
	background: #fff1d9;
}

.dtt-screen-quotations .dtt-quote-kpis .dtt-stat-card-green .dtt-stat-icon {
	color: #079c83;
	background: #dff5ed;
}

.dtt-screen-quotations .dtt-quote-kpis .dtt-stat-card-red::before {
	background: #ef4a55;
}

.dtt-screen-quotations .dtt-quote-kpis .dtt-stat-card-red .dtt-stat-icon {
	color: #df3542;
	background: #ffe4e7;
}

.dtt-screen-quotations > .dtt-table-wrap {
	overflow-x: auto;
	overflow-y: hidden;
	border-color: #dce6f3;
	border-radius: 7px;
}

.dtt-quotation-list-table {
	min-width: 1040px;
	font-size: 12px;
}

.dtt-screen-quotations .dtt-quotation-list-table th {
	padding: 12px 13px;
	font-size: 12px;
	font-weight: 700;
}

.dtt-screen-quotations .dtt-quotation-list-table td {
	padding: 12px 13px;
	font-size: 12px;
}

.dtt-screen-quotations .dtt-quotation-list-table td:first-child strong {
	display: block;
	margin-bottom: 2px;
	color: #06205b;
	font-size: 12px;
}

.dtt-screen-quotations .dtt-quotation-list-table td small {
	font-size: 12px;
	line-height: 1.35;
}

.dtt-quotation-list-agent {
	font-weight: 600;
}

.dtt-quotation-list-total {
	color: #06205b;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.dtt-screen-quotations .dtt-inline-actions {
	display: flex;
	align-items: center;
	gap: 6px;
	white-space: nowrap;
}

.dtt-screen-quotations .dtt-inline-actions form {
	margin: 0;
}

.dtt-screen-quotations .dtt-inline-actions .dtt-button {
	gap: 5px;
	min-height: 36px;
	padding: 6px 9px;
	font-size: 12px;
}

@media (max-width: 1100px) {
	.dtt-screen-quotations .dtt-quotation-list-filters,
	.dtt-screen-quotations .dtt-quotation-list-filters.dtt-has-agent-filter {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

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

	.dtt-screen-quotations .dtt-quote-kpis .dtt-stat-card:first-child {
		grid-column: 1 / -1;
	}
}

@media (max-width: 700px) {
	.dtt-screen-quotations .dtt-quotation-list-heading {
		grid-template-columns: 1fr;
	}

	.dtt-screen-quotations .dtt-quotation-list-heading .dtt-button {
		grid-column: 1;
		grid-row: auto;
		justify-self: start;
		margin-top: 10px;
	}

	.dtt-screen-quotations .dtt-quotation-list-filters,
	.dtt-screen-quotations .dtt-quotation-list-filters.dtt-has-agent-filter,
	.dtt-screen-quotations .dtt-quote-kpis {
		grid-template-columns: 1fr;
	}

	.dtt-screen-quotations .dtt-quote-kpis .dtt-stat-card:first-child {
		grid-column: auto;
	}
}

@media print {
	.dtt-site-header,
	.dtt-site-footer,
	.dtt-dashboard-nav,
	.dtt-quote-actions,
	.dtt-status-form,
	.dtt-print-button {
		display: none !important;
	}

	body {
		background: #ffffff;
	}

	.dtt-page-shell {
		width: 100%;
		padding: 0;
	}

	.dtt-quote-shell {
		border: 0;
	}
}

/* Screenshot-faithful workspace system v0.17 */
:root {
	--dtt-mockup-navy: #001b4b;
	--dtt-mockup-ink: #06205b;
	--dtt-mockup-blue: #0a56d8;
	--dtt-mockup-teal: #00a89b;
	--dtt-mockup-bg: #f5f8fc;
	--dtt-mockup-line: #dce6f3;
	--dtt-mockup-muted: #56698f;
}

body.logged-in {
	background: var(--dtt-mockup-bg);
	color: var(--dtt-mockup-ink);
}

body.logged-in .dtt-site-header {
	min-height: 68px;
	padding: 0 22px;
	background: var(--dtt-mockup-navy);
	border: 0;
	border-radius: 0 0 7px 7px;
	box-shadow: none;
}

body.logged-in .dtt-brand img { width: 142px; max-height: 54px; object-fit: contain; }
body.logged-in .dtt-site-header > .dtt-dashboard-nav { min-height: 68px; }
body.logged-in .dtt-site-header > .dtt-dashboard-nav > a,
body.logged-in .dtt-site-header > .dtt-dashboard-nav .dtt-nav-trigger {
	min-width: 58px;
	min-height: 68px;
	padding: 7px 8px 5px;
	gap: 4px;
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	border-radius: 0;
}
body.logged-in .dtt-site-header > .dtt-dashboard-nav > a::before,
body.logged-in .dtt-site-header > .dtt-dashboard-nav .dtt-nav-trigger::before { font-size: 18px; line-height: 1; }
body.logged-in .dtt-site-header > .dtt-dashboard-nav > a.is-active,
body.logged-in .dtt-site-header > .dtt-dashboard-nav > a[aria-current="page"] { color: #00d9c8; background: transparent; box-shadow: inset 0 -3px 0 #00d9c8; }

.dtt-header-tools { gap: 5px; }
.dtt-header-tool-search,
.dtt-header-tool-notifications,
.dtt-user-menu-trigger {
	display: inline-grid;
	place-items: center;
	width: 34px;
	height: 34px;
	padding: 0;
	color: #fff;
	background: transparent;
	border: 0;
	border-radius: 6px;
}
.dtt-header-tool-notifications { position: relative; }
.dtt-header-tool-notifications .dtt-notification-count { position: absolute; top: -4px; right: -4px; min-width: 18px; height: 18px; padding: 0 5px; color: #fff; background: #d0142c; border-radius: 999px; font-size: 12px; font-weight: 700; line-height: 18px; text-align: center; }
.dtt-user-menu { position: relative; }
.dtt-user-menu-trigger { width: auto; grid-template-columns: 30px auto 12px; gap: 7px; font-size: 12px; text-align: left; }
.dtt-user-menu-trigger .dtt-user-avatar { display: grid; place-items: center; width: 30px; height: 30px; color: #fff; background: var(--dtt-mockup-teal-strong); border: 2px solid #f5c949; border-radius: 50%; font-weight: 800; }
.dtt-user-menu-panel { position: absolute; z-index: 20; top: calc(100% + 10px); right: 0; min-width: 170px; padding: 7px; background: #fff; border: 1px solid var(--dtt-mockup-line); border-radius: 8px; box-shadow: 0 14px 30px rgba(0,27,75,.16); }
.dtt-user-menu-panel a { display: flex; align-items: center; gap: 8px; padding: 9px 10px; color: var(--dtt-mockup-ink); border-radius: 5px; }

body.logged-in .dtt-page-shell { width: min(calc(100% - 34px), 1580px); padding: 22px 0 42px; }
.dtt-screen { min-width: 0; }
body.logged-in .dtt-page-heading,
body.logged-in .dtt-dashboard-hero {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 8px 20px;
	min-height: 64px;
	margin: 0 0 15px;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}
body.logged-in .dtt-page-heading > div { min-width: 0; }
body.logged-in .dtt-page-heading h1,
body.logged-in .dtt-dashboard-hero h1 { margin: 0; color: var(--dtt-mockup-ink); font-size: clamp(24px, 2vw, 31px); line-height: 1.12; letter-spacing: -.025em; }
body.logged-in .dtt-page-heading p,
body.logged-in .dtt-dashboard-hero p { grid-column: 1; margin: 4px 0 0; color: var(--dtt-mockup-muted); font-size: 12px; }
body.logged-in .dtt-page-heading > .dtt-button { grid-column: 2; grid-row: 1 / span 2; }
body.logged-in .dtt-eyebrow { color: var(--dtt-teal-text); font-size: 12px; letter-spacing: .08em; }

body.logged-in .dtt-button {
	min-height: 42px;
	padding: 8px 15px;
	gap: 7px;
	border-radius: 5px;
	font-size: 12px;
	font-weight: 700;
	box-shadow: none;
}
body.logged-in .dtt-button-primary { color: #fff; background: var(--dtt-mockup-teal-strong); border-color: var(--dtt-mockup-teal-strong); }
body.logged-in .dtt-button-primary:hover,
body.logged-in .dtt-button-primary:focus { color: #fff; background: var(--dtt-mockup-teal-strong-hover); border-color: var(--dtt-mockup-teal-strong-hover); }
body.logged-in .dtt-button-primary:active { background: var(--dtt-mockup-teal-strong-active); border-color: var(--dtt-mockup-teal-strong-active); }
body.logged-in .dtt-button-secondary { color: #0a4abb; background: #fff; border-color: #ccd9eb; }
body.logged-in .dtt-button-danger { color: #c62832; background: #fff5f5; border-color: #ffd0d3; }
.dtt-icon,
.dtt-ui-icon { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.dtt-icon-button { display: inline-grid; place-items: center; width: 31px; height: 31px; padding: 0; color: #0955ce; background: #fff; border: 1px solid #d5e0ef; border-radius: 5px; cursor: pointer; }
.dtt-icon-button-danger { color: #c62832; }

body.logged-in input,
body.logged-in select,
body.logged-in textarea,
body.logged-in .select2-container .select2-selection--single {
	min-height: 36px;
	color: var(--dtt-mockup-ink);
	background: #fff;
	border: 1px solid #d7e2f0;
	border-radius: 5px;
	box-shadow: none;
	font-size: 12px;
}
body.logged-in label > span { margin-bottom: 6px; color: var(--dtt-mockup-ink); font-size: 12px; font-weight: 700; }
body.logged-in .dtt-form-section,
body.logged-in .dtt-dashboard-card,
body.logged-in .dtt-content-panel,
body.logged-in .dtt-table-wrap,
.dtt-list-filters {
	background: #fff;
	border: 1px solid var(--dtt-mockup-line);
	border-radius: 7px;
	box-shadow: 0 2px 7px rgba(0,27,75,.035);
}
body.logged-in .dtt-form-section { padding: 16px; }
body.logged-in .dtt-form-section h2,
body.logged-in .dtt-dashboard-card h2 { color: var(--dtt-mockup-ink); font-size: 13px; }

.dtt-list-filters { display: grid; grid-template-columns: minmax(260px,1.4fr) repeat(3,minmax(140px,.75fr)) auto; gap: 12px; margin: 0 0 14px; padding: 14px; }
.dtt-filter-search { position: relative; }
.dtt-filter-search > .dtt-icon { position: absolute; z-index: 1; top: 10px; left: 11px; color: #5d78a5; }
.dtt-filter-search input { width: 100%; padding-left: 35px; }
.dtt-quote-kpis { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-bottom: 14px; }
body.logged-in .dtt-stat-card { min-height: 86px; padding: 15px; border: 1px solid var(--dtt-mockup-line); border-radius: 7px; box-shadow: none; }
body.logged-in .dtt-stat-card strong { color: var(--dtt-mockup-ink); font-size: 24px; }
body.logged-in .dtt-stat-card::before { width: 3px; }

body.logged-in .dtt-table-wrap { overflow: hidden; }
body.logged-in .dtt-table { font-size: 12px; }
body.logged-in .dtt-table th { padding: 12px 13px; color: var(--dtt-mockup-ink); background: #fbfcfe; border-bottom: 1px solid var(--dtt-mockup-line); font-size: 12px; text-transform: none; letter-spacing: 0; }
body.logged-in .dtt-table td { padding: 11px 13px; color: #294270; border-bottom: 1px solid #e7edf5; }
body.logged-in .dtt-table tr:last-child td { border-bottom: 0; }
body.logged-in .dtt-status { padding: 3px 7px; border-radius: 4px; font-size: 12px; font-weight: 800; }

.dtt-builder-steps { display: grid; grid-template-columns: repeat(6,1fr); gap: 8px; margin: 0 0 12px; padding: 10px 14px; background: #fff; border: 1px solid var(--dtt-mockup-line); border-radius: 7px; }
.dtt-builder-steps span { display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 36px; color: #55709d; border: 1px solid #dbe4f0; border-radius: 5px; font-size: 12px; font-weight: 700; }
.dtt-builder-steps span::after { content: "›"; position: absolute; margin-left: calc(16.66vw - 8px); color: #c2ccdc; }
.dtt-builder-steps span:last-child::after { display: none; }
.dtt-builder-steps b { display: grid; place-items: center; width: 20px; height: 20px; border: 1px solid currentColor; border-radius: 50%; }
.dtt-builder-steps .is-active { color: #fff; background: #0d4fac; border-color: #0d4fac; }
.dtt-builder-layout { display: grid; grid-template-columns: minmax(0,1fr) 250px; gap: 10px; align-items: start; }
.dtt-builder-layout > * { grid-column: 1; }
.dtt-builder-layout > .dtt-builder-summary { grid-column: 2; grid-row: 1 / span 3; position: sticky; top: 82px; }
.dtt-builder-layout > .dtt-form-actions { grid-column: 1 / -1; }
.dtt-builder-summary .dtt-grid { grid-template-columns: 1fr; }

.dtt-dashboard-grid-main { grid-template-columns: minmax(0,1.7fr) minmax(260px,.8fr); }
.dtt-dashboard-lower-grid { display: grid; grid-template-columns: 200px 240px minmax(0,1fr); gap: 12px; margin-top: 12px; }
.dtt-date-chip { display: inline-flex; align-items: center; gap: 8px; padding: 9px 12px; color: #57709a; background: #fff; border: 1px solid var(--dtt-mockup-line); border-radius: 5px; font-size: 12px; }
.dtt-quick-action-list { display: grid; gap: 7px; }
.dtt-quick-action-list a { display: grid; grid-template-columns: 18px 1fr 16px; align-items: center; gap: 7px; padding: 9px; color: var(--dtt-mockup-ink); border: 1px solid var(--dtt-mockup-line); border-radius: 5px; font-size: 12px; font-weight: 700; }
.dtt-rotate-left { transform: rotate(-90deg); }

.dtt-tour-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-top: 14px; }
.dtt-tour-card { overflow: hidden; background: #fff; border: 1px solid var(--dtt-mockup-line); border-radius: 8px; box-shadow: 0 3px 10px rgba(0,27,75,.06); }
.dtt-tour-card-media { position: relative; min-height: 172px; background: #dfe9f4 center / cover no-repeat; }
.dtt-tour-card-media .dtt-status { position: absolute; top: 10px; right: 10px; }
.dtt-tour-duration { position: absolute; bottom: 8px; left: 9px; padding: 3px 7px; color: #fff; background: #00112d; border-radius: 4px; font-size: 12px; font-weight: 800; }
.dtt-tour-card-body { padding: 11px 12px 9px; }
.dtt-tour-card h3 { margin: 0 0 3px; color: var(--dtt-mockup-ink); font-size: 14px; }
.dtt-tour-card p { margin: 0; color: var(--dtt-mockup-muted); font-size: 12px; }
.dtt-tour-card-meta { display: flex; align-items: end; justify-content: space-between; gap: 10px; margin-top: 12px; color: #536d98; font-size: 12px; }
.dtt-tour-card-meta span { display: inline-flex; align-items: center; gap: 5px; }
.dtt-tour-card-meta strong { color: var(--dtt-teal-text); font-size: 16px; text-align: right; }
.dtt-tour-card-meta small { display: block; color: var(--dtt-mockup-muted); font-size: 12px; font-weight: 500; }
.dtt-tour-card-actions { display: flex; align-items: center; justify-content: space-around; min-height: 40px; border-top: 1px solid var(--dtt-mockup-line); }
.dtt-tour-card-actions form { margin: 0; }

.dtt-management-editor-layout { display: grid; grid-template-columns: minmax(0,1fr) 260px; gap: 12px; align-items: start; }
.dtt-management-editor-layout > * { grid-column: 1; }
.dtt-management-editor-layout > .dtt-editor-sidebar { display: block; grid-column: 2; grid-row: 1 / span 2; min-height: 190px; background: #fff; border: 1px solid var(--dtt-mockup-line); border-radius: 7px; }
.dtt-management-editor-layout > .dtt-editor-sidebar::before { content: "Publish Controls"; display: block; padding: 15px; color: var(--dtt-mockup-ink); font-size: 12px; font-weight: 800; border-bottom: 1px solid var(--dtt-mockup-line); }

.dtt-quote-detail-layout { display: grid; grid-template-columns: 220px minmax(0,1fr) 250px; gap: 12px; padding: 0; background: transparent; border: 0; box-shadow: none; }
.dtt-quote-detail-layout > .dtt-quote-header { grid-column: 1 / -1; }
.dtt-quote-detail-layout > .dtt-status-form { grid-column: 1; grid-row: 2; }
.dtt-quote-detail-layout > .dtt-quote-detail-sidebar { grid-column: 1; display: grid; grid-template-columns: 1fr; }
.dtt-quote-detail-layout > .dtt-quote-section { grid-column: 2; }
.dtt-quote-detail-layout > .dtt-quote-section:last-child { grid-column: 3; grid-row: 2 / span 5; }
.dtt-quote-detail-layout > *:not(.dtt-quote-header) { margin: 0; padding: 15px; background: #fff; border: 1px solid var(--dtt-mockup-line); border-radius: 7px; }
.dtt-quote-header { padding: 0 0 14px; background: transparent; border-bottom: 1px solid var(--dtt-mockup-line); }
.dtt-quote-header > img { display: none; }

@media (max-width: 1000px) {
	.dtt-list-filters { grid-template-columns: 1fr 1fr; }
	.dtt-tour-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.dtt-builder-layout,
	.dtt-management-editor-layout,
	.dtt-quote-detail-layout { grid-template-columns: 1fr; }
	.dtt-builder-layout > *, .dtt-management-editor-layout > *, .dtt-quote-detail-layout > * { grid-column: 1 !important; grid-row: auto !important; position: static !important; }
	.dtt-management-editor-layout > .dtt-editor-sidebar { display: none; }
	.dtt-dashboard-lower-grid { grid-template-columns: 1fr 1fr; }
}

/* Dashboard header and quotation refinements v0.17.2. */
body.logged-in .dtt-site-header {
	grid-template-columns: 170px minmax(0, 1fr) auto;
}

body.logged-in .dtt-brand img {
	width: 156px;
	max-height: 50px;
	background: transparent;
	border-radius: 0;
}

body.logged-in .dtt-site-header > .dtt-dashboard-nav {
	justify-content: flex-end;
	gap: 4px;
}

body.logged-in .dtt-site-header > .dtt-dashboard-nav > a,
body.logged-in .dtt-site-header > .dtt-dashboard-nav .dtt-nav-trigger {
	padding-inline: 12px;
	font-size: 12px;
}

.dtt-recent-quotations-card .dtt-section-header h2 {
	font-size: 14px;
}

.dtt-recent-quotations-card .dtt-table {
	font-size: 12px;
}

.dtt-recent-quotations-card .dtt-table th {
	font-size: 12px;
}

.dtt-recent-quotations-card .dtt-table td {
	padding-block: 11px;
	font-size: 12px;
}

.dtt-recent-quotations-card .dtt-table td:first-child a {
	font-size: 12px;
	font-weight: 600;
}

.dtt-quotation-agent {
	font-weight: 600;
}

.dtt-quotation-total {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.dtt-dashboard-overview .dtt-button .dtt-ui-icon {
	width: 15px;
	height: 15px;
}

@media (max-width: 1100px) {
	body.logged-in .dtt-site-header {
		grid-template-columns: 132px minmax(0, 1fr) auto;
	}

	body.logged-in .dtt-brand img {
		width: 122px;
	}

	body.logged-in .dtt-site-header > .dtt-dashboard-nav > a,
	body.logged-in .dtt-site-header > .dtt-dashboard-nav .dtt-nav-trigger {
		padding-inline: 8px;
		font-size: 12px;
	}
}

/* Final visual QA: mobile nav strip start and header/hero contrast. */
@media (max-width: 1100px) {
	/* The strip scrolls here; never push overflowing items out of reach on the left (plain flex-end is the fallback). */
	body.logged-in .dtt-site-header > .dtt-dashboard-nav {
		justify-content: safe flex-end;
	}
}

@media (max-width: 820px) {
	/* Phones: the strip has its own row, so start at the left edge with Dashboard visible. */
	body.logged-in .dtt-site-header > .dtt-dashboard-nav {
		justify-content: flex-start;
	}
}

/* .dtt-header-nav a (ink) outranks .dtt-header-tool-search; keep the header tools white on navy. */
body.logged-in .dtt-header-tools > .dtt-header-tool:not(:hover) {
	color: #fff;
}

/* The hero sits on the light page background; the old pale yellow label failed WCAG AA. */
body.logged-in .dtt-dashboard-hero .dtt-eyebrow {
	color: #007a70;
}

/* Dashboard logo and quotation legibility refinement v0.17.3. */
body.logged-in .dtt-site-header {
	grid-template-columns: 74px minmax(0, 1fr) auto;
}

body.logged-in .dtt-brand {
	min-width: 0;
}

body.logged-in .dtt-brand img {
	width: 58px;
	height: 58px;
	max-height: 58px;
	object-fit: contain;
	background: transparent;
	border-radius: 0;
}

.dtt-dashboard-overview .dtt-recent-quotations-card .dtt-section-header h2 {
	font-size: 16px;
	line-height: 1.25;
}

.dtt-dashboard-overview .dtt-recent-quotations-card .dtt-table {
	font-size: 12px;
}

.dtt-dashboard-overview .dtt-recent-quotations-card .dtt-table th {
	font-size: 12px;
}

.dtt-dashboard-overview .dtt-recent-quotations-card .dtt-table td,
.dtt-dashboard-overview .dtt-recent-quotations-card .dtt-table td:first-child a {
	font-size: 12px;
}

.dtt-dashboard-overview .dtt-recent-quotations-card .dtt-table td.dtt-quotation-total {
	color: #06205b;
	font-size: 12px;
	font-weight: 700 !important;
	font-variant-numeric: tabular-nums;
}

@media (max-width: 1100px) {
	body.logged-in .dtt-site-header {
		grid-template-columns: 66px minmax(0, 1fr) auto;
	}

	body.logged-in .dtt-brand img {
		width: 52px;
		height: 52px;
	}
}

@media (max-width: 720px) {
	.dtt-builder-steps { grid-template-columns: repeat(2,1fr); }
	.dtt-builder-steps span::after { display: none; }
	.dtt-quote-kpis, .dtt-tour-card-grid, .dtt-dashboard-lower-grid, .dtt-list-filters { grid-template-columns: 1fr; }
}

/* Dashboard reference fidelity pass. */
.dtt-dashboard-overview .dtt-stat-grid {
	gap: 10px;
	margin-bottom: 12px;
}

.dtt-dashboard-overview .dtt-stat-card {
	min-height: 104px;
	padding: 15px 64px 14px 15px;
	border-color: #dce6f3;
	border-radius: 7px;
}

.dtt-dashboard-overview .dtt-stat-card strong {
	margin: 8px 0 5px;
	font-size: 22px;
	font-variant-numeric: tabular-nums;
}

.dtt-dashboard-overview .dtt-stat-card small {
	max-width: none;
	color: #56698f;
	font-size: 12px;
	font-weight: 500;
}

.dtt-dashboard-overview .dtt-stat-icon {
	top: 50%;
	right: 17px;
	bottom: auto;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	color: #176df0;
	background: #e2eeff;
	transform: translateY(-50%);
}

.dtt-dashboard-overview .dtt-stat-icon::after {
	display: none;
}

.dtt-dashboard-overview .dtt-stat-icon .dtt-ui-icon {
	display: block;
	width: 20px;
	height: 20px;
}

.dtt-dashboard-overview .dtt-stat-card-teal .dtt-stat-icon {
	color: #079c83;
	background: #dff5ed;
}

.dtt-dashboard-overview .dtt-stat-card-green .dtt-stat-icon {
	color: #02a7aa;
	background: #dcf5f4;
}

.dtt-dashboard-overview .dtt-stat-card-yellow .dtt-stat-icon {
	color: #f39a14;
	background: #fff1d9;
}

.dtt-dashboard-overview .dtt-dashboard-grid-main {
	grid-template-columns: minmax(0, 1.7fr) minmax(300px, .8fr);
	gap: 12px;
	margin-bottom: 12px;
}

.dtt-dashboard-overview .dtt-chart-card,
.dtt-dashboard-overview .dtt-dashboard-grid-main > .dtt-dashboard-card {
	min-height: 300px;
	padding: 15px;
}

.dtt-dashboard-overview .dtt-bar-chart {
	position: relative;
	min-height: 230px;
	gap: 12px;
	padding: 22px 8px 0;
	background: repeating-linear-gradient(to bottom, transparent 0, transparent 44px, #e8eef6 45px);
}

.dtt-dashboard-overview .dtt-bar-item {
	position: relative;
	z-index: 1;
	justify-items: center;
	gap: 6px;
}

.dtt-dashboard-overview .dtt-bar-track {
	width: 44px;
	height: 168px;
	background: transparent;
	border-radius: 5px 5px 2px 2px;
}

.dtt-dashboard-overview .dtt-bar-track span {
	background: linear-gradient(180deg, #49c5c6, #00a99d);
	border-radius: 5px 5px 2px 2px;
}

.dtt-dashboard-overview .dtt-bar-item strong {
	font-size: 12px;
}

.dtt-dashboard-overview .dtt-bar-item small {
	font-size: 12px;
}

.dtt-dashboard-overview .dtt-status-chart {
	grid-template-columns: 132px minmax(0, 1fr);
	gap: 16px;
	min-height: 230px;
	padding-top: 20px;
}

.dtt-dashboard-overview .dtt-donut {
	width: 132px;
}

.dtt-dashboard-overview .dtt-donut::after {
	inset: 23px;
}

.dtt-dashboard-overview .dtt-donut span {
	font-size: 22px;
}

.dtt-dashboard-overview .dtt-status-list div {
	padding: 9px 0;
}

.dtt-dashboard-overview .dtt-dashboard-lower-grid {
	grid-template-columns: 170px 205px minmax(0, 1fr);
	gap: 10px;
	margin-top: 0;
}

.dtt-dashboard-overview .dtt-dashboard-lower-grid > .dtt-dashboard-card {
	padding: 14px;
}

.dtt-dashboard-overview .dtt-sales-rankings-section {
	margin-bottom: 12px;
	padding: 15px;
}

.dtt-dashboard-overview .dtt-sales-rankings-section .dtt-section-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 14px;
}

.dtt-dashboard-overview .dtt-sales-rankings-section .dtt-section-header p {
	margin: 4px 0 0;
	color: var(--dtt-mockup-muted);
	font-size: 12px;
}

.dtt-dashboard-overview .dtt-sales-period-form {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.dtt-dashboard-overview .dtt-sales-period-form label {
	color: #486282;
	font-size: 12px;
	font-weight: 600;
}

.dtt-dashboard-overview .dtt-sales-period-form select {
	min-width: 150px;
}

.dtt-dashboard-overview .dtt-sales-ranking-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 12px;
}

.dtt-dashboard-overview .dtt-agent-ranking-card {
	display: grid;
	gap: 12px;
	padding: 14px;
	border: 1px solid #e5edf7;
	border-radius: 16px;
	background: #fbfdff;
	min-width: 0;
}

.dtt-dashboard-overview .dtt-agent-ranking-card .dtt-section-header {
	margin-bottom: 0;
}

.dtt-dashboard-overview .dtt-agent-ranking-card h3 {
	margin: 0;
	font-size: 13px;
}

.dtt-dashboard-overview .dtt-agent-ranking-table-wrap {
	overflow-x: auto;
}

.dtt-dashboard-overview .dtt-agent-ranking-table {
	width: 100%;
	min-width: 420px;
}

.dtt-dashboard-overview .dtt-agent-ranking-table th,
.dtt-dashboard-overview .dtt-agent-ranking-table td {
	padding: 9px 10px;
	font-size: 12px;
	white-space: nowrap;
}

@media (max-width: 900px) {
	.dtt-dashboard-overview .dtt-sales-ranking-grid {
		grid-template-columns: 1fr;
	}
}
.dtt-dashboard-overview .dtt-catalog-list {
	gap: 0;
}

.dtt-dashboard-overview .dtt-catalog-list a {
	grid-template-columns: 30px 1fr auto;
	gap: 8px;
	padding: 10px 0;
}

.dtt-quick-stat-icon {
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	color: #06a4a5;
	background: #e1f6f5;
	border-radius: 50%;
}

.dtt-quick-stat-icon .dtt-ui-icon {
	width: 15px;
	height: 15px;
}

.dtt-dashboard-overview .dtt-catalog-list .dtt-quick-stat-copy {
	display: grid;
	gap: 2px;
	color: #06205b;
}

.dtt-dashboard-overview .dtt-catalog-list .dtt-quick-stat-copy b {
	font-size: 12px;
}

.dtt-dashboard-overview .dtt-catalog-list .dtt-quick-stat-copy small {
	color: var(--dtt-mockup-muted);
	font-size: 12px;
	font-weight: 500;
}

.dtt-dashboard-overview .dtt-catalog-list > a > strong {
	font-size: 14px;
}

.dtt-dashboard-overview .dtt-quick-action-list {
	gap: 6px;
	margin-top: 12px;
}

.dtt-dashboard-overview .dtt-quick-action-list a {
	min-height: 34px;
	padding: 7px 9px;
	font-size: 12px;
}

.dtt-dashboard-overview .dtt-dashboard-lower-grid .dtt-table th,
.dtt-dashboard-overview .dtt-dashboard-lower-grid .dtt-table td {
	padding: 9px 10px;
	font-size: 12px;
}

@media (max-width: 1000px) {
	.dtt-dashboard-overview .dtt-dashboard-lower-grid {
		grid-template-columns: 1fr 1fr;
	}

	.dtt-dashboard-overview .dtt-dashboard-lower-grid > :last-child {
		grid-column: 1 / -1;
	}
}

/* Balanced application motion system v0.18.0. */
:root {
	--dtt-motion-fast: 140ms;
	--dtt-motion-standard: 200ms;
	--dtt-motion-enter: 360ms;
	--dtt-motion-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

html.dtt-motion-capable body:not(.dtt-motion-ready) .dtt-motion-item {
	opacity: 0;
	transform: translateY(10px);
}

html.dtt-motion-capable body.dtt-motion-ready .dtt-motion-item {
	animation: dtt-element-enter var(--dtt-motion-enter) var(--dtt-motion-ease) both;
	animation-delay: calc(var(--dtt-motion-order, 0) * 36ms);
}

@keyframes dtt-element-enter {
	from {
		opacity: 0;
		transform: translateY(10px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

a,
.dtt-nav-icon,
.dtt-ui-icon,
.dtt-user-avatar,
.dtt-brand img {
	transition: color var(--dtt-motion-fast) ease-out,
		background-color var(--dtt-motion-fast) ease-out,
		border-color var(--dtt-motion-fast) ease-out,
		transform var(--dtt-motion-standard) var(--dtt-motion-ease),
		opacity var(--dtt-motion-fast) ease-out;
}

.dtt-button,
.dtt-icon-button,
button.dtt-nav-trigger {
	transition: transform var(--dtt-motion-fast) var(--dtt-motion-ease),
		background-color var(--dtt-motion-fast) ease-out,
		border-color var(--dtt-motion-fast) ease-out,
		color var(--dtt-motion-fast) ease-out,
		box-shadow var(--dtt-motion-standard) ease-out;
}

.dtt-button:not(:disabled):not([aria-disabled="true"]):hover {
	transform: translateY(-2px);
	box-shadow: 0 9px 20px rgba(6, 22, 56, 0.13);
}

.dtt-icon-button:not(:disabled):not([aria-disabled="true"]):hover {
	transform: translateY(-2px) scale(1.04);
	border-color: #9fc2ed;
	box-shadow: 0 6px 14px rgba(6, 22, 56, 0.11);
}

.dtt-button:not(:disabled):not([aria-disabled="true"]):hover .dtt-ui-icon,
.dtt-icon-button:not(:disabled):not([aria-disabled="true"]):hover .dtt-ui-icon {
	transform: translateX(1px) scale(1.06);
}

.dtt-button:not(:disabled):not([aria-disabled="true"]):active,
.dtt-icon-button:not(:disabled):not([aria-disabled="true"]):active,
button.dtt-nav-trigger:active {
	transform: translateY(1px) scale(0.99);
	transition-duration: 80ms;
}

.dtt-button:disabled,
.dtt-button[aria-disabled="true"],
.dtt-icon-button:disabled,
.dtt-icon-button[aria-disabled="true"] {
	transform: none;
	box-shadow: none;
}

.dtt-dashboard-card,
.dtt-stat-card,
.dtt-content-panel,
.dtt-form-section,
.dtt-tour-card,
.dtt-day-card,
.dtt-quote-detail-card,
.dtt-editor-main > *,
.dtt-editor-sidebar > * {
	transition: transform var(--dtt-motion-standard) var(--dtt-motion-ease),
		border-color var(--dtt-motion-standard) ease-out,
		box-shadow var(--dtt-motion-standard) ease-out;
}

.dtt-dashboard-card:hover,
.dtt-stat-card:hover,
.dtt-content-panel:hover,
.dtt-form-section:hover,
.dtt-day-card:hover,
.dtt-quote-detail-card:hover {
	transform: translateY(-2px);
	border-color: #c7d7e9;
	box-shadow: 0 10px 24px rgba(6, 22, 56, 0.09);
}

.dtt-tour-card:hover {
	transform: translateY(-3px);
	border-color: #b8d8df;
	box-shadow: 0 13px 28px rgba(6, 22, 56, 0.12);
}

.dtt-photo-thumb-link img,
.dtt-photo-edit-item,
.dtt-catalog-list a,
.dtt-quick-action-list a {
	transition: transform var(--dtt-motion-standard) var(--dtt-motion-ease),
		background-color var(--dtt-motion-fast) ease-out,
		border-color var(--dtt-motion-fast) ease-out,
		box-shadow var(--dtt-motion-standard) ease-out;
}

.dtt-photo-thumb-link:hover img,
.dtt-photo-thumb-link:focus-visible img {
	transform: scale(1.025);
}

.dtt-catalog-list a:hover,
.dtt-quick-action-list a:hover {
	transform: translateX(2px);
	background: #f2fbfa;
}

body.logged-in .dtt-site-header > .dtt-dashboard-nav > a,
body.logged-in .dtt-site-header > .dtt-dashboard-nav .dtt-nav-trigger,
.dtt-header-tool,
.dtt-user-menu-trigger {
	transition: color var(--dtt-motion-fast) ease-out,
		background-color var(--dtt-motion-fast) ease-out,
		transform var(--dtt-motion-standard) var(--dtt-motion-ease);
}

body.logged-in .dtt-site-header > .dtt-dashboard-nav > a:hover,
body.logged-in .dtt-site-header > .dtt-dashboard-nav .dtt-nav-trigger:hover,
.dtt-header-tool:hover,
.dtt-user-menu-trigger:hover {
	transform: translateY(-1px);
}

body.logged-in .dtt-site-header > .dtt-dashboard-nav > a:hover .dtt-nav-icon,
body.logged-in .dtt-site-header > .dtt-dashboard-nav .dtt-nav-trigger:hover .dtt-nav-icon,
.dtt-header-tool:hover .dtt-ui-icon {
	transform: translateY(-1px) scale(1.08);
}

.dtt-brand:hover img {
	transform: scale(1.025);
}

.dtt-table tbody tr {
	transition: background-color var(--dtt-motion-standard) ease-out;
}

.dtt-table tbody tr:hover {
	background: #effaf9;
}

.dtt-table tbody td a {
	transition: color var(--dtt-motion-fast) ease-out,
		text-shadow var(--dtt-motion-fast) ease-out;
}

.dtt-table tbody td a:hover {
	color: #067f78;
	text-shadow: 0 0 0.01px currentColor;
}

body.logged-in input,
body.logged-in select,
body.logged-in textarea,
body.logged-in .select2-selection {
	transition: border-color var(--dtt-motion-fast) ease-out,
		background-color var(--dtt-motion-fast) ease-out,
		box-shadow var(--dtt-motion-standard) ease-out;
}

body.logged-in input:hover,
body.logged-in select:hover,
body.logged-in textarea:hover,
body.logged-in .select2-selection:hover {
	border-color: #aebfd6;
}

body.logged-in input:focus,
body.logged-in select:focus,
body.logged-in textarea:focus,
body.logged-in .select2-container--open .select2-selection {
	box-shadow: 0 0 0 3px rgba(10, 169, 159, 0.14), 0 5px 14px rgba(6, 22, 56, 0.06);
}

@media (prefers-reduced-motion: reduce) {
	html.dtt-motion-capable body .dtt-motion-item {
		opacity: 1 !important;
		transform: none !important;
		animation: none !important;
		transition: none !important;
	}

	.dtt-button,
	.dtt-icon-button,
	.dtt-dashboard-card,
	.dtt-stat-card,
	.dtt-content-panel,
	.dtt-form-section,
	.dtt-tour-card,
	.dtt-day-card,
	.dtt-quote-detail-card,
	.dtt-nav-icon,
	.dtt-ui-icon,
	.dtt-brand img,
	.dtt-table tbody tr,
	body.logged-in input,
	body.logged-in select,
	body.logged-in textarea {
		transform: none !important;
		transition: none !important;
	}
}

/* Quotation builder authority layer: keep the reference layout above legacy form rules. */
body.logged-in .dtt-reference-builder .dtt-builder-heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: start;
	gap: 18px;
}

body.logged-in .dtt-reference-builder .dtt-builder-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 270px;
	align-items: start;
	gap: 14px;
}

body.logged-in .dtt-reference-builder .dtt-builder-layout > .dtt-builder-main {
	grid-column: 1;
	grid-row: 1;
}

body.logged-in .dtt-reference-builder .dtt-builder-layout > .dtt-builder-summary {
	grid-column: 2;
	grid-row: 1;
	position: sticky;
	top: 82px;
	padding: 14px;
}

body.logged-in .dtt-reference-builder .dtt-builder-section {
	padding: 13px 14px;
	border: 1px solid #d9e3f0;
	border-radius: 8px;
	background: #fff;
}

body.logged-in .dtt-reference-builder .dtt-builder-steps span {
	justify-content: flex-start;
}

.dtt-reference-builder [data-dtt-step-panel][hidden] {
	display: none !important;
}

body.logged-in .dtt-reference-builder .dtt-builder-steps button {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 7px;
	min-width: 0;
	min-height: 36px;
	padding: 0 12px;
	color: #55709d;
	background: #fff;
	border: 1px solid var(--dtt-builder-line);
	border-radius: 5px;
	font: inherit;
	font-size: 12px;
	font-weight: 700;
	white-space: nowrap;
	cursor: pointer;
	transition: color var(--dtt-motion-fast) ease-out,
		background-color var(--dtt-motion-fast) ease-out,
		border-color var(--dtt-motion-fast) ease-out,
		transform var(--dtt-motion-fast) ease-out;
}

body.logged-in .dtt-reference-builder .dtt-builder-steps button > span {
	position: static;
	display: inline;
	min-height: 0;
	padding: 0;
	color: inherit;
	background: transparent;
	border: 0;
	border-radius: 0;
	font: inherit;
	white-space: nowrap;
}

body.logged-in .dtt-reference-builder .dtt-builder-steps button > span::after {
	content: none;
	display: none;
}

body.logged-in .dtt-reference-builder .dtt-builder-steps button::after {
	content: "›";
	position: absolute;
	right: -8px;
	z-index: 2;
	color: #bcc8da;
	font-size: 17px;
}

body.logged-in .dtt-reference-builder .dtt-builder-steps button:last-child::after {
	display: none;
}

body.logged-in .dtt-reference-builder .dtt-builder-steps button:disabled {
	color: #52668a;
	background: #fbfcfe;
	cursor: not-allowed;
	opacity: 1;
}

body.logged-in .dtt-reference-builder .dtt-builder-steps button:not(:disabled):hover,
body.logged-in .dtt-reference-builder .dtt-builder-steps button:not(:disabled):focus-visible {
	color: var(--dtt-builder-blue);
	border-color: #89abd8;
	transform: translateY(-1px);
}

body.logged-in .dtt-reference-builder .dtt-builder-steps button.is-active,
body.logged-in .dtt-reference-builder .dtt-builder-steps button.is-active:not(:disabled):hover,
body.logged-in .dtt-reference-builder .dtt-builder-steps button.is-active:not(:disabled):focus-visible {
	color: #fff;
	background: var(--dtt-builder-blue);
	border-color: var(--dtt-builder-blue);
	opacity: 1;
}

body.logged-in .dtt-reference-builder .dtt-builder-steps button.is-complete b {
	color: #fff;
	background: var(--dtt-teal);
	border-color: var(--dtt-teal);
}

.dtt-reference-builder .dtt-builder-wizard-nav {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 12px;
	min-height: 52px;
	padding: 8px 2px 2px;
}

.dtt-reference-builder .dtt-builder-wizard-nav [hidden] {
	display: none !important;
}

.dtt-reference-builder .dtt-builder-wizard-nav [data-dtt-wizard-previous] {
	justify-self: start;
}

.dtt-reference-builder .dtt-builder-wizard-nav [data-dtt-wizard-next] {
	justify-self: end;
}

.dtt-reference-builder .dtt-builder-wizard-nav [data-dtt-wizard-status] {
	color: #52668a;
	font-size: 12px;
	font-weight: 700;
}

.dtt-reference-builder .dtt-icon-forward {
	transform: rotate(180deg);
}

.dtt-reference-builder .dtt-review-intro {
	margin: -2px 0 12px;
	color: #52668a;
	font-size: 12px;
}

.dtt-reference-builder .dtt-review-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 12px;
}

.dtt-reference-builder .dtt-review-card {
	min-width: 0;
	padding: 12px;
	background: #f9fbfd;
	border: 1px solid var(--dtt-builder-line);
	border-radius: 7px;
}

.dtt-reference-builder .dtt-review-card-wide {
	grid-column: span 3;
}

.dtt-reference-builder .dtt-review-card-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 8px;
}

.dtt-reference-builder .dtt-review-card-heading h3 {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	color: var(--dtt-navy);
	font-size: 12px;
}

.dtt-reference-builder .dtt-review-card-heading h3 .dtt-ui-icon {
	width: 15px;
	height: 15px;
	color: var(--dtt-teal);
}

.dtt-reference-builder .dtt-review-card-heading button {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 4px 6px;
	color: var(--dtt-builder-blue);
	background: #fff;
	border: 1px solid #cbd9eb;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
	transition: color var(--dtt-motion-fast) ease-out,
		border-color var(--dtt-motion-fast) ease-out,
		transform var(--dtt-motion-fast) ease-out;
}

.dtt-reference-builder .dtt-review-card-heading button:hover,
.dtt-reference-builder .dtt-review-card-heading button:focus-visible {
	color: #fff;
	background: var(--dtt-builder-blue);
	border-color: var(--dtt-builder-blue);
	transform: translateY(-1px);
}

.dtt-reference-builder .dtt-review-card-heading button .dtt-ui-icon {
	width: 12px;
	height: 12px;
}

.dtt-reference-builder .dtt-review-card-content {
	display: grid;
	gap: 0;
}

.dtt-reference-builder .dtt-review-card-content > div {
	display: flex;
	align-items: start;
	justify-content: space-between;
	gap: 12px;
	padding: 6px 0;
	border-top: 1px solid #e7edf5;
	font-size: 12px;
}

.dtt-reference-builder .dtt-review-card-content > div:first-child {
	border-top: 0;
}

.dtt-reference-builder .dtt-review-card-content span {
	color: var(--dtt-mockup-muted);
}

.dtt-reference-builder .dtt-review-card-content strong {
	max-width: 68%;
	color: var(--dtt-navy);
	font-weight: 700;
	text-align: right;
	overflow-wrap: anywhere;
}

.dtt-reference-builder .dtt-review-confirmation label {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	min-width: 0;
	margin: 0;
}

.dtt-reference-builder .dtt-review-confirmation label input {
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	margin-top: 1px;
}

body.logged-in .dtt-reference-builder .dtt-builder-section:hover,
body.logged-in .dtt-reference-builder .dtt-builder-section:focus-within {
	transform: translateY(-2px);
	border-color: #b9d4de;
	box-shadow: 0 8px 20px rgba(6, 22, 56, 0.07);
}

@media (max-width: 980px) {
	body.logged-in .dtt-reference-builder .dtt-builder-layout {
		grid-template-columns: 1fr;
	}

	body.logged-in .dtt-reference-builder .dtt-builder-layout > .dtt-builder-main,
	body.logged-in .dtt-reference-builder .dtt-builder-layout > .dtt-builder-summary {
		grid-column: 1;
		grid-row: auto;
	}

	body.logged-in .dtt-reference-builder .dtt-builder-layout > .dtt-builder-summary {
		position: static;
	}
}

@media (max-width: 720px) {
	body.logged-in .dtt-reference-builder .dtt-builder-heading {
		grid-template-columns: 1fr;
	}

	body.logged-in .dtt-reference-builder .dtt-builder-steps button {
		justify-content: center;
		padding: 0 6px;
	}

	body.logged-in .dtt-reference-builder .dtt-builder-steps button span {
		display: none;
	}

	body.logged-in .dtt-reference-builder .dtt-builder-steps button::after {
		display: none;
	}

	.dtt-reference-builder .dtt-review-grid {
		grid-template-columns: 1fr;
	}

	.dtt-reference-builder .dtt-review-card-wide {
		grid-column: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.logged-in .dtt-reference-builder .dtt-builder-section,
	body.logged-in .dtt-reference-builder .dtt-builder-section:hover,
	body.logged-in .dtt-reference-builder .dtt-builder-section:focus-within {
		transform: none !important;
		transition: none !important;
	}

	body.logged-in .dtt-reference-builder .dtt-builder-steps button {
		transform: none !important;
		transition: none !important;
	}
}

/* Reference quotation detail v0.18.8. */
.dtt-reference-quotation-detail {
	--dtt-detail-line: #dce6f3;
	--dtt-detail-soft: #f8fafc;
	--dtt-detail-muted: #52668a;
}

.dtt-reference-quotation-detail .dtt-quote-detail-layout {
	display: block;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

.dtt-reference-quotation-detail .dtt-quote-detail-header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 20px;
	margin-bottom: 12px;
	padding: 8px 4px 10px;
}

.dtt-reference-quotation-detail .dtt-quote-back {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-bottom: 10px;
	color: #45648e;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
}

.dtt-reference-quotation-detail .dtt-quote-back .dtt-ui-icon {
	width: 14px;
	height: 14px;
}

.dtt-reference-quotation-detail .dtt-quote-title-line {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}

.dtt-reference-quotation-detail .dtt-quote-title-line h1 {
	margin: 0;
	color: var(--dtt-navy);
	font-size: clamp(20px, 2.1vw, 28px);
	line-height: 1.15;
	letter-spacing: -0.035em;
}

.dtt-reference-quotation-detail .dtt-quote-title-block > p {
	margin: 6px 0 0;
	color: var(--dtt-detail-muted);
	font-size: 12px;
}

.dtt-reference-quotation-detail .dtt-quote-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 8px;
}

.dtt-reference-quotation-detail .dtt-quote-actions .dtt-button {
	min-height: 42px;
	font-size: 12px;
}

.dtt-reference-quotation-detail .dtt-quote-detail-workspace {
	display: grid;
	grid-template-columns: 170px minmax(0, 1fr) 240px;
	align-items: start;
	gap: 12px;
}

.dtt-reference-quotation-detail .dtt-quote-detail-left,
.dtt-reference-quotation-detail .dtt-quote-detail-main,
.dtt-reference-quotation-detail .dtt-quote-detail-sidebar {
	display: grid;
	gap: 12px;
	min-width: 0;
}

.dtt-reference-quotation-detail .dtt-quote-detail-card {
	min-width: 0;
	padding: 14px;
	background: #fff;
	border: 1px solid var(--dtt-detail-line);
	border-radius: 8px;
	box-shadow: 0 2px 7px rgba(6, 22, 56, 0.035);
	transition: transform var(--dtt-motion-standard) ease-out,
		border-color var(--dtt-motion-fast) ease-out,
		box-shadow var(--dtt-motion-standard) ease-out;
}

.dtt-reference-quotation-detail .dtt-quote-detail-card:hover,
.dtt-reference-quotation-detail .dtt-quote-detail-card:focus-within {
	transform: translateY(-2px);
	border-color: #b9d4de;
	box-shadow: 0 9px 22px rgba(6, 22, 56, 0.07);
}

.dtt-reference-quotation-detail .dtt-quote-detail-card > h2,
.dtt-reference-quotation-detail .dtt-quote-detail-card > .dtt-quote-section > h2,
.dtt-reference-quotation-detail .dtt-quote-included-services > .dtt-quote-section > h2 {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 0 0 12px;
	color: var(--dtt-navy);
	font-size: 12px;
	line-height: 1.3;
}

.dtt-reference-quotation-detail .dtt-quote-detail-card h2 .dtt-ui-icon {
	width: 16px;
	height: 16px;
	color: var(--dtt-teal);
}

.dtt-reference-quotation-detail .dtt-quote-client-card dl {
	display: grid;
	gap: 4px;
	margin: 0 0 14px;
}

.dtt-reference-quotation-detail .dtt-quote-client-card dt {
	margin-top: 5px;
	color: var(--dtt-detail-muted);
	font-size: 12px;
	font-weight: 600;
}

.dtt-reference-quotation-detail .dtt-quote-client-card dd {
	margin: 0;
	color: var(--dtt-navy);
	font-size: 12px;
	font-weight: 700;
	overflow-wrap: anywhere;
}

.dtt-reference-quotation-detail .dtt-quote-status-card .dtt-status-form {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
	margin: 0 0 12px;
	padding: 0;
	border: 0;
}

.dtt-reference-quotation-detail .dtt-quote-status-card p {
	display: grid;
	gap: 3px;
	margin: 0;
	font-size: 12px;
}

.dtt-reference-quotation-detail .dtt-quote-status-card p strong {
	color: var(--dtt-detail-muted);
}

.dtt-reference-quotation-detail .dtt-quote-trip-card {
	padding-bottom: 10px;
}

.dtt-reference-quotation-detail .dtt-quote-trip-image {
	display: block;
	width: 100%;
	height: 175px;
	object-fit: cover;
	object-position: center center;
	border-radius: 6px;
}

.dtt-reference-quotation-detail .dtt-quote-trip-facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 10px;
}

.dtt-reference-quotation-detail .dtt-quote-trip-facts > div {
	display: grid;
	gap: 3px;
	padding: 8px 10px;
	border-right: 1px solid #e8eef6;
}

.dtt-reference-quotation-detail .dtt-quote-trip-facts > div:nth-child(3n) {
	border-right: 0;
}

.dtt-reference-quotation-detail .dtt-quote-trip-facts span {
	color: var(--dtt-detail-muted);
	font-size: 12px;
}

.dtt-reference-quotation-detail .dtt-quote-trip-facts strong {
	color: var(--dtt-navy);
	font-size: 12px;
}

.dtt-reference-quotation-detail .dtt-quote-included-services .dtt-quote-section {
	margin: 0 0 10px;
	padding: 0;
	border: 0;
	box-shadow: none;
}

.dtt-reference-quotation-detail .dtt-quote-included-services .dtt-quote-section > h2 {
	margin: 10px 0 6px;
	color: #50698f;
	font-size: 12px;
}

.dtt-reference-quotation-detail .dtt-quote-included-services .dtt-table-wrap {
	border-color: #e3eaf4;
	border-radius: 5px;
	overflow-x: auto;
}

.dtt-reference-quotation-detail .dtt-quote-included-services .dtt-table th,
.dtt-reference-quotation-detail .dtt-quote-included-services .dtt-table td {
	padding: 7px 8px;
	font-size: 12px;
}

.dtt-reference-quotation-detail .dtt-quote-service-list {
	display: grid;
	gap: 6px;
}

.dtt-reference-quotation-detail .dtt-quote-service-list > div {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 8px;
	background: var(--dtt-detail-soft);
	border-radius: 5px;
	font-size: 12px;
}

.dtt-reference-quotation-detail .dtt-quote-pricing-card {
	position: sticky;
	top: 82px;
}

.dtt-reference-quotation-detail .dtt-quote-pricing-card > h2 > span {
	margin-left: auto;
	padding: 4px 7px;
	border: 1px solid var(--dtt-detail-line);
	border-radius: 4px;
	font-size: 12px;
}

.dtt-reference-quotation-detail .dtt-quote-price-lines {
	display: grid;
}

.dtt-reference-quotation-detail .dtt-quote-price-lines > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 9px 0;
	border-top: 1px solid #e8eef6;
	font-size: 12px;
}

.dtt-reference-quotation-detail .dtt-quote-price-lines span {
	color: var(--dtt-detail-muted);
}

.dtt-reference-quotation-detail .dtt-quote-price-lines strong {
	color: var(--dtt-navy);
	font-size: 12px;
	font-variant-numeric: tabular-nums;
}

.dtt-reference-quotation-detail .dtt-quote-price-lines .dtt-price-subtotal {
	font-weight: 700;
}

.dtt-reference-quotation-detail .dtt-quote-price-lines .dtt-price-grand {
	margin-top: 4px;
	padding: 12px 0 4px;
}

.dtt-reference-quotation-detail .dtt-quote-price-lines .dtt-price-grand span,
.dtt-reference-quotation-detail .dtt-quote-price-lines .dtt-price-grand strong {
	color: var(--dtt-navy);
	font-size: 14px;
	font-weight: 800;
}

.dtt-reference-quotation-detail .dtt-quote-validity {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin: 12px 0 0;
	padding: 10px;
	color: #087c6c;
	background: #f0fbf8;
	border: 1px solid #a7ded4;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 700;
}

.dtt-reference-quotation-detail .dtt-quote-activity-card ol {
	position: relative;
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 0 0 0 18px;
	list-style: none;
}

.dtt-reference-quotation-detail .dtt-quote-activity-card ol::before {
	content: "";
	position: absolute;
	left: 4px;
	top: 5px;
	bottom: 5px;
	width: 1px;
	background: #cbd8e8;
}

.dtt-reference-quotation-detail .dtt-quote-activity-card li {
	position: relative;
	display: grid;
	gap: 3px;
	font-size: 12px;
}

.dtt-reference-quotation-detail .dtt-quote-activity-card li::before {
	content: "";
	position: absolute;
	left: -18px;
	top: 3px;
	width: 9px;
	height: 9px;
	background: #fff;
	border: 2px solid #92a8c7;
	border-radius: 50%;
}

.dtt-reference-quotation-detail .dtt-quote-activity-card li.is-current::before {
	background: var(--dtt-teal);
	border-color: var(--dtt-teal);
}

.dtt-reference-quotation-detail .dtt-quote-activity-card li span {
	color: var(--dtt-detail-muted);
}

.dtt-reference-quotation-detail .dtt-quote-itinerary-summary > .dtt-quote-section {
	margin: 0;
	padding: 0;
	border: 0;
	box-shadow: none;
}

.dtt-reference-quotation-detail .dtt-itinerary-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.dtt-reference-quotation-detail .dtt-itinerary-item {
	padding: 10px;
	background: var(--dtt-detail-soft);
	border: 1px solid #e5ecf5;
	border-radius: 6px;
}

.dtt-reference-quotation-detail .dtt-itinerary-entry h3 {
	font-size: 12px;
}

.dtt-reference-quotation-detail .dtt-itinerary-entry p,
.dtt-reference-quotation-detail .dtt-itinerary-entry small,
.dtt-reference-quotation-detail .dtt-itinerary-meta {
	font-size: 12px;
	line-height: 1.5;
}

.dtt-reference-quotation-detail .dtt-itinerary-meta dd {
	min-width: 0;
	overflow-wrap: anywhere;
}

@media (max-width: 1100px) {
	.dtt-reference-quotation-detail .dtt-quote-detail-workspace {
		grid-template-columns: 180px minmax(0, 1fr);
	}

	.dtt-reference-quotation-detail .dtt-quote-detail-sidebar {
		grid-column: 1 / -1;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dtt-reference-quotation-detail .dtt-quote-pricing-card {
		position: static;
	}
}

@media (max-width: 760px) {
	.dtt-reference-quotation-detail .dtt-quote-detail-header,
	.dtt-reference-quotation-detail .dtt-quote-detail-workspace,
	.dtt-reference-quotation-detail .dtt-quote-detail-sidebar {
		grid-template-columns: 1fr;
	}

	.dtt-reference-quotation-detail .dtt-quote-actions {
		justify-content: flex-start;
	}

	.dtt-reference-quotation-detail .dtt-quote-trip-facts {
		grid-template-columns: 1fr 1fr;
	}

	.dtt-reference-quotation-detail .dtt-itinerary-list {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dtt-reference-quotation-detail .dtt-quote-detail-card,
	.dtt-reference-quotation-detail .dtt-quote-detail-card:hover,
	.dtt-reference-quotation-detail .dtt-quote-detail-card:focus-within {
		transform: none !important;
		transition: none !important;
	}
}

/* Destination management reference page v0.19.2. */
.dtt-screen-destinations.dtt-destination-heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 4px 24px;
	margin-bottom: 14px;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

.dtt-destination-heading > div {
	display: grid;
	gap: 2px;
}

.dtt-destination-heading .dtt-eyebrow {
	margin: 0 0 2px;
	color: var(--dtt-teal-text);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
}

.dtt-destination-heading h1 {
	margin: 0;
	font-size: 28px;
	line-height: 1.12;
	letter-spacing: -0.025em;
}

.dtt-destination-heading p:not(.dtt-eyebrow) {
	margin: 1px 0 0;
	color: var(--dtt-text-soft);
	font-size: 12px;
}

.dtt-destination-heading .dtt-button {
	min-width: 132px;
}

.dtt-screen-destinations.dtt-destination-kpis {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 14px;
}

.dtt-screen-destinations.dtt-destination-kpis .dtt-stat-card {
	min-height: 88px;
	padding: 14px 54px 12px 14px;
	border: 1px solid var(--dtt-line);
	border-radius: 7px;
	background: #fff;
	box-shadow: 0 3px 10px rgba(6, 22, 56, 0.035);
	transition: transform var(--dtt-motion-standard) var(--dtt-motion-ease),
		border-color var(--dtt-motion-standard) ease-out,
		box-shadow var(--dtt-motion-standard) ease-out;
}

.dtt-screen-destinations.dtt-destination-kpis .dtt-stat-card:hover,
.dtt-screen-destinations.dtt-destination-kpis .dtt-stat-card:focus-visible {
	transform: translateY(-3px);
	border-color: #b9cee7;
	box-shadow: 0 12px 26px rgba(6, 22, 56, 0.1);
}

.dtt-screen-destinations.dtt-destination-kpis .dtt-stat-card:active {
	transform: translateY(-1px) scale(0.995);
}

.dtt-screen-destinations.dtt-destination-kpis .dtt-stat-label {
	font-size: 12px;
	font-weight: 700;
}

.dtt-screen-destinations.dtt-destination-kpis .dtt-stat-card > strong {
	margin-top: 3px;
	font-size: 20px;
	line-height: 1;
}

.dtt-screen-destinations.dtt-destination-kpis .dtt-stat-card > small {
	margin-top: 5px;
	font-size: 12px;
}

.dtt-screen-destinations.dtt-destination-kpis .dtt-stat-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	top: 50%;
	right: 14px;
	bottom: auto;
	width: 34px;
	height: 34px;
	transform: translateY(-50%);
	transition: transform var(--dtt-motion-standard) var(--dtt-motion-ease),
		box-shadow var(--dtt-motion-standard) ease-out;
}

.dtt-screen-destinations.dtt-destination-kpis .dtt-stat-icon::after {
	display: none;
}

.dtt-screen-destinations.dtt-destination-kpis .dtt-stat-icon .dtt-ui-icon {
	width: 17px;
	height: 17px;
	transition: transform var(--dtt-motion-standard) var(--dtt-motion-ease);
}

.dtt-screen-destinations.dtt-destination-kpis .dtt-stat-card:hover .dtt-stat-icon,
.dtt-screen-destinations.dtt-destination-kpis .dtt-stat-card:focus-visible .dtt-stat-icon {
	transform: translateY(-50%) scale(1.08);
	box-shadow: 0 7px 15px rgba(6, 22, 56, 0.1);
}

.dtt-screen-destinations.dtt-destination-kpis .dtt-stat-card:hover .dtt-stat-icon .dtt-ui-icon,
.dtt-screen-destinations.dtt-destination-kpis .dtt-stat-card:focus-visible .dtt-stat-icon .dtt-ui-icon {
	transform: rotate(-4deg) scale(1.05);
}

.dtt-destination-catalog {
	display: grid;
	gap: 12px;
}

.dtt-screen-destinations .dtt-destination-filter-form {
	display: grid;
	grid-template-columns: minmax(250px, 1.45fr) repeat(3, minmax(150px, 0.72fr)) auto;
	gap: 10px;
	align-items: center;
	margin: 0;
	padding: 12px;
	background: #fff;
	border: 1px solid var(--dtt-line);
	border-radius: 7px;
	box-shadow: 0 3px 10px rgba(6, 22, 56, 0.03);
}

.dtt-destination-filter-form label {
	min-width: 0;
}

.dtt-destination-filter-form input,
.dtt-destination-filter-form select,
.dtt-destination-filter-form .dtt-button {
	box-sizing: border-box;
	width: 100%;
	height: 40px;
	min-height: 40px;
	margin: 0;
	font-size: 12px;
}

.dtt-destination-filter-form .dtt-filter-search {
	position: relative;
	display: block;
}

.dtt-destination-filter-form .dtt-filter-search > .dtt-ui-icon {
	position: absolute;
	z-index: 2;
	top: 50%;
	left: 12px;
	width: 16px;
	height: 16px;
	transform: translateY(-50%);
	pointer-events: none;
}

.dtt-destination-filter-form .dtt-filter-search input {
	padding-left: 38px;
}

.dtt-destination-filter-form .dtt-button {
	width: auto;
	white-space: nowrap;
}

.dtt-destination-table-wrap {
	padding: 0;
	border: 1px solid var(--dtt-line);
	border-radius: 7px;
	background: #fff;
	box-shadow: 0 4px 14px rgba(6, 22, 56, 0.04);
	overflow-x: auto;
}

.dtt-destination-table-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 42px;
	padding: 0 14px;
	color: var(--dtt-text-soft);
	font-size: 12px;
	border-bottom: 1px solid var(--dtt-line);
}

.dtt-destination-table {
	min-width: 850px;
	margin: 0;
	font-size: 12px;
}

.dtt-destination-table th {
	height: 34px;
	padding: 8px 12px;
	color: var(--dtt-navy);
	font-size: 12px;
	font-weight: 700;
	background: #fbfcfe;
}

.dtt-destination-table td {
	height: 52px;
	padding: 7px 12px;
	vertical-align: middle;
}

.dtt-destination-table tbody tr {
	transition: background-color var(--dtt-motion-standard) ease-out,
		box-shadow var(--dtt-motion-standard) ease-out;
}

.dtt-destination-table tbody tr:hover {
	background: #f5fbfb;
	box-shadow: inset 3px 0 0 var(--dtt-teal);
}

.dtt-destination-cell {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 210px;
}

.dtt-destination-cell > span:last-child {
	display: grid;
	gap: 2px;
}

.dtt-destination-cell strong {
	color: var(--dtt-navy);
	font-size: 12px;
	font-weight: 700;
}

.dtt-destination-cell small {
	color: var(--dtt-text-soft);
	font-size: 12px;
}

.dtt-destination-thumb {
	display: grid;
	flex: 0 0 48px;
	place-items: center;
	width: 48px;
	height: 34px;
	object-fit: cover;
	object-position: center center;
	border-radius: 5px;
	background: #e7f6f5;
}

.dtt-destination-thumb-placeholder {
	color: var(--dtt-teal);
}

.dtt-destination-thumb-placeholder .dtt-ui-icon {
	width: 16px;
	height: 16px;
}

.dtt-destination-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

.dtt-destination-tags span {
	display: inline-flex;
	align-items: center;
	min-height: 21px;
	padding: 2px 7px;
	color: #075f76;
	font-size: 12px;
	font-weight: 600;
	background: #e9f8fb;
	border: 1px solid #c5eaf0;
	border-radius: 4px;
}

.dtt-destination-tags span:nth-child(2) {
	color: #5e4890;
	background: #f3effc;
	border-color: #dfd5f4;
}

.dtt-destination-status {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	font-weight: 600;
}

.dtt-destination-status i {
	display: block;
	width: 7px;
	height: 7px;
	background: #9aa7ba;
	border-radius: 50%;
}

.dtt-destination-status-active {
	color: #07855e;
}

.dtt-destination-status-active i {
	background: #0bae78;
}

.dtt-destination-status-paused {
	color: #8f5600;
}

.dtt-destination-status-paused i {
	background: #e29a2f;
}

.dtt-destination-table .dtt-inline-actions {
	gap: 6px;
	white-space: nowrap;
}

.dtt-destination-table .dtt-destination-action {
	min-height: 36px;
	padding: 5px 10px;
	font-size: 12px;
}

.dtt-destination-table .dtt-destination-action .dtt-ui-icon {
	width: 14px;
	height: 14px;
}

.dtt-destination-table-wrap > .dtt-pagination {
	margin: 0;
	padding: 10px 14px;
	border-top: 1px solid var(--dtt-line);
}

@media (max-width: 1050px) {
	.dtt-screen-destinations.dtt-destination-kpis {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.dtt-screen-destinations .dtt-destination-filter-form {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 700px) {
	.dtt-screen-destinations.dtt-destination-heading,
	.dtt-screen-destinations.dtt-destination-kpis,
	.dtt-screen-destinations .dtt-destination-filter-form {
		grid-template-columns: 1fr;
	}

	.dtt-destination-heading .dtt-button {
		justify-self: start;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dtt-screen-destinations.dtt-destination-kpis .dtt-stat-card,
	.dtt-screen-destinations.dtt-destination-kpis .dtt-stat-icon,
	.dtt-screen-destinations.dtt-destination-kpis .dtt-stat-icon .dtt-ui-icon,
	.dtt-destination-table tbody tr {
		transition: none !important;
	}

	.dtt-screen-destinations.dtt-destination-kpis .dtt-stat-card:hover,
	.dtt-screen-destinations.dtt-destination-kpis .dtt-stat-card:focus-visible,
	.dtt-screen-destinations.dtt-destination-kpis .dtt-stat-card:active {
		transform: none !important;
	}
}

/* Focused one-field destination editor v0.19.3. */
.dtt-destination-editor-heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 18px;
	margin-bottom: 14px;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

.dtt-destination-editor-heading .dtt-eyebrow {
	margin: 0 0 4px;
	color: var(--dtt-teal-text);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.dtt-destination-editor-heading h1 {
	margin: 0;
	font-size: clamp(23px, 2.4vw, 30px);
	letter-spacing: -.035em;
}

.dtt-destination-editor-heading p:not(.dtt-eyebrow) {
	max-width: 62ch;
	margin: 4px 0 0;
	color: var(--dtt-text-soft);
	font-size: 12px;
}

.dtt-destination-editor-heading-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 9px;
}

.dtt-destination-editor-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 260px;
	align-items: start;
	gap: 12px;
}

.dtt-destination-editor-form > * {
	grid-column: auto;
}

.dtt-destination-editor-form .dtt-destination-editor-panel {
	grid-column: 1;
	min-height: 240px;
	padding: 18px;
}

.dtt-destination-editor-panel-heading {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 24px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--dtt-line);
}

.dtt-destination-editor-panel-heading > span:last-child {
	display: grid;
	gap: 3px;
}

.dtt-destination-editor-panel-heading strong {
	color: var(--dtt-navy);
	font-size: 13px;
}

.dtt-destination-editor-panel-heading small,
.dtt-destination-name-field > small {
	color: var(--dtt-text-soft);
	font-size: 12px;
	font-weight: 500;
}

.dtt-destination-editor-section-icon {
	display: grid;
	place-items: center;
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	color: var(--dtt-accent);
	background: rgba(10, 169, 159, .1);
	border-radius: 7px;
}

.dtt-destination-editor-section-icon .dtt-ui-icon {
	width: 17px;
	height: 17px;
}

.dtt-destination-name-field {
	display: grid;
	gap: 8px;
	max-width: 640px;
}

.dtt-destination-name-field > span {
	color: var(--dtt-navy);
	font-size: 12px;
	font-weight: 700;
}

.dtt-destination-name-field > span b {
	color: #dc3545;
}

.dtt-destination-name-field input {
	min-height: 44px;
	font-size: 13px;
}

.dtt-destination-editor-form > .dtt-destination-editor-sidebar {
	display: block;
	grid-column: 2;
	grid-row: 1;
	min-height: 0;
	padding: 0;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--dtt-line);
	border-radius: 8px;
	box-shadow: var(--dtt-shadow);
}

.dtt-destination-editor-form > .dtt-destination-editor-sidebar::before {
	content: none;
	display: none;
}

.dtt-destination-editor-sidebar > header {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 14px 15px;
	border-bottom: 1px solid var(--dtt-line);
}

.dtt-destination-editor-sidebar > header .dtt-ui-icon {
	width: 16px;
	height: 16px;
	color: var(--dtt-accent);
}

.dtt-destination-editor-sidebar h2 {
	margin: 0;
	font-size: 13px;
}

.dtt-destination-editor-sidebar-content {
	display: grid;
	gap: 14px;
	padding: 15px;
}

.dtt-destination-editor-note {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	padding: 11px;
	color: #087f78;
	background: rgba(10, 169, 159, .075);
	border: 1px solid rgba(10, 169, 159, .2);
	border-radius: 6px;
}

.dtt-destination-editor-note .dtt-ui-icon {
	flex: 0 0 14px;
	width: 14px;
	height: 14px;
	margin-top: 1px;
}

.dtt-destination-editor-note p {
	margin: 0;
	font-size: 12px;
	line-height: 1.55;
}

.dtt-destination-editor-sidebar-actions {
	display: grid;
	gap: 8px;
}

.dtt-destination-editor-sidebar-actions .dtt-button {
	width: 100%;
}

@media (max-width: 800px) {
	.dtt-destination-editor-heading,
	.dtt-destination-editor-form {
		grid-template-columns: 1fr;
	}

	.dtt-destination-editor-heading-actions {
		justify-content: flex-start;
		flex-wrap: wrap;
	}

	.dtt-destination-editor-form .dtt-destination-editor-panel,
	.dtt-destination-editor-form > .dtt-destination-editor-sidebar {
		grid-column: 1;
		grid-row: auto;
	}
}

/* Reference tour package catalog and editor v0.19.5. */
.dtt-reference-tour-list,
.dtt-reference-tour-editor {
	--dtt-tour-line: #d8e3f0;
	--dtt-tour-muted: #52668a;
}

.dtt-reference-tour-list .dtt-tour-list-heading,
.dtt-reference-tour-editor .dtt-tour-editor-heading {
	margin-bottom: 16px;
}

.dtt-reference-tour-list .dtt-tour-list-heading > div > p:last-child,
.dtt-reference-tour-editor .dtt-tour-editor-heading > div > p:last-child {
	margin: 5px 0 0;
	color: var(--dtt-tour-muted);
	font-size: 12px;
}

.dtt-reference-tour-list .dtt-tour-list-kpis {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 14px;
}

.dtt-reference-tour-list .dtt-tour-list-kpis .dtt-stat-card {
	min-height: 94px;
	transition: transform var(--dtt-motion-standard) ease, border-color var(--dtt-motion-standard) ease, box-shadow var(--dtt-motion-standard) ease;
}

.dtt-reference-tour-list .dtt-tour-list-kpis .dtt-stat-card:hover,
.dtt-reference-tour-list .dtt-tour-card:hover {
	transform: translateY(-3px);
	border-color: rgba(10, 169, 159, .38);
	box-shadow: 0 10px 22px rgba(3, 33, 77, .1);
}

.dtt-reference-tour-list .dtt-tour-list-kpis .dtt-stat-icon::after {
	display: none;
}

.dtt-reference-tour-list .dtt-tour-list-kpis .dtt-stat-icon {
	display: flex;
	align-items: center;
	justify-content: center;
}

.dtt-reference-tour-list .dtt-tour-list-filters {
	margin-bottom: 14px;
}

.dtt-reference-tour-list .dtt-tour-card {
	display: flex;
	min-width: 0;
	min-height: 380px;
	flex-direction: column;
	transition: transform var(--dtt-motion-standard) ease, border-color var(--dtt-motion-standard) ease, box-shadow var(--dtt-motion-standard) ease;
}

.dtt-reference-tour-list .dtt-tour-card-media {
	min-height: 190px;
}

.dtt-reference-tour-list .dtt-tour-card-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 14px 15px 12px;
}

.dtt-reference-tour-list .dtt-tour-card h3 {
	font-size: 15px;
	line-height: 1.35;
}

.dtt-reference-tour-list .dtt-tour-card-meta {
	margin-top: auto;
	padding-top: 18px;
}

.dtt-reference-tour-list .dtt-tour-card-actions {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
}

.dtt-reference-tour-list .dtt-tour-card-actions > .dtt-button,
.dtt-reference-tour-list .dtt-tour-card-actions > form,
.dtt-reference-tour-list .dtt-tour-card-actions > form .dtt-button {
	width: 100%;
	height: 42px;
	justify-content: center;
	border: 0;
	border-radius: 0;
}

.dtt-reference-tour-list .dtt-tour-card-actions > :not(:last-child) {
	border-right: 1px solid var(--dtt-tour-line);
}

.dtt-reference-tour-list .dtt-tour-empty-state {
	grid-column: 1 / -1;
	padding: 44px 24px;
	background: #fff;
	border: 1px dashed #bfd0e5;
	border-radius: 8px;
}

.dtt-reference-tour-editor .dtt-back-link {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-bottom: 8px;
	color: #52668a;
	font-size: 12px;
	font-weight: 700;
}

.dtt-reference-tour-editor .dtt-tour-editor-heading-actions {
	display: flex;
	align-items: center;
	gap: 8px;
}

.dtt-reference-tour-editor .dtt-tour-editor-tabs {
	display: flex;
	overflow-x: auto;
	gap: 28px;
	margin-bottom: 14px;
	padding: 0 16px;
	background: #fff;
	border-bottom: 1px solid var(--dtt-tour-line);
	scrollbar-width: thin;
}

.dtt-reference-tour-editor .dtt-tour-editor-tabs a {
	position: relative;
	flex: 0 0 auto;
	padding: 13px 0 12px;
	color: #35517f;
	font-size: 12px;
	font-weight: 750;
	transition: color var(--dtt-motion-fast) ease;
}

.dtt-reference-tour-editor .dtt-tour-editor-tabs a:hover,
.dtt-reference-tour-editor .dtt-tour-editor-tabs a:focus-visible {
	color: var(--dtt-teal-text);
}

.dtt-reference-tour-editor .dtt-tour-editor-tabs a::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 2px;
	content: "";
	background: var(--dtt-accent);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform var(--dtt-motion-standard) ease;
}

.dtt-reference-tour-editor .dtt-tour-editor-tabs a:hover::after,
.dtt-reference-tour-editor .dtt-tour-editor-tabs a:focus-visible::after {
	transform: scaleX(1);
}

.dtt-reference-tour-editor .dtt-tour-editor-shell {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 280px;
	gap: 14px;
	align-items: start;
}

.dtt-reference-tour-editor .dtt-tour-editor-shell > * {
	grid-column: 1;
}

.dtt-reference-tour-editor .dtt-tour-editor-summary {
	position: sticky;
	top: 82px;
	display: block;
	grid-column: 2;
	grid-row: 1 / span 6;
	min-height: 0;
	padding: 15px;
	background: #fff;
	border: 1px solid var(--dtt-tour-line);
	border-radius: 8px;
	box-shadow: 0 4px 14px rgba(3, 33, 77, .055);
}

.dtt-reference-tour-editor .dtt-tour-editor-summary::before {
	display: none;
	content: none;
}

.dtt-reference-tour-editor .dtt-tour-editor-summary h2,
.dtt-reference-tour-editor .dtt-form-section h2,
.dtt-reference-tour-editor label > span {
	display: flex;
	align-items: center;
	gap: 7px;
}

.dtt-reference-tour-editor .dtt-tour-editor-summary h2 {
	margin: 0 0 13px;
	font-size: 13px;
}

.dtt-reference-tour-editor .dtt-tour-editor-summary > img {
	width: 100%;
	height: 118px;
	margin-bottom: 10px;
	object-fit: cover;
	border-radius: 6px;
}

.dtt-reference-tour-editor .dtt-tour-summary-title {
	display: block;
	margin-bottom: 10px;
	color: var(--dtt-mockup-ink);
	font-size: 13px;
	line-height: 1.35;
}

.dtt-reference-tour-editor .dtt-tour-editor-summary dl {
	margin: 0;
}

.dtt-reference-tour-editor .dtt-tour-editor-summary dl > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 9px 0;
	border-bottom: 1px solid #e8eef6;
}

.dtt-reference-tour-editor .dtt-tour-editor-summary dt,
.dtt-reference-tour-editor .dtt-tour-editor-summary dd {
	margin: 0;
	font-size: 12px;
}

.dtt-reference-tour-editor .dtt-tour-editor-summary dd {
	color: var(--dtt-mockup-ink);
	font-weight: 700;
	text-align: right;
}

.dtt-reference-tour-editor .dtt-tour-summary-price {
	display: grid;
	gap: 2px;
	margin: 14px 0;
	padding: 12px;
	background: rgba(10, 169, 159, .07);
	border: 1px solid rgba(10, 169, 159, .18);
	border-radius: 6px;
}

.dtt-reference-tour-editor .dtt-tour-summary-price span,
.dtt-reference-tour-editor .dtt-tour-summary-price small {
	color: #52668a;
	font-size: 12px;
}

.dtt-reference-tour-editor .dtt-tour-summary-price strong {
	color: var(--dtt-mockup-ink);
	font-size: 20px;
}

.dtt-reference-tour-editor .dtt-tour-editor-summary > .dtt-button {
	width: 100%;
}

.dtt-reference-tour-editor .dtt-form-section {
	scroll-margin-top: 90px;
	transition: transform var(--dtt-motion-standard) ease, border-color var(--dtt-motion-standard) ease, box-shadow var(--dtt-motion-standard) ease;
}

.dtt-reference-tour-editor .dtt-form-section:hover {
	transform: translateY(-2px);
	border-color: rgba(10, 169, 159, .32);
	box-shadow: 0 9px 20px rgba(3, 33, 77, .07);
}

.dtt-reference-tour-editor .dtt-form-section textarea {
	resize: vertical;
}

.dtt-reference-tour-editor .dtt-tour-rate-viewport {
	max-height: 680px;
	overflow: auto;
	margin-top: 10px;
	padding-right: 4px;
	scrollbar-color: #9fb4cf transparent;
	scrollbar-width: thin;
}

.dtt-reference-tour-editor .dtt-tour-rate-viewport .dtt-repeater-row {
	padding: 10px;
	background: #fbfcfe;
	border: 1px solid #e1e9f3;
	border-radius: 6px;
}

.dtt-reference-tour-editor .dtt-tour-rate-viewport .dtt-repeater-row + .dtt-repeater-row {
	margin-top: 8px;
}

.dtt-reference-tour-editor .dtt-tour-rate-grid {
	gap: 8px;
}

.dtt-reference-tour-editor .dtt-row-actions {
	margin-top: 8px;
}

.dtt-reference-tour-editor .dtt-form-actions {
	grid-column: 1 / -1;
	justify-content: flex-end;
}

@media (max-width: 1000px) {
	.dtt-reference-tour-list .dtt-tour-list-kpis {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dtt-reference-tour-editor .dtt-tour-editor-shell {
		grid-template-columns: 1fr;
	}

	.dtt-reference-tour-editor .dtt-tour-editor-shell > *,
	.dtt-reference-tour-editor .dtt-tour-editor-summary {
		position: static;
		display: block;
		grid-column: 1;
		grid-row: auto;
	}

	.dtt-reference-tour-editor .dtt-tour-editor-summary {
		order: 2;
	}
}

@media (max-width: 700px) {
	.dtt-reference-tour-list .dtt-tour-list-kpis,
	.dtt-reference-tour-list .dtt-tour-card-grid {
		grid-template-columns: 1fr;
	}

	.dtt-reference-tour-editor .dtt-tour-editor-heading,
	.dtt-reference-tour-editor .dtt-tour-editor-heading-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.dtt-reference-tour-editor .dtt-tour-editor-heading-actions .dtt-button {
		width: 100%;
	}

	.dtt-reference-tour-editor .dtt-tour-rate-grid,
	.dtt-reference-tour-editor .dtt-tour-rate-less-grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dtt-reference-tour-list .dtt-stat-card,
	.dtt-reference-tour-list .dtt-tour-card,
	.dtt-reference-tour-editor .dtt-form-section,
	.dtt-reference-tour-editor .dtt-tour-editor-tabs a,
	.dtt-reference-tour-editor .dtt-tour-editor-tabs a::after {
		transition: none !important;
	}

	.dtt-reference-tour-list .dtt-stat-card:hover,
	.dtt-reference-tour-list .dtt-tour-card:hover,
	.dtt-reference-tour-editor .dtt-form-section:hover {
		transform: none !important;
	}
}

/* Keep the shared catalog-editor system authoritative over legacy management layout rules. */
.dtt-management-editor-layout.dtt-reference-editor-shell {
	grid-template-columns: minmax(0, 1fr) 280px;
	gap: 12px;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

.dtt-management-editor-layout.dtt-reference-editor-shell > .dtt-reference-editor-sidebar {
	display: block;
	grid-column: 2;
	grid-row: 1 / span 8;
	position: sticky;
	top: 82px;
}

@media (max-width: 980px) {
	.dtt-management-editor-layout.dtt-reference-editor-shell {
		grid-template-columns: 1fr;
	}

	.dtt-management-editor-layout.dtt-reference-editor-shell > .dtt-reference-editor-sidebar {
		grid-column: 1;
		grid-row: auto;
		position: static;
	}
}

/* Profile and documents workspace. */
.dtt-reference-profile {
	display: grid;
	gap: 16px;
	animation: dtt-profile-enter 420ms cubic-bezier(.2, .8, .2, 1) both;
}

.dtt-reference-profile .dtt-reference-profile-heading {
	display: block;
	margin: 0;
	text-align: left;
}

.dtt-reference-profile .dtt-reference-profile-heading > div {
	display: grid;
	gap: 3px;
}

.dtt-reference-profile .dtt-reference-profile-heading h1,
.dtt-reference-profile .dtt-reference-profile-heading p {
	margin: 0;
	text-align: left;
}

.dtt-reference-profile .dtt-reference-profile-heading h1 {
	color: var(--dtt-navy);
	font-size: clamp(26px, 2.2vw, 34px);
	letter-spacing: -.035em;
}

.dtt-reference-profile .dtt-reference-profile-heading > div > p:last-child {
	color: var(--dtt-muted);
	font-size: 12px;
}

.dtt-reference-profile .dtt-reference-profile-layout {
	display: grid;
	grid-template-columns: 320px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
}

.dtt-reference-profile .dtt-profile-content-stack {
	display: grid;
	gap: 14px;
	min-width: 0;
}

.dtt-reference-profile .dtt-profile-card {
	min-width: 0;
	padding: 20px;
	background: #fff;
	border: 1px solid var(--dtt-line);
	border-radius: var(--dtt-radius-panel);
	box-shadow: var(--dtt-shadow);
	transition: transform var(--dtt-motion-standard) ease, border-color var(--dtt-motion-standard) ease, box-shadow var(--dtt-motion-standard) ease;
}

.dtt-reference-profile .dtt-profile-card:hover {
	transform: translateY(-2px);
	border-color: rgba(10, 169, 159, .34);
	box-shadow: 0 12px 28px rgba(3, 33, 77, .09);
}

.dtt-reference-profile .dtt-profile-identity-card {
	position: sticky;
	top: 84px;
	display: grid;
	justify-items: center;
	overflow: hidden;
	padding-top: 28px;
	text-align: center;
}

.dtt-reference-profile .dtt-profile-identity-card::before {
	position: absolute;
	inset: 0 0 auto;
	height: 5px;
	background: var(--dtt-teal);
	content: '';
}

.dtt-reference-profile .dtt-profile-avatar {
	display: grid;
	width: 76px;
	height: 76px;
	place-items: center;
	color: #fff;
	background: var(--dtt-navy);
	border: 5px solid #e8f8f6;
	border-radius: 50%;
	box-shadow: 0 8px 20px rgba(3, 33, 77, .18);
	font-size: 23px;
	font-weight: 900;
	letter-spacing: -.04em;
}

.dtt-reference-profile .dtt-profile-identity-copy {
	display: grid;
	justify-items: center;
	gap: 7px;
	margin-top: 14px;
}

.dtt-reference-profile .dtt-profile-kicker {
	margin: 0;
	color: var(--dtt-teal-text);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.dtt-reference-profile .dtt-profile-identity-copy h2 {
	margin: 0;
	color: var(--dtt-navy);
	font-size: 20px;
	line-height: 1.2;
}

.dtt-reference-profile .dtt-role-pill {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	padding: 3px 10px;
	color: #08786f;
	background: #e8f8f6;
	border: 1px solid #c9efea;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 900;
}

.dtt-reference-profile .dtt-profile-identity-meta {
	display: grid;
	gap: 10px;
	width: 100%;
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid var(--dtt-line);
	text-align: left;
}

.dtt-reference-profile .dtt-profile-identity-meta > span {
	display: grid;
	grid-template-columns: 18px minmax(0, 1fr);
	gap: 9px;
	align-items: center;
	min-width: 0;
	color: var(--dtt-muted);
	font-size: 12px;
}

.dtt-reference-profile .dtt-profile-identity-meta .dtt-ui-icon {
	width: 17px;
	height: 17px;
	color: var(--dtt-teal);
}

.dtt-reference-profile .dtt-profile-identity-meta a {
	min-width: 0;
	overflow: hidden;
	color: var(--dtt-navy);
	font-weight: 750;
	text-overflow: ellipsis;
}

.dtt-reference-profile .dtt-profile-card-heading {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr);
	gap: 11px;
	align-items: center;
	margin-bottom: 18px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--dtt-line);
}

.dtt-reference-profile .dtt-profile-section-icon,
.dtt-reference-profile .dtt-document-item-icon,
.dtt-reference-profile .dtt-profile-document-empty-icon {
	display: grid;
	place-items: center;
	color: var(--dtt-teal);
	background: #e8f8f6;
	border-radius: 50%;
}

.dtt-reference-profile .dtt-profile-section-icon {
	width: 38px;
	height: 38px;
}

.dtt-reference-profile .dtt-profile-section-icon .dtt-ui-icon {
	width: 19px;
	height: 19px;
}

.dtt-reference-profile .dtt-profile-card-heading h2,
.dtt-reference-profile .dtt-profile-card-heading p {
	margin: 0;
}

.dtt-reference-profile .dtt-profile-card-heading h2 {
	color: var(--dtt-navy);
	font-size: 16px;
}

.dtt-reference-profile .dtt-profile-card-heading p {
	margin-top: 2px;
	color: var(--dtt-muted);
	font-size: 12px;
}

.dtt-reference-profile .dtt-profile-detail-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	border: 1px solid var(--dtt-line);
	border-radius: 7px;
	overflow: hidden;
}

.dtt-reference-profile .dtt-profile-detail-list dt,
.dtt-reference-profile .dtt-profile-detail-list dd {
	padding: 11px 13px;
	border-bottom: 1px solid var(--dtt-line);
}

.dtt-reference-profile .dtt-profile-detail-list dt {
	color: #52668a;
	background: #f8fafe;
	font-size: 12px;
	font-weight: 850;
}

.dtt-reference-profile .dtt-profile-detail-list dd {
	margin: 0;
	color: var(--dtt-navy);
	font-size: 12px;
	font-weight: 700;
}

.dtt-reference-profile .dtt-profile-detail-list > :nth-last-child(-n + 2) {
	border-bottom: 0;
}

.dtt-reference-profile .dtt-document-list {
	display: grid;
	gap: 8px;
}

.dtt-reference-profile .dtt-document-item {
	display: grid;
	grid-template-columns: 32px minmax(130px, 1fr) auto minmax(220px, .9fr);
	gap: 10px;
	align-items: center;
	padding: 10px;
	background: #fbfcfe;
	border: 1px solid var(--dtt-line);
	border-radius: 7px;
	transition: background-color var(--dtt-motion-standard) ease, border-color var(--dtt-motion-standard) ease;
}

.dtt-reference-profile .dtt-document-item:hover {
	background: #f7fbfb;
	border-color: rgba(10, 169, 159, .28);
}

.dtt-reference-profile .dtt-document-item-icon {
	width: 32px;
	height: 32px;
}

.dtt-reference-profile .dtt-document-item-icon .dtt-ui-icon {
	width: 15px;
	height: 15px;
}

.dtt-reference-profile .dtt-document-item > strong {
	color: var(--dtt-navy);
	font-size: 12px;
}

.dtt-reference-profile .dtt-document-view,
.dtt-reference-profile .dtt-document-missing {
	font-size: 12px;
	font-weight: 850;
}

.dtt-reference-profile .dtt-document-view {
	color: var(--dtt-teal-text);
}

.dtt-reference-profile .dtt-document-missing {
	color: #9a6812;
}

.dtt-reference-profile .dtt-document-file-control {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 8px;
	align-items: center;
	margin: 0;
}

.dtt-reference-profile .dtt-document-file-control > span {
	color: #52668a;
	font-size: 12px;
	font-weight: 800;
}

.dtt-reference-profile .dtt-document-file-control input {
	width: 100%;
	min-width: 0;
	padding: 5px;
	font-size: 12px;
}

.dtt-reference-profile .dtt-profile-documents-card .dtt-form-actions {
	justify-content: flex-end;
	margin-top: 14px;
}

.dtt-document-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	align-items: center;
}

.dtt-document-actions form {
	margin: 0;
}

.dtt-agent-document-manager {
	margin-top: 18px;
}

.dtt-agent-document-manager .dtt-section-header {
	margin-bottom: 14px;
}

.dtt-agent-document-manager .dtt-section-header h2 {
	display: flex;
	gap: 8px;
	align-items: center;
}

.dtt-agent-document-manager .dtt-section-header p {
	margin: 4px 0 0;
	color: var(--dtt-muted);
	font-size: 12px;
}

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

.dtt-agent-document-manager .dtt-document-item-icon {
	display: inline-flex;
	width: 36px;
	height: 36px;
	align-items: center;
	justify-content: center;
	color: var(--dtt-teal);
	background: #e9f8f6;
	border-radius: 7px;
}

.dtt-agent-document-manager .dtt-document-item-copy {
	display: grid;
	gap: 3px;
}

.dtt-agent-document-manager .dtt-document-item-copy strong {
	color: var(--dtt-navy);
	font-size: 12px;
}

.dtt-agent-document-manager .dtt-document-item-copy small {
	color: var(--dtt-muted);
	font-size: 12px;
}

.dtt-reference-profile .dtt-profile-document-empty {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	padding: 18px;
	background: #f0fbf9;
	border: 1px solid #c5eee8;
	border-radius: 8px;
}

.dtt-reference-profile .dtt-profile-document-empty-icon {
	width: 48px;
	height: 48px;
	color: #078f83;
	background: #d8f5f1;
}

.dtt-reference-profile .dtt-profile-document-empty-icon .dtt-ui-icon {
	width: 23px;
	height: 23px;
}

.dtt-reference-profile .dtt-profile-document-empty h3,
.dtt-reference-profile .dtt-profile-document-empty p {
	margin: 0;
}

.dtt-reference-profile .dtt-profile-document-empty h3 {
	color: var(--dtt-navy);
	font-size: 14px;
}

.dtt-reference-profile .dtt-profile-document-empty p {
	max-width: 68ch;
	margin-top: 4px;
	color: var(--dtt-muted);
	font-size: 12px;
}

@keyframes dtt-profile-enter {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1000px) {
	.dtt-reference-profile .dtt-document-item {
		grid-template-columns: 32px minmax(0, 1fr) auto;
	}

	.dtt-reference-profile .dtt-document-file-control {
		grid-column: 2 / -1;
	}
}

@media (max-width: 800px) {
	.dtt-reference-profile .dtt-reference-profile-layout {
		grid-template-columns: 1fr;
	}

	.dtt-reference-profile .dtt-profile-identity-card {
		position: static;
	}
}

@media (max-width: 560px) {
	.dtt-reference-profile .dtt-profile-card {
		padding: 15px;
	}

	.dtt-reference-profile .dtt-profile-detail-list,
	.dtt-reference-profile .dtt-document-item,
	.dtt-reference-profile .dtt-profile-document-empty {
		grid-template-columns: 1fr;
	}

	.dtt-reference-profile .dtt-profile-detail-list dt,
	.dtt-reference-profile .dtt-profile-detail-list dd {
		border-bottom: 1px solid var(--dtt-line);
	}

	.dtt-reference-profile .dtt-document-file-control {
		grid-column: auto;
		grid-template-columns: 1fr;
	}

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

	.dtt-agent-document-manager .dtt-document-actions {
		grid-column: 1 / -1;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dtt-reference-profile,
	.dtt-reference-profile .dtt-profile-card,
	.dtt-reference-profile .dtt-document-item {
		animation: none !important;
		transition: none !important;
	}

	.dtt-reference-profile .dtt-profile-card:hover {
		transform: none !important;
	}
}

/* v0.21 catalog cards, document workflow, and registration controls */
.dtt-catalog-card-grid,
.dtt-hotel-card-grid,
.dtt-tour-card-grid,
.dtt-transfer-card-grid,
.dtt-ferry-card-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin-top: 16px;
}
.dtt-ferry-card-grid {
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 12px;
}
.dtt-ferry-card-grid .dtt-catalog-card { min-height: 300px; }
.dtt-ferry-card-grid .dtt-catalog-card-body { padding: 12px; }
.dtt-catalog-card { display:flex; min-width:0; min-height:320px; flex-direction:column; overflow:hidden; border:1px solid var(--dtt-line,#d8e2ef); border-radius:12px; background:#fff; box-shadow:0 4px 14px rgba(11,40,82,.06); transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease; }
.dtt-catalog-card:hover { transform:translateY(-4px); border-color:rgba(0,172,160,.4); box-shadow:0 12px 28px rgba(11,40,82,.12); }
.dtt-catalog-card-media { position:relative; display:grid; height:148px; place-items:center; background:#dfeaf6 center/cover no-repeat; color:#0aa99b; }
.dtt-catalog-card-media.is-fallback .dtt-ui-icon { width:44px; height:44px; }
.dtt-catalog-card-media .dtt-status { position:absolute; top:12px; right:12px; }
.dtt-catalog-card-body { display:flex; flex:1; flex-direction:column; gap:7px; padding:15px; }
.dtt-catalog-card-body h3 { margin:0; color:#06265f; font-size:15px; line-height:1.35; }
.dtt-catalog-card-body p { display:flex; align-items:center; gap:6px; margin:0; color:#52668a; font-size:12px; }
.dtt-catalog-card-kicker { color:var(--dtt-teal-text)!important; font-size:12px!important; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.dtt-catalog-card-facts { display:flex; align-items:flex-end; justify-content:space-between; gap:8px; margin-top:auto; color:#52678e; font-size:12px; }
.dtt-catalog-card-facts span { display:inline-flex; align-items:center; gap:5px; }
.dtt-catalog-card-facts strong { color:var(--dtt-teal-text); font-size:13px; text-align:right; }
.dtt-catalog-card-actions { display:flex; gap:7px; padding:10px 12px; border-top:1px solid #e5ebf3; }
.dtt-catalog-card-actions>* { flex:1; }
.dtt-catalog-card-actions form { display:flex; margin:0; }
.dtt-catalog-card-actions .dtt-button { width:100%; justify-content:center; white-space:nowrap; }
.dtt-tour-card-grid .dtt-tour-card { min-width:0; }
.dtt-tour-card-grid .dtt-tour-card-media { height:148px; }
.dtt-agent-catalog-table.dtt-catalog-card-grid { width:100%; padding:0 16px 16px; }
.dtt-ferry-card .dtt-ferry-card-media { overflow:hidden; background:#edf4fb; color:#0a4d90; }
.dtt-ferry-card .dtt-ferry-card-image { position:absolute; inset:0; display:block; width:100%; height:100%; max-width:none; object-fit:contain; }
.dtt-ferry-card .dtt-ferry-card-media.is-fallback .dtt-ui-icon { width:48px; height:48px; }
.dtt-ferry-card-route { min-height:20px; color:#4f6388; }
.dtt-ferry-card-route .dtt-ui-icon { color:#0a4d90; }
.dtt-ferry-card-chips { display:flex; flex-wrap:wrap; gap:6px; }
.dtt-ferry-card-chips span { display:inline-flex; align-items:center; min-height:28px; padding:0 10px; border:1px solid #d7e2ee; border-radius:999px; background:#f7fafd; color:#314663; font-size:12px; font-weight:600; }
.dtt-ferry-card .dtt-catalog-card-facts { align-items:center; }
.dtt-ferry-card .dtt-catalog-card-facts strong { color:#0a4d90; font-size:16px; }
.dtt-catalog-photo-panel { grid-column:1/-1; }
.dtt-file-drop { display:grid; gap:8px; padding:18px; border:1px dashed #9fc4dc; border-radius:10px; background:#f8fcff; }
.dtt-hotel-room-actions { display:flex; flex-direction:column; align-items:flex-end; gap:5px; justify-content:flex-end; margin-top:10px; }
.dtt-hotel-room-actions small { display:block; max-width:260px; color:var(--dtt-muted); font-size:12px; line-height:1.4; text-align:right; }
.dtt-reference-agent-registration .dtt-registration-panel,
.dtt-reference-agent-registration .dtt-registration-section { overflow:visible; }
.dtt-reference-agent-registration .dtt-registration-section { position:relative; z-index:1; }
.dtt-reference-agent-registration .dtt-registration-section:focus-within { z-index:50; }
.dtt-reference-agent-registration .dtt-registration-section.dtt-select-open { z-index:1000 !important; transform:none !important; }
.dtt-reference-agent-registration .dtt-registration-section.dtt-select-open .select2-container--open { z-index:1010; }
.dtt-reference-agent-registration .dtt-registration-region[hidden],
.dtt-reference-agent-registration .dtt-registration-region.dtt-is-hidden { display:none !important; }
.dtt-reference-agent-registration .dtt-registration-region { min-width:0; }
.dtt-reference-agent-registration .dtt-registration-region .select2-container--open { z-index:60; }
.dtt-quotation-document-editor { grid-column:1/-1; }
.dtt-quotation-document-editor .dtt-grid { margin-top:10px; }
.dtt-quotation-documents .dtt-button { width:100%; justify-content:flex-start; margin-top:8px; }
.dtt-main-nav { overflow-x:auto; scrollbar-width:thin; }
.dtt-main-nav-list { min-width:max-content; }
@media(max-width:1250px){.dtt-catalog-card-grid,.dtt-hotel-card-grid,.dtt-tour-card-grid,.dtt-transfer-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.dtt-ferry-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:900px){.dtt-ferry-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:680px){.dtt-catalog-card-grid,.dtt-hotel-card-grid,.dtt-tour-card-grid,.dtt-transfer-card-grid,.dtt-ferry-card-grid{grid-template-columns:1fr}.dtt-catalog-card-actions{flex-wrap:wrap}}

@media (max-width: 900px) {
	.dtt-room-primary-grid,
	.dtt-room-pricing-grid,
	.dtt-room-peak-rate-grid,
	.dtt-room-media-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.dtt-hotel-room-card {
		padding: 14px;
	}

	.dtt-room-primary-grid,
	.dtt-room-pricing-grid,
	.dtt-room-peak-rate-grid,
	.dtt-room-media-grid {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 760px) {
	.dtt-peak-season-ranges {
		grid-template-columns: 1fr;
	}
	.dtt-peak-season-range {
		grid-template-columns: 1fr;
	}
	.dtt-peak-season-range-fields {
		grid-template-columns: 1fr;
	}
}
/* Unified booking module */
.dtt-booking-review-grid,.dtt-booking-tabs{gap:18px}.dtt-booking-tabs{display:grid;grid-template-columns:1fr}.dtt-filter-bar{display:flex;justify-content:flex-end;margin:0 0 16px}.dtt-filter-bar select{min-width:240px}.dtt-booking-doc-actions{display:flex;gap:8px;flex-wrap:wrap}.dtt-booking-review-screen dl,.dtt-booking-detail dl{display:grid;grid-template-columns:140px 1fr;gap:8px 16px}.dtt-booking-review-screen dt{font-weight:700}

/* ------------------------------------------------------------------
 * Filter bars and form controls: one row, one height (portal-wide).
 * Every filter bar follows the View Suppliers bar: labels on one line,
 * 42px fields and Filter/Reset (Apply/Clear) buttons sharing one top and
 * height, dropdowns as tall as text inputs. body.logged-in lifts these
 * rules above later stylesheets (booking-index-pages.css, refinement.css)
 * that set 34-40px heights. Textareas and file inputs are untouched.
 * ---------------------------------------------------------------- */

/* One 42px control height in forms, editor panels and filter bars. */
body.logged-in :is(.dtt-form, .dtt-management-list-filters, .dtt-list-filters, .dtt-sales-period-form, .dtt-dashboard-kpi-filter) input:is([type="text"], [type="search"], [type="email"], [type="number"], [type="date"], [type="tel"], [type="url"], [type="password"]):not(.select2-search__field),
body.logged-in :is(.dtt-form, .dtt-management-list-filters, .dtt-list-filters, .dtt-sales-period-form, .dtt-dashboard-kpi-filter) select:not([multiple]):not([size]):not(.select2-hidden-accessible),
body.logged-in :is(.dtt-form, .dtt-management-list-filters, .dtt-list-filters, .dtt-sales-period-form, .dtt-dashboard-kpi-filter) .select2-selection--single {
	box-sizing: border-box;
	height: 42px;
	min-height: 42px;
	max-height: 42px;
	padding-top: 0;
	padding-bottom: 0;
	margin: 0;
}

/* Form label span styles must not push the enhanced dropdown's text or chevron. */
body.logged-in .select2-container .select2-selection__rendered,
body.logged-in .select2-container .select2-selection__arrow {
	margin: 0;
}

/* Filter buttons share the field height. */
body.logged-in :is(.dtt-management-list-filters, .dtt-list-filters, .dtt-sales-period-form, .dtt-dashboard-kpi-filter) .dtt-button {
	height: 42px;
	min-height: 42px;
	padding-top: 0;
	padding-bottom: 0;
	margin: 0;
}

/* Shared filter form (dtt_b2b_render_management_filter_form): label row, then a 42px control row. */
body.logged-in .dtt-management-list-filters .dtt-filter-grid {
	align-items: end;
	row-gap: 12px;
}

body.logged-in .dtt-management-list-filters .dtt-filter-field {
	display: grid;
	grid-template-rows: auto 42px;
	row-gap: 8px;
	align-self: end;
	margin: 0;
}

body.logged-in .dtt-management-list-filters .dtt-filter-label,
body.logged-in .dtt-management-list-filters:not(.dtt-filter-form) > label > span {
	margin: 0;
	overflow: hidden;
	line-height: 16px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

body.logged-in .dtt-management-list-filters .dtt-filter-control,
body.logged-in .dtt-management-list-filters .dtt-filter-control .select2-container {
	display: block;
	height: 42px;
	margin: 0;
}

body.logged-in .dtt-management-list-filters .dtt-filter-input-icon {
	margin: 0;
}

body.logged-in .dtt-management-list-filters :is(.dtt-filter-actions, .dtt-index-filter-actions) {
	align-self: end;
	align-items: stretch;
	height: 42px;
	margin: 0;
}

/* Bookings and Booking Expenses: same label/control rows without the grid wrapper. */
body.logged-in .dtt-management-list-filters:not(.dtt-filter-form) > label:not([hidden]) {
	display: grid;
	grid-template-rows: auto 42px;
	row-gap: 8px;
	align-self: end;
	margin: 0;
}

/* The Travel Month field stays hidden until "Sort By: Travel Month" is chosen. */
body.logged-in .dtt-management-list-filters:not(.dtt-filter-form) > label[hidden] {
	display: none;
}

@media (min-width: 1001px) {
	body.logged-in .dtt-booking-list-filters:has(> label[data-dtt-booking-month-filter]:not([hidden])) {
		grid-template-columns: minmax(260px, 1fr) repeat(2, minmax(180px, 260px)) auto;
	}
}

/* Desktop: every field and the actions share one row (field count + Show + auto actions). */
@media (min-width: 1101px) {
	body.logged-in .dtt-management-list-filters:not(.dtt-user-list-filters) .dtt-filter-grid:has(> :nth-child(4):last-child) {
		grid-template-columns: repeat(2, minmax(0, 1fr)) minmax(90px, 110px) auto;
	}

	body.logged-in .dtt-management-list-filters:not(.dtt-user-list-filters) .dtt-filter-grid:has(> :nth-child(5):last-child) {
		grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(90px, 110px) auto;
	}

	body.logged-in .dtt-management-list-filters:not(.dtt-user-list-filters) .dtt-filter-grid:has(> :nth-child(6):last-child) {
		grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(90px, 110px) auto;
	}

	body.logged-in .dtt-management-list-filters:not(.dtt-user-list-filters) .dtt-filter-grid:has(> :nth-child(7):last-child) {
		grid-template-columns: repeat(5, minmax(0, 1fr)) minmax(90px, 110px) auto;
	}

	/* View Agents: five fields + Show + actions (the actions used to wrap). */
	body.logged-in .dtt-reference-user-list .dtt-agent-list-filters .dtt-filter-grid {
		grid-template-columns: minmax(170px, 1.2fr) repeat(4, minmax(110px, .8fr)) minmax(90px, .45fr) auto;
	}

	/* View Staff: three fields + Show + actions. */
	body.logged-in .dtt-reference-staff-list .dtt-staff-list-filters .dtt-filter-grid {
		grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) minmax(180px, .7fr) minmax(100px, .4fr) auto;
	}
}

@media (max-width: 760px) {
	body.logged-in .dtt-management-list-filters :is(.dtt-filter-actions, .dtt-index-filter-actions) {
		width: 100%;
	}

	body.logged-in .dtt-management-list-filters :is(.dtt-filter-actions, .dtt-index-filter-actions) .dtt-button {
		flex: 1 1 0;
	}
}

/* ------------------------------------------------------------------
 * List tables scroll inside their frame (RC48). The older
 * `body.logged-in .dtt-table-wrap { overflow: hidden; }` clipped wide
 * tables on phones; the frame keeps its rounded corners and only the
 * table scrolls sideways, so the page never scrolls horizontally.
 * ---------------------------------------------------------------- */
body.logged-in .dtt-table-wrap,
body.logged-in .dtt-management-list-table-wrap {
	max-width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
}

/* Pagination on phones: wrap instead of pushing the page sideways. */
@media (max-width: 760px) {
	.dtt-pagination {
		flex-wrap: wrap;
		justify-content: center;
		row-gap: 8px;
	}

	.dtt-pagination-links {
		flex-wrap: wrap;
		justify-content: center;
		max-width: 100%;
	}
}

/* ------------------------------------------------------------------
 * RC63 accessibility pass (UI audit). Keeps the navy/teal mockup look;
 * fixes clipped nav menus, small targets, scroll affordances and the
 * logged-out header. Nav menu positions come from initNavMenus() in
 * assets/js/app.js (--dtt-nav-menu-top/left/max-height).
 * ---------------------------------------------------------------- */

/* M1: one 42px button height; small buttons and in-table row actions are 36px. */
body.logged-in .dtt-button.dtt-button-small,
body.logged-in :is(.dtt-table, .dtt-inline-actions, .dtt-row-actions, .dtt-management-list-actions) .dtt-button {
	min-height: 36px;
}

/* M1: logged-out form controls share the 42px height. */
body:not(.logged-in) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]):not([type=submit]):not([type=button]), select) {
	height: 42px;
	min-height: 42px;
}

/* H1: nav strip at tablet and phone widths. The strip scrolls sideways, so its
 * native scrollbar is hidden and the edges glow while more items are off-screen
 * (background-attachment local/scroll), and an open menu is fixed to the
 * viewport so the strip's overflow never clips it. */
@media (max-width: 1180px) {
	body.logged-in .dtt-site-header > .dtt-dashboard-nav,
	body.admin-bar.logged-in .dtt-site-header > .dtt-dashboard-nav {
		scrollbar-width: none;
		background:
			linear-gradient(90deg, var(--dtt-mockup-navy) 40%, rgba(0, 27, 75, 0)) left center / 32px 100% no-repeat local,
			linear-gradient(270deg, var(--dtt-mockup-navy) 40%, rgba(0, 27, 75, 0)) right center / 32px 100% no-repeat local,
			linear-gradient(90deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0)) left center / 20px 100% no-repeat scroll,
			linear-gradient(270deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0)) right center / 20px 100% no-repeat scroll;
		background-color: var(--dtt-mockup-navy);
	}

	body.logged-in .dtt-site-header > .dtt-dashboard-nav::-webkit-scrollbar {
		display: none;
	}

	body.logged-in .dtt-site-header .dtt-nav-group.dtt-nav-open > .dtt-nav-menu {
		position: fixed;
		top: var(--dtt-nav-menu-top, 72px);
		right: auto;
		bottom: auto;
		left: var(--dtt-nav-menu-left, 12px);
		z-index: 70;
		width: max-content;
		min-width: min(220px, calc(100vw - 24px));
		max-width: min(320px, calc(100vw - 24px));
		max-height: var(--dtt-nav-menu-max-height, calc(100vh - 96px));
		margin: 0;
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
	}

	body.logged-in .dtt-site-header .dtt-nav-menu a > span {
		min-width: 0;
		overflow: hidden;
		text-overflow: ellipsis;
	}
}

/* H3: dropdown menu links read at 13px. Top-level labels are 13px where the strip
 * scrolls (<=1100px); on desktop they stay 12px so the full admin nav fits one row. */
body.logged-in .dtt-nav-menu a {
	font-size: 13px;
}

@media (max-width: 1100px) {
	body.logged-in .dtt-site-header > .dtt-dashboard-nav > a,
	body.logged-in .dtt-site-header > .dtt-dashboard-nav .dtt-nav-trigger {
		font-size: 13px;
	}
}

/* H3: between the desktop row and the scrolling strip (1101-1320px) the 12px labels
 * no longer fit on one line each; let long labels wrap under their icon instead of
 * overlapping the next item. */
@media (min-width: 1101px) and (max-width: 1320px) {
	body.logged-in .dtt-site-header > .dtt-dashboard-nav > a,
	body.logged-in .dtt-site-header > .dtt-dashboard-nav .dtt-nav-trigger {
		min-width: 0;
		padding-inline: 6px;
		line-height: 1.15;
		text-align: center;
		white-space: normal;
	}
}

/* M3: phones get the page back; the header scrolls away instead of pinning a tall block. */
@media (max-width: 700px) {
	body.logged-in .dtt-site-header,
	body.admin-bar.logged-in .dtt-site-header {
		position: relative;
		top: auto;
	}
}

/* M4: filter fields shrink before the trailing Show / Filter / Reset group wraps. */
body.logged-in .dtt-management-list-filters :is(.dtt-filter-field, .dtt-filter-control, .select2-container, select) {
	min-width: 0;
	max-width: 100%;
}

body.logged-in .dtt-management-list-filters .select2-selection__rendered {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

body.logged-in .dtt-management-list-filters .dtt-filter-actions {
	flex: none;
}

/* M10: list tables show an edge shadow while more columns are scrolled out of view. */
body.logged-in .dtt-table-wrap:not(.dtt-supplier-attention-wrap),
body.logged-in .dtt-management-list-table-wrap {
	overflow-x: auto;
	overflow-y: hidden;
	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.18), rgba(6, 32, 91, 0)) left center / 14px 100% no-repeat scroll,
		radial-gradient(farthest-side at 100% 50%, rgba(6, 32, 91, 0.18), rgba(6, 32, 91, 0)) right center / 14px 100% no-repeat scroll,
		linear-gradient(#ffffff, #ffffff);
	/* Shadows stay inside the scrollport, never in the reserved scrollbar gutter. */
	background-clip: padding-box, padding-box, padding-box, padding-box, border-box;
	background-color: #ffffff;
}

/* L1: back links are a full-height target. */
a.dtt-reference-editor-back,
a.dtt-back-link {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
}

/* L2: the whole checkbox label is at least a 24px target. */
label.dtt-checkbox-field {
	display: block;
	min-height: 24px;
	cursor: pointer;
}

.dtt-photo-delete {
	min-height: 24px;
}

.dtt-photo-delete input {
	width: 18px;
	height: 18px;
}

/* L3: the logged-out header logo shrinks with the bar instead of forcing it wider. */
body:not(.logged-in) .dtt-brand {
	min-width: 0;
}

body:not(.logged-in) .dtt-brand img {
	width: auto;
	max-width: 100%;
}

/* H2: the logged-out header keeps its primary action a teal button (.dtt-header-nav a
 * otherwise strips it to plain ink text). */
body:not(.logged-in) .dtt-header-nav a.dtt-button-primary {
	color: #ffffff;
	background: var(--dtt-mockup-teal-strong);
	border-color: var(--dtt-mockup-teal-strong);
}

body:not(.logged-in) .dtt-header-nav a.dtt-button-primary:hover,
body:not(.logged-in) .dtt-header-nav a.dtt-button-primary:focus {
	color: #ffffff;
	background: var(--dtt-mockup-teal-strong-hover);
	border-color: var(--dtt-mockup-teal-strong-hover);
}

/* L4: file pickers use the secondary button look. */
input[type=file]::file-selector-button {
	margin: 0 10px 0 0;
	padding: 6px 12px;
	color: #0a4abb;
	background: #ffffff;
	border: 1px solid #ccd9eb;
	border-radius: 5px;
	cursor: pointer;
	font: inherit;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
}

input[type=file]::file-selector-button:hover {
	background: #f3f7fd;
	border-color: #9fb6da;
}

/* L6: header tool icons are 16px. */
body.logged-in .dtt-header-tools .dtt-header-tool .dtt-ui-icon {
	width: 16px;
	height: 16px;
}

/* M9: skip link, hidden until keyboard focus. */
.dtt-skip-link {
	position: absolute;
	top: 8px;
	left: 8px;
	z-index: 100001;
	padding: 10px 16px;
	color: #ffffff;
	background: var(--dtt-mockup-teal-strong);
	border-radius: 6px;
	font-size: 14px;
	font-weight: 700;
	transform: translateY(-200%);
}

a.dtt-skip-link:hover,
a.dtt-skip-link:focus {
	color: #ffffff;
}

.dtt-skip-link:focus {
	transform: none;
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}

#dtt-main:focus {
	outline: none;
}

/* RC64: an open searchable list floats above every section (assets/js/app.js places it
 * from the trigger's rect, flips it above when there is no room below, and closes it on
 * outside click, Escape, resize and scroll-away). It scrolls on its own. */
.select2-dropdown.dtt-select2-floating {
	position: fixed;
	right: auto;
	z-index: 100000;
	display: block;
	box-sizing: border-box;
	max-width: calc(100vw - 16px);
}

.select2-dropdown.dtt-select2-floating .select2-results__options {
	max-height: 280px;
	overscroll-behavior: contain;
}

.select2-dropdown.dtt-select2-floating .select2-results__option--highlighted {
	background: #e8f8f8;
	box-shadow: inset 3px 0 0 var(--dtt-teal-text, #00756d);
	color: var(--dtt-navy);
}

@media (max-width: 680px) {
	.select2-dropdown.dtt-select2-floating .select2-results__option {
		padding: 11px 12px;
	}

	/* 16px keeps iOS from zooming the page when the search field takes focus. */
	.select2-dropdown.dtt-select2-floating .select2-search__field {
		font-size: 16px !important;
	}
}

/* ------------------------------------------------------------------
 * RC67: design QA (agent, supplier and logged-out views).
 * ---------------------------------------------------------------- */

/* Secondary text in table cells is never smaller than 12px. */
.dtt-table td small,
.dtt-table td > small {
	font-size: 12px;
}

/* Header search and bell: .dtt-header-nav a padding squeezed the 16px icon to ~10px. */
body.logged-in .dtt-header-tools > a.dtt-header-tool {
	display: inline-grid;
	place-items: center;
	width: 34px;
	height: 34px;
	min-height: 34px;
	padding: 0;
}

body.logged-in .dtt-header-tools > a.dtt-header-tool .dtt-ui-icon {
	flex: 0 0 auto;
	width: 16px;
	min-width: 16px;
	height: 16px;
}

/* A long user name ends in an ellipsis instead of widening the header. */
.dtt-user-menu-trigger {
	max-width: 220px;
	grid-template-columns: 30px minmax(0, 1fr) 12px;
}

.dtt-user-menu-trigger > span:not(.dtt-user-avatar) {
	justify-self: stretch;
	min-width: 0;
	overflow: hidden;
}

.dtt-user-menu-trigger strong,
.dtt-user-menu-trigger small {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* About 240px for the name at desktop widths. */
@media (min-width: 1024px) {
	.dtt-user-menu-trigger {
		max-width: 300px;
	}
}

/* The photo Delete label is AA on the pale card (#d33f49 was 4.39:1). */
.dtt-photo-delete,
.dtt-form .dtt-photo-delete > label {
	color: #b42f39;
}

.dtt-form .dtt-photo-delete > label {
	display: inline;
	cursor: pointer;
}

/* Profile details: an empty value reads "Not provided". */
.dtt-profile-detail-empty {
	color: var(--dtt-muted);
	font-style: italic;
	font-weight: 600;
}

/* Agency Readiness: the status badge sits beside the title without wrapping it. */
.dtt-agent-dashboard-overview .dtt-agent-readiness-card .dtt-section-header {
	gap: 8px;
}

.dtt-agent-dashboard-overview .dtt-agent-readiness-card .dtt-section-header h2 {
	min-width: 0;
	white-space: nowrap;
}

.dtt-agent-dashboard-overview .dtt-agent-readiness-card .dtt-section-header .dtt-status {
	flex: 0 0 auto;
}

/* 404: actions start at the left edge. */
.dtt-not-found .dtt-not-found-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 10px;
}

/* Create tour: Hotel and Room Type get the width their names need. */
@media (min-width: 1181px) {
	.dtt-reference-builder .dtt-hotel-line {
		grid-template-columns: minmax(0, 2fr) minmax(0, 2fr) repeat(4, minmax(0, 1fr));
	}
}

@media (min-width: 721px) and (max-width: 1180px) {
	.dtt-reference-builder .dtt-hotel-line {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.dtt-reference-builder .dtt-hotel-line > label:nth-child(-n + 2) {
		grid-column: span 2;
	}
}

/* Create tour: package buttons and the wizard nav wrap inside their cards. */
.dtt-reference-builder .dtt-itinerary-actions {
	flex-wrap: wrap;
	min-width: 0;
}

.dtt-reference-builder .dtt-builder-wizard-nav {
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
}

.dtt-reference-builder .dtt-builder-wizard-nav .dtt-button {
	max-width: 100%;
	white-space: normal;
}

/* The sticky header never covers the builder H1 after a step change. */
.dtt-reference-builder .dtt-builder-heading {
	scroll-margin-top: 92px;
}

@media (max-width: 600px) {
	.dtt-reference-builder .dtt-itinerary-actions {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		width: 100%;
	}

	.dtt-reference-builder .dtt-itinerary-actions .dtt-button {
		width: 100%;
		justify-content: center;
	}

	.dtt-reference-builder .dtt-builder-wizard-nav {
		grid-template-columns: minmax(0, 1fr);
		gap: 8px;
	}

	.dtt-reference-builder .dtt-builder-wizard-nav [data-dtt-wizard-status] {
		order: -1;
		justify-self: center;
	}

	.dtt-reference-builder .dtt-builder-wizard-nav [data-dtt-wizard-previous],
	.dtt-reference-builder .dtt-builder-wizard-nav [data-dtt-wizard-next] {
		justify-self: stretch;
		width: 100%;
		justify-content: center;
	}

	/* Agent dashboard: the H1 gets the full width. */
	body.logged-in .dtt-dashboard-hero {
		grid-template-columns: minmax(0, 1fr);
	}

	body.logged-in .dtt-dashboard-hero .dtt-dashboard-actions {
		flex-wrap: wrap;
		justify-content: flex-start;
	}

	/* Supplier booking view: the reference keeps whole on one line. */
	body.logged-in .dtt-page-heading.dtt-reference-user-editor-heading {
		grid-template-columns: minmax(0, 1fr);
	}

	body.logged-in .dtt-page-heading.dtt-reference-user-editor-heading h1 {
		overflow-wrap: break-word;
		word-break: normal;
	}

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

	.dtt-user-menu-trigger {
		max-width: 150px;
	}
}

/* Logged-out pages (login, 404) keep a 16px side gutter at phone width. */
@media (max-width: 640px) {
	body:not(.logged-in) .dtt-page-shell {
		width: calc(100% - 32px);
	}
}

/* Registration heading: at tablet widths it is a column, so its text starts at the left
 * edge instead of being pushed right by align-items: flex-end. */
@media (max-width: 980px) {
	.dtt-reference-agent-registration .dtt-registration-heading,
	.dtt-page-heading.dtt-registration-heading {
		align-items: flex-start;
	}
}

@media (max-width: 620px) {
	.dtt-reference-agent-registration .dtt-registration-heading,
	.dtt-page-heading.dtt-registration-heading {
		align-items: stretch;
	}
}

/* ------------------------------------------------------------------
 * RC70 design QA.
 * ---------------------------------------------------------------- */

/* Booking Operations tab bar: below 600px the five tabs wrap onto rows, so none is clipped off the right edge. */
@media (max-width: 600px) {
	.dtt-booking-tabs-section > .dtt-tabs {
		flex-wrap: wrap;
		overflow-x: visible;
	}

	.dtt-booking-tabs-section > .dtt-tabs .dtt-tab {
		flex: 1 1 auto;
		justify-content: center;
		min-height: 44px;
		border-bottom: 1px solid var(--dtt-line);
	}
}

/* Included Services and Payment History: scrolling tables get a stronger edge cue, and below 760px the rows stack
 * with their column labels (data-label) so nothing runs past the right edge. */
body.logged-in .dtt-booking-services-card .dtt-table-wrap:not(.dtt-supplier-attention-wrap),
body.logged-in .dtt-table-wrap.dtt-booking-table-wrap:not(.dtt-supplier-attention-wrap) {
	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) {
	body.logged-in .dtt-booking-services-card .dtt-table-wrap:not(.dtt-supplier-attention-wrap),
	body.logged-in .dtt-table-wrap.dtt-booking-table-wrap:not(.dtt-supplier-attention-wrap) {
		overflow-x: visible;
		background: none;
		border: 0;
	}

	body.logged-in .dtt-booking-services-table,
	body.logged-in .dtt-booking-table {
		min-width: 0;
		width: 100%;
		border-collapse: collapse;
	}

	body.logged-in .dtt-booking-services-table thead,
	body.logged-in .dtt-booking-table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}

	body.logged-in .dtt-booking-services-table tr,
	body.logged-in .dtt-booking-table tr {
		display: block;
		margin-bottom: 10px;
		border: 1px solid var(--dtt-line);
		border-radius: 6px;
		background: #fff;
	}

	body.logged-in .dtt-booking-services-table td,
	body.logged-in .dtt-booking-table td {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: 12px;
		min-width: 0;
		padding: 8px 10px;
		border-bottom: 1px solid var(--dtt-line);
		text-align: right;
		overflow-wrap: anywhere;
	}

	body.logged-in .dtt-booking-services-table td:last-child,
	body.logged-in .dtt-booking-table td:last-child {
		border-bottom: 0;
	}

	body.logged-in .dtt-booking-services-table td::before,
	body.logged-in .dtt-booking-table td::before {
		content: attr(data-label);
		flex: 0 0 auto;
		max-width: 45%;
		color: #50698f;
		font-size: 12px;
		font-weight: 800;
		text-align: left;
	}
}

/* Add Ferry Rate / Add-on editors: with the sidebar present, 1024px gets two columns so the destination
 * placeholder is not cut off, and a long select value truncates instead of widening its column. */
@media (min-width: 761px) and (max-width: 1180px) {
	body.logged-in .dtt-reference-editor-panel .dtt-grid-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.dtt-reference-editor-panel .dtt-grid > label,
.dtt-reference-editor-panel .dtt-grid .select2-container {
	min-width: 0;
	max-width: 100%;
}

/* Logged-out header (login, registration): keep the brand and the two buttons on one row from 641px to 980px. */
@media (min-width: 641px) and (max-width: 980px) {
	body:not(.logged-in) .dtt-site-header {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		gap: 12px;
	}

	body:not(.logged-in) .dtt-brand {
		min-width: 0;
	}

	body:not(.logged-in) .dtt-brand img {
		width: min(190px, 100%);
	}

	body:not(.logged-in) .dtt-header-nav {
		flex-wrap: nowrap;
		justify-content: flex-end;
		justify-self: end;
		gap: 8px;
		width: auto;
	}

	body:not(.logged-in) .dtt-header-nav a {
		white-space: nowrap;
	}
}

/* "Unpublished" / "Hidden from agents" label on catalog detail pages (managers only): a status chip with a readable note. */
.dtt-catalog-unpublished {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0 0 14px;
	color: #3d4f6f;
	font-size: 13px;
	line-height: 1.45;
}

.dtt-catalog-unpublished .dtt-status {
	min-height: 24px;
	padding: 3px 9px;
	border: 1px solid #f4d98b;
	border-radius: 4px;
	background: #fff4d8;
	color: #6b4700;
	font-size: 12px;
	font-weight: 850;
	letter-spacing: 0.01em;
}

/* RC71: catalog detail lists. The 190px label column left about 35px for the value at 390px, so below 560px
 * each label sits above its value (one column); wider screens keep the two-column layout. */
@media (max-width: 560px) {
	.dtt-detail-list,
	.dtt-catalog-detail .dtt-detail-list,
	body.logged-in .dtt-catalog-detail .dtt-detail-list {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}

	.dtt-catalog-detail .dtt-detail-list dt {
		padding-top: 12px;
	}

	.dtt-catalog-detail .dtt-detail-list dt:first-child {
		padding-top: 0;
	}

	.dtt-catalog-detail .dtt-detail-list dd {
		max-width: none;
		padding-bottom: 12px;
		border-bottom: 1px solid var(--dtt-line);
	}

	.dtt-catalog-detail .dtt-detail-list dd:last-child {
		padding-bottom: 0;
		border-bottom: 0;
	}
}

/* RC71: admin header from 701px to 1180px. The 14 top-level items cannot share one row with the brand and the
 * account chip, and the sideways strip hid Engagement and Account. The menu moves to its own full-width row and
 * wraps, so every item is reachable without scrolling; menus still open as panels under their trigger. */
@media (min-width: 701px) and (max-width: 1180px) {
	body.logged-in .dtt-site-header,
	body.admin-bar.logged-in .dtt-site-header {
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-rows: auto auto;
		align-items: center;
		gap: 0 12px;
		min-height: 0;
		padding: 6px 12px 0;
	}

	body.logged-in .dtt-site-header > .dtt-brand {
		grid-column: 1;
		grid-row: 1;
	}

	body.logged-in .dtt-site-header > .dtt-header-nav {
		grid-column: 2;
		grid-row: 1;
		justify-content: flex-end;
	}

	body.logged-in .dtt-site-header > .dtt-dashboard-nav,
	body.admin-bar.logged-in .dtt-site-header > .dtt-dashboard-nav {
		grid-column: 1 / -1;
		grid-row: 2;
		flex-wrap: wrap;
		justify-content: flex-start;
		gap: 2px 4px;
		min-height: 0;
		padding: 4px 0 6px;
		overflow: visible;
		background: transparent;
		border-top: 1px solid rgba(255, 255, 255, 0.14);
	}

	body.logged-in .dtt-site-header > .dtt-dashboard-nav > a,
	body.logged-in .dtt-site-header > .dtt-dashboard-nav .dtt-nav-trigger {
		flex-direction: row;
		min-height: 40px;
		padding: 6px 10px;
		gap: 6px;
		font-size: 13px;
		white-space: nowrap;
	}
}

/* RC72: Create Customized Tour step bar. Between 721px and 1100px the six equal columns are narrower than
 * the longest label, so tighten the padding and let a label wrap onto a second line instead of being clipped.
 * Phones (720px and below) keep numbers only and every state keeps the 36px minimum height. */
@media (min-width: 721px) and (max-width: 1100px) {
	body.logged-in .dtt-reference-builder .dtt-builder-steps button {
		gap: 6px;
		padding: 2px 8px;
		line-height: 1.15;
		white-space: normal;
	}

	body.logged-in .dtt-reference-builder .dtt-builder-steps button > span {
		min-width: 0;
		white-space: normal;
		overflow-wrap: anywhere;
		text-align: left;
		text-wrap: balance;
	}

	body.logged-in .dtt-reference-builder .dtt-builder-steps button > b {
		flex: 0 0 20px;
	}
}

/* RC72: scroll cue on the phone nav strip. Sticky end caps fade the clipped edge and follow the scroll position
 * (they hide once the strip reaches that end). They ignore pointer events, so taps still reach the nav items. */
@media (max-width: 700px) {
	@supports (animation-timeline: scroll()) {
		body.logged-in .dtt-site-header > .dtt-dashboard-nav::before,
		body.logged-in .dtt-site-header > .dtt-dashboard-nav::after {
			content: "";
			position: sticky;
			z-index: 3;
			flex: 0 0 28px;
			align-self: stretch;
			opacity: 0;
			pointer-events: none;
			animation-duration: 1ms;
			animation-fill-mode: both;
			animation-timing-function: linear;
			animation-timeline: scroll(nearest inline);
		}

		body.logged-in .dtt-site-header > .dtt-dashboard-nav::before {
			left: 0;
			margin-right: -28px;
			background: linear-gradient(90deg, var(--dtt-mockup-navy) 20%, rgba(0, 27, 75, 0));
			animation-name: dtt-nav-fade-in;
			animation-range: 0 28px;
		}

		body.logged-in .dtt-site-header > .dtt-dashboard-nav::after {
			right: 0;
			margin-left: -28px;
			background: linear-gradient(270deg, var(--dtt-mockup-navy) 20%, rgba(0, 27, 75, 0));
			animation-name: dtt-nav-fade-out;
			animation-range: calc(100% - 28px) 100%;
		}

		@keyframes dtt-nav-fade-in {
			from { opacity: 0; }
			to { opacity: 1; }
		}

		@keyframes dtt-nav-fade-out {
			from { opacity: 1; }
			to { opacity: 0; }
		}
	}
}

/* RC74: stat cards. The icon sits at the right edge (right 17-18px, 40-44px wide), so every stat card reserves
 * 68px on the right and no title, value or note (wrapped or not) can run under it. Screens with their own,
 * more specific KPI padding keep it. */
body.logged-in .dtt-stat-card {
	padding-right: 68px;
}

/* RC74: the two-card dashboard row (admin and agent) must stack on phones. The overview rule above
 * (min 300px second column) outranks the generic 1000px stack, so it squeezed the chart card to ~40px. */
@media (max-width: 640px) {
	.dtt-dashboard-overview .dtt-dashboard-grid-main {
		grid-template-columns: minmax(0, 1fr);
	}
}

/*
 * Dashboard summary cards: one scrollable row so amounts keep their size and never wrap to a second
 * line. Cards share the width when they fit and scroll sideways (snapping per card, slim custom
 * scrollbar) when they do not, on desktop and phones alike.
 */
body.logged-in .dtt-dashboard-overview .dtt-stat-grid {
	display: flex;
	gap: 10px;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x proximity;
	padding-bottom: 10px;
}

@supports (-moz-appearance: none) {
	body.logged-in .dtt-dashboard-overview .dtt-stat-grid {
		scrollbar-width: thin;
		scrollbar-color: #9fb4cf #e8eef7;
	}
}

body.logged-in .dtt-dashboard-overview .dtt-stat-card {
	flex: 1 0 auto;
	min-width: 220px;
	scroll-snap-align: start;
}

body.logged-in .dtt-dashboard-overview .dtt-stat-card strong {
	white-space: nowrap;
}

body.logged-in .dtt-dashboard-overview .dtt-stat-grid::-webkit-scrollbar {
	height: 6px;
}

body.logged-in .dtt-dashboard-overview .dtt-stat-grid::-webkit-scrollbar-track {
	background: #e8eef7;
	border-radius: 999px;
}

body.logged-in .dtt-dashboard-overview .dtt-stat-grid::-webkit-scrollbar-thumb {
	background: #9fb4cf;
	border-radius: 999px;
}

body.logged-in .dtt-dashboard-overview .dtt-stat-grid::-webkit-scrollbar-thumb:hover {
	background: #6f8ab0;
}

body.logged-in .dtt-dashboard-overview .dtt-stat-grid::-webkit-scrollbar-button,
body.logged-in .dtt-dashboard-overview .dtt-stat-grid::-webkit-scrollbar-button:single-button {
	display: none;
	width: 0;
	height: 0;
}

/* Notification bell: button, red unread badge and dropdown panel. */
.dtt-notifications { position: relative; }
body.logged-in .dtt-header-tools .dtt-notifications .dtt-header-tool-notifications {
	width: 44px;
	height: 44px;
	cursor: pointer;
	color: #fff;
}
body.logged-in .dtt-header-tools .dtt-notifications .dtt-header-tool-notifications:hover { background: rgba(255, 255, 255, 0.12); }
body.logged-in .dtt-header-tools .dtt-notifications .dtt-header-tool-notifications:focus-visible { outline: 2px solid #00d9c8; outline-offset: 2px; }
.dtt-header-tool-notifications .dtt-notification-count[hidden] { display: none; }
@media (max-width: 820px) {
	/* The mobile header button sits at y=0, so keep the badge inside the 44px box instead of clipped above it. */
	.dtt-header-tool-notifications .dtt-notification-count { top: 2px; right: 2px; }
}
.dtt-notifications-panel {
	position: absolute;
	z-index: 60;
	top: calc(100% + 8px);
	right: 0;
	width: min(360px, calc(100vw - 24px));
	max-height: min(70vh, 480px);
	overflow-y: auto;
	background: #fff;
	color: var(--dtt-mockup-ink);
	border: 1px solid var(--dtt-mockup-line);
	border-radius: 8px;
	box-shadow: 0 14px 30px rgba(0, 27, 75, 0.16);
}
.dtt-notifications-panel[hidden] { display: none; }
.dtt-notifications-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 14px; border-bottom: 1px solid var(--dtt-mockup-line); }
.dtt-notifications-markall { min-height: 44px; padding: 0 6px; color: #0b5cad; background: transparent; border: 0; font-size: 13px; font-weight: 700; cursor: pointer; }
.dtt-notifications-markall[hidden] { display: none; }
.dtt-notifications-list { margin: 0; padding: 0; list-style: none; }
.dtt-notification-item a { display: grid; gap: 2px; min-height: 44px; padding: 10px 14px 10px 18px; color: var(--dtt-mockup-ink); border-bottom: 1px solid var(--dtt-mockup-line); text-decoration: none; overflow-wrap: anywhere; }
.dtt-notification-item a:hover,
.dtt-notification-item a:focus-visible { background: #f3f7fd; }
.dtt-notification-item.is-unread a { background: #eef6ff; box-shadow: inset 4px 0 0 #d0142c; }
.dtt-notification-item span { font-size: 13px; }
.dtt-notification-item time { font-size: 12px; color: #5b6b8c; }
.dtt-notifications-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 14px; border-top: 1px solid var(--dtt-mockup-line); font-size: 13px; }
.dtt-notifications-foot small { color: #5b6b8c; }
.dtt-notifications-empty { margin: 0; padding: 22px 14px; text-align: center; color: #5b6b8c; }
@media (max-width: 640px) {
	/* The bell is not at the screen edge: anchor the panel to the sticky header so it always fits. */
	.dtt-notifications { position: static; }
	.dtt-notifications-panel { top: 100%; left: 12px; right: 12px; width: auto; }
}
