.gwb2b-quote-cart .gwb2b-cart-pending {
	margin: 16px 0;
	padding: 16px;
	border-left: 4px solid #997000;
	background: #fff4d6;
	color: #453400;
	font-size: 14px;
	line-height: 1.6;
	overflow-wrap: anywhere;
}

.gwb2b-panel-shell {
	background: #fff;
	border: 1px solid #d7dee8;
	border-radius: 8px;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
	box-sizing: border-box;
	color: #1f2937;
	margin: 18px 0;
	padding: 20px;
}

.gwb2b-panel-header {
	align-items: center;
	border-bottom: 1px solid #e5e7eb;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	margin-bottom: 16px;
	padding-bottom: 14px;
}

.gwb2b-panel-header > div > span {
	color: #0f766e;
	display: block;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.gwb2b-panel-header h2 {
	font-size: 22px;
	line-height: 1.25;
	margin: 3px 0 0;
}

.gwb2b-hidden-price {
	background: #fef3c7;
	border-radius: 999px;
	color: #92400e;
	display: inline-flex;
	font-size: 13px;
	font-weight: 800;
	line-height: 1;
	padding: 7px 10px;
}

.gwb2b-quote-form {
	margin-top: 10px;
}

/* Variation that cannot be bought (hidden price or quote only): WooCommerce disables its cart button; the quote button takes its place. */
.variations_form:has(.gwb2b-quote-form) .single_add_to_cart_button.wc-variation-is-unavailable {
	display: none;
}

.gwb2b-quote-button,
.gwb2b-link-button {
	align-items: center;
	background: #0f766e;
	border: 0;
	border-radius: 6px;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	font-weight: 800;
	justify-content: center;
	line-height: 1.2;
	min-height: 40px;
	padding: 10px 14px;
	text-decoration: none;
}

.gwb2b-link-button:hover,
.gwb2b-quote-button:hover {
	background: #115e59;
	color: #fff;
}

.gwb2b-link-button--danger {
	background: #b42318;
}

.gwb2b-link-button--primary {
	background: #0f766e;
}

.gwb2b-cart-item,
.gwb2b-editor-item {
	align-items: center;
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	display: grid;
	gap: 14px;
	grid-template-columns: 64px minmax(0, 1fr) minmax(120px, 180px);
	margin-bottom: 12px;
	padding: 12px;
}

.gwb2b-cart-item__media img,
.gwb2b-editor-item__media img {
	border-radius: 6px;
	display: block;
	height: 64px;
	object-fit: cover;
	width: 64px;
}

.gwb2b-cart-item__body,
.gwb2b-editor-item__body {
	min-width: 0;
}

.gwb2b-cart-item__body strong,
.gwb2b-editor-item__body strong {
	display: block;
	overflow-wrap: anywhere;
}

.gwb2b-cart-item__body span,
.gwb2b-editor-item__body span {
	color: #64748b;
	display: block;
	font-size: 13px;
	margin-top: 4px;
}

.gwb2b-form-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.gwb2b-form-grid label,
.gwb2b-editor-item label,
.gwb2b-full {
	display: block;
	font-weight: 700;
}

.gwb2b-form-grid span,
.gwb2b-editor-item label span,
.gwb2b-full span {
	display: block;
	font-size: 13px;
	margin-bottom: 6px;
}

.gwb2b-form-grid input,
.gwb2b-form-grid textarea,
.gwb2b-editor-item input,
.gwb2b-full textarea {
	border: 1px solid #cbd5e1;
	border-radius: 6px;
	box-sizing: border-box;
	min-height: 40px;
	width: 100%;
}

.gwb2b-full {
	grid-column: 1 / -1;
}

.gwb2b-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 14px;
}

.gwb2b-responsive-table {
	overflow-x: auto;
}

.gwb2b-responsive-table table {
	border-collapse: collapse;
	min-width: 720px;
	width: 100%;
}

.gwb2b-responsive-table th,
.gwb2b-responsive-table td {
	border-bottom: 1px solid #e5e7eb;
	padding: 12px;
	text-align: left;
}

.gwb2b-status {
	border-radius: 999px;
	display: inline-block;
	font-size: 12px;
	font-weight: 800;
	padding: 6px 9px;
}

.gwb2b-status--gwb2b-quote { background: #e0f2fe; color: #075985; }
.gwb2b-status--gwb2b-sent { background: #fef3c7; color: #92400e; }
.gwb2b-status--gwb2b-approved { background: #dcfce7; color: #166534; }
.gwb2b-status--gwb2b-rejected { background: #fee2e2; color: #991b1b; }
.gwb2b-status--gwb2b-revision { background: #ede9fe; color: #5b21b6; }

.gwb2b-empty {
	background: #f8fafc;
	border: 1px dashed #cbd5e1;
	border-radius: 8px;
	padding: 18px;
}

.gwb2b-form-error {
	color: #8a1818;
	background: #fff1f0;
	border-left: 3px solid #b42318;
	padding: 12px;
	margin: 12px 0;
	font-size: 14px;
	line-height: 1.5;
	overflow-wrap: anywhere;
}

.gwb2b-note {
	background: #fffbeb;
	border-left: 4px solid #b45309;
	border-radius: 8px;
	margin-top: 14px;
	padding: 12px 14px;
}

@media (max-width: 720px) {
	.gwb2b-panel-header {
		align-items: flex-start;
		flex-direction: column;
	}

	.gwb2b-cart-item,
	.gwb2b-editor-item {
		grid-template-columns: 56px minmax(0, 1fr);
	}

	.gwb2b-cart-item label,
	.gwb2b-editor-item label,
	.gwb2b-editor-item > strong {
		grid-column: 2;
	}
}
.gwb2b-quote-editor .gwb2b-commercial-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding:18px 0; border-bottom:1px solid #dce3e8; }
.gwb2b-commercial-summary span, .gwb2b-commercial-summary strong { display:block; overflow-wrap:anywhere; }
.gwb2b-commercial-summary span { font-size:12px; color:#586671; margin-bottom:5px; }
.gwb2b-commercial-summary strong { font-size:15px; }
.gwb2b-quote-editor .gwb2b-commercial-notice { border-left:3px solid #b68b32; background:#f6f8fa; padding:14px; margin:16px 0; }
.gwb2b-commercial-line { display:grid; gap:4px; font-size:12px; margin-top:8px; }
.gwb2b-editor-item__body .gwb2b-commercial-line span span { display:inline; margin:0; }
.gwb2b-quote-editor .gwb2b-discount-review { border-top:1px solid #dce3e8; padding:20px 0; margin-top:20px; }
.gwb2b-quote-editor label { display:grid; gap:6px; min-width:0; }
.gwb2b-quote-editor textarea, .gwb2b-quote-editor input[type="text"] { box-sizing:border-box; width:100%; max-width:100%; min-height:40px; }
.gwb2b-quote-editor .button { white-space:normal; min-height:42px; height:auto; }
.gwb2b-quote-editor .gwb2b-actions { flex-wrap:wrap; }
@media (max-width:600px) { .gwb2b-quote-editor .gwb2b-commercial-summary { grid-template-columns:1fr; } }

.gwb2b-pricing-form { container-type:inline-size; }
.gwb2b-panel-header .gwb2b-quote-saved-total > span { color:#586671; font-size:12px; font-weight:400; text-transform:none; margin-bottom:4px; }
.gwb2b-pricing-form [hidden] { display:none !important; }
.gwb2b-pricing-form .gwb2b-priced-item { grid-template-columns:56px minmax(0,1fr); background:#fff; border:0; border-bottom:1px solid #dce3e8; border-radius:0; padding:20px 0; gap:12px; margin:0; }
.gwb2b-priced-item .gwb2b-editor-item__media img { width:56px; height:56px; object-fit:contain; }
.gwb2b-priced-item .gwb2b-item-price-fields { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.7fr) minmax(0,1fr); gap:12px; align-items:start; }
.gwb2b-priced-item label { grid-column:auto; margin:0; }
.gwb2b-quote-editor .gwb2b-priced-item input[type="text"] { border:1px solid #b8c6d0; border-radius:6px; padding:10px 12px; min-height:44px; font-size:15px; background:#fff; color:#172a38; }
.gwb2b-priced-item input[aria-invalid="true"] { border-color:#b42318; }
.gwb2b-price-minimum { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px; font-size:13px; color:#405565; margin-top:8px; }
.gwb2b-price-minimum strong { color:#086457; font-size:16px; }
.gwb2b-priced-item .gwb2b-price-minimum span { display:inline; color:inherit; font-size:inherit; }
.gwb2b-price-result { min-width:0; display:grid; gap:5px; padding-left:12px; border-left:1px solid #dce3e8; }
.gwb2b-price-result > span { font-size:12px; color:#465b6b; line-height:1.5; }
.gwb2b-price-result > strong { font-size:18px; color:#172a38; line-height:1.6; overflow-wrap:anywhere; }
.gwb2b-priced-item .gwb2b-price-error { grid-column:1 / -1; font-size:13px; color:#a3251d; margin:0; overflow-wrap:anywhere; }
.gwb2b-price-error:empty { display:none; }
.gwb2b-pricing-form .gwb2b-pricing-bulk { display:flex; flex-wrap:wrap; align-items:end; gap:12px; border:0; border-bottom:1px solid #cdd8e0; padding:20px 0 16px; margin:0; min-width:0; }
.gwb2b-pricing-bulk legend { font-size:15px; font-weight:700; padding:18px 0 0; }
.gwb2b-pricing-bulk label { flex:1 1 140px; font-size:12px; font-weight:600; }
.gwb2b-pricing-bulk select, .gwb2b-pricing-bulk input { border:1px solid #b8c6d0; border-radius:6px; background:#fff; color:#172a38; min-height:44px; padding:8px 10px; width:100%; max-width:100%; font-size:14px; box-sizing:border-box; }
.gwb2b-pricing-bulk .button { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:44px; border-radius:6px; white-space:normal; }
.gwb2b-pricing-bulk .gwb2b-line-icon { flex:none; stroke:currentColor; fill:none; }
.gwb2b-pricing-bulk .gwb2b-pricing-feedback { flex-basis:100%; margin:0; font-size:13px; color:#405565; overflow-wrap:anywhere; }
.gwb2b-pricing-feedback:empty { display:none; }
.gwb2b-pricing-total { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 0; margin-bottom:12px; border-bottom:1px solid #dce3e8; }
.gwb2b-pricing-total > span { font-size:13px; color:#465b6b; }
.gwb2b-pricing-total > strong { font-size:20px; color:#172a38; overflow-wrap:anywhere; }
@container (min-width:780px) { .gwb2b-pricing-form .gwb2b-priced-item { grid-template-columns:56px minmax(0,1fr) minmax(0,1.4fr); } .gwb2b-priced-item .gwb2b-item-price-fields { grid-column:3; } }
@container (max-width:440px) { .gwb2b-priced-item .gwb2b-item-price-fields { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); } .gwb2b-price-result { grid-column:1 / -1; padding:10px 0 0; border-left:0; } .gwb2b-pricing-total { align-items:flex-start; flex-direction:column; gap:6px; } }
@media (max-width:720px) { .gwb2b-item-price-fields { grid-column:2; } .gwb2b-priced-item .gwb2b-item-price-fields { grid-column:1 / -1; } }

/* 1.1.80: item options in the quote editor, and what other plugins print for the item (e.g. the customer's file). */
.gwb2b-editor-item__meta { list-style: none; margin: 6px 0 0; padding: 0; font-size: 13px; line-height: 1.45; color: #475569; }
.gwb2b-editor-item__meta li { margin: 2px 0; overflow-wrap: anywhere; }
.gwb2b-editor-item__meta b { font-weight: 600; color: #334155; }
/* 1.1.88: money mask on the freight of the proposal editor. */
.gwb2b-shipping-fields .gwb2b-money { display: block; width: 170px; max-width: 100%; font-variant-numeric: tabular-nums; }

/* 1.1.91: revision request on the proposal page (change, remove or add items and notes) and the request already sent. */
.gwb2b-quote-view.is-revising > .gwb2b-editor-items,
.gwb2b-quote-view.is-revising > .gwb2b-actions { display: none; }
.gwb2b-revision { margin-top: 18px; padding: 20px; border: 1px solid #dde1e5; border-top: 3px solid var(--gwb2b-primary, #075eaa); border-radius: 10px; background: #fff; }
.gwb2b-revision[hidden] { display: none; }
.gwb2b-revision__head h3 { margin: 0 0 6px; font-size: 19px; }
.gwb2b-revision__head h3:focus { outline: none; }
.gwb2b-revision__head p { margin: 0 0 16px; color: #5c6771; font-size: 14px; }
.gwb2b-revision__item {
	align-items: center; background: #f8fafc; border: 1px solid #e5e7eb; border-radius: 8px; display: grid; gap: 14px;
	grid-template-columns: 64px minmax(0, 1fr) 120px 44px; margin-bottom: 10px; padding: 12px;
}
.gwb2b-revision__media img { border-radius: 6px; display: block; height: 64px; object-fit: cover; width: 64px; }
.gwb2b-revision__body { min-width: 0; }
.gwb2b-revision__body strong { display: block; overflow-wrap: anywhere; }
.gwb2b-revision__body small { display: block; color: #5c6771; font-size: 12px; }
.gwb2b-revision__field { display: block; margin: 8px 0 0; }
.gwb2b-revision__field > span { display: block; margin-bottom: 4px; color: #38434d; font-size: 12px; font-weight: 600; }
.gwb2b-revision .gwb2b-revision__field :is(select, input) { box-sizing: border-box; width: 100%; max-width: 280px; min-height: 42px; border: 1px solid #c3cad1; border-radius: 4px; padding: 6px 10px; background-color: #fff; }
.gwb2b-revision__qty { margin: 0; }
.gwb2b-revision__remove {
	position: relative; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px;
	border: 1px solid #e3c4c0; border-radius: 6px; background: #fff; color: #b42318; cursor: pointer; padding: 0;
}
.gwb2b-revision__remove:hover { background: #fdf0ee; }
body .gwb2b-revision button.gwb2b-revision__remove { min-height: 44px; padding: 0; border: 1px solid #e3c4c0; background: #fff; color: #b42318; box-shadow: none; }
body .gwb2b-revision button.gwb2b-revision__remove:hover { background: #fdf0ee; color: #8e1c13; }
.gwb2b-revision__remove .gwb2b-line-icon { flex: none; width: 20px; height: 20px; }
.gwb2b-revision__remove input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.gwb2b-revision__remove:focus-within, .gwb2b-revision__remove:focus-visible { outline: 3px solid var(--gwb2b-primary, #075eaa); outline-offset: 2px; }
.gwb2b-revision__remove-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.gwb2b-revision__removed-note { display: none; margin: 6px 0 0; color: #a3261b; font-size: 13px; font-weight: 600; }
.gwb2b-revision__item.is-removed { background: #fff; border-style: dashed; }
.gwb2b-revision__item.is-removed .gwb2b-revision__media, .gwb2b-revision__item.is-removed .gwb2b-revision__body strong, .gwb2b-revision__item.is-removed .gwb2b-revision__qty { opacity: .45; }
.gwb2b-revision__item.is-removed .gwb2b-revision__body strong { text-decoration: line-through; }
.gwb2b-revision__item.is-removed .gwb2b-revision__removed-note { display: block; }
.gwb2b-revision__item.is-removed .gwb2b-revision__remove { background: #b42318; border-color: #b42318; color: #fff; }
.gwb2b-revision__item.is-added { border-color: var(--gwb2b-primary, #075eaa); background: #fff; }
.gwb2b-revision__badge { display: inline-block; margin-top: 6px; padding: 2px 8px; border-radius: 999px; background: var(--gwb2b-primary, #075eaa); color: var(--gwb2b-on-primary, #fff); font-size: 11px; font-weight: 700; }
.gwb2b-revision__add { margin: 18px 0 0; padding-top: 16px; border-top: 1px solid #eceef1; }
.gwb2b-revision__add > label, .gwb2b-revision__notes > span { display: block; margin-bottom: 6px; font-weight: 600; }
.gwb2b-revision__search { position: relative; max-width: 480px; }
.gwb2b-revision__search .gwb2b-line-icon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #87909a; pointer-events: none; }
.gwb2b-revision .gwb2b-revision__search input[type="search"] { box-sizing: border-box; width: 100%; min-height: 44px; padding: 8px 12px 8px 40px; border: 1px solid #c3cad1; border-radius: 4px; }
.gwb2b-revision__status { min-height: 1.4em; margin: 6px 0; color: #5c6771; font-size: 13px; }
.gwb2b-revision__results { list-style: none; margin: 0; padding: 0; max-width: 480px; }
.gwb2b-revision__results li { margin: 0 0 6px; }
.gwb2b-revision__result {
	display: flex; align-items: center; gap: 12px; width: 100%; min-height: 52px; padding: 6px 10px; text-align: left;
	border: 1px solid #dde1e5; border-radius: 6px; background: #fff; color: #1a2128; cursor: pointer;
}
.gwb2b-revision__result:hover:not(:disabled), .gwb2b-revision__result:focus-visible { border-color: var(--gwb2b-primary, #075eaa); background: #f5f8fc; }
.gwb2b-revision__result:disabled { cursor: not-allowed; opacity: .55; }
.gwb2b-revision__result img { flex: none; width: 40px; height: 40px; border-radius: 4px; object-fit: cover; }
.gwb2b-revision__result-text { min-width: 0; }
.gwb2b-revision__result-text strong { display: block; font-size: 14px; overflow-wrap: anywhere; }
.gwb2b-revision__result-text small { display: block; color: #5c6771; font-size: 12px; }
.gwb2b-revision__notes { display: block; margin-top: 16px; }
.gwb2b-revision__notes textarea { box-sizing: border-box; width: 100%; min-height: 96px; padding: 10px 12px; border: 1px solid #c3cad1; border-radius: 4px; resize: vertical; }
.gwb2b-revision .gwb2b-actions { margin-top: 16px; }
.gwb2b-revision-sent { margin: 14px 0; padding: 14px 16px; border: 1px solid #dde1e5; border-left: 4px solid var(--gwb2b-primary, #075eaa); border-radius: 8px; background: #f8fafc; }
.gwb2b-revision-sent > p { margin: 4px 0 8px; color: #38434d; font-size: 14px; }
.gwb2b-revision-sent__entry { padding-top: 8px; border-top: 1px solid #eceef1; font-size: 14px; }
.gwb2b-revision-sent__entry small { color: #5c6771; }
.gwb2b-revision-sent__entry ul { margin: 4px 0; padding-left: 18px; }
.gwb2b-revision-sent__entry p { margin: 4px 0; overflow-wrap: anywhere; }
@media (max-width: 720px) {
	.gwb2b-revision { padding: 16px; }
	.gwb2b-revision__item { grid-template-columns: 56px minmax(0, 1fr) 44px; grid-template-areas: "media body remove" "media qty qty"; }
	.gwb2b-revision__media { grid-area: media; align-self: start; }
	.gwb2b-revision__media img { width: 56px; height: 56px; }
	.gwb2b-revision__body { grid-area: body; }
	.gwb2b-revision__qty { grid-area: qty; }
	.gwb2b-revision__remove { grid-area: remove; align-self: start; }
	.gwb2b-revision .gwb2b-revision__field :is(select, input) { max-width: none; }
}
.gwb2b-change-badge { display: inline-block; width: fit-content; margin: 4px 0; padding: 2px 8px; border-radius: 999px; background: #fff4d6; color: #7a5100; border: 1px solid #f0d58a; font-size: 12px; font-weight: 600; }
.gwb2b-quote-editor .gwb2b-revision-request { margin: 16px 0; }
.gwb2b-rep-contact { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; margin: 0 0 16px; padding: 12px 16px; border: 1px solid #dde1e5; border-radius: 8px; background: #fff; font-size: 14px; }
.gwb2b-rep-contact__label { flex-basis: 100%; color: #5c6771; font-size: 12px; }
.gwb2b-rep-contact strong { font-size: 15px; }
.gwb2b-rep-contact a { display: inline-flex; align-items: center; gap: 6px; color: var(--gwb2b-primary, #075eaa); overflow-wrap: anywhere; }
.gwb2b-rep-contact .gwb2b-line-icon { width: 16px; height: 16px; }
