/* M6 Global — shared design tokens (homepage slate / green / Montserrat) */
.m6-gam,
.m6-portal,
.m6-resources-wrap {
	--navy: #1E293B;
	--navy-mid: #243447;
	--navy-card: #273449;
	--navy-light: #334155;
	--gold: #6D9655;
	--gold-light: #8BB872;
	--gold-pale: rgba(109, 150, 85, 0.14);
	--accent: #6D9655;
	--accent-hover: #5C8047;
	--accent-pale: rgba(109, 150, 85, 0.14);
	--white: #FFFFFF;
	--slate: #94A3B8;
	--slate-light: rgba(255, 255, 255, 0.6);
	--green: #6D9655;
	--green-bg: rgba(109, 150, 85, 0.14);
	--red: #E8806E;
	--border: rgba(255, 255, 255, 0.10);
	--border-gold: rgba(109, 150, 85, 0.35);
	--serif: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif;
	--sans: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif;
	--mono: 'Montserrat', ui-monospace, monospace;
	--radius-card: 12px;
	--radius-pill: 999px;
}

.m6-portal,
.m6-gam.m6-portal-form,
.m6-resources-wrap {
	font-family: var(--sans);
	font-size: 16px;
	color: var(--white);
	line-height: 1.5;
	background: var(--navy);
}

.m6-portal h1,
.m6-portal h2,
.m6-gam h1,
.m6-gam h2,
.m6-resources-wrap h1,
.m6-resources-wrap h2 {
	font-family: var(--sans);
	font-size: 1.875rem;
	font-weight: 600;
	line-height: 1.25;
	color: var(--white);
}

.m6-portal p,
.m6-gam p,
.m6-resources-wrap p {
	font-size: 16px;
	line-height: 1.6;
}

.m6-portal .m6-btn,
.m6-gam .m6-btn {
	font-family: var(--sans);
	font-size: 14px;
	font-weight: 600;
	padding: 12px 28px;
	border-radius: var(--radius-pill);
	cursor: pointer;
	border: none;
	transition: all 0.2s;
	letter-spacing: 0.02em;
	text-decoration: none;
	display: inline-block;
}

.m6-portal .m6-btn-primary,
.m6-gam .m6-btn-primary {
	background: var(--accent);
	color: var(--white);
}

.m6-portal .m6-btn-primary:hover,
.m6-gam .m6-btn-primary:hover,
.m6-portal .m6-btn-primary:focus,
.m6-gam .m6-btn-primary:focus,
.m6-portal .m6-btn-primary:active,
.m6-gam .m6-btn-primary:active {
	background: var(--accent-hover);
	color: #ffffff;
}

.m6-portal .m6-btn-outline,
.m6-gam .m6-btn-outline {
	background: transparent;
	color: var(--white);
	border: 1.5px solid rgba(255, 255, 255, 0.85);
}

.m6-portal .m6-btn-outline:hover,
.m6-gam .m6-btn-outline:hover {
	border-color: var(--accent);
	color: var(--accent);
}

/* Logged-in dashboard button — use via [m6_dashboard_button] anywhere */
.m6-dashboard-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1;
	padding: 10px 20px;
	border-radius: 999px;
	background: #6D9655;
	color: #ffffff !important;
	text-decoration: none !important;
	border: none;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.15s ease;
	white-space: nowrap;
}

.m6-dashboard-btn:hover,
.m6-dashboard-btn:focus {
	background: #5C8047;
	color: #ffffff !important;
	transform: translateY(-1px);
}

.m6-portal .m6-badge {
	display: inline-flex;
	align-items: center;
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 3px 8px;
	border-radius: var(--radius-pill);
}

.m6-portal .m6-badge-pending {
	background: var(--gold-pale);
	background: var(--accent-pale);
	color: var(--gold-light);
	border: 0.5px solid var(--border-gold);
}

.m6-portal .m6-badge-published,
.m6-portal .m6-badge-active {
	background: var(--green-bg);
	color: #8BB872;
	border: 0.5px solid rgba(109, 150, 85, 0.35);
}

.m6-portal .m6-badge-draft {
	background: rgba(255, 255, 255, 0.06);
	color: var(--slate-light);
	border: 0.5px solid var(--border);
}

.m6-portal-toast {
	position: fixed;
	bottom: 24px;
	right: 24px;
	z-index: 99999;
	background: var(--navy-card);
	border: 0.5px solid var(--border-gold);
	border-radius: 10px;
	padding: 14px 20px;
	display: none;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	color: var(--white);
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
	max-width: 360px;
	font-family: var(--sans);
}

.m6-portal-toast.is-visible {
	display: flex;
	animation: m6ToastIn 0.3s ease;
}

.m6-portal-toast-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--green);
	flex-shrink: 0;
}

@keyframes m6ToastIn {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: translateY(0); }
}

/* Shared select / dropdown readability across plugin surfaces */
.m6-gam select,
.m6-portal select,
.m6-resources-wrap select {
	background-color: #273449 !important;
	color: #ffffff !important;
	border: 1px solid rgba(255, 255, 255, 0.15) !important;
	color-scheme: dark;
}

.m6-gam select option,
.m6-gam select optgroup,
.m6-portal select option,
.m6-portal select optgroup,
.m6-resources-wrap select option,
.m6-resources-wrap select optgroup {
	background-color: #1E293B !important;
	color: #ffffff !important;
}
