/**
 * Xero WooCommerce Invoices - Frontend Styles
 */

/* Customer system notices: deliberately independent of custom financial-status colors. */
.xero-customer-notice {
	box-sizing: border-box;
	background: #000;
	color: #fff;
	border: 1px solid #000;
	border-left: 5px solid #A6D900;
	padding: 1rem;
	margin: 0 0 1rem;
	line-height: 1.6;
	overflow-wrap: anywhere;
}
.xero-customer-notice:focus {
	outline: 2px solid #A6D900;
	outline-offset: 3px;
}
.xero-customer-notice .xero-notice-reload {
	display: block;
	margin-top: 0.75rem;
	background: #A6D900;
	color: #000;
	border: 2px solid #A6D900;
	white-space: normal;
}
.xero-customer-notice .xero-notice-reload:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

/* CSS Custom Properties (Variables) - Default Values */
:root {
	/* Account Summary Cards */
	--xero-card-bg: #fff;
	--xero-card-border: #e0e0e0;
	--xero-card-border-radius: 4px;
	--xero-card-padding: 1.5em;
	--xero-card-gap: 1.5em;
	--xero-card-title-color: #666;
	--xero-card-title-size: 0.9em;
	--xero-card-title-weight: 600;
	--xero-card-amount-color: #333;
	--xero-card-amount-size: 1.8em;
	--xero-card-amount-weight: 700;
	--xero-card-overdue-color: #d63638;
	--xero-card-status-size: 1.2em;
	--xero-card-status-weight: 600;
	--xero-status-up-to-date-color: #00a32a;
	--xero-status-overdue-color: #d63638;
	
	/* Typography */
	--xero-font-family: inherit;
	--xero-heading-color: #333;
	--xero-text-color: #333;
	--xero-text-secondary-color: #666;
	
	/* Spacing */
	--xero-section-margin-bottom: 2em;
	--xero-section-margin-top: 2em;
	--xero-element-gap: 1em;
	
	/* Filters */
	--xero-filter-bg: #f9f9f9;
	--xero-filter-padding: 1em;
	--xero-filter-border-radius: 4px;
	--xero-filter-input-border: #ddd;
	--xero-filter-input-padding: 0.5em;
	--xero-filter-input-border-radius: 4px;
	
	/* Tables */
	--xero-table-header-bg: #f5f5f5;
	--xero-table-header-color: #333;
	--xero-table-header-weight: 600;
	--xero-table-cell-padding: 1em;
	--xero-table-border-color: #e0e0e0;
	--xero-table-header-border: #ddd;
	--xero-table-row-hover-bg: #f9f9f9;
	
	/* Status Badges */
	--xero-badge-padding: 0.25em 0.75em;
	--xero-badge-border-radius: 3px;
	--xero-badge-font-size: 0.85em;
	--xero-badge-font-weight: 600;
	--xero-badge-paid-bg: #d4edda;
	--xero-badge-paid-color: #155724;
	--xero-badge-unpaid-bg: #fff3cd;
	--xero-badge-unpaid-color: #856404;
	--xero-badge-overdue-bg: #f8d7da;
	--xero-badge-overdue-color: #721c24;
	
	/* Buttons */
	--xero-button-primary-bg: #0073aa;
	--xero-button-primary-color: #fff;
	--xero-button-primary-hover-bg: #005a87;
	--xero-button-primary-border-radius: 4px;
	--xero-button-primary-padding: 0.75em 1.5em;
	--xero-button-primary-font-weight: 600;
	--xero-button-secondary-bg: #46b450;
	--xero-button-secondary-color: #fff;
	--xero-button-secondary-hover-bg: #3a9e42;
	--xero-button-border-radius: 4px;
	
	/* Borders & Dividers */
	--xero-border-color: #e0e0e0;
	--xero-border-width: 1px;
	--xero-border-radius: 4px;
	
	/* Shadows */
	--xero-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.1);
	--xero-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.15);
	--xero-shadow-lg: 0 4px 20px rgba(0, 0, 0, 0.3);
	
	/* Toast Notifications */
	--xero-toast-bg: #fff;
	--xero-toast-border: #a6d900;
	--xero-toast-border-width: 2px;
	--xero-toast-border-radius: 8px;
	--xero-toast-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	--xero-toast-icon-bg: #a6d900;
	--xero-toast-icon-color: #111;
	--xero-toast-title-color: #333;
	--xero-toast-text-color: #666;
	--xero-toast-button-bg: #a6d900;
	--xero-toast-button-color: #111;
	--xero-toast-button-hover-bg: #b8e52c;
	
	/* Overdue Notices */
	--xero-notice-bg: #fff;
	--xero-notice-border: #a6d900;
	--xero-notice-border-width: 2px;
	--xero-notice-border-radius: 8px;
	--xero-notice-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	--xero-notice-icon-bg: #a6d900;
	--xero-notice-icon-color: #111;
	--xero-notice-title-color: #111;
	--xero-notice-text-color: #333;
	--xero-notice-padding: 1.5em;
	
	/* Invoice Detail */
	--xero-invoice-detail-max-width: 900px;
	--xero-invoice-line-header-bg: #f5f5f5;
	--xero-invoice-line-header-border: #ddd;
	--xero-invoice-line-cell-padding: 0.75em;
	--xero-invoice-credit-row-bg: #f8f9fa;
	--xero-invoice-credit-row-color: #495057;
	--xero-invoice-credit-link-color: #0073aa;
	--xero-invoice-amount-due-bg: #fff3cd;
	--xero-invoice-amount-due-color: #856404;
	
	/* Credit Notes Section */
	--xero-credit-section-bg: #f9f9f9;
	--xero-credit-section-border: #e0e0e0;
	--xero-credit-section-padding: 1.5em;
	--xero-credit-section-border-radius: 4px;
	
	/* Modal */
	--xero-modal-overlay-bg: rgba(0, 0, 0, 0.5);
	--xero-modal-bg: #fff;
	--xero-modal-border-radius: 8px;
	--xero-modal-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
	--xero-modal-header-padding: 1.5em;
	--xero-modal-body-padding: 1.5em;
	--xero-modal-footer-padding: 1.5em;
	--xero-modal-border-color: #e0e0e0;
	
	/* No Invoices */
	--xero-empty-bg: #f9f9f9;
	--xero-empty-color: #666;
	--xero-empty-padding: 2em;
	--xero-empty-border-radius: 4px;
}

/* Account Summary */
.xero-account-summary {
	margin-bottom: var(--xero-section-margin-bottom);
}

.xero-account-summary-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1.5em;
	flex-wrap: wrap;
	gap: 1em;
}

.xero-account-summary-header h2 {
	margin: 0;
	color: var(--xero-heading-color);
	font-family: var(--xero-font-family);
}

.xero-last-synced {
	display: flex;
	align-items: center;
	gap: 0.5em;
	font-size: 0.9em;
	color: var(--xero-text-secondary-color);
	font-family: var(--xero-font-family);
}

.xero-last-synced .dashicons {
	font-size: 16px;
	width: 16px;
	height: 16px;
	color: var(--xero-text-secondary-color);
}

.xero-sync-label {
	font-weight: 500;
}

.xero-sync-time {
	font-weight: 600;
}

.xero-summary-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: var(--xero-card-gap);
	margin-top: 1em;
}

.xero-summary-card {
	background: var(--xero-card-bg);
	border: var(--xero-border-width) solid var(--xero-card-border);
	border-radius: var(--xero-card-border-radius);
	padding: var(--xero-card-padding);
	text-align: center;
}

.xero-summary-card h3 {
	margin: 0 0 0.5em;
	font-size: var(--xero-card-title-size);
	color: var(--xero-card-title-color);
	text-transform: uppercase;
	font-weight: var(--xero-card-title-weight);
	font-family: var(--xero-font-family);
}

.xero-summary-card .xero-amount {
	font-size: var(--xero-card-amount-size);
	font-weight: var(--xero-card-amount-weight);
	color: var(--xero-card-amount-color);
	margin: 0;
	font-family: var(--xero-font-family);
}

.xero-summary-card .xero-overdue {
	color: var(--xero-card-overdue-color);
}

.xero-summary-card .xero-status {
	font-size: var(--xero-card-status-size);
	font-weight: var(--xero-card-status-weight);
	margin: 0;
	font-family: var(--xero-font-family);
}

.xero-status-up_to_date {
	color: var(--xero-status-up-to-date-color);
}

.xero-status-overdue {
	color: var(--xero-status-overdue-color);
}

/* Invoices Section */
.xero-invoices-section {
	margin-top: var(--xero-section-margin-top);
}

.xero-invoices-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1.5em;
}

.xero-invoices-header h2 {
	margin: 0;
	color: var(--xero-heading-color);
	font-family: var(--xero-font-family);
}

.xero-invoices-actions {
	display: flex;
	gap: var(--xero-element-gap);
}

.xero-refresh-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	gap: 0.5em;
	padding: 0.5em 1em;
	line-height: 1.5;
	white-space: nowrap;
	vertical-align: middle;
}

.xero-refresh-btn .dashicons {
	font-size: 16px;
	width: 16px;
	height: 16px;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0;
	padding: 0;
	flex-shrink: 0;
	line-height: 1;
	vertical-align: middle;
	position: relative;
	top: 0.05em;
}

.xero-refresh-btn.loading .dashicons,
.xero-refresh-btn.xero-refreshing .dashicons,
.xero-spinning {
	animation: xero-spin 1s linear infinite;
}

.xero-refresh-btn.xero-refreshed {
	background-color: #46b450;
	border-color: #46b450;
	color: #fff;
}

.xero-refresh-btn.xero-refreshed .dashicons {
	color: #fff;
}

@keyframes xero-spin {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}

/* Filters */
.xero-invoices-filters {
	margin-bottom: 1.5em;
	padding: var(--xero-filter-padding);
	background: var(--xero-filter-bg);
	border-radius: var(--xero-filter-border-radius);
}

.xero-invoices-filters form {
	display: flex;
	gap: var(--xero-element-gap);
	align-items: flex-end;
	flex-wrap: wrap;
}

.xero-invoices-filters input[type="text"],
.xero-invoices-filters select {
	padding: var(--xero-filter-input-padding);
	border: var(--xero-border-width) solid var(--xero-filter-input-border);
	border-radius: var(--xero-filter-input-border-radius);
	font-family: var(--xero-font-family);
}

.xero-invoices-filters input[type="text"] {
	flex: 1;
	min-width: 200px;
}

/* Invoice Table */
.xero-invoices-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 1.5em;
	font-family: var(--xero-font-family);
}

.xero-invoices-table thead {
	background: var(--xero-table-header-bg);
}

.xero-invoices-table th {
	padding: var(--xero-table-cell-padding);
	text-align: left;
	font-weight: var(--xero-table-header-weight);
	border-bottom: 2px solid var(--xero-table-header-border);
	color: var(--xero-table-header-color);
}

.xero-invoices-table td {
	padding: var(--xero-table-cell-padding);
	border-bottom: var(--xero-border-width) solid var(--xero-table-border-color);
	color: var(--xero-text-color);
}

.xero-invoices-table tbody tr:hover {
	background: var(--xero-table-row-hover-bg);
}

.xero-checkbox-column {
	width: 40px;
	text-align: center;
}

/* Status Badges */
.xero-status-badge {
	display: inline-block;
	padding: var(--xero-badge-padding);
	border-radius: var(--xero-badge-border-radius);
	font-size: var(--xero-badge-font-size);
	font-weight: var(--xero-badge-font-weight);
	text-transform: uppercase;
	font-family: var(--xero-font-family);
}

.xero-status-paid {
	background: var(--xero-badge-paid-bg);
	color: var(--xero-badge-paid-color);
}

.xero-status-unpaid {
	background: var(--xero-badge-unpaid-bg);
	color: var(--xero-badge-unpaid-color);
}

.xero-status-overdue {
	background: var(--xero-badge-overdue-bg);
	color: var(--xero-badge-overdue-color);
}

/* Bulk Actions */
.xero-bulk-actions {
	margin-top: 1.5em;
	padding-top: 1.5em;
	border-top: var(--xero-border-width) solid var(--xero-border-color);
}

/* Invoice Detail */
.xero-invoice-detail {
	max-width: var(--xero-invoice-detail-max-width);
}

.xero-invoice-header {
	margin-bottom: var(--xero-section-margin-bottom);
}

.xero-invoice-info {
	margin-bottom: var(--xero-section-margin-bottom);
}

.xero-invoice-info h2 {
	margin-bottom: 1em;
	color: var(--xero-heading-color);
	font-family: var(--xero-font-family);
}

.xero-invoice-meta {
	display: flex;
	gap: 2em;
	flex-wrap: wrap;
	margin-bottom: 1.5em;
}

.xero-meta-item {
	display: flex;
	gap: 0.5em;
	align-items: center;
}

.xero-invoice-line-items {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: var(--xero-section-margin-bottom);
	font-family: var(--xero-font-family);
}

.xero-invoice-line-items th {
	background: var(--xero-invoice-line-header-bg);
	padding: var(--xero-invoice-line-cell-padding);
	text-align: left;
	border-bottom: 2px solid var(--xero-invoice-line-header-border);
	font-weight: var(--xero-table-header-weight);
	color: var(--xero-table-header-color);
}

.xero-invoice-line-items td {
	padding: var(--xero-invoice-line-cell-padding);
	border-bottom: var(--xero-border-width) solid var(--xero-table-border-color);
	color: var(--xero-text-color);
}

.xero-invoice-line-items tfoot td {
	font-weight: var(--xero-table-header-weight);
	border-top: 2px solid var(--xero-invoice-line-header-border);
	padding-top: 1em;
}

.xero-total-row td {
	font-size: 1.1em;
}

.xero-credit-allocation-row {
	background: var(--xero-invoice-credit-row-bg);
}

.xero-credit-allocation-row td {
	color: var(--xero-invoice-credit-row-color);
	font-style: italic;
}

.xero-credit-allocation-row td:first-child {
	color: var(--xero-invoice-credit-link-color);
}

.xero-amount-due-row {
	background: var(--xero-invoice-amount-due-bg);
}

.xero-amount-due-row td {
	color: var(--xero-invoice-amount-due-color);
}

.xero-invoice-actions {
	margin-top: var(--xero-section-margin-top);
	padding-top: var(--xero-section-margin-top);
	border-top: var(--xero-border-width) solid var(--xero-border-color);
}

/* No Invoices */
.xero-no-invoices {
	padding: var(--xero-empty-padding);
	text-align: center;
	color: var(--xero-empty-color);
	background: var(--xero-empty-bg);
	border-radius: var(--xero-empty-border-radius);
	font-family: var(--xero-font-family);
}

/* Responsive */
@media (max-width: 768px) {
	.xero-summary-cards {
		grid-template-columns: 1fr;
	}

	.xero-invoices-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 1em;
	}

	.xero-invoices-filters form {
		flex-direction: column;
		align-items: stretch;
	}

	.xero-invoices-filters input[type="text"],
	.xero-invoices-filters select {
		width: 100%;
	}

	.xero-invoices-table {
		font-size: 0.9em;
	}

	.xero-invoices-table th,
	.xero-invoices-table td {
		padding: 0.5em;
	}
}

/* Overdue Account Notices */
.xero-overdue-checkout-notice {
	background: var(--xero-notice-bg);
	border: var(--xero-notice-border-width) solid var(--xero-notice-border);
	border-radius: var(--xero-notice-border-radius);
	padding: 0;
	margin: 0 0 var(--xero-section-margin-bottom) 0;
	box-shadow: var(--xero-notice-shadow);
}

.xero-overdue-checkout-notice .xero-overdue-notice-content {
	display: flex;
	align-items: center;
	gap: 1.5em;
	padding: var(--xero-notice-padding);
}

.xero-overdue-notice-icon {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	background: var(--xero-notice-icon-bg);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.xero-overdue-notice-icon .dashicons {
	color: var(--xero-notice-icon-color);
	font-size: 24px;
	width: 24px;
	height: 24px;
}

.xero-overdue-notice-text {
	flex: 1;
}

.xero-overdue-notice-title {
	color: var(--xero-notice-title-color);
	font-size: 1.2em;
	display: block;
	margin-bottom: 0.5em;
	font-weight: 700;
	font-family: var(--xero-font-family);
}

.xero-overdue-notice-message {
	color: var(--xero-notice-text-color);
	margin: 0;
	font-size: 1em;
	line-height: 1.5;
	font-family: var(--xero-font-family);
}

.xero-overdue-notice-action {
	flex-shrink: 0;
}

.xero-pay-now-button {
	background: var(--xero-button-secondary-bg) !important;
	border-color: var(--xero-button-secondary-bg) !important;
	color: var(--xero-button-secondary-color) !important;
	text-decoration: none;
	display: inline-block;
	padding: var(--xero-button-primary-padding);
	border-radius: var(--xero-button-border-radius);
	font-weight: var(--xero-button-primary-font-weight);
	font-size: 1em;
	white-space: nowrap;
	transition: all 0.2s ease;
	font-family: var(--xero-font-family);
}

.xero-pay-now-button:hover {
	background: var(--xero-button-secondary-hover-bg) !important;
	border-color: var(--xero-button-secondary-hover-bg) !important;
	color: var(--xero-button-secondary-color) !important;
	transform: translateY(-1px);
	box-shadow: var(--xero-shadow-sm);
}

/* Note: Cart notice now uses the same styling as checkout notice (.xero-overdue-checkout-notice) */

/* Credit Hold Notice */
.xero-credit-hold-notice {
	background: var(--xero-notice-bg, #fff3cd);
	border: var(--xero-notice-border-width, 1px) solid var(--xero-notice-border, #ffc107);
	border-left: 4px solid var(--xero-notice-icon-bg, #ffc107);
	border-radius: var(--xero-notice-border-radius, 4px);
	padding: 0;
	margin: 0 0 var(--xero-section-margin-bottom, 1.5em) 0;
	box-shadow: var(--xero-notice-shadow, 0 1px 3px rgba(0,0,0,0.1));
}

.xero-credit-hold-notice .xero-overdue-notice-content {
	display: flex;
	align-items: center;
	gap: 1.5em;
	padding: var(--xero-notice-padding, 1.25em);
}

.xero-credit-hold-notice .xero-overdue-notice-icon {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	background: var(--xero-notice-icon-bg, #ffc107);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.xero-credit-hold-notice .xero-overdue-notice-icon .dashicons {
	color: var(--xero-notice-icon-color, #fff);
	font-size: 24px;
	width: 24px;
	height: 24px;
}

.xero-credit-hold-notice .xero-overdue-notice-title {
	color: var(--xero-notice-title-color, #856404);
	font-size: 1.2em;
	display: block;
	margin-bottom: 0.5em;
	font-weight: 700;
	font-family: var(--xero-font-family);
}

.xero-credit-hold-notice .xero-overdue-notice-message {
	color: var(--xero-notice-text-color, #856404);
	margin: 0;
	font-size: 1em;
	line-height: 1.5;
	font-family: var(--xero-font-family);
}

/* Pre-Paid Requirement Notice */
.xero-prepaid-requirement-notice {
	background: var(--xero-notice-bg, #e7f3ff);
	border: var(--xero-notice-border-width, 1px) solid var(--xero-notice-border, #2271b1);
	border-left: 4px solid var(--xero-notice-icon-bg, #2271b1);
	border-radius: var(--xero-notice-border-radius, 4px);
	padding: 0;
	margin: 0 0 var(--xero-section-margin-bottom, 1.5em) 0;
	box-shadow: var(--xero-notice-shadow, 0 1px 3px rgba(0,0,0,0.1));
}

.xero-prepaid-requirement-notice .xero-overdue-notice-content {
	display: flex;
	align-items: center;
	gap: 1.5em;
	padding: var(--xero-notice-padding, 1.25em);
}

.xero-prepaid-requirement-notice .xero-overdue-notice-icon {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	background: var(--xero-notice-icon-bg, #2271b1);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.xero-prepaid-requirement-notice .xero-overdue-notice-icon .dashicons {
	color: var(--xero-notice-icon-color, #fff);
	font-size: 24px;
	width: 24px;
	height: 24px;
}

.xero-prepaid-requirement-notice .xero-overdue-notice-title {
	color: var(--xero-notice-title-color, #2271b1);
	font-size: 1.2em;
	display: block;
	margin-bottom: 0.5em;
	font-weight: 700;
	font-family: var(--xero-font-family);
}

.xero-prepaid-requirement-notice .xero-overdue-notice-message {
	color: var(--xero-notice-text-color, #2271b1);
	margin: 0;
	font-size: 1em;
	line-height: 1.5;
	font-family: var(--xero-font-family);
}

/* Save Cart Button */
.xero-save-cart-button {
	background: var(--xero-button-primary-bg, #2271b1) !important;
	border-color: var(--xero-button-primary-bg, #2271b1) !important;
	color: var(--xero-button-primary-color, #fff) !important;
	text-decoration: none;
	display: inline-block;
	padding: var(--xero-button-primary-padding, 0.75em 1.5em);
	border-radius: var(--xero-button-border-radius, 4px);
	font-weight: var(--xero-button-primary-font-weight, 600);
	font-size: 1em;
	white-space: nowrap;
	transition: all 0.2s ease;
	font-family: var(--xero-font-family);
	margin-left: 0.5em;
	cursor: pointer;
}

.xero-save-cart-button:hover {
	background: var(--xero-button-primary-hover-bg, #135e96) !important;
	border-color: var(--xero-button-primary-hover-bg, #135e96) !important;
	color: var(--xero-button-primary-color, #fff) !important;
	transform: translateY(-1px);
	box-shadow: var(--xero-shadow-sm);
}

.xero-save-cart-button:disabled {
	opacity: 0.6;
	cursor: not-allowed;
	transform: none;
}

.xero-save-cart-button.saved {
	background: #46b450 !important;
	border-color: #46b450 !important;
}

/* Saved Cart Notification */
.xero-saved-cart-notice {
	background: var(--xero-saved-cart-bg, #f0f6fc);
	border: var(--xero-saved-cart-border-width, 1px) solid var(--xero-saved-cart-border, #c3c4c7);
	border-left: 4px solid var(--xero-saved-cart-accent-color, #46b450);
	border-radius: var(--xero-saved-cart-border-radius, 4px);
	padding: 0;
	margin: 0 0 var(--xero-section-margin-bottom, 1.5em) 0;
	box-shadow: var(--xero-saved-cart-shadow, 0 1px 3px rgba(0,0,0,0.1));
}

.xero-saved-cart-notice .xero-saved-cart-notice-content {
	display: flex;
	align-items: center;
	gap: 1.5em;
	padding: var(--xero-saved-cart-padding, 1.25em);
}

.xero-saved-cart-notice-icon {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	background: var(--xero-saved-cart-icon-bg, #46b450);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.xero-saved-cart-notice-icon .dashicons {
	color: var(--xero-saved-cart-icon-color, #fff);
	font-size: 24px;
	width: 24px;
	height: 24px;
}

.xero-saved-cart-notice-text {
	flex: 1;
}

.xero-saved-cart-notice-title {
	color: var(--xero-saved-cart-title-color, #46b450);
	font-size: 1.2em;
	display: block;
	margin-bottom: 0.5em;
	font-weight: 700;
	font-family: var(--xero-font-family);
}

.xero-saved-cart-notice-message {
	color: var(--xero-saved-cart-text-color, #50575e);
	margin: 0;
	font-size: 1em;
	line-height: 1.5;
	font-family: var(--xero-font-family);
}

.xero-saved-cart-notice-action {
	flex-shrink: 0;
	display: flex;
	gap: 0.5em;
}

.xero-restore-cart-button {
	background: var(--xero-saved-cart-button-bg, #2271b1) !important;
	border-color: var(--xero-saved-cart-button-bg, #2271b1) !important;
	color: var(--xero-saved-cart-button-color, #fff) !important;
	text-decoration: none;
	display: inline-block;
	padding: var(--xero-saved-cart-button-padding, 0.75em 1.5em);
	border-radius: var(--xero-saved-cart-button-border-radius, 4px);
	font-weight: var(--xero-saved-cart-button-font-weight, 600);
	font-size: 1em;
	white-space: nowrap;
	transition: all 0.2s ease;
	font-family: var(--xero-font-family);
	cursor: pointer;
}

.xero-restore-cart-button:hover {
	background: var(--xero-saved-cart-button-hover-bg, #135e96) !important;
	border-color: var(--xero-saved-cart-button-hover-bg, #135e96) !important;
	color: var(--xero-saved-cart-button-color, #fff) !important;
	transform: translateY(-1px);
	box-shadow: var(--xero-shadow-sm);
}

.xero-dismiss-cart-notice {
	background: var(--xero-saved-cart-dismiss-bg, transparent) !important;
	border: 1px solid var(--xero-saved-cart-dismiss-border, #c3c4c7) !important;
	color: var(--xero-saved-cart-dismiss-color, #50575e) !important;
	padding: var(--xero-saved-cart-button-padding, 0.75em 1.5em);
	border-radius: var(--xero-saved-cart-button-border-radius, 4px);
	cursor: pointer;
	transition: all 0.2s ease;
}

.xero-dismiss-cart-notice:hover {
	background: var(--xero-saved-cart-dismiss-hover-bg, #f0f0f1) !important;
	border-color: var(--xero-saved-cart-dismiss-border, #c3c4c7) !important;
}

/* Cart Toast Notification */
#xero-cart-toast-notification {
	position: fixed;
	top: 20px;
	right: 20px;
	background: var(--xero-saved-cart-toast-bg, #fff);
	border: 1px solid var(--xero-saved-cart-toast-border, #c3c4c7);
	border-left: 4px solid var(--xero-saved-cart-accent-color, #46b450);
	border-radius: var(--xero-saved-cart-toast-border-radius, 4px);
	box-shadow: var(--xero-saved-cart-toast-shadow, 0 2px 8px rgba(0,0,0,0.15));
	z-index: 999999;
	max-width: 400px;
	opacity: 0;
	transform: translateX(100%);
	transition: all 0.3s ease;
}

#xero-cart-toast-notification.xero-toast-show {
	opacity: 1;
	transform: translateX(0);
}

#xero-cart-toast-notification .xero-toast-content {
	display: flex;
	align-items: flex-start;
	gap: 1em;
	padding: var(--xero-saved-cart-toast-padding, 1.25em);
}

#xero-cart-toast-notification .xero-toast-icon {
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	background: var(--xero-saved-cart-icon-bg, #46b450);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

#xero-cart-toast-notification .xero-toast-icon .dashicons {
	color: var(--xero-saved-cart-icon-color, #fff);
	font-size: 18px;
	width: 18px;
	height: 18px;
}

#xero-cart-toast-notification .xero-toast-message {
	flex: 1;
}

#xero-cart-toast-notification .xero-toast-message strong {
	display: block;
	margin-bottom: 0.25em;
	color: var(--xero-saved-cart-title-color, #46b450);
	font-size: 1em;
}

#xero-cart-toast-notification .xero-toast-message p {
	margin: 0;
	color: var(--xero-saved-cart-text-color, #50575e);
	font-size: 0.9em;
	line-height: 1.4;
}

#xero-cart-toast-notification .xero-toast-actions {
	display: flex;
	flex-direction: column;
	gap: 0.5em;
	margin-top: 0.5em;
}

#xero-cart-toast-notification .xero-toast-button {
	background: var(--xero-saved-cart-button-bg, #2271b1);
	color: var(--xero-saved-cart-button-color, #fff);
	border: none;
	padding: 0.5em 1em;
	border-radius: var(--xero-saved-cart-button-border-radius, 4px);
	cursor: pointer;
	font-size: 0.9em;
	text-align: center;
	transition: background 0.2s ease;
}

#xero-cart-toast-notification .xero-toast-button:hover {
	background: var(--xero-saved-cart-button-hover-bg, #135e96);
}

#xero-cart-toast-notification .xero-toast-dismiss {
	background: transparent;
	border: none;
	color: var(--xero-saved-cart-dismiss-color, #50575e);
	cursor: pointer;
	padding: 0.25em;
	align-self: flex-end;
}

#xero-cart-toast-notification .xero-toast-dismiss:hover {
	color: var(--xero-saved-cart-title-color, #46b450);
}

/* Restore Cart Section on Account Page */
.xero-restore-cart-section {
	margin-top: 1.5em;
	padding: 1em;
	border: 1px solid #c3c4c7;
	border-radius: 4px;
}

.xero-restore-cart-section.xero-restore-cart-enabled {
	background: #f0f6fc;
	border-left: 4px solid #46b450;
}

.xero-restore-cart-section.xero-restore-cart-disabled {
	background: #fcf0f0;
	border-left: 4px solid #d63638;
}

.xero-restore-cart-section p {
	margin: 0;
	font-family: var(--xero-font-family);
}

.xero-restore-cart-section .xero-restore-cart-button {
	margin-top: 0.5em;
}

.xero-restore-cart-section .xero-restore-cart-button:disabled {
	opacity: 0.6;
	cursor: not-allowed !important;
	pointer-events: none;
}

/* Responsive adjustments for checkout notice */
@media (max-width: 768px) {
	.xero-overdue-checkout-notice .xero-overdue-notice-content {
		flex-direction: column;
		align-items: flex-start;
		text-align: left;
	}

	.xero-overdue-notice-icon {
		align-self: flex-start;
	}

	.xero-overdue-notice-action {
		width: 100%;
		display: flex;
		flex-direction: column;
		gap: 0.5em;
	}

	.xero-save-cart-button {
		margin-left: 0;
		width: 100%;
	}

	.xero-saved-cart-notice .xero-saved-cart-notice-content {
		flex-direction: column;
		align-items: flex-start;
		text-align: left;
	}

	.xero-saved-cart-notice-action {
		width: 100%;
		flex-direction: column;
	}

	.xero-restore-cart-button,
	.xero-dismiss-cart-notice {
		width: 100%;
	}

	#xero-cart-toast-notification {
		right: 10px;
		left: 10px;
		max-width: none;
	}

	.xero-pay-now-button {
		width: 100%;
		text-align: center;
	}
}

/* Credit Notes Section */
.xero-credit-notes-section {
	margin: var(--xero-section-margin-top) 0;
	padding: var(--xero-credit-section-padding);
	background: var(--xero-credit-section-bg);
	border: var(--xero-border-width) solid var(--xero-credit-section-border);
	border-radius: var(--xero-credit-section-border-radius);
}

.xero-credit-notes-header h2 {
	margin-top: 0;
}

.xero-credit-notes-table {
	margin-top: 1em;
}

.xero-no-credit-notes {
	padding: 1em;
	text-align: center;
	color: #666;
}

/* Credit Application Modal */
.xero-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--xero-modal-overlay-bg);
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
}

.xero-modal-content {
	background: var(--xero-modal-bg);
	border-radius: var(--xero-modal-border-radius);
	max-width: 500px;
	width: 90%;
	max-height: 90vh;
	overflow-y: auto;
	box-shadow: var(--xero-modal-shadow);
}

.xero-modal-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: var(--xero-modal-header-padding);
	border-bottom: var(--xero-border-width) solid var(--xero-modal-border-color);
}

.xero-modal-header h3 {
	margin: 0;
	color: var(--xero-heading-color);
	font-family: var(--xero-font-family);
}

.xero-modal-close {
	background: none;
	border: none;
	font-size: 24px;
	cursor: pointer;
	color: var(--xero-text-secondary-color);
	line-height: 1;
	padding: 0;
	width: 30px;
	height: 30px;
}

.xero-modal-close:hover {
	color: var(--xero-text-color);
}

.xero-modal-body {
	padding: var(--xero-modal-body-padding);
}

.xero-modal-footer {
	padding: var(--xero-modal-footer-padding);
	border-top: var(--xero-border-width) solid var(--xero-modal-border-color);
	display: flex;
	justify-content: flex-end;
	gap: var(--xero-element-gap);
}

.xero-form-field {
	margin-bottom: 1.5em;
}

.xero-form-field label {
	display: block;
	margin-bottom: 0.5em;
	font-weight: var(--xero-card-title-weight);
	font-family: var(--xero-font-family);
	color: var(--xero-text-color);
}

.xero-form-field input[type="number"],
.xero-form-field select {
	width: 100%;
	padding: var(--xero-filter-input-padding);
	border: var(--xero-border-width) solid var(--xero-filter-input-border);
	border-radius: var(--xero-filter-input-border-radius);
	font-family: var(--xero-font-family);
}

.xero-form-field .description {
	margin-top: 0.5em;
	font-size: 0.9em;
	color: var(--xero-text-secondary-color);
}

.xero-new-balance {
	font-size: 1.2em;
	font-weight: var(--xero-card-title-weight);
	color: var(--xero-button-primary-bg);
	margin: 0;
	font-family: var(--xero-font-family);
}

.xero-apply-credit-btn {
	margin: 0;
}

/* Toast Notification */
.xero-toast-notification {
	position: fixed;
	top: 20px;
	right: 20px;
	max-width: 400px;
	background: var(--xero-toast-bg);
	border: var(--xero-toast-border-width) solid var(--xero-toast-border);
	border-radius: var(--xero-toast-border-radius);
	box-shadow: var(--xero-toast-shadow);
	z-index: 999999;
	opacity: 0;
	transform: translateX(100%);
	transition: all 0.3s ease;
	pointer-events: none;
}

.xero-toast-notification.xero-toast-show {
	opacity: 1;
	transform: translateX(0);
	pointer-events: auto;
}

.xero-toast-content {
	display: flex;
	align-items: flex-start;
	gap: var(--xero-element-gap);
	padding: 1.25em;
}

.xero-toast-icon {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	background: var(--xero-toast-icon-bg);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.xero-toast-icon .dashicons {
	color: var(--xero-toast-icon-color);
	font-size: 20px;
	width: 20px;
	height: 20px;
}

.xero-toast-message {
	flex: 1;
}

.xero-toast-message strong {
	color: var(--xero-toast-title-color);
	font-size: 1em;
	display: block;
	margin-bottom: 0.25em;
	font-family: var(--xero-font-family);
}

.xero-toast-message p {
	color: var(--xero-toast-text-color);
	margin: 0;
	font-size: 0.9em;
	line-height: 1.4;
	font-family: var(--xero-font-family);
}

.xero-toast-actions {
	display: flex;
	flex-direction: column;
	gap: 0.5em;
	flex-shrink: 0;
}

.xero-toast-button {
	background: var(--xero-toast-button-bg);
	color: var(--xero-toast-button-color);
	padding: 0.5em 1em;
	border-radius: var(--xero-button-border-radius);
	text-decoration: none;
	font-size: 0.85em;
	font-weight: var(--xero-button-primary-font-weight);
	white-space: nowrap;
	transition: background 0.2s ease;
	text-align: center;
	font-family: var(--xero-font-family);
}

.xero-toast-button:hover {
	background: var(--xero-toast-button-hover-bg);
	color: var(--xero-toast-button-color);
}

.xero-toast-dismiss {
	background: transparent;
	border: none;
	color: var(--xero-text-secondary-color);
	cursor: pointer;
	padding: 0.25em;
	line-height: 1;
	transition: color 0.2s ease;
	align-self: flex-end;
}

.xero-toast-dismiss:hover {
	color: var(--xero-text-color);
}

.xero-toast-dismiss .dashicons {
	font-size: 18px;
	width: 18px;
	height: 18px;
}

/* Responsive Toast */
@media (max-width: 768px) {
	.xero-toast-notification {
		top: 10px;
		right: 10px;
		left: 10px;
		max-width: none;
	}

	.xero-toast-content {
		flex-direction: column;
	}

	.xero-toast-actions {
		flex-direction: row;
		width: 100%;
	}

	.xero-toast-button {
		flex: 1;
		text-align: center;
	}
}



/* Brand notification surfaces locally; stored settings and business rules are unchanged. */
:is(.xero-toast-notification,.xero-overdue-checkout-notice,.xero-credit-hold-notice,.xero-prepaid-requirement-notice,.xero-saved-cart-notice) {
 --xero-toast-bg: #fff;
 --xero-toast-border: #a6d900;
 --xero-toast-icon-bg: #a6d900;
 --xero-toast-icon-color: #111;
 --xero-toast-title-color: #111;
 --xero-toast-text-color: #444;
 --xero-toast-button-bg: #a6d900;
 --xero-toast-button-color: #111;
 --xero-toast-button-hover-bg: #b8e52c;
 --xero-notice-bg: #fff;
 --xero-notice-border: #a6d900;
 --xero-notice-icon-bg: #a6d900;
 --xero-notice-icon-color: #111;
 --xero-notice-title-color: #111;
 --xero-notice-text-color: #333;
 --xero-notice-shadow: 0 2px 8px #0001;
 --xero-saved-cart-bg: #fff;
 --xero-saved-cart-accent-color: #a6d900;
 --xero-saved-cart-border: #a6d900;
 --xero-saved-cart-icon-bg: #a6d900;
 --xero-saved-cart-icon-color: #111;
 --xero-saved-cart-title-color: #111;
 --xero-saved-cart-button-bg: #a6d900;
 --xero-saved-cart-button-color: #111;
 --xero-saved-cart-button-hover-bg: #b8e52c;
 --xero-saved-cart-toast-border: #a6d900;
}
#xero-login-toast-notification, #xero-cart-toast-notification {
 width: 420px; max-width: calc(100vw - 32px); box-sizing: border-box;
 border-width: 1px; border-left-width: 4px; border-radius: 12px;
 box-shadow: 0 12px 40px #0002; right: 16px; top: 20px;
}
.admin-bar #xero-login-toast-notification, .admin-bar #xero-cart-toast-notification { top: 52px; }
#xero-login-toast-notification .xero-toast-content, #xero-cart-toast-notification .xero-toast-content {
 display: grid; grid-template-columns: 40px minmax(0,1fr); gap: 12px 14px; padding: 20px;
}
#xero-login-toast-notification .xero-toast-icon, #xero-cart-toast-notification .xero-toast-icon { width: 40px; height: 40px; border-radius: 10px; }
#xero-login-toast-notification .xero-toast-message, #xero-cart-toast-notification .xero-toast-message { padding-right: 24px; min-width: 0; }
#xero-login-toast-notification .xero-toast-message strong, #xero-cart-toast-notification .xero-toast-message strong { font-size: 16px; line-height: 1.4; margin-bottom: 6px; }
#xero-login-toast-notification .xero-toast-message p, #xero-cart-toast-notification .xero-toast-message p { font-size: 14px; line-height: 1.6; }
#xero-login-toast-notification .xero-toast-actions, #xero-cart-toast-notification .xero-toast-actions { grid-column: 2; margin: 0; width: auto; align-items: start; }
#xero-login-toast-notification .xero-toast-button, #xero-cart-toast-notification .xero-toast-button { min-height: 40px; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; border-radius: 6px; font-size: 13px; font-weight: 700; padding: 9px 16px; text-decoration: none; line-height: 1.5; }
#xero-login-toast-notification .xero-toast-dismiss, #xero-cart-toast-notification .xero-toast-dismiss { position: absolute; right: 8px; top: 8px; width: 32px; height: 32px; min-height: 32px; margin: 0; padding: 7px; border-radius: 6px; color: #444; }
#xero-login-toast-notification .xero-toast-dismiss:hover, #xero-cart-toast-notification .xero-toast-dismiss:hover { background: #f1f3ee; color: #111; }
:is(.xero-toast-notification,.xero-overdue-checkout-notice,.xero-saved-cart-notice,.xero-credit-hold-notice,.xero-prepaid-requirement-notice) :is(a,button):focus-visible { outline: 2px solid #111; outline-offset: 3px; box-shadow: 0 0 0 5px #a6d900; }
:is(.xero-overdue-checkout-notice,.xero-credit-hold-notice,.xero-prepaid-requirement-notice) { --xero-button-primary-bg: #111; --xero-button-primary-color: #fff; --xero-button-primary-hover-bg: #333; --xero-button-secondary-bg: #a6d900; --xero-button-secondary-color: #111; --xero-button-secondary-hover-bg: #b8e52c; }
:is(.xero-overdue-checkout-notice,.xero-credit-hold-notice,.xero-prepaid-requirement-notice,.xero-saved-cart-notice) { border-radius: 12px; }
:is(.xero-overdue-notice-icon,.xero-saved-cart-notice-icon) { border-radius: 10px; }
/* Crisp contextual line icons; no font dependency, no emoji. */
:is(.xero-toast-icon,.xero-overdue-notice-icon,.xero-saved-cart-notice-icon,.xero-toast-dismiss) .dashicons::before {
 content: ''; display: block; width: 100%; height: 100%; background: currentColor;
 -webkit-mask: var(--xero-notification-icon) center / contain no-repeat;
 mask: var(--xero-notification-icon) center / contain no-repeat;
}
.xero-toast-icon { --xero-notification-icon: url('../icons/receipt.svg'); }
.xero-overdue-notice-icon { --xero-notification-icon: url('../icons/alert.svg'); }
.xero-credit-hold-notice .xero-overdue-notice-icon { --xero-notification-icon: url('../icons/lock.svg'); }
.xero-prepaid-requirement-notice .xero-overdue-notice-icon { --xero-notification-icon: url('../icons/card.svg'); }
.xero-saved-cart-notice-icon, #xero-cart-toast-notification .xero-toast-icon { --xero-notification-icon: url('../icons/cart.svg'); }
.xero-toast-dismiss { --xero-notification-icon: url('../icons/close.svg'); }
@media (max-width: 782px) {
 .admin-bar #xero-login-toast-notification, .admin-bar #xero-cart-toast-notification { top: 60px; }
 #xero-login-toast-notification, #xero-cart-toast-notification { left: 12px; right: 12px; width: auto; max-width: none; }
 #xero-login-toast-notification .xero-toast-content, #xero-cart-toast-notification .xero-toast-content { padding: 16px; gap: 10px; }
 .xero-saved-cart-notice-action, .xero-overdue-notice-action { display: flex; flex-wrap: wrap; gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
 #xero-login-toast-notification, #xero-cart-toast-notification { transition: none; }
}

/* 1.0.4: black notification surfaces; override theme focus blue without removing focus. */
body :is(.xero-toast-notification,.xero-overdue-checkout-notice,.xero-credit-hold-notice,.xero-prepaid-requirement-notice,.xero-saved-cart-notice) {
 background: #000 !important; color: #fff !important; border-color: #a6d900 !important;
 --xero-toast-title-color: #fff; --xero-toast-text-color: #fff;
 --xero-notice-title-color: #fff; --xero-notice-text-color: #fff;
 --xero-saved-cart-title-color: #fff;
 --xero-button-primary-bg: #a6d900; --xero-button-primary-color: #000;
 --xero-button-primary-hover-bg: #b8e52c;
}
body :is(.xero-toast-notification,.xero-overdue-checkout-notice,.xero-credit-hold-notice,.xero-prepaid-requirement-notice,.xero-saved-cart-notice) :is(p,strong,h3,h4) { color: #fff !important; }
body :is(.xero-toast-notification,.xero-overdue-checkout-notice,.xero-credit-hold-notice,.xero-prepaid-requirement-notice,.xero-saved-cart-notice) a { color: #a6d900 !important; }
body :is(.xero-toast-notification,.xero-overdue-checkout-notice,.xero-credit-hold-notice,.xero-prepaid-requirement-notice,.xero-saved-cart-notice) :is(a.button,button.button,.xero-toast-button,.xero-saved-cart-button,.xero-pay-now-button) { background: #a6d900 !important; color: #000 !important; border-color: #a6d900 !important; }
body :is(.xero-toast-icon,.xero-overdue-notice-icon,.xero-saved-cart-notice-icon) { background: transparent !important; color: #a6d900 !important; }
body :is(.xero-toast-icon,.xero-overdue-notice-icon,.xero-saved-cart-notice-icon,.xero-toast-dismiss) .dashicons { color: #a6d900 !important; }
body :is(#xero-login-toast-notification,#xero-cart-toast-notification) .xero-toast-dismiss { color: #a6d900 !important; background: transparent !important; }
body :is(.xero-toast-notification,.xero-overdue-checkout-notice,.xero-credit-hold-notice,.xero-prepaid-requirement-notice,.xero-saved-cart-notice):focus,
body :is(.xero-toast-notification,.xero-overdue-checkout-notice,.xero-credit-hold-notice,.xero-prepaid-requirement-notice,.xero-saved-cart-notice) :is(a,button):focus { outline: 2px solid #a6d900 !important; outline-offset: 3px !important; box-shadow: none !important; }

body :is(#xero-login-toast-notification,#xero-cart-toast-notification):focus { outline: 2px solid #a6d900 !important; outline-offset: 3px !important; box-shadow: none !important; }
/* 1.0.5: protect overdue copy from storefront #wrapper #main text rules.
 * Scope to text/price nodes so action links and lime icons retain their palette. */
body .xero-overdue-checkout-notice .xero-overdue-notice-text,
body .xero-overdue-checkout-notice .xero-overdue-notice-text :is(strong,p,span,bdi),
body:not(.wp-admin) #wrapper #main .xero-overdue-checkout-notice .xero-overdue-notice-text,
body:not(.wp-admin) #wrapper #main .xero-overdue-checkout-notice .xero-overdue-notice-text :is(strong,p,span,bdi),
body #xero-login-toast-notification .xero-toast-message > :is(strong,p),
body:not(.wp-admin) #wrapper #main #xero-login-toast-notification .xero-toast-message > :is(strong,p) {
 color: #fff !important;
}
body #xero-login-toast-notification .xero-toast-message .woocommerce-Price-amount,
body #xero-login-toast-notification .xero-toast-message .woocommerce-Price-amount *,
body:not(.wp-admin) #wrapper #main #xero-login-toast-notification .xero-toast-message .woocommerce-Price-amount,
body:not(.wp-admin) #wrapper #main #xero-login-toast-notification .xero-toast-message .woocommerce-Price-amount * {
 color: #a6d900 !important;
 font-weight: 700 !important;
}

body #xero-login-toast-notification .xero-toast-button,
body:not(.wp-admin) #wrapper #main #xero-login-toast-notification .xero-toast-button {
 color: #000 !important;
}

/* Saved-cart surfaces share the site's existing #a6d900 notification palette. */
body .xero-account-summary .xero-restore-cart-section {
 background: #000 !important; color: #fff; border: 1px solid #a6d900;
 border-left-width: 4px; border-radius: 12px; padding: 24px; margin-top: 24px;
}
body :is(.xero-restore-cart-section,.xero-saved-cart-notice,#xero-cart-toast-notification),
body :is(.xero-restore-cart-section,.xero-saved-cart-notice,#xero-cart-toast-notification) :is(p,strong,span,bdi),
body:not(.wp-admin) #wrapper #main :is(.xero-restore-cart-section,.xero-saved-cart-notice,#xero-cart-toast-notification) :is(p,strong,span,bdi) {
 color: #fff !important;
}
body .xero-restore-cart-section > p { line-height: 1.6; margin: 0 0 16px; }
body .xero-restore-cart-section .xero-saved-cart-notice-title { font-weight: 700; margin: 8px 0; }
body :is(.xero-saved-cart-svg,.xero-saved-cart-notice-icon svg) { color: #a6d900; display: block; }
body :is(.xero-restore-cart-section,.xero-saved-cart-notice,#xero-cart-toast-notification) .xero-restore-cart-button {
 background: #a6d900 !important; border: 2px solid #a6d900 !important; color: #000 !important;
 opacity: 1 !important; min-height: 44px; padding: 10px 20px; border-radius: 6px;
 line-height: 1.4; font-weight: 700; text-shadow: none; box-shadow: none; white-space: normal;
}
body :is(.xero-restore-cart-section,.xero-saved-cart-notice,#xero-cart-toast-notification) .xero-restore-cart-button:hover:not(:disabled) {
 background: #fff !important; border-color: #fff !important; color: #000 !important;
}
body :is(.xero-restore-cart-section,.xero-saved-cart-notice,#xero-cart-toast-notification) .xero-restore-cart-button:disabled {
 background: #d4d9cc !important; border-color: #d4d9cc !important; cursor: not-allowed;
 transform: none; pointer-events: auto;
}
body :is(.xero-restore-cart-section,.xero-saved-cart-notice,#xero-cart-toast-notification) .xero-restore-cart-button[aria-busy="true"] {
 background: #a6d900 !important; border-color: #a6d900 !important; cursor: progress !important;
}
body :is(.xero-restore-cart-section,.xero-saved-cart-notice,#xero-cart-toast-notification) :is(button,.xero-restore-feedback):focus,
body:not(.wp-admin) #wrapper #main :is(.xero-restore-cart-section,.xero-saved-cart-notice,#xero-cart-toast-notification) :is(button,.xero-restore-feedback):focus {
 outline: 2px solid #a6d900 !important; outline-offset: 4px !important; box-shadow: none !important;
}
body .xero-restore-feedback { margin-top: 16px; padding: 12px; border-left: 2px solid #a6d900; color: #fff; overflow-wrap: anywhere; }
body .xero-saved-cart-notice > .xero-restore-feedback { margin: 0 20px 20px; }
/* Keep an empty live region mounted without a visible border or blank space. */
body :is(.xero-restore-cart-section,.xero-saved-cart-notice) .xero-restore-feedback:empty { margin: 0; padding: 0; border: 0; }
@media (max-width: 600px) {
 body .xero-restore-cart-section { padding: 20px; }
 body .xero-restore-cart-section .xero-restore-cart-button { width: 100%; margin: 0; }
}

/* State changes remain immediate and stationary when reduced motion is requested. */
@media (prefers-reduced-motion: reduce) {
 body :is(.xero-restore-cart-section,.xero-saved-cart-notice,#xero-cart-toast-notification) .xero-restore-cart-button {
  transition: none;
  transform: none;
 }
}

/* Account page tutorial tour */
.xero-account-page-shell {
	position: relative;
}

.xero-account-page-actions {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 0.75rem;
	margin: 0 0 1rem;
}

/* Prepaid copy: match the established black/white/lime notice palette and
 * outrank storefront #wrapper #main important text rules, only in this notice. */
body .xero-prepaid-requirement-notice .xero-overdue-notice-text,
body .xero-prepaid-requirement-notice :is(p,ul,ol,li,strong,.xero-overdue-notice-title),
body:not(.wp-admin) #wrapper #main .xero-prepaid-requirement-notice .xero-overdue-notice-text,
body:not(.wp-admin) #wrapper #main .xero-prepaid-requirement-notice :is(p,ul,ol,li,strong,.xero-overdue-notice-title) {
 color: #fff !important;
}
body .xero-prepaid-requirement-notice :is(a,a:hover,a:focus),
body:not(.wp-admin) #wrapper #main .xero-prepaid-requirement-notice :is(a,a:hover,a:focus) {
 color: #a6d900 !important;
 text-decoration: underline !important;
}
body .xero-prepaid-requirement-notice a:focus-visible,
body:not(.wp-admin) #wrapper #main .xero-prepaid-requirement-notice a:focus-visible {
 outline: 2px solid #a6d900 !important;
 outline-offset: 3px !important;
}

