:root {
	--wm-ink: #14231d;
	--wm-ink-soft: #31443b;
	--wm-muted: #6b7b73;
	--wm-green: #164f3d;
	--wm-green-deep: #0d3629;
	--wm-green-soft: #e8f2ed;
	--wm-accent: #c7a45d;
	--wm-accent-soft: #f6edd9;
	--wm-bg: #f3f6f3;
	--wm-bg-soft: #f8faf8;
	--wm-line: #dfe7e1;
	--wm-white: #ffffff;
	--wm-danger: #ad3737;
	--wm-danger-soft: #fff0f0;
	--wm-warning: #8a6400;
	--wm-warning-soft: #fff7dc;
	--wm-success: #287245;
	--wm-success-soft: #e7f6eb;
	--wm-blue: #356c8b;
	--wm-blue-soft: #eaf3f8;
	--wm-purple: #715a94;
	--wm-purple-soft: #f1edf7;
	--wm-radius-sm: 10px;
	--wm-radius: 16px;
	--wm-radius-lg: 24px;
	--wm-shadow-sm: 0 8px 24px rgba(20, 54, 42, 0.06);
	--wm-shadow: 0 20px 60px rgba(20, 54, 42, 0.1);
}

.wm-shell,
.wm-shell * {
	box-sizing: border-box;
}

.wm-shell {
	width: min(1180px, calc(100% - 32px));
	margin: 48px auto;
	color: var(--wm-ink);
	font-family: inherit;
}

.wm-shell h1,
.wm-shell h2,
.wm-shell h3,
.wm-shell h4,
.wm-shell p {
	margin-top: 0;
}

.wm-shell a {
	text-decoration: none;
}

/* Theme-reset for plugin UI */
.wm-shell button,
.wm-shell input[type="submit"],
.wm-shell input[type="button"],
.wm-shell input[type="reset"] {
	-webkit-appearance: none;
	appearance: none;
	font: inherit;
}


.wm-shell svg {
	display: block;
	width: 20px;
	height: 20px;
}

.wm-eyebrow {
	display: inline-block;
	margin-bottom: 8px;
	color: var(--wm-green);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.wm-muted {
	color: var(--wm-muted);
}

.wm-card {
	background: var(--wm-white);
	border: 1px solid var(--wm-line);
	border-radius: var(--wm-radius);
	padding: 26px;
	box-shadow: var(--wm-shadow-sm);
}

.wm-card--center {
	max-width: 640px;
	margin: auto;
	text-align: center;
}

.wm-button,
.wm-shell button.wm-button,
.wm-shell a.wm-button,
.wm-shell input.wm-button[type="submit"],
.wm-shell input.wm-button[type="button"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 46px;
	padding: 0 20px;
	border: 1px solid var(--wm-green) !important;
	border-radius: 11px;
	background: var(--wm-green) !important;
	background-image: none !important;
	box-shadow: none;
	color: #fff !important;
	fill: currentColor;
	font: inherit;
	font-size: 14px;
	font-weight: 750;
	line-height: 1;
	text-decoration: none !important;
	text-shadow: none;
	cursor: pointer;
	transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.wm-button:hover,
.wm-shell button.wm-button:hover,
.wm-shell a.wm-button:hover,
.wm-shell input.wm-button[type="submit"]:hover,
.wm-shell input.wm-button[type="button"]:hover {
	background: var(--wm-green-deep) !important;
	border-color: var(--wm-green-deep) !important;
	box-shadow: 0 10px 24px rgba(22, 79, 61, 0.18) !important;
	color: #fff !important;
	transform: translateY(-1px);
}

.wm-button:focus-visible,
.wm-icon-button:focus-visible,
.wm-action-button:focus-visible,
.wm-dashboard-nav a:focus-visible {
	outline: 3px solid rgba(199, 164, 93, 0.42);
	outline-offset: 2px;
}

.wm-button[disabled] {
	opacity: 0.5;
	cursor: not-allowed;
	box-shadow: none;
	transform: none;
}

.wm-button--ghost,
.wm-shell button.wm-button--ghost,
.wm-shell a.wm-button--ghost {
	background: #fff !important;
	color: var(--wm-green) !important;
	border-color: var(--wm-line) !important;
}

.wm-button--ghost:hover,
.wm-shell button.wm-button--ghost:hover,
.wm-shell a.wm-button--ghost:hover {
	background: var(--wm-green-soft) !important;
	border-color: #c9dbd1 !important;
	color: var(--wm-green-deep) !important;
}

.wm-button--full {
	width: 100%;
}

.wm-button--compact {
	min-height: 42px;
	padding-inline: 16px;
}

.wm-grid-2 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.wm-field-span-2 {
	grid-column: 1 / -1;
}

.wm-form {
	display: grid;
	gap: 18px;
}

.wm-form label,
.wm-file-field {
	display: grid;
	gap: 8px;
	font-size: 13px;
	font-weight: 750;
	color: var(--wm-ink-soft);
}

.wm-form input,
.wm-form select,
.wm-form textarea,
.wm-file-field input,
.wm-market-filters input,
.wm-market-filters select {
	width: 100%;
	min-height: 48px;
	padding: 11px 13px;
	border: 1px solid #ccd8d0;
	border-radius: 10px;
	background: #fff;
	color: var(--wm-ink);
	font: inherit;
	font-size: 15px;
	outline: none;
	transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.wm-form input:hover,
.wm-form select:hover,
.wm-form textarea:hover {
	border-color: #acbeb2;
}

.wm-form input:focus,
.wm-form select:focus,
.wm-form textarea:focus,
.wm-market-filters input:focus,
.wm-market-filters select:focus {
	border-color: var(--wm-green);
	box-shadow: 0 0 0 3px rgba(22, 79, 61, 0.1);
}

.wm-form textarea {
	min-height: 130px;
	resize: vertical;
}

.wm-form small,
.wm-file-field small {
	color: var(--wm-muted);
	font-size: 12px;
	font-weight: 450;
	line-height: 1.45;
}

.wm-check {
	grid-template-columns: 20px 1fr !important;
	align-items: start;
	font-weight: 500 !important;
	line-height: 1.5;
}

.wm-check input {
	width: 18px;
	min-height: 18px;
	margin-top: 2px;
}

.wm-notice {
	display: block;
	margin: 0 0 20px;
	padding: 15px 17px;
	border: 1px solid;
	border-radius: 13px;
	font-size: 14px;
	line-height: 1.55;
}

.wm-notice strong {
	display: block;
	margin-bottom: 2px;
}

.wm-notice p {
	margin: 0;
}

.wm-notice--success {
	background: var(--wm-success-soft);
	border-color: #bddfc7;
	color: #23633a;
}

.wm-notice--error {
	background: var(--wm-danger-soft);
	border-color: #ebc2c2;
	color: var(--wm-danger);
}

.wm-notice--warning {
	background: var(--wm-warning-soft);
	border-color: #ead99a;
	color: var(--wm-warning);
}

.wm-notice--with-icon {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.wm-notice--with-icon > span {
	display: grid;
	place-items: center;
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.58);
}

.wm-notice--with-icon > span svg {
	width: 18px;
	height: 18px;
}

/* Public authentication and registration */
.wm-auth-shell {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(500px, 1.15fr);
	gap: 42px;
	align-items: center;
	min-height: 70vh;
}

.wm-auth-intro {
	padding: 24px;
}

.wm-auth-intro h1,
.wm-market-hero h1 {
	font-size: clamp(34px, 5vw, 62px);
	line-height: 1.02;
	letter-spacing: -0.04em;
}

.wm-auth-intro p,
.wm-market-hero p {
	max-width: 650px;
	color: var(--wm-muted);
	font-size: 18px;
	line-height: 1.7;
}

.wm-auth-intro ul {
	display: grid;
	gap: 12px;
	margin: 30px 0 0;
	padding: 0;
	list-style: none;
}

.wm-auth-intro li::before {
	content: "✓";
	display: inline-grid;
	place-items: center;
	width: 24px;
	height: 24px;
	margin-right: 10px;
	border-radius: 50%;
	background: var(--wm-green-soft);
	color: var(--wm-green);
	font-weight: 900;
}

.wm-auth-login-shell {
	min-height: 70vh;
	display: grid;
	place-items: center;
}

.wm-login-card {
	width: min(500px, 100%);
	padding: 38px;
	text-align: center;
}

.wm-login-mark {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	margin: 0 auto 22px;
	border-radius: 18px;
	background: var(--wm-green);
	color: #fff;
	font-size: 26px;
	font-weight: 900;
	box-shadow: 0 14px 30px rgba(22, 79, 61, 0.22);
}

.wm-login-card h1 {
	margin-bottom: 8px;
	font-size: 34px;
	letter-spacing: -0.03em;
}

.wm-login-card > p {
	color: var(--wm-muted);
}

.wm-login-card form {
	display: grid;
	gap: 14px;
	margin-top: 24px;
	text-align: left;
}

.wm-login-card label {
	display: grid;
	gap: 6px;
	font-size: 13px;
	font-weight: 750;
}

.wm-login-card input[type="text"],
.wm-login-card input[type="password"] {
	width: 100%;
	min-height: 48px;
	padding: 10px 12px;
	border: 1px solid var(--wm-line);
	border-radius: 10px;
}

.wm-login-card input[type="submit"] {
	min-height: 46px;
	border: 0;
	border-radius: 10px;
	background: var(--wm-green);
	color: #fff;
	font-weight: 800;
	cursor: pointer;
}

.wm-form-foot {
	margin: 18px 0 0 !important;
	text-align: center;
	color: var(--wm-muted);
}

.wm-form-foot a {
	color: var(--wm-green);
	font-weight: 800;
}

/* Vendor dashboard app shell */
body.wm-vendor-dashboard-page .wp-block-post-title,
body.wm-vendor-dashboard-page .entry-title {
	display: none !important;
}

body.wm-vendor-dashboard-page .wp-block-post-content,
body.wm-vendor-dashboard-page .entry-content {
	max-width: none !important;
	padding-inline: 0 !important;
}

body.wm-vendor-dashboard-page main {
	margin-block-start: 0 !important;
}

.wm-dashboard-app {
	display: grid;
	grid-template-columns: 286px minmax(0, 1fr);
	position: relative;
	left: 50%;
	width: min(1480px, calc(100vw - 24px));
	max-width: none;
	min-height: 820px;
	transform: translateX(-50%);
	margin: 24px auto 48px;
	overflow: hidden;
	border: 1px solid #dbe5de;
	border-radius: 24px;
	background: var(--wm-bg);
	box-shadow: 0 26px 80px rgba(18, 52, 40, 0.12);
}

.wm-dashboard-sidebar {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 24px 18px 18px;
	background: linear-gradient(165deg, #164f3d 0%, #0d3529 74%);
	color: #fff;
}

.wm-dashboard-brand {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 0 8px 24px;
	color: #fff !important;
}

.wm-brand-mark {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 13px;
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
	font-size: 20px;
	font-weight: 900;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.wm-brand-copy {
	display: grid;
	gap: 1px;
}

.wm-brand-copy strong {
	font-size: 19px;
	letter-spacing: -0.02em;
}

.wm-brand-copy small {
	color: rgba(255, 255, 255, 0.62);
	font-size: 11px;
	font-weight: 650;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.wm-sidebar-company {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 20px;
	padding: 14px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 15px;
	background: rgba(255, 255, 255, 0.07);
}

.wm-sidebar-company .wm-business-logo {
	width: 48px;
	height: 48px;
	flex-basis: 48px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 13px;
	box-shadow: none;
}

.wm-sidebar-company-copy {
	display: grid;
	min-width: 0;
	gap: 3px;
}

.wm-sidebar-company-copy > small {
	color: rgba(255, 255, 255, 0.55);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.wm-sidebar-company-copy > strong {
	overflow: hidden;
	color: #fff;
	font-size: 13px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.wm-sidebar-company-copy .wm-status {
	justify-self: start;
	min-height: 22px;
	margin-top: 2px;
	padding-inline: 8px;
	background: rgba(255, 255, 255, 0.11);
	color: rgba(255, 255, 255, 0.84);
	font-size: 9px;
}

.wm-dashboard-nav {
	display: grid;
	gap: 5px;
}

.wm-dashboard-nav a {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
	padding: 11px 12px;
	border: 1px solid transparent;
	border-radius: 12px;
	color: rgba(255, 255, 255, 0.7);
	transition: background 0.16s ease, color 0.16s ease, border-color 0.16s ease, transform 0.16s ease;
}

.wm-dashboard-nav a:hover {
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
	transform: translateX(2px);
}

.wm-dashboard-nav a.is-active {
	border-color: rgba(255, 255, 255, 0.12);
	background: rgba(255, 255, 255, 0.13);
	color: #fff;
	box-shadow: inset 3px 0 0 var(--wm-accent);
}

.wm-nav-icon {
	display: grid;
	place-items: center;
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.07);
}

.wm-dashboard-nav a.is-active .wm-nav-icon {
	background: rgba(199, 164, 93, 0.2);
	color: #f1d797;
}

.wm-nav-icon svg {
	width: 18px;
	height: 18px;
}

.wm-nav-copy {
	display: grid;
	min-width: 0;
	gap: 2px;
}

.wm-nav-copy strong {
	font-size: 13px;
	line-height: 1.2;
}

.wm-nav-copy small {
	overflow: hidden;
	color: rgba(255, 255, 255, 0.46);
	font-size: 10px;
	line-height: 1.2;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.wm-dashboard-nav a.is-active .wm-nav-copy small {
	color: rgba(255, 255, 255, 0.66);
}

.wm-sidebar-footer {
	display: grid;
	gap: 12px;
	margin-top: auto;
	padding-top: 24px;
}

.wm-sidebar-market-link {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.06);
	color: #fff !important;
	font-size: 12px;
}

.wm-sidebar-market-link > span:first-child {
	color: #e8cf91;
}

.wm-sidebar-market-link strong {
	flex: 1;
}

.wm-sidebar-market-link .wm-sidebar-arrow svg {
	width: 16px;
	height: 16px;
}

.wm-sidebar-user {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr) 34px;
	align-items: center;
	gap: 10px;
	padding: 12px 8px 2px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.wm-user-avatar {
	display: block;
	border-radius: 50%;
	object-fit: cover;
}

.wm-sidebar-user > div {
	display: grid;
	min-width: 0;
	gap: 2px;
}

.wm-sidebar-user strong,
.wm-sidebar-user small {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.wm-sidebar-user strong {
	color: #fff;
	font-size: 12px;
}

.wm-sidebar-user small {
	color: rgba(255, 255, 255, 0.5);
	font-size: 10px;
}

.wm-icon-button {
	display: inline-grid;
	place-items: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 1px solid var(--wm-line);
	border-radius: 10px;
	background: #fff;
	color: var(--wm-green) !important;
	cursor: pointer;
	transition: background 0.16s ease, transform 0.16s ease;
}

.wm-icon-button:hover {
	background: var(--wm-green-soft);
	transform: translateY(-1px);
}

.wm-sidebar-user .wm-icon-button {
	border-color: rgba(255, 255, 255, 0.12);
	background: rgba(255, 255, 255, 0.06);
	color: rgba(255, 255, 255, 0.72) !important;
}

.wm-sidebar-user .wm-icon-button:hover {
	background: rgba(255, 255, 255, 0.12);
	color: #fff !important;
}

.wm-icon-button svg {
	width: 17px;
	height: 17px;
}

.wm-dashboard-main {
	min-width: 0;
	background: var(--wm-bg);
}

.wm-dashboard-topbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 110px;
	padding: 23px 34px;
	border-bottom: 1px solid var(--wm-line);
	background: rgba(255, 255, 255, 0.86);
	backdrop-filter: blur(14px);
}

.wm-dashboard-page-title .wm-eyebrow {
	margin-bottom: 4px;
}

.wm-dashboard-page-title h1 {
	margin-bottom: 3px;
	font-size: clamp(28px, 3vw, 38px);
	line-height: 1.08;
	letter-spacing: -0.035em;
}

.wm-dashboard-page-title p {
	margin: 0;
	color: var(--wm-muted);
	font-size: 13px;
}

.wm-topbar-actions {
	display: flex;
	align-items: center;
	gap: 10px;
}

.wm-mobile-status {
	display: none !important;
}

.wm-dashboard-content {
	padding: 30px 34px 42px;
}

.wm-status {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 28px;
	padding: 0 10px;
	border-radius: 999px;
	background: #edf1ee;
	color: #52625a;
	font-size: 10px;
	font-weight: 850;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	white-space: nowrap;
}

.wm-status--approved,
.wm-status--publish {
	background: #dff2e5;
	color: #22643a;
}

.wm-status--pending {
	background: #fff0c7;
	color: #806000;
}

.wm-status--rejected {
	background: #ffe0e0;
	color: #9d3030;
}

.wm-status--draft {
	background: #e9ecea;
	color: #5f6863;
}

.wm-business-logo {
	display: grid;
	place-items: center;
	width: 68px;
	height: 68px;
	flex: 0 0 68px;
	overflow: hidden;
	border: 1px solid var(--wm-line);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(18, 52, 40, 0.08);
}

.wm-business-logo-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wm-business-logo--initial {
	background: var(--wm-green);
	color: #fff;
	font-size: 30px;
	font-weight: 900;
}

/* Overview */
.wm-overview-hero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 170px;
	align-items: center;
	gap: 30px;
	min-height: 230px;
	overflow: hidden;
	padding: 34px;
	border-radius: 22px;
	background: linear-gradient(125deg, #174f3e 0%, #0f3b2e 72%, #0b2c22 100%);
	color: #fff;
	box-shadow: 0 18px 45px rgba(17, 65, 49, 0.18);
}

.wm-overview-hero::after {
	content: "";
	position: absolute;
	top: -90px;
	right: 50px;
	width: 290px;
	height: 290px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 50%;
	box-shadow: 0 0 0 52px rgba(255, 255, 255, 0.025), 0 0 0 105px rgba(255, 255, 255, 0.018);
}

.wm-overview-hero-copy,
.wm-overview-hero-badge {
	position: relative;
	z-index: 1;
}

.wm-overview-hero .wm-eyebrow {
	color: #e7d39e;
}

.wm-overview-hero h2 {
	max-width: 650px;
	margin-bottom: 12px;
	font-size: clamp(28px, 3.2vw, 43px);
	line-height: 1.06;
	letter-spacing: -0.04em;
}

.wm-overview-hero p {
	max-width: 670px;
	margin-bottom: 22px;
	color: rgba(255, 255, 255, 0.72);
	font-size: 15px;
	line-height: 1.65;
}

.wm-overview-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.wm-overview-hero .wm-button {
	border-color: #fff;
	background: #fff;
	color: var(--wm-green) !important;
}

.wm-overview-hero .wm-button--ghost {
	border-color: rgba(255, 255, 255, 0.24);
	background: rgba(255, 255, 255, 0.08);
	color: #fff !important;
}

.wm-overview-hero-badge {
	display: grid;
	place-items: center;
	align-content: center;
	width: 160px;
	height: 160px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.13);
	text-align: center;
	backdrop-filter: blur(8px);
}

.wm-hero-badge-icon {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	margin-bottom: 5px;
	border-radius: 11px;
	background: rgba(255, 255, 255, 0.11);
	color: #e7d39e;
}

.wm-overview-hero-badge strong {
	font-size: 38px;
	line-height: 1;
}

.wm-overview-hero-badge > span {
	margin-top: 5px;
	color: rgba(255, 255, 255, 0.65);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.wm-stat-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin: 18px 0;
}

.wm-stat {
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
	padding: 20px;
	border: 1px solid var(--wm-line);
	border-radius: var(--wm-radius);
	background: #fff;
	box-shadow: var(--wm-shadow-sm);
}

.wm-stat-icon {
	display: grid;
	place-items: center;
	flex: 0 0 46px;
	width: 46px;
	height: 46px;
	border-radius: 13px;
}

.wm-stat-icon svg {
	width: 21px;
	height: 21px;
}

.wm-stat > div:last-child {
	display: grid;
	min-width: 0;
}

.wm-stat span {
	color: var(--wm-muted);
	font-size: 11px;
	font-weight: 750;
}

.wm-stat strong {
	margin: 2px 0;
	font-size: 28px;
	line-height: 1;
	letter-spacing: -0.03em;
}

.wm-stat small {
	overflow: hidden;
	color: #94a098;
	font-size: 10px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.wm-stat--live .wm-stat-icon {
	background: var(--wm-success-soft);
	color: var(--wm-success);
}

.wm-stat--review .wm-stat-icon {
	background: var(--wm-warning-soft);
	color: var(--wm-warning);
}

.wm-stat--draft .wm-stat-icon {
	background: var(--wm-blue-soft);
	color: var(--wm-blue);
}

.wm-stat--team .wm-stat-icon {
	background: var(--wm-purple-soft);
	color: var(--wm-purple);
}

.wm-overview-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: 18px;
	margin-bottom: 18px;
}

.wm-card-heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 18px;
}

.wm-card-heading h3 {
	margin-bottom: 0;
	font-size: 20px;
	letter-spacing: -0.025em;
}

.wm-card-heading--actions {
	align-items: center;
}

.wm-progress-number {
	color: var(--wm-green);
	font-size: 24px;
	letter-spacing: -0.03em;
}

.wm-progress-track {
	height: 8px;
	overflow: hidden;
	border-radius: 999px;
	background: #e9efeb;
}

.wm-progress-track > span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--wm-green), #2b8063);
	transition: width 0.45s ease;
}

.wm-profile-progress-card > p {
	margin: 16px 0;
	color: var(--wm-muted);
	font-size: 13px;
	line-height: 1.55;
}

.wm-missing-fields {
	display: grid;
	gap: 8px;
	margin-bottom: 18px;
}

.wm-missing-fields > small {
	color: var(--wm-muted);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.wm-missing-fields > div {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.wm-missing-fields span,
.wm-permission-chips span {
	display: inline-flex;
	align-items: center;
	min-height: 26px;
	padding: 0 9px;
	border: 1px solid var(--wm-line);
	border-radius: 999px;
	background: var(--wm-bg-soft);
	color: var(--wm-ink-soft);
	font-size: 10px;
	font-weight: 650;
}

.wm-text-button {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--wm-green) !important;
	font-size: 12px;
	font-weight: 800;
}

.wm-text-button svg {
	width: 15px;
	height: 15px;
	transition: transform 0.16s ease;
}

.wm-text-button:hover svg {
	transform: translateX(3px);
}

.wm-quick-action-list {
	display: grid;
	gap: 8px;
}

.wm-quick-action-list > a {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr) 24px;
	align-items: center;
	gap: 12px;
	padding: 11px;
	border: 1px solid transparent;
	border-radius: 12px;
	color: var(--wm-ink) !important;
	transition: background 0.16s ease, border-color 0.16s ease;
}

.wm-quick-action-list > a:hover {
	border-color: var(--wm-line);
	background: var(--wm-bg-soft);
}

.wm-quick-action-icon {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 12px;
	background: var(--wm-green-soft);
	color: var(--wm-green);
}

.wm-quick-action-list > a > span:nth-child(2) {
	display: grid;
	gap: 2px;
}

.wm-quick-action-list strong {
	font-size: 13px;
}

.wm-quick-action-list small {
	color: var(--wm-muted);
	font-size: 11px;
}

.wm-quick-action-arrow {
	color: #9aa79f;
}

.wm-quick-action-arrow svg {
	width: 16px;
	height: 16px;
}

.wm-recent-listings-card {
	padding-bottom: 12px;
}

.wm-recent-listings {
	display: grid;
}

.wm-recent-listing-row {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr) minmax(100px, auto) auto 36px;
	align-items: center;
	gap: 13px;
	padding: 12px 0;
	border-top: 1px solid var(--wm-line);
}

.wm-recent-listing-thumb {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	overflow: hidden;
	border-radius: 11px;
	background: var(--wm-green-soft);
	color: var(--wm-green);
}

.wm-recent-listing-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wm-recent-listing-copy,
.wm-recent-listing-value {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.wm-recent-listing-copy strong,
.wm-recent-listing-copy small {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.wm-recent-listing-copy strong {
	font-size: 13px;
}

.wm-recent-listing-copy small,
.wm-recent-listing-value small {
	color: var(--wm-muted);
	font-size: 10px;
}

.wm-recent-listing-value {
	text-align: right;
}

.wm-recent-listing-value strong {
	font-size: 12px;
}

/* Section headings and empty states */
.wm-section-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin: 8px 0 22px;
}

.wm-section-head h2 {
	margin-bottom: 5px;
	font-size: 31px;
	letter-spacing: -0.035em;
}

.wm-section-head p {
	max-width: 700px;
	margin: 0;
	color: var(--wm-muted);
	font-size: 13px;
	line-height: 1.55;
}

.wm-section-head--dashboard {
	align-items: center;
	margin-top: 0;
}

.wm-empty {
	padding: 54px 24px;
	border: 1px dashed #bdcbc2;
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.68);
	text-align: center;
}

.wm-empty--compact {
	padding: 28px 18px;
}

.wm-empty--large {
	padding-block: 80px;
}

.wm-empty-icon {
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	margin: 0 auto 14px;
	border-radius: 16px;
	background: var(--wm-green-soft);
	color: var(--wm-green);
}

.wm-empty-icon svg {
	width: 24px;
	height: 24px;
}

.wm-empty h3,
.wm-empty h4 {
	margin-bottom: 6px;
}

.wm-empty p {
	margin-bottom: 18px;
	color: var(--wm-muted);
	font-size: 13px;
}

/* Listing management cards */
.wm-management-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.wm-management-card {
	overflow: hidden;
	border: 1px solid var(--wm-line);
	border-radius: var(--wm-radius);
	background: #fff;
	box-shadow: var(--wm-shadow-sm);
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.wm-management-card:hover {
	box-shadow: 0 18px 40px rgba(18, 52, 40, 0.1);
	transform: translateY(-2px);
}

.wm-management-image {
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: #eaf0ec;
}

.wm-management-image > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wm-management-image > .wm-status {
	position: absolute;
	top: 12px;
	right: 12px;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}

.wm-management-placeholder {
	display: grid;
	place-items: center;
	align-content: center;
	gap: 8px;
	height: 100%;
	color: #7c9185;
}

.wm-management-placeholder svg {
	width: 32px;
	height: 32px;
}

.wm-management-placeholder span {
	font-size: 11px;
	font-weight: 700;
}

.wm-management-body {
	padding: 18px;
}

.wm-management-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	color: var(--wm-muted);
	font-size: 10px;
	font-weight: 750;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.wm-management-body h3 {
	min-height: 48px;
	margin: 10px 0 16px;
	font-size: 18px;
	line-height: 1.35;
	letter-spacing: -0.02em;
}

.wm-management-metrics {
	display: grid;
	grid-template-columns: 1fr 1fr;
	overflow: hidden;
	margin-bottom: 14px;
	border: 1px solid var(--wm-line);
	border-radius: 11px;
}

.wm-management-metrics > div {
	display: grid;
	gap: 3px;
	padding: 11px;
}

.wm-management-metrics > div + div {
	border-left: 1px solid var(--wm-line);
}

.wm-management-metrics small {
	color: var(--wm-muted);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.wm-management-metrics strong {
	font-size: 12px;
}

.wm-management-audit {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 13px;
	color: var(--wm-muted);
	font-size: 10px;
}

.wm-management-actions,
.wm-team-card-actions {
	display: flex;
	align-items: center;
	gap: 7px;
	padding-top: 13px;
	border-top: 1px solid var(--wm-line);
}

.wm-management-actions form,
.wm-team-card-actions form {
	margin: 0;
}

.wm-action-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 34px;
	padding: 0 10px;
	border: 1px solid var(--wm-line);
	border-radius: 9px;
	background: #fff;
	color: var(--wm-green) !important;
	font: inherit;
	font-size: 11px;
	font-weight: 750;
	cursor: pointer;
}

.wm-action-button:hover {
	background: var(--wm-green-soft);
}

.wm-action-button svg {
	width: 14px;
	height: 14px;
}

.wm-action-button--danger {
	color: var(--wm-danger) !important;
}

.wm-action-button--danger:hover {
	background: var(--wm-danger-soft);
}

/* Listing editor */
.wm-editor-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 310px;
	gap: 18px;
	align-items: start;
}

.wm-editor-main,
.wm-settings-main {
	display: grid;
	gap: 18px;
	min-width: 0;
}

.wm-form-section {
	padding: 25px;
}

.wm-form-section-head {
	display: flex;
	align-items: flex-start;
	gap: 13px;
	margin-bottom: 22px;
}

.wm-form-section-head h3 {
	margin-bottom: 4px;
	font-size: 19px;
	letter-spacing: -0.025em;
}

.wm-form-section-head p {
	margin: 0;
	color: var(--wm-muted);
	font-size: 12px;
	line-height: 1.5;
}

.wm-form-step {
	display: grid;
	place-items: center;
	flex: 0 0 36px;
	width: 36px;
	height: 36px;
	border-radius: 11px;
	background: var(--wm-green-soft);
	color: var(--wm-green);
	font-size: 13px;
	font-weight: 850;
}

.wm-form-step svg {
	width: 18px;
	height: 18px;
}

.wm-editor-side {
	position: sticky;
	top: 20px;
}

.wm-publish-card {
	display: grid;
	gap: 16px;
	padding: 20px;
}

.wm-publish-card-head {
	display: flex;
	align-items: center;
	gap: 11px;
}

.wm-publish-card-head h3 {
	margin-bottom: 2px;
	font-size: 16px;
}

.wm-publish-card-head p {
	margin: 0;
	color: var(--wm-muted);
	font-size: 11px;
}

.wm-publish-icon {
	display: grid;
	place-items: center;
	width: 39px;
	height: 39px;
	border-radius: 11px;
	background: var(--wm-green-soft);
	color: var(--wm-green);
}

.wm-editor-image-preview,
.wm-editor-image-placeholder {
	display: grid;
	place-items: center;
	align-content: center;
	gap: 8px;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border: 1px dashed #b8c8be;
	border-radius: 13px;
	background: var(--wm-bg-soft);
	color: #82948a;
}

.wm-editor-image-preview img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wm-editor-image-placeholder svg {
	width: 30px;
	height: 30px;
}

.wm-editor-image-placeholder span {
	font-size: 11px;
	font-weight: 700;
}

.wm-file-field input[type="file"] {
	min-height: 42px;
	padding: 7px;
	font-size: 11px;
}

.wm-file-field input[type="file"]::file-selector-button {
	margin-right: 9px;
	padding: 7px 10px;
	border: 0;
	border-radius: 8px;
	background: var(--wm-green-soft);
	color: var(--wm-green);
	font-weight: 750;
	cursor: pointer;
}

.wm-review-note,
.wm-security-note {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	padding: 11px;
	border-radius: 10px;
	background: var(--wm-warning-soft);
	color: #735b15;
}

.wm-review-note svg,
.wm-security-note svg {
	flex: 0 0 17px;
	width: 17px;
	height: 17px;
	margin-top: 1px;
}

.wm-review-note p,
.wm-security-note p {
	margin: 0;
	font-size: 10px;
	line-height: 1.5;
}

/* Employees */
.wm-team-layout {
	display: grid;
	grid-template-columns: minmax(320px, 0.78fr) minmax(0, 1.22fr);
	gap: 18px;
	align-items: start;
}

.wm-employee-editor {
	position: sticky;
	top: 20px;
}

.wm-permission-list {
	display: grid;
	gap: 8px;
}

.wm-permission-heading {
	display: grid;
	gap: 2px;
	margin: 5px 0 3px;
}

.wm-permission-heading strong {
	font-size: 13px;
}

.wm-permission-heading small {
	color: var(--wm-muted);
	font-size: 11px;
	font-weight: 450;
}

.wm-permission {
	position: relative;
	display: grid !important;
	grid-template-columns: 22px minmax(0, 1fr) !important;
	align-items: start;
	gap: 12px !important;
	padding: 14px !important;
	border: 1px solid var(--wm-line);
	border-radius: 11px;
	background: var(--wm-bg-soft);
	font-weight: 500 !important;
	cursor: pointer;
	transition: border-color 0.16s ease, background 0.16s ease;
}

.wm-permission:hover {
	border-color: #b9cabf;
	background: #fff;
}

.wm-permission > input {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	pointer-events: none;
}

.wm-permission-check {
	display: grid;
	place-items: center;
	width: 22px;
	height: 22px;
	border: 1px solid #b9c7bf;
	border-radius: 7px;
	background: #fff;
	color: transparent;
}

.wm-permission-check svg {
	width: 14px;
	height: 14px;
}

.wm-permission input:checked + .wm-permission-check {
	border-color: var(--wm-green);
	background: var(--wm-green);
	color: #fff;
}

.wm-permission > span:last-child {
	display: grid;
	gap: 3px;
}

.wm-permission b {
	display: block;
	font-size: 13px;
	line-height: 1.35;
}

.wm-permission small {
	display: block;
	margin-top: 2px;
	color: var(--wm-muted);
	font-size: 11px;
	line-height: 1.5;
}

.wm-team-list-heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin: 2px 0 14px;
}

.wm-team-list-heading h3 {
	margin-bottom: 2px;
	font-size: 21px;
	letter-spacing: -0.025em;
}

.wm-team-list-heading p {
	margin: 0;
	color: var(--wm-muted);
	font-size: 11px;
}

.wm-team-cards {
	display: grid;
	gap: 12px;
}

.wm-team-card {
	padding: 18px;
}

.wm-team-card-head {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
}

.wm-team-card-head > div {
	display: grid;
	min-width: 0;
	gap: 3px;
}

.wm-team-card-head strong,
.wm-team-card-head small {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.wm-team-card-head strong {
	font-size: 14px;
}

.wm-team-card-head small {
	color: var(--wm-muted);
	font-size: 11px;
}

.wm-permission-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 15px 0;
}

.wm-team-card-actions {
	flex-wrap: wrap;
}

/* Business settings */
.wm-settings-layout {
	display: grid;
	grid-template-columns: 285px minmax(0, 1fr);
	gap: 18px;
	align-items: start;
}

.wm-profile-identity-card {
	position: sticky;
	top: 20px;
	text-align: center;
}

.wm-profile-logo-large {
	display: grid;
	place-items: center;
	margin-bottom: 15px;
}

.wm-profile-logo-large .wm-business-logo {
	width: 104px;
	height: 104px;
	flex-basis: 104px;
	border-radius: 25px;
}

.wm-profile-identity-card h3 {
	margin-bottom: 4px;
	font-size: 18px;
}

.wm-profile-identity-card > p {
	margin-bottom: 20px;
	color: var(--wm-muted);
	font-size: 12px;
}

.wm-profile-mini-progress {
	display: grid;
	gap: 8px;
	margin-bottom: 20px;
	padding: 13px;
	border-radius: 11px;
	background: var(--wm-bg-soft);
	text-align: left;
}

.wm-profile-mini-progress > div:first-child {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	font-size: 11px;
}

.wm-profile-mini-progress span {
	color: var(--wm-muted);
}

.wm-settings-savebar {
	position: sticky;
	bottom: 12px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 14px 16px;
	border: 1px solid #cfdcd3;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 14px 34px rgba(18, 52, 40, 0.12);
	backdrop-filter: blur(12px);
}

.wm-settings-savebar > div {
	display: grid;
	gap: 2px;
}

.wm-settings-savebar strong {
	font-size: 12px;
}

.wm-settings-savebar small {
	color: var(--wm-muted);
	font-size: 10px;
}

/* Account */
.wm-account-layout {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 18px;
	align-items: start;
}

.wm-account-profile-card {
	text-align: center;
}

.wm-account-profile-card .wm-user-avatar {
	margin: 0 auto 14px;
}

.wm-account-profile-card h3 {
	margin-bottom: 4px;
}

.wm-account-profile-card p {
	overflow-wrap: anywhere;
	color: var(--wm-muted);
	font-size: 11px;
}

.wm-role-badge {
	display: inline-flex;
	min-height: 28px;
	align-items: center;
	padding: 0 10px;
	border-radius: 999px;
	background: var(--wm-green-soft);
	color: var(--wm-green);
	font-size: 10px;
	font-weight: 750;
}

.wm-account-form {
	max-width: 800px;
}

.wm-security-note {
	background: var(--wm-green-soft);
	color: var(--wm-green-deep);
}

/* Public marketplace */
.wm-market-hero {
	padding: 32px 0 28px;
}

.wm-market-filters {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr auto;
	gap: 13px;
	align-items: end;
	padding: 18px;
	border: 1px solid var(--wm-line);
	border-radius: 16px;
	background: #fff;
	box-shadow: var(--wm-shadow);
}

.wm-market-filters label {
	display: grid;
	gap: 7px;
	color: var(--wm-muted);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.wm-results-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 32px 0 17px;
}

.wm-results-head a {
	color: var(--wm-green);
	font-weight: 800;
}

.wm-listing-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.wm-listing-card {
	overflow: hidden;
	border: 1px solid var(--wm-line);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 12px 35px rgba(18, 52, 40, 0.07);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.wm-listing-card:hover {
	box-shadow: var(--wm-shadow);
	transform: translateY(-4px);
}

.wm-listing-image {
	display: grid;
	place-items: center;
	aspect-ratio: 4 / 3;
	background: #e9efe9;
	color: var(--wm-green);
	font-weight: 900;
	letter-spacing: 0.08em;
}

.wm-listing-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wm-listing-body {
	padding: 19px;
}

.wm-card-meta {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	color: var(--wm-muted);
	font-size: 11px;
	font-weight: 750;
}

.wm-listing-body h2 {
	margin: 12px 0 18px;
	font-size: 21px;
	line-height: 1.25;
}

.wm-listing-body h2 a {
	color: var(--wm-ink);
}

.wm-price-row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px;
}

.wm-price-row strong {
	color: var(--wm-green);
	font-size: 18px;
}

.wm-price-row span {
	color: var(--wm-muted);
	font-size: 11px;
}

.wm-vendor-line {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px solid var(--wm-line);
	font-size: 11px;
}

.wm-vendor-line span {
	color: var(--wm-muted);
}

.wm-pagination {
	display: flex;
	justify-content: center;
	gap: 7px;
	margin: 34px 0;
}

.wm-pagination .page-numbers {
	padding: 9px 13px;
	border: 1px solid var(--wm-line);
	border-radius: 9px;
	color: var(--wm-green);
}

.wm-pagination .current {
	background: var(--wm-green);
	color: #fff;
}

.wm-single-details {
	margin-top: 34px;
}

.wm-detail-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	overflow: hidden;
	border: 1px solid var(--wm-line);
	border-radius: 16px;
	background: var(--wm-line);
}

.wm-detail-grid > div {
	padding: 20px;
	background: #fff;
}

.wm-detail-grid span {
	display: block;
	color: var(--wm-muted);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.wm-detail-grid strong {
	display: block;
	margin-top: 8px;
}

.wm-seller-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-top: 18px;
	padding: 24px;
	border: 1px solid var(--wm-line);
	border-radius: 16px;
	background: var(--wm-bg);
}

.wm-seller-info {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.wm-seller-info .wm-business-logo {
	width: 58px;
	height: 58px;
	flex-basis: 58px;
	border-radius: 15px;
}

.wm-seller-info h3 {
	margin-bottom: 5px;
}

.wm-seller-info p {
	margin-bottom: 0;
}

.wm-seller-description {
	max-width: 600px;
	margin-top: 10px !important;
	color: var(--wm-muted);
}

.wm-seller-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

/* Legacy table styles remain available for admin/front-end extensions */
.wm-table-wrap {
	overflow: auto;
	border: 1px solid var(--wm-line);
	border-radius: 14px;
	background: #fff;
}

.wm-table {
	width: 100%;
	min-width: 850px;
	border-collapse: collapse;
}

.wm-table th,
.wm-table td {
	padding: 16px;
	border-bottom: 1px solid var(--wm-line);
	text-align: left;
	vertical-align: middle;
}

.wm-table th {
	background: #f7f9f7;
	color: var(--wm-muted);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

@media (max-width: 1180px) {
	.wm-dashboard-app {
		grid-template-columns: 250px minmax(0, 1fr);
	}

	.wm-nav-copy small {
		display: none;
	}

	.wm-management-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wm-stat {
		padding: 16px;
	}

	.wm-stat-icon {
		width: 40px;
		height: 40px;
		flex-basis: 40px;
	}
}

@media (max-width: 960px) {
	.wm-dashboard-app {
		display: block;
		width: min(calc(100vw - 20px), 1180px);
		min-height: 0;
	}

	.wm-dashboard-sidebar {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		gap: 12px 18px;
		padding: 17px;
	}

	.wm-dashboard-brand {
		padding: 0;
	}

	.wm-sidebar-company {
		justify-self: end;
		width: min(330px, 100%);
		margin: 0;
		padding: 9px 11px;
	}

	.wm-dashboard-nav {
		grid-column: 1 / -1;
		display: flex;
		overflow-x: auto;
		padding: 2px 0 4px;
		scrollbar-width: none;
	}

	.wm-dashboard-nav::-webkit-scrollbar {
		display: none;
	}

	.wm-dashboard-nav a {
		flex: 0 0 auto;
		min-width: 132px;
		padding: 9px 11px;
	}

	.wm-dashboard-nav a:hover {
		transform: none;
	}

	.wm-dashboard-nav a.is-active {
		box-shadow: inset 0 -3px 0 var(--wm-accent);
	}

	.wm-nav-copy small {
		display: none;
	}

	.wm-sidebar-footer {
		display: none;
	}

	.wm-dashboard-topbar {
		min-height: 96px;
		padding: 20px 24px;
	}

	.wm-dashboard-content {
		padding: 24px;
	}

	.wm-mobile-status {
		display: inline-flex !important;
	}

	.wm-stat-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wm-overview-grid,
	.wm-editor-layout,
	.wm-team-layout,
	.wm-settings-layout,
	.wm-account-layout {
		grid-template-columns: 1fr;
	}

	.wm-editor-side,
	.wm-employee-editor,
	.wm-profile-identity-card {
		position: static;
	}

	.wm-profile-identity-card {
		display: grid;
		grid-template-columns: 110px minmax(0, 1fr);
		align-items: center;
		gap: 8px 20px;
		text-align: left;
	}

	.wm-profile-logo-large {
		grid-row: span 4;
		margin: 0;
	}

	.wm-profile-mini-progress,
	.wm-profile-identity-card .wm-file-field {
		grid-column: 2;
		margin-bottom: 0;
	}

	.wm-account-profile-card {
		display: grid;
		grid-template-columns: 88px minmax(0, 1fr);
		gap: 4px 18px;
		align-items: center;
		text-align: left;
	}

	.wm-account-profile-card .wm-user-avatar {
		grid-row: span 4;
		margin: 0;
	}

	.wm-account-profile-card p {
		margin: 0;
	}

	.wm-role-badge {
		justify-self: start;
	}

	.wm-auth-shell {
		grid-template-columns: 1fr;
	}

	.wm-auth-intro {
		padding: 0;
	}

	.wm-market-filters {
		grid-template-columns: 1fr 1fr;
	}

	.wm-market-filters .wm-button {
		grid-column: 1 / -1;
	}

	.wm-listing-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wm-detail-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 680px) {
	.wm-shell {
		width: min(100% - 20px, 1180px);
		margin: 28px auto;
	}

	.wm-card {
		padding: 19px;
	}

	.wm-grid-2,
	.wm-listing-grid,
	.wm-market-filters,
	.wm-detail-grid,
	.wm-management-grid {
		grid-template-columns: 1fr;
	}

	.wm-field-span-2 {
		grid-column: auto;
	}

	.wm-dashboard-app {
		width: 100vw;
		margin: 0;
		border-inline: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.wm-dashboard-sidebar {
		grid-template-columns: 1fr;
		gap: 14px;
		padding: 14px;
	}

	.wm-dashboard-brand {
		padding-inline: 2px;
	}

	.wm-brand-mark {
		width: 38px;
		height: 38px;
		border-radius: 11px;
	}

	.wm-sidebar-company {
		display: none;
	}

	.wm-dashboard-nav {
		grid-column: auto;
		margin-inline: -4px;
		padding-inline: 4px;
	}

	.wm-dashboard-nav a {
		min-width: auto;
		padding: 9px 12px;
	}

	.wm-nav-icon {
		width: 30px;
		height: 30px;
		flex-basis: 30px;
	}

	.wm-nav-copy strong {
		font-size: 11px;
	}

	.wm-dashboard-topbar {
		align-items: flex-start;
		min-height: 0;
		padding: 18px 16px;
	}

	.wm-dashboard-page-title h1 {
		font-size: 27px;
	}

	.wm-dashboard-page-title p {
		display: none;
	}

	.wm-topbar-actions .wm-button span {
		display: none;
	}

	.wm-topbar-actions .wm-button {
		width: 42px;
		padding: 0;
	}

	.wm-dashboard-content {
		padding: 16px 14px 32px;
	}

	.wm-overview-hero {
		grid-template-columns: 1fr;
		padding: 25px 21px;
	}

	.wm-overview-hero h2 {
		font-size: 30px;
	}

	.wm-overview-hero-badge {
		display: none;
	}

	.wm-overview-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.wm-overview-actions .wm-button {
		width: 100%;
	}

	.wm-stat-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.wm-stat {
		align-items: flex-start;
		gap: 10px;
		padding: 13px;
	}

	.wm-stat-icon {
		width: 34px;
		height: 34px;
		flex-basis: 34px;
		border-radius: 10px;
	}

	.wm-stat-icon svg {
		width: 17px;
		height: 17px;
	}

	.wm-stat strong {
		font-size: 23px;
	}

	.wm-stat small {
		display: none;
	}

	.wm-recent-listing-row {
		grid-template-columns: 44px minmax(0, 1fr) auto;
		gap: 10px;
	}

	.wm-recent-listing-thumb {
		width: 44px;
		height: 44px;
	}

	.wm-recent-listing-value,
	.wm-recent-listing-row > .wm-icon-button {
		display: none;
	}

	.wm-section-head,
	.wm-section-head--dashboard,
	.wm-seller-card {
		align-items: stretch;
		flex-direction: column;
	}

	.wm-section-head h2 {
		font-size: 27px;
	}

	.wm-section-head .wm-button {
		width: 100%;
	}

	.wm-form-section {
		padding: 19px;
	}

	.wm-form-section-head {
		margin-bottom: 18px;
	}

	.wm-editor-side {
		order: -1;
	}

	.wm-publish-card {
		grid-template-columns: 94px minmax(0, 1fr);
		align-items: start;
	}

	.wm-publish-card-head,
	.wm-review-note,
	.wm-publish-card .wm-button,
	.wm-publish-card .wm-file-field {
		grid-column: 1 / -1;
	}

	.wm-editor-image-preview,
	.wm-editor-image-placeholder {
		aspect-ratio: 1;
	}

	.wm-team-card-head {
		grid-template-columns: 46px minmax(0, 1fr);
	}

	.wm-team-card-head .wm-user-avatar {
		width: 46px;
		height: 46px;
	}

	.wm-team-card-head .wm-status {
		grid-column: 2;
		justify-self: start;
	}

	.wm-team-card-actions {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wm-team-card-actions form,
	.wm-team-card-actions .wm-action-button {
		width: 100%;
	}

	.wm-settings-savebar {
		position: static;
		align-items: stretch;
		flex-direction: column;
	}

	.wm-settings-savebar .wm-button {
		width: 100%;
	}

	.wm-profile-identity-card {
		grid-template-columns: 84px minmax(0, 1fr);
	}

	.wm-profile-logo-large .wm-business-logo {
		width: 84px;
		height: 84px;
		flex-basis: 84px;
		border-radius: 20px;
	}

	.wm-profile-mini-progress,
	.wm-profile-identity-card .wm-file-field {
		grid-column: 1 / -1;
	}

	.wm-account-profile-card {
		grid-template-columns: 64px minmax(0, 1fr);
	}

	.wm-account-profile-card .wm-user-avatar {
		width: 64px;
		height: 64px;
	}

	.wm-login-card {
		padding: 26px 20px;
	}

	.wm-auth-intro h1,
	.wm-market-hero h1 {
		font-size: 38px;
	}

	.wm-market-filters .wm-button {
		grid-column: auto;
	}

	.wm-seller-info,
	.wm-seller-actions {
		width: 100%;
	}

	.wm-seller-actions .wm-button {
		width: 100%;
	}
}

.wm-action-button,
.wm-shell button.wm-action-button,
.wm-shell a.wm-action-button,
.wm-icon-button,
.wm-shell button.wm-icon-button,
.wm-shell a.wm-icon-button,
.wm-text-button,
.wm-shell button.wm-text-button,
.wm-shell a.wm-text-button {
	text-decoration: none !important;
}

.wm-settings-savebar {
	z-index: 5;
}

.wm-settings-savebar .wm-button {
	min-width: 220px;
	white-space: nowrap;
}

.wm-shell .wm-form button.wm-button,
.wm-shell .wm-settings-savebar button.wm-button,
.wm-shell .wm-card button.wm-button {
	background-color: var(--wm-green) !important;
	border-color: var(--wm-green) !important;
	color: #fff !important;
}

.wm-shell .wm-form button.wm-button:hover,
.wm-shell .wm-settings-savebar button.wm-button:hover,
.wm-shell .wm-card button.wm-button:hover {
	background-color: var(--wm-green-deep) !important;
	border-color: var(--wm-green-deep) !important;
	color: #fff !important;
}

/* =========================================================
   Customer sourcing, requests, offers and deals
   ========================================================= */

.wm-customer-app .wm-dashboard-sidebar {
	background: linear-gradient(180deg, #123f35 0%, #0b3028 100%);
}

.wm-customer-app .wm-brand-mark,
.wm-auth-intro--customer::before {
	background: var(--wm-accent);
	color: var(--wm-green-deep);
}

.wm-customer-identity .wm-user-avatar {
	width: 54px;
	height: 54px;
	border: 2px solid rgba(255, 255, 255, 0.2);
	border-radius: 16px;
}

.wm-customer-hero {
	background:
		radial-gradient(circle at 88% 20%, rgba(199, 164, 93, 0.24), transparent 34%),
		linear-gradient(135deg, #164f3d, #0d3629);
}

.wm-stat-grid--customer {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.wm-request-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.wm-request-list--compact {
	grid-template-columns: 1fr;
}

.wm-request-card {
	display: grid;
	gap: 15px;
	min-width: 0;
	padding: 22px;
	border: 1px solid var(--wm-line);
	border-radius: 17px;
	background: #fff;
	box-shadow: var(--wm-shadow-sm);
	transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.wm-request-card:hover {
	transform: translateY(-2px);
	border-color: #c6d7cd;
	box-shadow: 0 16px 38px rgba(20, 54, 42, 0.1);
}

.wm-request-card-top,
.wm-request-card-footer,
.wm-request-detail-hero,
.wm-offer-card-head,
.wm-offer-accept,
.wm-deal-banner,
.wm-deal-complete-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.wm-request-card h3 {
	margin: 0;
	font-size: clamp(18px, 2vw, 22px);
	line-height: 1.25;
}

.wm-request-id {
	color: var(--wm-muted);
	font-size: 11px;
	font-weight: 750;
}

.wm-status--request-open,
.wm-status--offer-submitted {
	background: var(--wm-blue-soft);
	color: var(--wm-blue);
}

.wm-status--request-awarded,
.wm-status--offer-accepted {
	background: var(--wm-success-soft);
	color: var(--wm-success);
}

.wm-status--request-closed {
	background: var(--wm-green-soft);
	color: var(--wm-green);
}

.wm-status--request-cancelled,
.wm-status--offer-declined,
.wm-status--offer-withdrawn {
	background: #f0f1f0;
	color: #67736d;
}

.wm-commodity-chips,
.wm-offer-summary,
.wm-form-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.wm-commodity-chips span {
	padding: 7px 10px;
	border-radius: 999px;
	background: var(--wm-green-soft);
	color: var(--wm-green);
	font-size: 11px;
	font-weight: 750;
}

.wm-request-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 9px 16px;
	color: var(--wm-muted);
	font-size: 11px;
}

.wm-request-meta span,
.wm-offer-summary span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.wm-request-meta svg,
.wm-offer-summary svg {
	width: 15px;
	height: 15px;
	color: var(--wm-green);
}

.wm-request-card-footer {
	padding-top: 14px;
	border-top: 1px solid var(--wm-line);
}

.wm-request-card-footer small {
	color: var(--wm-muted);
	font-size: 10px;
}

.wm-request-editor .wm-editor-layout {
	grid-template-columns: minmax(0, 1fr) 300px;
}

.wm-card-heading--between {
	align-items: flex-start;
	justify-content: space-between;
}

.wm-card-heading-group {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.wm-request-items {
	display: grid;
	gap: 12px;
}

.wm-request-item {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr) 38px;
	align-items: start;
	gap: 12px;
	padding: 16px;
	border: 1px solid var(--wm-line);
	border-radius: 14px;
	background: var(--wm-bg-soft);
}

.wm-request-item-number {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 9px;
	background: var(--wm-green);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
}

.wm-request-item-fields {
	display: grid;
	grid-template-columns: minmax(180px, 1.25fr) minmax(120px, 0.65fr) minmax(110px, 0.55fr) minmax(180px, 1fr);
	gap: 12px;
}

.wm-request-item-remove {
	margin-top: 25px;
	color: var(--wm-danger) !important;
}

.wm-request-item-remove:disabled {
	opacity: 0.3;
	cursor: not-allowed;
}

.wm-detail-back {
	margin-bottom: 14px;
}

.wm-request-detail-hero {
	align-items: flex-start;
	margin-bottom: 18px;
}

.wm-request-detail-hero h2 {
	margin: 9px 0 12px;
	font-size: clamp(24px, 3vw, 34px);
}

.wm-detail-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.wm-detail-actions form,
.wm-offer-accept form,
.wm-deal-complete-row form,
.wm-withdraw-offer-form {
	margin: 0;
}

.wm-request-requirements,
.wm-deal-card,
.wm-offer-editor {
	margin-bottom: 18px;
}

.wm-responsive-table {
	width: 100%;
	overflow-x: auto;
	border: 1px solid var(--wm-line);
	border-radius: 13px;
}

.wm-deal-table {
	width: 100%;
	min-width: 620px;
	border-collapse: collapse;
	font-size: 12px;
}

.wm-deal-table th,
.wm-deal-table td {
	padding: 13px 14px;
	border-bottom: 1px solid var(--wm-line);
	text-align: left;
	vertical-align: middle;
}

.wm-deal-table th {
	background: var(--wm-bg-soft);
	color: var(--wm-muted);
	font-size: 10px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.wm-deal-table tr:last-child td {
	border-bottom: 0;
}

.wm-request-notes,
.wm-offer-note {
	margin-top: 16px;
	padding: 15px;
	border-radius: 12px;
	background: var(--wm-bg-soft);
}

.wm-request-notes > strong,
.wm-offer-note > strong {
	display: block;
	margin-bottom: 6px;
	font-size: 12px;
}

.wm-request-notes p,
.wm-offer-note p {
	margin: 0;
	color: var(--wm-muted);
	font-size: 12px;
	line-height: 1.65;
}

.wm-offers-section {
	display: grid;
	gap: 14px;
}

.wm-offer-list {
	display: grid;
	gap: 16px;
}

.wm-offer-card {
	display: grid;
	gap: 16px;
	padding: 0;
	overflow: hidden;
}

.wm-offer-card > * {
	margin-inline: 22px;
}

.wm-offer-card > .wm-offer-card-head {
	margin: 0;
	padding: 20px 22px;
	background: linear-gradient(180deg, #fff, var(--wm-bg-soft));
	border-bottom: 1px solid var(--wm-line);
}

.wm-offer-vendor {
	display: flex;
	align-items: center;
	gap: 12px;
}

.wm-offer-vendor .wm-business-logo {
	flex: 0 0 52px;
	width: 52px;
	height: 52px;
	border-radius: 13px;
}

.wm-offer-vendor small,
.wm-offer-total small {
	display: block;
	color: var(--wm-muted);
	font-size: 10px;
}

.wm-offer-vendor h3 {
	margin: 2px 0 6px;
	font-size: 17px;
}

.wm-offer-total {
	display: grid;
	justify-items: end;
	gap: 4px;
	text-align: right;
}

.wm-offer-total strong {
	font-size: 23px;
}

.wm-offer-summary {
	padding: 12px 14px;
	border-radius: 12px;
	background: var(--wm-accent-soft);
	color: #645126;
}

.wm-offer-summary strong {
	font-size: 11px;
}

.wm-offer-accept {
	margin: 0 !important;
	padding: 17px 22px;
	border-top: 1px solid var(--wm-line);
	background: var(--wm-success-soft);
}

.wm-offer-accept > div,
.wm-deal-complete-row > div {
	display: grid;
	gap: 3px;
}

.wm-offer-accept small,
.wm-deal-complete-row small {
	color: var(--wm-muted);
	font-size: 10px;
}

.wm-deal-card {
	padding: 0;
	overflow: hidden;
	border-color: #bdd9c7;
}

.wm-deal-banner {
	padding: 21px 22px;
	background: linear-gradient(135deg, #e9f7ed, #f7fbf8);
}

.wm-deal-banner > div {
	flex: 1;
}

.wm-deal-banner h2 {
	margin: 3px 0 4px;
	font-size: 21px;
}

.wm-deal-banner p {
	margin: 0;
	color: var(--wm-muted);
	font-size: 11px;
}

.wm-deal-icon {
	display: grid;
	place-items: center;
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	border-radius: 13px;
	background: var(--wm-success);
	color: #fff;
}

.wm-deal-contact-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	background: var(--wm-line);
	border-top: 1px solid var(--wm-line);
	border-bottom: 1px solid var(--wm-line);
}

.wm-deal-contact-grid > div {
	display: grid;
	gap: 4px;
	min-width: 0;
	padding: 16px;
	background: #fff;
}

.wm-deal-contact-grid small {
	color: var(--wm-muted);
	font-size: 9px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.wm-deal-contact-grid strong,
.wm-deal-contact-grid span,
.wm-deal-contact-grid a {
	overflow-wrap: anywhere;
	color: var(--wm-ink);
	font-size: 12px;
}

.wm-deal-complete-row {
	padding: 16px 22px;
	background: #fff;
}

.wm-request-filters {
	display: grid;
	grid-template-columns: minmax(190px, 1fr) minmax(150px, 0.7fr) minmax(150px, 0.7fr) auto;
	align-items: end;
	gap: 12px;
	margin-bottom: 20px;
	padding: 16px;
}

.wm-request-filters label {
	display: grid;
	gap: 6px;
	font-size: 11px;
	font-weight: 750;
}

.wm-request-filters input,
.wm-request-filters select {
	width: 100%;
	min-height: 44px;
	padding: 9px 11px;
	border: 1px solid #ccd8d0;
	border-radius: 9px;
	background: #fff;
	color: var(--wm-ink);
	font: inherit;
}

.wm-request-board-shell {
	max-width: 1180px;
}

.wm-request-board-hero {
	margin-bottom: 24px;
	padding: 34px;
	border-radius: 22px;
	background: linear-gradient(135deg, var(--wm-green), var(--wm-green-deep));
	color: #fff;
	box-shadow: var(--wm-shadow);
}

.wm-request-board-hero .wm-eyebrow {
	color: #ead69f;
}

.wm-request-board-hero h1 {
	margin-bottom: 8px;
	font-size: clamp(30px, 4vw, 48px);
}

.wm-request-board-hero p {
	max-width: 720px;
	margin: 0;
	color: rgba(255, 255, 255, 0.75);
}

.wm-vendor-offer-list {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wm-vendor-offer-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
}

.wm-vendor-offer-card h3 {
	margin: 9px 0 10px;
	font-size: 18px;
}

.wm-offer-editor {
	display: grid;
	gap: 18px;
}

.wm-offer-line-list {
	display: grid;
	gap: 10px;
}

.wm-offer-line {
	display: grid;
	grid-template-columns: minmax(190px, 1.2fr) minmax(160px, 0.8fr) minmax(160px, 0.8fr);
	align-items: end;
	gap: 14px;
	padding: 15px;
	border: 1px solid var(--wm-line);
	border-radius: 13px;
	background: var(--wm-bg-soft);
}

.wm-offer-line > div {
	display: grid;
	gap: 3px;
}

.wm-offer-line > div small,
.wm-offer-line > div span,
.wm-offer-line > div em {
	color: var(--wm-muted);
	font-size: 10px;
}

.wm-offer-line > div strong {
	font-size: 15px;
}

.wm-offer-line label {
	position: relative;
}

.wm-offer-line label small {
	position: absolute;
	right: 10px;
	bottom: 14px;
	pointer-events: none;
}

.wm-withdraw-offer-form {
	display: flex;
	justify-content: flex-end;
	margin-top: -8px;
	margin-bottom: 18px;
}

@media (max-width: 1120px) {
	.wm-stat-grid--customer,
	.wm-deal-contact-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wm-request-item-fields {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wm-request-editor .wm-editor-layout {
		grid-template-columns: 1fr;
	}

	.wm-request-editor .wm-editor-side {
		position: static;
	}
}

@media (max-width: 820px) {
	.wm-request-list,
	.wm-vendor-offer-list {
		grid-template-columns: 1fr;
	}

	.wm-request-filters {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wm-request-filters .wm-button {
		width: 100%;
	}

	.wm-offer-line {
		grid-template-columns: 1fr 1fr;
	}

	.wm-offer-line > div {
		grid-column: 1 / -1;
	}
}

@media (max-width: 640px) {
	.wm-stat-grid--customer,
	.wm-deal-contact-grid,
	.wm-request-filters,
	.wm-request-item-fields,
	.wm-offer-line {
		grid-template-columns: 1fr;
	}

	.wm-request-item {
		grid-template-columns: 28px minmax(0, 1fr) 34px;
		padding: 12px;
	}

	.wm-request-item-number {
		width: 26px;
		height: 26px;
	}

	.wm-card-heading--between,
	.wm-request-card-footer,
	.wm-request-detail-hero,
	.wm-offer-card-head,
	.wm-offer-accept,
	.wm-deal-banner,
	.wm-deal-complete-row,
	.wm-vendor-offer-card {
		align-items: stretch;
		flex-direction: column;
	}

	.wm-card-heading--between .wm-button,
	.wm-request-card-footer .wm-button,
	.wm-offer-accept .wm-button,
	.wm-deal-complete-row .wm-button,
	.wm-vendor-offer-card .wm-button {
		width: 100%;
	}

	.wm-offer-total {
		justify-items: start;
		text-align: left;
	}

	.wm-deal-banner .wm-status {
		align-self: flex-start;
	}

	.wm-detail-actions {
		width: 100%;
	}

	.wm-detail-actions > *,
	.wm-detail-actions form,
	.wm-detail-actions button,
	.wm-detail-actions a {
		width: 100%;
	}
}

body.wm-customer-requests-page .wp-block-post-title,
body.wm-customer-requests-page .entry-title {
	display: none !important;
}

body.wm-customer-requests-page .wp-block-post-content,
body.wm-customer-requests-page .entry-content {
	max-width: none !important;
}

.wm-demand-callout {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 18px;
	padding: 18px 20px;
	border-color: #d7c28d;
	background: linear-gradient(135deg, #fffaf0, #fff);
}

.wm-demand-callout > div {
	flex: 1;
}

.wm-demand-callout h3 {
	margin: 1px 0 3px;
	font-size: 17px;
}

.wm-demand-callout p {
	margin: 0;
	color: var(--wm-muted);
	font-size: 11px;
}

.wm-demand-icon {
	display: grid;
	place-items: center;
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	border-radius: 13px;
	background: var(--wm-accent);
	color: var(--wm-green-deep);
}

@media (max-width: 640px) {
	.wm-demand-callout {
		align-items: stretch;
		flex-direction: column;
	}

	.wm-demand-callout .wm-button {
		width: 100%;
	}
}

.wm-stat-card {
	display: flex;
	align-items: center;
	gap: 13px;
	min-width: 0;
	padding: 18px;
	border: 1px solid var(--wm-line);
	border-radius: var(--wm-radius);
	background: #fff;
	box-shadow: var(--wm-shadow-sm);
}

.wm-stat-card .wm-stat-icon {
	background: var(--wm-green-soft);
	color: var(--wm-green);
}

.wm-stat-card > div {
	display: grid;
	min-width: 0;
	gap: 2px;
}

.wm-stat-card strong {
	font-size: 27px;
	line-height: 1;
}

.wm-stat-card span {
	color: var(--wm-ink-soft);
	font-size: 11px;
	font-weight: 750;
}

.wm-stat-card small {
	overflow: hidden;
	color: var(--wm-muted);
	font-size: 9px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.wm-section-card {
	margin-top: 18px;
	padding: 22px;
	border: 1px solid var(--wm-line);
	border-radius: var(--wm-radius);
	background: #fff;
	box-shadow: var(--wm-shadow-sm);
}

.wm-empty-state {
	display: grid;
	place-items: center;
	gap: 8px;
	min-height: 250px;
	padding: 34px;
	text-align: center;
}

.wm-empty-state--compact {
	min-height: 190px;
	padding: 24px;
}

.wm-empty-state h2,
.wm-empty-state h3 {
	margin: 3px 0 0;
}

.wm-empty-state p {
	max-width: 540px;
	margin: 0 0 8px;
	color: var(--wm-muted);
	font-size: 12px;
	line-height: 1.6;
}

.wm-card-heading-icon {
	display: grid;
	place-items: center;
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	border-radius: 12px;
	background: var(--wm-green-soft);
	color: var(--wm-green);
}

.wm-status--offer-expired {
	background: var(--wm-warning-soft);
	color: var(--wm-warning);
}

.wm-offer-card--expired {
	border-color: #eadcae;
}


/* =========================================================
   v0.4.1 — customer dashboard responsive hardening
   ========================================================= */

/* Prevent nested dashboard grids and theme styles from forcing overflow. */
.wm-dashboard-main,
.wm-dashboard-content,
.wm-customer-app,
.wm-customer-app .wm-card,
.wm-customer-app .wm-form,
.wm-customer-app .wm-form-section,
.wm-customer-app .wm-editor-layout,
.wm-customer-app .wm-request-items,
.wm-customer-app .wm-request-item,
.wm-customer-app .wm-request-item-fields,
.wm-customer-app .wm-offer-line,
.wm-customer-app .wm-responsive-table,
.wm-customer-app label,
.wm-customer-app label > span,
.wm-customer-app input,
.wm-customer-app select,
.wm-customer-app textarea {
	min-width: 0;
	max-width: 100%;
}

/* Keep form controls inside their own grid cells even when the theme has
   global input heights, widths, margins, or appearance rules. */
.wm-customer-app .wm-form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
.wm-customer-app .wm-form select {
	box-sizing: border-box !important;
	display: block;
	width: 100% !important;
	height: 48px !important;
	min-height: 48px !important;
	max-height: 48px;
	margin: 0 !important;
	padding: 10px 13px !important;
	line-height: 1.25 !important;
}

.wm-customer-app .wm-form textarea {
	box-sizing: border-box !important;
	display: block;
	width: 100% !important;
	height: auto !important;
	min-height: 116px !important;
	margin: 0 !important;
	padding: 12px 13px !important;
	line-height: 1.5 !important;
}

/* Customer two-column forms now wrap based on the real content width,
   not only the browser viewport width. */
.wm-customer-app .wm-grid-2 {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	width: 100%;
}

.wm-customer-app .wm-field-span-2 {
	grid-column: 1 / -1;
}

/* Request heading and action can wrap without colliding. */
.wm-customer-app .wm-card-heading--between {
	flex-wrap: wrap;
	row-gap: 14px;
}

.wm-customer-app .wm-card-heading-group {
	flex: 1 1 420px;
	min-width: 0;
}

.wm-customer-app .wm-card-heading--between > .wm-button {
	flex: 0 0 auto;
	max-width: 100%;
}

/* Commodity request row: the number and delete control stay outside the
   fields, while fields automatically reflow to 4/3/2/1 columns. */
.wm-customer-app .wm-request-item {
	position: relative;
	grid-template-columns: 34px minmax(0, 1fr);
	width: 100%;
	padding: 16px 62px 16px 16px;
	overflow: hidden;
}

.wm-customer-app .wm-request-item-fields {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr));
	width: 100%;
	align-items: end;
}

.wm-customer-app .wm-request-item-fields > label {
	width: 100%;
	min-width: 0;
}

.wm-customer-app .wm-request-item-remove {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 2;
	margin: 0;
	flex: 0 0 36px;
}

/* Offer editor rows follow their available card width as well. */
.wm-customer-app .wm-offer-line {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr));
	width: 100%;
}

.wm-customer-app .wm-offer-line > div {
	min-width: 0;
}

.wm-customer-app .wm-request-card-top,
.wm-customer-app .wm-request-card-footer,
.wm-customer-app .wm-request-detail-hero,
.wm-customer-app .wm-offer-card-head,
.wm-customer-app .wm-offer-accept,
.wm-customer-app .wm-deal-banner,
.wm-customer-app .wm-deal-complete-row {
	flex-wrap: wrap;
}

.wm-customer-app .wm-responsive-table {
	max-width: 100%;
	-webkit-overflow-scrolling: touch;
}

.wm-customer-app .wm-form-actions > *,
.wm-customer-app .wm-detail-actions > * {
	max-width: 100%;
}

@media (max-width: 900px) {
	.wm-customer-app .wm-card-heading--between {
		align-items: stretch;
		flex-direction: column;
	}

	.wm-customer-app .wm-card-heading--between > .wm-button {
		width: 100%;
	}

	.wm-customer-app .wm-request-item-fields {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.wm-customer-app .wm-dashboard-content {
		overflow: hidden;
	}

	.wm-customer-app .wm-card,
	.wm-customer-app .wm-form-section {
		width: 100%;
		padding: 17px;
	}

	.wm-customer-app .wm-grid-2,
	.wm-customer-app .wm-request-item-fields,
	.wm-customer-app .wm-offer-line {
		grid-template-columns: minmax(0, 1fr);
	}

	.wm-customer-app .wm-request-item {
		display: block;
		padding: 54px 12px 12px;
	}

	.wm-customer-app .wm-request-item-number {
		position: absolute;
		top: 12px;
		left: 12px;
	}

	.wm-customer-app .wm-request-item-remove {
		top: 12px;
		right: 12px;
	}

	.wm-customer-app .wm-request-item-fields {
		gap: 12px;
	}

	.wm-customer-app .wm-request-card-top,
	.wm-customer-app .wm-request-card-footer,
	.wm-customer-app .wm-request-detail-hero,
	.wm-customer-app .wm-offer-card-head,
	.wm-customer-app .wm-offer-accept,
	.wm-customer-app .wm-deal-banner,
	.wm-customer-app .wm-deal-complete-row {
		align-items: stretch;
		flex-direction: column;
	}

	.wm-customer-app .wm-request-card-footer .wm-button,
	.wm-customer-app .wm-offer-accept .wm-button,
	.wm-customer-app .wm-deal-complete-row .wm-button,
	.wm-customer-app .wm-form-actions .wm-button,
	.wm-customer-app .wm-detail-actions .wm-button,
	.wm-customer-app .wm-form-actions form,
	.wm-customer-app .wm-detail-actions form {
		width: 100%;
	}

	.wm-customer-app .wm-button {
		white-space: normal;
		text-align: center;
	}
}

/* =========================================================
   v0.5.0 — WooCommerce orders, earnings and payout UI
   ========================================================= */

.wm-stat-grid--four {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.wm-stat-grid--four .wm-stat-card {
	display: grid;
	align-content: center;
	gap: 8px;
	min-height: 126px;
}

.wm-stat-grid--four .wm-stat-card > small {
	display: block;
	overflow: visible;
	color: var(--wm-muted);
	font-size: 10px;
	font-weight: 750;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	white-space: normal;
}

.wm-stat-grid--four .wm-stat-card > strong {
	display: block;
	font-size: clamp(22px, 2.1vw, 30px);
	line-height: 1.15;
	word-break: break-word;
}

.wm-data-table {
	width: 100%;
	min-width: 760px;
	border-collapse: collapse;
	background: #fff;
	font-size: 12px;
}

.wm-data-table th,
.wm-data-table td {
	padding: 14px 15px;
	border-bottom: 1px solid var(--wm-line);
	text-align: left;
	vertical-align: middle;
}

.wm-data-table th {
	background: var(--wm-bg-soft);
	color: var(--wm-muted);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.055em;
	text-transform: uppercase;
	white-space: nowrap;
}

.wm-data-table tr:last-child td {
	border-bottom: 0;
}

.wm-data-table td > small {
	display: block;
	margin-top: 4px;
	color: var(--wm-muted);
	font-size: 10px;
}

.wm-order-card-list {
	display: grid;
	gap: 14px;
}

.wm-customer-order-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 22px;
	padding: 22px;
}

.wm-customer-order-card > div {
	min-width: 0;
}

.wm-customer-order-card > div:first-child {
	display: grid;
	gap: 5px;
}

.wm-customer-order-card > div:first-child > small,
.wm-customer-order-card > div:first-child > span,
.wm-customer-order-total > small {
	color: var(--wm-muted);
	font-size: 10px;
}

.wm-customer-order-card h3 {
	margin: 0;
	font-size: clamp(16px, 2vw, 20px);
	line-height: 1.3;
}

.wm-customer-order-total {
	display: grid;
	justify-items: end;
	gap: 5px;
	min-width: 150px;
}

.wm-customer-order-total > strong {
	font-size: 20px;
	line-height: 1.1;
	white-space: nowrap;
}

.wm-customer-order-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 8px;
}

.wm-customer-order-actions .wm-button {
	min-height: 42px;
	padding-inline: 15px;
}

.wm-listing-body > .wm-button {
	margin-top: 14px;
}

@media (max-width: 1120px) {
	.wm-stat-grid--four {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wm-customer-order-card {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.wm-customer-order-actions {
		grid-column: 1 / -1;
		justify-content: flex-start;
		padding-top: 14px;
		border-top: 1px solid var(--wm-line);
	}
}

@media (max-width: 680px) {
	.wm-stat-grid--four {
		grid-template-columns: minmax(0, 1fr);
	}

	.wm-stat-grid--four .wm-stat-card {
		min-height: 105px;
	}

	.wm-customer-order-card {
		grid-template-columns: minmax(0, 1fr);
		align-items: stretch;
		gap: 16px;
	}

	.wm-customer-order-total {
		justify-items: start;
		padding-top: 14px;
		border-top: 1px solid var(--wm-line);
	}

	.wm-customer-order-actions {
		grid-column: auto;
		align-items: stretch;
		flex-direction: column;
	}

	.wm-customer-order-actions .wm-button {
		width: 100%;
	}
}
