/*global*/
.foo{color:#123456}

/* Manager → agent proxy: keep yellow bar pinned to the very top of the viewport (above logo/nav) */
.proxy_notice {
	position: fixed;
	top: 0;
	bottom: auto;
	left: 0;
	width: 100%;
	z-index: 10000000;
	border-top: none;
	border-bottom: 1px solid #888888;
	background: #FFCC00;
	color: #000000;
}
BODY.proxy {
	margin-top: 35px;
	margin-bottom: 0;
}

/* Yellow proxy bar is position:fixed with a huge z-index, so it clips the top of
   Bootstrap #popup dialogs. Nudge them down while proxying. */
body.proxy #popup .modal-dialog {
	margin-top: 100px;
}

/* Template editor: green sticky banner (same pin-to-top behavior as proxy) */
.template_edit_notice {
	position: fixed;
	top: 0;
	bottom: auto;
	left: 0;
	width: 100%;
	z-index: 9999999;
	border-top: none;
	border-bottom: 1px solid #007701;
	background: #009901;
	color: #ffffff;
	text-align: center;
	padding: 6px 16px 7px;
	box-sizing: border-box;
	line-height: 1.3;
}
.template_edit_notice a {
	color: #ffffff;
	font-weight: bold;
	text-decoration: underline;
}
.template_edit_notice a:hover,
.template_edit_notice a:focus {
	color: #ffffff;
	opacity: 0.9;
}
.template_edit_notice_main {
	font-weight: bold;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 4px 12px;
}
.template_edit_notice_sep {
	font-weight: bold;
	opacity: 0.85;
}
.template_edit_notice_note {
	margin-top: 2px;
	font-size: 12px;
	font-weight: normal;
	opacity: 0.95;
}
body.editing-template {
	margin-top: 54px;
}
body.proxy.editing-template {
	margin-top: 89px;
}
body.proxy .template_edit_notice {
	top: 35px;
}
body.editing-template #popup .modal-dialog {
	margin-top: 100px;
}
body.proxy.editing-template #popup .modal-dialog {
	margin-top: 135px;
}
@media (max-width: 767px) {
	.template_edit_notice {
		padding: 6px 10px 7px;
		font-size: 13px;
	}
	body.editing-template {
		margin-top: 68px;
	}
	body.proxy.editing-template {
		margin-top: 103px;
	}
}

/* Keep agent/coordinator header above sticky table headers (past.php etc.) */
body.agent .header_area,
body.x_agent .header_area,
body.coordinator .header_area {
	position: relative;
	z-index: 2001;
}

/* Sticky listing headers must sit under the nav (global.css uses z-index:1000) */
body.agent .agent_dashboard .sticky-header,
body.x_agent .agent_dashboard .sticky-header,
body.coordinator .agent_dashboard .sticky-header,
body.agent .agent_dashboard .sticky-header th,
body.x_agent .agent_dashboard .sticky-header th,
body.coordinator .agent_dashboard .sticky-header th {
	z-index: 20 !important;
}

/* When proxy bar is present, stick table headers below it */
body.proxy .agent_dashboard .sticky-header,
body.proxy .agent_dashboard .sticky-header th {
	top: 35px !important;
}

/* Archived list: text % instead of ProgressBar (avoids per-row style/script) */
.agent_dashboard .progress-simple {
	display: inline-block;
	font-weight: bold;
	white-space: nowrap;
}

/* Document repository: search and Go-button row highlight (standardized yellow) */
.search-highlight {
	background-color: #ffffcc !important;
	border: 2px solid #e0e0a0 !important;
}

/* Property Info / listing rows: paint cells so the flash is visible */
TR.search-highlight > TD,
TR.search-highlight > TH,
TD.search-highlight,
TH.search-highlight {
	background-color: #ffffcc !important;
	border-color: #e0e0a0 !important;
}

/* Document activity modal: center all text on mobile */
@media (max-width: 767px) {
	#document_activity_modal .custom-modal-content,
	#document_activity_modal .custom-modal-body,
	#document_activity_modal #activity_modal_subtitle,
	#document_activity_modal table,
	#document_activity_modal thead th,
	#document_activity_modal tbody td {
		text-align: center !important;
	}
}

/* Ensure minicolors color picker is visible */
.colorpicker,
.colorpicker-component {
	overflow: visible !important;
}

/* Ensure minicolors panel displays on top without being clipped */
.minicolors-panel {
	position: absolute !important;
	z-index: 99999 !important;
}

/* Ensure parent containers don't clip the panel */
.card_section .line,
.card_section .row,
.card_section,
.card_section .col-xs-6,
.card_section .col-md-4,
.card_section [class*="col-"] {
	overflow: visible !important;
}

/* Fix for input buttons with button-colorswap-primary class */
INPUT[type='button'].button-colorswap-primary,
INPUT[type='submit'].button-colorswap-primary,
A.button-colorswap-primary {
	background-color: var(--agent-bg-color1, #009901) !important;
	color: var(--agent-fg-color1, #ffffff) !important;
	border: 1px solid #000000 !important;
	cursor: pointer;
}

INPUT[type='button'].button-colorswap-primary:hover,
INPUT[type='submit'].button-colorswap-primary:hover,
A.button-colorswap-primary:hover {
	background-color: var(--agent-bg-color2, #000000) !important;
	color: var(--agent-fg-color2, #ffffff) !important;
	border: 1px solid #000000 !important;
}

/* Fix for anchor buttons with button-colorswap-primary class */
A.button.button-colorswap-primary {
	background-color: var(--agent-bg-color1, #009901) !important;
	color: var(--agent-fg-color1, #ffffff) !important;
	border: 1px solid #000000 !important;
	cursor: pointer;
}

A.button.button-colorswap-primary:hover {
	background-color: var(--agent-bg-color2, #000000) !important;
	color: var(--agent-fg-color2, #ffffff) !important;
	border: 1px solid #000000 !important;
}

/* Fix for buttons with button-colorswap-secondary class */
BUTTON.button-colorswap-secondary,
INPUT[type='button'].button-colorswap-secondary,
INPUT[type='submit'].button-colorswap-secondary,
A.button.button-colorswap-secondary {
	background-color: var(--agent-bg-color2, #000000) !important;
	color: var(--agent-fg-color2, #ffffff) !important;
	border: 1px solid #000000 !important;
	cursor: pointer;
}

BUTTON.button-colorswap-secondary:hover,
INPUT[type='button'].button-colorswap-secondary:hover,
INPUT[type='submit'].button-colorswap-secondary:hover,
A.button.button-colorswap-secondary:hover {
	background-color: var(--agent-bg-color1, #009901) !important;
	color: var(--agent-fg-color1, #ffffff) !important;
	border: 1px solid #000000 !important;
}

/* Get More Credits — free-count badge only when ≤20% (amber) / ≤10% (red) */
A.button.credits-buy-button-low {
	position: relative;
	padding-right: 2.4em;
}

A.button.credits-buy-button .credits-free-badge {
	position: absolute;
	top: -9px;
	right: -10px;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 9px;
	font-size: 11px;
	font-weight: 700;
	line-height: 18px;
	text-align: center;
	border: 1px solid rgba(0, 0, 0, 0.25);
	box-sizing: border-box;
}

A.button.credits-buy-button .credits-free-badge-amber {
	background: #FFE08A;
	color: #333333;
}

A.button.credits-buy-button .credits-free-badge-red {
	background: #FF9999;
	color: #333333;
}

/* Icon link colorswap classes for restore/delete icons */
A.icon-link-colorswap-primary {
	display: inline-block;
	padding: 6px 10px;
	background-color: var(--agent-bg-color1, #009901) !important;
	color: var(--agent-fg-color1, #ffffff) !important;
	border: 1px solid #000000;
	border-radius: 3px;
	transition: all 0.2s ease;
}

A.icon-link-colorswap-primary:hover {
	background-color: var(--agent-bg-color2, #000000) !important;
	color: var(--agent-fg-color2, #ffffff) !important;
	text-decoration: none;
}

A.icon-link-colorswap-secondary {
	display: inline-block;
	padding: 6px 10px;
	background-color: var(--agent-bg-color2, #000000) !important;
	color: var(--agent-fg-color2, #ffffff) !important;
	border: 1px solid #000000;
	border-radius: 3px;
	transition: all 0.2s ease;
	text-decoration: none;
}

A.icon-link-colorswap-secondary:hover {
	background-color: var(--agent-bg-color1, #009901) !important;
	color: var(--agent-fg-color1, #ffffff) !important;
	text-decoration: none;
}

/* Override table listing underline for icon-link buttons */
.agent_dashboard TABLE.listing A.icon-link-colorswap-primary,
.agent_dashboard TABLE.listing A.icon-link-colorswap-primary:hover,
TABLE.listing A.icon-link-colorswap-primary,
TABLE.listing A.icon-link-colorswap-primary:hover,
.agent_dashboard TABLE.listing A.icon-link-colorswap-secondary,
.agent_dashboard TABLE.listing A.icon-link-colorswap-secondary:hover,
TABLE.listing A.icon-link-colorswap-secondary,
TABLE.listing A.icon-link-colorswap-secondary:hover {
	text-decoration: none !important;
}

/* Slim Last Login column: date + icon action instead of full text buttons */
.agent_dashboard TABLE.listing TD.dashboard-last-login {
	white-space: nowrap;
	vertical-align: middle;
	text-align: center;
}
.agent_dashboard TABLE.listing TD.dashboard-last-login .dashboard-last-login-date {
	display: block;
	line-height: 1.3;
	margin-bottom: 4px;
}
/* Do not override padding/line-height here — use A.icon-link-colorswap-* (6px 10px)
   so last-login matches What's Next / archive. Old line-height:1 made these shorter. */
.agent_dashboard TABLE.listing TD.dashboard-last-login .dashboard-last-login-note {
	display: block;
	font-size: 11px;
	line-height: 1.3;
	margin-top: 4px;
	white-space: normal;
	max-width: 110px;
}
.agent_dashboard TABLE.listing .dashboard-last-login-action-wrap.dashboard-action-with-help {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
	max-width: 100%;
}
/* Manager dashboard: agent name stacked over last login + envelope */
.agent_dashboard TABLE.listing TD.dashboard-agent-login {
	white-space: normal;
	text-align: center;
}
.agent_dashboard TABLE.listing TD.dashboard-agent-login .dashboard-agent-login-name {
	display: block;
	line-height: 1.3;
}
.agent_dashboard TABLE.listing TD.dashboard-agent-login .dashboard-last-login-date {
	margin-top: 2px;
	margin-bottom: 4px;
}
.agent_dashboard TABLE.listing TD.dashboard-agent-login .dashboard-last-login-note {
	max-width: none;
}

/* What's Next — reminder envelope on its own row under the task title */
.agent_dashboard TABLE.listing .dashboard-next-task-action {
	display: block;
	margin-top: 4px;
}
.agent_dashboard TABLE.listing .dashboard-next-task-action.dashboard-action-with-help {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px;
	text-align: center;
}
/* Desktop uses hover tooltips on the envelope; hide tap-info helpers ≥992 */
@media (min-width: 992px) {
	.dashboard-next-task-action > .dashboard-action-help-icon,
	.dashboard-next-task-action > .dashboard-action-help-text,
	.dashboard-last-login-action-wrap > .dashboard-action-help-icon,
	.dashboard-last-login-action-wrap > .dashboard-action-help-text,
	.agents-rejected-invite-wrap > .dashboard-action-help-icon,
	.agents-rejected-invite-wrap > .dashboard-action-help-text {
		display: none !important;
	}
}

/* My Agents — Sent Invitation date + resend bell (pending only; bell on its own row) */
.agent_dashboard TABLE.listing TD.agents-sent-invitation {
	white-space: nowrap;
	vertical-align: middle;
	text-align: center;
}
.agent_dashboard TABLE.listing TD.agents-sent-invitation .agents-sent-invitation-date {
	display: block;
	line-height: 1.3;
	margin-bottom: 4px;
}
.agent_dashboard_mobile TABLE.listing TD.agents-sent-invitation .agents-sent-invitation-date {
	display: block;
	margin-bottom: 4px;
}
.agents-rejected-access {
	text-align: center;
}
.agents-rejected-on-date {
	display: block;
	font-size: 12px;
	line-height: 1.3;
	margin-top: 4px;
	color: #555;
}
.agents-mobile-card-table .agents-rejected-access {
	text-align: left;
}

/* Tooltips render inside the cell (site.js does not use container:'body'), so a
   nowrap cell pushes the text past the 200px tooltip background */
.agent_dashboard TABLE.listing .tooltip,
.agent_dashboard TABLE.listing .tooltip-inner {
	white-space: normal;
	text-align: center;
}

/* Contract Dates sticky headers: tooltip on body (see data-container); keep header width stable */
.agent_dashboard TABLE.listing.sticky-table TR.sticky-header > TH[data-toggle="tooltip"] {
	white-space: nowrap;
}

/* Add spacing above vendors tab system */
.vendors-tab-system {
	margin-top: 35px;
}

/*
 * Vendors page layout: desktop tabs only at ≥1200; mobile stack below.
 * Explicit rules beat Bootstrap visible/hidden class combinations that left
 * a blank band between ~768 and 1200.
 */
.vendors-tab-system {
	display: none !important;
}
.vendors-mobile {
	display: block !important;
}
@media (min-width: 1200px) {
	.vendors-tab-system {
		display: block !important;
	}
	.vendors-mobile {
		display: none !important;
	}
}

/* Fix widget title text color when editing in vendors tab */
.vendors-tab-system .tab-content .widget_title:focus {
	color: #000000 !important;
	background: #ffffff !important;
}

/* Also fix for the table header that contains the widget title */
.vendors-tab-system .tab-content .listing_widgets TH.agent_bg_color1 INPUT.widget_title:focus,
.vendors-tab-system .tab-content .listing_widgets TH INPUT.widget_title:focus {
	color: #000000 !important;
	background: #ffffff !important;
}

/* Custom Sidebar Items: title left, From Manager right; extra gap between boxes (desktop) */
.agent_dashboard TABLE.listing.listing_widgets TH {
	text-align: left;
}
.agent_dashboard TABLE.listing.listing_widgets .widget-library-title-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	text-align: left;
}
.agent_dashboard TABLE.listing.listing_widgets .widget-library-title {
	flex: 1 1 auto;
	min-width: 0;
	text-align: left;
}
.agent_dashboard TABLE.listing.listing_widgets .widget-library-from-manager {
	flex: 0 1 auto;
	font-size: 13px;
	font-weight: 400;
	opacity: 0.9;
	text-align: right;
	line-height: 1.3;
}
.agent_dashboard TABLE.listing.listing_widgets .widget-library-from-manager-sep {
	padding: 0 0.35em;
}
.agent_dashboard TABLE.listing.listing_widgets > tbody.list-search-item > tr.list_item_empty > td {
	padding-bottom: 15px;
}

/* Fix tooltip overflow issues in mobile vendor cards */
@media (max-width: 767px) {
	/* Allow tooltips to overflow table cells */
	.agent_dashboard_mobile TABLE.listing TD {
		position: relative;
		overflow: visible !important;
	}
	
	.agent_dashboard_mobile TABLE.listing TR.list_item {
		position: relative;
		overflow: visible !important;
	}
	
	.agent_dashboard_mobile TABLE.listing {
		overflow: visible !important;
	}
	.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item {
		overflow: hidden !important;
	}
	
	/* Improved mobile tooltip for rating info icon */
	.rating-tooltip-trigger {
		position: relative;
		z-index: 1;
	}
	
	.rating-tooltip {
		position: fixed !important;
		width: 213px !important;
		max-width: 213px !important;
		white-space: normal !important;
		z-index: 99999 !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
		margin-top: 8px !important;
		line-height: 1.4 !important;
		padding: 10px 12px !important;
		box-shadow: 0 4px 12px rgba(0,0,0,0.4) !important;
	}
	
	/* Arrow positioning for tooltip above icon */
	.rating-tooltip.tooltip-above::after {
		top: auto !important;
		bottom: -6px !important;
		border-bottom-color: transparent !important;
		border-top-color: #333 !important;
	}
}

/* Fix active tab colors to use agent colors */
.vendors-tab-system .nav-tabs > li.active > a,
.vendors-tab-system .nav-tabs > li.active > a:hover,
.vendors-tab-system .nav-tabs > li.active > a:focus {
	background-color: var(--agent-bg-color1, #009901) !important;
	color: var(--agent-fg-color1, #ffffff) !important;
}

/* Vendors mobile: condensed row + expand (card body) */
.vendor-mobile-draft-note {
	display: inline-block;
	color: #666;
	font-size: 14px;
	font-style: italic;
	padding: 6px 0;
}
.add-vendor-timeline-note {
	margin: 10px 0 0;
	color: #666;
	font-size: 13px;
	font-style: italic;
	text-align: center;
}
.share-template-help {
	margin: 8px 0 16px;
	color: #555;
	font-size: 14px;
	line-height: 1.4;
}
.share-template-empty {
	margin: 0 0 16px;
	color: #666;
	font-size: 14px;
	font-style: italic;
}
.share-template-section-label {
	margin: 14px 0 8px;
	font-size: 13px;
	font-weight: 600;
	color: #333;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}
.share-template-actions {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 12px;
	margin-top: 18px;
	text-align: center;
}
.share-template-actions .button {
	display: inline-block;
	box-sizing: border-box;
	width: 40%;
	max-width: 220px;
	margin: 0;
	text-align: center;
}
.share-template-actions--single .button {
	width: 40%;
}
.share-template-success-msg {
	margin: 16px 0 8px;
	font-size: 16px;
	line-height: 1.4;
	text-align: center;
	color: #333;
}
.share-template-success-msg--warn {
	color: #a94442;
}
.share-template-result-detail {
	margin: 8px 0;
	font-size: 14px;
	line-height: 1.4;
	text-align: center;
	color: #444;
}
.share-template-skip-list {
	margin: 12px auto 0;
	padding: 0 12px;
	max-width: 420px;
	list-style: none;
	text-align: left;
	font-size: 14px;
	line-height: 1.45;
	color: #555;
}
.share-template-skip-list li {
	margin: 6px 0;
}
.vendor-add-row {
	margin: 12px 0 16px;
}
/* Intro block ends at the type filter — don't add global 50px below into Search */
.vendors-list-intro.agent_dashboard {
	margin-bottom: 0;
}
/* Vendor Performance mobile: full-width filter (override vendor_performance.css centering) */
.vendor-perf-mobile .list-filter.vendor-type-filter {
	margin: 0 0 25px;
	text-align: left;
}
.vendor-perf-mobile .list-filter select,
.vendor-perf-mobile .vendor-type-filter select,
.agent_dashboard_mobile.vendor-perf-mobile .list-filter select {
	width: 100%;
	max-width: none;
	margin: 0;
	display: block;
}

/* Helpful Links: click whole header to expand; title editable only when open */
.sidebar .toggle_EDITING .widget-toggle-header {
	cursor: pointer;
	position: relative;
}
.sidebar .toggle_EDITING .widget-toggle-main {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	max-width: calc(100% - 8px);
	vertical-align: middle;
}
.sidebar .toggle_EDITING .widget-toggle-label {
	font-family: "Roboto", helvetica, arial, sans-serif;
	font-size: 20px;
	font-weight: 500;
	line-height: 32px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.sidebar .toggle_EDITING .widget-title-expanded {
	display: none !important;
}
.sidebar .toggle_EDITING.is-open .widget-title-collapsed {
	display: none !important;
}
.sidebar .toggle_EDITING.is-open .widget-title-expanded {
	display: inline-block !important;
}
.sidebar .toggle_EDITING.is-open .widget-title-expanded:focus {
	outline: 1px solid rgba(255,255,255,0.55);
	outline-offset: 2px;
	background: rgba(255,255,255,0.12) !important;
	border-radius: 2px;
}

.whatsnext-vendor-table-sticky-container tr.vendor-draft-row > td {
	background: #fff8e6;
}
/* Coordinator: hide My Rating on Add/Manage Vendors (keep markup for easy restore) */
body.coordinator .vendor-my-rating-col.is-hidden-for-coordinator {
	display: none !important;
}
.widget-mobile-content-placeholder {
	color: #999;
	font-style: italic;
}
.widget-mobile-card .widget_text_editable {
	min-height: 6.4em; /* ~4 lines at 16px / 1.3 */
	line-height: 1.3;
	cursor: pointer;
	word-break: break-word;
	padding: 6px 0;
	box-sizing: border-box;
}
.widget-mobile-card textarea.form-control,
.widget-mobile-card-table textarea.form-control {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	font-size: 16px;
	line-height: 1.3;
	min-height: 6.4em;
	resize: vertical;
}
.widget-mobile-card-table tr.list_item td {
	vertical-align: top !important;
}
.vendor-mobile-card {
	border: 1px solid rgba(0, 0, 0, 0.14);
	border-radius: 8px;
	margin-bottom: 12px;
	overflow: hidden;
	background: #fff;
	box-sizing: border-box;
}
.vendor-mobile-card--odd {
	background: #fff;
}
.vendor-mobile-card--even {
	background: #f4f4f4;
}
.vendor-mobile-card--even .vendor-mobile-card-body {
	background: #f4f4f4;
}
.vendor-mobile-card.is-open {
	margin-bottom: 20px;
}
button.vendor-mobile-card-head,
button.vendor-mobile-card-head:hover,
button.vendor-mobile-card-head:focus,
button.vendor-mobile-card-head:active {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 12px 14px !important;
	text-align: left !important;
	font-weight: inherit !important;
	text-transform: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-sizing: border-box;
	cursor: pointer;
}
.vendor-mobile-card-head.agent_bg_color1 {
	background-color: var(--agent-bg-color1, #333333) !important;
	color: var(--agent-fg-color1, #ffffff) !important;
}
.vendor-mobile-card-head.agent_bg_color1 .vendor-mobile-card-primary,
.vendor-mobile-card-head.agent_bg_color1 .vendor-mobile-card-secondary,
.vendor-mobile-card-head.agent_bg_color1 .vendor-perf-mobile-peek,
.vendor-mobile-card-head.agent_bg_color1 .past-mobile-status-peek,
.vendor-mobile-card-head.agent_bg_color1 .purchase-mobile-type-peek,
.vendor-mobile-card-head.agent_bg_color1 .template-mobile-default-peek,
.vendor-mobile-card-head.agent_bg_color1 .agents-mobile-status-peek,
.vendor-mobile-card-head.agent_bg_color1 .vendor-mobile-card-chevron,
.vendor-mobile-card-head.agent_bg_color1 .vendor-mobile-card-chevron i {
	color: var(--agent-fg-color1, #ffffff) !important;
}
@media (max-width: 991px) {
	.vendor-mobile-card-head.agent_bg_color1:hover,
	.vendor-mobile-card-head.agent_bg_color1:focus {
		background-color: var(--agent-bg-color1, #333333) !important;
		color: var(--agent-fg-color1, #ffffff) !important;
	}
}
/* Vendor Performance cards: color2 so section reads distinct from Manage Vendors (color1) */
.vendor-mobile-card-head.agent_bg_color2 {
	background-color: var(--agent-bg-color2, #000000) !important;
	color: var(--agent-fg-color2, #ffffff) !important;
}
.vendor-mobile-card-head.agent_bg_color2 .vendor-mobile-card-primary,
.vendor-mobile-card-head.agent_bg_color2 .vendor-mobile-card-secondary,
.vendor-mobile-card-head.agent_bg_color2 .vendor-perf-mobile-peek,
.vendor-mobile-card-head.agent_bg_color2 .vendor-mobile-card-chevron,
.vendor-mobile-card-head.agent_bg_color2 .vendor-mobile-card-chevron i {
	color: var(--agent-fg-color2, #ffffff) !important;
}
@media (max-width: 991px) {
	.vendor-mobile-card-head.agent_bg_color2:hover,
	.vendor-mobile-card-head.agent_bg_color2:focus {
		background-color: var(--agent-bg-color2, #000000) !important;
		color: var(--agent-fg-color2, #ffffff) !important;
	}
}
/* Performance card head: thinner bar; metrics on top line opposite name */
.vendor-perf-mobile-card > .vendor-mobile-card-head {
	padding: 8px 12px !important;
	align-items: center !important;
}
.vendor-perf-mobile-card .vendor-mobile-card-titles {
	gap: 1px;
}
.vendor-perf-mobile-topline {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
	min-width: 0;
}
.vendor-perf-mobile-topline .vendor-mobile-card-primary {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.vendor-perf-mobile-peek {
	display: block;
	flex: 0 1 auto;
	max-width: 58%;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.25;
	opacity: 0.9;
	text-align: right;
	word-break: break-word;
}
.vendor-perf-mobile-card .vendor-mobile-card-chevron {
	margin-left: 20px;
}
.vendor-perf-mobile > h1.agent_color2 {
	margin-top: 0;
}

/*
 * Archived: desktop table ≥1200; mobile cards below.
 * Higher specificity than the global .agent_dashboard.hidden-sm.hidden-xs
 * force-show / .agent_dashboard_mobile force-hide at ≥992.
 */
.agent_dashboard.past-desktop.hidden-xs.hidden-sm.hidden-md {
	display: none !important;
}
.agent_dashboard.agent_dashboard_mobile.past-mobile.hidden-lg {
	display: block !important;
}
@media (min-width: 1200px) {
	.agent_dashboard.past-desktop.hidden-xs.hidden-sm.hidden-md {
		display: block !important;
	}
	.agent_dashboard.agent_dashboard_mobile.past-mobile.hidden-lg {
		display: none !important;
	}
}

/*
 * Templates: desktop table ≥1200; mobile accordion below.
 */
.agent_dashboard.templates-desktop.hidden-xs.hidden-sm.hidden-md {
	display: none !important;
}
.agent_dashboard.agent_dashboard_mobile.templates-mobile.hidden-lg {
	display: block !important;
}
@media (min-width: 1200px) {
	.agent_dashboard.templates-desktop.hidden-xs.hidden-sm.hidden-md {
		display: block !important;
	}
	.agent_dashboard.agent_dashboard_mobile.templates-mobile.hidden-lg {
		display: none !important;
	}
}

/*
 * My Agents: desktop table ≥1200; mobile accordion below.
 */
.agent_dashboard.agents-desktop.hidden-xs.hidden-sm.hidden-md {
	display: none !important;
}
.agent_dashboard.agent_dashboard_mobile.agents-mobile.hidden-lg {
	display: block !important;
}
@media (min-width: 1200px) {
	.agent_dashboard.agents-desktop.hidden-xs.hidden-sm.hidden-md {
		display: block !important;
	}
	.agent_dashboard.agent_dashboard_mobile.agents-mobile.hidden-lg {
		display: none !important;
	}
}

.templates-agent-defaults {
	margin-top: 36px;
	margin-bottom: 0;
}
.templates-agent-defaults-intro {
	margin: 0 0 16px;
	width: 100%;
	max-width: none;
	color: #666;
	font-size: 14px;
}
.templates-agent-defaults-list {
	margin-top: 4px;
}

/* Templates mobile accordion */
.template-mobile-card > .vendor-mobile-card-head {
	padding: 8px 12px !important;
	align-items: center !important;
}
.template-mobile-card .vendor-mobile-card-titles {
	gap: 1px;
	flex: 1 1 auto;
	min-width: 0;
}
.template-mobile-card .vendor-mobile-card-chevron {
	margin-left: 12px;
}
.template-mobile-default-peek {
	flex: 0 1 auto;
	align-self: center;
	max-width: 42%;
	margin-left: 10px;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.25;
	opacity: 0.92;
	text-align: right;
	word-break: break-word;
}
.template-mobile-card-table TD INPUT.text,
.template-mobile-card-table TD SELECT {
	width: 100%;
	max-width: 100%;
}
.template-mobile-actions a {
	display: inline-block;
	margin: 2px 0;
}
.past-mobile-card > .vendor-mobile-card-head {
	padding: 8px 12px !important;
	align-items: center !important;
}
.past-mobile-card .vendor-mobile-card-titles {
	gap: 1px;
	flex: 1 1 auto;
	min-width: 0;
}
.past-mobile-card .vendor-mobile-card-chevron {
	margin-left: 12px;
}
.past-mobile-status-peek {
	flex: 0 1 auto;
	align-self: center;
	max-width: 48%;
	margin-left: 10px;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.25;
	opacity: 0.92;
	text-align: right;
	word-break: break-word;
}
.agents-mobile-card > .vendor-mobile-card-head {
	padding: 8px 12px !important;
	align-items: center !important;
}
.agents-mobile-card .vendor-mobile-card-titles {
	gap: 1px;
	flex: 1 1 auto;
	min-width: 0;
}
.agents-mobile-card .vendor-mobile-card-chevron {
	margin-left: 12px;
}
.agents-mobile-status-peek {
	flex: 0 1 auto;
	align-self: center;
	max-width: 42%;
	margin-left: 10px;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.25;
	opacity: 0.92;
	text-align: right;
	word-break: break-word;
}
.agents-mobile-card-table TD.agents-sent-invitation {
	white-space: normal;
	text-align: left;
	vertical-align: middle;
}
.agents-mobile-list {
	margin-top: 4px;
}
.past-mobile-actions {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: stretch;
	gap: 6px;
	margin-top: 12px;
}
.past-mobile-actions .button {
	flex: 1 1 0;
	width: auto;
	max-width: 24%;
	box-sizing: border-box;
	text-align: center;
	margin: 0;
	padding-left: 4px;
	padding-right: 4px;
	font-size: 12px;
	line-height: 1.2;
	white-space: normal;
}
.vendor-mobile-card-titles {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	min-width: 0;
	flex: 1 1 auto;
}
.vendor-mobile-card-primary {
	display: block;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.25;
	word-break: break-word;
}
.vendor-mobile-card-secondary {
	display: block;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.3;
	opacity: 0.88;
	word-break: break-word;
}
.vendor-mobile-card-chevron {
	flex: 0 0 auto;
	margin-left: 10px;
	transition: transform 0.2s ease;
}
.vendor-mobile-card.is-open .vendor-mobile-card-chevron {
	transform: rotate(180deg);
}
.vendor-mobile-card-body {
	display: none;
	padding: 10px 12px 14px;
}
.vendor-mobile-card.is-open .vendor-mobile-card-body {
	display: block;
}
.vendor-mobile-card-table {
	table-layout: fixed;
	width: 100%;
	margin: 0;
}
.vendor-mobile-card-table TD {
	padding: 8px 4px;
	vertical-align: middle !important;
	word-break: break-word;
	font-size: 16px;
}
.vendor-mobile-card-table TD:first-child {
	width: 40%;
	color: #666;
	font-size: 15px;
	font-weight: 600;
	padding-right: 8px;
	line-height: 1.25;
}
.vendor-mobile-card-table TD:last-child {
	width: 60%;
	color: #222;
	font-size: 16px;
}
/* Beat vendor_performance.css mobile 40% only where we need a different split */
.agent_dashboard_mobile TABLE.listing.vendor-mobile-card-table TR.list_item > TD:first-child {
	width: 40% !important;
	background-color: transparent;
	color: #666;
	font-weight: 600;
	padding: 8px 4px 8px 0;
}
.agent_dashboard_mobile TABLE.listing.vendor-mobile-card-table TR.list_item > TD:last-child {
	width: 60% !important;
	padding: 8px 0 8px 4px;
}
/* Custom sidebar widgets: narrow label column */
.widget-mobile-card-table {
	table-layout: fixed;
	width: 100%;
	margin: 0;
}
.widget-mobile-card-table TD {
	padding: 8px 4px;
	vertical-align: top !important;
	word-break: break-word;
	font-size: 16px;
}
.widget-mobile-card-table TD:first-child {
	width: 12%;
	color: #666;
	font-size: 15px;
	font-weight: 600;
	padding-right: 8px;
	line-height: 1.25;
}
.widget-mobile-card-table TD:last-child {
	width: 88%;
	color: #222;
	font-size: 16px;
}
.agent_dashboard_mobile TABLE.listing.widget-mobile-card-table TR.list_item > TD:first-child {
	width: 12% !important;
	background-color: transparent;
	color: #666;
	font-weight: 600;
	padding: 8px 4px 8px 0;
}
.agent_dashboard_mobile TABLE.listing.widget-mobile-card-table TR.list_item > TD:last-child {
	width: 88% !important;
	padding: 8px 0 8px 4px;
}
.widget-mobile-card-table TD INPUT.text,
.widget-mobile-card-table TD SELECT {
	text-align: left;
	border: none;
	background: none;
	width: 100%;
	box-sizing: border-box;
	font-size: 16px;
}
.vendor-mobile-card-table TD INPUT.text,
.vendor-mobile-card-table TD SELECT {
	text-align: left;
	border: none;
	background: none;
	width: 100%;
	box-sizing: border-box;
	font-size: 16px;
}
.vendor-mobile-card-table .vendor-rating-container,
.vendor-mobile-card-table .star-rating {
	vertical-align: middle;
}
.vendor-mobile-card-table .rating-tooltip-trigger,
.vendor-mobile-card-table .rating-info-icon {
	vertical-align: middle;
}
/* Keep table cells as table-cells (no flex) — middle-align label vs tall stars */
.vendor-mobile-card-table tr.vendor-mobile-rating-row > td {
	vertical-align: middle !important;
}
.vendor-mobile-card-table tr.vendor-mobile-rating-row > td:first-child .vendor-mobile-rating-label {
	display: inline-block;
	vertical-align: middle;
	line-height: 1.2;
}
/* Inline stars inside vendor cards through tablet (cards show below 1200) */
@media (max-width: 1199px) {
	.vendor-mobile-card .star-rating .star,
	.vendor-mobile-card .star-rating .rating-number,
	.vendor-mobile-card .rating-popover {
		display: none !important;
	}
	.vendor-mobile-card .star-rating .mobile-stars {
		display: inline-flex !important;
		flex-wrap: wrap;
		gap: 4px;
		align-items: center;
		max-width: 100%;
		vertical-align: middle;
	}
	.vendor-mobile-card .star-rating .mobile-stars span {
		font-size: 26px;
		padding: 2px;
		line-height: 1;
		color: #ccc; /* match desktop empty stars (cell text is otherwise #222) */
		cursor: pointer;
	}
	.vendor-mobile-card .star-rating .mobile-stars span.filled,
	.vendor-mobile-card .star-rating .mobile-stars span.hover {
		color: gold;
	}
}

/* Vendor section heads: title + icon jumps (mobile stack only) */
.vendor-section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 12px;
}
.vendor-section-head > h1 {
	margin: 0 !important;
	flex: 1 1 auto;
	min-width: 0;
	line-height: 1.2;
}
.vendor-section-jumps {
	display: none;
	flex: 0 0 auto;
	align-items: center;
	gap: 4px;
}
a.vendor-section-jump,
a.vendor-section-jump:hover,
a.vendor-section-jump:focus,
a.vendor-section-jump:active {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 8px;
	border: 1px solid rgba(0, 0, 0, 0.14);
	background: #fff !important;
	color: #555 !important;
	text-decoration: none !important;
	box-shadow: none !important;
	font-size: 15px;
	line-height: 1;
	box-sizing: border-box;
}
a.vendor-section-jump i {
	color: inherit !important;
}
a.vendor-section-jump.is-current,
a.vendor-section-jump.is-current:hover,
a.vendor-section-jump.is-current:focus {
	background: var(--agent-bg-color1, #333) !important;
	border-color: var(--agent-bg-color1, #333);
	color: var(--agent-fg-color1, #fff) !important;
}
.vendor-perf-mobile a.vendor-section-jump.is-current,
.vendor-perf-mobile a.vendor-section-jump.is-current:hover,
.vendor-perf-mobile a.vendor-section-jump.is-current:focus {
	background: var(--agent-bg-color2, #000) !important;
	border-color: var(--agent-bg-color2, #000);
	color: var(--agent-fg-color2, #fff) !important;
}

/* Legacy Jump to Section rows — retired */
.vendor-nav {
	display: none !important;
}

@media (max-width: 1199px) {
	.vendor-section-jumps {
		display: inline-flex;
	}
	#manage-vendors-mobile,
	#view-vendor-performance,
	#manage-custom-items {
		scroll-margin-top: 72px;
	}
}

.vendor-rating-container.vendor-rating-disabled {
	opacity: 0.65;
	cursor: default;
	pointer-events: none;
}

/* Move Create Template button up slightly */
.create-template-button {
	position: relative;
	top: -7px !important;
}

/* Keep scroll-to-top above agent/coordinator footer components (z-index: 3) */
BODY.scrolled .scroll_to_top {
	z-index: 100;
}

/* Add subtle glow to scroll-to-top arrow icon for visibility on dark footer */
BODY.scrolled .scroll_to_top I {
	text-shadow: 0 0 8px rgba(255, 255, 255, 0.8), 0 0 12px rgba(255, 255, 255, 0.6);
}

/* Change copyright footer background to true black */
.copyright {
	background: #000000 !important;
}

/* Hide the system default file input */
.hidden-file-input {
	opacity: 0;
	position: absolute;
	z-index: -1;
	width: 0.1px;
	height: 0.1px;
	overflow: hidden;
}

/* Style labels as buttons for file inputs */
LABEL.button {
	display: inline-block;
	padding: 6px 12px;
	margin-right: 20px;
	cursor: pointer;
	text-decoration: none;
	border-radius: 4px;
}

LABEL.button:hover {
	text-decoration: none;
}

/* Ensure label buttons with colorswap classes get agent colors */
LABEL.button.button-colorswap-primary,
.client_intro .client_intro_image LABEL.button.button-colorswap-primary {
	background-color: var(--agent-bg-color1, #009901) !important;
	color: var(--agent-fg-color1, #FFFFFF) !important;
	border: 1px solid #000000 !important;
}

LABEL.button.button-colorswap-primary:hover,
.client_intro .client_intro_image LABEL.button.button-colorswap-primary:hover {
	background-color: var(--agent-bg-color2, #000000) !important;
	color: var(--agent-fg-color2, #FFFFFF) !important;
	border: 1px solid #000000 !important;
}

/* Center the mobile upload progress text without affecting circular progress styles elsewhere */
.mobile-progress-text {
	text-align: center !important;
}

.coordinator-approval-message {
	font-size: 11px;
	color: #339900;
	font-weight: 600;
	margin-top: 4px;
}

.mobile-approval-message {
	text-align: center;
	font-size: 12px;
	color: #339900;
	font-weight: 600;
	margin-bottom: 12px;
	line-height: 1.4;
}

.agent-mobile-approval-detail {
	text-align: center;
	font-size: 12px;
	color: #333333;
	margin: 6px 0;
	font-weight: 400;
	line-height: 1.4;
}


/*large only*/
@media (min-width: 1200px) {

}

/*medium*/
@media (min-width: 992px) and (max-width: 1199px) {

}

/*small*/
@media (min-width: 768px) and (max-width: 991px) {
BODY.scrolled .scroll_to_top {
    bottom: 38px;
    right: 14px;
}
}

/*xsmall*/
@media (max-width: 767px) {
BODY.scrolled .scroll_to_top {
    bottom: 38px;
    right: 14px;
}
}


/* Dim N/A Contract Terms — keep Additional Terms column/row interactive */
TR.user_contract_date_na > TD {
    opacity: 0.3;
    pointer-events: none;
}
TR.user_contract_date_na > TD.user_contract_date_additional_terms {
    opacity: 1;
    pointer-events: auto;
}
.agent_dashboard_mobile TR.list_item.user_contract_date_na > TD {
    opacity: 0.3;
    pointer-events: none;
}
.agent_dashboard_mobile TR.list_item.user_contract_date_additional_terms_row > TD,
.agent_dashboard_mobile TR.list_item.user_contract_date_additional_terms_row > TD.user_contract_date_additional_terms {
    opacity: 1;
    pointer-events: auto;
}

/* Empty address / unanswered required Offer Information groups */
.offer_information_table td.condition_group_required {
    color: #CC0000;
    font-weight: bold;
}
.condition_group_option {
    display: inline-block;
    margin-right: 18px;
    font-weight: normal;
}

/* Required Offer Information radios (Loan Type, HOA) stay pink until chosen */
.offer_information_table .condition_group_option_unanswered {
    color: #FF6666;
}

#under_contract_user_mlsno::placeholder,
#enter_mls_user_mlsno::placeholder,
.under-contract-mlsno-input::placeholder {
    color: #c0392b;
    opacity: 1;
}
#under_contract_user_mlsno::-webkit-input-placeholder,
#enter_mls_user_mlsno::-webkit-input-placeholder,
.under-contract-mlsno-input::-webkit-input-placeholder {
    color: #c0392b;
}
#under_contract_user_mlsno::-moz-placeholder,
#enter_mls_user_mlsno::-moz-placeholder,
.under-contract-mlsno-input::-moz-placeholder {
    color: #c0392b;
    opacity: 1;
}

.property_info_condition_group > td:first-child,
.offer_information_table .offer_info_row > td:first-child {
    width: 20%;
    vertical-align: top;
}

.offer_information_table .offer_info_row > td.actions {
    text-align: left;
}

.offer_information_table .offer_info_address_input {
    width: 80%;
    max-width: 100%;
    text-align: left;
    box-sizing: border-box;
}

.offer_information_table .offer_info_address_input::placeholder {
    color: #E89999;
    opacity: 1;
}
.offer_information_table .offer_info_address_input::-webkit-input-placeholder {
    color: #E89999;
}
.offer_information_table .offer_info_address_input::-moz-placeholder {
    color: #E89999;
    opacity: 1;
}

#offer-information {
	scroll-margin-top: 16px;
}

.offer-info-blockers {
	text-align: center;
}

a.offer-info-blockers-link {
	color: #cc0000;
	font-weight: 600;
	text-decoration: underline;
	cursor: pointer;
}

a.offer-info-blockers-link:hover,
a.offer-info-blockers-link:focus {
	color: #990000;
}

/* Edit User Dates — mobile contract-date cards (one RPA item per table) */
.agent_dashboard TABLE.listing TD.user_contract_date_days {
    white-space: nowrap;
}
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item {
    display: block;
    width: 100%;
    max-width: 100%;
    margin-bottom: 1.25em;
    border-radius: 5px !important;
    overflow: hidden !important;
    box-sizing: border-box;
}
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item > tbody {
    display: block;
    width: 100%;
}
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item TR.terms_mobile_contract_item_heading,
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item TR.terms_mobile_contract_item_subhead,
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item TR.list_item,
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item TR.list_item_empty,
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item TR.acceptance-date-help-row {
    display: block;
    width: 100%;
    box-sizing: border-box;
}
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item TR.terms_mobile_contract_item_heading,
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item TR.terms_mobile_contract_item_heading TH {
    border-top-left-radius: 5px !important;
    border-top-right-radius: 5px !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    overflow: hidden;
}
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item TR.terms_mobile_contract_item_heading TH {
    display: block;
    width: 100%;
    text-align: left;
    box-sizing: border-box;
}
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item > tbody > TR:last-child,
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item > tbody > TR:last-child > TD,
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item > tbody > TR:last-child > TH {
    border-bottom-left-radius: 5px !important;
    border-bottom-right-radius: 5px !important;
}
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item TR.terms_mobile_contract_item_heading .terms_mobile_contract_item_heading_inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75em;
    width: 100%;
    box-sizing: border-box;
}
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item TR.terms_mobile_contract_item_heading .terms_mobile_contract_item_title {
    font-size: 1.3em;
    font-weight: 600;
    line-height: 1.2;
    min-width: 0;
    overflow-wrap: break-word;
}
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item TR.terms_mobile_contract_item_heading .terms_mobile_contract_item_badge {
    flex-shrink: 0;
    font-size: 0.75em;
    font-weight: 400;
    letter-spacing: 0.02em;
    opacity: 0.85;
}
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item TR.terms_mobile_contract_item_subhead TH {
    display: block;
    width: 100%;
    text-align: center;
    font-size: 1.05em;
    font-weight: 600;
    line-height: 1.3;
    overflow-wrap: break-word;
    box-sizing: border-box;
}
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item TR.list_item > TD,
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item TR.list_item_empty > TD,
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item TR.acceptance-date-help-row > TD {
    display: block;
    width: 100% !important;
    max-width: 100%;
    white-space: normal !important;
    word-wrap: break-word;
    overflow-wrap: break-word;
    box-sizing: border-box;
    text-align: center;
}
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item TR.list_item > TD:first-child {
    font-weight: 600;
    padding-bottom: 2px;
}
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item TR.list_item > TD:last-child {
    padding-top: 2px;
}
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item TR.terms_mobile_inline_row > TD,
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item TR.terms_mobile_inline_row > TD:first-child,
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item TR.terms_mobile_inline_row > TD:last-child,
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item TR.terms_mobile_stacked_row > TD,
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item TR.terms_mobile_stacked_row > TD:first-child,
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item TR.terms_mobile_stacked_row > TD:last-child,
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item TR.user_contract_date_additional_terms_row > TD,
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item TR.user_contract_date_additional_terms_row > TD:first-child,
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item TR.user_contract_date_additional_terms_row > TD:last-child {
    font-weight: 400;
    padding-top: 8px;
    padding-bottom: 8px;
}
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item TR.terms_mobile_inline_row > TD {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 5px;
}
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item .terms_mobile_inline_label {
    font-weight: 600;
}
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item SELECT,
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item INPUT.text,
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item INPUT.datepicker {
    display: inline-block;
    width: auto !important;
    max-width: 100%;
    margin: 0 auto;
    padding: 4px 8px;
    box-sizing: border-box;
    text-align: center !important;
    text-align-last: center;
    background: #CECECE;
    border-radius: 4px;
    cursor: pointer;
}
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item SELECT:hover,
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item SELECT:focus,
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item INPUT.text:hover,
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item INPUT.datepicker:hover,
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item INPUT.text:focus,
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item INPUT.datepicker:focus {
    background: #B8B8B8;
}
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item INPUT.acceptance-date-required {
    background: #fff8f8;
    color: #c0392b;
}
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item INPUT.acceptance-date-required:hover,
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item INPUT.acceptance-date-required:focus {
    background: #fdeeee;
}
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item INPUT.datepicker[readonly],
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item INPUT.datepicker-no-keyboard {
    opacity: 1;
    -webkit-text-fill-color: inherit;
    cursor: pointer;
}
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item .user_contract_date_relative_to {
    display: block;
    margin-top: 4px;
    text-align: center;
}
.agent_dashboard_mobile TABLE.listing.terms_mobile_contract_item IMG.user_contract_date {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

/* Sit above Bootstrap #popup (z-index 1040) so calendars in archive / UC modals are clickable. */
#ui-datepicker-div {
    z-index: 1100;
}

/* Mobile: calendar is a body popup, so it can't inherit card centering — pin it to page center. */
@media (max-width: 991px) {
    #ui-datepicker-div {
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%);
        max-width: calc(100vw - 16px);
    }
}

/* Footer */
.disclaimer 
    {
        background: #313234;
        border-bottom: 1px solid #d7d7d7;
    }
a.disclink 
    {
    color:#ffffff;
    text-decoration: none;
    }
a.disclink:hover 
    {
    color: #009901;
    }

.disclaimer {
    text-align: center;
    padding: 20px 0px;
    background: #222222;
    margin-top: 0px;
    font-size: 15px;
    color: #CCCCCC;
    }

#footmenu {
	background: #111111;
	min-height: 50px;
	padding-top:15px;
    padding-bottom:15px;
    border-bottom: 1px solid #d7d7d7;
}
#footmenu ul, #menu li {
	margin: 0 auto;
	padding: 0;
	list-style: none
}
#footmenu ul {
	width: 100%;
	text-align: center;
}
#footmenu li {
	display: inline-block;
	position: relative;
}
#footmenu a {
	display: block;
	line-height: 20px;
	padding: 0 14px;
	text-decoration: none;
	color: #FFFFFF;
	font-size: 12px;
    text-transform: uppercase;
}
#footmenu li a:hover {
	color: #009901;
}

@media screen and (max-width: 800px){
	#footmenu {position:relative}
	#footmenu ul {height:auto;}
}





/* New Textured Header BG */
DIV.headline {
    background: #121619;
    padding: 50px;
    /* min-height:100%; */
    background:linear-gradient(0deg, rgba(18, 22, 25, 0.8), rgba(18, 22, 25, 0.8)), url(https://app.whatsnext.realestate/images/header-bg.jpg);
    background-size:cover;
    background-position: center center;
    background-repeat: repeat;
    background-size: auto;
}

DIV.headline H1 {
    background: transparent;
}

/* Headline bottom accent — color from CustomCSS .agent_border_color1 */
body.agent DIV.headline.agent_border_color1,
body.coordinator DIV.headline.agent_border_color1,
body.buyer DIV.headline.agent_border_color1 {
    border-bottom-width: 1px;
    border-bottom-style: solid;
}

@media (max-width: 767px) {
    body.agent DIV.headline H1 {
        font-size: 42px;
    }
}




/* Links & Space between non UC and UC divider */
.timeline_contract_boundary .timeline_contract_boundary_info {color: #009901;}
.timeline_contract_boundary_action A {color: #cc0000;}
.timeline_contract_boundary {
    padding: 150px 0px 5px 50px;
    margin-bottom: 150px;
}




/* Timeline Layout */
/* Agent*/
.agent_tools_buttons {
    text-align: center;
    margin: 0px 0px 10px 0px;
}

/* Print Timeline Styling */
.print_timeline_items table th:nth-child(2),
.print_timeline_items table th:nth-child(3),
.print_timeline_items table th:nth-child(4) {
    text-align: center;
}
.print_timeline_items table td:nth-child(2),
.print_timeline_items table td:nth-child(3),
.print_timeline_items table td:nth-child(4) {
    text-align: center;
}

/* Larger checkboxes for print timeline */
.print_timeline_items input[type="checkbox"] {
    transform: scale(1.5);
    margin: 5px;
}

/* Vertically center checkboxes in table cells */
.print_timeline_items .checkbox_cell {
    vertical-align: middle;
}
.client_intro .client_intro_address INPUT.text {
    font-size: 40PX;
    font-weight: 600;
    margin: 40px;
}
.client_intro INPUT.H2 {text-align: center;}


/* Users */
.client_intro H2 {
    font-size:40px;
    text-align: center;
}
.client_intro_headline {
    text-align: center;
    margin: 50px 50px 0;
}
.client_intro_headline H2,
.client_intro_headline INPUT.H2 {
	margin-top: 0;
	margin-bottom: 30px;
}
.client_intro_content {margin: 50px 0;}

/* Address + headline use agent color 1 (override hardcoded BODY.* greens/blacks in global.css) */
.client_intro H2,
.client_intro INPUT.H2,
BODY.agent .client_intro H2,
BODY.agent .client_intro INPUT.H2,
BODY.buyer .client_intro H2,
BODY.buyer .client_intro INPUT.H2,
BODY.seller .client_intro H2,
BODY.seller .client_intro INPUT.H2,
.client_intro_headline H2,
.client_intro_headline INPUT.H2 {
	color: var(--agent-bg-color1, inherit);
}

#user_tools_container .agent_tools {
    border-bottom:0px;
	margin: 0;
	padding: 0;
}
#user_tools_container .agent_tools_buttons A.button,
#user_tools_container .agent_tools_buttons A.button:hover {
	text-decoration: none;
} 

.client_dashboard_next_timeline_item {
    padding-bottom: 39px;
    border-bottom: 3px solid black;
}

/* Agent Footer Component */
.agent-footer-component {
    background: #333333;
    padding: 30px 0;
    margin-top: 0;
    position: relative;
    z-index: 3; /* above .content_inner so top border is not covered */
}

/* Top + bottom accents — color from CustomCSS .agent_border_color1 */
body.agent .agent-footer-component.agent_border_color1,
body.buyer .agent-footer-component.agent_border_color1 {
    border-top-width: 1px;
    border-top-style: solid;
    border-bottom-width: 1px;
    border-bottom-style: solid;
}

.agent-footer-content {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.agent-footer-left {
    flex: 0 0 auto;
    color: #FFFFFF;
}

.agent-info-container {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.agent-image {
    flex-shrink: 0;
}

.agent-details {
    flex: 1;
}

.agent-footer-left img {
    margin-bottom: 0;
}

.agent-footer-left a {
    color: #FFFFFF;
    text-decoration: none;
}

.agent-footer-left a:hover {
    text-decoration: underline;
}

.agent-footer-center {
    flex: 1;
    min-width: 0;
}

.agent-footer-right {
    flex: 0 0 auto;
    max-width: 200px;
    text-align: center;
    color: #FFFFFF;
}

.agent-footer-right img {
    margin-bottom: 15px;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.agent-footer-right a {
    color: #FFFFFF;
    text-decoration: none;
    text-align: center;
    display: block;
}

.agent-footer-right a:hover {
    text-decoration: underline;
}

/* Mobile Responsiveness */
@media (max-width: 767px) {
    .agent-footer-content {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    
    .agent-footer-left,
    .agent-footer-right {
        flex: none;
        width: 100%;
        text-align: center;
    }
    
    .agent-footer-center {
        display: none;
    }
    
    .agent-info-container {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 10px;
    }
    
    .agent-footer-component {
        padding: 20px 0;
    }
}

/* Coordinator Footer Component */
.coordinator-footer-component {
    background: #333333;
    padding: 30px 0;
    margin-top: 0;
    position: relative;
    z-index: 3; /* above .content_inner so top border is not covered */
}

/* Top + bottom accents — color from CustomCSS .agent_border_color1 */
body.coordinator .coordinator-footer-component.agent_border_color1 {
    border-top-width: 1px;
    border-top-style: solid;
    border-bottom-width: 1px;
    border-bottom-style: solid;
}

.coordinator-footer-content {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

.coordinator-footer-center {
    flex: 0 0 auto;
    max-width: 400px;
    text-align: center;
    color: #FFFFFF;
}

.coordinator-footer-center img {
    margin-bottom: 15px;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.coordinator-footer-center a {
    color: #FFFFFF;
    text-decoration: none;
    text-align: center;
    display: block;
}

.coordinator-footer-center a:hover {
    text-decoration: underline;
}

/* Mobile Responsiveness for Coordinator Footer */
/* Desktop: Keep all View options on one line */
@media (min-width: 768px) {
	DIV.dashboard_filters_combined {
		margin: 15px 0px 15px 0 !important;
	}
	
	DIV.dashboard_filters_combined LABEL {
		display: inline-block;
		margin-right: 15px;
		white-space: nowrap;
	}
}

@media (max-width: 767px) {
    .coordinator-footer-content {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    
    .coordinator-footer-center {
        flex: none;
        width: 100%;
        text-align: center;
    }
    
    .coordinator-footer-component {
        padding: 20px 0;
    }

    /* Coordinator Dashboard Filters - 2-column layout for View checkboxes on mobile */
    DIV.dashboard_filters LABEL {
        display: inline-block;
        width: 48%;
        margin: 2px 1% !important;
        white-space: nowrap;
    }
    
    /* Coordinator Dashboard Filters - Combined section on mobile uses 2-column for types, 3-column for timing */
    DIV.dashboard_filters_combined LABEL {
        display: inline-block;
        width: 48%;
        margin: 2px 1% !important;
        white-space: nowrap;
    }
    
    /* Last 3 labels (timing options) in combined section use 3-column layout */
    DIV.dashboard_filters_combined LABEL:nth-last-child(-n+3) {
        width: 30%;
        margin: 2px 1.5% !important;
    }
    
    /* Fix coordinator mobile listing cards to fit within container padding */
    .coordinator .agent_dashboard_mobile TABLE.listing {
        width: 100%;
        margin: 0 0 75px 0;
        box-sizing: border-box;
    }
    /* Accordion card detail tables must not inherit the 75px card-stack gap */
    .coordinator .agent_dashboard_mobile .vendor-mobile-card TABLE.listing,
    .agent_dashboard_mobile .vendor-mobile-card TABLE.listing {
        margin: 0 !important;
    }
    
    .coordinator .agent_dashboard_mobile {
        width: 100%;
        box-sizing: border-box;
    }
    
    /* Legacy mobile card-stack gap — exclude accordion detail tables */
    .agent_dashboard TABLE.listing {
        margin-bottom: 75px;
    }
    .agent_dashboard .vendor-mobile-card TABLE.listing {
        margin-bottom: 0 !important;
    }
    
    /* Fix activity log table width on mobile */
    #activitylog_container .agent_dashboard TABLE.listing {
        width: 100%;
        table-layout: fixed;
    }
    
    #activitylog_container .agent_dashboard TABLE.listing TH,
    #activitylog_container .agent_dashboard TABLE.listing TD {
        word-wrap: break-word;
        overflow-wrap: break-word;
    }
}

/* Activity log stacked headers — keep original column orientation */
#activitylog_container .activity-log-table TH {
	line-height: 1.25;
	vertical-align: bottom;
}
#activitylog_container .activity-log-table TH.activity-log-performed {
	font-size: 0.85em;
}
#activitylog_container .activity-log-table TD.activity-log-datetime {
	line-height: 1.25;
	vertical-align: top;
}
#activitylog_container .activity-log-actions {
	text-align: center;
	margin: 20px 0;
}
#activitylog_container .activity-log-actions .button {
	padding: 10px 20px;
	display: inline-block;
}
#activitylog_container .activity-log-performed-filter {
	margin: 0 0 25px;
	text-align: left;
}
/* Match standardized list-filter select width (do not shrink with width:auto) */
#activitylog_container .activity-log-performed-filter select {
	display: block;
	width: 100%;
	max-width: 470px;
	box-sizing: border-box;
}

@media (max-width: 767px) {
	/* Activity log: breathing room + stacked Performed By filter */
	#activitylog_container .activity-log-actions {
		margin: 28px 0 32px;
	}
	#activitylog_container .activity-log-performed-filter {
		margin: 0 0 18px;
	}
	#activitylog_container .activity-log-performed-filter-label {
		display: block;
		margin: 0 0 8px;
		color:#000000;
	}
	#activitylog_container .activity-log-performed-filter select {
		width: 100%;
		max-width: 100%;
		display: block;
		box-sizing: border-box;
	}
	#activitylog_container .list-search-row .list-search {
		width: auto;
		max-width: none;
		flex: 1 1 200px;
	}
	#activitylog_container .list-search {
		width: 100%;
		max-width: none;
	}
}

/* Force desktop dashboard to show and mobile dashboard to hide on desktop screens */
@media (min-width: 992px) {
    .agent_dashboard.hidden-sm.hidden-xs {
        display: block !important;
    }
    
    .agent_dashboard.visible-sm.visible-xs,
    .agent_dashboard_mobile {
        display: none !important;
    }
}

/* Symmetric: force mobile dashboard visible under 992 (Bootstrap visible-xs+visible-sm can fight) */
@media (max-width: 991px) {
    .agent_dashboard.hidden-sm.hidden-xs {
        display: none !important;
    }

    /* Only when Bootstrap mobile visibility classes are still present */
    .agent_dashboard.visible-sm.visible-xs.agent_dashboard_mobile {
        display: block !important;
    }
}

/* Center carousel images */
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
    margin: 0 auto;
}

/* Ensure rating tooltip text is white on dark background */
.rating-tooltip,
tr.agent_bg_color1 .rating-tooltip,
.agent_bg_color1 .rating-tooltip {
    color: white !important;
}

/* Hide carousel indicators when there's only one image */
.carousel-indicators li:only-child {
    display: none;
}

/* Hide carousel controls when there's only one image - using :has() selector */
.carousel:has(.carousel-indicators li:only-child) .carousel-control {
    display: none !important;
}

/* Fallback for browsers without :has() support */
.carousel-indicators:has(li:only-child) {
    display: none;
}

/* Template default row highlighting */
.agent_dashboard TABLE.listing TR.template-default-row {
    background-color: #dcefbe !important;
}

.agent_dashboard TABLE.listing TR.template-default-row TD,
.agent_dashboard TABLE.listing TR.template-default-row TH {
    background-color: #dcefbe !important;
}

.template-info-icon {
	color: #999999;
	font-size: 0.9em;
	vertical-align: middle;
	cursor: pointer;
}

.template-info-icon:hover,
.template-info-icon:focus {
	color: #000000;
}

#templates TABLE.listing TD INPUT.text,
#templates TABLE.listing TH INPUT.text {
	width: 90%;
}

.template-name-label {
	display: inline-block;
	width: 90%;
	vertical-align: middle;
}

.client_intro_image .carousel:has(.item:only-child) .carousel-control.left,
.client_intro_image .carousel:has(.item:only-child) .carousel-control.right {
    display: none !important;
}

/* Red placeholder text for required fields in Client Info / Property Info cards */
INPUT[placeholder='Primary Contact Full Name']::placeholder,
INPUT[placeholder='Primary Contact Email Address']::placeholder {
    color: #d26666;
}

.mls-off-market-block label {
	display: inline;
	font-weight: normal;
}

#popup_content #archive_sold_wrap .archive-sold-price-row {
	position: relative;
	display: inline-block;
}
#popup_content #archive_sold_wrap .archive-sold-price-prefix {
	position: absolute;
	left: 8px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	color: #333333;
	line-height: 1;
}
#popup_content #archive_sold_wrap #archive_sold_price,
#popup_content #archive_sold_wrap #archive_sold_date {
	width: 200px !important;
	max-width: 100%;
	box-sizing: border-box;
	margin: 5px 0;
	padding: 3px;
}
#popup_content #archive_sold_wrap #archive_sold_price {
	padding-left: 16px;
}

/* Under Contract modal — validation above Continue */
#popup_content .under-contract-continue-errors {
	color: #c0392b;
	text-align: center;
	margin: 0 0 12px;
	border: none;
}

/* Firefox compatibility */
INPUT[placeholder='Primary Contact Full Name']::-moz-placeholder,
INPUT[placeholder='Primary Contact Email Address']::-moz-placeholder {
    color: #d26666;
    opacity: 1;
}

/* IE/Edge compatibility */
INPUT[placeholder='Primary Contact Full Name']:-ms-input-placeholder,
INPUT[placeholder='Primary Contact Email Address']:-ms-input-placeholder {
    color: #d26666;
}

/* Timeline completed checkbox - green background instead of blue */
.timeline .timeline_item .timeline_item_heading .timeline_item_checkbox INPUT[type="checkbox"]:checked {
    accent-color: #009901;
}

/* Timeline completed item info icon - gray instead of white */
.timeline .timeline_item .timeline_item_heading .timeline_item_complete_details .fa {
    color: #666666 !important;
}

.timeline .timeline_item .timeline_item_heading .timeline_item_complete_details .fa:hover {
    color: #000000 !important;
}

/* Timeline checkbox - desktop absolute positioning to prevent wrapping with long titles */
.timeline .timeline_item .timeline_item_heading .timeline_item_checkbox {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    text-align: center;
}

.timeline .timeline_item .timeline_item_heading .timeline_item_checkbox INPUT {
    margin: 0;
}

/* Timeline question icon for incomplete items - desktop absolute positioning */
/* Default position when no checkbox is present */
.timeline .timeline_item .timeline_item_heading .timeline_item_question {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    text-align: center;
}

/* Position to the left of checkbox when checkbox is present */
.timeline .timeline_item .timeline_item_heading .timeline_item_checkbox ~ .timeline_item_question {
    right: 60px;
}

.timeline .timeline_item .timeline_item_heading .timeline_item_question .fa {
    font-size: 30px;
    width: 30px;
    /* Inherit heading contrast color (agent_bg_color* fg), not brand fill color */
    color: inherit;
    text-shadow: none;
    margin: 0;
    cursor: pointer;
    transition: opacity 0.2s ease;
}

.timeline .timeline_item .timeline_item_heading .timeline_item_question .fa:hover {
    opacity: 0.8;
}

/* Timeline complete details icon - desktop absolute positioning */
.timeline .timeline_item .timeline_item_heading .timeline_item_complete_details {
    position: absolute;
    right: 60px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    text-align: center;
}

.timeline .timeline_item .timeline_item_heading .timeline_item_complete_details .fa {
    margin: 0;
}

/* Timeline milestone spacing */
.timeline .timeline_milestone {
    margin: 150px 29px 150px 67px;
}

/* Agent view: keep edit/add/delete + checkbox group top-aligned when the title wraps. */
.timeline .timeline_item .timeline_item_heading .timeline_agent_edit {
    position: absolute;
    right: 20px;
    top: 20px;
    transform: none;
    float: none;
    display: flex;
    align-items: center;
    flex-direction: row;
    gap: 4px;
}

/* Let the checkbox <a> participate in the flex row instead of being absolutely positioned */
.timeline .timeline_item .timeline_item_heading .timeline_agent_edit .timeline_item_checkbox {
    position: static;
    right: auto;
    top: auto;
    transform: none;
    width: auto;
}

.timeline .timeline_item .timeline_item_heading .timeline_agent_edit A {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    height: 1.25em;
    text-decoration: none !important;
}

.timeline .timeline_item .timeline_item_heading .timeline_agent_edit A:hover,
.timeline .timeline_item .timeline_item_heading .timeline_agent_edit A:focus,
.timeline .timeline_item .timeline_item_heading .timeline_agent_edit A:active {
    text-decoration: none !important;
    background: transparent !important;
    opacity: 1 !important;
    color: inherit !important;
}

.timeline .timeline_item .timeline_item_heading .timeline_agent_edit A .fa,
.timeline .timeline_item .timeline_item_heading .timeline_agent_edit A .fas {
    line-height: 1;
    margin: 0 5px;
}

.timeline .timeline_item .timeline_item_heading .timeline_agent_edit A:hover .fa,
.timeline .timeline_item .timeline_item_heading .timeline_agent_edit A:hover .fas,
.timeline .timeline_item .timeline_item_heading .timeline_agent_edit A:focus .fa,
.timeline .timeline_item .timeline_item_heading .timeline_agent_edit A:focus .fas,
.timeline .timeline_item .timeline_item_heading .timeline_agent_edit A:active .fa,
.timeline .timeline_item .timeline_item_heading .timeline_agent_edit A:active .fas {
    text-decoration: none !important;
    opacity: 1 !important;
}

/* Reserve space so long titles don’t overlap the icon group (agent view only) */
.timeline .timeline_item .timeline_item_heading:has(.timeline_agent_edit) H3,
.timeline .timeline_item .timeline_item_heading:has(.timeline_agent_edit) INPUT.H3 {
    margin-right: 220px;
    overflow-wrap: anywhere;
    word-break: break-word;
}

/*
 * Tablet + phone: keep icons on the same top row as the title.
 * Title flexes/wraps in the remaining space; icon group does not shrink or wrap away.
 */
@media (max-width: 991px) {
    .timeline .timeline_item .timeline_item_heading {
        position: relative;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap;
        align-items: flex-start;
        gap: 8px;
    }

    .timeline .timeline_item .timeline_item_heading .timeline_agent_edit {
        position: static !important;
        right: auto !important;
        top: auto !important;
        transform: none !important;
        float: none !important;
        display: flex !important;
        flex: 0 0 auto;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: flex-end;
        gap: 6px; /* desktop gap 4px + 2px */
        order: 0;
        margin: 0 !important;
        padding: 0 !important;
        width: auto !important;
        max-width: none;
        box-sizing: border-box;
    }

    /* Match desktop icon spacing (fa margin 0 5px + gap); no extra horizontal padding */
    .timeline .timeline_item .timeline_agent_edit A {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 !important;
        flex: 0 0 auto;
        line-height: 1;
        height: 1.25em;
        min-width: 0;
        box-sizing: border-box;
        text-decoration: none !important;
    }

    .timeline .timeline_item .timeline_agent_edit A:hover,
    .timeline .timeline_item .timeline_agent_edit A:focus,
    .timeline .timeline_item .timeline_agent_edit A:active {
        text-decoration: none !important;
        background: transparent !important;
        opacity: 1 !important;
        color: inherit !important;
    }

    .timeline .timeline_item .timeline_agent_edit A .fa,
    .timeline .timeline_item .timeline_agent_edit A .fas {
        line-height: 1 !important;
        margin: 0 5px !important; /* same as desktop */
        vertical-align: middle;
    }

    .timeline .timeline_item .timeline_agent_edit A:hover .fa,
    .timeline .timeline_item .timeline_agent_edit A:hover .fas,
    .timeline .timeline_item .timeline_agent_edit A:focus .fa,
    .timeline .timeline_item .timeline_agent_edit A:focus .fas,
    .timeline .timeline_item .timeline_agent_edit A:active .fa,
    .timeline .timeline_item .timeline_agent_edit A:active .fas {
        text-decoration: none !important;
        opacity: 1 !important;
    }

    .timeline .timeline_item .timeline_agent_edit .timeline_item_checkbox,
    .timeline .timeline_item .timeline_agent_edit A.timeline_item_checkbox {
        position: static !important;
        right: auto !important;
        top: auto !important;
        transform: none !important;
        float: none !important;
        width: auto;
        flex: 0 0 auto;
    }

    /* Title uses leftover width and wraps under itself — not under/onto the icons */
    .timeline .timeline_item .timeline_item_heading H3,
    .timeline .timeline_item .timeline_item_heading INPUT.H3,
    .timeline .timeline_item .timeline_item_heading:has(.timeline_agent_edit) H3,
    .timeline .timeline_item .timeline_item_heading:has(.timeline_agent_edit) INPUT.H3 {
        display: block !important;
        flex: 1 1 auto;
        order: 0;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box;
        overflow-wrap: anywhere;
        word-break: break-word;
        white-space: normal;
    }

    .timeline .timeline_item .timeline_item_heading:has(.timeline_agent_edit) > .timeline_item_checkbox,
    .timeline .timeline_item .timeline_item_heading:has(.timeline_agent_edit) DIV.timeline_item_checkbox {
        position: static !important;
        right: auto !important;
        top: auto !important;
        transform: none !important;
        flex: 0 0 auto;
    }

    .timeline .timeline_item .timeline_item_heading:has(.timeline_agent_edit) DIV.timeline_item_checkbox INPUT {
        margin-top: 0 !important;
    }
}


/* Add breathing room to timeline and intro image on mobile */
@media (max-width: 767px) {
    .timeline {
        padding: 0 10px;
    }
    
    .client_intro_image {
        padding: 0 10px;
    }
    
    .client_intro_content {
        padding: 0 10px;
    }

    /* Client view (no agent_edit): reserve space for checkbox / ask / info on the right */
    .timeline .timeline_item .timeline_item_heading:not(:has(.timeline_agent_edit)) H3 {
        padding-right: 52px !important;
    }

    .timeline .timeline_item .timeline_item_heading:not(:has(.timeline_agent_edit)):has(.timeline_item_complete_details) H3,
    .timeline .timeline_item .timeline_item_heading:not(:has(.timeline_agent_edit)):has(.timeline_item_question) H3 {
        padding-right: 96px !important;
    }

    .timeline .timeline_item .timeline_item_heading .timeline_item_checkbox {
        position: absolute;
        right: 13px;
        top: 50%;
        transform: translateY(-50%);
        width: 40px;
        text-align: center;
    }

    .timeline .timeline_item .timeline_item_heading .timeline_item_checkbox INPUT {
        margin-top: 0;
    }

    .timeline .timeline_item .timeline_item_heading .timeline_item_question {
        position: absolute;
        right: 13px;
        top: 50%;
        transform: translateY(-50%);
        width: 40px;
        text-align: center;
    }

    .timeline .timeline_item .timeline_item_heading .timeline_item_question .fa {
        margin: 0;
    }

    .timeline .timeline_item .timeline_item_heading .timeline_item_complete_details {
        position: absolute;
        right: 58px;
        top: 50%;
        transform: translateY(-50%);
        width: 40px;
        text-align: center;
    }

    /* Agent_edit checkbox stays in the icon cluster (override absolute above) */
    .timeline .timeline_item .timeline_item_heading:has(.timeline_agent_edit) .timeline_item_checkbox,
    .timeline .timeline_item .timeline_item_heading:has(.timeline_agent_edit) A.timeline_item_checkbox,
    .timeline .timeline_item .timeline_item_heading:has(.timeline_agent_edit) DIV.timeline_item_checkbox {
        position: static !important;
        right: auto !important;
        top: auto !important;
        transform: none !important;
        width: auto;
    }
    
    /* Remove border from next timeline item on mobile */
    .client_dashboard_next_timeline_item {
        border-bottom: none;
    }
    
    /* Reduce spacing around client intro headline on mobile */
    .client_intro_headline {
        margin: 10px;
        margin-top: 50px;
    }
    
    /* Reorder sidebar content on mobile: Sidebar above Timeline */
    .timeline_row {
        display: flex;
        flex-direction: column;
    }
    
    .sidebar_col {
        order: 1;
    }
    
    .timeline_col {
        order: 2;
    }
}

/*
 * Tablet/desktop: keep Helpful Links on the right via flex order.
 * Avoids a ~15px scrollbar mismatch where CSS is already ≥768 (side-by-side)
 * but jQuery $(window).width() is still ≤767 and moves sidebar first in the DOM
 * (Helpful Links end up on the left for ~767–782px).
 */
@media (min-width: 768px) {
    .timeline_row {
        display: flex;
        flex-wrap: wrap;
    }

    .timeline_col {
        order: 1;
    }

    .sidebar_col {
        order: 2;
    }
}

/* ==================================================================
   COORDINATORS DOCUMENT REPOSITORY - NOTES AUTO-SAVE INDICATOR
   ================================================================== */

/* Hide "Note saved" indicator by default */
.notes-auto-save-indicator {
    display: none;
    text-align: center;
    margin-top: 4px;
    font-size: 11px;
    color: var(--agent-bg-color1, #28a745);
    font-weight: bold;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

/* Show indicator with fade-in effect */
.notes-auto-save-indicator.show {
    display: block;
    opacity: 1;
}

/* Fade out indicator */
.notes-auto-save-indicator.fade-out {
    opacity: 0;
}

/* ==================================================================
   COORDINATORS DOCUMENT REPOSITORY - STICKY HEADERS
   ================================================================== */

/* Make h2 section headers sticky for coordinators document repository */
.document_section h2.section-title-header {
    position: sticky;
    top: 0;
    z-index: 1010; /* Higher than table header */
    margin: 0 !important;
    padding: 20px 15px !important;
    background-color: var(--agent-bg-color1, #009901) !important;
    font-size: 30px !important;
}

/* Make table headers sticky below the h2 */
.document_section .document-table-header {
    position: sticky;
    top: 73px;
    z-index: 1009; /* Just below h2 */
    background-color: inherit;
}

.document_section .document-table-header th {
    background-color: inherit;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* Document section toolbar layout */
.document-section-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 10px;
}

.document-section-toolbar__client {
    flex: 1;
    color: #666;
    font-size: 16px;
    margin-top:32px;
    text-align: left;
}

.document-section-toolbar__jump {
    flex: 0 0 320px;
    text-align: left;
}

.document-section-toolbar__actions {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
}

.jump-to-section-label {
    display: block;
    font-size: 12px;
    color: #666;
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.jump-to-section-select {
    width: 100%;
    max-width: 320px;
    margin: 0 auto;
}

#documents_container > .document_section:first-of-type {
    padding-top: 60px;
}

/* Mobile devices - disable sticky on small screens */
@media (max-width: 767px) {
    .document_section h2.section-title-header {
        position: static !important;
    }
    
    .document_section .document-table-header {
        position: static !important;
    }
    
    .document-section-toolbar {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }
    
    .document-section-toolbar__client,
    .document-section-toolbar__actions {
        text-align: center;
        justify-content: center;
    }
    
    .document-section-toolbar__jump {
        flex: 1;
    }
}

/* Mobile cards container styling */
.mobile-cards-container {
    margin: 50px 0px;
}

.mobile-document-card {
    border: 1px solid #ccc;
    border-radius: 5px;
}

.mobile-document-card.approved {
    background-color: #d4edda;
    border-color: #badbcc;
}

.mobile-document-card.approved .card-body {
    background-color: transparent;
}

.mobile-document-card textarea {
    width: 100%;
    min-height: 80px;
    padding: 8px 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 14px;
    resize: vertical;
    font-family: inherit;
}

.mobile-document-card .file-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin: 16px 0;
    padding: 8px 0;
}

.mobile-document-card .file-actions .btn {
    margin: 0;
}

.mobile-document-card .mobile-section-header h4,
.mobile-document-card .mobile-document-header h4 {
    margin: 0;
    font-size: 16px;
    text-align: center;
    font-weight: 600;
}

.mobile-document-card .mobile-section-header h4 {
    color: var(--agent-fg-color1, #FFFFFF);
}

.mobile-document-card .mobile-document-header h4 {
    color: var(--agent-fg-color2, #FFFFFF);
}

.mobile-document-card .mobile-document-header {
    border-radius: 0 !important;
}

.mobile-cards-container .form-group {
    text-align: center;
}

.mobile-cards-container .form-group label {
    display: block;
    margin: 10px;
}

.mobile-cards-container .file-upload-area {
    display: inline-block;
    text-align: center;
    width: 100%;
    max-width: 320px;
}

.mobile-cards-container .file-upload-area .mobile-choose-file-btn {
    margin-bottom: 6px;
}

.mobile-cards-container .file-helper-text {
    font-size: 11px;
    color: #999;
}

.security-status-badge {
    font-size: 11px;
    margin-top: 6px;
    text-align: center;
}

.form-group {
    margin: 15px !important;
}

/*
 * Brand colors via CSS vars (CustomCSS sets these on :root for agent/coordinator/user pages).
 * Beats global.css hardcoded #009901/#000 so popups and pages stay in sync — no per-modal fixes.
 */
.agent_bg_color1,
tr.agent_bg_color1,
tr.agent_bg_color1 th,
.agent_dashboard .agent_bg_color1,
.agent_dashboard tr.agent_bg_color1,
.agent_dashboard tr.agent_bg_color1 th {
	background-color: var(--agent-bg-color1, #009901) !important;
	color: var(--agent-fg-color1, #FFFFFF) !important;
}

.agent_bg_color1 *,
.agent_dashboard tr.agent_bg_color1 th a,
.agent_dashboard tr.agent_bg_color1 th i {
	color: var(--agent-fg-color1, #FFFFFF) !important;
}

.agent_bg_color2,
tr.agent_bg_color2,
tr.agent_bg_color2 th {
	background-color: var(--agent-bg-color2, #000000) !important;
	color: var(--agent-fg-color2, #FFFFFF) !important;
}

.agent_bg_color2 * {
	color: var(--agent-fg-color2, #FFFFFF) !important;
}

.agent_color1 {
	color: var(--agent-bg-color1, #009901) !important;
}

.agent_color2 {
	color: var(--agent-bg-color2, #000000) !important;
}

/* After Choose on a credit package — visible cue before options / Purchase (esp. mobile) */
#popup .purchase .package-selected-confirm {
    margin: 4px 20px 16px;
    padding: 12px 16px;
    font-size: 14px;
    line-height: 1.45;
    font-weight: 600;
    text-align: center;
    color: #1a4d8c;
    background: #e8f1fc;
    border: 1px solid #b8d4f0;
    border-radius: 4px;
}

#popup .purchase .purchase-addon-help {
    margin: 0 0 16px;
    padding: 0 20px;
    font-size: 13px;
    line-height: 1.5;
    color: #555;
    text-align: left;
}

#popup .purchase .purchase-addon-help p {
    margin: 0 0 10px;
}

#popup .purchase .purchase-addon-help p:last-child {
    margin-bottom: 0;
}

#popup .purchase .purchase-addon-help strong {
    color: #333;
}

#popup .purchase .purchase-note {
    text-align: center;
    margin: 0 0 20px;
    padding: 0 20px;
    font-size: 14px;
    line-height: 1.5;
    color: #2c7be5;
}

#popup .purchase .feature-lock-note {
    margin: 0 0 16px;
    padding: 0;
    font-size: 14px;
    line-height: 1.45;
    color: #2c7be5;
}

.credits-page-intro,
.purchases-page-intro {
    margin: 30px 0 30px;
    line-height: 1.5;
    color: #666;
}

.credits-summary {
    margin: 30px 0 8px 0;
    font-weight: 600;
}

.credits-status-filter {
    margin: 0 0 25px 0;
}

.credits-status-filter-form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 18px;
}

.credits-filter-group {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
}

.credits-clear-filters-wrap {
    margin: 0;
    align-self: center;
}

.credits-clear-filters {
    display: inline-block;
    white-space: nowrap;
    line-height: 1.2;
}

.credits-summary + .credits-status-filter {
    margin-top: 0;
}

.credits-status-filter + .hidden-sm.hidden-xs > .agent_dashboard,
.credits-status-filter + .visible-sm.visible-xs > .agent_dashboard {
    margin-top: 0;
}

.credits-summary + .hidden-sm.hidden-xs > .agent_dashboard,
.credits-summary + .visible-sm.visible-xs > .agent_dashboard {
    margin-top: 0;
}

.credits-info-icon {
	color: #999999;
	font-size: 0.9em;
	vertical-align: middle;
	cursor: pointer;
	margin-left: 4px;
}

.credits-info-icon:hover,
.credits-info-icon:focus {
	color: #000000;
}

.progress-meter-info-icon {
	color: #999999;
	font-size: 0.9em;
	vertical-align: middle;
	cursor: pointer;
	margin-left: 4px;
}

.progress-meter-info-icon:hover,
.progress-meter-info-icon:focus {
	color: #000000;
}

.credits-purchased-complimentary {
	color: #1a7f37;
	cursor: help;
	border-bottom: 1px dotted #1a7f37;
}

/* Card stack: force block layout so 30px gap between cards actually shows */
.billing-mobile-cards TABLE.listing,
.billing-mobile-cards TABLE.listing > tbody,
.billing-mobile-cards TABLE.listing TR,
.billing-mobile-cards TABLE.listing TD,
.billing-mobile-cards TABLE.listing TH {
	display: block;
	width: 100%;
	box-sizing: border-box;
}

.billing-mobile-cards TABLE.listing TR.list_item {
	margin-bottom: 30px;
}

.billing-mobile-cards TABLE.listing TR.list_item TD {
	padding-bottom: 12px;
}

/* Billing lists: nest child rows under a parent row (+ / − toggle).
   Purchases = upgrade orders under the original order; Credits = per-order rows
   under a condensed Available group. */
.billing-order-cell {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	min-width: 7em;
	width: 100%;
	text-align: left;
	box-sizing: border-box;
}

.billing-order-cell > span:not(.billing-lineage-branch) {
	flex: 0 1 auto;
	min-width: 0;
	text-align: left;
}

.billing-order-cell .billing-lineage-toggle {
	margin-left: auto;
	flex: 0 0 auto;
}

.purchases-invoice-link {
	flex: 0 0 auto;
	color: inherit;
	opacity: 0.55;
	text-decoration: none;
	line-height: 1;
	padding: 2px 4px;
}

.purchases-invoice-link:hover,
.purchases-invoice-link:focus {
	opacity: 1;
	text-decoration: none;
	color: inherit;
}

.purchases-invoice-link .fa {
	font-size: 0.95em;
}

.purchases-usage {
	white-space: nowrap;
	font-size: 0.92em;
}

.purchases-package-type {
	display: block;
	line-height: 1.25;
}

.purchases-package-name {
	display: block;
	font-weight: 600;
}

.purchases-package-type-label {
	display: block;
	font-size: 0.88em;
	color: #666;
	font-weight: 400;
}

.billing-lineage-child .purchases-package-type-label {
	font-size: 0.92em;
}

.billing-order-cell--child {
	padding-left: 12px;
}

/* Admin table cells default to center; keep purchase/order # column left. */
.billing-lineage TABLE.listing TD:has(.billing-order-cell) {
	text-align: left;
}

.billing-lineage-branch {
	color: #666;
	margin-right: 2px;
}

.billing-lineage-toggle {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	position: relative;
	margin: 0;
	padding: 0;
	width: 28px;
	height: 28px;
	min-width: 28px;
	min-height: 28px;
	line-height: 28px;
	border: 1px solid #ccc;
	border-radius: 3px;
	background: #fff;
	background-image: none;
	color: transparent; /* real glyph drawn via ::before so +/− don't shift */
	font-size: 18px;
	font-weight: 600;
	font-family: Arial, Helvetica, sans-serif;
	cursor: pointer;
	vertical-align: middle;
	box-shadow: none;
	text-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}

/* Locked glyph box — same size for + and − */
.billing-lineage-toggle::before {
	content: '+';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #333;
	font-size: 18px;
	font-weight: 600;
	line-height: 1;
	pointer-events: none;
}

.billing-lineage-toggle[aria-expanded='true']::before {
	content: '\2212';
}

.billing-lineage-toggle:hover,
.billing-lineage-toggle.is-expanded {
	border-color: #666;
	background: #666;
	background-image: none;
	color: transparent;
	box-shadow: none;
}

.billing-lineage-toggle:hover::before,
.billing-lineage-toggle.is-expanded::before {
	color: #fff;
}

/* Don't keep the gray fill after mouse click (Bootstrap/focus stick) */
.billing-lineage-toggle:focus {
	outline: none;
	box-shadow: none;
}

.billing-lineage-toggle:focus-visible {
	outline: 2px solid #666;
	outline-offset: 2px;
}

.billing-lineage-toggle:active {
	background: #666;
	background-image: none;
	box-shadow: none;
}

/* Zebra only on root/standalone rows (hidden children excluded) */
.billing-lineage .agent_dashboard:not(.billing-mobile-cards) TABLE.listing TR.billing-row-odd > TD {
	background: #ffffff;
}

.billing-lineage .agent_dashboard:not(.billing-mobile-cards) TABLE.listing TR.billing-row-even > TD {
	background: #f0f0f0;
}

/* Expanded lineage block (parent + children) */
.billing-lineage TABLE.listing TR.billing-lineage-expanded > TD,
.billing-lineage TABLE.listing TR.billing-lineage-expanded > TH {
	background: #c3c1c1 !important;
}

/* Parent dual values: collapsed = rollup, expanded = original receipt */
.billing-lineage-when-expanded {
	display: none;
}

.billing-lineage TABLE.listing TR.billing-lineage-expanded .billing-lineage-when-collapsed,
.billing-mobile-cards TR.billing-lineage-expanded .billing-lineage-when-collapsed {
	display: none;
}

.billing-lineage TABLE.listing TR.billing-lineage-expanded .billing-lineage-when-expanded,
.billing-mobile-cards TR.billing-lineage-expanded .billing-lineage-when-expanded {
	display: inline;
}

.billing-lineage tr.billing-lineage-child[hidden],
.billing-mobile-cards TABLE.listing TR.billing-lineage-child[hidden] {
	display: none !important;
}

/* Admin lists: keep nestable rows down before the JS promotes their markers, so the
   page doesn't flash a fully expanded table. Orphans lose the marker and stay visible. */
.billing-lineage TABLE.listing TR:has([data-lineage-row-child]) {
	display: none;
}

.billing-lineage TABLE.listing TR.billing-lineage-expanded:has([data-lineage-row-child]) {
	display: table-row;
}

.admin-billing-back {
	margin: 12px 0 0;
	font-size: 14px;
}

.admin-billing-back a {
	text-decoration: underline;
}

.admin-billing-back-sep {
	color: #999;
}

.billing-card-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.billing-card-header .billing-lineage-toggle {
	align-self: center;
	flex: 0 0 auto;
}

/* Credits mobile accordion (vendor-card pattern) */
.credits-mobile-list {
	margin-top: 8px;
}
.credits-mobile-list .credit-mobile-card,
.credits-mobile-list .credit-mobile-card.is-open {
	margin-bottom: 12px;
}
.credits-mobile-list .credit-mobile-card TABLE.listing,
.credit-mobile-card .credit-mobile-card-table {
	margin-bottom: 0 !important;
}
.credit-mobile-card > .vendor-mobile-card-head {
	padding: 8px 12px !important;
	align-items: center !important;
}
.credit-mobile-card .vendor-mobile-card-titles {
	gap: 1px;
}
/* Only between multiple orders inside one expanded card: 15px + 3px color2 + 15px */
.credit-mobile-order-sep,
.purchase-mobile-order-sep {
	display: block;
	height: 3px;
	margin: 15px 0;
	padding: 0;
	border: 0;
	background-color: var(--agent-bg-color2, #000000);
}
.credit-mobile-order-heading,
.purchase-mobile-order-heading {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	margin: 0 0 8px;
}

/* Purchases mobile accordion (vendor-card pattern) */
.purchases-mobile-list {
	margin-top: 8px;
}
.purchases-mobile-list .purchase-mobile-card,
.purchases-mobile-list .purchase-mobile-card.is-open {
	margin-bottom: 12px;
}
.purchases-mobile-list .purchase-mobile-card TABLE.listing,
.purchase-mobile-card .purchase-mobile-card-table {
	margin-bottom: 0 !important;
}
.purchase-mobile-card > .vendor-mobile-card-head {
	padding: 8px 12px !important;
	align-items: center !important;
}
.purchase-mobile-card .vendor-mobile-card-titles {
	gap: 1px;
	flex: 1 1 auto;
	min-width: 0;
}
.purchase-mobile-card .vendor-mobile-card-chevron {
	margin-left: 12px;
}
.purchase-mobile-type-peek {
	flex: 0 1 auto;
	align-self: center;
	max-width: 42%;
	margin-left: 10px;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.25;
	opacity: 0.92;
	text-align: right;
	word-break: break-word;
}

.purchases-mobile-upgrade {
	margin-top: 0;
}

/* Expanded mobile lineage: one shared 2px box around parent + children (no slide anim). */
.billing-mobile-cards TABLE.listing TR.billing-lineage-expanded.list_item {
	border: 2px solid #777;
	border-bottom: none;
	margin-bottom: 0;
	border-radius: 0;
}

.billing-mobile-cards TABLE.listing TR.billing-lineage-expanded.list_item:not(.billing-lineage-child) {
	border-radius: 4px 4px 0 0;
}

.billing-mobile-cards TABLE.listing TR.billing-lineage-expanded.list_item:not(:has(+ TR.billing-lineage-expanded)) {
	border-bottom: 2px solid #777;
	margin-bottom: 30px;
	border-radius: 0 0 4px 4px;
}

.billing-mobile-cards TABLE.listing TR.billing-lineage-expanded.list_item:not(.billing-lineage-child):not(:has(+ TR.billing-lineage-expanded)) {
	border-radius: 4px;
}

/* Admin Purchases / Credits: keep column headers visible while scrolling.
   global.css .sticky-header th { background: inherit !important } would go transparent. */
body.admin .billing-lineage TABLE.listing TR.sticky-header > TH {
	position: sticky !important;
	top: 0 !important;
	z-index: 1000 !important;
	background: #009901 !important;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12) !important;
}

.billing-lineage-total-note {
	color: #888;
	font-weight: normal;
	font-size: 0.9em;
}

.credits-tx-client {
	display: inline-block;
	margin-top: 2px;
	color: #666;
	font-size: 0.95em;
}

.credits-tx-mls {
	display: inline-block;
	margin-top: 2px;
	color: #666;
	font-size: 0.95em;
}

/* Agent/coordinator dashboard: Add New Client + Get More Credits + Upgrade Credits */
.agent-dashboard-desktop-header .col-md-6:last-child {
    text-align: right;
}

.agent-dashboard-desktop-actions,
.agent-dashboard-mobile-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    width: 100%;
    margin-left: auto;
}

.agent-dashboard-desktop-actions {
    padding: 20px 0;
}

.agent-dashboard-mobile-actions {
    margin: 15px 0 20px;
    justify-content: center;
}

.agent-dashboard-desktop-actions > span,
.agent-dashboard-desktop-actions > .button,
.agent-dashboard-desktop-actions > a.button,
.agent-dashboard-desktop-actions > input.button,
.agent-dashboard-mobile-actions > span,
.agent-dashboard-mobile-actions > .button,
.agent-dashboard-mobile-actions > a.button,
.agent-dashboard-mobile-actions > input.button {
    margin: 0;
}

@media (max-width: 991px) {
    body.agent .agent_dashboard_mobile h1.agent_color1 {
        text-align: center;
    }
}

/* Agent horizontal navigation (desktop + mobile) */
body.agent .navigation_area.agent-nav .agent-nav-top-row , body.x_agent .navigation_area.agent-nav .agent-nav-top-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    width: 100%;
}

body.agent .navigation_area.agent-nav .agent-nav-utilities , body.x_agent .navigation_area.agent-nav .agent-nav-utilities {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-left: auto;
}

body.agent .navigation_area.agent-nav .agent-nav-icon , body.x_agent .navigation_area.agent-nav .agent-nav-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    color: #ffffff;
    font-size: 18px;
    text-decoration: none;
    border-radius: 4px;
    transition: background-color 0.2s ease, color 0.2s ease;
}

body.agent .navigation_area.agent-nav .agent-nav-icon:hover , body.x_agent .navigation_area.agent-nav .agent-nav-icon:hover {
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    text-decoration: none;
}

body.agent .navigation_area.agent-nav .agent-nav-icon.agent-nav-active, body.x_agent .navigation_area.agent-nav .agent-nav-icon.agent-nav-active,
body.agent .navigation_area.agent-nav .agent-nav-icon.agent-nav-active:hover , body.x_agent .navigation_area.agent-nav .agent-nav-icon.agent-nav-active:hover {
    background: #ffffff;
    color: #000000;
}

body.agent .navigation_area.agent-nav .agent-nav-links > li > a , body.x_agent .navigation_area.agent-nav .agent-nav-links > li > a {
    transition: background-color 0.2s ease, color 0.2s ease;
}

body.agent .navigation_area.agent-nav .agent-nav-links > li > a:hover , body.x_agent .navigation_area.agent-nav .agent-nav-links > li > a:hover {
    background: #222222 !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

body.agent .navigation_area.agent-nav .agent-nav-links > li > a.agent-nav-active, body.x_agent .navigation_area.agent-nav .agent-nav-links > li > a.agent-nav-active,
body.agent .navigation_area.agent-nav .agent-nav-links > li > a.agent-nav-active:hover , body.x_agent .navigation_area.agent-nav .agent-nav-links > li > a.agent-nav-active:hover {
    background: #ffffff !important;
    color: #000000 !important;
    text-decoration: none !important;
}

body.agent .navigation_area.agent-nav .agent-nav-links > li.agent-nav-home > a.agent-nav-home-link , body.x_agent .navigation_area.agent-nav .agent-nav-links > li.agent-nav-home > a.agent-nav-home-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    white-space: nowrap;
    text-align: center;
}

/* Desktop tabs: icon only; mobile hamburger shows "Dashboard" text */
body.agent .navigation_area.agent-nav .agent-nav-home-label,
body.x_agent .navigation_area.agent-nav .agent-nav-home-label,
body.coordinator .navigation_area.coordinator-nav .coordinator-nav-home-label {
    display: none;
}

body.agent .navigation_area.agent-nav .agent-nav-links > li.agent-nav-home > a.agent-nav-home-link:hover , body.x_agent .navigation_area.agent-nav .agent-nav-links > li.agent-nav-home > a.agent-nav-home-link:hover {
    background: #222222 !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

body.agent .navigation_area.agent-nav .agent-nav-links > li.agent-nav-home > a.agent-nav-home-link.agent-nav-active, body.x_agent .navigation_area.agent-nav .agent-nav-links > li.agent-nav-home > a.agent-nav-home-link.agent-nav-active,
body.agent .navigation_area.agent-nav .agent-nav-links > li.agent-nav-home > a.agent-nav-home-link.agent-nav-active:hover , body.x_agent .navigation_area.agent-nav .agent-nav-links > li.agent-nav-home > a.agent-nav-home-link.agent-nav-active:hover {
    background: #ffffff !important;
    color: #000000 !important;
}

/* Agent/coordinator: hamburger through tablet; horizontal tabs from 1200px */
@media (min-width: 1200px) {
    body.agent .header_area.agent_border_color1,
    body.x_agent .header_area.agent_border_color1 {
        padding-bottom: 0;
    }

    body.agent .navigation_area.agent-nav .navbar , body.x_agent .navigation_area.agent-nav .navbar {
        margin-bottom: 0;
    }

    body.agent .navigation_area.agent-nav .navbar-header , body.x_agent .navigation_area.agent-nav .navbar-header {
        float: none;
    }

    body.agent .navigation_area.agent-nav .navbar-toggle , body.x_agent .navigation_area.agent-nav .navbar-toggle {
        display: none !important;
    }

    body.agent .navigation_area.agent-nav .navbar-collapse.collapse , body.x_agent .navigation_area.agent-nav .navbar-collapse.collapse {
        display: block !important;
        position: static;
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0;
        background: transparent;
        border: none;
        box-shadow: none;
        float: none;
    }

    body.agent .navigation_area.agent-nav .agent-nav-links , body.x_agent .navigation_area.agent-nav .agent-nav-links {
        display: flex;
        flex-wrap: nowrap;
        align-items: flex-end;
        justify-content: stretch;
        width: 100%;
        margin: 8px 0 0;
        padding: 0;
        border-top: none;
    }

    body.agent .navigation_area.agent-nav .agent-nav-links > li , body.x_agent .navigation_area.agent-nav .agent-nav-links > li {
        float: none !important;
        flex: 1 1 0;
        min-width: 0;
        text-align: center;
        margin-bottom: 0;
        display: flex;
        align-items: flex-end;
    }

    body.agent .navigation_area.agent-nav .agent-nav-links > li.agent-nav-home , body.x_agent .navigation_area.agent-nav .agent-nav-links > li.agent-nav-home {
        flex: 0 0 auto;
        text-align: left;
        align-self: flex-end;
        margin-left: 15px;
    }

    body.agent .navigation_area.agent-nav .agent-nav-links > li.agent-nav-home > a.agent-nav-home-link , body.x_agent .navigation_area.agent-nav .agent-nav-links > li.agent-nav-home > a.agent-nav-home-link {
        border-radius: 5px 5px 0 0;
    }

    body.agent .navigation_area.agent-nav .agent-nav-links > li > a , body.x_agent .navigation_area.agent-nav .agent-nav-links > li > a {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 1;
        width: 100%;
        padding: 10px 10px;
        margin: 0;
        font-size: 18px;
        font-weight: normal !important;
        line-height: 1.2;
        text-align: center;
        white-space: nowrap;
        box-sizing: border-box;
        border-radius: 5px 5px 0 0;
    }

    body.agent .navigation_area.agent-nav .agent-nav-links > li.agent-nav-mobile-only , body.x_agent .navigation_area.agent-nav .agent-nav-links > li.agent-nav-mobile-only {
        display: none !important;
    }

    body.agent .navigation_area.agent-nav .logo , body.x_agent .navigation_area.agent-nav .logo {
        float: none;
    }
}

@media (max-width: 1199px) {
    body.agent .header_area.agent_border_color1,
    body.x_agent .header_area.agent_border_color1 {
        position: relative;
        z-index: 2001;
    }

    body.agent .navigation_area.agent-nav , body.x_agent .navigation_area.agent-nav {
        position: relative;
    }

    body.agent .agent-nav-backdrop , body.x_agent .agent-nav-backdrop {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.45);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        z-index: 1990;
        transition: opacity 0.22s ease, visibility 0s linear 0.22s;
    }

    body.agent.agent-nav-open .agent-nav-backdrop , body.x_agent.agent-nav-open .agent-nav-backdrop {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transition: opacity 0.22s ease;
    }

    body.agent .navigation_area.agent-nav .agent-nav-top-row , body.x_agent .navigation_area.agent-nav .agent-nav-top-row {
        min-height: 58px;
        padding-left: 15px;
        padding-right: 15px;
        position: relative;
        z-index: 2001;
    }

    body.agent .navigation_area.agent-nav .agent-nav-utilities , body.x_agent .navigation_area.agent-nav .agent-nav-utilities {
        display: none !important;
    }

    body.agent .navigation_area.agent-nav .navbar-collapse , body.x_agent .navigation_area.agent-nav .navbar-collapse {
        position: absolute;
        top: 100%;
        left: 0;
        right: auto;
        width: 100vw;
        max-width: none;
        margin-left: calc(50% - 50vw);
        border-left: none;
        border-right: none;
        border-top: 1px solid rgba(255, 255, 255, 0.2);
        border-bottom: none;
        box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35);
        z-index: 2000;
        background: #000000 !important;
    }

    body.agent .navigation_area.agent-nav .agent-nav-links , body.x_agent .navigation_area.agent-nav .agent-nav-links {
        background: #000000;
        margin: 0;
        padding: 8px 0;
        float: none !important;
        width: 100%;
    }

    body.agent .navigation_area.agent-nav .agent-nav-links > li , body.x_agent .navigation_area.agent-nav .agent-nav-links > li {
        background: #000000;
        float: none !important;
        display: block !important;
        width: 100%;
    }

    /* Beat Bootstrap ≥768 “always expand collapse” so tablet keeps true hamburger.
       Use display:none when closed — height:0 tricks lose to Bootstrap’s height:auto !important. */
    body.agent .navigation_area.agent-nav .navbar-collapse.collapse , body.x_agent .navigation_area.agent-nav .navbar-collapse.collapse {
        display: none !important;
        height: auto !important;
        max-height: none !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        overflow: hidden !important;
        opacity: 0;
        visibility: hidden !important;
        transform: translateY(-8px);
        pointer-events: none;
    }

    body.agent .navigation_area.agent-nav .navbar-collapse.collapse.in , body.x_agent .navigation_area.agent-nav .navbar-collapse.collapse.in {
        display: block !important;
        height: auto !important;
        max-height: 80vh !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        opacity: 1;
        visibility: visible !important;
        transform: translateY(0);
        pointer-events: auto;
        transition: max-height 0.28s ease, opacity 0.22s ease, transform 0.22s ease;
    }

    body.agent .navigation_area.agent-nav .navbar-collapse.collapsing , body.x_agent .navigation_area.agent-nav .navbar-collapse.collapsing {
        display: block !important;
        overflow: hidden !important;
        visibility: visible !important;
        opacity: 1;
        transition: height 0.28s ease, opacity 0.22s ease, transform 0.22s ease;
    }

    body.agent .navigation_area.agent-nav .navbar-toggle , body.x_agent .navigation_area.agent-nav .navbar-toggle {
        display: block !important;
        position: static;
        top: auto;
        left: auto;
        right: auto;
        margin: 0 !important;
        z-index: 2002;
        flex-shrink: 0;
    }

    body.agent .navigation_area.agent-nav .navbar-toggle .icon-bar , body.x_agent .navigation_area.agent-nav .navbar-toggle .icon-bar {
        transition: transform 0.22s ease, opacity 0.22s ease;
    }

    body.agent.agent-nav-open .navigation_area.agent-nav .navbar-toggle .icon-bar:nth-child(1) , body.x_agent.agent-nav-open .navigation_area.agent-nav .navbar-toggle .icon-bar:nth-child(1) {
        transform: translateY(6px) rotate(45deg);
    }

    body.agent.agent-nav-open .navigation_area.agent-nav .navbar-toggle .icon-bar:nth-child(2) , body.x_agent.agent-nav-open .navigation_area.agent-nav .navbar-toggle .icon-bar:nth-child(2) {
        opacity: 0;
    }

    body.agent.agent-nav-open .navigation_area.agent-nav .navbar-toggle .icon-bar:nth-child(3) , body.x_agent.agent-nav-open .navigation_area.agent-nav .navbar-toggle .icon-bar:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg);
    }

    body.agent .navigation_area.agent-nav .agent-nav-links > li > a , body.x_agent .navigation_area.agent-nav .agent-nav-links > li > a {
        padding: 14px 18px;
        font-size: 18px;
        font-weight: normal !important;
        border-radius: 4px;
        margin: 2px 12px;
        background: #000000;
    }

    body.agent .navigation_area.agent-nav .agent-nav-links > li.agent-nav-home > a.agent-nav-home-link , body.x_agent .navigation_area.agent-nav .agent-nav-links > li.agent-nav-home > a.agent-nav-home-link {
        width: auto;
        height: auto;
        padding: 14px 18px;
        margin: 2px 12px;
        justify-content: flex-start;
        text-align: left;
    }

    body.agent .navigation_area.agent-nav .agent-nav-home-label,
    body.x_agent .navigation_area.agent-nav .agent-nav-home-label {
        display: inline;
    }

    body.agent .navigation_area.agent-nav .agent-nav-home-link > .fa-home,
    body.x_agent .navigation_area.agent-nav .agent-nav-home-link > .fa-home {
        display: none;
    }

    body.agent .navigation_area.agent-nav .agent-nav-links > li > a.agent-nav-active, body.x_agent .navigation_area.agent-nav .agent-nav-links > li > a.agent-nav-active,
    body.agent .navigation_area.agent-nav .agent-nav-links > li > a.agent-nav-active:hover , body.x_agent .navigation_area.agent-nav .agent-nav-links > li > a.agent-nav-active:hover {
        background: #ffffff !important;
        color: #000000 !important;
        text-decoration: none !important;
    }

    body.agent .navigation_area.agent-nav .agent-nav-links > li.agent-nav-home > a.agent-nav-home-link:hover , body.x_agent .navigation_area.agent-nav .agent-nav-links > li.agent-nav-home > a.agent-nav-home-link:hover {
        background: #222222 !important;
        color: #ffffff !important;
    }

    body.agent .navigation_area.agent-nav .agent-nav-links > li.agent-nav-home > a.agent-nav-home-link.agent-nav-active, body.x_agent .navigation_area.agent-nav .agent-nav-links > li.agent-nav-home > a.agent-nav-home-link.agent-nav-active,
    body.agent .navigation_area.agent-nav .agent-nav-links > li.agent-nav-home > a.agent-nav-home-link.agent-nav-active:hover , body.x_agent .navigation_area.agent-nav .agent-nav-links > li.agent-nav-home > a.agent-nav-home-link.agent-nav-active:hover {
        background: #ffffff !important;
        color: #000000 !important;
    }

    body.agent .navigation_area.agent-nav .logo , body.x_agent .navigation_area.agent-nav .logo {
        float: none;
        margin: 0;
        text-align: left;
        flex: 1;
        min-width: 0;
        position: relative;
        z-index: 2002;
    }

    body.agent .navigation_area.agent-nav .logo a , body.x_agent .navigation_area.agent-nav .logo a {
        display: inline-flex;
        align-items: center;
        max-width: 100%;
        position: relative;
        z-index: 2002;
        -webkit-tap-highlight-color: transparent;
    }

    body.agent .navigation_area.agent-nav .logo img , body.x_agent .navigation_area.agent-nav .logo img {
        width: auto;
        height: auto;
        max-width: 200px;
        max-height: 58px;
        object-fit: contain;
        pointer-events: none;
        transition: opacity 0.12s ease, transform 0.12s ease;
    }
    body.agent .navigation_area.agent-nav .logo a:active img,
    body.x_agent .navigation_area.agent-nav .logo a:active img {
        opacity: 0.7;
        transform: scale(0.98);
    }
}

/* Coordinator horizontal navigation (desktop + mobile) */
body.coordinator .navigation_area.coordinator-nav .coordinator-nav-top-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    width: 100%;
}

body.coordinator .navigation_area.coordinator-nav .coordinator-nav-utilities {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-left: auto;
}

body.coordinator .navigation_area.coordinator-nav .coordinator-nav-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    color: #ffffff;
    font-size: 18px;
    text-decoration: none;
    border-radius: 4px;
    transition: background-color 0.2s ease, color 0.2s ease;
}

body.coordinator .navigation_area.coordinator-nav .coordinator-nav-icon:hover {
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    text-decoration: none;
}

body.coordinator .navigation_area.coordinator-nav .coordinator-nav-icon.coordinator-nav-active,
body.coordinator .navigation_area.coordinator-nav .coordinator-nav-icon.coordinator-nav-active:hover {
    background: #ffffff;
    color: #000000;
}

body.coordinator .navigation_area.coordinator-nav .coordinator-nav-links > li > a {
    transition: background-color 0.2s ease, color 0.2s ease;
}

body.coordinator .navigation_area.coordinator-nav .coordinator-nav-links > li > a:hover {
    background: #222222 !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

body.coordinator .navigation_area.coordinator-nav .coordinator-nav-links > li > a.coordinator-nav-active,
body.coordinator .navigation_area.coordinator-nav .coordinator-nav-links > li > a.coordinator-nav-active:hover {
    background: #ffffff !important;
    color: #000000 !important;
    text-decoration: none !important;
}

body.coordinator .navigation_area.coordinator-nav .coordinator-nav-links > li.coordinator-nav-home > a.coordinator-nav-home-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    white-space: nowrap;
    text-align: center;
}

body.coordinator .navigation_area.coordinator-nav .coordinator-nav-links > li.coordinator-nav-home > a.coordinator-nav-home-link:hover {
    background: #222222 !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

body.coordinator .navigation_area.coordinator-nav .coordinator-nav-links > li.coordinator-nav-home > a.coordinator-nav-home-link.coordinator-nav-active,
body.coordinator .navigation_area.coordinator-nav .coordinator-nav-links > li.coordinator-nav-home > a.coordinator-nav-home-link.coordinator-nav-active:hover {
    background: #ffffff !important;
    color: #000000 !important;
}

@media (min-width: 1200px) {
    body.coordinator .header_area.agent_border_color1 {
        padding-bottom: 0;
    }

    body.coordinator .navigation_area.coordinator-nav .navbar {
        margin-bottom: 0;
    }

    body.coordinator .navigation_area.coordinator-nav .navbar-header {
        float: none;
    }

    body.coordinator .navigation_area.coordinator-nav .navbar-toggle {
        display: none !important;
    }

    body.coordinator .navigation_area.coordinator-nav .navbar-collapse.collapse {
        display: block !important;
        position: static;
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0;
        background: transparent;
        border: none;
        box-shadow: none;
        float: none;
    }

    body.coordinator .navigation_area.coordinator-nav .coordinator-nav-links {
        display: flex;
        flex-wrap: nowrap;
        align-items: flex-end;
        justify-content: stretch;
        width: 100%;
        margin: 8px 0 0;
        padding: 0;
        border-top: none;
    }

    body.coordinator .navigation_area.coordinator-nav .coordinator-nav-links > li {
        float: none !important;
        flex: 1 1 0;
        min-width: 0;
        text-align: center;
        margin-bottom: 0;
        display: flex;
        align-items: flex-end;
    }

    body.coordinator .navigation_area.coordinator-nav .coordinator-nav-links > li.coordinator-nav-home {
        flex: 0 0 auto;
        text-align: left;
        align-self: flex-end;
        margin-left: 15px;
    }

    body.coordinator .navigation_area.coordinator-nav .coordinator-nav-links > li.coordinator-nav-home > a.coordinator-nav-home-link {
        border-radius: 5px 5px 0 0;
    }

    body.coordinator .navigation_area.coordinator-nav .coordinator-nav-links > li > a {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 1;
        width: 100%;
        padding: 10px 10px;
        margin: 0;
        font-size: 18px;
        font-weight: normal !important;
        line-height: 1.2;
        text-align: center;
        white-space: nowrap;
        box-sizing: border-box;
        border-radius: 5px 5px 0 0;
    }

    body.coordinator .navigation_area.coordinator-nav .coordinator-nav-links > li.coordinator-nav-mobile-only {
        display: none !important;
    }

    body.coordinator .navigation_area.coordinator-nav .logo {
        float: none;
    }
}

@media (max-width: 1199px) {
    body.coordinator .header_area.agent_border_color1 {
        position: relative;
        z-index: 2001;
    }

    body.coordinator .navigation_area.coordinator-nav {
        position: relative;
    }

    body.coordinator .coordinator-nav-backdrop {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.45);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        z-index: 1990;
        transition: opacity 0.22s ease, visibility 0s linear 0.22s;
    }

    body.coordinator.coordinator-nav-open .coordinator-nav-backdrop {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transition: opacity 0.22s ease;
    }

    body.coordinator .navigation_area.coordinator-nav .coordinator-nav-top-row {
        min-height: 58px;
        padding-left: 15px;
        padding-right: 15px;
        position: relative;
        z-index: 2001;
    }

    body.coordinator .navigation_area.coordinator-nav .coordinator-nav-utilities {
        display: none !important;
    }

    body.coordinator .navigation_area.coordinator-nav .navbar-collapse {
        position: absolute;
        top: 100%;
        left: 0;
        right: auto;
        width: 100vw;
        max-width: none;
        margin-left: calc(50% - 50vw);
        border-left: none;
        border-right: none;
        border-top: 1px solid rgba(255, 255, 255, 0.2);
        border-bottom: none;
        box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35);
        z-index: 2000;
        background: #000000 !important;
    }

    body.coordinator .navigation_area.coordinator-nav .coordinator-nav-links {
        background: #000000;
        margin: 0;
        padding: 8px 0;
        float: none !important;
        width: 100%;
    }

    body.coordinator .navigation_area.coordinator-nav .coordinator-nav-links > li {
        background: #000000;
        float: none !important;
        display: block !important;
        width: 100%;
    }

    /* Beat Bootstrap ≥768 “always expand collapse” so tablet keeps true hamburger.
       Use display:none when closed — height:0 tricks lose to Bootstrap’s height:auto !important. */
    body.coordinator .navigation_area.coordinator-nav .navbar-collapse.collapse {
        display: none !important;
        height: auto !important;
        max-height: none !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        overflow: hidden !important;
        opacity: 0;
        visibility: hidden !important;
        transform: translateY(-8px);
        pointer-events: none;
    }

    body.coordinator .navigation_area.coordinator-nav .navbar-collapse.collapse.in {
        display: block !important;
        height: auto !important;
        max-height: 80vh !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        opacity: 1;
        visibility: visible !important;
        transform: translateY(0);
        pointer-events: auto;
        transition: max-height 0.28s ease, opacity 0.22s ease, transform 0.22s ease;
    }

    body.coordinator .navigation_area.coordinator-nav .navbar-collapse.collapsing {
        display: block !important;
        overflow: hidden !important;
        visibility: visible !important;
        opacity: 1;
        transition: height 0.28s ease, opacity 0.22s ease, transform 0.22s ease;
    }

    body.coordinator .navigation_area.coordinator-nav .navbar-toggle {
        display: block !important;
        position: static;
        top: auto;
        left: auto;
        right: auto;
        margin: 0 !important;
        z-index: 2002;
        flex-shrink: 0;
    }

    body.coordinator .navigation_area.coordinator-nav .navbar-toggle .icon-bar {
        transition: transform 0.22s ease, opacity 0.22s ease;
    }

    body.coordinator.coordinator-nav-open .navigation_area.coordinator-nav .navbar-toggle .icon-bar:nth-child(1) {
        transform: translateY(6px) rotate(45deg);
    }

    body.coordinator.coordinator-nav-open .navigation_area.coordinator-nav .navbar-toggle .icon-bar:nth-child(2) {
        opacity: 0;
    }

    body.coordinator.coordinator-nav-open .navigation_area.coordinator-nav .navbar-toggle .icon-bar:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg);
    }

    body.coordinator .navigation_area.coordinator-nav .coordinator-nav-links > li > a {
        padding: 14px 18px;
        font-size: 18px;
        font-weight: normal !important;
        border-radius: 4px;
        margin: 2px 12px;
        background: #000000;
    }

    body.coordinator .navigation_area.coordinator-nav .coordinator-nav-links > li.coordinator-nav-home > a.coordinator-nav-home-link {
        width: auto;
        height: auto;
        padding: 14px 18px;
        margin: 2px 12px;
        justify-content: flex-start;
        text-align: left;
    }

    body.coordinator .navigation_area.coordinator-nav .coordinator-nav-home-label {
        display: inline;
    }

    body.coordinator .navigation_area.coordinator-nav .coordinator-nav-home-link > .fa-home {
        display: none;
    }

    body.coordinator .navigation_area.coordinator-nav .coordinator-nav-links > li > a.coordinator-nav-active,
    body.coordinator .navigation_area.coordinator-nav .coordinator-nav-links > li > a.coordinator-nav-active:hover {
        background: #ffffff !important;
        color: #000000 !important;
        text-decoration: none !important;
    }

    body.coordinator .navigation_area.coordinator-nav .coordinator-nav-links > li.coordinator-nav-home > a.coordinator-nav-home-link:hover {
        background: #222222 !important;
        color: #ffffff !important;
    }

    body.coordinator .navigation_area.coordinator-nav .coordinator-nav-links > li.coordinator-nav-home > a.coordinator-nav-home-link.coordinator-nav-active,
    body.coordinator .navigation_area.coordinator-nav .coordinator-nav-links > li.coordinator-nav-home > a.coordinator-nav-home-link.coordinator-nav-active:hover {
        background: #ffffff !important;
        color: #000000 !important;
    }

    body.coordinator .navigation_area.coordinator-nav .logo {
        float: none;
        margin: 0;
        text-align: left;
        flex: 1;
        min-width: 0;
        position: relative;
        z-index: 2002;
    }

    body.coordinator .navigation_area.coordinator-nav .logo a {
        display: inline-flex;
        align-items: center;
        max-width: 100%;
        position: relative;
        z-index: 2002;
        -webkit-tap-highlight-color: transparent;
    }

    body.coordinator .navigation_area.coordinator-nav .logo img {
        width: auto;
        height: auto;
        max-width: 200px;
        max-height: 58px;
        object-fit: contain;
        pointer-events: none;
        transition: opacity 0.12s ease, transform 0.12s ease;
    }
    body.coordinator .navigation_area.coordinator-nav .logo a:active img {
        opacity: 0.7;
        transform: scale(0.96);
    }
}

/* Client (buyer) navigation — single row: WN logo | icons | agent logo */
body.buyer .navigation_area.user-nav .navbar {
    margin-bottom: 0;
}

body.buyer .navigation_area.user-nav .user-nav-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 80px;
    gap: 12px;
}

body.buyer .navigation_area.user-nav .user-nav-row .logo1,
body.buyer .navigation_area.user-nav .user-nav-row .logo2 {
    flex: 1 1 0;
    float: none;
    margin: 0;
    min-width: 0;
}

body.buyer .navigation_area.user-nav .user-nav-row .logo1 {
    text-align: left;
}

body.buyer .navigation_area.user-nav .user-nav-row .logo2 {
    text-align: right;
}

body.buyer .navigation_area.user-nav .user-nav-row .logo img {
    width: auto;
    height: auto;
    max-width: 300px;
    max-height: 100px;
    object-fit: contain;
}

body.buyer .navigation_area.user-nav .user-nav-icons {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    flex: 0 0 auto;
}

body.buyer .navigation_area.user-nav .user-nav-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    color: #ffffff;
    font-size: 25px;
    text-decoration: none;
    border-radius: 4px;
    transition: background-color 0.2s ease, color 0.2s ease;
}

body.buyer .navigation_area.user-nav .user-nav-icon:hover {
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    text-decoration: none;
}

body.buyer .navigation_area.user-nav .user-nav-icon.user-nav-active,
body.buyer .navigation_area.user-nav .user-nav-icon.user-nav-active:hover {
    background: #ffffff;
    color: #000000;
}

body.buyer .navigation_area.user-nav .user-nav-agent-logo {
    display: inline-block;
    cursor: pointer;
}

body.buyer .navigation_area.user-nav .notice-bell .notice-bell-toggle {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}

body.buyer .navigation_area.user-nav .notice-bell.notice-bell-quiet .notice-bell-toggle {
    opacity: 0.75;
}

body.buyer .navigation_area.user-nav .notice-bell.notice-bell-quiet .notice-bell-toggle:hover,
body.buyer .navigation_area.user-nav .notice-bell.notice-bell-open .notice-bell-toggle {
    opacity: 1;
}

/* Contact Your Agent modal (desktop logo click) */
#popup_dialog.popup_agent_contact {
    width: 420px;
    max-width: 90%;
    margin: 30px auto;
}

/* Shrink global.css 50px empty modal-header (title hidden; close floats); keep ~20px top gap */
#popup .modal-header {
    height: 20px;
    min-height: 20px;
    padding: 0;
    margin: 0;
    border: none;
    overflow: visible;
    position: relative;
}

/* Bootstrap floats .close right; keep X half-out top-right (xsmall.css wrongly sets left:-10px on mobile) */
#popup .modal-header .close {
    position: absolute;
    top: -16px !important;
    right: -16px;
    left: auto !important;
    float: right;
    z-index: 2;
}

/*
 * Agent/coordinator header sits at z-index 2001 (above sticky table headers).
 * Bootstrap #popup / .modal is only 1040, so without this drop the top of every
 * ObjectFunctionAjaxPopup (Add New Agent, credits, MLS client-info, archive, etc.)
 * can hide behind the nav — including desktop (the old rule was mobile-only).
 * Do NOT raise .modal-backdrop — it's appended to body and would cover #popup
 * (popup stays in-page and loses the stacking fight). Instead, drop the nav
 * under the modal while body.modal-open. Applies at all breakpoints.
 */
body.modal-open.agent .header_area,
body.modal-open.x_agent .header_area,
body.modal-open.coordinator .header_area,
body.modal-open.agent .header_area.agent_border_color1,
body.modal-open.x_agent .header_area.agent_border_color1,
body.modal-open.coordinator .header_area.agent_border_color1,
body.modal-open.agent .navigation_area.agent-nav .agent-nav-top-row,
body.modal-open.x_agent .navigation_area.agent-nav .agent-nav-top-row,
body.modal-open.coordinator .navigation_area.coordinator-nav .coordinator-nav-top-row,
body.modal-open.agent .navigation_area.agent-nav .navbar-collapse,
body.modal-open.x_agent .navigation_area.agent-nav .navbar-collapse,
body.modal-open.coordinator .navigation_area.coordinator-nav .navbar-collapse,
body.modal-open.agent .navigation_area.agent-nav .navbar-toggle,
body.modal-open.x_agent .navigation_area.agent-nav .navbar-toggle,
body.modal-open.coordinator .navigation_area.coordinator-nav .navbar-toggle,
body.modal-open.agent .agent-nav-backdrop,
body.modal-open.x_agent .agent-nav-backdrop,
body.modal-open.coordinator .coordinator-nav-backdrop {
	z-index: 1030 !important;
}

/* Doc-repo custom modals (not Bootstrap; no body.modal-open) — sit above header 2001 */
.custom-modal-overlay {
	z-index: 3000;
}

.user-agent-contact-popup {
    padding: 8px 4px 4px;
}

.user-agent-contact-title {
    margin: 0 0 16px;
    font-size: 22px;
    font-weight: normal;
    line-height: 1.2;
}

.user-agent-contact-info {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding-bottom: 20px;
}

.user-agent-contact-image {
    flex-shrink: 0;
}

.user-agent-contact-image img {
    display: block;
    max-width: 120px;
    height: auto;
}

.user-agent-contact-details {
    flex: 1;
    min-width: 0;
    line-height: 1.45;
    color: #333;
}

.user-agent-contact-details a {
    color: #333;
    text-decoration: underline;
}

@media (max-width: 991px) {
    body.buyer .navigation_area.user-nav .user-nav-row {
        min-height: 58px;
        padding-left: 10px;
        padding-right: 10px;
        gap: 8px;
    }

    body.buyer .navigation_area.user-nav .user-nav-row .logo2 {
        display: none;
    }

    body.buyer .navigation_area.user-nav .user-nav-row .logo1 {
        flex: 1 1 auto;
    }

    body.buyer .navigation_area.user-nav .user-nav-icons {
        margin-left: auto;
        gap: 8px;
    }

    body.buyer .navigation_area.user-nav .user-nav-row .logo img {
        max-width: 160px;
        max-height: 48px;
    }

    body.buyer .navigation_area.user-nav .user-nav-icon {
        width: 32px;
        height: 32px;
        font-size: 16px;
    }
}

/* Admin horizontal navigation (desktop) */
body.admin .navigation_area.admin-nav .admin-nav-top-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    width: 100%;
}

body.admin .navigation_area.admin-nav .admin-nav-utilities {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-left: auto;
}

body.admin .navigation_area.admin-nav .admin-nav-version {
    color: #ffffff;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
}

body.admin .navigation_area.admin-nav .admin-nav-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    color: #ffffff;
    font-size: 18px;
    text-decoration: none;
    border-radius: 4px;
    transition: background-color 0.2s ease, color 0.2s ease;
}

body.admin .navigation_area.admin-nav .admin-nav-icon:hover {
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    text-decoration: none;
}

body.admin .navigation_area.admin-nav .admin-nav-links > li > a {
    transition: background-color 0.2s ease, color 0.2s ease;
}

body.admin .navigation_area.admin-nav .admin-nav-links > li > a:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

body.admin .navigation_area.admin-nav .navbar.navbar-inverse .admin-nav-links > li.admin-nav-dropdown-active > a.dropdown-toggle,
body.admin .navigation_area.admin-nav .navbar.navbar-inverse .admin-nav-links > li.admin-nav-dropdown-active.open > a.dropdown-toggle,
body.admin .navigation_area.admin-nav .navbar.navbar-inverse .admin-nav-links > li.admin-nav-dropdown-active > a.dropdown-toggle:hover,
body.admin .navigation_area.admin-nav .navbar.navbar-inverse .admin-nav-links > li.admin-nav-dropdown-active.open > a.dropdown-toggle:hover,
body.admin .navigation_area.admin-nav .navbar.navbar-inverse .admin-nav-links > li.admin-nav-dropdown-active > a.dropdown-toggle:focus,
body.admin .navigation_area.admin-nav .navbar.navbar-inverse .admin-nav-links > li.admin-nav-dropdown-active > a.dropdown-toggle:active {
    background: #ffffff !important;
    color: #000000 !important;
    text-decoration: none !important;
}

body.admin .navigation_area.admin-nav .navbar.navbar-inverse .admin-nav-links > li.admin-nav-dropdown-active > a.dropdown-toggle .caret {
    border-top-color: #000000 !important;
}

body.admin .navigation_area.admin-nav .admin-nav-links .dropdown-menu > li > a {
    transition: background-color 0.2s ease, color 0.2s ease;
}

body.admin .navigation_area.admin-nav .admin-nav-links .dropdown-menu > li > a:hover {
    background: #5c5c5c !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

body.admin .navigation_area.admin-nav .admin-nav-links .dropdown-menu > li > a.admin-nav-active,
body.admin .navigation_area.admin-nav .admin-nav-links .dropdown-menu > li > a.admin-nav-active:hover {
    background: #444444 !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

@media (min-width: 992px) {
    body.admin .header_area {
        padding-bottom: 0;
    }

    body.admin .navigation_area.admin-nav .navbar {
        margin-bottom: 0;
    }

    body.admin .navigation_area.admin-nav .navbar-toggle {
        display: none !important;
    }

    body.admin .navigation_area.admin-nav .navbar-collapse.collapse {
        display: block !important;
        position: static;
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0;
        background: transparent;
        border: none;
        box-shadow: none;
        float: none;
    }

    body.admin .navigation_area.admin-nav .admin-nav-links {
        display: flex;
        flex-wrap: nowrap;
        align-items: flex-end;
        justify-content: stretch;
        width: 100%;
        margin: 8px 0 0;
        padding: 0;
        border-top: none;
    }

    body.admin .navigation_area.admin-nav .admin-nav-links > li {
        float: none !important;
        flex: 1 1 0;
        min-width: 0;
        text-align: center;
        margin-bottom: 0;
        display: flex;
        align-items: flex-end;
        position: relative;
    }

    body.admin .navigation_area.admin-nav .admin-nav-links > li > a {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 1;
        width: 100%;
        padding: 10px 10px;
        margin: 0;
        font-size: 18px;
        font-weight: normal !important;
        line-height: 1.2;
        text-align: center;
        white-space: nowrap;
        box-sizing: border-box;
        border-radius: 5px 5px 0 0;
    }

    body.admin .navigation_area.admin-nav .admin-nav-links > li.dropdown:hover > .dropdown-menu,
    body.admin .navigation_area.admin-nav .admin-nav-links > li.dropdown.open > .dropdown-menu {
        display: block;
    }

    body.admin .navigation_area.admin-nav .admin-nav-links .dropdown-menu {
        position: absolute;
        top: 100%;
        left: 0;
        right: auto;
        float: none;
        min-width: 100%;
        margin: 0;
        border-radius: 0;
        border: none;
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.35);
    }

    body.admin .navigation_area.admin-nav .admin-nav-links .dropdown-menu > li > a {
        text-transform: none;
        padding: 12px 15px;
        border-top: 1px solid rgba(255, 255, 255, 0.2);
        white-space: nowrap;
    }

    body.admin .navigation_area.admin-nav .admin-nav-links .dropdown-menu > li:first-child > a {
        border-top: none;
    }

    body.admin .navigation_area.admin-nav .logo {
        float: none;
    }

    body.admin .navigation_area.admin-nav .admin-nav-top-row {
        align-items: center;
    }

    body.admin .navigation_area.admin-nav .admin-nav-utilities {
        margin-left: auto;
        padding-right: 0;
    }

    body.admin .navigation_area.admin-nav .logo img {
        width: auto;
        height: auto;
        max-width: 200px;
        max-height: 58px;
        object-fit: contain;
    }
}

@media (max-width: 991px) {
    body.admin .navigation_area.admin-nav {
        position: relative;
    }

    body.admin .navigation_area.admin-nav .admin-nav-top-row {
        min-height: 58px;
        padding-left: 15px;
        padding-right: 60px;
    }

    body.admin .navigation_area.admin-nav .admin-nav-utilities {
        margin-left: auto;
        padding-right: 0;
    }

    body.admin .navigation_area.admin-nav .admin-nav-version {
        font-size: 12px;
    }

    body.admin .navigation_area.admin-nav .navbar-toggle {
        display: block !important;
        position: absolute;
        top: 10px;
        right: 15px;
        margin: 0 !important;
        padding: 9px 10px !important;
        border: 1px solid #ffffff;
        background: #000000;
        z-index: 2000;
        transform: none !important;
    }

    body.admin .navigation_area.admin-nav .navbar-toggle:hover,
    body.admin .navigation_area.admin-nav .navbar-toggle:focus,
    body.admin .navigation_area.admin-nav .navbar-toggle:active {
        background: #000000;
    }

    body.admin .navigation_area.admin-nav .navbar-collapse {
        position: absolute;
        right: 0;
        width: 300px;
        max-width: 300px;
        margin: 0;
        padding: 0;
        background: #000000;
        border: 1px solid #888888;
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.35);
        z-index: 1000;
        float: none;
    }

    body.admin .navigation_area.admin-nav .navbar-collapse.collapse {
        display: none !important;
    }

    body.admin .navigation_area.admin-nav .navbar-collapse.collapse.in {
        display: block !important;
    }

    body.admin .navigation_area.admin-nav .admin-nav-links,
    body.admin .navigation_area.admin-nav .admin-nav-links > li {
        float: none !important;
    }
}

/* Legal pages (privacy policy, and future terms / disclaimer) */
.legal-page-content {
	margin: 0 0 40px;
	padding: 10px 0 30px;
	line-height: 1.6;
}

.legal-page-content h1 {
	margin: 0 0 8px;
	font-size: 28px;
}

.legal-page-content .legal-updated {
	margin: 0 0 24px;
	color: #666;
	font-size: 14px;
}

.legal-page-content h2 {
	margin: 32px 0 12px;
	font-size: 22px;
}

.legal-page-content h3 {
	margin: 24px 0 10px;
	font-size: 18px;
}

.legal-page-content h4 {
	margin: 18px 0 8px;
	font-size: 16px;
}

.legal-page-content p,
.legal-page-content li {
	margin-bottom: 10px;
}

.legal-page-content ul {
	margin: 0 0 16px;
	padding-left: 22px;
}

.legal-page-content ul ul {
	margin-top: 8px;
	margin-bottom: 8px;
}

/* Authenticated support request form */
.support-page-content {
	margin: 0 auto 40px;
	max-width: 760px;
}

.support-form-wrap {
	padding: 10px 0 30px;
}

.support-form-intro {
	margin-bottom: 20px;
	font-size: 17px;
}

.support-account-summary {
	margin-bottom: 24px;
	padding: 15px 18px;
	background: #f5f5f5;
	border-left: 4px solid #333333;
	line-height: 1.6;
}

.support-form label {
	display: block;
	margin: 18px 0 7px;
	font-weight: 600;
}

.support-form input,
.support-form textarea {
	display: block;
	width: 100%;
	padding: 11px 12px;
	color: #222222;
	background: #ffffff;
	border: 1px solid #aaaaaa;
	border-radius: 3px;
	box-sizing: border-box;
}

.support-form textarea {
	resize: vertical;
}

.support-form button {
	margin-top: 20px;
	padding: 11px 20px;
	color: var(--agent-fg-color1, #ffffff);
	background: var(--agent-bg-color1, #009901);
	border: 1px solid #000000;
	border-radius: 3px;
	font-weight: 600;
	cursor: pointer;
}

.support-form button:hover,
.support-form button:focus {
	color: var(--agent-fg-color2, #ffffff);
	background: var(--agent-bg-color2, #000000);
}

.support-form-success,
.support-form-error {
	margin-bottom: 20px;
	padding: 12px 15px;
	border-radius: 3px;
}

.support-form-success {
	color: #155724;
	background: #d4edda;
	border: 1px solid #c3e6cb;
}

.support-form-error {
	color: #721c24;
	background: #f8d7da;
	border: 1px solid #f5c6cb;
}

.support-form-alternate {
	margin-top: 20px;
	font-size: 14px;
}

/* Client Info: Report an issue under MLS not-found / duplicate validation */
.mls-report-issue-link {
	display: inline-block;
	margin-top: 6px;
	font-weight: 600;
	text-decoration: underline;
}

#popup .mls-issue-report,
#popup_content .mls-issue-report {
	padding: 4px 0 8px;
}

#popup .mls-issue-report > p,
#popup_content .mls-issue-report > p {
	margin: 0 0 12px;
	line-height: 1.45;
}

#popup .mls-issue-report-summary,
#popup_content .mls-issue-report-summary {
	margin: 0 0 16px;
	padding: 12px 14px;
	background: #f5f5f5;
	border-left: 4px solid #333;
	line-height: 1.5;
}

#popup .mls-issue-report label,
#popup_content .mls-issue-report label {
	display: block;
	margin: 0 0 6px;
	font-weight: 600;
}

#popup .mls-issue-report textarea,
#popup_content .mls-issue-report textarea {
	width: 100%;
	box-sizing: border-box;
	min-height: 110px;
	margin: 0 0 12px;
	padding: 8px 10px;
}

#popup .mls-issue-report-actions,
#popup_content .mls-issue-report-actions {
	margin: 0 0 10px;
}

#popup .mls-issue-report-error,
#popup_content .mls-issue-report-error {
	color: #c00;
	margin: 0 0 12px;
	font-weight: 600;
}

#popup .mls-issue-report-success,
#popup_content .mls-issue-report-success {
	margin: 8px 0 16px;
	font-weight: 600;
	line-height: 1.45;
}

/* Delete / Restore Pre-Contract Timeline Items */
.agent_tools_buttons .precontract-bulk-delete,
.agent_tools_buttons .precontract-bulk-restore {
	margin-left: 8px;
	margin-top: 6px;
	display: inline-block;
}

.precontract-bulk-prompt .precontract-bulk-prompt-body,
.precontract-bulk-prompt .line {
	margin-bottom: 16px;
}

.precontract-bulk-prompt .precontract-bulk-prompt-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
	margin-top: 8px;
}

.precontract-bulk-prompt .precontract-bulk-prompt-actions a {
	min-width: 88px;
	text-align: center;
}

.archived-transaction-notice .card_body p {
	margin: 0 0 1em;
	line-height: 1.5;
}

.archived-transaction-notice .archived-agent-contact {
	margin: 0;
	font-weight: 600;
	line-height: 1.6;
}

.archived-transaction-notice .archived-agent-contact a {
	display: inline;
}

/* MLS Sync timeline: Bootstrap carousel with fixed height (no bounce between slides) */
.carousel.mls-sync-carousel .carousel-inner,
.carousel.mls-sync-carousel .carousel-inner > .item {
	height: 513px;
	min-height: 513px;
}
.carousel.mls-sync-carousel .carousel-inner > .item > img {
	display: block;
	margin: 0 auto;
	height: 513px;
	width: auto;
	max-width: 100%;
	object-fit: cover;
}

/* Flat prev/next controls — no Bootstrap side gradients; solid chevron boxes */
.carousel.mls-sync-carousel .carousel-control {
	width: 48px;
	background: none !important;
	background-image: none !important;
	filter: none;
	opacity: 1;
	text-shadow: none;
}

.carousel.mls-sync-carousel .carousel-control.left,
.carousel.mls-sync-carousel .carousel-control.right {
	background-image: none !important;
	filter: none;
}

.carousel.mls-sync-carousel .carousel-control:hover,
.carousel.mls-sync-carousel .carousel-control:focus {
	opacity: 1;
	background: none !important;
	background-image: none !important;
	filter: none;
}

.carousel.mls-sync-carousel .carousel-control:focus {
	outline: none;
}

.carousel.mls-sync-carousel .carousel-control .glyphicon {
	position: absolute;
	top: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	margin-top: -17px;
	font-size: 18px;
	line-height: 1;
	text-shadow: none;
	color: #fff;
	background-color: #000;
	border: none;
	border-radius: 2px;
	box-sizing: border-box;
}

.carousel.mls-sync-carousel .carousel-control.left .glyphicon {
	left: 8px;
	margin-left: 0;
}

.carousel.mls-sync-carousel .carousel-control.right .glyphicon {
	right: 8px;
	left: auto;
	margin-right: 0;
}

.carousel.mls-sync-carousel .carousel-control:hover .glyphicon {
	color: #000;
	background-color: #fff;
}

/* Click leaves :focus on the link — keep default look unless the pointer is still over it */
.carousel.mls-sync-carousel .carousel-control:focus:not(:hover) .glyphicon,
.carousel.mls-sync-carousel .carousel-control:active:not(:hover) .glyphicon {
	color: #fff;
	background-color: #000;
}

/* Timeline MLS circle specs (Allstar-style) */
.client_intro_specs_mls {
	margin: 25px 0 10px;
}

.client_intro_spec_mls {
	text-align: center;
	margin: 15px 0;
	font-weight: normal;
}

.client_intro_spec_icon {
	width: 100px;
	height: 100px;
	margin: 0 auto 10px;
	border-radius: 50% !important;
	border: 4px solid var(--agent-bg-color1, #666);
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--agent-bg-color1, #666);
	font-size: 50px;
	line-height: 1;
	background: transparent;
}

.client_intro_spec_icon:hover,
.client_intro_spec_icon:focus {
	border-radius: 50% !important;
}

.client_intro_spec_icon i,
.client_intro_spec_icon .fas,
.client_intro_spec_icon .fa {
	color: inherit;
	font-size: 50px;
	line-height: 1;
}

.client_intro_spec_value {
	font-size: 1.5em;
	font-weight: 600;
	color: var(--agent-bg-color1, #333);
	line-height: 1.2;
	margin-bottom: 4px;
}

.client_intro_spec_label {
	font-size: 1.5em;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--agent-bg-color2, #666);
	text-transform: uppercase;
}

@media (max-width: 767px) {
	.carousel.mls-sync-carousel .carousel-inner,
	.carousel.mls-sync-carousel .carousel-inner > .item,
	.carousel.mls-sync-carousel .carousel-inner > .item > img {
		height: 280px;
		min-height: 280px;
	}
}

/* Client first-login password + notifications setup modal */
.client-setup-modal {
	padding: 5px 5px 10px;
}
.client-setup-modal-intro {
	margin: 0 0 15px;
	font-size: 15px;
	line-height: 1.4;
}
.client-setup-modal .line {
	margin-bottom: 10px;
}
.client-setup-modal INPUT.text,
.client-setup-modal INPUT.password {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}
.client-setup-modal-notifications {
	margin: 15px 0 10px;
}
.client-setup-modal-notifications strong {
	display: block;
	margin-bottom: 8px;
}
.client-setup-modal-notify-row LABEL {
	margin-right: 15px;
}
.client-setup-modal-note {
	margin: 12px 0 0;
	font-size: 13px;
	line-height: 1.4;
	color: #555;
}
.client-setup-modal-actions {
	margin-top: 18px;
	text-align: center;
}
.client-setup-modal-actions A.button {
	min-width: 160px;
	text-decoration: none;
}
.client-setup-modal-errors {
	margin-bottom: 12px;
	padding: 10px 12px;
	border: 1px solid #cc0000;
	background: #fff5f5;
	color: #cc0000;
	text-align: left;
}
.client-setup-modal-error-item {
	color: #cc0000;
	font-size: 0.95em;
	line-height: 1.35;
	margin: 0 0 6px;
}
.client-setup-modal-error-item:last-child {
	margin-bottom: 0;
}

/* Brand color contrast note under Switch Colors (agent/coordinator settings) */
.switch-colors-contrast-note {
	margin: 10px auto 0;
	max-width: 320px;
	font-size: 12px;
	font-style: italic;
	line-height: 1.4;
	color: #666;
	text-align: center;
}

/* Hide ask-agent question icon in settings color preview timelines */
.timeline_preview .timeline_item_question {
	display: none !important;
}

/* Activate / credits / purchase-complete: 40% (package picker stays popup_wide).
 * :has() shrinks immediately if success HTML lands while still popup_wide. */
#popup_dialog.popup_credits,
#popup_dialog:has(.purchase-activate-success),
#popup_dialog:has(.purchase-complete-success) {
	width: 40%;
	max-width: calc(100vw - 40px);
	min-width: 0 !important;
	margin: 30px auto;
}
@media (max-width: 767px) {
	#popup_dialog.popup_credits,
	#popup_dialog:has(.purchase-activate-success),
	#popup_dialog:has(.purchase-complete-success) {
		width: calc(100vw - 32px);
	}
}

#popup_dialog.popup_credits #popup_content {
	text-align: center;
}

#popup_dialog.popup_credits #popup_content h1 {
	/* Beat #popup_content * { max-width:100% } so the title can use the dialog width */
	max-width: none;
	word-wrap: break-word;
}

/* Activate-after-buy / confirm Activate brief redirect flash */
#popup .purchase-activate-success,
#popup_content .purchase-activate-success {
	margin: 24px 0;
	padding: 0 16px;
	font-size: 16px;
	line-height: 1.45;
	font-weight: 600;
	text-align: center;
	color: #333;
}

/* Mobile dashboard: tap info icon for Activate / Update MLS help (desktop uses hover tooltips) */
.dashboard-action-with-help {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px;
	text-align: center;
}
.dashboard-action-help-icon {
	font-size: 22px;
	line-height: 1;
	color: #666;
	text-decoration: none;
}
.dashboard-action-help-icon:hover,
.dashboard-action-help-icon:focus {
	color: #333;
	text-decoration: none;
}
.dashboard-action-help-text {
	display: none;
	flex: 1 1 100%;
	width: 100%;
	margin: 0;
	padding: 8px 10px;
	font-size: 13px;
	line-height: 1.4;
	color: #444;
	background: #f5f5f5;
	border-radius: 4px;
	text-align: center;
}

/* Archived transactions desktop table: fixed column widths */
.agent_dashboard TABLE.listing.past-users-table {
	width: 100%;
	max-width: 100%;
	table-layout: fixed;
}
.agent_dashboard TABLE.listing.past-users-table TH {
	white-space: normal;
	line-height: 1.15;
	vertical-align: bottom;
	text-align: center;
	padding: 8px 4px;
}
.agent_dashboard TABLE.listing.past-users-table TH A.sort_icon {
	display: inline-block;
	margin: 0;
}
.agent_dashboard TABLE.listing.past-users-table TH > A:not(.sort_icon) + A.sort_icon {
	margin: 0 6px 0 6px;
}
.agent_dashboard TABLE.listing.past-users-table TH.past-users-primary,
.agent_dashboard TABLE.listing.past-users-table TD.past-users-primary {
	width: 150px;
	min-width: 130px;
}
.agent_dashboard TABLE.listing.past-users-table TH.past-users-mls,
.agent_dashboard TABLE.listing.past-users-table TD.past-users-mls {
	width: 120px;
	min-width: 100px;
	max-width: 140px;
	white-space: normal;
	word-break: break-word;
	padding-left: 4px;
	padding-right: 4px;
}
.agent_dashboard TABLE.listing.past-users-table TH.past-users-progress {
	width: 70px;
	min-width: 60px;
	max-width: 78px;
	text-align: center;
	padding-left: 2px;
	padding-right: 2px;
	white-space: normal;
	line-height: 1.15;
}
.agent_dashboard TABLE.listing.past-users-table TD.past-users-progress {
	width: 70px;
	min-width: 60px;
	max-width: 78px;
	text-align: center;
	padding-left: 2px;
	padding-right: 2px;
	white-space: nowrap;
}
.agent_dashboard TABLE.listing.past-users-table TH.past-users-action,
.agent_dashboard TABLE.listing.past-users-table TD.past-users-action {
	width: 64px;
	min-width: 58px;
	text-align: center;
	padding-left: 2px;
	padding-right: 2px;
}
.agent_dashboard TABLE.listing.past-users-table TH.past-users-date,
.agent_dashboard TABLE.listing.past-users-table TD.past-users-date {
	width: 72px;
	min-width: 64px;
	text-align: center;
	white-space: nowrap;
	padding-left: 2px;
	padding-right: 2px;
}
.agent_dashboard TABLE.listing.past-users-table TH.past-users-deal-status,
.agent_dashboard TABLE.listing.past-users-table TD.past-users-deal-status {
	width: 128px;
	min-width: 120px;
	white-space: normal;
	line-height: 1.2;
	text-align: center;
	padding-left: 4px;
	padding-right: 4px;
}
.agent_dashboard TABLE.listing.past-users-table TD.past-users-deal-status .credits-info-icon {
	display: inline-block;
	margin-left: 3px;
}

.vendor-mobile-card-head .past-deal-status-info,
.edit-user-deal-header-status .credits-info-icon {
	color: inherit;
	opacity: 0.85;
}
.vendor-mobile-card-head .past-deal-status-info:hover,
.vendor-mobile-card-head .past-deal-status-info:focus,
.edit-user-deal-header-status .credits-info-icon:hover,
.edit-user-deal-header-status .credits-info-icon:focus {
	opacity: 1;
}

/* Property Info (edit_user_dates): single MLS photo + note, no carousel */
.property-info-mls-image img {
	max-width: 100%;
	height: auto;
	display: block;
}
.property-info-mls-image-note {
	margin: 10px 0 0;
	font-size: 12px;
	font-style: italic;
	color: #666;
	line-height: 1.3;
}

/* Timeline / Property Info: MLS# on file, photos not crawled yet */
.mls-images-syncing-placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 160px;
	padding: 24px 16px;
	box-sizing: border-box;
	background: #f3f3f3;
	border: 1px dashed #bbb;
	text-align: center;
}
.mls-images-syncing-placeholder img {
	max-width: 100%;
	height: auto;
	display: block;
	margin: 0 auto 12px;
}
.mls-images-syncing-placeholder .property-info-mls-image-note {
	margin: 0;
	font-size: 14px;
	max-width: 28em;
}

/* Credits popup: Stripe field labels are plain text (not feature-option cards) */
#popup .purchase .stripe-card-fields label {
	display: block;
	padding: 0;
	margin: 12px 0 4px;
	background: none;
	border: none;
	border-radius: 0;
	box-shadow: none;
	transform: none;
	cursor: default;
	opacity: 1;
	font-size: 14px;
	font-weight: 600;
}
#popup .purchase .stripe-card-fields label:hover,
#popup .purchase .stripe-card-fields label:focus,
#popup .purchase .stripe-card-fields label:active {
	border: none;
	box-shadow: none;
	transform: none;
	background: none;
	opacity: 1;
}

/* MLS client-info modal (post-login / NEW email CTA) */
#popup_dialog.popup_mls_client_info {
	max-width: 560px;
}
.mls-client-info-modal {
	padding: 4px 0 8px;
}
.mls-client-info-intro {
	margin: 0 0 18px;
	font-size: 15px;
	line-height: 1.4;
}
.mls-client-info-property {
	margin: 0 0 8px;
}
.mls-client-info-address {
	font-size: 16px;
	font-weight: 600;
	margin: 0 0 4px;
	line-height: 1.3;
}
.mls-client-info-meta {
	margin: 0 0 12px;
	font-size: 13px;
	font-weight: 400;
	color: #666;
	line-height: 1.4;
}
.mls-client-info-meta-sep {
	color: #bbb;
}
.mls-client-info-modal label {
	display: block;
	margin: 0 0 4px;
	font-size: 13px;
	font-weight: 600;
}
.mls-client-info-modal label.mls-client-info-required {
	color: #c62828;
}
.mls-client-info-modal .line {
	margin: 0 0 12px;
}
.mls-client-info-modal input.text {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}
.mls-client-info-modal input.text.error {
	border-color: #c62828;
}
.mls-client-info-errors {
	margin: 0 0 12px;
	padding: 8px 12px;
	background: #fdecea;
	border: 1px solid #f5c6cb;
	color: #c62828;
	font-size: 13px;
}
.mls-client-info-errors ul {
	margin: 0;
	padding-left: 18px;
}
.mls-client-info-actions {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 10px;
	margin-top: 4px;
}
.mls-client-info-btn {
	display: block;
	width: 100%;
	box-sizing: border-box;
	text-align: center;
}
.mls-client-info-divider {
	margin: 18px 0;
	border: 0;
	border-top: 1px solid #ddd;
}
.mls-client-info-skip-wrap {
	margin-top: 14px;
	text-align: center;
}
.mls-client-info-skip {
	display: inline-block;
	font-size: 13px;
	color: #666;
	text-decoration: underline;
}
.mls-client-info-skip:hover {
	color: #333;
}
.mls-client-info-skip-note {
	margin: 6px 0 0;
	font-size: 12px;
	color: #666;
	line-height: 1.4;
	text-align: center;
}
.mls-skipped-confirm {
	padding: 4px 0 8px;
	text-align: center;
}
.mls-skipped-confirm-lead {
	margin: 0 0 12px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
}
.mls-skipped-confirm-note {
	margin: 0 0 18px;
	font-size: 14px;
	color: #555;
	line-height: 1.45;
}
.mls-skipped-confirm-actions {
	margin: 0;
}
#popup_dialog.popup_mls_skipped_confirm,
#popup_dialog.popup_mls_map_type {
	max-width: 480px;
}
.mls-map-type-actions {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}
.mls-map-type-actions .button {
	margin: 0;
}
.mls-activate-skip {
	margin-left: 8px;
	vertical-align: middle;
}
.mls-activate-skip-wrap {
	margin-top: 8px;
}
.mls-activate-skip-wrap .mls-activate-skip {
	margin-left: 0;
	display: block;
	width: 100%;
	box-sizing: border-box;
	text-align: center;
}

/* Skipped MLS Listings (agent dashboard, below Active) */
.mls-skipped-listings {
	margin: 28px 0 16px;
}
.mls-skipped-header {
	margin-bottom: 8px;
}
/* Reset global button styles — no black hover fill / layout jump */
.mls-skipped-toggle,
.mls-skipped-toggle:hover,
.mls-skipped-toggle:focus,
.mls-skipped-toggle:active,
.mls-skipped-toggle.is-expanded {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	box-sizing: border-box;
	margin: 0;
	padding: 4px 8px;
	border: 1px solid transparent;
	border-radius: 3px;
	background: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	cursor: pointer;
	font: inherit;
	line-height: 1.3;
	-webkit-appearance: none;
	appearance: none;
	outline: none;
}
.mls-skipped-toggle:hover,
.mls-skipped-toggle.is-expanded,
.mls-skipped-toggle[aria-expanded='true'] {
	border-color: var(--agent-bg-color1, #009901);
}
/* Expanded + hover → agent color 2 for border, −, title, and count */
.mls-skipped-toggle.is-expanded:hover,
.mls-skipped-toggle[aria-expanded='true']:hover {
	border-color: var(--agent-bg-color2, #000000);
	color: var(--agent-bg-color2, #000000) !important;
}
.mls-skipped-toggle.is-expanded:hover .mls-skipped-toggle-icon,
.mls-skipped-toggle.is-expanded:hover .mls-skipped-title,
.mls-skipped-toggle[aria-expanded='true']:hover .mls-skipped-toggle-icon,
.mls-skipped-toggle[aria-expanded='true']:hover .mls-skipped-title {
	color: var(--agent-bg-color2, #000000) !important;
}
.mls-skipped-toggle:focus-visible {
	outline: 2px solid var(--agent-bg-color1, #009901);
	outline-offset: 2px;
}
.mls-skipped-toggle-icon {
	color: var(--agent-bg-color1, #009901);
	flex: 0 0 auto;
}
.mls-skipped-toggle-icon::before {
	content: '+';
	display: inline-block;
	width: 1.1em;
	font-weight: 700;
	line-height: 1;
	color: inherit;
}
.mls-skipped-toggle.is-expanded .mls-skipped-toggle-icon::before,
.mls-skipped-toggle[aria-expanded='true'] .mls-skipped-toggle-icon::before {
	content: '\2212';
}
.mls-skipped-title {
	font-size: 1.25em;
	font-weight: 600;
}
.mls-skipped-body[hidden] {
	display: none !important;
}
.mls-skipped-table {
	margin-top: 8px;
}
.agent_dashboard_mobile .mls-skipped-table {
	margin-bottom: 12px;
}

/* Notifications bell (nav utilities row: agent + coordinator) */
#notice_bell_wrap {
	display: inline-flex;
	align-items: center;
}

#notice_bell_wrap.notice-bell-loading {
	opacity: 0.6;
}

#notice_bell_wrap {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
}

.notice-bell {
	position: relative;
	display: inline-flex;
	align-items: center;
}

body.agent .navigation_area.agent-nav .notice-bell .notice-bell-toggle,
body.x_agent .navigation_area.agent-nav .notice-bell .notice-bell-toggle,
body.coordinator .navigation_area.coordinator-nav .notice-bell .notice-bell-toggle {
	position: relative;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
}

.notice-bell.notice-bell-quiet .notice-bell-toggle {
	opacity: 0.75;
}

.notice-bell.notice-bell-quiet .notice-bell-toggle:hover,
.notice-bell.notice-bell-open .notice-bell-toggle {
	opacity: 1;
}

.notice-bell-badge {
	position: absolute;
	top: 2px;
	right: 0;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	background: #c62828;
	color: #ffffff;
	font-size: 10px;
	font-weight: 700;
	line-height: 16px;
	text-align: center;
	border-radius: 8px;
	z-index: 1;
	pointer-events: none;
}

.notice-bell-dropdown {
	display: none;
	position: absolute;
	top: 100%;
	right: 0;
	z-index: 1050;
	width: 320px;
	max-width: 88vw;
	margin-top: 6px;
	background: #ffffff;
	border: 1px solid #d5d5d5;
	border-radius: 4px;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
	text-align: left;
}

.notice-bell.notice-bell-open .notice-bell-dropdown {
	display: block;
}

.notice-bell-head {
	padding: 10px 14px;
	border-bottom: 1px solid #eeeeee;
	color: #333333;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.notice-bell-none {
	padding: 16px 14px;
	color: #777777;
	font-size: 13px;
}

.notice-bell-list {
	max-height: 340px;
	margin: 0;
	padding: 0;
	overflow-y: auto;
	list-style: none;
}

.notice-bell-list > li + li {
	border-top: 1px solid #f1f1f1;
}

.notice-bell-list > li > a {
	display: block;
	padding: 11px 14px;
	color: #333333;
	font-size: 13px;
	line-height: 1.35;
	text-decoration: none;
}

.notice-bell-list > li > a:hover,
.notice-bell-list > li > a:focus {
	background: #f6f6f6;
	color: #000000;
	text-decoration: none;
}

.notice-bell-list > li > a > i {
	width: 18px;
	margin-right: 6px;
	color: #888888;
	text-align: center;
}

/* Past-due agent tasks / COE — same red as dashboard timeline_overdue cells */
.notice-bell-list > li.notice-bell-overdue > a {
	background: #FF9999;
	color: #333333;
}

.notice-bell-list > li.notice-bell-overdue > a:hover,
.notice-bell-list > li.notice-bell-overdue > a:focus {
	background: #ff8888;
	color: #000000;
}

.notice-bell-list > li.notice-bell-overdue > a > i {
	color: #663333;
}

/* Low free-credit bell rows (amber ≤20%, red ≤10%) */
.notice-bell-list > li.notice-bell-credit-amber > a {
	background: #FFE08A;
	color: #333333;
}

.notice-bell-list > li.notice-bell-credit-amber > a:hover,
.notice-bell-list > li.notice-bell-credit-amber > a:focus {
	background: #ffd666;
	color: #000000;
}

.notice-bell-list > li.notice-bell-credit-amber > a > i {
	color: #8a6d1d;
}

.notice-bell-list > li.notice-bell-credit-red > a {
	background: #FF9999;
	color: #333333;
}

.notice-bell-list > li.notice-bell-credit-red > a:hover,
.notice-bell-list > li.notice-bell-credit-red > a:focus {
	background: #ff8888;
	color: #000000;
}

.notice-bell-list > li.notice-bell-credit-red > a > i {
	color: #663333;
}

/* OCR contract confirm / parse error — same red as overdue / timeline_overdue */
.notice-bell-list > li.notice-bell-item-red > a {
	background: #FF9999;
	color: #333333;
}

.notice-bell-list > li.notice-bell-item-red > a:hover,
.notice-bell-list > li.notice-bell-item-red > a:focus {
	background: #ff8888;
	color: #000000;
}

.notice-bell-list > li.notice-bell-item-red > a > i {
	color: #663333;
}

.notice-bell.notice-bell-pulse .notice-bell-toggle {
	animation: notice-bell-pulse 0.9s ease-in-out 2;
}

@keyframes notice-bell-pulse {
	0%   { transform: scale(1); }
	40%  { transform: scale(1.28); }
	70%  { transform: scale(0.96); }
	100% { transform: scale(1); }
}

/* Welcome / Key Dates red-box actions */
.notice-red-box .notice-contact-row {
	margin: 12px 0 4px;
	text-align: center;
}

.notice-red-box .notice-contact-name {
	font-weight: 600;
	margin-bottom: 8px;
}

.notice-red-box .notice-contact-status {
	margin: 6px 0 10px;
}

.notice-red-box .notice-welcome-recipients {
	margin: 12px 0 4px;
	text-align: center;
}

.notice-red-box .notice-welcome-recipients-label {
	font-weight: 600;
	margin-bottom: 6px;
}

.notice-red-box .notice-welcome-recipients-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.notice-red-box .notice-welcome-recipients-list li {
	margin: 2px 0;
}

.notice-action-buttons {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin: 10px 0 4px;
	text-align: center;
}

.notice-action-buttons > a.button {
	display: inline-block !important;
	margin: 0 !important;
	padding: 10px 16px !important;
	vertical-align: middle;
	white-space: nowrap;
}

/* Credit Request modal: bulleted asks; helper copy stays unbulleted */
.credit-request-notice .credit-request-summary {
	margin: 4px 0 6px;
}

.credit-request-notice .credit-request-list {
	margin: 4px 0 12px;
	padding-left: 1.35em;
	list-style: disc;
}

.credit-request-notice .credit-request-list > li {
	margin: 6px 0;
	line-height: 1.4;
}

/* Credit Request: primary CTA on its own row; Snooze / Permanently dismiss below */
.credit-request-actions .credit-request-dismiss-row {
	margin-top: 4px;
}

/* Buy credits: pick N of M pending asks to clear/notify */
.credit-request-pick {
	margin: 12px 0;
	padding: 10px 12px;
	border: 1px solid rgba(0,0,0,0.1);
	background: rgba(0,0,0,0.02);
}

.credit-request-pick-head {
	margin-bottom: 8px;
	font-size: 13px;
	line-height: 1.35;
}

.credit-request-pick-row {
	margin: 4px 0;
	font-size: 13px;
	line-height: 1.35;
}

.credit-request-pick-row label {
	display: block;
	font-weight: normal;
	cursor: pointer;
}

/* Dashboard welcome-email popup: Send + Cancel side by side */
.popup-welcome-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin-top: 10px;
	text-align: center;
}

.popup-welcome-actions .button,
.popup-welcome-actions input.button {
	margin: 0 !important;
}

.popup-welcome-resend-warning {
	margin: 10px 0 15px;
}

/* Sidebar Key Dates: last-sent line + re-send CTA
   Beat .sidebar A.button.button-colorswap-primary { width:100% !important; padding:15px !important; height:52px } */
.key-dates-sent-status {
	margin-top: 12px;
	padding-top: 10px;
	border-top: 1px solid rgba(0,0,0,0.08);
}

.key-dates-sent-status .key-dates-sent-line {
	margin-bottom: 8px;
	font-size: 13px;
	line-height: 1.35;
	text-align: center;
}

.sidebar .key-dates-sent-status A.button,
.sidebar .key-dates-sent-status A.button.button-colorswap-primary,
.sidebar .key-dates-sent-status A.button.button-colorswap-primary:hover,
.sidebar .key-dates-sent-status A.button.button-colorswap-primary:focus,
.sidebar .key-dates-sent-status A.button.button-colorswap-primary:active {
	display: block !important;
	width: 50% !important;
	max-width: 50% !important;
	height: auto !important;
	margin: 0 auto 10px auto !important;
	padding: 7px !important;
	box-sizing: border-box !important;
	text-align: center;
	font-size: 14px !important;
	line-height: 1.3 !important;
}

/* Mobile/tablet: the utilities row collapses into the menu, but the bell stays reachable */
@media (max-width: 1199px) {
	body.agent .navigation_area.agent-nav .agent-nav-utilities,
	body.x_agent .navigation_area.agent-nav .agent-nav-utilities,
	body.coordinator .navigation_area.coordinator-nav .coordinator-nav-utilities {
		display: flex !important;
		order: 2;
		margin-left: auto;
		margin-right: 10px;
	}

	/* Hide settings/logout icons only — bell lives in #notice_bell_wrap, not a direct > a */
	body.agent .navigation_area.agent-nav .agent-nav-utilities > a.agent-nav-icon,
	body.x_agent .navigation_area.agent-nav .agent-nav-utilities > a.agent-nav-icon,
	body.coordinator .navigation_area.coordinator-nav .coordinator-nav-utilities > a.coordinator-nav-icon {
		display: none !important;
	}

	body.agent .navigation_area.agent-nav .navbar-toggle,
	body.x_agent .navigation_area.agent-nav .navbar-toggle,
	body.coordinator .navigation_area.coordinator-nav .navbar-toggle {
		order: 3;
	}
}

/* Desktop: force utility icons visible (beats any leaked tablet hide rules) */
@media (min-width: 1200px) {
	body.agent .navigation_area.agent-nav .agent-nav-utilities > a.agent-nav-icon,
	body.x_agent .navigation_area.agent-nav .agent-nav-utilities > a.agent-nav-icon,
	body.coordinator .navigation_area.coordinator-nav .coordinator-nav-utilities > a.coordinator-nav-icon {
		display: inline-flex !important;
	}
}

@media (max-width: 767px) {
	.notice-bell-dropdown {
		width: 280px;
	}
}

/* Compose-email static preview (welcome / reminder / key dates / invite / ask agent) */
.email-compose-preview {
	margin: 12px 0 16px;
	padding: 12px 14px;
	border: 1px solid rgba(0,0,0,0.12);
	border-radius: 4px;
	background: #fafafa;
	font-size: 13px;
	line-height: 1.45;
	color: #333;
}
.email-compose-preview-label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #666;
	margin-bottom: 8px;
}
.email-compose-preview-subject {
	margin-bottom: 8px;
}
.email-compose-preview-body p {
	margin: 0 0 6px;
}
.email-compose-preview-note {
	font-style: italic;
	color: #2c7be5;
	margin: 8px 0 !important;
}
.email-compose-preview-list {
	font-style: italic;
	color: #666;
}
.email-compose-preview-cta {
	margin-top: 10px;
}
.email-compose-preview-cta-chip {
	display: inline-block;
	margin: 0 6px 6px 0;
	padding: 4px 10px;
	border-radius: 3px;
	background: #e8e8e8;
	font-size: 12px;
	font-weight: 600;
}

/* DRE lock (agent settings / signup / TC add agent) */
.dre-lock-warning {
	color: #c00;
	font-size: 13px;
	line-height: 1.4;
	margin: 6px 0 8px;
}
.dre-lock-confirm {
	display: block;
	font-weight: normal;
	font-size: 13px;
	line-height: 1.4;
	margin: 6px 0 8px;
}
/* admin.css bumps checkbox margin on LABEL:hover — kills the indent jump */
.dre-lock-confirm INPUT.checkbox,
LABEL.dre-lock-confirm:hover INPUT.checkbox,
.dre-lock-confirm:hover INPUT.checkbox {
	margin: 0 6px 0 0 !important;
	display: inline-block;
}
.dre-lock-readonly .dre-lock-contact {
	margin-top: 6px;
}
.dre-lock-readonly .dre-lock-contact a {
	font-size: 13px;
}

/* Stripe register/buy forms: hide empty error box under ZIP */
#card-error:empty {
	display: none;
}

/* ------------------------------------------------------------------
   Mobile dashboard: highlight the deal being edited (secondary colors)
   Pencil → Client Info / Property Info / Agent Notifications + the
   active transaction card. Match dashboard mobile breakpoint (<992).
   JS class-swaps agent_bg_color1→2 / button primary↔secondary.
   One border wraps deal card + edit forms; gap sits after the box.
   ------------------------------------------------------------------ */
/* Add New Client close lives in EditUser markup; hide on desktop */
.edit-user-new-close {
	display: none;
}
@media (max-width: 991px) {
	/* Keep normal spacing between deals when not editing */
	.agent_dashboard_mobile .edit-user-mobile-group {
		margin-bottom: 75px;
	}

	/* Collapse the usual per-table gap so card + edit forms sit flush */
	.agent_dashboard_mobile .edit-user-mobile-group > TABLE.listing {
		margin-bottom: 0 !important;
	}

	/* Empty edit slot should not leave a phantom gap when closed */
	.agent_dashboard_mobile .edit-user-mobile-slot:not(.editing-mode) {
		margin: 0;
		padding: 0;
		border: 0;
	}
	.agent_dashboard_mobile .edit-user-mobile-slot:not(.editing-mode) > tbody > tr > td {
		padding: 0;
		border: 0;
		line-height: 0;
	}

	/* Extra gap after the expanded deal (outline lives on .edit-user-accordion-root) */
	.agent_dashboard_mobile .edit-user-mobile-group.editing-mode,
	.edit-user-shared-container.editing-mode {
		padding: 0;
		margin-bottom: 140px !important;
	}

	/* Tighten space under Agent Notifications / Save & Close inside the box */
	.agent_dashboard_mobile .edit-user-mobile-group.editing-mode .edit-user-mobile-slot,
	.agent_dashboard_mobile .edit-user-mobile-group.editing-mode .edit-user-mobile-slot > tbody > tr > td,
	.agent_dashboard_mobile .edit-user-mobile-group.editing-mode div[id*="EditUserContainer"],
	.agent_dashboard_mobile .edit-user-mobile-group.editing-mode .agent_dashboard,
	.agent_dashboard_mobile .edit-user-mobile-group.editing-mode TABLE.listing.editing,
	.edit-user-shared-container.editing-mode .agent_dashboard,
	.edit-user-shared-container.editing-mode TABLE.listing.editing {
		margin-bottom: 0 !important;
		padding-bottom: 0;
	}
	.agent_dashboard_mobile .edit-user-mobile-group.editing-mode TABLE.listing.editing TR.footer_actions > TD,
	.edit-user-shared-container.editing-mode TABLE.listing.editing TR.footer_actions > TD {
		padding-bottom: 12px;
	}

	/* Add Contact sits below Agent Notifications, above Save & Close */
	.agent_dashboard_mobile .edit-user-mobile-group.editing-mode TABLE.listing.editing TR.edit-user-add-contact-row > TD,
	.edit-user-shared-container.editing-mode TABLE.listing.editing TR.edit-user-add-contact-row > TD,
	TABLE.listing.editing TR.edit-user-add-contact-row > TD {
		padding-top: 9px !important;
		padding-bottom: 8px !important;
	}
	.agent_dashboard_mobile .edit-user-mobile-group.editing-mode TABLE.listing.editing.edit-user-property-info,
	.edit-user-shared-container.editing-mode TABLE.listing.editing.edit-user-property-info,
	TABLE.listing.editing.edit-user-property-info {
		margin-top: 28px !important;
	}

	/* Expand action controls + Cancel stay on agent color 1 (keep-agent-color1).
	   Save & Close uses secondary (color2). */
	.agent_dashboard_mobile .edit-user-mobile-group.editing-mode .keep-agent-color1.agent_bg_color1,
	.agent_dashboard_mobile .edit-user-mobile-group.editing-mode .keep-agent-color1.agent_bg_color2,
	.agent_dashboard_mobile .edit-user-mobile-group.editing-mode .keep-agent-color1.button-colorswap-primary,
	.agent_dashboard_mobile .edit-user-mobile-group.editing-mode .keep-agent-color1.button-colorswap-secondary,
	.agent_dashboard_mobile .edit-user-mobile-group.editing-mode .keep-agent-color1.icon-link-colorswap-primary,
	.agent_dashboard_mobile .edit-user-mobile-group.editing-mode .keep-agent-color1.icon-link-colorswap-secondary,
	.edit-user-shared-container.editing-mode .keep-agent-color1.agent_bg_color1,
	.edit-user-shared-container.editing-mode .keep-agent-color1.agent_bg_color2,
	.edit-user-shared-container.editing-mode .keep-agent-color1.button-colorswap-primary,
	.edit-user-shared-container.editing-mode .keep-agent-color1.button-colorswap-secondary,
	.edit-user-shared-container.editing-mode .keep-agent-color1.icon-link-colorswap-primary,
	.edit-user-shared-container.editing-mode .keep-agent-color1.icon-link-colorswap-secondary {
		background-color: var(--agent-bg-color1, #009901) !important;
		color: var(--agent-fg-color1, #ffffff) !important;
	}

	/* Add New Client close in shared container (outside .agent_dashboard_mobile) */
	.edit-user-shared-container .client-thumb-expand-head {
		position: relative;
		padding-right: 44px !important;
	}
	.edit-user-shared-container .edit-user-new-close {
		display: block;
		position: absolute;
		top: 50%;
		right: 8px;
		transform: translateY(-50%);
		margin: 0;
		padding: 0;
		border: 0;
		background: transparent;
		color: #fff;
		font-size: 28px;
		line-height: 1;
		cursor: pointer;
		-webkit-appearance: none;
		appearance: none;
		z-index: 2;
	}
	.edit-user-shared-container .edit-user-new-close:hover,
	.edit-user-shared-container .edit-user-new-close:focus {
		color: #fff;
		opacity: 0.85;
		outline: none;
	}
}

/* ------------------------------------------------------------------
   Shared list filter + search (agents + coordinators, desktop + mobile).
   Canonical desktop control width matches Purchases search (470px).
   ------------------------------------------------------------------ */
.list-search-wrap,
.client-thumb-search-wrap {
	margin: 0 0 20px;
}
.list-search-heading,
.client-thumb-search-heading,
.list-filter-label,
.vendor-type-filter-label,
.agents-status-filter-label,
.activity-log-performed-filter-label {
	display: block;
	margin: 0 0 8px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	color: #000;
}
.list-search,
.client-thumb-search {
	width: 100%;
	max-width: 470px;
	box-sizing: border-box;
	padding: 10px 12px;
	font-size: 16px;
	line-height: 1.3;
	border: 1px solid #bbb;
	border-radius: 4px;
	background: #fff;
	color: #222;
}
.list-search-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 14px;
}
.list-search-row .list-search,
.list-search-row .client-thumb-search {
	width: auto;
	flex: 1 1 200px;
	min-width: 0;
	max-width: 470px;
}
.list-search-facet {
	flex: 0 0 auto;
	width: auto;
	min-width: 140px;
	max-width: 200px;
	box-sizing: border-box;
	padding: 10px 12px;
	font-size: 16px;
	line-height: 1.3;
	border: 1px solid #bbb;
	border-radius: 4px;
	background: #fff;
	color: #222;
}
.list-search-clear {
	display: none;
	flex: 0 0 auto;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.3;
	text-decoration: underline;
	white-space: nowrap;
}
.list-search-wrap.has-query .list-search-clear {
	display: inline;
}
.list-search-item.list-search-hidden {
	display: none !important;
}
.list-search-no-matches,
.client-thumb-no-matches {
	margin: 0 0 20px;
	color: #666;
	font-style: italic;
}
.list-search-toolbar {
	margin: 0 0 12px;
}
.list-search-toolbar .list-search-add {
	margin-bottom: 12px;
	text-align: center;
}

/* Filter blocks sit 25px above Search */
.list-filter,
.vendor-type-filter,
.agents-status-filter,
.past-deal-status-filter,
.activity-log-performed-filter {
	margin: 0 0 25px;
}
body.admin .admin-list-filter {
	margin: 0 0 25px;
}
body.admin .list-search-root > TABLE.listing {
	margin-top: 0;
}
body.admin .billing-lineage.list-search-root > TABLE.listing {
	margin-top: 0;
}
/* Active filter reminder (below search, above table) */
.list-filter-active-heading {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px 14px;
	margin: 0 0 14px;
}
.list-filter-active-title {
	margin: 0;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.3;
}
.list-filter-clear {
	font-size: 13px;
	font-weight: 400;
	line-height: 1.3;
	text-decoration: underline;
	white-space: nowrap;
}
.list-filter select,
.list-filter .list-filter-select,
.vendor-type-filter select,
.vendor-type-filter .vendor-type-filter-select,
.agents-status-filter select,
.agents-status-filter .agents-status-filter-select,
.past-deal-status-filter select,
.activity-log-performed-filter select {
	display: block;
	width: 100%;
	max-width: 470px;
	box-sizing: border-box;
	padding: 10px 12px;
	font-size: 16px;
	line-height: 1.3;
	border: 1px solid #bbb;
	border-radius: 4px;
	background: #fff;
	color: #222;
	margin: 0;
	-webkit-appearance: none;
	appearance: none;
}
/* Keep filter chrome stable on hover/focus (global table-select hover must not leak in) */
.agent_dashboard .list-filter select,
.agent_dashboard .list-filter select:hover,
.agent_dashboard .list-filter select:focus,
.agent_dashboard .past-deal-status-filter select,
.agent_dashboard .past-deal-status-filter select:hover,
.agent_dashboard .past-deal-status-filter select:focus,
.list-filter select:hover,
.list-filter select:focus,
.past-deal-status-filter select:hover,
.past-deal-status-filter select:focus,
.vendor-type-filter select:hover,
.vendor-type-filter select:focus,
.agents-status-filter select:hover,
.agents-status-filter select:focus,
.activity-log-performed-filter select:hover,
.activity-log-performed-filter select:focus {
	padding: 10px 12px;
	margin: 0;
	border: 1px solid #bbb;
	border-radius: 4px;
	background: #fff;
	color: #222;
	outline: none;
	box-shadow: none;
}

/* Credits: coordinators keep side-by-side filters; agents use stacked standard filter */
.credits-status-filter.list-filter {
	margin: 0 0 25px;
}
body.coordinator .credits-filter-group .list-filter-label {
	display: inline;
	margin: 0;
}
body.coordinator .credits-status-filter select {
	display: inline-block;
	width: auto;
	min-width: 140px;
	max-width: 470px;
	padding: 10px 12px;
	font-size: 16px;
	line-height: 1.3;
	border: 1px solid #bbb;
	border-radius: 4px;
	background: #fff;
	color: #222;
	box-sizing: border-box;
	margin: 0;
	vertical-align: middle;
	-webkit-appearance: none;
	appearance: none;
}
body.coordinator .credits-status-filter select:hover,
body.coordinator .credits-status-filter select:focus {
	padding: 10px 12px;
	margin: 0;
	border: 1px solid #bbb;
	background: #fff;
	outline: none;
	box-shadow: none;
}
/* Agent credits: match other stacked filters (label above, 470px select) */
body.agent .credits-status-filter-form {
	display: block;
}
body.agent .credits-filter-group:not(.credits-clear-filters-wrap) {
	display: block;
}
body.agent .credits-filter-group .list-filter-label {
	display: block;
	margin: 0 0 8px;
}
body.agent .credits-status-filter select {
	display: block;
	width: 100%;
	max-width: 470px;
	min-width: 0;
	padding: 10px 12px;
	font-size: 16px;
	line-height: 1.3;
	border: 1px solid #bbb;
	border-radius: 4px;
	background: #fff;
	color: #222;
	box-sizing: border-box;
	margin: 0;
	-webkit-appearance: none;
	appearance: none;
}
body.agent .credits-status-filter select:hover,
body.agent .credits-status-filter select:focus {
	padding: 10px 12px;
	margin: 0;
	border: 1px solid #bbb;
	background: #fff;
	outline: none;
	box-shadow: none;
}
body.agent .credits-clear-filters-wrap {
	display: block;
	margin-top: 10px;
}

/* Kill global .agent_dashboard{margin:50px 0} between filter / search / table */
.list-search-root .agent_dashboard,
.list-search-root > form > .agent_dashboard,
.list-search-root > [class*="hidden-"] > .agent_dashboard,
.list-search-root > [class*="hidden-"] > form > .agent_dashboard,
.billing-lineage.list-search-root > [class*="hidden-"] > .agent_dashboard,
.billing-lineage.list-search-root > .visible-sm > .agent_dashboard,
.billing-lineage.list-search-root > .visible-xs > .agent_dashboard,
.agents-list-search.list-search-root,
.list-filter + div > .list-search-root.agent_dashboard,
.list-search-root.agent_dashboard_mobile,
.vendors-manage-list.list-search-root.agent_dashboard {
	margin-top: 0;
	margin-bottom: 0;
}

/* My Agents: Add New above filter */
.agents-page-add {
	margin: 12px 0 20px;
	text-align: center;
}

@media (max-width: 1199px) {
	.list-search-row .list-search,
	.list-search-row .client-thumb-search,
	.list-search,
	.client-thumb-search,
	.list-filter select,
	.list-filter .list-filter-select,
	.vendor-type-filter select,
	.vendor-type-filter .vendor-type-filter-select,
	.agents-status-filter select,
	.agents-status-filter .agents-status-filter-select,
	.past-deal-status-filter select,
	.activity-log-performed-filter select,
	.credits-status-filter select,
	.agent_dashboard_mobile .list-search,
	.agent_dashboard_mobile .client-thumb-search,
	.vendor-perf-mobile .list-filter select,
	.vendor-perf-mobile .vendor-type-filter select {
		max-width: none;
	}
	/* Credits mobile: two filters share one row (45% / 10% gap / 45%) */
	.credits-status-filter-form {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-end;
		width: 100%;
		gap: 0;
	}
	body.coordinator .credits-status-filter-form {
		justify-content: space-between;
	}
	body.coordinator .credits-status-filter .credits-filter-group:not(.credits-clear-filters-wrap) {
		flex: 0 0 45%;
		width: 45%;
		max-width: 45%;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
		box-sizing: border-box;
	}
	body.agent .credits-status-filter .credits-filter-group:not(.credits-clear-filters-wrap) {
		flex: 0 0 100%;
		width: 100%;
		max-width: 100%;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
	}
	.credits-status-filter .credits-filter-group .list-filter-label {
		display: block;
		margin: 0;
	}
	.credits-status-filter select {
		width: 100%;
		max-width: none;
		display: block;
	}
	.credits-status-filter .credits-clear-filters-wrap {
		flex: 0 0 100%;
		width: 100%;
		max-width: 100%;
		margin-top: 12px;
	}
}

/* ------------------------------------------------------------------
   Mobile client thumbnail grid (agents + coordinators, <992)
   BUYER → color1, SELLER → color2. Search filters only (no auto-expand).
   ------------------------------------------------------------------ */
@media (max-width: 991px) {
	.agent_dashboard_mobile .client-thumb-grid {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 10px;
		margin: 0 0 18px;
	}
	.agent_dashboard_mobile .client-thumb {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		position: relative;
		aspect-ratio: 1 / 1;
		width: 100%;
		margin: 0;
		padding: 10px 8px 14px;
		/* Fixed dark edge so white (or near-white) primary colors still read as squares */
		border: 1px solid #666;
		border-radius: 6px;
		box-sizing: border-box;
		text-align: center;
		cursor: pointer;
		overflow: hidden;
		-webkit-appearance: none;
		appearance: none;
		line-height: 1.25;
		font: inherit;
		gap: 3px;
		/* All thumbs use color1; expand chrome uses color2 */
		background-color: var(--agent-bg-color1, #009901);
		color: var(--agent-fg-color1, #ffffff);
	}
	.agent_dashboard_mobile .client-thumb-name,
	.agent_dashboard_mobile .client-thumb-agent,
	.agent_dashboard_mobile .client-thumb-address,
	.agent_dashboard_mobile .client-thumb-type,
	.agent_dashboard_mobile .client-thumb-mls,
	.agent_dashboard_mobile .client-thumb-coe {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		overflow: hidden;
		word-break: break-word;
		max-width: 100%;
	}
	.agent_dashboard_mobile .client-thumb-name {
		-webkit-line-clamp: 2;
		font-weight: 600;
		font-size: 17px;
	}
	.agent_dashboard_mobile .client-thumb-agent {
		-webkit-line-clamp: 1;
		font-size: 13px;
		font-weight: 400;
		opacity: 0.9;
	}
	.agent_dashboard_mobile .client-thumb-address {
		-webkit-line-clamp: 2;
		font-size: 14px;
		font-weight: 600;
		opacity: 0.95;
	}
	.agent_dashboard_mobile .client-thumb-type {
		-webkit-line-clamp: 1;
		font-size: 14px;
		font-weight: 400;
		opacity: 0.95;
	}
	.agent_dashboard_mobile .client-thumb-mls {
		-webkit-line-clamp: 1;
		font-size: 14px;
		font-weight: 400;
		opacity: 0.9;
	}
	.agent_dashboard_mobile .client-thumb-coe {
		-webkit-line-clamp: 1;
		font-size: 13px;
		font-weight: 400;
		opacity: 0.95;
		margin-top: 2px;
	}
	/* Coordinator thumbs: name/agent/MLS regular; address + COE emphasized */
	body.coordinator .agent_dashboard_mobile .client-thumb-name {
		font-size: 13px;
		font-weight: 400;
	}
	body.coordinator .agent_dashboard_mobile .client-thumb-address {
		font-weight: 600;
	}
	body.coordinator .agent_dashboard_mobile .client-thumb-mls {
		font-weight: 400;
	}
	body.coordinator .agent_dashboard_mobile .client-thumb-coe {
		font-weight: 600;
	}
	/* Dark track/fill + light border so the meter reads on white (and dark) color1 */
	.agent_dashboard_mobile .client-thumb-progress {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		display: block;
		width: 100%;
		height: 4px;
		box-sizing: border-box;
		border: 1px solid rgba(255, 255, 255, 0.35);
		background: rgba(0, 0, 0, 0.18);
		overflow: hidden;
		pointer-events: none;
	}
	.agent_dashboard_mobile .client-thumb-progress-fill {
		display: block;
		height: 100%;
		min-width: 0;
		max-width: 100%;
		box-sizing: border-box;
		background: var(--agent-bg-color2, #006600);
	}
	/* COE due / overdue — same yellow/red as dashboard timeline cells */
	.agent_dashboard_mobile .client-thumb.client-thumb-due {
		background-color: #FFFFCC !important;
		color: #000000 !important;
	}
	.agent_dashboard_mobile .client-thumb.client-thumb-overdue {
		background-color: #FF9999 !important;
		color: #000000 !important;
	}
	.agent_dashboard_mobile .client-thumb.client-thumb-due .client-thumb-progress,
	.agent_dashboard_mobile .client-thumb.client-thumb-overdue .client-thumb-progress {
		background: rgba(0, 0, 0, 0.12);
	}
	.agent_dashboard_mobile .client-thumb.client-thumb-due .client-thumb-progress-fill,
	.agent_dashboard_mobile .client-thumb.client-thumb-overdue .client-thumb-progress-fill {
		background: rgba(0, 0, 0, 0.55);
	}
	.agent_dashboard_mobile .client-thumb.is-selected {
		box-shadow: 0 0 0 3px #fff, 0 0 0 5px #222;
	}
	.agent_dashboard_mobile .client-thumb-no-matches {
		margin: 0 0 18px;
		padding: 12px;
		text-align: center;
		color: #666;
		font-size: 14px;
	}
	/* Close lives in the colored card header (no separate bar / gap above the border) */
	.agent_dashboard_mobile .client-thumb-expand-head {
		position: relative;
		padding-right: 44px !important;
	}
	.agent_dashboard_mobile .client-thumb-close {
		position: absolute;
		top: 50%;
		right: 8px;
		transform: translateY(-50%);
		margin: 0;
		padding: 0;
		border: 0;
		background: transparent;
		color: #fff;
		font-size: 28px;
		line-height: 1;
		cursor: pointer;
		-webkit-appearance: none;
		appearance: none;
		z-index: 2;
	}
	.agent_dashboard_mobile .client-thumb-close:hover,
	.agent_dashboard_mobile .client-thumb-close:focus {
		color: #fff;
		opacity: 0.85;
		outline: none;
	}
	/* Match Activity Log / Archive / View Timeline (and coord Login as Agent) padding */
	.agent_dashboard_mobile .edit-user-mobile-group > TABLE.listing A.button,
	.agent_dashboard_mobile .edit-user-mobile-group > TABLE.listing INPUT.button {
		padding: 6px 10px;
		margin: 0 6px 8px 0;
		vertical-align: middle;
		box-sizing: border-box;
	}
	.agent_dashboard_mobile .client-thumb-due-key {
		margin-top: 12px;
		text-align: left;
	}
	.agent_dashboard_mobile .client-thumb-due-key .key_line {
		margin-top: 4px;
		font-size: 13px;
	}
	/* Collapsed by default; JS adds .is-expanded / show() */
	.agent_dashboard_mobile .edit-user-mobile-group:not(.is-expanded) {
		display: none !important;
	}
	.agent_dashboard_mobile .edit-user-mobile-group.is-expanded {
		display: block !important;
		margin-bottom: 75px;
	}
}

@media (max-width: 480px) {
	.agent_dashboard_mobile .client-thumb-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* ------------------------------------------------------------------
   EditUser accordion cards (desktop + mobile shared markup)
   ------------------------------------------------------------------ */
.edit-user-accordion-root {
	margin: 0 auto 12px;
	max-width: 720px;
	width: 100%;
	/* Shared desktop + mobile: color2 outline around deal header + all cards */
	box-shadow: 0 0 0 3px var(--agent-bg-color2, #000000);
	border-radius: 6px;
	box-sizing: border-box;
}
.edit-user-accordion-card {
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 6px;
	margin-bottom: 5px;
	overflow: hidden;
	background: #fff;
}
.edit-user-accordion-card.is-open {
	margin-bottom: 40px;
}
/* Beat global.css BUTTON/BUTTON:hover (inline-block, font-weight 500, centered text) */
button.edit-user-accordion-head,
button.edit-user-accordion-head:hover,
button.edit-user-accordion-head:focus,
button.edit-user-accordion-head:active {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	text-align: left !important;
	font-weight: bold !important;
	text-transform: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-sizing: border-box;
}
.edit-user-accordion-head {
	display: flex;
	align-items: center;
	justify-content: flex-start !important;
	width: 100%;
	box-sizing: border-box;
	border: 0;
	padding: 10px 12px;
	text-align: left !important;
	cursor: pointer;
	font-weight: bold;
}
.edit-user-accordion-head.agent_bg_color1 {
	background-color: var(--agent-bg-color1, #333333) !important;
	color: var(--agent-fg-color1, #ffffff) !important;
}
.edit-user-accordion-head.agent_bg_color1 .edit-user-accordion-title,
.edit-user-accordion-head.agent_bg_color1 .edit-user-accordion-chevron,
.edit-user-accordion-head.agent_bg_color1 .edit-user-accordion-chevron i {
	color: var(--agent-fg-color1, #ffffff) !important;
}
.edit-user-accordion-head.agent_bg_color1:hover {
	background-color: var(--agent-bg-color2, #000000) !important;
	color: var(--agent-fg-color2, #ffffff) !important;
}
.edit-user-accordion-head.agent_bg_color1:hover .edit-user-accordion-title,
.edit-user-accordion-head.agent_bg_color1:hover .edit-user-accordion-chevron,
.edit-user-accordion-head.agent_bg_color1:hover .edit-user-accordion-chevron i {
	color: var(--agent-fg-color2, #ffffff) !important;
}
/* global.css .editing-mode .agent_bg_color1 forces color2 on headers/icons — reset to color1 until hover */
.editing-mode .edit-user-accordion-head.agent_bg_color1 {
	background-color: var(--agent-bg-color1, #333333) !important;
	color: var(--agent-fg-color1, #ffffff) !important;
}
.editing-mode .edit-user-accordion-head.agent_bg_color1 .edit-user-accordion-title,
.editing-mode .edit-user-accordion-head.agent_bg_color1 .edit-user-accordion-chevron,
.editing-mode .edit-user-accordion-head.agent_bg_color1 .edit-user-accordion-chevron i {
	color: var(--agent-fg-color1, #ffffff) !important;
}
.editing-mode .edit-user-accordion-head.agent_bg_color1:hover {
	background-color: var(--agent-bg-color2, #000000) !important;
	color: var(--agent-fg-color2, #ffffff) !important;
}
.editing-mode .edit-user-accordion-head.agent_bg_color1:hover .edit-user-accordion-title,
.editing-mode .edit-user-accordion-head.agent_bg_color1:hover .edit-user-accordion-chevron,
.editing-mode .edit-user-accordion-head.agent_bg_color1:hover .edit-user-accordion-chevron i {
	color: var(--agent-fg-color2, #ffffff) !important;
}
.edit-user-accordion-head:hover,
.edit-user-accordion-card.is-open .edit-user-accordion-head {
	text-align: left !important;
	justify-content: flex-start !important;
	padding: 10px 12px;
}
.edit-user-accordion-head .edit-user-accordion-title {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	text-align: left !important;
	color: inherit;
	font-weight: bold !important;
}
.edit-user-accordion-attention {
	flex: 0 0 auto;
	width: 8px;
	height: 8px;
	margin-left: 8px;
	border-radius: 50%;
	background: #cc0000;
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.35);
}
.edit-user-accordion-chevron {
	flex: 0 0 auto;
	margin-left: auto !important;
	align-self: center;
	transition: transform 0.2s ease;
	color: inherit;
}
button.edit-user-accordion-head:hover .edit-user-accordion-chevron,
button.edit-user-accordion-head:focus .edit-user-accordion-chevron {
	margin-left: auto !important;
}
.edit-user-accordion-chevron i {
	color: inherit !important;
}
.edit-user-accordion-card.is-open .edit-user-accordion-chevron {
	transform: rotate(180deg);
}
@media (max-width: 991px) {
	/* Accordion section headers: color 1 always on mobile (no hover color 2) */
	.edit-user-accordion-head.agent_bg_color1:hover,
	.editing-mode .edit-user-accordion-head.agent_bg_color1:hover {
		background-color: var(--agent-bg-color1, #333333) !important;
		color: var(--agent-fg-color1, #ffffff) !important;
	}
	.edit-user-accordion-head.agent_bg_color1:hover .edit-user-accordion-title,
	.edit-user-accordion-head.agent_bg_color1:hover .edit-user-accordion-chevron,
	.edit-user-accordion-head.agent_bg_color1:hover .edit-user-accordion-chevron i,
	.editing-mode .edit-user-accordion-head.agent_bg_color1:hover .edit-user-accordion-title,
	.editing-mode .edit-user-accordion-head.agent_bg_color1:hover .edit-user-accordion-chevron,
	.editing-mode .edit-user-accordion-head.agent_bg_color1:hover .edit-user-accordion-chevron i {
		color: var(--agent-fg-color1, #ffffff) !important;
	}
}
.edit-user-accordion-body {
	display: none;
	padding: 0;
}
.edit-user-accordion-card.is-open .edit-user-accordion-body {
	display: block;
}
.edit-user-zebra-body > .edit-user-field-row,
.edit-user-zebra-body > .edit-user-due-legend,
.edit-user-zebra-body > .terms_reference_note,
.edit-user-zebra-body > .edit-user-reminders-sms-block {
	padding: 10px 14px;
	margin: 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
.edit-user-zebra-body > .edit-user-field-row:last-child,
.edit-user-zebra-body > .edit-user-reminders-sms-block:last-child {
	border-bottom: none;
}
.edit-user-field-row {
	margin-bottom: 0;
	line-height: 1.45;
}
.edit-user-field-row.edit-user-field-stacked {
	display: block;
}
.edit-user-field-row.edit-user-field-stacked .edit-user-field-label {
	display: block;
	margin-right: 0;
	margin-bottom: 0.35em;
}
.edit-user-field-row.edit-user-field-stacked .text,
.edit-user-field-row.edit-user-field-stacked select {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}
.edit-user-representing-options label {
	font-weight: normal;
	margin-right: 0.75em;
}
.edit-user-field-label.edit-user-label-required {
	color: #c00;
}
.edit-user-mls-input-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
}
.edit-user-mls-input-row .edit-user-mls-input {
	flex: 1 1 12rem;
	width: 90%;
	max-width: 400px;
	min-width: 8rem;
}
.edit-user-actions-row a {
	font-weight: normal;
	margin: 0;
	vertical-align: middle;
}
.edit-user-field-label {
	font-weight: bold;
	display: inline;
	margin-right: 0.35em;
	vertical-align: baseline;
	min-width: 0;
}
.edit-user-field-row .text,
.edit-user-field-row select {
	max-width: 100%;
}
.edit-user-field-row.edit-user-field-inline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35em 0.5em;
}
.edit-user-field-row.edit-user-field-inline .text,
.edit-user-field-row.edit-user-field-inline select {
	flex: 1 1 10rem;
	min-width: 8rem;
	width: auto;
	max-width: none;
}
.edit-user-reminders-inline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35em 0.85em;
}
.edit-user-reminders-inline .edit-user-reminder-opt {
	font-weight: normal;
	white-space: nowrap;
}
.edit-user-reminders-hint {
	margin: 8px 14px 0;
	text-align: left;
	font-size: 0.92em;
	line-height: 1.45;
	color: rgba(0, 0, 0, 0.72);
	font-style:italic;
}
.edit-user-row-centered {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1.25rem;
	text-align: center;
}
.edit-user-welcome-login-row {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.35em;
	text-align: center;
}
.edit-user-welcome-login-main {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.35em 0.65em;
	width: 100%;
}
.edit-user-welcome-login-main .edit-user-welcome-login-text {
	flex: 0 0 auto;
}
.edit-user-welcome-login-main .dashboard-action-help-text {
	flex: 1 1 100%;
	width: 100%;
}
.edit-user-welcome-login-note {
	width: 100%;
	text-align: center;
	font-size: 0.92em;
	color: rgba(0, 0, 0, 0.72);
}
.edit-user-save-footer {
	max-width: 720px;
	margin: 8px auto 12px;
	text-align: center;
}
.edit-user-save-footer #client-form-buttons {
	display: inline-block;
}
.edit-user-save-footer .edit-user-validation-error {
	padding: 10px 0 0;
	text-align: center;
}
.edit-user-mls-row .edit-user-mls-input {
	max-width: 400px;
	width: 90%;
	display: block;
}
.edit-user-off-market-label {
	font-weight: normal;
	white-space: nowrap;
}
.edit-user-property-thumb-row:empty {
	display: none;
	padding: 0 !important;
}
.edit-user-property-thumb {
	margin: 0 auto;
	max-width: 220px;
}
.edit-user-property-thumb:empty {
	display: none;
}
.edit-user-property-thumb img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 4px;
}
.edit-user-uc-inline {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 10px;
	vertical-align: middle;
}
.edit-user-uc-inline .uc-toggle-radios,
.edit-user-uc-inline label,
.edit-user-uc-inline .coe_date {
	display: inline;
	margin-left: 0;
}
.edit-user-uc-inline .coe_days_left {
	display: inline;
	margin-left: 0.35em;
}
/* Desktop active-transactions table: stack UC radios / COE / days left */
.agent_dashboard table td .uc-toggle-radios,
.agent_dashboard table td .coe_date,
.agent_dashboard table td .coe_days_left {
	display: block;
	margin-left: 0;
}
.agent_dashboard table td .uc-toggle-radios label {
	display: inline;
	margin-right: 0.35em;
}
.agent_dashboard table td .coe_days_left {
	margin-top: 0.15em;
}
.edit-user-uc-row .edit-user-field-label {
	vertical-align: middle;
}
.edit-user-uc-row .edit-user-uc-inline,
.edit-user-uc-row .edit-user-uc-inline label,
.edit-user-uc-row .edit-user-uc-inline .coe_date,
.edit-user-uc-row .edit-user-uc-inline .coe_date a,
.edit-user-uc-row .edit-user-uc-inline .coe_days_left {
	font-size: 16px;
	line-height: 1.35;
}
.edit-user-progress-row {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
}
.edit-user-field-stacked.edit-user-progress-row {
	flex-direction: column;
	align-items: stretch;
	flex-wrap: wrap;
}
.edit-user-field-stacked.edit-user-progress-row .edit-user-progress-row-inner {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
	width: 100%;
}
.edit-user-progress-row .edit-user-field-label {
	flex: 0 0 auto;
}
.edit-user-progress-track {
	flex: 1 1 auto;
	min-width: 4rem;
	max-width: 100%;
	height: 10px;
	border-radius: 5px;
	background: rgba(0, 0, 0, 0.12);
	overflow: hidden;
}
.edit-user-progress-fill {
	display: block;
	height: 100%;
	min-width: 0;
	border-radius: inherit;
	background: var(--agent-bg-color1, #333333);
}
.edit-user-progress-pct {
	flex: 0 0 auto;
	font-weight: bold;
	white-space: nowrap;
	margin-left: 0.15rem;
}
.edit-user-field-row.edit-user-contact-fyi-next {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.35em 0.5em;
	text-align: center;
}
.edit-user-contact-fyi-next .edit-user-field-label {
	flex: 0 0 auto;
}
.edit-user-contact-fyi-next .edit-user-fyi-title {
	font-weight: normal;
}
.edit-user-field-row.edit-user-uc-unconfirmed {
	background: #ffe5e5 !important;
	color: #cc0000;
}
.edit-user-field-row.edit-user-uc-unconfirmed a {
	color: #cc0000;
	font-weight: bold;
}
.edit-user-field-row.timeline_due {
	background: #ffffcc !important;
}
.edit-user-field-row.timeline_overdue {
	background: #ff9999 !important;
}
.edit-user-due-legend {
	font-size: 0.92em;
	padding-top: 6px !important;
	padding-bottom: 8px !important;
}
.edit-user-add-contact-row {
	margin: 8px auto 4px;
	text-align: center;
	max-width: 720px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 8px;
}
.edit-user-add-contact-btn.is-hidden {
	display: none !important;
}
/* Cancel (keep-agent-color1) stays color 1; global.css .editing-mode forces primary buttons to color 2. */
.editing-mode .keep-agent-color1.button-colorswap-primary,
.editing-mode .keep-agent-color1.button-colorswap-secondary,
.editing-mode a.button.keep-agent-color1 {
	background-color: var(--agent-bg-color1, #009901) !important;
	color: var(--agent-fg-color1, #ffffff) !important;
}
.edit-user-contact-delete {
	text-align: center;
	padding: 8px 14px;
}
.edit-user-mls-status-error {
	color: #cc0000;
	font-size: 0.92em;
	line-height: 1.4;
	margin: 8px auto 0;
	text-align: center;
	max-width: 28rem;
}
.edit-user-status-row {
	text-align: center;
}
.edit-user-validation-error {
	color: #cc0000;
	margin-top: 10px;
	padding: 0 14px 14px;
}
.edit-user-field-error {
	color: #cc0000;
	font-size: 0.92em;
	line-height: 1.35;
	margin-top: 6px;
	text-align: left;
}
.edit-user-optional-url-row {
	flex-wrap: wrap;
}
.edit-user-optional-url-row .edit-user-optional-url-error {
	flex: 1 1 100%;
	width: 100%;
}
.edit-user-coordinator-agent-row .edit-user-coordinator-agent-login {
	margin-top: 6px;
}
.edit-user-mobile-bar {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 12px;
	border-radius: 6px;
	position: relative;
	box-sizing: border-box;
	margin: 0 0 8px;
}
/* Deal title header (desktop + mobile EditUser): always agent color 2, bordered, no hover flip */
.edit-user-deal-header-bar.edit-user-mobile-bar,
.edit-user-deal-header-bar.agent_bg_color2,
.edit-user-deal-header-bar.agent_bg_color2:hover,
.edit-user-deal-header-bar.agent_bg_color2:focus,
.edit-user-deal-header-bar.agent_bg_color2:active,
.editing-mode .edit-user-deal-header-bar.agent_bg_color2,
.agent_dashboard_mobile .edit-user-mobile-group.editing-mode .edit-user-deal-header-bar.agent_bg_color2 {
	background-color: var(--agent-bg-color2, #006600) !important;
	color: var(--agent-fg-color2, #ffffff) !important;
	border: 1px solid rgba(0, 0, 0, 0.18);
}
.edit-user-deal-header-bar .edit-user-mobile-bar-title,
.edit-user-deal-header-bar .edit-user-mobile-bar-subtitle,
.edit-user-deal-header-bar .edit-user-deal-header-hint {
	color: var(--agent-fg-color2, #ffffff) !important;
}
.edit-user-deal-header-right {
	flex: 0 1 auto;
	max-width: 48%;
	margin-left: auto;
	text-align: right;
}
.edit-user-deal-header-hint {
	display: none;
}
.edit-user-deal-header-status {
	display: block;
	font-size: 0.92em;
	font-weight: 400;
	line-height: 1.25;
	opacity: 0.95;
	word-break: break-word;
}
.edit-user-deal-header-bar .edit-user-deal-header-status {
	color: var(--agent-fg-color2, #ffffff) !important;
}
.edit-user-mobile-bar-titles {
	flex: 1 1 auto;
	min-width: 0;
	text-align: left;
}
.edit-user-mobile-bar-title {
	font-weight: bold;
	flex: 1 1 auto;
	min-width: 0;
	text-align: left;
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.edit-user-mobile-bar-subtitle {
	font-size: 0.92em;
	opacity: 0.95;
	display: block;
}
.edit-user-mobile-slot {
	padding: 0;
}
@media (min-width: 992px) {
	.edit-user-accordion-body {
		padding: 0;
	}
	.edit-user-zebra-body > .edit-user-field-row,
	.edit-user-zebra-body > .edit-user-due-legend,
	.edit-user-zebra-body > .edit-user-reminders-sms-block {
		padding: 12px 18px;
	}
	.edit-user-property-thumb {
		max-width: 280px;
	}
}
@media (min-width: 992px) {
	.dashboard-action-help-mobile-only .dashboard-action-help-icon,
	.dashboard-action-help-mobile-only .dashboard-action-help-text {
		display: none !important;
	}
}
@media (max-width: 991px) {
	.edit-user-deal-header-hint {
		display: block;
		font-size: 0.78em;
		font-weight: 400;
		font-style: italic;
		line-height: 1.25;
		opacity: 0.9;
	}
	.edit-user-deal-header-hint + .edit-user-deal-header-status {
		margin-top: 2px;
	}
	.edit-user-new-close {
		display: inline-block;
		float: right;
		margin: -2px 0 6px 8px;
		background: transparent;
		border: 0;
		padding: 0;
		font-size: 1.35em;
		line-height: 1;
	}
	.agent_dashboard_mobile .edit-user-mobile-group.editing-mode,
	.edit-user-shared-container.editing-mode {
		/* Spacing only — outline is on .edit-user-accordion-root (shared) */
		margin-bottom: 140px !important;
	}
}

/* SMS requires a phone number — highlight + message under the phone field */
input.sms-phone-required,
input.error.sms-phone-required {
	border-color: #cc0000 !important;
	background-color: #fff5f5 !important;
}
.sms-phone-required-msg {
	color: #cc0000;
	font-size: 0.92em;
	line-height: 1.35;
	margin-top: 6px;
	text-align: left;
}
.edit-user-reminders-phone-row {
	margin-top: 8px;
}

/* Login / reset / register cards always use site-default black/green, never brand colors. */
.login_form.card .card_heading,
.login_form.card .card_heading.agent_bg_color2,
.login_form.card .card_heading.user_bg_color2,
.login_form.card .card_heading.user_contact_bg_color2 {
	background-color: #000000 !important;
	color: #FFFFFF !important;
}
.login_form.card .card_heading *,
.login_form.card .card_heading.agent_bg_color2 *,
.login_form.card .card_heading.user_bg_color2 *,
.login_form.card .card_heading.user_contact_bg_color2 * {
	color: #FFFFFF !important;
}
.login_form INPUT[type='submit'].button-colorswap-primary,
.login_form INPUT[type='button'].button-colorswap-primary,
.login_form BUTTON.button-colorswap-primary,
.login_form A.button-colorswap-primary,
.login_form A.button.button-colorswap-primary {
	background-color: #009901 !important;
	color: #FFFFFF !important;
	border: 1px solid #000000 !important;
}
.login_form INPUT[type='submit'].button-colorswap-primary:hover,
.login_form INPUT[type='button'].button-colorswap-primary:hover,
.login_form BUTTON.button-colorswap-primary:hover,
.login_form A.button-colorswap-primary:hover,
.login_form A.button.button-colorswap-primary:hover {
	background-color: #000000 !important;
	color: #FFFFFF !important;
	border: 1px solid #000000 !important;
}
.login_form INPUT[type='submit'].button-colorswap-secondary,
.login_form INPUT[type='button'].button-colorswap-secondary,
.login_form BUTTON.button-colorswap-secondary,
.login_form A.button-colorswap-secondary,
.login_form A.button.button-colorswap-secondary {
	background-color: #000000 !important;
	color: #FFFFFF !important;
	border: 1px solid #000000 !important;
}
.login_form INPUT[type='submit'].button-colorswap-secondary:hover,
.login_form INPUT[type='button'].button-colorswap-secondary:hover,
.login_form BUTTON.button-colorswap-secondary:hover,
.login_form A.button-colorswap-secondary:hover,
.login_form A.button.button-colorswap-secondary:hover {
	background-color: #009901 !important;
	color: #FFFFFF !important;
	border: 1px solid #000000 !important;
}

/* Agent ↔ Manager login cross-links (below Register Now) */
.login-form-links {
	margin: 20px;
	text-align: center;
}
.login-form-links > a {
	display: block;
	margin: 8px auto;
}
.login-form-links > a.login-cross-link {
	margin-top: 14px;
	font-size: 0.95em;
	opacity: 0.9;
}

/* Settings autosave / password update corner toast */
.settings-save-toast {
	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 10050;
	max-width: min(320px, calc(100vw - 36px));
	padding: 12px 16px;
	border-radius: 6px;
	font-size: 14px;
	line-height: 1.35;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.18);
	opacity: 0;
	transform: translateY(10px);
	pointer-events: none;
	transition: opacity 0.2s ease, transform 0.2s ease;
}
/* Mobile: top-right to avoid keyboard */
@media (max-width: 768px) {
	.settings-save-toast {
		top: 18px;
		bottom: auto;
		transform: translateY(-10px);
	}
	.settings-save-toast-show {
		transform: translateY(0);
	}
}
.settings-save-toast-show {
	opacity: 1;
	transform: translateY(0);
}
.settings-save-toast-success {
	background: #009901;
	color: #fff;
}
.settings-save-toast-error {
	background: #a12622;
	color: #fff;
}
.settings-password-block .settings-password-error {
	margin-top: 8px;
	color: #a12622;
	font-size: 13px;
}
.settings-password-block .button {
	margin-top: 8px;
}

/* Manage Settings: short fields (password, phone, DRE, company, address, email).
   Leave card-heading name + color pickers full/layout-controlled. */
#EditSettingsContainer .card_section > .line > input[type="text"],
#EditSettingsContainer .card_section > .line > input[type="password"],
#EditSettingsContainer .card_section > .line > input:not([type]),
#EditSettingsContainer .card_section > .line > textarea,
#EditSettingsContainer .settings-password-block input[type="password"],
#EditSettingsContainer .settings-password-block input[type="text"] {
	width: 200px;
	max-width: 100%;
	box-sizing: border-box;
}

/* Decline TC invite confirm modal */
.tc-invite-declined-notice {
	text-align: center;
	padding: 10px 8px 4px;
}
.tc-invite-declined-notice .line {
	margin: 8px 0;
	font-size: 16px;
	line-height: 1.4;
}

/* Never-onboarded agent declined manager invite — no app access */
.invite-declined-goodbye {
	max-width: 480px;
	margin: 40px auto;
	text-align: center;
}
.invite-declined-goodbye .card_content .line {
	margin: 12px 0;
	font-size: 16px;
	line-height: 1.45;
}
.invite-declined-goodbye-actions {
	margin-top: 24px !important;
}

/* Registration package selection */
.register-section-heading {
	font-size: 18px;
	font-weight: 600;
	margin: 24px 0 12px;
	color: #333;
}
.register-section-subheading {
	font-size: 15px;
	font-weight: 600;
	margin: 16px 0 10px;
	color: #555;
}
.register-packages {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0 0 20px;
}
.register-package {
	flex: 1 1 calc(33.333% - 12px);
	min-width: 200px;
	padding: 16px;
	border: 2px solid #ddd;
	border-radius: 6px;
	background: #fff;
	cursor: pointer;
	transition: all 0.2s ease;
	text-align: center;
}
.register-package:hover {
	border-color: #999;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.register-package.selected {
	border-color: #009901;
	background: #f0fff0;
	box-shadow: 0 2px 12px rgba(0, 153, 1, 0.2);
}
.register-package h4 {
	margin: 0 0 8px;
	font-size: 20px;
	font-weight: 600;
	color: #333;
}
.register-package .package-credits {
	font-size: 15px;
	margin: 6px 0;
	color: #555;
}
.register-package .package-price {
	font-size: 14px;
	margin: 4px 0;
	color: #777;
}
.register-package .package-total {
	margin: 10px 0 0;
	font-size: 16px;
	color: #333;
}
.register-features {
	margin: 0 0 20px;
	padding: 12px 16px;
	background: #f9f9f9;
	border: 1px solid #e0e0e0;
	border-radius: 4px;
}
.register-feature {
	margin: 8px 0;
}
.register-feature label {
	display: block;
	font-size: 14px;
	line-height: 1.4;
	cursor: pointer;
}
.register-feature input[type="checkbox"],
.register-feature INPUT.checkbox {
	margin: 0 6px 0 0 !important;
	display: inline-block;
	cursor: pointer;
}
/* admin.css bumps checkbox margin on LABEL:hover — kill the indent jump */
.register-feature label:hover INPUT.checkbox,
.register-feature LABEL:hover INPUT.checkbox,
.register-feature:hover INPUT.checkbox {
	margin: 0 6px 0 0 !important;
	display: inline-block;
}
.register-addons-heading {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}
.register-addons-heading-label {
	line-height: 1.3;
}
.register-addons-info-wrap {
	position: relative;
	display: inline-flex;
	align-items: center;
}
.register-addons-info-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 30px;
	line-height: 1;
	color: #009901;
	text-decoration: none;
	cursor: pointer;
}
.register-addons-info-icon:hover,
.register-addons-info-icon:focus {
	color: #007a01;
	text-decoration: none;
}
.register-grand-total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 8px;
	padding: 14px 16px;
	background: #f0fff0;
	border: 2px solid #009901;
	border-radius: 6px;
	font-size: 16px;
	line-height: 1.3;
	color: #333;
}
.register-grand-total-label {
	font-weight: 600;
}
.register-grand-total-amount {
	font-weight: 700;
	font-size: 20px;
	color: #009901;
	white-space: nowrap;
}
#register_div A.button.register-submit-button,
#register_div A.button.button-colorswap-primary.register-submit-button {
	background-color: #009901 !important;
	color: #ffffff !important;
	border: 1px solid #000000 !important;
}
#register_div A.button.register-submit-button:hover,
#register_div A.button.button-colorswap-primary.register-submit-button:hover {
	background-color: #000000 !important;
	color: #ffffff !important;
	border: 1px solid #000000 !important;
}
.register-addons-help-text {
	display: none;
	position: absolute;
	right: 0;
	top: calc(100% + 6px);
	z-index: 20;
	width: min(340px, calc(100vw - 48px));
	margin: 0;
	padding: 10px 12px;
	font-size: 13px;
	line-height: 1.5;
	color: #555;
	background: #fff;
	border: 1px solid #e0e0e0;
	border-radius: 4px;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
	text-align: left;
	font-weight: 400;
}
.register-addons-help-text p {
	margin: 0 0 10px;
}
.register-addons-help-text p:last-child {
	margin-bottom: 0;
}
.register-addons-help-text strong {
	color: #333;
}
.register-addons-info-wrap.is-open .register-addons-help-text {
	display: block;
}
@media (hover: hover) and (pointer: fine) {
	.register-addons-info-wrap:hover .register-addons-help-text,
	.register-addons-info-wrap:focus-within .register-addons-help-text {
		display: block;
	}
}
@media (max-width: 768px) {
	.register-packages {
		flex-direction: column;
	}
	.register-package {
		flex: 1 1 100%;
	}
}

/* Required fields on self-register (agent + manager) */
#register_div INPUT[placeholder='Email Address']::placeholder,
#register_div INPUT[placeholder='DRE #']::placeholder,
#register_div INPUT[placeholder='Password']::placeholder,
#register_div INPUT[placeholder='Confirm Password']::placeholder {
	color: #d26666;
}
#register_div INPUT[placeholder='Email Address']::-moz-placeholder,
#register_div INPUT[placeholder='DRE #']::-moz-placeholder,
#register_div INPUT[placeholder='Password']::-moz-placeholder,
#register_div INPUT[placeholder='Confirm Password']::-moz-placeholder {
	color: #d26666;
	opacity: 1;
}
#register_div INPUT[placeholder='Email Address']:-ms-input-placeholder,
#register_div INPUT[placeholder='DRE #']:-ms-input-placeholder,
#register_div INPUT[placeholder='Password']:-ms-input-placeholder,
#register_div INPUT[placeholder='Confirm Password']:-ms-input-placeholder {
	color: #d26666;
}
#register_div .register-section-heading.register-required-heading {
	color: #CC0000;
}
#register_div .stripe-card-fields label {
	color: #d26666;
}
#register_div #register_submit_errors {
	margin: 12px 0 0;
}

/* Timeline items hidden by contract terms / conditions (replaces top "Not Applicable" heading) */
.timeline .timeline_item_NA .timeline_item_contract_terms_na_note {
	display: block;
	color: #999999;
	font-size: 13px;
	line-height: 1.4;
	margin: 6px 0 10px 0;
	padding: 0 4px 0 0;
}
.timeline .timeline_item_NA .timeline_item_contract_terms_na_note a {
	color: #999999;
	text-decoration: underline;
}
.timeline .timeline_item_NA .timeline_item_contract_terms_na_note a:hover,
.timeline .timeline_item_NA .timeline_item_contract_terms_na_note a:focus {
	color: #777777;
}

/* Acceptance-date guidance in the shared Under Contract modal */
.acceptance-date-entry-row {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 8px 0 5px;
}
.acceptance-date-entry-row > label:first-child {
	flex: 0 0 auto;
	font-weight: normal;
	margin: 0;
}
#popup_content .acceptance-date-info {
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	color: #555555;
	cursor: pointer;
	display: inline;
	flex: 0 0 auto;
	font-size: 15px;
	line-height: 1;
	margin: 0;
	padding: 0;
}
#popup_content .acceptance-date-info:hover,
#popup_content .acceptance-date-info:focus {
	background: none;
	border: 0;
	color: #111111;
	outline: none;
}
#popup_content .acceptance-date-entry-row > input.datepicker {
	flex: 1 1 180px;
	margin: 0;
	max-width: 200px;
	width: auto;
}
#popup_content .under-contract-clear-date {
	flex: 0 0 auto;
	font-size: 13px;
	white-space: nowrap;
}
/* Agent + coordinator: Manual date hides Auto; file hides Manual (JS also toggles). */
#under_contract_confirmation.uc-path-has-date .under-contract-auto-path,
#under_contract_confirmation.uc-path-has-date .under-contract-or-divider {
	display: none !important;
}
#under_contract_confirmation.uc-manual-only .under-contract-auto-path,
#under_contract_confirmation.uc-manual-only .under-contract-or-divider {
	display: none !important;
}
#under_contract_confirmation.uc-path-has-file .under-contract-manual-path,
#under_contract_confirmation.uc-path-has-file .under-contract-or-divider {
	display: none !important;
}
/* Under Contract modal — drag-and-drop (sets the file input; does not auto-submit) */
#popup_content .uc-dropzone {
	background: #fafafa;
	border: 2px dashed #cccccc;
	border-radius: 6px;
	cursor: pointer;
	margin-top: 8px;
	padding: 16px;
}
#popup_content .uc-dropzone-prompt {
	color: #555555;
	display: block;
	font-size: 13px;
	margin-bottom: 8px;
}
#popup_content .uc-dropzone-dragover {
	background: #f0fff0;
	border-color: #009901;
}
#under_contract_confirmation.uc-path-has-file .uc-dropzone {
	background: #f6fff6;
	border-color: #009901;
	border-style: solid;
}
#popup_content .uc-dropzone .under-contract-file-input {
	cursor: pointer;
	display: block;
}
#popup_content .acceptance-date-help-content {
	background: #f7f7f7;
	border: 1px solid #cccccc;
	border-radius: 5px;
	color: #222222;
	display: none;
	flex: 1 0 100%;
	font-size: 15px;
	font-weight: normal;
	line-height: 1.45;
	margin-top: 8px;
	padding: 14px 16px;
	text-align: left;
}
#popup_content .acceptance-date-help-content.is-open {
	display: block;
}
#popup_content .acceptance-date-help-content > span {
	display: block;
}
#popup_content .acceptance-date-help-example {
	margin-top: 10px;
}
#popup_content .acceptance-date-help-content ul {
	margin: 6px 0 10px 18px;
	padding: 0;
}
#popup_content .acceptance-date-help-content li {
	margin-bottom: 3px;
}
#popup_content .acceptance-date-help-note {
	border-top: 1px solid #dddddd;
	margin-top: 10px;
	padding-top: 10px;
}
#popup_content .acceptance-date-help-ocr-notice {
	border-bottom: 1px solid #dddddd;
	margin-bottom: 10px;
	padding-bottom: 10px;
}

/* Edit Contract Terms — same acceptance help, expands a full-width row */
.agent_dashboard .acceptance-date-info,
.agent_dashboard_mobile .acceptance-date-info {
	background: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: #555555;
	cursor: pointer;
	display: inline;
	font-size: 14px;
	line-height: 1;
	margin: 0 0 0 6px;
	padding: 0 !important;
	vertical-align: middle;
}
.agent_dashboard .acceptance-date-info:hover,
.agent_dashboard .acceptance-date-info:focus,
.agent_dashboard_mobile .acceptance-date-info:hover,
.agent_dashboard_mobile .acceptance-date-info:focus {
	background: none !important;
	border: 0 !important;
	color: #111111;
	outline: none;
}
.agent_dashboard .acceptance-date-help-content,
.agent_dashboard_mobile .acceptance-date-help-content {
	background: #f7f7f7;
	border: 1px solid #cccccc;
	border-radius: 5px;
	color: #222222;
	display: none;
	font-size: 14px;
	font-weight: normal;
	line-height: 1.45;
	margin: 0 0 10px;
	padding: 14px 16px;
	text-align: left;
}
.agent_dashboard .acceptance-date-help-content.is-open,
.agent_dashboard_mobile .acceptance-date-help-content.is-open {
	display: block;
}
.agent_dashboard .acceptance-date-help-content > span,
.agent_dashboard_mobile .acceptance-date-help-content > span {
	display: block;
}
.agent_dashboard .acceptance-date-help-example,
.agent_dashboard_mobile .acceptance-date-help-example {
	margin-top: 10px;
}
.agent_dashboard .acceptance-date-help-content ul,
.agent_dashboard_mobile .acceptance-date-help-content ul {
	margin: 6px 0 10px 18px;
	padding: 0;
}
.agent_dashboard .acceptance-date-help-content li,
.agent_dashboard_mobile .acceptance-date-help-content li {
	margin-bottom: 3px;
}
.agent_dashboard .acceptance-date-help-note,
.agent_dashboard_mobile .acceptance-date-help-note {
	border-top: 1px solid #dddddd;
	margin-top: 10px;
	padding-top: 10px;
}
.agent_dashboard .acceptance-date-help-ocr-notice,
.agent_dashboard_mobile .acceptance-date-help-ocr-notice {
	border-bottom: 1px solid #dddddd;
	margin-bottom: 10px;
	padding-bottom: 10px;
}

/* Dependent-complete popup — agent branded actions */
#popup_content .timeline_dependent_complete_actions .line {
	margin-top: 0.75em;
}
#popup_content .timeline_dependent_complete_actions .btn-block {
	display: block;
	text-align: center;
}

/* Timeline scheduling — dependent offsets & recurrence */
.timeline_dependent_offset_section,
.timeline_recurrence_section {
	margin: 1em 0;
	padding: 1em;
	background: #f9f9f9;
	border-left: 3px solid #ccc;
}

.timeline_offset_controls,
.timeline_offset_preview {
	margin-top: 0.5em;
}

.timeline_offset_preview {
	color: #666;
	font-weight: bold;
}

.timeline_recurrence_preview span {
	display: inline-block;
	padding: 0.2em 0.5em;
	margin: 0.2em;
	background: #e8f4f8;
	border-radius: 3px;
	font-size: 0.9em;
}

.calculated_date_preview {
	color: #666;
	font-style: italic;
	padding: 0.5em;
	background: #f0f0f0;
	border-radius: 3px;
}

.anchor_date_input {
	font-weight: bold;
	margin-bottom: 0.5em;
	padding-bottom: 0.5em;
}

.timeline_scheduling_error {
	color: #a94442;
	font-weight: bold;
}

.timeline_dependent_complete_item {
	margin-top: 1em;
	padding-top: 0.75em;
	border-top: 1px solid #e5e5e5;
}

.timeline_dependent_existing_summary_body {
	padding: 0.6em 0.75em;
	background: #f7f7f7;
	border-left: 3px solid #ccc;
	color: #444;
	font-size: 0.95em;
}

/* Under Contract: processing state (no spinner — animated dots) */
.processing-contract-label {
	cursor: pointer;
	white-space: nowrap;
}
.processing-dots {
	display: inline-block;
	min-width: 1.25em;
	text-align: left;
}
.processing-dots span {
	opacity: 0;
	animation: processing-contract-dot 1.4s infinite;
}
.processing-dots span:nth-child(1) { animation-delay: 0s; }
.processing-dots span:nth-child(2) { animation-delay: 0.25s; }
.processing-dots span:nth-child(3) { animation-delay: 0.5s; }
@keyframes processing-contract-dot {
	0%, 20% { opacity: 0; }
	40%, 80% { opacity: 1; }
	100% { opacity: 0; }
}

/* Contract processed popup — keep action row height stable on button hover */
#popup_content .contract-processed-popup .contract-processed-actions {
	min-height: 44px;
	margin-bottom: 0;
	padding-bottom: 4px;
}
#popup_content .contract-processed-popup .contract-processed-actions .button {
	display: block;
	box-sizing: border-box;
	border: 1px solid transparent;
	margin-bottom: 0;
}
#popup_content .contract-processed-popup .contract-processed-actions .button:hover,
#popup_content .contract-processed-popup .contract-processed-actions .button:focus {
	text-decoration: none;
	border-color: transparent;
}

/* Edit terms — OCR confidence below 75% (whole row) */
.agent_dashboard TABLE.listing TR.list_item.user_contract_date_low_confidence > TD,
.agent_dashboard_mobile TABLE.listing TR.list_item.user_contract_date_low_confidence > TD {
	background-color: #FFCCCC;
}

/* Edit terms — acceptance not read from contract */
TD.user_contract_date_acceptance_required_desc,
.agent_dashboard_mobile TD.user_contract_date_acceptance_required_desc {
	color: #c0392b;
	font-weight: 600;
}
TD.user_contract_date_acceptance_required_date input.acceptance-date-required,
.user_contract_date_acceptance_required input.acceptance-date-required {
	color: #c0392b;
	border-color: #c0392b;
	background-color: #fff8f8;
}
TD.user_contract_date_acceptance_required_date input.acceptance-date-required::placeholder,
.user_contract_date_acceptance_required input.acceptance-date-required::placeholder {
	color: #c0392b;
	opacity: 1;
}

/* Edit terms — contract column OCR snippets (~26px tall) */
.agent_dashboard IMG.user_contract_date {
	max-height: 26px;
	width: auto;
	max-width: 100px;
	height: auto;
	object-fit: contain;
	vertical-align: middle;
}

/* 3L(9) sale contingency — only the "(specify Buyer's COE date)" parenthetical */
.user_contract_date_sale_contingent_alert {
	color: #c0392b;
	font-weight: 600;
}

/* OCR map / test tools — PDF page vs ImageMagick index */
.ocr-map-page-index {
	font-size: 0.85em;
	font-weight: normal;
	color: #666;
}
.ocr-map-page-heading {
	margin: 24px 0 8px;
	font-size: 1.1em;
}

/* Edit Contract Terms — agent override label in # of Days column */
.agent_dashboard .user_contract_date_agent_specified,
.agent_dashboard_mobile .user_contract_date_agent_specified {
	margin-top: 6px;
	color: #666;
	font-size: 0.9em;
	font-style: italic;
}
.agent_dashboard .user_contract_date_relative_to {
	margin-left: 0.35em;
}

.ocr_seller_counter_notice {
	color: #c0392b;
	font-weight: 600;
	margin-bottom: 12px;
}
.ocr-address-mismatch-notice {
	font-weight: 400;
	color: #333;
	margin-bottom: 12px;
}
.ocr-address-mismatch-notice strong {
	color: #c0392b;
	font-weight: 700;
}
.ocr-address-mismatch-notice a {
	color: #c0392b;
	font-weight: 700;
	text-decoration: underline;
}

/* Under Contract modal — tip / warning text (same red as parse-error notice) */
#popup_content .under-contract-ocr-tip {
	color: #c0392b;
	font-weight: 700;
	margin: 0 0 10px 0;
}
#popup_content .under-contract-ocr-tip-inline {
	color: #c0392b;
}

#popup_content .unavailable-transaction-notice p {
	margin: 0 0 16px 0;
	font-size: 16px;
	line-height: 1.4;
}
#popup_content .unavailable-transaction-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
	margin-top: 8px;
}

/* Admin email proofing */
body.admin .email-proof h2 {
	margin: 0 0 12px;
}
body.admin .email-proof p {
	max-width: 52em;
	line-height: 1.45;
}
body.admin .email-proof-flash {
	background: #eaf7ea;
	border: 1px solid #009901;
	padding: 10px 14px;
	margin: 12px 0;
}
body.admin .email-proof-flash-error {
	background: #fdecea;
	border-color: #c0392b;
}
body.admin .email-proof-results {
	margin: 0 0 18px;
	padding-left: 18px;
}
body.admin .email-proof-results li.fail {
	color: #c0392b;
}
body.admin .email-proof-form {
	margin: 18px 0 28px;
}
body.admin .email-proof-to {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
}
body.admin .email-proof-to label {
	font-weight: 700;
}
body.admin .email-proof-to input[type='email'],
body.admin .email-proof-to input[type='tel'] {
	min-width: 280px;
	padding: 6px 10px;
}
body.admin .email-proof-section-title {
	margin: 36px 0 8px;
	padding-top: 18px;
	border-top: 1px solid #ddd;
}
body.admin .email-proof-batch-sms {
	background: #1a6aa3;
}
body.admin .email-proof-batch-sms:hover {
	background: #15557f;
}
body.admin .email-proof-batches {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
body.admin .email-proof-batch {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	padding: 10px 16px;
	background: #009901;
	color: #fff;
	border: 0;
	border-radius: 4px;
	cursor: pointer;
	font-weight: 700;
}
body.admin .email-proof-batch span {
	font-weight: 400;
	font-size: 0.85em;
	opacity: 0.9;
}
body.admin .email-proof-batch:hover {
	background: #007a01;
}
body.admin .email-proof-group-title {
	margin: 28px 0 8px;
}
body.admin .email-proof-group-title span {
	font-weight: 400;
	color: #666;
	font-size: 0.8em;
}
body.admin .email-proof-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 8px;
}
body.admin .email-proof-table th,
body.admin .email-proof-table td {
	text-align: left;
	padding: 8px 10px;
	border-bottom: 1px solid #ddd;
	vertical-align: top;
}
body.admin .email-proof-subject {
	color: #666;
	font-size: 0.9em;
	margin-top: 2px;
}
body.admin .email-proof-actions {
	white-space: nowrap;
}
body.admin .email-proof-actions a,
body.admin .email-proof-one {
	display: inline-block;
	margin-right: 8px;
}
body.admin .email-proof-one button {
	padding: 4px 10px;
	cursor: pointer;
}
body.admin .email-proof-branding {
	margin: 16px 0 22px;
	padding: 14px;
	background: #f6f6f6;
	border: 1px solid #ddd;
}
body.admin .email-proof-branding-fields {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 18px;
	align-items: flex-end;
	margin-bottom: 12px;
}
body.admin .email-proof-branding-fields label {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-weight: 700;
	font-size: 13px;
}
body.admin .email-proof-branding-fields select {
	min-width: 280px;
	font-weight: 400;
	padding: 6px 8px;
}
body.admin .email-proof-branding-preview {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	align-items: flex-end;
}
body.admin .email-proof-brand-shot div {
	font-size: 12px;
	color: #666;
	margin-bottom: 4px;
}
body.admin .email-proof-brand-shot img {
	max-height: 64px;
	max-width: 160px;
	background: #000;
	padding: 6px;
}
body.admin .email-proof-missing {
	color: #999;
	font-size: 12px;
	font-style: italic;
}
body.admin .email-proof-brand-swatches {
	display: flex;
	gap: 6px;
	align-items: center;
}
body.admin .email-proof-swatch {
	width: 22px;
	height: 22px;
	border: 1px solid #ccc;
	display: inline-block;
}
body.admin .email-proof-progress {
	font-weight: 700;
	margin: 0 0 14px;
}
body.admin .email-proof-group-progress {
	margin-left: 10px;
	font-weight: 400;
	color: #666;
	font-size: 0.85em;
}
body.admin .email-proof-reviewed {
	font-weight: 400;
	white-space: nowrap;
	cursor: pointer;
}
body.admin .email-proof-row-reviewed td {
	background: #eaf7ea;
}

/* Mobile timeline progress meter — fill, close; expanded covers Jotform via z-index */
@media (max-width: 767px) {
	#progress_meter_container_mobile.progress_meter_mobile_expanded .progress_meter_mobile {
		z-index: 2147483000;
		padding-top: 15px;
	}
	.progress_meter_mobile_full {
		position: relative;
		transition: opacity 0.45s ease, transform 0.45s ease;
	}
	.progress_meter_mobile_full H2 {
		padding-right: 48px;
		margin-top: 0;
		margin-bottom: 10px;
	}
	.progress_meter_mobile_close {
		position: absolute;
		top: 0;
		right: 4px;
		z-index: 3;
		width: 44px;
		height: 44px;
		padding: 0;
		border: 0;
		background: transparent;
		color: #fff;
		font-size: 22px;
		line-height: 44px;
		cursor: pointer;
		-webkit-appearance: none;
		appearance: none;
	}
	.progress_meter_mobile_expanded .progress_meter_mobile_short {
		height: 0;
		overflow: hidden;
		margin: 0;
		padding: 0;
		opacity: 0;
		pointer-events: none;
		transform: none;
	}
	#progress_meter_container_mobile:not(.progress_meter_mobile_expanded) .progress_meter_mobile_full {
		pointer-events: none;
	}
	/* Sit above the collapsed bar; stay below the expanded meter (z-index 2147483000). */
	body:has(#progress_meter_container_mobile) jotform-agent,
	body:has(#progress_meter_container_mobile) [id*="JotformAgent"],
	body:has(#progress_meter_container_mobile) [id*="jotform-agent"] {
		margin-bottom: 55px !important;
		z-index: 10050 !important;
	}
}

/* Admin Activity Log */
body.admin .admin-activity-person {
	margin: 0 0 24px;
}
body.admin .admin-activity-person h2 {
	margin: 0 0 6px;
	font-size: 28px;
	font-weight: 600;
	color: #009901;
}
body.admin .admin-activity-person-role {
	margin: 0 0 8px;
	font-size: 16px;
	color: #444;
}
body.admin .admin-activity-badges {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0 0 16px;
}
body.admin .admin-activity-badge {
	display: inline-block;
	padding: 4px 10px;
	border: 1px solid #ccc;
	border-radius: 4px;
	background: #f5f5f5;
	font-size: 13px;
	color: #333;
}
body.admin .admin-activity-badge-missing {
	color: #888;
}
body.admin .admin-activity-view-toggle {
	margin: 0 0 20px;
}
body.admin .admin-activity-jump {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0 0 16px;
}
body.admin .admin-activity-jump-section {
	margin: 0 0 16px;
}
body.admin .admin-activity-jump-section-bottom {
	margin: 16px 0 0;
}
body.admin a.admin-activity-jump-link,
body.admin a.admin-activity-jump-link:hover,
body.admin a.admin-activity-jump-link:focus,
body.admin a.admin-activity-jump-link:active {
	display: inline-block;
	width: auto;
	height: auto;
	margin: 0;
	padding: 8px 16px;
	border: 1px solid #000;
	border-radius: 4px;
	background: #009901;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
	white-space: nowrap;
	box-sizing: border-box;
	box-shadow: none;
}
body.admin a.admin-activity-jump-link:hover,
body.admin a.admin-activity-jump-link:focus {
	background: #000;
	color: #fff;
}
body.admin a.admin-activity-jump-link.admin-activity-jump-link-current,
body.admin a.admin-activity-jump-link.admin-activity-jump-link-current:hover,
body.admin a.admin-activity-jump-link.admin-activity-jump-link-current:focus,
body.admin a.admin-activity-jump-link.admin-activity-jump-link-current:active {
	background: #000;
	color: #fff;
}
body.admin #admin-activity-account,
body.admin #admin-activity-purchases,
body.admin #admin-activity-transactions {
	scroll-margin-top: 16px;
}
body.admin .admin-activity-person-meta {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 4px 18px;
	margin: 0 0 12px;
	max-width: 640px;
}
body.admin .admin-activity-person-meta dt {
	margin: 0;
	font-weight: 600;
	color: #333;
}
body.admin .admin-activity-person-meta dd {
	margin: 0;
	color: #444;
}
body.admin .admin-activity-note,
body.admin .admin-activity-truncated {
	margin: 0 0 16px;
	font-size: 13px;
	font-style: italic;
	color: #666;
}
body.admin .admin-activity-date-filter {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 10px 16px;
}
body.admin .admin-activity-date-filter .list-filter-label {
	flex: 0 0 100%;
	margin: 0;
}
body.admin .admin-activity-date-label {
	font-weight: 400;
	color: #333;
}
body.admin .admin-activity-date-label input[type='date'] {
	display: block;
	margin-top: 4px;
	padding: 6px 8px;
	border: 1px solid #bbb;
	border-radius: 4px;
}
body.admin .admin-activity-pager {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 16px;
	margin: 16px 0 0;
	font-size: 14px;
}
body.admin .admin-activity-pager-status {
	margin: 16px 0 0;
	text-align: center;
	color: #444;
}
body.admin .admin-activity-pager .admin-activity-pager-status {
	margin: 0;
	flex: 1 1 auto;
}
body.admin .admin-activity-pager-prev,
body.admin .admin-activity-pager-next {
	min-width: 8em;
}
body.admin .admin-activity-pager-next {
	text-align: right;
}
body.admin .admin-activity-inactive td {
	color: #777;
}
body.admin .admin-activity-transactions {
	margin-top: 36px;
}
body.admin .admin-activity-purchases {
	margin-top: 36px;
}
body.admin TABLE.listing.admin-activity-log-table {
	width: 100%;
	max-width: 100%;
	table-layout: fixed;
}
body.admin TABLE.listing.admin-activity-log-table TR.sticky-header > TH {
	position: sticky !important;
	top: 0 !important;
	z-index: 1000 !important;
	background: #009901 !important;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12) !important;
	overflow-wrap: anywhere;
	word-break: break-word;
}
body.admin TABLE.listing.admin-activity-log-table TH.activity-log-datetime,
body.admin TABLE.listing.admin-activity-log-table TD.activity-log-datetime {
	width: 6.5em;
	vertical-align: top;
	white-space: nowrap;
}
body.admin TABLE.listing.admin-activity-log-table TH.activity-log-action,
body.admin TABLE.listing.admin-activity-log-table TD.activity-log-action {
	width: 18%;
	vertical-align: top;
	overflow-wrap: anywhere;
	word-break: break-word;
}
body.admin TABLE.listing.admin-activity-log-table TH.activity-log-details,
body.admin TABLE.listing.admin-activity-log-table TD.activity-log-details {
	vertical-align: top;
	overflow-wrap: anywhere;
	word-break: break-word;
}
body.admin TABLE.listing.admin-activity-log-table TH.activity-log-performed,
body.admin TABLE.listing.admin-activity-log-table TD.activity-log-performed {
	width: 16%;
	vertical-align: top;
	overflow-wrap: anywhere;
	word-break: break-word;
}
body.admin TABLE.listing.admin-activity-log-table TH.activity-log-ip,
body.admin TABLE.listing.admin-activity-log-table TD.activity-log-ip {
	width: 8em;
	vertical-align: top;
	white-space: nowrap;
}

/* Settings Images: dashed dropzone (all widths; match Under Contract uc-dropzone) */
.account_images .drop_target {
	align-items: center;
	background: #fafafa;
	border: 2px dashed #cccccc;
	border-radius: 6px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 15px;
	text-align: center;
}
.account_images .drop_target.drop_target_dragover {
	background: #f0fff0;
	border-color: #009901;
}
.account_images .drop_target.drop_target_dragover > * {
	opacity: 1;
}
.account_images .account_image_drop_hint {
	color: #555555;
	display: block;
	font-size: 13px;
	margin: 0 0 8px;
}
.account_images .account_image_thumb {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	margin-bottom: 8px;
	min-height: 0;
	width: 100%;
}
.account_images .account_image_thumb img {
	height: auto;
	max-height: 200px;
	max-width: 100%;
}
.account_images .account_image_actions {
	text-align: center;
	width: 100%;
}
.account_images .account_image_ideal {
	color: #666666;
	font-size: 12px;
	margin-top: 5px;
}
.account_images .drop_target > .row {
	margin-left: 0;
	margin-right: 0;
	width: 100%;
}

/* Desktop: equal-height drop boxes, content stays centered inside */
@media (min-width: 768px) {
	.account_images > .row {
		align-items: stretch;
		display: flex;
	}
	.account_images > .row > .col-sm-6 {
		display: flex;
		flex-direction: column;
		float: none;
	}
	.account_images .drop_target {
		flex: 1 1 auto;
		width: 100%;
	}
}

/* Settings Images + color presets: mobile centering and spacing */
@media (max-width: 767px) {
	#agent_color_presets {
		text-align: center;
	}
	#agent_color_presets .preset-toggle {
		display: inline-block;
	}
	.account_images .col-sm-6 {
		margin-bottom: 28px;
		text-align: center;
	}
	.account_images .account_image_thumb img {
		max-height: 120px;
	}
}
