/*
 * MetroBud driver portal look ("Line" design system), loaded after lddfw-public.css.
 * Presentation only: no element is added, removed or renamed by this file, every action,
 * field and AJAX call is upstream's. Delete this file (or filter mbd_portal_ui_enabled to
 * false) and the portal looks exactly like upstream again.
 *
 * Idea: NYC subway signage. Ink sign bar on top, a colour stripe for the "line" the screen
 * belongs to, round line bullets for order numbers and statuses, MetroCard yellow for the one
 * main action. Status lines: claim blue, assigned purple, out for delivery orange,
 * delivered green, failed red (the same subway colours metrobudnyc.com already uses).
 * The vendor sheet hard-codes colours with high specificity, so colours here use !important.
 */
@import url("https://fonts.googleapis.com/css2?family=Archivo:wdth,wght@100..125,600..900&family=Noto+Sans:wght@400;500;600;700&display=swap");

:root {
	--mb-ink: #0e1116;
	--mb-ink-2: #1a1f27;
	--mb-yellow: #f7ca00;
	--mb-yellow-press: #e0b600;
	--mb-blue: #0a6eb7;
	--mb-purple: #b933ad;
	--mb-orange: #ff6319;
	--mb-green: #00933c;
	--mb-red: #ee352e;

	--mb-bg: #eef1f4;
	--mb-card: #ffffff;
	--mb-card-2: #f6f8fa;
	--mb-line: #dde2e8;
	--mb-text: #0e1116;
	--mb-muted: #55606e;
	--mb-on-ink: #f5f7fa;
	--mb-focus: #0a6eb7;
	--mb-line-color: var(--mb-yellow);

	--mb-r-card: 16px;
	--mb-r-btn: 14px;
	--mb-tap: 56px;
	--mb-display: "Archivo", "Noto Sans", -apple-system, "Segoe UI", Roboto, sans-serif;
	--mb-body: "Noto Sans", -apple-system, "Segoe UI", Roboto, sans-serif;
}

body.dark {
	--mb-bg: #0b0d11;
	--mb-card: #161a21;
	--mb-card-2: #1d222b;
	--mb-line: #2a313c;
	--mb-text: #f3f5f8;
	--mb-muted: #a3adba;
	--mb-blue: #3d9be0;
	--mb-purple: #d65bcb;
	--mb-orange: #ff7a3a;
	--mb-green: #1fbf62;
	--mb-red: #ff5a52;
	--mb-focus: #f7ca00;
}

/* Which line each screen belongs to (header stripe, hero bullet, row bullets). */
#lddfw_page.claim_orders { --mb-line-color: var(--mb-blue); }
#lddfw_page.assigned_orders { --mb-line-color: var(--mb-purple); }
#lddfw_page.out_for_delivery { --mb-line-color: var(--mb-orange); }
#lddfw_page.delivered { --mb-line-color: var(--mb-green); }
#lddfw_page.failed_delivery { --mb-line-color: var(--mb-red); }
#lddfw_page.order { --mb-line-color: var(--mb-blue); }
#lddfw_page.order:has(#lddfw_order_out_for_delivery_button) { --mb-line-color: var(--mb-purple); }
#lddfw_page.order:has(#lddfw_delivered_screen_btn) { --mb-line-color: var(--mb-orange); }

/* ---------- Base ---------- */
html body,
html body.dark {
	background: var(--mb-bg) !important;
	color: var(--mb-text) !important;
	font-family: var(--mb-body) !important;
	-webkit-font-smoothing: antialiased;
	-webkit-tap-highlight-color: transparent;
}
body #lddfw_page,
body #lddfw_page p,
body #lddfw_page td,
body #lddfw_page th,
body #lddfw_page label,
body #lddfw_page input,
body #lddfw_page select,
body #lddfw_page textarea,
body #lddfw_page .btn {
	font-family: var(--mb-body) !important;
}
body #lddfw_page h1,
body #lddfw_page h2,
body #lddfw_page h3,
body #lddfw_page h4,
body #lddfw_page .lddfw_title,
body #lddfw_page .lddfw-reviews-hero__name,
body #lddfw_page .lddfw-settings-hero__name,
body #lddfw_page .lddfw_header_title {
	font-family: var(--mb-display) !important;
	font-stretch: 108%;
	letter-spacing: -0.01em;
}
body #lddfw_page .woocommerce-Price-amount,
body #lddfw_page .lddfw_number,
body #lddfw_page .lddfw_counter {
	font-variant-numeric: tabular-nums;
}
body #lddfw_page a:focus-visible,
body #lddfw_page button:focus-visible,
body #lddfw_page input:focus-visible,
body #lddfw_page select:focus-visible,
body #lddfw_page textarea:focus-visible {
	outline: 3px solid var(--mb-focus) !important;
	outline-offset: 2px;
	box-shadow: none !important;
}

/* ---------- Sign bar (header) ---------- */
body #lddfw_page #lddfw_header {
	background: var(--mb-ink) !important;
	border-bottom: 0 !important;
	box-shadow: inset 0 -5px 0 var(--mb-line-color) !important;
	padding-bottom: 5px !important;
}
body #lddfw_page #lddfw_header .lddfw_header_title {
	color: var(--mb-on-ink) !important;
	font-weight: 800 !important;
	font-size: 21px !important;
}
body #lddfw_page #lddfw_header .lddfw-back-btn,
body #lddfw_page #lddfw_header .lddfw-theme-toggle,
body #lddfw_page #lddfw_header .lddfw-menu-trigger {
	background: var(--mb-ink-2) !important;
	color: var(--mb-on-ink) !important;
	border: 1px solid #2c333e !important;
	box-shadow: none !important;
}
body #lddfw_page #lddfw_header .lddfw-back-btn svg,
body #lddfw_page #lddfw_header .lddfw-theme-toggle svg,
body #lddfw_page #lddfw_header .lddfw-menu-trigger svg {
	color: var(--mb-on-ink) !important;
	fill: currentColor;
}
body #lddfw_page .lddfw-menu-trigger__badge {
	background: var(--mb-yellow) !important;
	color: var(--mb-ink) !important;
	font-weight: 800 !important;
	box-shadow: 0 0 0 2px var(--mb-ink) !important;
}

/* ---------- Side menu ---------- */
body #lddfw_page .lddfw-menu {
	background: var(--mb-card) !important;
	color: var(--mb-text) !important;
}
body #lddfw_page #lddfw_header .lddfw-menu a,
body #lddfw_page .lddfw-menu .lddfw-menu__label,
body #lddfw_page .lddfw-menu .lddfw-menu__name {
	color: var(--mb-text) !important;
}
body #lddfw_page .lddfw-menu__header {
	background: var(--mb-ink) !important;
	border-bottom: 5px solid var(--mb-yellow) !important;
}
body #lddfw_page #lddfw_header .lddfw-menu__header .lddfw-menu__name { color: var(--mb-on-ink) !important; font-family: var(--mb-display) !important; font-weight: 800 !important; }
body #lddfw_page .lddfw-menu__role { color: var(--mb-yellow) !important; }
body #lddfw_page #lddfw_header .lddfw-menu a.lddfw-menu__close { color: var(--mb-on-ink) !important; }
body #lddfw_page .lddfw-menu__section-title { color: var(--mb-muted) !important; letter-spacing: .08em; }
body #lddfw_page #lddfw_header .lddfw-menu .lddfw-menu__item {
	min-height: 52px;
	border-radius: 12px !important;
	background: transparent !important;
}
body #lddfw_page #lddfw_header .lddfw-menu .lddfw-menu__item.is-active {
	background: var(--mb-card-2) !important;
	box-shadow: inset 4px 0 0 var(--mb-yellow) !important;
}
body #lddfw_page .lddfw-menu__count {
	background: var(--mb-ink) !important;
	color: var(--mb-on-ink) !important;
	border-radius: 999px !important;
	min-width: 26px; text-align: center; font-weight: 700 !important;
}
body.dark #lddfw_page .lddfw-menu__count { background: var(--mb-card-2) !important; }
body #lddfw_page .lddfw-menu__item--claim .lddfw-menu__icon { color: var(--mb-blue) !important; }
body #lddfw_page .lddfw-menu__item--assign .lddfw-menu__icon { color: var(--mb-purple) !important; }
body #lddfw_page .lddfw-menu__item--out .lddfw-menu__icon { color: var(--mb-orange) !important; }
body #lddfw_page .lddfw-menu__item--failed .lddfw-menu__icon { color: var(--mb-red) !important; }
body #lddfw_page .lddfw-menu__item--delivered .lddfw-menu__icon { color: var(--mb-green) !important; }

/* ---------- Cards ---------- */
body #lddfw_page .lddfw_box {
	background: var(--mb-card) !important;
	border: 1px solid var(--mb-line) !important;
	border-radius: var(--mb-r-card) !important;
	box-shadow: 0 1px 2px rgba(14, 17, 22, .06) !important;
	color: var(--mb-text) !important;
}
body.dark #lddfw_page .lddfw_box { box-shadow: none !important; }
body #lddfw_page .lddfw_box .lddfw_title {
	color: var(--mb-text) !important;
	font-weight: 800 !important;
}
body #lddfw_page .lddfw_label,
body #lddfw_page .lddfw-kpi-card__eyebrow,
body #lddfw_page .lddfw-order-stat-card__label {
	color: var(--mb-muted) !important;
}

/* ---------- Hero = station sign ---------- */
body #lddfw_page .lddfw-reviews-hero,
body #lddfw_page .lddfw-settings-hero {
	background: var(--mb-ink) !important;
	background-image: none !important;
	color: var(--mb-on-ink) !important;
	border-radius: 0 0 var(--mb-r-card) var(--mb-r-card) !important;
	box-shadow: none !important;
	border: 0 !important;
}
body #lddfw_page .lddfw-reviews-hero__eyebrow,
body #lddfw_page .lddfw-settings-hero__eyebrow {
	color: #b9c2cd !important;
	letter-spacing: .08em;
}
body #lddfw_page .lddfw-reviews-hero__name,
body #lddfw_page .lddfw-settings-hero__name {
	color: #fff !important;
	font-weight: 900 !important;
	font-size: 26px !important;
	line-height: 1.1 !important;
}
body #lddfw_page .lddfw-reviews-hero__subtitle { color: #c9d0d9 !important; }
body #lddfw_page .lddfw-reviews-hero__avatar--icon {
	background: var(--mb-line-color) !important;
	color: #fff !important;
	border: 0 !important;
	box-shadow: none !important;
}
body #lddfw_page .lddfw-reviews-hero__avatar--icon svg { color: #fff !important; fill: currentColor; }
body #lddfw_page.dashboard .lddfw-reviews-hero__avatar--icon,
body #lddfw_page.claim_orders .lddfw-reviews-hero__avatar--icon { color: #fff !important; }
body #lddfw_page .lddfw-reviews-hero__count-pill,
body #lddfw_page .lddfw-reviews-hero__role,
body #lddfw_page .lddfw-settings-hero__role {
	background: var(--mb-yellow) !important;
	color: var(--mb-ink) !important;
	font-weight: 700 !important;
	border: 0 !important;
}

/* List / Map switch */
body #lddfw_page .lddfw-claim-viewswitch {
	background: var(--mb-card) !important;
	border: 1px solid var(--mb-line) !important;
	border-radius: 999px !important;
	box-shadow: none !important;
}
body #lddfw_page .lddfw-claim-viewswitch__btn {
	min-height: 44px;
	color: var(--mb-muted) !important;
	border-radius: 999px !important;
	font-weight: 700 !important;
}
body #lddfw_page .lddfw-claim-viewswitch__btn.is-active {
	background: var(--mb-ink) !important;
	background-image: none !important;
	color: #fff !important;
	box-shadow: none !important;
}
body.dark #lddfw_page .lddfw-claim-viewswitch__btn.is-active { background: var(--mb-on-ink) !important; color: var(--mb-ink) !important; }

/* ---------- Order rows ---------- */
body #lddfw_page .lddfw_order_number b {
	font-family: var(--mb-display) !important;
	font-weight: 800 !important;
	font-size: 19px !important;
	color: var(--mb-text) !important;
}
body #lddfw_page .lddfw_counter,
body #lddfw_page .lddfw_index {
	background: var(--mb-line-color) !important;
	color: #fff !important;
	border: 0 !important;
	font-weight: 800 !important;
	font-family: var(--mb-display) !important;
	box-shadow: none !important;
}
body #lddfw_page.claim_orders .lddfw_counter,
body #lddfw_page.claim_orders .lddfw_index { color: #fff !important; }
body #lddfw_page .lddfw_order_address,
body #lddfw_page .lddfw_order_distance,
body #lddfw_page .lddfw_order_delivered_date {
	color: var(--mb-text) !important;
	font-size: 16px !important;
	line-height: 1.45 !important;
}
body #lddfw_page .lddfw_order_distance { color: var(--mb-muted) !important; font-weight: 600; }
body #lddfw_page .lddfw_order_address svg,
body #lddfw_page .lddfw_order_distance svg { color: var(--mb-line-color) !important; }
body #lddfw_page .lddfw_order_view.btn {
	background: transparent !important;
	background-image: none !important;
	color: var(--mb-text) !important;
	border: 1.5px solid var(--mb-line) !important;
	border-radius: 999px !important;
	font-weight: 700 !important;
	min-height: 40px;
	padding: 8px 14px !important;
	box-shadow: none !important;
}
body #lddfw_page .lddfw_multi_checkbox:has(input:checked) {
	border-color: var(--mb-line-color) !important;
	box-shadow: 0 0 0 2px var(--mb-line-color) !important;
}
/* Big, thumb-sized order checkboxes */
body #lddfw_page .lddfw_order_checkbox .custom-control-label::before,
body #lddfw_page .lddfw_order_checkbox .custom-control-label::after {
	width: 26px !important;
	height: 26px !important;
}
body #lddfw_page .custom-checkbox .custom-control-input:checked ~ .custom-control-label::before,
body #lddfw_page .custom-radio .custom-control-input:checked ~ .custom-control-label::before {
	background-color: var(--mb-line-color) !important;
	border-color: var(--mb-line-color) !important;
}

/* Pay chip + items (added by class-mbd-portal-ui.php) */
body #lddfw_page .mbd-row-facts {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 12px 0 2px;
}
body #lddfw_page .mbd-pay {
	display: inline-block;
	padding: 7px 12px;
	border-radius: 10px;
	font-weight: 800;
	font-size: 15px;
	line-height: 1.2;
}
body #lddfw_page .mbd-pay .woocommerce-Price-amount { color: inherit !important; font-weight: inherit; }
body #lddfw_page .mbd-pay--collect { background: var(--mb-yellow); color: var(--mb-ink); }
body #lddfw_page .mbd-pay--cash { background: var(--mb-card-2); color: var(--mb-text); border: 1px solid var(--mb-line); }
body #lddfw_page .mbd-pay--paid { background: rgba(0, 147, 60, .12); color: var(--mb-green); }
body #lddfw_page .mbd-pay--due { background: transparent; color: var(--mb-orange); border: 1.5px solid var(--mb-orange); }
body #lddfw_page .mbd-items { color: var(--mb-muted); font-weight: 600; font-size: 15px; }

/* Cash to collect on the order screen */
body #lddfw_page .mbd-cash {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 6px 0 10px;
	padding: 14px 16px;
	border-radius: 14px;
	background: var(--mb-yellow);
	color: var(--mb-ink);
}
body #lddfw_page .mbd-cash__label { font-weight: 800; font-size: 15px; text-transform: uppercase; letter-spacing: .06em; }
body #lddfw_page .mbd-cash__amount,
body #lddfw_page .mbd-cash__amount .woocommerce-Price-amount {
	font-family: var(--mb-display);
	font-stretch: 110%;
	font-weight: 900;
	font-size: 32px;
	line-height: 1;
	color: var(--mb-ink) !important;
}

/* Order screen info lines */
body #lddfw_page #lddfw_order_total,
body #lddfw_page #lddfw_order_total .woocommerce-Price-amount { color: var(--mb-text) !important; font-weight: 800; }
body #lddfw_page #lddfw_order_status { font-weight: 700; }

/* ---------- Buttons ---------- */
body #lddfw_page .btn {
	border-radius: var(--mb-r-btn) !important;
	font-weight: 700 !important;
	box-shadow: none !important;
	text-shadow: none !important;
	transition: transform .08s ease, filter .12s ease;
}
body #lddfw_page .btn:active { transform: translateY(1px) scale(.99); }
body #lddfw_page .btn-lg {
	min-height: var(--mb-tap);
	font-size: 18px !important;
	font-family: var(--mb-display) !important;
	font-stretch: 105%;
	font-weight: 800 !important;
	padding-top: 14px !important;
	padding-bottom: 14px !important;
	line-height: 1.2 !important;
}
body #lddfw_page .btn-primary,
body #lddfw_page .btn-primary:hover,
body #lddfw_page .btn-primary:focus {
	background: var(--mb-yellow) !important;
	background-image: none !important;
	border-color: var(--mb-yellow) !important;
	color: var(--mb-ink) !important;
}
body #lddfw_page .btn-primary:active { background: var(--mb-yellow-press) !important; }
body #lddfw_page .btn-primary svg { color: var(--mb-ink) !important; fill: currentColor; }
body #lddfw_page .btn-success,
body #lddfw_page .btn-success:hover,
body #lddfw_page .btn-success:focus {
	background: var(--mb-green) !important;
	background-image: none !important;
	border-color: var(--mb-green) !important;
	color: #fff !important;
}
body.dark #lddfw_page .btn-success { background: #00933c !important; border-color: #00933c !important; }
body #lddfw_page .btn-danger,
body #lddfw_page .btn-danger:hover,
body #lddfw_page .btn-danger:focus {
	background: #d62b24 !important;
	background-image: none !important;
	border-color: #d62b24 !important;
	color: #fff !important;
}
body #lddfw_page .btn-secondary,
body #lddfw_page .btn-secondary:hover,
body #lddfw_page .btn-secondary:focus {
	background: var(--mb-card-2) !important;
	background-image: none !important;
	border: 1.5px solid var(--mb-line) !important;
	color: var(--mb-text) !important;
}
body #lddfw_page .lddfw_box .btn-secondary.btn-block { min-height: 50px; padding-top: 13px !important; padding-bottom: 13px !important; }
html body #lddfw_page #lddfw_thankyou .btn-primary,
html body #lddfw_page .lddfw_lightbox .btn-primary {
	background: var(--mb-yellow) !important;
	border-color: var(--mb-yellow) !important;
	color: var(--mb-ink) !important;
}

/* Sticky action bar: one main action, always under the thumb */
body #lddfw_page .lddfw_footer_buttons {
	background: var(--mb-card) !important;
	border-top: 1px solid var(--mb-line) !important;
	box-shadow: 0 -8px 24px rgba(14, 17, 22, .08) !important;
	padding-bottom: calc(10px + env(safe-area-inset-bottom)) !important;
}
body.dark #lddfw_page .lddfw_footer_buttons { box-shadow: none !important; }
/* "View Route" on out for delivery was an outline button: make it the main yellow action. */
body #lddfw_page.out_for_delivery .lddfw_footer_buttons .btn {
	background: var(--mb-yellow) !important;
	border-color: var(--mb-yellow) !important;
	color: var(--mb-ink) !important;
}
body #lddfw_page.out_for_delivery .lddfw_footer_buttons .btn svg { color: var(--mb-ink) !important; fill: currentColor; }

/* ---------- Dashboard ---------- */
body #lddfw_page .lddfw-greeting__hello {
	font-family: var(--mb-display) !important;
	font-weight: 800 !important;
	font-size: 19px !important;
	white-space: normal !important;
	overflow: visible !important;
	text-overflow: clip !important;
	color: var(--mb-text) !important;
}
body #lddfw_page .lddfw-greeting__date { color: var(--mb-muted) !important; }
body #lddfw_page .lddfw-kpi-card,
body #lddfw_page .lddfw-order-stat-card {
	border-left-width: 1px !important;
}
body #lddfw_page .lddfw-kpi-card__eyebrow,
body #lddfw_page .lddfw-order-stat-card__label { font-weight: 700 !important; letter-spacing: .06em; }
body #lddfw_page .lddfw-order-stat-card .lddfw_number {
	font-family: var(--mb-display) !important;
	font-weight: 900 !important;
	font-size: 34px !important;
	color: var(--mb-text) !important;
}
body #lddfw_page .lddfw-order-stat-card__icon {
	border-radius: 999px !important;
	color: #fff !important;
}
body #lddfw_page .lddfw-order-stat-card__icon svg { color: #fff !important; fill: currentColor; }
body #lddfw_page .lddfw-order-stat-card--claim .lddfw-order-stat-card__icon { background: var(--mb-blue) !important; }
body #lddfw_page .lddfw-order-stat-card--assign .lddfw-order-stat-card__icon { background: var(--mb-purple) !important; }
body #lddfw_page .lddfw-order-stat-card--failed .lddfw-order-stat-card__icon { background: var(--mb-red) !important; }
body #lddfw_page .lddfw-order-stat-card--delivered .lddfw-order-stat-card__icon { background: var(--mb-green) !important; }
body #lddfw_page .lddfw-order-stat-card--claim { box-shadow: inset 0 4px 0 var(--mb-blue) !important; }
body #lddfw_page .lddfw-order-stat-card--assign { box-shadow: inset 0 4px 0 var(--mb-purple) !important; }
body #lddfw_page .lddfw-order-stat-card--failed { box-shadow: inset 0 4px 0 var(--mb-red) !important; }
body #lddfw_page .lddfw-order-stat-card--delivered { box-shadow: inset 0 4px 0 var(--mb-green) !important; }
body #lddfw_page .lddfw-order-stat-card { border-left-color: var(--mb-line) !important; }

/* Out for Delivery tile = the departure board */
body #lddfw_page .lddfw-primary-cta {
	background: var(--mb-ink) !important;
	background-image: none !important;
	border: 0 !important;
	border-radius: var(--mb-r-card) !important;
	box-shadow: inset 0 -5px 0 var(--mb-orange) !important;
	min-height: 92px;
}
body #lddfw_page .lddfw-primary-cta__label {
	color: #fff !important;
	font-family: var(--mb-display) !important;
	font-stretch: 108%;
	font-weight: 900 !important;
	font-size: 19px !important;
	font-stretch: 100%;
}
body #lddfw_page .lddfw-primary-cta__sub { color: #c9d0d9 !important; }
body #lddfw_page .lddfw-primary-cta__icon {
	background: var(--mb-orange) !important;
	color: #fff !important;
	border-radius: 999px !important;
}
body #lddfw_page .lddfw-primary-cta__icon svg { color: #fff !important; fill: currentColor; }
body #lddfw_page .lddfw-primary-cta__count {
	background: var(--mb-yellow) !important;
	color: var(--mb-ink) !important;
	font-family: var(--mb-display) !important;
	font-weight: 900 !important;
	border-radius: 999px !important;
}
body #lddfw_page .lddfw-primary-cta--empty .lddfw-primary-cta__count { background: #2c333e !important; color: #c9d0d9 !important; }
body #lddfw_page .lddfw-primary-cta__chevron { color: #c9d0d9 !important; }

/* Availability / Track Me icon tiles */
body #lddfw_page .lddfw-kpi-card__icon {
	border-radius: 999px !important;
}
body #lddfw_page .lddfw-kpi-card--availability .lddfw-kpi-card__icon { background: var(--mb-card-2) !important; color: var(--mb-muted) !important; }
body #lddfw_page .lddfw-kpi-card--tracking .lddfw-kpi-card__icon { background: var(--mb-card-2) !important; color: var(--mb-blue) !important; }
body #lddfw_page #lddfw_availability_status { font-weight: 800; }

/* ---------- Delivery proof sheet (Delivered / Not Delivered) ---------- */
body #lddfw_page #lddfw_delivery_screen .lddfw_lightbox_wrap,
body #lddfw_page .lddfw_lightbox .lddfw_lightbox_wrap {
	background: var(--mb-bg) !important;
	color: var(--mb-text) !important;
}
body #lddfw_page #lddfw_delivery_screen .delivery_header {
	background: var(--mb-ink) !important;
	color: var(--mb-on-ink) !important;
	box-shadow: inset 0 -5px 0 var(--mb-line-color) !important;
}
body #lddfw_page #lddfw_delivery_screen .delivery_header h4 { color: var(--mb-on-ink) !important; font-weight: 800 !important; }
body #lddfw_page #lddfw_delivery_screen .delivery_header a { color: var(--mb-on-ink) !important; }
body #lddfw_page .lddfw_delivery_form .custom-control {
	min-height: var(--mb-tap);
	background: var(--mb-card) !important;
	border: 1.5px solid var(--mb-line) !important;
	border-radius: 14px !important;
	color: var(--mb-text) !important;
}
body #lddfw_page .lddfw_delivery_form .custom-control:has(input:checked) {
	border-color: var(--mb-line-color) !important;
	box-shadow: 0 0 0 2px var(--mb-line-color) !important;
	background: var(--mb-card) !important;
}
body #lddfw_page .lddfw_delivery_form .custom-control-label { color: var(--mb-text) !important; font-size: 17px !important; font-weight: 600; }
body #lddfw_page .delivery_proof_bar a {
	min-height: 64px;
	background: var(--mb-card) !important;
	border: 1.5px solid var(--mb-line) !important;
	border-radius: 14px !important;
	color: var(--mb-muted) !important;
	font-weight: 800 !important;
}
body #lddfw_page .delivery_proof_bar a.active {
	background: var(--mb-ink) !important;
	border-color: var(--mb-ink) !important;
	color: #fff !important;
	box-shadow: inset 0 -4px 0 var(--mb-yellow) !important;
}
body.dark #lddfw_page .delivery_proof_bar a.active { background: var(--mb-on-ink) !important; color: var(--mb-ink) !important; }
body #lddfw_page .delivery_proof_bar a svg { fill: currentColor; color: inherit !important; }

/* Confirm dialogs + thank you */
body #lddfw_page .lddfw_confirmation .lddfw_lightbox_wrap .container,
body #lddfw_page #lddfw_thankyou .lddfw_lightbox_wrap .container,
body #lddfw_page .lddfw_alert_screen .lddfw_lightbox_wrap .container {
	background: var(--mb-card) !important;
	border: 1px solid var(--mb-line) !important;
	border-radius: 20px !important;
	color: var(--mb-text) !important;
	box-shadow: 0 20px 60px rgba(0, 0, 0, .35) !important;
}
body #lddfw_page .lddfw_confirmation h2,
body #lddfw_page #lddfw_thankyou h1,
body #lddfw_page .lddfw_alert_screen h2 {
	color: var(--mb-text) !important;
	font-weight: 900 !important;
}
body #lddfw_page #lddfw_next_delivery { color: var(--mb-text) !important; font-size: 17px; }

/* ---------- Forms ---------- */
body #lddfw_page .form-control,
body #lddfw_page .custom-select {
	min-height: 52px;
	background: var(--mb-card) !important;
	color: var(--mb-text) !important;
	border: 1.5px solid var(--mb-line) !important;
	border-radius: 12px !important;
	font-size: 17px !important;
	box-shadow: none !important;
}
body #lddfw_page textarea.form-control { min-height: 110px; }
body #lddfw_page .form-control::placeholder { color: var(--mb-muted) !important; opacity: 1; }
body #lddfw_page .form-control:focus,
body #lddfw_page .custom-select:focus { border-color: var(--mb-focus) !important; }

/* ---------- Welcome + login ---------- */
body #lddfw_page #lddfw_home,
body #lddfw_page #lddfw_login,
body #lddfw_page #lddfw_forgot_password,
body #lddfw_page #lddfw_forgot_password_email_sent,
body #lddfw_page #lddfw_create_new_password,
body #lddfw_page #lddfw_new_password_created {
	--lddfw-home-bg: #0e1116;
	--lddfw-home-bg-soft: #0e1116;
	--lddfw-home-text: #ffffff;
	--lddfw-home-text-muted: #c9d0d9;
	--lddfw-home-cta-bg-1: #f7ca00;
	--lddfw-home-cta-bg-2: #f7ca00;
	--lddfw-home-cta-text: #0e1116;
	background: #0e1116 !important;
	background-image: none !important;
}
body #lddfw_page #lddfw_home h1 {
	color: #fff !important;
	font-weight: 900 !important;
	font-size: 34px !important;
}
body #lddfw_page #lddfw_home .lddfw-home__logo-tile {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}
body #lddfw_page #lddfw_start,
body #lddfw_page #lddfw_home .btn-primary {
	background: #f7ca00 !important;
	border-color: #f7ca00 !important;
	color: #0e1116 !important;
}
body #lddfw_page .lddfw-auth-card {
	background: #161a21 !important;
	border: 1px solid #2a313c !important;
	border-radius: 20px !important;
	box-shadow: none !important;
	color: #f3f5f8 !important;
}
body #lddfw_page .lddfw-auth-card h1 { color: #fff !important; font-weight: 900 !important; }
body #lddfw_page .lddfw-auth-card p,
body #lddfw_page .lddfw-auth-card a { color: #c9d0d9 !important; }
body #lddfw_page .lddfw-auth-card .form-control {
	background: #0e1116 !important;
	border-color: #2a313c !important;
	color: #fff !important;
}
body #lddfw_page .lddfw-auth-card .form-control::placeholder { color: #8d97a5 !important; }

/* ---------- Toasts ---------- */
.lddfw-toast,
#lddfw_toast_container .lddfw-toast {
	border-radius: 14px !important;
	font-family: var(--mb-body) !important;
}

@media (prefers-reduced-motion: reduce) {
	body #lddfw_page .btn { transition: none; }
	body #lddfw_page .btn:active { transform: none; }
}


/* Success footer after Claim / Out for delivery ("View orders" / "Claim more"): main action in yellow. */
body #lddfw_page .lddfw-claim-cta .lddfw-claim-cta__btn--primary {
	background: var(--mb-yellow) !important;
	background-image: none !important;
	border-color: var(--mb-yellow) !important;
	color: var(--mb-ink) !important;
	box-shadow: none !important;
	font-weight: 800 !important;
}
body #lddfw_page .lddfw-claim-cta .lddfw-claim-cta__btn--primary svg { color: var(--mb-ink) !important; fill: currentColor; }

/* QA DLV-08b: a button whose request is in flight */
.mbd-busy { opacity: .55 !important; pointer-events: none; }

/* QA DLV-11: an update that did not reach the server (tap to send again) */
.mbd-not-saved { position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 99999; background: #d62b24; color: #fff; font-weight: 800; font-size: 17px; line-height: 1.35; padding: 16px 18px; border-radius: 14px; box-shadow: 0 6px 24px rgba(0,0,0,.35); cursor: pointer; }

/* Route settings in the page flow, collapsed to one line (Android QA 2026-10-23: it covered the order list). */
body #lddfw_page .mbd-route-settings { margin: 12px 0; padding: 10px 12px; }
body #lddfw_page .mbd-route-toggle { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 10px; min-height: 48px; padding: 8px 4px; background: none; border: 0; color: inherit; font-weight: 700; text-align: left; }
body #lddfw_page .mbd-route-toggle .mbd-route-sum { flex: 1 1 auto; overflow-wrap: anywhere; }
body #lddfw_page .mbd-route-toggle .mbd-route-change { flex: 0 0 auto; padding: 6px 14px; border-radius: 999px; border: 1px solid currentColor; font-size: 14px; }
body #lddfw_page .mbd-route-settings .btn { min-height: 44px; white-space: normal; }
body #lddfw_page .mbd-route-settings .row > .col { padding-left: 4px; padding-right: 4px; }
/* Settings: per-field errors (never silent). */
body #lddfw_page .mbd-field-error { display: block; margin-top: 6px; color: #d62b24; font-weight: 700; font-size: 14px; }
body.dark #lddfw_page .mbd-field-error { color: #ff7b72; }
body #lddfw_page #mbd-profile-result { margin: 0 0 14px; font-weight: 700; }
