:root {
	--bgm-deep: #0f6b37;
	--bgm-medium: #6fbd45;
	--bgm-light: #dff3d4;
	--bgm-ink: #102117;
	--bgm-muted: #617064;
	--bgm-line: #d8e5d5;
	--bgm-warning: #a05a00;
	--bgm-warning-bg: #fff4df;
	--bgm-surface: #ffffff;
	--bgm-soft: #f6faf4;
}

.bgm-wrap {
	color: var(--bgm-ink);
	max-width: 1380px;
}

.bgm-topbar {
	align-items: center;
	background: var(--bgm-surface);
	border: 1px solid var(--bgm-line);
	border-radius: 8px;
	display: flex;
	justify-content: space-between;
	margin: 18px 0 12px;
	padding: 18px 20px;
}

.bgm-wrap--frontend {
	margin: 0 auto;
	padding: 18px;
}

.bgm-frontend-app {
	background: #f6faf4;
	min-height: 100vh;
	padding: 0;
}

.bgm-app-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: flex-end;
	max-width: 740px;
}

.bgm-app-nav a {
	background: var(--bgm-soft);
	border: 1px solid var(--bgm-line);
	border-radius: 6px;
	color: var(--bgm-deep);
	font-size: 12px;
	font-weight: 700;
	padding: 7px 9px;
	text-decoration: none;
}

.bgm-app-nav a:hover,
.bgm-app-nav a:focus {
	background: var(--bgm-light);
	color: var(--bgm-deep);
}

.bgm-brand {
	align-items: center;
	display: flex;
	gap: 18px;
	min-width: 0;
}

.bgm-brand img {
	height: 48px;
	max-width: 220px;
	object-fit: contain;
}

.bgm-brand p,
.bgm-eyebrow {
	color: var(--bgm-medium);
	font-size: 12px;
	font-weight: 700;
	margin: 0 0 4px;
	text-transform: uppercase;
}

.bgm-brand h1 {
	color: var(--bgm-deep);
	font-size: 28px;
	line-height: 1.2;
	margin: 0;
}

.bgm-page-subtitle {
	color: var(--bgm-muted);
	font-size: 15px;
	margin: 0 0 18px 2px;
}

.bgm-highlight {
	align-items: stretch;
	background: linear-gradient(135deg, #ffffff 0%, #f4fbf1 100%);
	border: 1px solid var(--bgm-line);
	border-radius: 8px;
	display: grid;
	gap: 22px;
	grid-template-columns: minmax(0, 1fr) 280px;
	margin-bottom: 18px;
	padding: 24px;
}

.bgm-highlight h2,
.bgm-panel h2 {
	color: var(--bgm-deep);
	font-size: 22px;
	line-height: 1.25;
	margin: 0;
}

.bgm-highlight p {
	color: var(--bgm-muted);
	font-size: 15px;
	margin: 10px 0 0;
	max-width: 720px;
}

.bgm-rate-panel {
	background: var(--bgm-deep);
	border-radius: 8px;
	color: #ffffff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 18px;
}

.bgm-rate-panel span,
.bgm-rate-panel small {
	color: #e7f6df;
}

.bgm-rate-panel strong {
	font-size: 34px;
	line-height: 1.1;
	margin: 6px 0;
}

.bgm-card-grid {
	display: grid;
	gap: 14px;
	margin-bottom: 18px;
}

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

.bgm-card,
.bgm-panel {
	background: var(--bgm-surface);
	border: 1px solid var(--bgm-line);
	border-radius: 8px;
}

.bgm-form {
	margin-bottom: 18px;
}

.bgm-toolbar,
.bgm-actions-row,
.bgm-filter-form,
.bgm-inline-form {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.bgm-toolbar {
	justify-content: space-between;
	margin: 0 0 14px;
}

.bgm-filter-form input,
.bgm-filter-form select,
.bgm-inline-form input,
.bgm-inline-form select {
	border-color: var(--bgm-line);
	border-radius: 6px;
	min-height: 34px;
}

.bgm-card {
	min-height: 118px;
	padding: 17px;
}

.bgm-card span {
	color: var(--bgm-muted);
	display: block;
	font-size: 13px;
	font-weight: 650;
	margin-bottom: 8px;
}

.bgm-card strong {
	color: var(--bgm-deep);
	display: block;
	font-size: 25px;
	line-height: 1.2;
	margin-bottom: 8px;
}

.bgm-card small,
.bgm-muted {
	color: var(--bgm-muted);
}

.bgm-two-column,
.bgm-settings-layout {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bgm-panel {
	padding: 20px;
}

.bgm-panel__header {
	align-items: center;
	display: flex;
	gap: 12px;
	justify-content: space-between;
	margin-bottom: 18px;
}

.bgm-pill {
	background: var(--bgm-light);
	border-radius: 999px;
	color: var(--bgm-deep);
	display: inline-flex;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	padding: 7px 10px;
	white-space: nowrap;
}

.bgm-pill--strong {
	background: var(--bgm-deep);
	color: #ffffff;
}

.bgm-pill--warning {
	background: var(--bgm-warning-bg);
	color: var(--bgm-warning);
}

.bgm-table th,
.bgm-table td {
	padding: 12px;
	vertical-align: top;
}

.bgm-wide-table {
	min-width: 1100px;
}

.bgm-row-actions {
	white-space: nowrap;
}

.bgm-row-actions a {
	font-weight: 700;
	text-decoration: none;
}

.bgm-warning-text {
	color: var(--bgm-warning);
	font-weight: 700;
}

.bgm-status {
	background: var(--bgm-soft);
	border: 1px solid var(--bgm-line);
	border-radius: 999px;
	color: var(--bgm-deep);
	display: inline-flex;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	padding: 6px 9px;
	white-space: nowrap;
}

.bgm-status--ready,
.bgm-status--active,
.bgm-status--paid,
.bgm-status--in_stock,
.bgm-status--confirmed,
.bgm-status--delivered {
	background: var(--bgm-light);
	border-color: #b8ddb0;
}

.bgm-status--estimated,
.bgm-status--low_stock,
.bgm-status--unpaid,
.bgm-status--partially_paid,
.bgm-status--draft,
.bgm-status--packing,
.bgm-status--pending {
	background: var(--bgm-warning-bg);
	border-color: #f0cf92;
	color: var(--bgm-warning);
}

.bgm-status--out_of_stock,
.bgm-status--not_ready,
.bgm-status--archived,
.bgm-status--inactive {
	background: #fbeaea;
	border-color: #e5b7b7;
	color: #8f1d1d;
}

.bgm-count {
	background: var(--bgm-soft);
	border: 1px solid var(--bgm-line);
	border-radius: 6px;
	display: inline-flex;
	font-weight: 700;
	min-width: 42px;
	padding: 5px 9px;
	justify-content: center;
}

.bgm-count--warning {
	background: var(--bgm-warning-bg);
	border-color: #f0cf92;
	color: var(--bgm-warning);
}

.bgm-roadmap {
	counter-reset: bgm-roadmap;
	margin: 0;
	padding: 0;
}

.bgm-roadmap li {
	align-items: center;
	border-top: 1px solid var(--bgm-line);
	display: flex;
	gap: 10px;
	margin: 0;
	padding: 12px 0;
}

.bgm-roadmap li:first-child {
	border-top: 0;
}

.bgm-roadmap li::before {
	align-items: center;
	background: var(--bgm-soft);
	border: 1px solid var(--bgm-line);
	border-radius: 999px;
	counter-increment: bgm-roadmap;
	content: counter(bgm-roadmap);
	display: inline-flex;
	flex: 0 0 28px;
	font-weight: 700;
	height: 28px;
	justify-content: center;
	width: 28px;
}

.bgm-roadmap li.is-complete::before {
	background: var(--bgm-medium);
	border-color: var(--bgm-medium);
	color: #ffffff;
	content: "\2713";
}

.bgm-settings-form .submit {
	margin-top: 18px;
	padding: 0;
}

.bgm-save-button {
	background: var(--bgm-deep) !important;
	border-color: var(--bgm-deep) !important;
}

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

.bgm-field-grid--colors {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bgm-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-bottom: 14px;
}

.bgm-field span {
	color: var(--bgm-ink);
	font-weight: 700;
}

.bgm-field input,
.bgm-field select,
.bgm-field textarea {
	border-color: var(--bgm-line);
	border-radius: 6px;
	min-height: 40px;
	max-width: 100%;
	width: 100%;
}

.bgm-field small {
	color: var(--bgm-muted);
}

.bgm-color-field input {
	cursor: pointer;
	height: 42px;
	padding: 3px;
	width: 100%;
}

.bgm-effective-rate {
	align-items: center;
	background: var(--bgm-soft);
	border: 1px solid var(--bgm-line);
	border-radius: 8px;
	display: flex;
	justify-content: space-between;
	margin-top: 6px;
	padding: 14px;
}

.bgm-effective-rate span {
	color: var(--bgm-muted);
	font-weight: 700;
}

.bgm-effective-rate strong {
	color: var(--bgm-deep);
	font-size: 24px;
}

.bgm-logo-picker {
	align-items: center;
	border-top: 1px solid var(--bgm-line);
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 8px;
	padding-top: 16px;
}

.bgm-logo-picker img {
	background: #ffffff;
	border: 1px solid var(--bgm-line);
	border-radius: 8px;
	height: 54px;
	max-width: 220px;
	object-fit: contain;
	padding: 8px;
}

.bgm-invoice {
	max-width: 960px;
}

.bgm-invoice-header {
	align-items: flex-start;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	margin-bottom: 20px;
}

.bgm-invoice-header img {
	max-width: 220px;
	object-fit: contain;
}

.bgm-invoice-total {
	margin-left: auto;
	max-width: 360px;
	text-align: right;
}

.bgm-login-screen {
	align-items: center;
	display: flex;
	justify-content: center;
	min-height: 100vh;
	padding: 24px;
}

.bgm-login-card {
	background: #ffffff;
	border: 1px solid var(--bgm-line);
	border-radius: 8px;
	box-shadow: 0 18px 50px rgba(15, 107, 55, 0.14);
	max-width: 420px;
	padding: 30px;
	width: 100%;
}

.bgm-login-card img {
	display: block;
	margin: 0 auto 20px;
	max-width: 260px;
}

.bgm-login-card h1 {
	color: var(--bgm-deep);
	font-size: 28px;
	margin: 0 0 8px;
	text-align: center;
}

.bgm-login-card p {
	color: var(--bgm-muted);
	text-align: center;
}

.bgm-login-card input[type="text"],
.bgm-login-card input[type="password"] {
	border-color: var(--bgm-line);
	border-radius: 6px;
	min-height: 42px;
	width: 100%;
}

.bgm-login-card .button {
	background: var(--bgm-deep);
	border-color: var(--bgm-deep);
	border-radius: 6px;
	font-weight: 700;
	min-height: 40px;
	width: 100%;
}

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

@media (max-width: 782px) {
	.bgm-topbar,
	.bgm-highlight,
	.bgm-two-column,
	.bgm-settings-layout,
	.bgm-field-grid,
	.bgm-field-grid--colors {
		grid-template-columns: 1fr;
	}

	.bgm-topbar {
		align-items: flex-start;
		display: grid;
	}

	.bgm-brand {
		align-items: flex-start;
		flex-direction: column;
	}

	.bgm-brand img {
		max-width: 190px;
	}

	.bgm-card-grid--four {
		grid-template-columns: 1fr;
	}

	.bgm-panel__header {
		align-items: flex-start;
		flex-direction: column;
	}

	.bgm-app-nav {
		justify-content: flex-start;
	}

	.bgm-toolbar {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media print {
	#adminmenumain,
	#wpadminbar,
	.bgm-topbar,
	.bgm-page-subtitle,
	.bgm-toolbar,
	.bgm-actions-row,
	.bgm-inline-form,
	.notice {
		display: none !important;
	}

	.bgm-wrap {
		margin: 0;
	}

	.bgm-panel {
		border: 0;
	}
}
