/* Customer components consume the active theme palette; no global branding overrides. */
.cqm-status {
	align-items: center;
	background: var(--wp--preset--color--soft, var(--wp--preset--color--gray, var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas)))));
	border: 1px solid var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent)));
	border-radius: 999px;
	color: var(--wp--preset--color--primary-dark, var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)));
	display: inline-flex;
	font-size: .72rem;
	font-weight: 750;
	line-height: 1.2;
	padding: .38rem .65rem;
	white-space: nowrap;
}

.cqm-status.is-success { background: var(--wp--preset--color--soft, var(--wp--preset--color--gray, var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas))))); border-color: var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent))); color: var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)); }
.cqm-status.is-attention { background: var(--wp--preset--color--soft, var(--wp--preset--color--gray, var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas))))); border-color: var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent))); color: var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)); }
.cqm-status.is-progress { background: var(--wp--preset--color--soft, var(--wp--preset--color--gray, var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas))))); border-color: var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent))); color: var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)); }
.cqm-status.is-neutral { background: var(--wp--preset--color--soft, var(--wp--preset--color--gray, var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas))))); border-color: var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent))); color: var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)); }

.cqm-panel {
	background: var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas)));
	border: 1px solid var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent)));
	border-radius: .8rem;
	box-shadow: 0 6px 22px color-mix(in srgb, currentColor 5%, transparent);
	padding: clamp(1rem, 2.5vw, 1.75rem);
}

.cqm-panel h2,
.cqm-panel h3 { margin-top: 0; }
.cqm-table-wrap { overflow: auto; }
.cqm-cell-label { display: none; }
.cqm-meta { display: grid; gap: .65rem 1rem; grid-template-columns: minmax(8rem, 1fr) 3fr; margin: 1.5rem 0; }
.cqm-meta dt { font-weight: 700; }
.cqm-meta dd { margin: 0; }
.cqm-response { border-top: 1px solid var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent))); margin-top: 2rem; padding-top: 1.5rem; }
.cqm-response input,
.cqm-response textarea,
.cqm-line-note textarea { box-sizing: border-box; display: block; margin-top: .4rem; width: 100%; }
.cqm-line-note { display: block; font-size: .85rem; margin-top: .75rem; }

.cqm-revision-summary {
	background: color-mix(in srgb, var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)) 7%, var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas))));
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)) 22%, var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent))));
	border-radius: .75rem;
	margin: 1.5rem 0;
	padding: 1rem 1.1rem;
}
.cqm-revision-summary h3 { margin: 0 0 .35rem; }
.cqm-revision-summary p:last-child { color: var(--wp--preset--color--muted, inherit); margin: 0; }
.cqm-revision-downloads {
	background: var(--wp--preset--color--soft, var(--wp--preset--color--gray, var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas)))));
	border: 1px solid var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent)));
	border-radius: .75rem;
	margin: 1rem 0 1.5rem;
	padding: 1rem;
}
.cqm-revision-downloads h3 { font-size: 1rem; margin: 0 0 .75rem; }
.cqm-revision-downloads__list { display: grid; gap: .65rem; }
.cqm-revision-downloads__actions { align-items: center; display: flex; flex-wrap: wrap; gap: .55rem; }
.woocommerce .cqm-revision-downloads__actions .button { border-radius: .5rem; font-size: .78rem; font-weight: 760; padding: .65rem .9rem; }
.cqm-attachments,
.cqm-attachment-form {
	background: var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas)));
	border: 1px solid var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent)));
	border-radius: .75rem;
	margin: 1.25rem 0;
	padding: 1rem;
}
.cqm-attachments h3,
.cqm-attachment-form h3 { font-size: 1rem; margin: 0 0 .55rem; }
.cqm-attachments__list { display: grid; gap: .7rem; list-style: none; margin: .8rem 0 0; padding: 0; }
.cqm-attachments__list li { align-items: center; background: var(--wp--preset--color--soft, var(--wp--preset--color--gray, var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas))))); border: 1px solid var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent))); border-radius: .65rem; display: flex; gap: .85rem; justify-content: space-between; padding: .8rem; }
.cqm-attachments__list strong,
.cqm-attachments__list small { display: block; }
.cqm-attachments__list small { color: var(--wp--preset--color--muted, inherit); margin-top: .2rem; }
.cqm-attachment-form { display: grid; gap: .8rem; }
.cqm-attachment-form label { display: grid; gap: .35rem; }
.cqm-attachment-form input,
.cqm-attachment-form textarea { box-sizing: border-box; width: 100%; }
.cqm-commercial-record { margin: 1.25rem 0 1.5rem; }
.woocommerce table.cqm-commercial-table { border-color: var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent))); border-radius: .7rem; margin: 0; overflow: hidden; }
.woocommerce table.cqm-commercial-table th { color: var(--wp--preset--color--muted, inherit); font-size: .72rem; letter-spacing: .04em; text-transform: uppercase; }
.woocommerce table.cqm-commercial-table td,
.woocommerce table.cqm-commercial-table th { padding: .8rem .9rem; }
.woocommerce table.cqm-commercial-table td:first-child { color: var(--wp--preset--color--primary-dark, var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText))); }
.woocommerce table.cqm-commercial-table td:first-child small { color: var(--wp--preset--color--muted, inherit); display: block; margin-top: .25rem; }
.woocommerce table.cqm-commercial-table :is(th,td):not(:first-child) { text-align: right; }
.woocommerce table.cqm-commercial-table tfoot tr:last-child { background: color-mix(in srgb, var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)) 6%, var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas)))); }
.woocommerce table.cqm-commercial-table tfoot tr:last-child :is(th,td) { color: var(--wp--preset--color--primary-dark, var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText))); font-size: 1rem; font-weight: 800; }
.cqm-acceptance { align-items: flex-start; background: var(--wp--preset--color--soft, var(--wp--preset--color--gray, var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas))))); border: 1px solid var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent))); border-radius: .65rem; display: flex; gap: .7rem; line-height: 1.5; padding: .9rem; }
.cqm-acceptance input { flex: 0 0 auto; margin: .2rem 0 0; width: auto; }
.cqm-response-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1rem; }
.cqm-response-confirmations { display: grid; gap: .6rem; margin: 1rem 0; }
.cqm-response-confirmations label,
.cqm-acceptance { align-items: flex-start; display: flex; gap: .55rem; line-height: 1.45; }
.cqm-response-confirmations input,
.cqm-acceptance input { flex: 0 0 auto; margin-top: .2rem; min-height: auto; width: auto; }
.cqm-conversation { border-top: 1px solid var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent))); margin-top: 1.5rem; padding-top: 1.5rem; }
.cqm-conversation ol { display: grid; gap: .75rem; list-style: none; margin: .75rem 0 0; padding: 0; }
.cqm-conversation li { background: var(--wp--preset--color--soft, var(--wp--preset--color--gray, var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas))))); border: 1px solid var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent))); border-radius: .55rem; padding: .85rem; }
.cqm-conversation time { color: var(--wp--preset--color--muted, inherit); display: block; font-size: .72rem; margin-bottom: .25rem; }
.cqm-conversation p { margin: .35rem 0 0; }
.woocommerce .cqm-response-actions .button { background: var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas))); border: 1px solid var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)); border-radius: .5rem; color: var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)); font-size: .78rem; font-weight: 760; min-height: 2.75rem; padding: .7rem 1rem; }
.woocommerce .cqm-response-actions .button:hover { background: color-mix(in srgb, var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)) 7%, var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas)))); color: var(--wp--preset--color--primary-dark, var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText))); }
.woocommerce .cqm-response-actions .button.alt { background: var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)); color: var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas))); }
.woocommerce .cqm-response-actions .button.alt:hover { background: var(--wp--preset--color--primary-dark, var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText))); color: var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas))); }

.cqm-eyebrow {
	color: var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText));
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .12em;
	margin: 0 0 .45rem;
	text-transform: uppercase;
}

.cqm-section-heading {
	align-items: flex-start;
	display: flex;
	gap: 1.25rem;
	justify-content: space-between;
	margin-bottom: 1.25rem;
}

.cqm-section-heading h2,
.cqm-section-heading h3 { margin: 0 0 .35rem; }
.cqm-section-heading p:not(.cqm-eyebrow) { color: var(--wp--preset--color--muted, inherit); margin: 0; }

.cqm-product-note {
	background: var(--wp--preset--color--soft, var(--wp--preset--color--gray, var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas)))));
	border: 1px solid var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent)));
	border-radius: .75rem;
	margin: 1rem 0;
	padding: 1rem;
}
.cqm-product-note label,
.cqm-product-note textarea { display: block; width: 100%; }
.cqm-product-note textarea {
	box-sizing: border-box;
	margin-top: .55rem;
	min-height: 5.5rem;
}
.cqm-product-assurance {
	display: grid;
	gap: .65rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 1rem 0;
}
.cqm-product-assurance span {
	align-items: flex-start;
	background: var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas)));
	border: 1px solid var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent)));
	border-radius: .75rem;
	display: grid;
	gap: .2rem .55rem;
	grid-template-columns: auto 1fr;
	padding: .8rem;
}
.cqm-product-assurance .dashicons {
	color: var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText));
	grid-row: 1 / 3;
}
.cqm-product-assurance strong { color: var(--wp--preset--color--primary-dark, var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText))); line-height: 1.2; }
.cqm-product-assurance small { color: var(--wp--preset--color--muted, inherit); line-height: 1.35; }

.cqm-quote-progress {
	background: var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas)));
	border: 1px solid var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent)));
	border-radius: .85rem;
	margin: 0 0 1.2rem;
	padding: .85rem;
}
.cqm-quote-progress ol {
	display: grid;
	gap: .65rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}
.cqm-quote-progress li {
	align-items: center;
	color: var(--wp--preset--color--muted, inherit);
	display: flex;
	font-size: .85rem;
	font-weight: 750;
	gap: .55rem;
}
.cqm-quote-progress li.is-complete,
.cqm-quote-progress li.is-current { color: var(--wp--preset--color--primary-dark, var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText))); }
.cqm-quote-progress__number {
	align-items: center;
	background: var(--wp--preset--color--soft, var(--wp--preset--color--gray, var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas)))));
	border-radius: 999px;
	display: inline-flex;
	flex: 0 0 2rem;
	height: 2rem;
	justify-content: center;
	width: 2rem;
}
.cqm-quote-progress li.is-complete .cqm-quote-progress__number,
.cqm-quote-progress li.is-current .cqm-quote-progress__number {
	background: var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText));
	color: var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas)));
}

.woocommerce-checkout .cqm-checkout-intro {
	background: var(--wp--preset--color--soft, var(--wp--preset--color--gray, var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas)))));
	border: 1px solid var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent)));
	border-left: 4px solid var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText));
	border-radius: .65rem;
	display: grid;
	gap: .2rem;
	margin: 0 0 1rem;
	padding: .9rem 1rem;
}
.woocommerce-checkout .cqm-checkout-intro strong { color: var(--wp--preset--color--primary-dark, var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText))); }
.woocommerce-checkout .cqm-checkout-intro span { color: var(--wp--preset--color--muted, inherit); font-size: .86rem; line-height: 1.45; }
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout #ship-to-different-address {
	font-size: clamp(1.35rem, 2.2vw, 1.75rem);
	line-height: 1.2;
	margin-bottom: 1rem;
}
.woocommerce-checkout #ship-to-different-address label { align-items: flex-start; display: flex; gap: .55rem; }
.woocommerce-checkout #ship-to-different-address input { flex: 0 0 auto; margin-top: .35em; }
.woocommerce-checkout .cqm-business-name-field[hidden] { display: none !important; }
.woocommerce-checkout .cqm-details-confirmation {
	background: var(--wp--preset--color--soft, var(--wp--preset--color--gray, var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas)))));
	border: 1px solid var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent)));
	border-radius: .6rem;
	margin-top: .35rem;
	padding: .85rem 1rem;
}
.woocommerce-checkout .woocommerce-additional-fields textarea { min-height: 6.5rem; }

.woocommerce-cart .cqm-line-note { color: var(--wp--preset--color--muted, inherit); font-size: .76rem; font-weight: 700; margin-top: .65rem; }
.woocommerce-cart .cqm-line-note textarea {
	font-size: .88rem;
	font-weight: 400;
	line-height: 1.4;
	margin-top: .35rem;
	min-height: 4.25rem;
	padding: .65rem .75rem;
	resize: vertical;
}
.woocommerce-cart .cart_totals {
	background: var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas)));
	border: 1px solid var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent)));
	border-radius: .75rem;
	padding: 1rem;
}
.woocommerce-cart .cart_totals h2 { font-size: clamp(1.25rem, 2vw, 1.6rem); margin: 0 0 .75rem; }
.woocommerce-cart .wc-proceed-to-checkout .button { text-align: center; width: 100%; }

@media (max-width: 48rem) {
	.woocommerce-checkout .form-row-first,
	.woocommerce-checkout .form-row-last { float: none; width: 100%; }
	.woocommerce-cart .shop_table_responsive .product-thumbnail { display: none; }
	.woocommerce-cart .cqm-line-note textarea { min-height: 3.75rem; }
}

.cqm-auth-intro {
	align-items: center;
	background: var(--wp--preset--color--primary-dark, var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)));
	border-radius: 1rem;
	color: var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas)));
	display: grid;
	gap: 1.25rem;
	grid-template-columns: minmax(0, 1fr) minmax(18rem, .9fr);
	margin: 0 0 1.5rem;
	padding: clamp(1.25rem, 3vw, 2rem);
}
.cqm-auth-intro h2,
.cqm-auth-intro p { margin: 0; }
.cqm-auth-intro h2 { color: var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas))); margin-bottom: .45rem; }
.cqm-auth-intro__eyebrow {
	color: var(--wp--preset--color--accent, var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)));
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.cqm-auth-intro__benefits {
	display: grid;
	gap: .65rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.cqm-auth-intro__benefits li,
.cqm-auth-help {
	align-items: flex-start;
	display: flex;
	gap: .65rem;
}
.cqm-auth-intro__benefits li {
	background: color-mix(in srgb, var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas))) 9%, transparent);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas))) 14%, transparent);
	border-radius: .75rem;
	padding: .75rem;
}
.cqm-auth-intro__benefits .dashicons { color: var(--wp--preset--color--accent, var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText))); }
.cqm-auth-intro__benefits small,
.cqm-auth-help small {
	display: block;
	line-height: 1.35;
	opacity: .82;
}
.cqm-auth-form-intro { color: var(--wp--preset--color--muted, inherit); margin-top: 0; }
.cqm-auth-help {
	background: var(--wp--preset--color--soft, var(--wp--preset--color--gray, var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas)))));
	border: 1px solid var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent)));
	border-radius: .7rem;
	margin-top: 1rem;
	padding: .8rem;
}
.cqm-auth-help .dashicons { color: var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)); }

/* Customer overview */
.cqm-customer-dashboard { display: grid; gap: 1.25rem; }
.cqm-customer-hero {
	align-items: center;
	background: var(--wp--preset--color--primary-dark, var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)));
	border-radius: .9rem;
	color: var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas)));
	display: flex;
	gap: 2rem;
	justify-content: space-between;
	overflow: hidden;
	padding: clamp(1.35rem, 3vw, 2.15rem);
	position: relative;
}
.cqm-customer-hero::after {
	background: radial-gradient(circle, color-mix(in srgb, var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas))) 17%, transparent), transparent 68%);
	content: "";
	height: 16rem;
	position: absolute;
	right: -5rem;
	top: -7rem;
	width: 16rem;
}
.cqm-customer-hero > * { position: relative; z-index: 1; }
.cqm-customer-hero .cqm-eyebrow { color: var(--wp--preset--color--accent, var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText))); }
.cqm-customer-hero h2 { color: var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas))); font-size: clamp(1.65rem, 3vw, 2.35rem); margin: 0 0 .5rem; }
.cqm-customer-hero p:not(.cqm-eyebrow) { color: var(--wp--preset--color--soft, var(--wp--preset--color--gray, var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas))))); margin: 0; max-width: 42rem; }
.cqm-customer-actions { display: flex; flex: 0 0 auto; gap: .65rem; }
.woocommerce .cqm-customer-actions .button { border-color: color-mix(in srgb, var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas))) 50%, transparent); }
.woocommerce .cqm-customer-actions .button:not(.alt) { background: color-mix(in srgb, var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas))) 10%, transparent); color: var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas))); }
.woocommerce .cqm-customer-actions .button.alt { background: var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas))); color: var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)); }

.cqm-customer-metrics { display: grid; gap: .85rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cqm-customer-metric {
	background: var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas)));
	border: 1px solid var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent)));
	border-radius: .75rem;
	display: grid;
	gap: .15rem;
	min-height: 7.25rem;
	overflow: hidden;
	padding: 1rem;
	position: relative;
}
.cqm-customer-metric::before { background: var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)); border-radius: 999px; content: ""; height: 3px; left: 1rem; position: absolute; top: 0; width: 2.2rem; }
.cqm-customer-metric:nth-child(2)::before { background: var(--wp--preset--color--warning, var(--wp--preset--color--accent, var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)))); }
.cqm-customer-metric:nth-child(3)::before { background: var(--wp--preset--color--success, var(--wp--preset--color--secondary, var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)))); }
.cqm-customer-metric:nth-child(4)::before { background: var(--wp--preset--color--accent, var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText))); }
.cqm-customer-metric strong { color: var(--wp--preset--color--primary-dark, var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText))); font-size: 1.55rem; line-height: 1; }
.cqm-customer-metric span { font-size: .78rem; font-weight: 760; }
.cqm-customer-metric small { color: var(--wp--preset--color--muted, inherit); font-size: .67rem; line-height: 1.4; }
.cqm-customer-metric.is-attention { background: var(--wp--preset--color--soft, var(--wp--preset--color--gray, var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas))))); border-color: var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent))); }
.cqm-customer-metric.is-attention strong { color: var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)); }

.cqm-customer-grid { display: grid; gap: 1rem; grid-template-columns: minmax(0, 1.45fr) minmax(16rem, .75fr); }
.cqm-customer-card { background: var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas))); border: 1px solid var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent))); border-radius: .8rem; padding: 1.25rem; }
.cqm-recent-list { display: grid; gap: .55rem; }
.cqm-recent-quote {
	align-items: center;
	background: var(--wp--preset--color--soft, var(--wp--preset--color--gray, var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas)))));
	border: 1px solid var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent)));
	border-radius: .6rem;
	color: var(--wp--preset--color--contrast, inherit);
	display: grid;
	gap: .75rem;
	grid-template-columns: minmax(0, 1fr) auto auto;
	padding: .9rem;
}
.cqm-recent-quote:hover { border-color: var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent))); }
.cqm-recent-quote > span:first-child { display: grid; gap: .15rem; }
.cqm-recent-quote small { color: var(--wp--preset--color--muted, inherit); }
.cqm-next-step ol { display: grid; gap: 1rem; list-style: none; margin: 1.25rem 0 0; padding: 0; }
.cqm-next-step li { align-items: flex-start; display: flex; gap: .75rem; }
.cqm-next-step li > span { align-items: center; background: var(--wp--preset--color--soft, var(--wp--preset--color--gray, var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas))))); border-radius: 50%; color: var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)); display: flex; flex: 0 0 1.8rem; font-size: .7rem; font-weight: 800; height: 1.8rem; justify-content: center; }
.cqm-next-step li div { display: grid; gap: .15rem; }
.cqm-next-step li small { color: var(--wp--preset--color--muted, inherit); line-height: 1.45; }
.cqm-empty-state { background: var(--wp--preset--color--soft, var(--wp--preset--color--gray, var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas))))); border: 1px dashed var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent))); border-radius: .65rem; padding: 1.5rem; text-align: center; }
.cqm-empty-state p { color: var(--wp--preset--color--muted, inherit); }

.cqm-quotes-panel .cqm-section-heading { margin-bottom: 1.5rem; }
.cqm-request-count { color: var(--wp--preset--color--muted, inherit); font-size: .78rem; font-weight: 750; white-space: nowrap; }
.cqm-quote-table { table-layout: auto; width: 100%; }
.cqm-quote-table th { color: var(--wp--preset--color--muted, inherit); font-size: .7rem; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.cqm-quote-table td { overflow-wrap: anywhere; vertical-align: middle; }
.cqm-quote-table td strong { color: var(--wp--preset--color--primary-dark, var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText))); }
.cqm-quote-ref strong,
.cqm-quote-ref small { display: block; }
.cqm-quote-ref strong { white-space: nowrap; }
.cqm-quote-ref small { color: var(--wp--preset--color--muted, inherit); font-size: .72rem; margin-top: .15rem; }
.cqm-quote-table td:nth-child(2),
.cqm-quote-table td:nth-child(4) { white-space: nowrap; }
.cqm-quote-action { text-align: right; }
.woocommerce .cqm-quote-action .button,
.woocommerce .cqm-quotes-panel .cqm-section-heading > .button {
	background: var(--wp--preset--color--primary-dark, var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)));
	border: 1px solid var(--wp--preset--color--primary-dark, var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)));
	border-radius: .45rem;
	color: var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas)));
	font-size: .78rem;
	font-weight: 750;
	padding: .58rem .8rem;
	text-decoration: none;
	white-space: nowrap;
}
.woocommerce .cqm-quote-action .button:hover,
.woocommerce .cqm-quotes-panel .cqm-section-heading > .button:hover { background: var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)); border-color: var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)); color: var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas))); }
.cqm-back-link { font-size: .85rem; margin: 0 0 1rem; }
.cqm-quote-detail__header { align-items: flex-start; border-bottom: 1px solid var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent))); display: flex; gap: 1rem; justify-content: space-between; margin-bottom: 1.25rem; padding-bottom: 1.1rem; }
.cqm-quote-detail__header h2 { margin: .15rem 0; }
.cqm-quote-detail__header small { color: var(--wp--preset--color--muted, inherit); }

@media (max-width: 70rem) {
	.cqm-customer-hero { align-items: flex-start; flex-direction: column; }
	.cqm-customer-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 62rem) {
	.cqm-customer-grid { grid-template-columns: 1fr; }
}

@media (max-width: 48rem) {
	.cqm-customer-hero { gap: 1.25rem; }
	.cqm-customer-actions { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
	.cqm-customer-actions .button { text-align: center; }
	.cqm-section-heading { align-items: flex-start; flex-direction: column; }
	.cqm-customer-metrics { gap: .65rem; }
	.cqm-customer-metric { min-height: 6.6rem; padding: .85rem; }
	.cqm-customer-metric::before { left: .85rem; }
	.cqm-customer-metric strong { font-size: 1.35rem; }
	.cqm-recent-quote { align-items: flex-start; grid-template-columns: 1fr auto; }
	.cqm-recent-quote > strong { grid-column: 1 / -1; }

	.cqm-quote-table,
	.cqm-quote-table tbody,
	.cqm-quote-table tr,
	.cqm-quote-table td { display: block; width: 100%; }
	.cqm-quote-table thead { display: none; }
	.woocommerce table.cqm-quote-table { background: transparent; border: 0; overflow: visible; }
	.woocommerce table.cqm-quote-table tr { background: var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas))); border: 1px solid var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent))); border-radius: .7rem; margin-bottom: .85rem; overflow: hidden; padding: .35rem 0; }
	.woocommerce table.cqm-quote-table td { align-items: center; border: 0; display: grid; gap: .75rem; grid-template-columns: minmax(6.75rem, .85fr) minmax(0, 1.15fr); padding: .55rem .8rem; text-align: left !important; }
	.woocommerce table.cqm-quote-table td + td { border-top: 1px solid var(--wp--preset--color--soft, var(--wp--preset--color--gray, var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas))))); }
	.cqm-cell-label { color: var(--wp--preset--color--muted, inherit); display: inline; font-size: .66rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
	.woocommerce table.cqm-quote-table td.cqm-quote-action { display: block; padding-top: .75rem; }
	.cqm-quote-ref strong,
	.cqm-quote-table td:nth-child(2),
	.cqm-quote-table td:nth-child(4) { white-space: normal; }
	.cqm-quote-action .button { text-align: center; width: 100%; }
	.cqm-quote-detail__header { align-items: flex-start; flex-direction: column; }
	.cqm-meta { grid-template-columns: 1fr; }
	.woocommerce table.cqm-commercial-table,
	.woocommerce table.cqm-commercial-table tbody,
	.woocommerce table.cqm-commercial-table tfoot,
	.woocommerce table.cqm-commercial-table tr,
	.woocommerce table.cqm-commercial-table td,
	.woocommerce table.cqm-commercial-table th { display: block; width: 100%; }
	.woocommerce table.cqm-commercial-table thead { display: none; }
	.woocommerce table.cqm-commercial-table tr { border-bottom: 1px solid var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent))); padding: .45rem 0; }
	.woocommerce table.cqm-commercial-table td { align-items: center; border: 0; display: grid; gap: 1rem; grid-template-columns: minmax(7rem, 1fr) minmax(0, 1.5fr); text-align: right; }
	.woocommerce table.cqm-commercial-table tbody td::before { color: var(--wp--preset--color--muted, inherit); content: attr(data-title); font-size: .68rem; font-weight: 800; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
	.woocommerce table.cqm-commercial-table tbody td:first-child { display: block; text-align: left; }
	.woocommerce table.cqm-commercial-table tbody td:first-child::before { display: none; }
	.woocommerce table.cqm-commercial-table tfoot th { display: block; text-align: left; }
	.woocommerce table.cqm-commercial-table tfoot td { text-align: right; }
	.cqm-response-actions { display: grid; grid-template-columns: 1fr; }
	.cqm-response-actions .button { text-align: center; width: 100%; }
}

@media (max-width: 34rem) {
	.cqm-customer-actions { grid-template-columns: 1fr; }
	.cqm-customer-card { padding: 1rem; }
}

@media (max-width: 22rem) {
	.cqm-customer-metrics { grid-template-columns: 1fr; }
}

/* Consistent, touch-friendly customer quote controls. */
.cqm-quote-detail *, .cqm-quote-detail { box-sizing: border-box; min-width: 0; }
.cqm-quote-detail :is(input,textarea,select) { font: inherit; max-width: 100%; }
.cqm-quote-detail :is(input:not([type=checkbox]):not([type=hidden]),textarea,select) { width: 100%; border: 1px solid var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent))); border-radius: 7px; padding: 10px 12px; min-height: 44px; background: var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas))); color: var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)); }
.cqm-quote-detail label { display: block; margin-bottom: 14px; }
.cqm-quote-detail .button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 18px; border: 1px solid var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)); border-radius: 7px; background: var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)); color: var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas))); font: inherit; font-weight: 650; text-decoration: none; white-space: normal; text-align: center; cursor: pointer; }
.cqm-quote-detail .button:hover { background: var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)); }
.cqm-quote-detail :is(button,a,input,select,textarea,summary):focus-visible { outline: 3px solid var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)); outline-offset: 3px; }
.cqm-quote-detail label.cqm-acceptance { display: flex; align-items: flex-start; gap: 10px; }
.cqm-acceptance input { flex: 0 0 auto; margin-top: 4px; }
.cqm-decision-fields { padding: 16px; margin: 16px 0; border: 1px solid var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent))); border-radius: 8px; }
.cqm-decision-fields[hidden] { display: none; }
.cqm-decision-total, .cqm-next-step { background: var(--wp--preset--color--soft, var(--wp--preset--color--gray, var(--wp--preset--color--surface, var(--wp--preset--color--base, var(--wp--preset--color--white, Canvas))))); padding: 16px; border-radius: 8px; }
.cqm-supporting-files { border: 1px solid var(--wp--preset--color--border, var(--wp--preset--color--pale-gray, color-mix(in srgb, currentColor 20%, transparent))); border-radius: 8px; padding: 16px; margin: 24px 0; }
.cqm-supporting-files > summary { font-weight: 700; cursor: pointer; min-height: 28px; }
.cqm-history li { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-bottom: 12px; }
.cqm-history time { color: var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)); }
.cqm-pending-drawer { font-size: 13px; color: var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)); }
.cqm-currency { color: var(--wp--preset--color--primary, var(--wp--preset--color--contrast, CanvasText)); font-weight: 650; }
@media (max-width: 48rem) {
 .cqm-commercial-record .cqm-table-wrap { overflow: visible; }
 .woocommerce table.cqm-commercial-table { min-width: 0; table-layout: fixed; }
 .woocommerce table.cqm-commercial-table td { padding: 10px 12px; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 8px; overflow-wrap: anywhere; }
 .woocommerce table.cqm-commercial-table tbody td:not(:first-child) > * { justify-self: end; }
 .woocommerce table.cqm-commercial-table tfoot tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); align-items: center; }
 .woocommerce table.cqm-commercial-table tfoot :is(th,td) { padding: 10px 12px; border: 0; width: auto; }
 .woocommerce table.cqm-commercial-table tfoot td { display: block; }
}

/* Keep account values inside their theme-sized containers on narrow screens. */
.cqm-account-contact-summary .cqm-meta > *,
.cqm-account-representative { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 48rem) {
 .woocommerce table.cqm-quote-table :is(tr,td) { box-sizing: border-box; }
 .woocommerce table.cqm-quote-table td { min-width: 0; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
}
/* Original-theme account headings must also wrap long customer names. */
.cqm-account-representative ~ .codex-account-dashboard { min-width: 0; overflow-wrap: anywhere; }

/* Adapt to the account content width, including its desktop sidebar. */
.cqm-quotes-panel { container-type: inline-size; container-name: cqm-quotes; min-width: 0; }
.woocommerce table.cqm-quote-table .cqm-quote-action .button { display:inline-flex; align-items:center; justify-content:center; min-width:7.5rem; white-space:nowrap; overflow-wrap:normal; }
@container cqm-quotes (max-width: 60rem) {
 .cqm-quotes-panel .cqm-table-wrap { overflow:visible; }
 .woocommerce table.cqm-quote-table { display:block; width:100%; min-width:0; border:0; background:transparent; }
 .woocommerce table.cqm-quote-table thead { display:none; }
 .woocommerce table.cqm-quote-table tbody { display:grid; gap:16px; width:100%; }
 .woocommerce table.cqm-quote-table tr { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px 22px; width:100%; margin:0; padding:20px; box-sizing:border-box; border:1px solid var(--wp--preset--color--border,color-mix(in srgb,currentColor 18%,transparent)); border-radius:10px; overflow:visible; }
 .woocommerce table.cqm-quote-table td,
 .woocommerce table.cqm-quote-table td + td { display:block; width:auto; min-width:0; padding:0; border:0; text-align:left!important; white-space:normal; overflow-wrap:anywhere; }
 .woocommerce table.cqm-quote-table .cqm-cell-label { display:block; margin-bottom:7px; font-size:.65rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
 .woocommerce table.cqm-quote-table td.cqm-quote-ref { grid-column:1/-1; display:flex; align-items:baseline; flex-wrap:wrap; gap:8px 12px; padding-bottom:14px; border-bottom:1px solid var(--wp--preset--color--border,color-mix(in srgb,currentColor 15%,transparent)); }
 .woocommerce table.cqm-quote-table .cqm-quote-ref .cqm-cell-label { display:none; }
 .woocommerce table.cqm-quote-table .cqm-quote-ref strong { white-space:normal; font-size:1rem; }
 .woocommerce table.cqm-quote-table td:nth-child(5) { grid-column:1/3; align-self:center; }
 .woocommerce table.cqm-quote-table td.cqm-quote-action { display:flex; align-items:flex-end; justify-content:flex-end; grid-column:3; }
 .woocommerce table.cqm-quote-table .cqm-quote-action .button { width:auto; max-width:100%; }
}
@container cqm-quotes (max-width: 30rem) {
 .woocommerce table.cqm-quote-table tr { grid-template-columns:minmax(0,1fr); gap:16px; padding:16px; }
 .woocommerce table.cqm-quote-table td:nth-child(5),
 .woocommerce table.cqm-quote-table td.cqm-quote-action { grid-column:1; }
 .woocommerce table.cqm-quote-table td:not(.cqm-quote-ref):not(.cqm-quote-action) { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:start; gap:12px; }
 .woocommerce table.cqm-quote-table .cqm-cell-label { margin:0; }
 .woocommerce table.cqm-quote-table td.cqm-quote-action .button { width:100%; }
 .woocommerce table.cqm-quote-table .cqm-status { white-space:normal; justify-self:start; }
}

.cqm-assisted-banner, .cqm-assisted-banner * { box-sizing: border-box; }
.cqm-assisted-banner form { margin: 0; max-width: 100%; }
.cqm-assisted-banner .wp-element-button { display: inline-flex; align-items: center; justify-content: center; padding: .65em 1em; font: inherit; font-size: .85rem; text-decoration: none; cursor: pointer; }
.cqm-assisted-mode .cart_totals { box-sizing: border-box; }
@media (max-width: 600px) {
 .cqm-assisted-banner { padding: 12px !important; gap: 8px !important; }
 .cqm-assisted-banner > div { min-width: 0; overflow-wrap: anywhere; }
 .cqm-assisted-banner form { flex: 1 1 150px; }
 .cqm-assisted-banner button { width: 100%; }
}
.cqm-assisted-mode .wc-proceed-to-checkout .button { box-sizing: border-box; }
