@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800;900&family=DM+Mono:wght@400;500;700&display=swap');

.csh-cp {
	--csh-cp-navy: #033f63;
	--csh-cp-blue: #2e6eb7;
	--csh-cp-teal: #30d5c8;
	--csh-cp-white: #ffffff;
	--csh-cp-bg: #f4f6f9;
	--csh-cp-text: #374151;
	--csh-cp-muted: #6b7280;
	--csh-cp-border: #e5e7eb;
	--csh-cp-green: #16a34a;
	--csh-cp-red: #dc2626;
	--csh-cp-shadow: 0 1px 4px rgba(3, 63, 99, .08), 0 4px 16px rgba(3, 63, 99, .06);
	font-family: 'DM Sans', Arial, sans-serif;
	color: var(--csh-cp-text);
	background: var(--csh-cp-bg);
	min-height: 100vh;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.csh-cp *,
.csh-cp *::before,
.csh-cp *::after {
	box-sizing: border-box;
}

.csh-cp [hidden] {
	display: none !important;
}

.csh-cp a {
	color: var(--csh-cp-blue);
}

.csh-cp-login {
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 28px 16px;
	background: linear-gradient(135deg, var(--csh-cp-navy) 0%, #1a3a6e 100%);
}

.csh-cp-login-card {
	width: 100%;
	max-width: 430px;
	background: var(--csh-cp-white);
	border-radius: 18px;
	padding: 38px 34px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, .25);
}

.csh-cp-login-brand {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 13px;
	margin-bottom: 9px;
}

.csh-cp-login-logo-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	text-decoration: none;
}

.csh-cp-login-logo {
	width: 116px;
	max-width: 116px;
	height: auto;
	display: block;
}

.csh-cp-login-divider {
	width: 1px;
	height: 36px;
	background: #d1d5db;
}

.csh-cp-brand-stack {
	line-height: 1.35;
	text-align: left;
}

.csh-cp-brand-stack span,
.csh-cp-brand-stack strong {
	display: block;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--csh-cp-text);
}

.csh-cp-brand-stack strong {
	color: var(--csh-cp-blue);
}

.csh-cp-login-kicker {
	margin: 0 0 26px;
	font-size: 12px;
	color: var(--csh-cp-muted);
	text-align: center;
}

.csh-cp-login h1 {
	margin: 0 0 7px;
	font-size: 21px;
	line-height: 1.25;
	font-weight: 800;
	color: var(--csh-cp-navy);
}

.csh-cp-login-copy {
	margin: 0 0 22px;
	font-size: 13px;
	line-height: 1.55;
	color: var(--csh-cp-muted);
}

.csh-cp-alert {
	border-radius: 9px;
	padding: 11px 14px;
	font-size: 13px;
	line-height: 1.45;
	margin-bottom: 14px;
}

.csh-cp-alert-error {
	background: #fef2f2;
	border: 1px solid #fecaca;
	color: var(--csh-cp-red);
}

.csh-cp-alert-success {
	background: #f0fdf4;
	border: 1px solid #86efac;
	color: var(--csh-cp-green);
}

.csh-cp-login-form label {
	display: block;
	font-size: 11px;
	font-weight: 800;
	color: var(--csh-cp-text);
	letter-spacing: .5px;
	text-transform: uppercase;
	margin: 0 0 7px;
}

.csh-cp-login-form input {
	width: 100%;
	border: 1.5px solid var(--csh-cp-border);
	border-radius: 9px;
	padding: 12px 14px;
	font-size: 14px;
	font-family: inherit;
	color: var(--csh-cp-navy);
	outline: none;
	transition: border .15s, box-shadow .15s;
}

.csh-cp-login-form input:focus {
	border-color: var(--csh-cp-blue);
	box-shadow: 0 0 0 3px rgba(46, 110, 183, .11);
}

.csh-cp-login-form button,
.csh-cp-nav-user button {
	font-family: inherit;
	cursor: pointer;
}

.csh-cp-login-form button {
	width: 100%;
	border: 0;
	border-radius: 10px;
	background: var(--csh-cp-blue);
	color: var(--csh-cp-white);
	padding: 13px 14px;
	font-size: 14px;
	font-weight: 800;
	margin-top: 16px;
	transition: background .15s, opacity .15s;
}

.csh-cp-login-form button:hover {
	background: var(--csh-cp-navy);
}

.csh-cp-login-form button:disabled,
.csh-cp-nav-user button:disabled {
	opacity: .62;
	cursor: not-allowed;
}

.csh-cp-login-note {
	margin: 16px 0 0;
	font-size: 11px;
	line-height: 1.5;
	text-align: center;
	color: var(--csh-cp-muted);
}

.csh-cp-dashboard {
	min-height: 100vh;
	background: var(--csh-cp-bg);
}

.csh-cp-nav {
	min-height: 58px;
	background: var(--csh-cp-navy);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 0 24px;
	position: sticky;
	top: 0;
	z-index: 100;
}

.csh-cp-nav-brand,
.csh-cp-nav-user {
	display: flex;
	align-items: center;
}

.csh-cp-nav-brand {
	gap: 10px;
}

.csh-cp-nav-wordmark {
	font-size: 22px;
	font-weight: 900;
	color: var(--csh-cp-white);
	letter-spacing: -1px;
}

.csh-cp-nav-line {
	width: 1px;
	height: 28px;
	background: rgba(255, 255, 255, .25);
}

.csh-cp-nav-stack {
	line-height: 1.35;
	text-align: left;
}

.csh-cp-nav-stack span,
.csh-cp-nav-stack strong,
.csh-cp-nav-stack em {
	display: block;
	font-style: normal;
	font-size: 7.5px;
	font-weight: 800;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.csh-cp-nav-stack span {
	color: rgba(255, 255, 255, .72);
}

.csh-cp-nav-stack strong {
	color: var(--csh-cp-teal);
}

.csh-cp-nav-stack em {
	color: rgba(255, 255, 255, .45);
	font-weight: 700;
	letter-spacing: .8px;
	margin-top: 1px;
}

.csh-cp-nav-user {
	gap: 10px;
}

.csh-cp-avatar {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--csh-cp-teal);
	color: var(--csh-cp-navy);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	font-weight: 900;
	flex: 0 0 auto;
}

.csh-cp-user-name {
	font-size: 13px;
	font-weight: 700;
	color: var(--csh-cp-white);
}

.csh-cp-user-company {
	font-size: 11px;
	color: rgba(255, 255, 255, .48);
}

.csh-cp-nav-user button {
	background: rgba(255, 255, 255, .10);
	border: 1px solid rgba(255, 255, 255, .16);
	color: rgba(255, 255, 255, .76);
	font-size: 12px;
	font-weight: 600;
	padding: 6px 13px;
	border-radius: 7px;
}

.csh-cp-nav-user button:hover {
	background: rgba(255, 255, 255, .18);
}


.csh-cp-nav-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	position: relative;
}

.csh-cp-booking-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 32px;
	padding: 7px 13px;
	border-radius: 8px;
	background: var(--csh-cp-blue);
	color: var(--csh-cp-white);
	font-size: 12px;
	font-weight: 800;
	text-decoration: none;
	border: 1px solid rgba(255, 255, 255, .16);
}

.csh-cp-booking-link:hover {
	background: #255fb3;
	color: var(--csh-cp-white);
}

.csh-cp-account-switcher {
	position: relative;
}

.csh-cp-account-button {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 230px;
	max-width: 360px;
	background: rgba(255, 255, 255, .98) !important;
	border: 1px solid rgba(255, 255, 255, .42) !important;
	border-radius: 999px !important;
	padding: 6px 12px 6px 7px !important;
	box-shadow: 0 8px 20px rgba(0, 0, 0, .12);
	color: var(--csh-cp-navy) !important;
	text-align: left;
}

.csh-cp-account-copy {
	display: flex;
	flex-direction: column;
	gap: 1px;
	min-width: 0;
	flex: 1;
}

.csh-cp-account-copy strong {
	font-size: 13px;
	font-weight: 900;
	line-height: 1.2;
	color: var(--csh-cp-navy);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.csh-cp-account-copy small {
	font-size: 11px;
	line-height: 1.2;
	color: #64748b;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.csh-cp-account-caret {
	font-size: 14px;
	color: #64748b;
	transition: transform .15s ease;
}

.csh-cp-account-switcher.open .csh-cp-account-caret {
	transform: rotate(180deg);
}

.csh-cp-account-menu {
	position: absolute;
	right: 0;
	top: calc(100% + 8px);
	width: min(360px, calc(100vw - 24px));
	background: #fff;
	border: 1px solid #d7e1ef;
	border-radius: 14px;
	box-shadow: 0 18px 44px rgba(15,23,42,.18);
	overflow: hidden;
	display: none;
	z-index: 150;
}

.csh-cp-account-switcher.open .csh-cp-account-menu {
	display: block;
}

.csh-cp-account-menu-head {
	padding: 14px 16px;
	background: #f8fbff;
	border-bottom: 1px solid #e5edf7;
}

.csh-cp-account-menu-head strong {
	display: block;
	font-size: 14px;
	font-weight: 900;
	line-height: 1.2;
	color: var(--csh-cp-navy);
}

.csh-cp-account-menu-head small {
	display: block;
	font-size: 12px;
	color: #64748b;
	margin-top: 2px;
}

.csh-cp-account-company-list {
	max-height: 280px;
	overflow: auto;
}

.csh-cp-account-company-option {
	width: 100%;
	border: 0;
	border-bottom: 1px solid #eef2f7;
	background: #fff;
	text-align: left;
	padding: 13px 16px;
	cursor: pointer;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	font-family: inherit;
	color: var(--csh-cp-navy);
}

.csh-cp-account-company-option:hover,
.csh-cp-account-company-option.active {
	background: #eef5ff;
}

.csh-cp-account-company-option strong {
	display: block;
	font-size: 13px;
	font-weight: 900;
	line-height: 1.25;
	color: var(--csh-cp-navy);
}

.csh-cp-account-company-option small {
	display: block;
	font-size: 11px;
	color: #64748b;
	margin-top: 3px;
	line-height: 1.25;
}

.csh-cp-account-company-badge {
	font-size: 10px;
	font-weight: 900;
	color: #166534;
	background: #dcfce7;
	border-radius: 999px;
	padding: 3px 8px;
	white-space: nowrap;
}

.csh-cp-account-menu-footer {
	width: 100%;
	border: 0;
	border-top: 1px solid #e5edf7;
	background: #fff7f7;
	color: #b42318;
	font-size: 13px;
	font-weight: 800;
	text-align: left;
	padding: 12px 16px;
	cursor: pointer;
}

.csh-cp-account-menu-footer:hover {
	background: #fff1f1;
}

.csh-cp-wrap {
	max-width: 1100px;
	margin: 0 auto;
	padding: 30px 20px;
}

.csh-cp-page-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 22px;
}

.csh-cp-page-head h2 {
	margin: 0;
	font-size: 24px;
	line-height: 1.25;
	font-weight: 800;
	color: var(--csh-cp-navy);
	display: flex;
	align-items: center;
	gap: 8px;
}

.csh-cp-page-head p {
	margin: 4px 0 0;
	font-size: 13px;
	color: var(--csh-cp-muted);
}

.csh-cp-live-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--csh-cp-teal);
	display: inline-block;
	animation: csh-cp-live 2s infinite;
}

@keyframes csh-cp-live {
	0%, 100% { opacity: 1; transform: scale(1); }
	50% { opacity: .55; transform: scale(1.35); }
}

.csh-cp-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 13px;
	margin-bottom: 25px;
}

.csh-cp-stat {
	background: var(--csh-cp-white);
	border: 1px solid var(--csh-cp-border);
	border-radius: 13px;
	padding: 17px 18px;
	box-shadow: var(--csh-cp-shadow);
	min-width: 0;
}

.csh-cp-stat span {
	display: block;
	font-size: 10px;
	font-weight: 800;
	color: var(--csh-cp-muted);
	text-transform: uppercase;
	letter-spacing: .7px;
	margin-bottom: 7px;
}

.csh-cp-stat strong {
	display: block;
	font-size: 22px;
	font-weight: 900;
	line-height: 1.05;
	color: var(--csh-cp-navy);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.csh-cp-stat small {
	display: block;
	font-size: 11px;
	color: var(--csh-cp-muted);
	margin-top: 5px;
}

.csh-cp-tabs {
	display: flex;
	gap: 0;
	border-bottom: 2px solid var(--csh-cp-border);
	margin-bottom: 18px;
}

.csh-cp-tabs button {
	border: 0;
	border-bottom: 2px solid transparent;
	background: transparent;
	padding: 11px 21px;
	margin-bottom: -2px;
	font-size: 13px;
	font-weight: 700;
	font-family: inherit;
	color: var(--csh-cp-muted);
	cursor: default;
}

.csh-cp-tabs button.active {
	color: var(--csh-cp-blue);
	border-bottom-color: var(--csh-cp-blue);
}

.csh-cp-tabs span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 10px;
	background: var(--csh-cp-teal);
	color: var(--csh-cp-navy);
	font-size: 10px;
	font-weight: 900;
	margin-left: 6px;
}

.csh-cp-empty-card {
	background: var(--csh-cp-white);
	border: 1px solid var(--csh-cp-border);
	border-radius: 14px;
	box-shadow: var(--csh-cp-shadow);
	padding: 34px 24px;
	text-align: center;
}

.csh-cp-empty-card h3 {
	margin: 0 0 8px;
	font-size: 17px;
	line-height: 1.35;
	font-weight: 800;
	color: var(--csh-cp-navy);
}

.csh-cp-empty-card p {
	max-width: 620px;
	margin: 0 auto;
	font-size: 13px;
	line-height: 1.65;
	color: var(--csh-cp-muted);
}

@media (max-width: 840px) {
	.csh-cp-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.csh-cp-login-card {
		padding: 30px 22px;
	}

	.csh-cp-nav {
		padding: 10px 14px;
		align-items: flex-start;
		flex-direction: column;
	}

	.csh-cp-nav-user {
		width: 100%;
		justify-content: space-between;
	}

	
.csh-cp-wrap {
		padding: 20px 12px;
	}

	.csh-cp-stats {
		grid-template-columns: 1fr;
	}

	.csh-cp-tabs {
		overflow-x: auto;
	}

	.csh-cp-tabs button {
		white-space: nowrap;
	}
}

body.custm-shifts-customer-portal-page footer.footer {
	display: none !important;
}

.csh-cp-branch-card {
	background: var(--csh-cp-white);
	border: 1px solid var(--csh-cp-border);
	border-radius: 14px;
	box-shadow: var(--csh-cp-shadow);
	padding: 18px 20px;
	margin: -8px 0 24px;
}

.csh-cp-branch-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
}

.csh-cp-branch-head label {
	display: block;
	font-size: 13px;
	font-weight: 800;
	color: var(--csh-cp-navy);
}

.csh-cp-branch-head p {
	margin: 4px 0 0;
	font-size: 12px;
	line-height: 1.5;
	color: var(--csh-cp-muted);
}

.csh-cp-branch-head select {
	min-width: 260px;
	max-width: 100%;
	border: 1.5px solid var(--csh-cp-border);
	border-radius: 9px;
	padding: 10px 12px;
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	color: var(--csh-cp-navy);
	background: var(--csh-cp-white);
}


@media (max-width: 620px) {
	.csh-cp-branch-head {
		align-items: stretch;
		flex-direction: column;
	}

	.csh-cp-branch-head select {
		min-width: 0;
		width: 100%;
	}
}

.csh-cp-select-wrap {
	position: relative;
	min-width: 260px;
	max-width: 100%;
}

.csh-cp-select-wrap select {
	width: 100%;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	padding-right: 38px;
}

.csh-cp-select-wrap > span {
	position: absolute;
	right: 13px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	font-size: 13px;
	line-height: 1;
	color: var(--csh-cp-navy);
}

.csh-cp-history-alert {
	background: #fff7ed;
	border: 1px solid #fed7aa;
	border-radius: 10px;
	color: #9a3412;
	font-size: 13px;
	line-height: 1.5;
	padding: 12px 14px;
	margin-bottom: 16px;
}

.csh-cp-history-panel {
	display: none;
}

.csh-cp-history-panel.active {
	display: block;
}

.csh-cp-history-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.csh-cp-booking-card {
	background: var(--csh-cp-white);
	border: 1px solid var(--csh-cp-border);
	border-radius: 14px;
	box-shadow: var(--csh-cp-shadow);
	padding: 16px 18px;
}

.csh-cp-booking-head {
	display: flex;
	justify-content: space-between;
	gap: 18px;
	align-items: flex-start;
}

.csh-cp-booking-ref {
	font-family: 'DM Mono', monospace;
	font-size: 13px;
	font-weight: 900;
	color: var(--csh-cp-navy);
	margin-bottom: 5px;
}

.csh-cp-booking-route {
	font-size: 13px;
	font-weight: 700;
	color: var(--csh-cp-text);
	line-height: 1.45;
}

.csh-cp-booking-meta {
	margin-top: 5px;
	font-size: 12px;
	line-height: 1.5;
	color: var(--csh-cp-muted);
}

.csh-cp-booking-side {
	display: flex;
	align-items: flex-end;
	flex-direction: column;
	gap: 7px;
	flex: 0 0 auto;
}

.csh-cp-status-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: #dcfce7;
	color: #166534;
	font-size: 11px;
	font-weight: 900;
	padding: 4px 10px;
}

.csh-cp-booking-amount {
	font-size: 13px;
	font-weight: 900;
	color: var(--csh-cp-navy);
}

.csh-cp-booking-actions {
	margin-top: 13px;
	padding-top: 13px;
	border-top: 1px solid var(--csh-cp-border);
}

.csh-cp-booking-actions a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: rgba(46, 110, 183, .09);
	border: 1px solid rgba(46, 110, 183, .18);
	color: var(--csh-cp-blue);
	font-size: 12px;
	font-weight: 800;
	padding: 8px 14px;
	text-decoration: none;
}

.csh-cp-tabs button {
	cursor: pointer;
}

@media (max-width: 620px) {
	.csh-cp-select-wrap {
		min-width: 0;
		width: 100%;
	}

	.csh-cp-booking-head {
		flex-direction: column;
	}

	.csh-cp-booking-side {
		align-items: flex-start;
	}
}

.csh-cp-status-pill.is-pending {
	background: #fef3c7;
	color: #92400e;
}

.csh-cp-status-pill.is-picked {
	background: #ede9fe;
	color: #6d28d9;
}

.csh-cp-status-pill.is-transit {
	background: #dbeafe;
	color: #1d4ed8;
}

.csh-cp-status-pill.is-complete {
	background: #dcfce7;
	color: #166534;
}

.csh-cp-status-pill.is-failed {
	background: #fee2e2;
	color: #991b1b;
}

.csh-cp-history-stats {
	margin-top: 8px;
	margin-bottom: 24px;
}

.csh-cp-history-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin: -4px 0 14px;
}

.csh-cp-history-updated {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 12px;
	color: var(--csh-cp-muted);
}

.csh-cp-refresh-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	border: 1px solid var(--csh-cp-border);
	border-radius: 7px;
	background: rgba(255, 255, 255, .72);
	color: var(--csh-cp-text);
	font-family: inherit;
	font-size: 12px;
	font-weight: 800;
	padding: 7px 14px;
	cursor: pointer;
	transition: border-color .15s, color .15s, background .15s, opacity .15s;
}

.csh-cp-refresh-button svg {
	flex: 0 0 auto;
}

.csh-cp-refresh-button:hover {
	border-color: var(--csh-cp-blue);
	color: var(--csh-cp-blue);
	background: var(--csh-cp-white);
}

.csh-cp-refresh-button:disabled {
	opacity: .6;
	cursor: wait;
}

.csh-cp-booking-card {
	padding: 15px 18px;
}

.csh-cp-booking-head {
	align-items: center;
}

.csh-cp-booking-route {
	font-weight: 600;
	color: var(--csh-cp-muted);
}

.csh-cp-booking-side {
	align-items: center;
	flex-direction: row;
	gap: 11px;
}

.csh-cp-booking-items,
.csh-cp-booking-caret {
	font-size: 12px;
	line-height: 1;
	color: var(--csh-cp-muted);
	white-space: nowrap;
}

.csh-cp-booking-caret {
	font-size: 11px;
	color: #64748b;
}

.csh-cp-status-pill::before {
	content: '';
	width: 6px;
	height: 6px;
	border-radius: 999px;
	background: currentColor;
	margin-right: 6px;
}

@media (max-width: 620px) {
	.csh-cp-history-toolbar {
		align-items: stretch;
		flex-direction: column;
	}

	.csh-cp-refresh-button {
		width: 100%;
	}

	.csh-cp-booking-side {
		align-items: flex-start;
		flex-wrap: wrap;
	}
}

.csh-cp-booking-head {
	width: 100%;
	border: 0;
	background: transparent;
	padding: 0;
	font-family: inherit;
	text-align: left;
	cursor: pointer;
}

.csh-cp-booking-card.is-open {
	box-shadow: 0 6px 24px rgba(3, 63, 99, .12);
}

.csh-cp-booking-detail-panel {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid var(--csh-cp-border);
}

.csh-cp-detail-loading,
.csh-cp-detail-error {
	border-radius: 10px;
	padding: 12px 14px;
	font-size: 13px;
	line-height: 1.5;
}

.csh-cp-detail-loading {
	background: #f8fafc;
	color: var(--csh-cp-muted);
}

.csh-cp-detail-error {
	background: #fff7ed;
	border: 1px solid #fed7aa;
	color: #9a3412;
}

.csh-cp-detail-card {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 16px;
}

.csh-cp-detail-title {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
}

.csh-cp-detail-title h3,
.csh-cp-detail-address h4,
.csh-cp-detail-pods h4 {
	margin: 0;
	font-size: 13px;
	line-height: 1.3;
	font-weight: 900;
	color: var(--csh-cp-navy);
}

.csh-cp-detail-title p {
	margin: 0;
	font-family: 'DM Mono', monospace;
	font-size: 12px;
	font-weight: 800;
	color: var(--csh-cp-muted);
}

.csh-cp-detail-grid,
.csh-cp-detail-address-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 14px;
}

.csh-cp-detail-address-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.csh-cp-detail-field,
.csh-cp-detail-address,
.csh-cp-detail-pods {
	background: #ffffff;
	border: 1px solid var(--csh-cp-border);
	border-radius: 10px;
	padding: 12px;
}

.csh-cp-detail-field span {
	display: block;
	margin-bottom: 4px;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .6px;
	text-transform: uppercase;
	color: var(--csh-cp-muted);
}

.csh-cp-detail-field strong {
	display: block;
	font-size: 13px;
	line-height: 1.45;
	font-weight: 800;
	color: var(--csh-cp-navy);
	word-break: break-word;
}

.csh-cp-detail-address h4,
.csh-cp-detail-pods h4 {
	margin-bottom: 10px;
}

.csh-cp-detail-line,
.csh-cp-detail-pod-row {
	display: grid;
	grid-template-columns: 90px minmax(0, 1fr);
	gap: 10px;
	font-size: 12px;
	line-height: 1.5;
	margin-top: 6px;
}

.csh-cp-detail-line strong,
.csh-cp-detail-pod-row span {
	font-weight: 900;
	color: var(--csh-cp-muted);
}

.csh-cp-detail-line span,
.csh-cp-detail-pod-row strong {
	font-weight: 700;
	color: var(--csh-cp-text);
	word-break: break-word;
}

.csh-cp-detail-pod-row a {
	font-weight: 900;
	text-decoration: none;
}

.csh-cp-detail-pods p {
	margin: 0;
	font-size: 12px;
	line-height: 1.5;
	color: var(--csh-cp-muted);
}

@media (max-width: 820px) {
	.csh-cp-detail-grid,
	.csh-cp-detail-address-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 620px) {
	.csh-cp-detail-title {
		flex-direction: column;
	}

	.csh-cp-detail-line,
	.csh-cp-detail-pod-row {
		grid-template-columns: 1fr;
		gap: 2px;
	}
}

/* v1.6.16 booking details refinements */
.csh-cp-detail-card {
	background: var(--csh-cp-white);
	border: 0;
	border-radius: 0;
	padding: 2px 0 0;
}

.csh-cp-detail-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px 28px;
	margin-bottom: 18px;
}

.csh-cp-detail-field {
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0;
}

.csh-cp-detail-field span {
	margin-bottom: 4px;
	font-size: 10px;
	letter-spacing: .7px;
	text-transform: uppercase;
	color: var(--csh-cp-muted);
}

.csh-cp-detail-field strong {
	font-size: 13px;
	font-weight: 900;
	color: var(--csh-cp-navy);
}

.csh-cp-detail-address-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin: 16px 0 18px;
}

.csh-cp-detail-address,
.csh-cp-detail-pods,
.csh-cp-detail-tracking {
	background: #ffffff;
	border: 1px solid var(--csh-cp-border);
	border-radius: 12px;
	padding: 14px;
}

.csh-cp-detail-address h4,
.csh-cp-detail-pods h4,
.csh-cp-detail-tracking h4 {
	margin: 0 0 10px;
	font-size: 11px;
	line-height: 1.3;
	font-weight: 900;
	letter-spacing: .7px;
	text-transform: uppercase;
	color: var(--csh-cp-muted);
}

.csh-cp-detail-line,
.csh-cp-detail-pod-row {
	grid-template-columns: 92px minmax(0, 1fr);
	font-size: 12px;
}

.csh-cp-detail-tracking {
	margin-top: 14px;
}

.csh-cp-tracking-item {
	display: flex;
	gap: 12px;
	align-items: flex-start;
}

.csh-cp-tracking-marker-wrap {
	position: relative;
	width: 10px;
	min-height: 34px;
	padding-top: 4px;
}

.csh-cp-tracking-marker-wrap::after {
	content: '';
	position: absolute;
	top: 17px;
	bottom: -2px;
	left: 4px;
	width: 1px;
	background: var(--csh-cp-border);
}

.csh-cp-tracking-marker {
	display: block;
	width: 10px;
	height: 10px;
	border-radius: 999px;
	background: var(--csh-cp-teal);
}

.csh-cp-tracking-body strong,
.csh-cp-tracking-body span {
	display: block;
}

.csh-cp-tracking-body strong {
	font-size: 13px;
	font-weight: 900;
	color: var(--csh-cp-navy);
}

.csh-cp-tracking-body span {
	margin-top: 3px;
	font-size: 12px;
	color: var(--csh-cp-muted);
}

.csh-cp-detail-actions {
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid var(--csh-cp-border);
}

.csh-cp-detail-tracking-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(46, 110, 183, .25);
	border-radius: 8px;
	background: rgba(46, 110, 183, .08);
	color: var(--csh-cp-blue);
	font-family: inherit;
	font-size: 12px;
	font-weight: 900;
	padding: 9px 16px;
	cursor: not-allowed;
}

.csh-cp-detail-tracking-button::before {
	content: '↗';
	margin-right: 7px;
	font-size: 12px;
}

@media (max-width: 820px) {
	.csh-cp-detail-grid,
	.csh-cp-detail-address-grid {
		grid-template-columns: 1fr;
	}
}


/* v1.6.17 customer portal booking detail polish */
.csh-cp-detail-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.csh-cp-detail-address h4 {
	margin-bottom: 12px;
}

.csh-cp-detail-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.csh-cp-detail-tracking-button,
.csh-cp-detail-pod-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 9px;
	font-family: inherit;
	font-size: 12px;
	font-weight: 900;
	line-height: 1.2;
	padding: 10px 18px;
	cursor: default;
	box-shadow: 0 5px 14px rgba(3, 63, 99, .12);
}

.csh-cp-detail-tracking-button {
	background: #2e6eb7;
	color: #ffffff;
}

.csh-cp-detail-tracking-button::before {
	content: '↗';
	margin-right: 7px;
	font-size: 12px;
}

.csh-cp-detail-pod-button {
	background: #0f2a5f;
	color: #ffffff;
	cursor: pointer;
}

.csh-cp-detail-pod-button::before {
	content: '↓';
	margin-right: 7px;
	font-size: 13px;
	line-height: 1;
}

.csh-cp-detail-pod-button:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(3, 63, 99, .16);
}

.csh-cp-detail-pod-button:disabled,
.csh-cp-detail-pod-button.is-loading {
	opacity: .72;
	cursor: wait;
	transform: none;
}

.csh-cp-detail-pod-button.is-error {
	background: #b91c1c;
}

.csh-cp-tracking-item + .csh-cp-tracking-item {
	margin-top: 8px;
}

.csh-cp-tracking-body em {
	display: block;
	margin-top: 3px;
	font-style: normal;
	font-size: 12px;
	color: var(--csh-cp-text);
}

@media (max-width: 920px) {
	.csh-cp-detail-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.csh-cp-detail-grid {
		grid-template-columns: 1fr;
	}

	.csh-cp-detail-tracking-button,
	.csh-cp-detail-pod-button {
		width: 100%;
	}
}

/* v1.6.18 customer portal pagination, date range, and rate popover */
.csh-cp-rate-stat {
	position: relative;
	cursor: help;
}

.csh-cp-rate-popover {
	position: absolute;
	left: 0;
	top: calc(100% + 10px);
	z-index: 40;
	width: min(620px, 90vw);
	max-height: 360px;
	overflow: auto;
	background: #ffffff;
	border: 1px solid var(--csh-cp-border);
	border-radius: 14px;
	box-shadow: 0 16px 40px rgba(3, 63, 99, .16);
	padding: 14px;
}

.csh-cp-rate-stat:hover .csh-cp-rate-popover,
.csh-cp-rate-stat:focus-within .csh-cp-rate-popover,
.csh-cp-rate-stat:focus .csh-cp-rate-popover {
	display: block !important;
}

.csh-cp-rate-popover-title {
	display: block;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .7px;
	text-transform: uppercase;
	color: var(--csh-cp-navy);
	margin-bottom: 10px;
}

.csh-cp-rate-group + .csh-cp-rate-group {
	border-top: 1px solid var(--csh-cp-border);
	margin-top: 12px;
	padding-top: 12px;
}

.csh-cp-rate-group-title {
	font-size: 12px;
	font-weight: 900;
	color: var(--csh-cp-blue);
	margin-bottom: 8px;
}

.csh-cp-rate-row {
	display: block;
	font-size: 12px;
	line-height: 1.45;
	color: var(--csh-cp-text);
	padding: 7px 0;
}

.csh-cp-rate-row + .csh-cp-rate-row {
	border-top: 1px dashed #dbe2ea;
}

.csh-cp-rate-row span,
.csh-cp-rate-row em {
	display: block;
}

.csh-cp-rate-row span {
	font-weight: 800;
	color: var(--csh-cp-navy);
}

.csh-cp-rate-row em,
.csh-cp-rate-empty {
	font-style: normal;
	font-size: 11px;
	color: var(--csh-cp-muted);
	margin: 3px 0 0;
}

.csh-cp-history-date-range {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: -4px 0 12px;
	padding: 6px 11px;
	border-radius: 999px;
	background: rgba(48, 213, 200, .12);
	color: var(--csh-cp-navy);
	font-size: 12px;
	font-weight: 800;
}

.csh-cp-history-date-range::before {
	content: '';
	width: 7px;
	height: 7px;
	border-radius: 999px;
	background: var(--csh-cp-teal);
}

.csh-cp-pagination {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	margin: 16px 0 0;
	flex-wrap: wrap;
}

.csh-cp-pagination button {
	border: 1px solid var(--csh-cp-border);
	border-radius: 10px;
	background: #ffffff;
	color: var(--csh-cp-navy);
	font-family: inherit;
	font-size: 12px;
	font-weight: 800;
	min-width: 38px;
	padding: 8px 13px;
	cursor: pointer;
	box-shadow: 0 2px 10px rgba(42,106,246,.06);
}

.csh-cp-pagination button:hover:not(:disabled) {
	border-color: var(--csh-cp-blue);
	color: var(--csh-cp-blue);
	box-shadow: 0 6px 18px rgba(42,106,246,.12);
}

.csh-cp-pagination button.is-active,
.csh-cp-pagination button.is-active:disabled {
	border-color: var(--csh-cp-blue);
	background: linear-gradient(135deg,var(--csh-cp-blue),#1a50cc);
	color: #ffffff;
	opacity: 1;
	cursor: default;
}

.csh-cp-pagination button:disabled:not(.is-active) {
	opacity: .5;
	cursor: not-allowed;
}

.csh-cp-pagination span {
	font-size: 12px;
	font-weight: 800;
	color: var(--csh-cp-muted);
}

.csh-cp-pagination-summary {
	margin-right: auto;
	padding: 8px 0;
}

.csh-cp-pagination-page-label {
	padding-left: 2px;
}

@media (max-width: 620px) {
	.csh-cp-rate-popover {
		left: auto;
		right: 0;
		width: 86vw;
	}

	.csh-cp-pagination {
		justify-content: center;
		flex-wrap: wrap;
	}
}

@media (max-width: 760px) {
	.csh-cp-nav {
		align-items: flex-start;
		flex-direction: column;
		padding: 12px 14px;
	}
	.csh-cp-nav-actions {
		width: 100%;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.csh-cp-account-switcher {
		flex: 1 1 220px;
	}
	.csh-cp-account-button {
		width: 100%;
		max-width: none;
	}
	.csh-cp-booking-link,
	.csh-cp-logout-button {
		min-height: 34px;
	}
}

.csh-cp-logout-button {
	background: rgba(255, 255, 255, .10);
	border: 1px solid rgba(255, 255, 255, .16);
	color: rgba(255, 255, 255, .76);
	font-size: 12px;
	font-weight: 700;
	padding: 7px 13px;
	border-radius: 8px;
	font-family: inherit;
	cursor: pointer;
}

.csh-cp-logout-button:hover {
	background: rgba(255, 255, 255, .18);
}

/* v1.6.21 portal nav and branded customer cards */
.csh-cp-nav-actions > .csh-cp-logout-button {
	display: none !important;
}

.csh-cp-booking-link,
.csh-cp-booking-link:visited,
.csh-cp-booking-link:hover,
.csh-cp-booking-link:focus {
	color: #ffffff !important;
}

.csh-cp-stats:not(.csh-cp-history-stats) .csh-cp-stat {
	background: linear-gradient(135deg, #033f63 0%, #1d4ed8 72%, #30d5c8 150%);
	border-color: rgba(48, 213, 200, .24);
	box-shadow: 0 14px 34px rgba(3, 63, 99, .18);
}

.csh-cp-stats:not(.csh-cp-history-stats) .csh-cp-stat span {
	color: rgba(255, 255, 255, .78);
}

.csh-cp-stats:not(.csh-cp-history-stats) .csh-cp-stat strong {
	font-size: 19px;
	color: #ffffff;
	letter-spacing: -.02em;
}

.csh-cp-stats:not(.csh-cp-history-stats) .csh-cp-stat small {
	color: rgba(255, 255, 255, .76);
}

.csh-cp-stats:not(.csh-cp-history-stats) .csh-cp-rate-popover {
	color: #0f172a;
}

/* v1.6.22 account icons, compact rates popover, branded profile cards, and tracking line polish */
.csh-cp-account-caret,
.csh-cp-account-caret svg {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.csh-cp-account-caret {
	width: 18px;
	height: 18px;
	font-size: 0;
}

.csh-cp-account-menu-footer {
	display: flex;
	align-items: center;
	gap: 8px;
}

.csh-cp-menu-icon,
.csh-cp-menu-icon svg {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
}

.csh-cp-stats:not(.csh-cp-history-stats) .csh-cp-stat {
	background:
		radial-gradient(circle at 92% 12%, rgba(48, 213, 200, .42), transparent 34%),
		linear-gradient(135deg, #033f63 0%, #074b73 46%, #1f63d8 100%);
	border-color: rgba(48, 213, 200, .28);
	box-shadow: 0 14px 36px rgba(3, 63, 99, .20);
}

.csh-cp-stats:not(.csh-cp-history-stats) .csh-cp-stat strong {
	font-size: 14px;
	line-height: 1.15;
	letter-spacing: -.01em;
}

.csh-cp-stats:not(.csh-cp-history-stats) .csh-cp-stat small {
	font-size: 10.5px;
}

.csh-cp-rate-popover {
	width: min(420px, 86vw);
	max-height: 280px;
	padding: 10px;
	border-radius: 12px;
	box-shadow: 0 12px 30px rgba(3, 63, 99, .15);
}

.csh-cp-rate-popover-title {
	font-size: 10px;
	margin-bottom: 7px;
}

.csh-cp-rate-group + .csh-cp-rate-group {
	margin-top: 8px;
	padding-top: 8px;
}

.csh-cp-rate-group-title {
	font-size: 10.5px;
	margin-bottom: 5px;
}

.csh-cp-rate-row {
	font-size: 10.5px;
	line-height: 1.35;
	padding: 5px 0;
}

.csh-cp-rate-row span {
	font-size: 10.5px;
}

.csh-cp-rate-row em,
.csh-cp-rate-empty {
	font-size: 10px;
	line-height: 1.35;
}

.csh-cp-tracking-item {
	position: relative;
	min-height: 54px;
}

.csh-cp-tracking-item:not(:last-child)::before {
	content: '';
	position: absolute;
	left: 4.5px;
	top: 16px;
	bottom: -18px;
	width: 1px;
	background: var(--csh-cp-border);
}

.csh-cp-tracking-marker-wrap {
	min-height: 0;
	padding-top: 4px;
	z-index: 1;
}

.csh-cp-tracking-marker-wrap::after {
	display: none;
}

.csh-cp-tracking-marker {
	position: relative;
	z-index: 2;
}

/* v1.7.15 Jobs-style secure portal loading screen */
.csh-cp-loader {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0;
	background: #FFFFFF;
	opacity: 1;
	visibility: visible;
	transition: opacity .45s ease, visibility .45s ease;
}

.csh-cp-loader[hidden] {
	display: none !important;
}

.csh-cp-loader.is-hiding {
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
}

.csh-cp-loader-brand {
	margin-bottom: 32px;
	color: #2563eb;
	line-height: 0;
}

.csh-cp-loader-brand svg {
	display: block;
	height: 28px;
	width: auto;
}

.csh-cp-loader-route {
	width: 300px;
	max-width: 88vw;
}

.csh-cp-loader-road {
	position: relative;
	height: 68px;
	display: flex;
	align-items: center;
}

.csh-cp-loader-road-line {
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	height: 10px;
	border-radius: 999px;
	background: repeating-linear-gradient(90deg, #d7deea 0 18px, transparent 18px 30px);
}

.csh-cp-loader-dot {
	position: absolute;
	top: 50%;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #2563eb;
	box-shadow: 0 0 0 5px rgba(37, 99, 235, .14);
	transform: translateY(-50%);
}

.csh-cp-loader-dot-start {
	left: -2px;
}

.csh-cp-loader-dot-end {
	right: -2px;
}

.csh-cp-loader-truck {
	position: absolute;
	left: 0;
	top: 50%;
	width: 90px;
	transform: translate(-10%, -50%);
	transition: left .38s cubic-bezier(.4, 0, .2, 1);
	filter: drop-shadow(0 6px 14px rgba(15, 27, 53, .18));
	z-index: 2;
}

.csh-cp-loader-truck img {
	display: block;
	width: 100%;
	height: auto;
}

.csh-cp-loader-progress {
	height: 5px;
	background: #e8eef8;
	border-radius: 999px;
	overflow: hidden;
	margin-top: 10px;
}

.csh-cp-loader-progress > div {
	width: 0;
	height: 100%;
	background: linear-gradient(90deg, #0f1b35 0%, #2563eb 100%);
	border-radius: 999px;
	transition: width .32s ease;
}

.csh-cp-loader-label {
	margin-top: 11px;
	font-size: 11px;
	font-weight: 700;
	color: #9ca3af;
	letter-spacing: .12em;
	line-height: 1.4;
	text-align: center;
	text-transform: uppercase;
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.csh-cp-loader-copy {
	margin-top: 6px;
	font-size: 12px;
	font-weight: 600;
	color: #64748b;
	line-height: 1.45;
	text-align: center;
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

@media (prefers-reduced-motion: reduce) {
	.csh-cp-loader,
	.csh-cp-loader-truck,
	.csh-cp-loader-progress > div {
		transition: none !important;
	}
}

/* v1.6.27 active tracking link and safer disabled state */
.csh-cp-detail-tracking-button.is-active {
	cursor: pointer;
	text-decoration: none;
}

.csh-cp-detail-tracking-button.is-active:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(3, 63, 99, .16);
}

.csh-cp-detail-tracking-button.is-disabled,
.csh-cp-detail-tracking-button:disabled {
	opacity: .68;
	cursor: not-allowed;
	transform: none;
}

/* v1.6.28 force readable text for the active full tracking link */
.csh-cp-detail-tracking-button.is-active,
.csh-cp-detail-tracking-button.is-active:visited,
.csh-cp-detail-tracking-button.is-active:hover,
.csh-cp-detail-tracking-button.is-active:focus {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff;
}

/* v1.6.33 account type tags and PAYG profile cards */
.csh-cp-account-type-tag{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 10px;font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;line-height:1.2;white-space:nowrap;vertical-align:middle}
.csh-cp-account-type-payg{color:#075985;background:#e0f2fe;border:1px solid #bae6fd}
.csh-cp-account-type-premium{color:#442006;background:linear-gradient(135deg,#fff7d6 0%,#f8d477 44%,#fff8dc 100%);border:1px solid #f5c542;box-shadow:0 7px 18px rgba(146,93,11,.18)}
.csh-cp-page-type-tag{margin-left:10px;transform:translateY(-3px)}
.csh-cp-menu-type-tag{margin:7px 0 4px}
.csh-cp-account-company-tags{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;flex:0 0 auto;max-width:140px}
.csh-cp-account-company-option{align-items:center}
.csh-cp-account-company-option > span:first-child{min-width:0;flex:1}
.csh-cp-rate-stat-disabled{cursor:default!important}
.csh-cp-rate-stat-disabled .csh-cp-rate-popover{display:none!important}
.csh-cp-stats:not(.csh-cp-history-stats) .csh-cp-stat strong[data-csh-cp-rate-count]{font-size:16px;line-height:1.25;max-width:210px}


/* v1.7.1 Customer Portal header action and premium rate modal */
.csh-cp-page-head-copy {
	min-width: 0;
}

.csh-cp-page-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-left: auto;
	flex: 0 0 auto;
}

.csh-cp-page-booking-link {
	min-height: 40px;
	padding: 10px 18px;
	border-radius: 999px;
	box-shadow: 0 12px 28px rgba(42, 106, 246, .20);
	background: linear-gradient(135deg, var(--csh-cp-blue), #1d4ed8);
}

.csh-cp-page-booking-link.csh-cp-booking-link-attention:hover,
.csh-cp-page-booking-link.csh-cp-booking-link-attention:focus {
	transform: translateY(-1px);
	box-shadow: 0 16px 34px rgba(42, 106, 246, .26);
}

.csh-cp-rate-stat:not(.csh-cp-rate-stat-disabled) {
	cursor: pointer;
}

.csh-cp-rate-stat:not(.csh-cp-rate-stat-disabled)::after {
	content: 'View details';
	position: absolute;
	right: 16px;
	bottom: 14px;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .84);
	background: rgba(255, 255, 255, .14);
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 999px;
	padding: 4px 8px;
}

.csh-cp-rate-stat-disabled {
	cursor: default !important;
}

.csh-cp-rate-modal[hidden] {
	display: none !important;
}

.csh-cp-rate-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 22px;
	font-family: var(--csh-cp-font);
}

.csh-cp-rate-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(13, 31, 60, .68);
	backdrop-filter: blur(7px);
}

.csh-cp-rate-modal-panel {
	position: relative;
	z-index: 1;
	width: min(920px, 94vw);
	max-height: min(760px, 90vh);
	overflow: hidden;
	background: #ffffff;
	border: 1px solid rgba(228, 232, 244, .92);
	border-radius: 28px;
	box-shadow: 0 28px 80px rgba(13, 31, 60, .34);
}

.csh-cp-rate-modal-close {
	position: absolute;
	top: 18px;
	right: 18px;
	z-index: 2;
	width: 34px;
	height: 34px;
	border: 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, .16);
	color: #ffffff;
	font-size: 22px;
	line-height: 1;
	font-weight: 800;
	cursor: pointer;
	font-family: inherit;
}

.csh-cp-rate-modal-hero {
	padding: 30px 34px 28px;
	background: radial-gradient(circle at top right, rgba(0, 200, 180, .32), transparent 34%), linear-gradient(135deg, #0D1F3C 0%, #1A2E4A 54%, #2A6AF6 135%);
	color: #ffffff;
}

.csh-cp-rate-modal-kicker {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 10px;
	padding: 6px 11px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .13);
	border: 1px solid rgba(255, 255, 255, .18);
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.csh-cp-rate-modal-hero h3 {
	margin: 0;
	font-size: clamp(24px, 4vw, 36px);
	line-height: 1.08;
	font-weight: 900;
	letter-spacing: -.03em;
	color: #ffffff;
}

.csh-cp-rate-modal-hero p {
	max-width: 680px;
	margin: 10px 0 0;
	font-size: 14px;
	line-height: 1.6;
	color: rgba(255, 255, 255, .78);
}

.csh-cp-rate-modal-body {
	max-height: calc(min(760px, 90vh) - 162px);
	overflow: auto;
	padding: 24px;
	background: #F5F7FC;
}

.csh-cp-rate-modal-group {
	background: #ffffff;
	border: 1px solid #E4E8F4;
	border-radius: 22px;
	padding: 18px;
	box-shadow: 0 10px 30px rgba(42, 106, 246, .08);
}

.csh-cp-rate-modal-group + .csh-cp-rate-modal-group {
	margin-top: 16px;
}

.csh-cp-rate-modal-group-head,
.csh-cp-rate-modal-rate-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
}

.csh-cp-rate-modal-service {
	font-size: 15px;
	font-weight: 900;
	letter-spacing: -.01em;
	color: #0D1F3C;
}

.csh-cp-rate-modal-minimum,
.csh-cp-rate-modal-rate-head span {
	display: inline-flex;
	align-items: center;
	border-radius: 999px;
	background: rgba(42, 106, 246, .10);
	color: #1A50CC;
	font-size: 11px;
	font-weight: 900;
	padding: 6px 10px;
	white-space: nowrap;
}

.csh-cp-rate-modal-rate {
	margin-top: 14px;
	padding: 16px;
	border: 1px solid #E4E8F4;
	border-radius: 18px;
	background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
}

.csh-cp-rate-modal-rate-head strong {
	font-size: 14px;
	font-weight: 900;
	color: #0D1F3C;
}

.csh-cp-rate-modal-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin-top: 14px;
}

.csh-cp-rate-modal-metric {
	padding: 11px 12px;
	border-radius: 14px;
	background: #F5F7FC;
	border: 1px solid #E4E8F4;
}

.csh-cp-rate-modal-metric span,
.csh-cp-rate-modal-metric strong {
	display: block;
}

.csh-cp-rate-modal-metric span {
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: #7A8AAA;
}

.csh-cp-rate-modal-metric strong {
	margin-top: 4px;
	font-size: 13px;
	font-weight: 900;
	color: #0D1F3C;
}

.csh-cp-rate-modal-open {
	overflow: hidden;
}

@media (max-width: 760px) {
	.csh-cp-page-head {
		align-items: stretch;
		flex-direction: column;
	}
	.csh-cp-page-actions {
		width: 100%;
		justify-content: flex-end;
	}
	.csh-cp-page-booking-link {
		width: auto;
	}
	.csh-cp-rate-modal {
		padding: 12px;
	}
	.csh-cp-rate-modal-panel {
		border-radius: 22px;
	}
	.csh-cp-rate-modal-hero {
		padding: 26px 22px 22px;
	}
	.csh-cp-rate-modal-body {
		padding: 16px;
	}
	.csh-cp-rate-modal-group-head,
	.csh-cp-rate-modal-rate-head {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
	}
	.csh-cp-rate-modal-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 430px) {
	.csh-cp-rate-modal-grid {
		grid-template-columns: 1fr;
	}
}


/* v1.7.4 Jobs-style customer portal header, tabs, white cards, and inline tracking view */
.csh-cp {
	--csh-cp-navy: #0D1F3C;
	--csh-cp-navy-mid: #1A2E4A;
	--csh-cp-blue: #2A6AF6;
	--csh-cp-blue-dark: #1A50CC;
	--csh-cp-teal: #00C8B4;
	--csh-cp-white: #FFFFFF;
	--csh-cp-bg: #F5F7FC;
	--csh-cp-text: #0D1F3C;
	--csh-cp-muted: #7A8AAA;
	--csh-cp-border: #E4E8F4;
	--csh-cp-green: #22C55E;
	--csh-cp-red: #EF4444;
	--csh-cp-shadow: 0 2px 16px rgba(42,106,246,.10);
	--csh-cp-shadow-md: 0 6px 32px rgba(42,106,246,.14);
	font-family: 'Sora', Arial, sans-serif;
	background: #f3f4f6;
}

.csh-cp-dashboard {
	background: #f3f4f6;
}

.csh-cp-topbar {
	position: sticky;
	top: 0;
	z-index: 100;
	background: #ffffff;
	border-bottom: 1px solid #dfe5ef;
	box-shadow: 0 1px 0 rgba(13,31,60,.04);
}

.csh-cp-topbar-main {
	min-height: 60px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 0 16px 0 46px;
	background: #ffffff;
}

.csh-cp-nav-brand {
	display: inline-flex;
	align-items: center;
	gap: 15px;
	text-decoration: none !important;
	min-width: 0;
}

.csh-cp-nav-brand:hover,
.csh-cp-nav-brand:focus {
	text-decoration: none !important;
}

.csh-cp-nav-logo {
	width: 118px;
	max-width: 118px;
	height: auto;
	display: block;
}

.csh-cp-nav-line {
	width: 1px;
	height: 42px;
	background: #d6dce8;
}

.csh-cp-nav-stack {
	line-height: 1.23;
	text-align: left;
}

.csh-cp-nav-stack span,
.csh-cp-nav-stack strong {
	display: block;
	font-style: normal;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .19em;
	text-transform: uppercase;
}

.csh-cp-nav-stack span {
	color: #3A4A6A;
}

.csh-cp-nav-stack strong {
	color: #2A6AF6;
}

.csh-cp-menu-tabs {
	display: flex;
	align-items: center;
	gap: 0;
	min-height: 45px;
	padding: 0 46px;
	background: #ffffff;
	border-top: 1px solid #eef2f7;
	overflow-x: auto;
}

.csh-cp-menu-tabs button {
	position: relative;
	border: 0;
	background: transparent;
	min-height: 45px;
	padding: 0 22px;
	font-family: inherit;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #6f7a8d;
	white-space: nowrap;
	cursor: pointer;
}

.csh-cp-menu-tabs button::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	background: transparent;
}

.csh-cp-menu-tabs button:hover,
.csh-cp-menu-tabs button:focus,
.csh-cp-menu-tabs button.active {
	color: #2A6AF6;
}

.csh-cp-menu-tabs button.active::after {
	background: #2A6AF6;
}

.csh-cp-nav-actions {
	gap: 11px;
}

.csh-cp-avatar {
	background: #2A6AF6;
	color: #ffffff;
	box-shadow: inset 0 0 0 4px rgba(255,255,255,.22);
}

.csh-cp-account-button {
	min-width: 244px;
	background: #ffffff !important;
	border: 1px solid #ccd6e4 !important;
	box-shadow: none;
	color: #0D1F3C !important;
}

.csh-cp-account-copy strong {
	color: #0D1F3C;
}

.csh-cp-account-copy small {
	color: #6b7280;
}

.csh-cp-wrap {
	max-width: 920px;
	padding: 72px 20px 48px;
}

.csh-cp-view[hidden] {
	display: none !important;
}

.csh-cp-view.active {
	display: block;
}

.csh-cp-page-head {
	align-items: flex-end;
	margin-bottom: 8px;
}

.csh-cp-page-head h2,
.csh-cp-track-head h2 {
	font-size: 25px;
	font-weight: 900;
	letter-spacing: -.03em;
	color: #0D1F3C;
}

.csh-cp-page-head p,
.csh-cp-track-head p {
	font-size: 13px;
	color: #7A8AAA;
}

.csh-cp-stats {
	gap: 12px;
	margin-bottom: 20px;
}

.csh-cp-stats:not(.csh-cp-history-stats) .csh-cp-stat {
	background: linear-gradient(135deg, #0D1F3C 0%, #1A2E4A 100%) !important;
	border: 1px solid rgba(228,232,244,.18);
	border-radius: 14px;
	box-shadow: 0 10px 24px rgba(13,31,60,.14);
}

.csh-cp-history-stats .csh-cp-stat {
	background: #ffffff !important;
	border: 1px solid #dce4ef;
	border-radius: 14px;
	box-shadow: none;
}

.csh-cp-stats:not(.csh-cp-history-stats) .csh-cp-stat span {
	color: rgba(255,255,255,.68);
}

.csh-cp-history-stats .csh-cp-stat span {
	color: #7A8AAA;
}

.csh-cp-stats:not(.csh-cp-history-stats) .csh-cp-stat strong {
	color: #FFFFFF;
	font-size: 19px;
	line-height: 1.08;
}

.csh-cp-history-stats .csh-cp-stat strong {
	color: #0D1F3C;
	font-size: 22px;
	line-height: 1.05;
}

.csh-cp-stats:not(.csh-cp-history-stats) .csh-cp-stat small {
	color: #00C8B4;
	font-weight: 900;
}

.csh-cp-history-stats .csh-cp-stat small {
	color: #22C55E;
	font-weight: 900;
}

.csh-cp-history-topline {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin: -2px 0 16px;
}

.csh-cp-history-date-range {
	margin: 0;
	background: #ffffff;
	border: 1px solid #E4E8F4;
	box-shadow: none;
	color: #3A4A6A;
}

.csh-cp-history-topline .csh-cp-history-date-range[hidden] + .csh-cp-page-booking-link {
	margin-left: auto;
}

.csh-cp-page-booking-link {
	min-height: 44px;
	padding: 12px 20px;
	border: 0;
	border-radius: 999px;
	background: linear-gradient(135deg, #0D1F3C 0%, #2A6AF6 58%, #00C8B4 130%);
	box-shadow: 0 14px 32px rgba(42,106,246,.24);
	font-size: 12px;
	letter-spacing: .02em;
	text-transform: uppercase;
}

.csh-cp-page-booking-link::after {
	content: '→';
	margin-left: 8px;
}

.csh-cp-page-booking-link.csh-cp-booking-link-attention:hover,
.csh-cp-page-booking-link.csh-cp-booking-link-attention:focus {
	background: linear-gradient(135deg, #08162d 0%, #1A50CC 58%, #00AFA0 130%);
	box-shadow: 0 18px 38px rgba(42,106,246,.30);
}

.csh-cp-tabs {
	border: 1px solid #E4E8F4;
	border-radius: 9px;
	background: #eef2f7;
	padding: 4px;
	gap: 4px;
	margin-bottom: 18px;
}

.csh-cp-tabs button {
	border: 0;
	border-radius: 8px;
	margin: 0;
	padding: 8px 16px;
	font-size: 12px;
	color: #697386;
}

.csh-cp-tabs button.active {
	background: #ffffff;
	box-shadow: 0 1px 3px rgba(13,31,60,.08);
	color: #0D1F3C;
}

.csh-cp-tabs span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 26px;
	margin-left: 8px;
	padding: 3px 8px;
	border-radius: 999px;
	background: #dbeafe;
	color: #1d4ed8;
	font-size: 11px;
	font-weight: 900;
	line-height: 1;
}

.csh-cp-tabs button.active span {
	background: linear-gradient(135deg, #2A6AF6 0%, #1A50CC 100%);
	color: #FFFFFF;
	box-shadow: 0 6px 14px rgba(42,106,246,.22);
}

.csh-cp-booking-card,
.csh-cp-empty-card,
.csh-cp-branch-card {
	border-radius: 13px;
	box-shadow: none;
	border-color: #dce4ef;
}

.csh-cp-booking-ref {
	font-family: 'Sora', Arial, sans-serif;
	color: #2A6AF6;
	letter-spacing: .02em;
}

.csh-cp-track-head {
	text-align: center;
	margin: 0 auto 24px;
}

.csh-cp-track-head h2 {
	margin: 0;
	font-size: 30px;
}

.csh-cp-track-head p {
	margin: 8px 0 0;
}

.csh-cp-track-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
	max-width: 520px;
	margin: 0 auto 52px;
}

.csh-cp-track-form input {
	width: 100%;
	min-height: 50px;
	border: 1px solid #d6dce8;
	border-radius: 10px;
	background: #ffffff;
	padding: 0 16px;
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	color: #0D1F3C;
	outline: none;
}

.csh-cp-track-form input:focus {
	border-color: #2A6AF6;
	box-shadow: 0 0 0 4px rgba(42,106,246,.12);
}

.csh-cp-track-form button {
	min-height: 50px;
	border: 0;
	border-radius: 10px;
	background: #2A6AF6;
	color: #ffffff;
	padding: 0 24px;
	font-family: inherit;
	font-size: 14px;
	font-weight: 900;
	cursor: pointer;
}

.csh-cp-track-form button:hover,
.csh-cp-track-form button:focus {
	background: #1A50CC;
}

.csh-cp-track-form button:disabled {
	opacity: .7;
	cursor: wait;
}

.csh-cp-track-alert {
	max-width: 680px;
	margin: -28px auto 22px;
	border: 1px solid #fed7aa;
	border-radius: 12px;
	background: #fff7ed;
	color: #9a3412;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
	padding: 12px 14px;
}

.csh-cp-track-result {
	max-width: 680px;
	margin: 0 auto;
}

.csh-cp-track-card {
	overflow: hidden;
	border: 1px solid #dce4ef;
	border-radius: 13px;
	background: #ffffff;
	box-shadow: 0 4px 12px rgba(13,31,60,.08);
}

.csh-cp-track-card-hero {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
	padding: 22px 28px;
	background: #173867;
	color: #ffffff;
}

.csh-cp-track-kicker {
	display: block;
	margin-bottom: 6px;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: #7A8AAA;
}

.csh-cp-track-card-hero h3 {
	margin: 0;
	font-size: 25px;
	line-height: 1.1;
	font-weight: 900;
	letter-spacing: -.02em;
	color: #ffffff;
}

.csh-cp-track-card-hero p {
	margin: 7px 0 0;
	font-size: 13px;
	font-weight: 500;
	color: rgba(255,255,255,.78);
}

.csh-cp-track-status {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	padding: 7px 14px;
	background: #dcfce7;
	color: #166534;
	font-size: 12px;
	font-weight: 900;
	white-space: nowrap;
}

.csh-cp-track-card-body {
	padding: 26px 28px 0;
}

.csh-cp-track-route {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 34px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	padding-bottom: 22px;
	border-bottom: 1px solid #E4E8F4;
}

.csh-cp-track-route-point span {
	display: block;
	margin-bottom: 4px;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #7A8AAA;
}

.csh-cp-track-route-point strong {
	display: block;
	font-size: 14px;
	font-weight: 900;
	line-height: 1.25;
	color: #0D1F3C;
	text-transform: uppercase;
}

.csh-cp-track-route-point small {
	display: block;
	margin-top: 3px;
	font-size: 12px;
	line-height: 1.45;
	color: #6b7280;
}

.csh-cp-track-route-arrow {
	text-align: center;
	font-size: 20px;
	font-weight: 700;
	color: #c3cad6;
}

.csh-cp-track-metrics {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 22px 0 28px;
}

.csh-cp-track-metric {
	min-height: 58px;
	border-radius: 9px;
	background: #eef2f7;
	padding: 12px 14px;
}

.csh-cp-track-metric span,
.csh-cp-track-metric strong {
	display: block;
}

.csh-cp-track-metric span {
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #7A8AAA;
}

.csh-cp-track-metric strong {
	margin-top: 5px;
	font-size: 13px;
	font-weight: 900;
	line-height: 1.25;
	color: #0D1F3C;
}

.csh-cp-track-history {
	margin: 0 -28px;
	border-top: 1px solid #E4E8F4;
	background: #ffffff;
}

.csh-cp-track-history h4 {
	margin: 0;
	padding: 14px 28px;
	border-bottom: 1px solid #E4E8F4;
	background: #eef2f7;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #3A4A6A;
}

.csh-cp-track-step {
	position: relative;
	display: grid;
	grid-template-columns: 12px minmax(0, 1fr);
	gap: 12px;
	padding: 14px 18px;
	border-bottom: 1px solid #E4E8F4;
}

.csh-cp-track-step:last-child {
	border-bottom: 0;
}

.csh-cp-track-step::before {
	content: '';
	position: absolute;
	left: 23px;
	top: 28px;
	bottom: -8px;
	width: 1px;
	background: #d7dfec;
}

.csh-cp-track-step:last-child::before {
	display: none;
}

.csh-cp-track-step-marker {
	position: relative;
	z-index: 1;
	width: 10px;
	height: 10px;
	margin-top: 4px;
	border-radius: 50%;
	background: #a8b2c1;
}

.csh-cp-track-step.is-complete .csh-cp-track-step-marker,
.csh-cp-track-step.is-current .csh-cp-track-step-marker,
.csh-cp-track-step.is-first .csh-cp-track-step-marker {
	background: #22C55E;
}

.csh-cp-track-step-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
}

.csh-cp-track-step-head strong {
	font-size: 14px;
	font-weight: 900;
	line-height: 1.3;
	color: #0D1F3C;
}

.csh-cp-track-step-head span {
	font-size: 12px;
	line-height: 1.4;
	color: #7A8AAA;
	white-space: nowrap;
}

.csh-cp-track-step-body p {
	margin: 3px 0 0;
	font-size: 12px;
	line-height: 1.45;
	color: #6b7280;
}

.screen-reader-text {
	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;
}

@media (max-width: 840px) {
	.csh-cp-topbar-main,
	.csh-cp-menu-tabs {
		padding-left: 18px;
		padding-right: 18px;
	}
	.csh-cp-wrap {
		padding-top: 42px;
	}
	.csh-cp-track-metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.csh-cp-topbar-main {
		align-items: stretch;
		flex-direction: column;
		padding-top: 12px;
		padding-bottom: 12px;
	}
	.csh-cp-nav-actions,
	.csh-cp-account-switcher,
	.csh-cp-account-button {
		width: 100%;
	}
	.csh-cp-account-button {
		max-width: none;
	}
	.csh-cp-menu-tabs {
		padding: 0 12px;
	}
	.csh-cp-menu-tabs button {
		padding: 0 14px;
		font-size: 11px;
	}
	.csh-cp-history-topline {
		align-items: stretch;
		flex-direction: column;
	}
	.csh-cp-page-booking-link,
	.csh-cp-track-form button {
		width: 100%;
	}
	.csh-cp-track-form {
		grid-template-columns: 1fr;
		margin-bottom: 34px;
	}
	.csh-cp-track-card-hero,
	.csh-cp-track-route,
	.csh-cp-track-step-head {
		grid-template-columns: 1fr;
		flex-direction: column;
	}
	.csh-cp-track-card-hero {
		align-items: flex-start;
	}
	.csh-cp-track-route-arrow {
		text-align: left;
		transform: rotate(90deg);
	}
	.csh-cp-track-metrics {
		grid-template-columns: 1fr;
	}
	.csh-cp-track-step-head span {
		white-space: normal;
	}
}

.csh-cp-track-status.is-pending { background: #fef3c7; color: #92400e; }
.csh-cp-track-status.is-picked { background: #ede9fe; color: #6d28d9; }
.csh-cp-track-status.is-transit { background: #dbeafe; color: #1d4ed8; }
.csh-cp-track-status.is-complete { background: #dcfce7; color: #166534; }
.csh-cp-track-status.is-failed { background: #fee2e2; color: #991b1b; }

@keyframes csh-cp-book-shift-attention {
	0%, 100% { transform: translateY(0) rotate(0deg) scale(1); }
	12% { transform: translateY(-2px) rotate(-1.2deg) scale(1.015); }
	24% { transform: translateY(0) rotate(1.2deg) scale(1.02); }
	36% { transform: translateY(-1px) rotate(-.8deg) scale(1.012); }
	48% { transform: translateY(0) rotate(.8deg) scale(1); }
	64% { transform: translateY(0) rotate(0deg) scale(1); }
}

.csh-cp-page-booking-link {
	position: relative;
	isolation: isolate;
}

.csh-cp-page-booking-link.csh-cp-booking-link-attention {
	animation: csh-cp-book-shift-attention 2.8s ease-in-out infinite;
}

.csh-cp-page-booking-link.csh-cp-booking-link-attention::before {
	content: '';
	position: absolute;
	inset: -5px;
	z-index: -1;
	border-radius: inherit;
	background: linear-gradient(135deg, rgba(42,106,246,.28), rgba(0,200,180,.22));
	opacity: .75;
	filter: blur(12px);
}

.csh-cp-page-booking-link.csh-cp-booking-link-attention:hover,
.csh-cp-page-booking-link.csh-cp-booking-link-attention:focus {
	animation-play-state: paused;
}

@media (prefers-reduced-motion: reduce) {
	.csh-cp-page-booking-link.csh-cp-booking-link-attention {
		animation: none;
	}
}

/* v1.7.7 customer portal stat refinement */
.csh-cp-stats:not(.csh-cp-history-stats) .csh-cp-stat strong,
.csh-cp-stats:not(.csh-cp-history-stats) .csh-cp-stat strong[data-csh-cp-rate-count] {
	font-size: 14px;
	line-height: 1.15;
}

/* v1.7.12 rate card detail action placement */
.csh-cp-rate-stat:not(.csh-cp-rate-stat-disabled)::after {
	content: 'View details';
	top: 14px;
	right: 14px;
	bottom: auto;
	font-size: 7px;
	line-height: 1;
	padding: 4px 7px;
}

/* v1.7.17 grouped shift booking history */
.csh-cp-shift-card {
	border-color: rgba(42, 106, 246, .22);
}

.csh-cp-shift-consignments {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.csh-cp-shift-consignments-title {
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--csh-cp-muted);
}

.csh-cp-consignment-card.is-nested {
	box-shadow: none;
	background: #f8fafc;
	border-color: #dbe4f0;
	padding: 13px 14px;
}

.csh-cp-consignment-card.is-nested .csh-cp-booking-ref {
	font-size: 12px;
}

.csh-cp-consignment-card.is-nested .csh-cp-booking-route,
.csh-cp-consignment-card.is-nested .csh-cp-booking-meta {
	font-size: 12px;
}


/* v1.7.18 nested consignment detail background refinement */
.csh-cp-consignment-card.is-nested .csh-cp-booking-detail-panel {
	background: #f8fafc;
}

.csh-cp-consignment-card.is-nested .csh-cp-detail-card {
	background: transparent;
}

.csh-cp-consignment-card.is-nested .csh-cp-detail-address,
.csh-cp-consignment-card.is-nested .csh-cp-detail-tracking,
.csh-cp-consignment-card.is-nested .csh-cp-detail-pods {
	background: #ffffff;
}

/* v1.7.19 grouped shift consignment badges and branded count emphasis */
.csh-cp-booking-ref-line {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	min-width: 0;
	margin-bottom: 5px;
}

.csh-cp-booking-ref-line .csh-cp-booking-ref {
	margin-bottom: 0;
}

.csh-cp-consignment-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	min-width: 46px;
	height: 27px;
	padding: 0 9px;
	border-radius: 999px;
	background: linear-gradient(135deg, #2A6AF6 0%, #1A50CC 100%);
	color: #FFFFFF;
	font-family: 'Sora', Arial, sans-serif;
	font-size: 11px;
	font-weight: 900;
	line-height: 1;
	box-shadow: 0 8px 20px rgba(42, 106, 246, .22);
	flex: 0 0 auto;
}

.csh-cp-consignment-badge svg {
	display: block;
	width: 13px;
	height: 13px;
}

.csh-cp-booking-count-number {
	color: #2A6AF6;
	font-weight: 900;
}

.csh-cp-consignment-card.is-nested .csh-cp-consignment-badge {
	min-width: 42px;
	height: 25px;
	font-size: 10px;
}

/* v1.7.26 customer portal consignment copy action */
.csh-cp-copy-cn-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	width: 28px;
	height: 28px;
	border: 1px solid rgba(42, 106, 246, .22);
	border-radius: 999px;
	background: #ffffff;
	color: #2A6AF6;
	box-shadow: 0 5px 14px rgba(42, 106, 246, .10);
	cursor: pointer;
	transition: transform .16s ease, border-color .16s ease, background .16s ease, color .16s ease;
	flex: 0 0 auto;
}

.csh-cp-copy-cn-btn:hover,
.csh-cp-copy-cn-btn:focus {
	background: #eef4ff;
	border-color: rgba(42, 106, 246, .45);
	outline: none;
	transform: translateY(-1px);
}

.csh-cp-copy-cn-btn.is-copied {
	width: auto;
	padding: 0 9px;
	background: #eafaf7;
	border-color: rgba(0, 200, 180, .36);
	color: #078273;
}

.csh-cp-copy-cn-text {
	display: none;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .02em;
}

.csh-cp-copy-cn-btn.is-copied .csh-cp-copy-cn-text {
	display: inline;
}


/* v1.7.42 customer portal impersonation dropdown */
.csh-cp-avatar svg {
	width: 18px;
	height: 18px;
	display: block;
}

.csh-cp-account-company-search-wrap {
	padding: 10px 12px;
	background: #ffffff;
	border-bottom: 1px solid #e5edf7;
}

.csh-cp-account-company-search {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #d7e1ef;
	border-radius: 999px;
	padding: 9px 12px;
	font-size: 12px;
	font-weight: 700;
	color: var(--csh-cp-navy);
	background: #f8fbff;
	outline: none;
}

.csh-cp-account-company-search:focus {
	border-color: #2A6AF6;
	background: #ffffff;
	box-shadow: 0 0 0 3px rgba(42,106,246,.13);
}

.csh-cp-account-company-list {
	max-height: 340px;
}

.csh-cp-sandbox-tag {
  position: fixed;
  top: 14px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 999999;
  width: max-content;
  max-width: calc(100vw - 32px);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 16px;
  border-radius: 999px;
  border: 1px solid rgba(42, 106, 246, .24);
  background: rgba(255, 255, 255, .94);
  color: #0D1F3C;
  box-shadow: 0 12px 30px rgba(13, 31, 60, .14);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  font: 800 11px/1.2 var(--csh-cp-font, 'Sora', Arial, Helvetica, sans-serif);
  letter-spacing: .11em;
  text-transform: uppercase;
  pointer-events: none;
}

.csh-cp-sandbox-tag span {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #00C8B4;
  box-shadow: 0 0 0 5px rgba(0, 200, 180, .14);
  flex: 0 0 auto;
}
body.admin-bar .csh-cp-sandbox-tag {
  top: 46px;
}

@media (max-width: 782px) {
  body.admin-bar .csh-cp-sandbox-tag {
    top: 56px;
  }
}


.csh-cp-sandbox .csh-cp-login,
.csh-cp-sandbox .csh-cp-dashboard {
  padding-top: 0;
}

/* v1.7.50 simplified customer portal impersonation dropdown */
.csh-cp-account-menu {
  width: min(420px, calc(100vw - 32px));
  min-width: min(420px, calc(100vw - 32px));
  border: 1px solid #d1d5db;
  border-radius: 12px;
  box-shadow: 0 14px 36px rgba(15, 23, 42, .14);
  background: #ffffff;
}

.csh-cp-account-menu-head {
  padding: 12px 14px;
  background: #eef1f6;
  border-bottom: 1px solid #e5e8ef;
}

.csh-cp-account-menu-head strong {
  font-size: 13px;
  font-weight: 700;
  color: #0f1b35;
}

.csh-cp-account-menu-head small {
  font-size: 11px;
  color: #6b7280;
  margin-top: 2px;
}

.csh-cp-account-menu-head .csh-cp-account-type-tag,
.csh-cp-menu-type-tag,
.csh-cp-account-company-tags,
.csh-cp-account-company-option .csh-cp-account-type-tag,
.csh-cp-account-company-badge {
  display: none !important;
}

.csh-cp-account-company-search-wrap {
  padding: 10px 12px;
  background: #ffffff;
  border-bottom: 1px solid #eef1f6;
}

.csh-cp-account-company-search {
  border: 1px solid #dbe3f0;
  border-radius: 999px;
  background: #f8fafc;
  color: #0f1b35;
  font-size: 12px;
  font-weight: 600;
  padding: 9px 12px;
}

.csh-cp-account-company-search:focus {
  border-color: #2563eb;
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, .12);
}

.csh-cp-account-company-list {
  max-height: 340px;
  overflow-y: auto;
  background: #ffffff;
}

.csh-cp-account-company-option {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  background: transparent;
  border: 0;
  border-top: 1px solid #eef1f6;
  border-bottom: 0;
  padding: 10px 14px;
  font-size: 13px;
  color: #0f1b35;
  cursor: pointer;
  text-align: left;
}

.csh-cp-account-company-option:hover {
  background: #f8fafc;
}

.csh-cp-account-company-option.active {
  background: #eef4ff;
}

.csh-cp-account-company-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 600;
  color: #0f1b35;
}

.csh-cp-account-company-option.active .csh-cp-account-company-name {
  font-weight: 800;
}

.csh-cp-account-company-active {
  font-size: 11px;
  color: #2563eb;
  font-weight: 800;
  flex: 0 0 auto;
}

.csh-cp-account-menu-footer {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  background: #ffffff;
  border-top: 1px solid #eef1f6;
  color: #dc2626;
  font-size: 13px;
  font-weight: 500;
}

.csh-cp-account-menu-footer:hover {
  background: #fffafa;
}


/* v1.7.54 reliable dropdown search filtering */
.csh-cp-account-company-option.is-filtered-out {
  display: none !important;
}

.csh-cp-account-company-empty {
  padding: 14px;
  color: #6b7280;
  font-size: 12px;
  font-weight: 600;
  text-align: center;
  border-top: 1px solid #eef1f6;
  background: #ffffff;
}

/* v1.7.66 shift-level tracking button in booking history */
.csh-cp-track-shift-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	width: fit-content;
	margin-top: 7px;
	padding: 5px 10px;
	border-radius: 999px;
	border: 1px solid rgba(42, 106, 246, .22);
	background: rgba(42, 106, 246, .08);
	color: #1A50CC;
	font-size: 11px;
	font-weight: 900;
	line-height: 1;
	text-decoration: none;
	box-shadow: 0 6px 16px rgba(42, 106, 246, .08);
	transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}

.csh-cp-track-shift-btn:hover,
.csh-cp-track-shift-btn:focus {
	background: rgba(42, 106, 246, .13);
	box-shadow: 0 8px 20px rgba(42, 106, 246, .14);
	color: #0F44C8;
	text-decoration: none;
	transform: translateY(-1px);
}

.csh-cp-track-shift-btn svg {
	display: block;
}

.csh-cp-track-shift-icon,
.csh-cp-track-shift-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
