/* ==========================================================================
   LORA — Distributor Center · Cinematic dark design system (v2.0)
   Obsidian stage · champagne gold light · refractive glass · film grain.
   Scope: custom MLM panel, registration, stock Affiliates dashboard.
   ========================================================================== */

.lmlm-dash,
.affiliates-dashboard {
	/* --- core palette --- */
	--lm-void: #060709;
	--lm-bg: #0a0c10;
	--lm-bg-2: #0f1217;
	--lm-ink: #f4efe6;
	--lm-ink-2: #d7d1c6;
	--lm-muted: #938e86;
	--lm-faint: #6d6a65;
	--lm-line: rgba(255, 255, 255, .10);
	--lm-line-soft: rgba(255, 255, 255, .055);
	--lm-glass: rgba(255, 255, 255, .035);
	--lm-glass-2: rgba(255, 255, 255, .055);
	--lm-surface: #11141a;
	--lm-surface-2: #0e1116;
	--lm-gold: #c9a468;
	--lm-gold-2: #e8d2a8;
	--lm-gold-3: #fbf1dd;
	--lm-gold-soft: rgba(201, 164, 104, .12);
	--lm-green: #7cc79a;
	--lm-green-soft: rgba(124, 199, 154, .13);
	--lm-amber: #e3b467;
	--lm-amber-soft: rgba(227, 180, 103, .13);
	--lm-red: #e58b86;
	--lm-red-soft: rgba(229, 139, 134, .13);
	--lm-radius: 22px;
	--lm-radius-sm: 14px;
	--lm-shadow: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 18px 44px -28px rgba(0, 0, 0, .9);
	--lm-shadow-lift: 0 1px 0 rgba(255, 255, 255, .06) inset, 0 32px 70px -36px rgba(0, 0, 0, .95), 0 0 0 1px rgba(201, 164, 104, .16);
	--lm-display: "Cormorant Garamond", "Amiri", "Iowan Old Style", Georgia, "Songti SC", "Noto Serif CJK SC", "SimSun", "Times New Roman", serif;
	--lm-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Cairo", "Noto Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Arial, sans-serif;
	--lm-ease: cubic-bezier(.22, .61, .36, 1);
	--lm-mx: 50%;
	--lm-my: 0%;

	color: var(--lm-ink-2);
	font-family: var(--lm-body);
	font-size: 14px;
	font-optical-sizing: auto;
	font-variant-numeric: tabular-nums;
	-webkit-font-smoothing: antialiased;
	line-height: 1.62;
}

.lmlm-dash *,
.affiliates-dashboard * {
	box-sizing: border-box;
}

/* --------------------------------------------------------------------------
   The stage — a floating obsidian console with ambient light + film grain
   -------------------------------------------------------------------------- */

.lmlm-dash {
	position: relative;
	max-width: 1180px;
	margin: 40px auto 64px;
	padding: 42px 44px 46px;
	border-radius: 34px;
	isolation: isolate;
	overflow: clip;
	color: var(--lm-ink-2);
	background:
		radial-gradient(120% 80% at 8% -10%, rgba(201, 164, 104, .16) 0%, rgba(201, 164, 104, 0) 55%),
		radial-gradient(90% 70% at 100% 0%, rgba(86, 108, 140, .16) 0%, rgba(86, 108, 140, 0) 60%),
		radial-gradient(80% 60% at 50% 110%, rgba(201, 164, 104, .10) 0%, rgba(201, 164, 104, 0) 62%),
		linear-gradient(168deg, #0e1116 0%, #080a0e 46%, #0b0e13 100%);
	border: 1px solid rgba(255, 255, 255, .07);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, .07) inset,
		0 60px 120px -60px rgba(0, 0, 0, .85),
		0 30px 70px -40px rgba(0, 0, 0, .6),
		0 0 140px -40px rgba(201, 164, 104, .22);
}

/* faint aurora that drifts behind everything */
.lmlm-dash::before {
	content: "";
	position: absolute;
	inset: -30% -10% auto -10%;
	height: 780px;
	z-index: 0;
	pointer-events: none;
	background:
		radial-gradient(38% 46% at 22% 24%, rgba(201, 164, 104, .20) 0%, rgba(201, 164, 104, 0) 70%),
		radial-gradient(34% 40% at 78% 10%, rgba(112, 138, 178, .18) 0%, rgba(112, 138, 178, 0) 70%),
		radial-gradient(30% 36% at 58% 52%, rgba(154, 120, 168, .10) 0%, rgba(154, 120, 168, 0) 70%);
	filter: blur(10px);
	animation: lmlm-aurora 26s ease-in-out infinite alternate;
}

/* film grain — the texture that keeps flat gradients from looking synthetic */
.lmlm-dash::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 3;
	pointer-events: none;
	opacity: .05;
	mix-blend-mode: overlay;
	border-radius: inherit;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
	background-size: 220px 220px;
}

@keyframes lmlm-aurora {
	0%   { transform: translate3d(0, 0, 0) scale(1); }
	50%  { transform: translate3d(2.5%, 3%, 0) scale(1.06); }
	100% { transform: translate3d(-2%, -1.5%, 0) scale(1.02); }
}

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */

.lmlm-hero {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	align-items: center;
	justify-content: space-between;
	padding: 38px 40px;
	border-radius: 26px;
	overflow: hidden;
	color: #fff;
	background:
		radial-gradient(90% 140% at 88% -30%, rgba(232, 210, 168, .30) 0%, rgba(232, 210, 168, 0) 58%),
		radial-gradient(60% 120% at 4% 110%, rgba(201, 164, 104, .16) 0%, rgba(201, 164, 104, 0) 60%),
		linear-gradient(140deg, #14171d 0%, #090b0f 52%, #12151b 100%);
	border: 1px solid rgba(255, 255, 255, .09);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, .12),
		inset 0 -40px 80px -60px rgba(201, 164, 104, .5),
		0 34px 70px -40px rgba(0, 0, 0, .95);
}

/* gold filament running down the leading edge */
.lmlm-hero::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	top: 0;
	width: 2px;
	height: 100%;
	background: linear-gradient(180deg, rgba(251, 241, 221, .9), rgba(201, 164, 104, .55) 28%, rgba(201, 164, 104, 0) 86%);
	box-shadow: 0 0 24px rgba(201, 164, 104, .55);
}

/* concentric rings + a slow specular sweep */
.lmlm-hero::after {
	content: "";
	position: absolute;
	inset-inline-end: -120px;
	bottom: -160px;
	width: 420px;
	height: 420px;
	border-radius: 50%;
	pointer-events: none;
	background:
		radial-gradient(circle at 50% 50%, rgba(201, 164, 104, .10) 0%, rgba(201, 164, 104, 0) 60%);
	border: 1px solid rgba(255, 255, 255, .06);
	box-shadow:
		0 0 0 34px rgba(255, 255, 255, .015),
		0 0 0 70px rgba(255, 255, 255, .012),
		0 0 0 108px rgba(255, 255, 255, .008);
}

.lmlm-hero-main {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 24px;
	min-width: 0;
}

.lmlm-avatar {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 68px;
	height: 68px;
	border-radius: 50%;
	flex: 0 0 auto;
	color: #241a0c;
	font-family: var(--lm-display);
	font-size: 32px;
	font-weight: 700;
	background:
		radial-gradient(70% 70% at 30% 24%, #fff7e6 0%, rgba(255, 247, 230, 0) 60%),
		linear-gradient(145deg, #f0dcb6 0%, #c9a468 52%, #8f6c35 100%);
	box-shadow:
		0 0 0 1px rgba(255, 255, 255, .30) inset,
		0 0 0 5px rgba(201, 164, 104, .10),
		0 14px 34px -12px rgba(201, 164, 104, .75);
}

.lmlm-avatar::after {
	content: "";
	position: absolute;
	inset: -9px;
	border-radius: 50%;
	border: 1px solid rgba(232, 210, 168, .32);
	-webkit-mask-image: linear-gradient(180deg, #000 20%, transparent 100%);
	mask-image: linear-gradient(180deg, #000 20%, transparent 100%);
}

.lmlm-hero-text {
	min-width: 0;
}

.lmlm-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: .30em;
	text-transform: uppercase;
	color: var(--lm-gold-2);
	margin-bottom: 9px;
}

.lmlm-eyebrow::before {
	content: "";
	width: 26px;
	height: 1px;
	background: linear-gradient(90deg, rgba(232, 210, 168, .1), rgba(232, 210, 168, .85));
}

.lmlm-hero-title {
	margin: 0;
	font-family: var(--lm-display);
	font-size: clamp(32px, 4vw, 46px);
	line-height: 1.06;
	font-weight: 700;
	letter-spacing: -.015em;
	color: #fff;
	background: linear-gradient(180deg, #ffffff 0%, #f6eddc 52%, #d9c096 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	text-shadow: 0 20px 40px rgba(0, 0, 0, .35);
	/* keep gradient clipping from eating the descenders */
	padding-bottom: .08em;
}

.lmlm-hero-sub {
	margin: 12px 0 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	font-size: 12.5px;
	letter-spacing: .015em;
	color: rgba(244, 239, 230, .62);
}

.lmlm-tier-tag {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 4px 13px;
	border-radius: 999px;
	background: rgba(201, 164, 104, .13);
	border: 1px solid rgba(232, 210, 168, .38);
	color: #f0dcb6;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .06em;
	box-shadow: 0 0 24px -8px rgba(201, 164, 104, .7);
}

.lmlm-tier-tag::before {
	content: "";
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #a9e0bb;
	box-shadow: 0 0 0 3px rgba(124, 199, 154, .18);
}

.lmlm-dot {
	opacity: .35;
}

.lmlm-hero-actions {
	position: relative;
	z-index: 1;
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	align-items: center;
}

/* --------------------------------------------------------------------------
   Language switch
   -------------------------------------------------------------------------- */

.lmlm-lang-switch {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	padding: 3px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .05);
	border: 1px solid rgba(255, 255, 255, .12);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

.lmlm-lang-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	min-height: 30px;
	padding: 0 12px;
	border-radius: 999px;
	color: rgba(244, 239, 230, .62);
	font-size: 12px;
	font-weight: 600;
	text-decoration: none !important;
	transition: color .18s ease, background .18s ease;
}

.lmlm-lang-link:hover {
	color: #fff;
	background: rgba(255, 255, 255, .08);
	text-decoration: none;
}

.lmlm-lang-link.is-active {
	color: #241a0c;
	background: linear-gradient(180deg, #f0dcb6, #c9a468);
	box-shadow: 0 4px 14px -6px rgba(201, 164, 104, .9);
}

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */

.lmlm-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 46px;
	padding: 0 24px;
	border-radius: 999px;
	border: 1px solid transparent;
	overflow: hidden;
	font-family: var(--lm-body);
	font-size: 13.5px;
	font-weight: 600;
	letter-spacing: .015em;
	line-height: 1;
	text-decoration: none !important;
	cursor: pointer;
	transition: transform .22s var(--lm-ease), box-shadow .22s ease, background .22s ease, color .22s ease, border-color .22s ease;
}

/* specular sheen that travels across the button on hover */
.lmlm-btn::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(105deg, transparent 30%, rgba(255, 255, 255, .38) 48%, transparent 62%);
	transform: translateX(-130%);
	transition: transform .7s var(--lm-ease);
	pointer-events: none;
}

.lmlm-btn:hover::after {
	transform: translateX(130%);
}

.lmlm-btn:hover {
	transform: translateY(-1px);
	text-decoration: none;
}

.lmlm-btn:active {
	transform: translateY(0);
}

.lmlm-btn-light {
	background: linear-gradient(180deg, #fffdf8 0%, #efe3cc 100%);
	color: #1a1409;
	border-color: rgba(255, 255, 255, .5);
	box-shadow: 0 12px 30px -18px rgba(0, 0, 0, .9), inset 0 1px 0 rgba(255, 255, 255, .9);
}

.lmlm-btn-light:hover {
	color: #120e07;
	box-shadow: 0 18px 38px -18px rgba(201, 164, 104, .55), inset 0 1px 0 rgba(255, 255, 255, .9);
}

.lmlm-btn-dark {
	background: linear-gradient(180deg, #f3dfb9 0%, #c9a468 58%, #a9834a 100%);
	color: #1a1308;
	border-color: rgba(251, 241, 221, .55);
	box-shadow: 0 14px 30px -16px rgba(201, 164, 104, .75), inset 0 1px 0 rgba(255, 255, 255, .55);
}

.lmlm-btn-dark:hover {
	color: #140f06;
	box-shadow: 0 20px 42px -16px rgba(201, 164, 104, .9), inset 0 1px 0 rgba(255, 255, 255, .6);
}

.lmlm-btn-ghost {
	background: rgba(255, 255, 255, .04);
	border-color: rgba(255, 255, 255, .16);
	color: var(--lm-ink-2);
}

.lmlm-btn-ghost:hover {
	border-color: rgba(232, 210, 168, .5);
	color: #fff;
	background: rgba(201, 164, 104, .10);
}

.lmlm-btn.is-done {
	background: rgba(124, 199, 154, .16);
	border-color: rgba(124, 199, 154, .45);
	color: #c9efd7;
	box-shadow: none;
}

/* --------------------------------------------------------------------------
   Sticky capsule navigation
   -------------------------------------------------------------------------- */

.lmlm-subnav {
	position: sticky;
	top: 10px;
	z-index: 6;
	display: flex;
	gap: 4px;
	flex-wrap: wrap;
	margin: 22px 0 24px;
	padding: 6px;
	border-radius: 999px;
	width: fit-content;
	background: rgba(14, 17, 22, .72);
	-webkit-backdrop-filter: blur(20px) saturate(150%);
	backdrop-filter: blur(20px) saturate(150%);
	border: 1px solid rgba(255, 255, 255, .10);
	box-shadow: 0 18px 40px -28px rgba(0, 0, 0, .95), inset 0 1px 0 rgba(255, 255, 255, .07);
}

.lmlm-subnav a {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 0 18px;
	border-radius: 999px;
	color: rgba(244, 239, 230, .58);
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: .02em;
	text-decoration: none !important;
	transition: color .18s ease, background .18s ease;
}

.lmlm-subnav a:hover {
	color: #fff;
	background: rgba(255, 255, 255, .06);
}

.lmlm-subnav a.is-active {
	color: #1a1307;
	background: linear-gradient(180deg, #f3dfb9, #c9a468);
	box-shadow: 0 8px 18px -10px rgba(201, 164, 104, .85), inset 0 1px 0 rgba(255, 255, 255, .45);
}

/* --------------------------------------------------------------------------
   Reveal
   -------------------------------------------------------------------------- */

[data-lmlm-reveal] {
	opacity: 0;
	transform: translateY(18px) scale(.995);
	transition:
		opacity .85s var(--lm-ease),
		transform .85s var(--lm-ease);
	transition-delay: var(--lmlm-delay, 0s);
	will-change: opacity, transform;
}

[data-lmlm-reveal].is-in {
	opacity: 1;
	transform: none;
}

/* --------------------------------------------------------------------------
   KPI cards
   -------------------------------------------------------------------------- */

.lmlm-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin: 0 0 20px;
}

.lmlm-stat {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 7px;
	padding: 22px 24px 20px;
	border-radius: var(--lm-radius);
	overflow: hidden;
	background: linear-gradient(168deg, rgba(255, 255, 255, .055) 0%, rgba(255, 255, 255, .022) 48%, rgba(255, 255, 255, .035) 100%);
	-webkit-backdrop-filter: blur(18px) saturate(140%);
	backdrop-filter: blur(18px) saturate(140%);
	border: 1px solid rgba(255, 255, 255, .085);
	box-shadow: var(--lm-shadow);
	transition: transform .3s var(--lm-ease), box-shadow .3s ease, border-color .3s ease;
}

/* gold filament along the top edge */
.lmlm-stat::before {
	content: "";
	position: absolute;
	inset-inline: 18px;
	top: 0;
	height: 1px;
	background: linear-gradient(90deg, rgba(232, 210, 168, 0), rgba(232, 210, 168, .8) 32%, rgba(232, 210, 168, .18) 100%);
}

/* pointer-tracked spotlight */
.lmlm-stat::after,
.lmlm-card-box::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	opacity: 0;
	transition: opacity .35s ease;
	background: radial-gradient(320px circle at var(--lm-mx) var(--lm-my), rgba(232, 210, 168, .14), rgba(232, 210, 168, 0) 62%);
}

.lmlm-stat:hover::after,
.lmlm-card-box:hover::after {
	opacity: 1;
}

.lmlm-stat > * {
	position: relative;
	z-index: 1;
}

.lmlm-stat:hover {
	transform: translateY(-4px);
	border-color: rgba(201, 164, 104, .34);
	box-shadow: var(--lm-shadow-lift);
}

.lmlm-stat-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 13px;
	margin-bottom: 4px;
	color: #f0dcb6;
	background: linear-gradient(160deg, rgba(201, 164, 104, .22), rgba(201, 164, 104, .06));
	border: 1px solid rgba(232, 210, 168, .22);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16), 0 8px 20px -14px rgba(201, 164, 104, .9);
}

.lmlm-stat-icon svg {
	width: 18px;
	height: 18px;
}

.lmlm-stat-label {
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--lm-muted);
}

.lmlm-stat-value {
	font-size: clamp(22px, 2.2vw, 29px);
	font-weight: 600;
	line-height: 1.08;
	letter-spacing: -.03em;
	direction: ltr;
	unicode-bidi: isolate;
	background: linear-gradient(180deg, #ffffff 0%, #f4e9d5 55%, #cdb083 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	filter: drop-shadow(0 6px 18px rgba(201, 164, 104, .18));
}

.lmlm-stat-note {
	font-size: 12px;
	color: var(--lm-muted);
}

/* --------------------------------------------------------------------------
   Cards & section heads
   -------------------------------------------------------------------------- */

.lmlm-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
	gap: 18px;
	margin-bottom: 18px;
}

.lmlm-card-box {
	position: relative;
	padding: 26px 28px 28px;
	margin-bottom: 18px;
	border-radius: var(--lm-radius);
	overflow: hidden;
	background: linear-gradient(170deg, rgba(255, 255, 255, .045) 0%, rgba(255, 255, 255, .018) 60%, rgba(255, 255, 255, .03) 100%);
	-webkit-backdrop-filter: blur(18px) saturate(135%);
	backdrop-filter: blur(18px) saturate(135%);
	border: 1px solid rgba(255, 255, 255, .075);
	box-shadow: var(--lm-shadow);
	transition: box-shadow .3s ease, border-color .3s ease;
}

.lmlm-card-box > * {
	position: relative;
	z-index: 1;
}

.lmlm-card-box:hover {
	box-shadow: var(--lm-shadow-lift);
	border-color: rgba(201, 164, 104, .22);
}

.lmlm-grid .lmlm-card-box {
	margin-bottom: 0;
}

.lmlm-box-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 18px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--lm-line-soft);
}

.lmlm-card-box h3 {
	position: relative;
	margin: 0;
	padding-inline-start: 15px;
	font-family: var(--lm-display);
	font-size: 23px;
	font-weight: 700;
	letter-spacing: .005em;
	color: #fbf6ec;
}

.lmlm-card-box h3::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	top: .34em;
	width: 2px;
	height: .82em;
	border-radius: 2px;
	background: linear-gradient(180deg, var(--lm-gold-3), var(--lm-gold) 60%, rgba(201, 164, 104, .1));
	box-shadow: 0 0 12px rgba(201, 164, 104, .55);
}

.lmlm-box-meta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	color: var(--lm-muted);
	white-space: nowrap;
}

.lmlm-muted {
	color: var(--lm-muted);
	font-size: 12.8px;
	margin: 0 0 10px;
}

/* --------------------------------------------------------------------------
   Delta chips
   -------------------------------------------------------------------------- */

.lmlm-delta {
	display: inline-flex;
	align-items: center;
	padding: 2px 9px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .02em;
	direction: ltr;
	border: 1px solid transparent;
}

.lmlm-delta-up   { background: var(--lm-green-soft); color: var(--lm-green); border-color: rgba(124, 199, 154, .28); }
.lmlm-delta-down { background: var(--lm-red-soft); color: var(--lm-red); border-color: rgba(229, 139, 134, .28); }
.lmlm-delta-flat { background: rgba(255, 255, 255, .06); color: var(--lm-muted); border-color: rgba(255, 255, 255, .1); }

/* --------------------------------------------------------------------------
   Chart
   -------------------------------------------------------------------------- */

.lmlm-chart {
	position: relative;
	margin-top: 6px;
}

.lmlm-chart svg {
	display: block;
	width: 100%;
	height: 188px;
	overflow: visible;
}

.lmlm-chart-grid {
	stroke: rgba(255, 255, 255, .10);
	stroke-width: 1;
	stroke-dasharray: 2 6;
	opacity: .8;
}

.lmlm-chart-line {
	stroke-dasharray: 1;
	stroke-dashoffset: 1;
	animation: lmlm-draw 1.6s cubic-bezier(.33, .8, .3, 1) .1s forwards;
	filter: drop-shadow(0 0 6px rgba(201, 164, 104, .55));
}

.lmlm-chart-area {
	opacity: 0;
	animation: lmlm-fade 1s ease .45s forwards;
}

.lmlm-chart-point {
	fill: #0b0d11;
	stroke: #e8d2a8;
	stroke-width: 1.8;
	opacity: 0;
	animation: lmlm-fade .5s ease forwards;
	transition: r .2s ease, stroke-width .2s ease;
	cursor: pointer;
}

.lmlm-chart-point:hover {
	r: 5.4;
	stroke-width: 2.4;
	filter: drop-shadow(0 0 10px rgba(232, 210, 168, .9));
}

.lmlm-chart-point:nth-of-type(1) { animation-delay: .55s; }
.lmlm-chart-point:nth-of-type(2) { animation-delay: .70s; }
.lmlm-chart-point:nth-of-type(3) { animation-delay: .85s; }
.lmlm-chart-point:nth-of-type(4) { animation-delay: 1.0s; }
.lmlm-chart-point:nth-of-type(5) { animation-delay: 1.15s; }
.lmlm-chart-point:nth-of-type(6) { animation-delay: 1.30s; }

.lmlm-chart-label {
	fill: rgba(147, 142, 134, .9);
	font-size: 9.5px;
	font-family: var(--lm-body);
	letter-spacing: .06em;
}

/* floating tooltip injected by JS */
.lmlm-chart-tip {
	position: absolute;
	z-index: 8;
	transform: translate(-50%, -132%);
	padding: 7px 11px;
	border-radius: 9px;
	background: rgba(10, 12, 16, .94);
	border: 1px solid rgba(232, 210, 168, .34);
	box-shadow: 0 16px 34px -18px rgba(0, 0, 0, 1);
	color: #fbf1dd;
	font-size: 11.5px;
	white-space: nowrap;
	pointer-events: none;
	opacity: 0;
	transition: opacity .16s ease;
}

.lmlm-chart-tip.is-on {
	opacity: 1;
}

@keyframes lmlm-draw {
	to { stroke-dashoffset: 0; }
}

@keyframes lmlm-fade {
	to { opacity: 1; }
}

/* --------------------------------------------------------------------------
   Ring gauge
   -------------------------------------------------------------------------- */

.lmlm-ring-wrap {
	display: flex;
	align-items: center;
	gap: 24px;
	flex-wrap: wrap;
	margin: 4px 0 20px;
}

.lmlm-ring {
	width: 132px;
	height: 132px;
	flex: 0 0 auto;
	transform: rotate(-90deg);
	filter: drop-shadow(0 0 14px rgba(201, 164, 104, .28));
}

.lmlm-ring-track {
	fill: none;
	stroke: rgba(255, 255, 255, .07);
	stroke-width: 9;
}

.lmlm-ring-ticks {
	fill: none;
	stroke: rgba(255, 255, 255, .13);
	stroke-width: 1;
	stroke-dasharray: 1 7.4;
}

.lmlm-ring-value {
	fill: none;
	stroke: url(#lmlm-ring-gradient);
	stroke-width: 9;
	stroke-linecap: round;
	stroke-dasharray: var(--lmlm-len);
	stroke-dashoffset: var(--lmlm-len);
	animation: lmlm-ring 1.5s cubic-bezier(.33, .8, .3, 1) .15s forwards;
}

@keyframes lmlm-ring {
	to { stroke-dashoffset: var(--lmlm-off); }
}

.lmlm-ring-text {
	fill: #fbf6ec;
	font-family: var(--lm-body);
	font-size: 22px;
	font-weight: 600;
	letter-spacing: -.03em;
	transform: rotate(90deg);
	transform-origin: 60px 60px;
}

.lmlm-ring-copy {
	flex: 1 1 150px;
	min-width: 0;
}

.lmlm-ring-title {
	margin: 0 0 5px;
	font-size: 16px;
	font-weight: 600;
	color: var(--lm-ink);
	direction: ltr;
	text-align: start;
}

.lmlm-ring-copy .lmlm-muted {
	margin: 0;
}

.lmlm-meta-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin: 0;
}

.lmlm-meta-list > div {
	background: rgba(255, 255, 255, .035);
	border: 1px solid var(--lm-line-soft);
	border-radius: var(--lm-radius-sm);
	padding: 12px 15px;
}

.lmlm-meta-list dt {
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--lm-muted);
	margin-bottom: 4px;
}

.lmlm-meta-list dd {
	margin: 0;
	font-size: 16px;
	font-weight: 600;
	color: #f7f1e6;
	direction: ltr;
	unicode-bidi: isolate;
}

/* --------------------------------------------------------------------------
   Tier ladder
   -------------------------------------------------------------------------- */

.lmlm-ladder {
	position: relative;
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0;
}

.lmlm-ladder-step {
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 15px 17px;
	border-radius: var(--lm-radius-sm);
	border: 1px solid transparent;
	transition: background .2s ease;
}

.lmlm-ladder-step + .lmlm-ladder-step {
	margin-top: 2px;
}

.lmlm-ladder-step::before {
	content: "";
	position: absolute;
	inset-inline-start: 27px;
	top: -5px;
	height: 8px;
	width: 1px;
	background: linear-gradient(180deg, rgba(201, 164, 104, .55), rgba(201, 164, 104, .08));
}

.lmlm-ladder-step:first-child::before {
	display: none;
}

.lmlm-ladder-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #0b0d11;
	border: 1px solid rgba(255, 255, 255, .22);
	flex: 0 0 auto;
	margin-inline-start: 16px;
}

.lmlm-ladder-body {
	flex: 1 1 auto;
	min-width: 0;
}

.lmlm-ladder-body strong {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: var(--lm-ink-2);
}

.lmlm-ladder-body .lmlm-muted {
	margin: 0;
	font-size: 12.2px;
}

.lmlm-ladder-step.is-current {
	background: linear-gradient(90deg, rgba(201, 164, 104, .14), rgba(201, 164, 104, .03));
	border-color: rgba(201, 164, 104, .34);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07), 0 14px 30px -24px rgba(201, 164, 104, .8);
}

.lmlm-ladder-step.is-current .lmlm-ladder-dot {
	background: linear-gradient(160deg, #fbf1dd, #c9a468);
	border-color: rgba(251, 241, 221, .8);
	box-shadow: 0 0 0 4px rgba(201, 164, 104, .16), 0 0 16px rgba(201, 164, 104, .8);
}

.lmlm-ladder-step.is-current .lmlm-ladder-body strong {
	color: #fff;
}

.lmlm-ladder-step.is-future {
	opacity: .60;
}

.lmlm-ladder-step.is-platform {
	opacity: .42;
}

/* --------------------------------------------------------------------------
   Invite / copy row
   -------------------------------------------------------------------------- */

.lmlm-copy-row {
	display: flex;
	gap: 10px;
	align-items: stretch;
	flex-wrap: wrap;
}

/* scoped to .lmlm-dash so the theme's input[type] rule can't win on specificity */
.lmlm-dash .lmlm-copy-input {
	flex: 1 1 320px;
	min-height: 48px;
	padding: 0 16px;
	border: 1px solid rgba(255, 255, 255, .11);
	border-radius: var(--lm-radius-sm);
	background: rgba(0, 0, 0, .28);
	font-family: var(--lm-body);
	font-size: 12.8px;
	color: var(--lm-ink-2);
	direction: ltr;
	transition: border-color .18s ease, box-shadow .18s ease;
}

.lmlm-dash .lmlm-copy-input:focus {
	outline: none;
	border-color: rgba(232, 210, 168, .55);
	box-shadow: 0 0 0 3px rgba(201, 164, 104, .16), 0 0 24px -8px rgba(201, 164, 104, .55);
}

/* --------------------------------------------------------------------------
   Chips
   -------------------------------------------------------------------------- */

.lmlm-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 6px 0 18px;
}

.lmlm-chip {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 7px 14px;
	border-radius: 999px;
	background: rgba(201, 164, 104, .07);
	border: 1px solid rgba(201, 164, 104, .22);
	font-size: 12.3px;
	color: var(--lm-ink-2);
}

.lmlm-chip em {
	font-style: normal;
	font-weight: 600;
	color: #f5e7ca;
	direction: ltr;
	unicode-bidi: isolate;
}

/* --------------------------------------------------------------------------
   Tables
   -------------------------------------------------------------------------- */

.lmlm-table-wrap {
	overflow: auto;
	max-height: 520px;
	border: 1px solid var(--lm-line-soft);
	border-radius: var(--lm-radius-sm);
	background: rgba(0, 0, 0, .16);
}

.lmlm-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13.2px;
	background: transparent;
}

.lmlm-table th,
.lmlm-table td {
	text-align: start;
	padding: 14px 17px;
	border-bottom: 1px solid var(--lm-line-soft);
	vertical-align: middle;
}

.lmlm-table thead th {
	position: sticky;
	top: 0;
	z-index: 2;
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--lm-muted);
	background: rgba(15, 18, 23, .94);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	white-space: nowrap;
}

.lmlm-table tbody tr {
	transition: background .16s ease;
}

.lmlm-table tbody tr:hover {
	background: rgba(201, 164, 104, .06);
}

.lmlm-table tbody tr:last-child td {
	border-bottom: 0;
}

.lmlm-table tfoot td {
	background: rgba(201, 164, 104, .05);
	border-top: 1px solid rgba(201, 164, 104, .18);
	border-bottom: 0;
	color: #f5e7ca;
}

.lmlm-table .lmlm-num {
	text-align: end;
	white-space: nowrap;
	direction: ltr;
	unicode-bidi: isolate;
}

.lmlm-nowrap {
	white-space: nowrap;
}

.lmlm-person {
	display: inline-flex;
	align-items: center;
	gap: 11px;
}

.lmlm-person-avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	flex: 0 0 auto;
	color: #f0dcb6;
	font-size: 13px;
	font-weight: 600;
	background: linear-gradient(160deg, rgba(201, 164, 104, .28), rgba(201, 164, 104, .06));
	border: 1px solid rgba(232, 210, 168, .24);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14);
}

.lmlm-person strong {
	display: block;
	font-weight: 600;
	line-height: 1.3;
	color: #fbf6ec;
}

.lmlm-person .lmlm-muted {
	margin: 0;
	font-size: 11.8px;
}

/* --------------------------------------------------------------------------
   Forms
   -------------------------------------------------------------------------- */

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

.lmlm-field {
	display: block;
	font-size: 13px;
	color: var(--lm-ink-2);
}

.lmlm-field > span {
	display: block;
	margin-bottom: 8px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--lm-muted);
}

.lmlm-field input[type="email"],
.lmlm-field input[type="number"] {
	width: 100%;
	min-height: 50px;
	padding: 0 16px;
	border: 1px solid rgba(255, 255, 255, .11);
	border-radius: var(--lm-radius-sm);
	background: rgba(0, 0, 0, .30);
	font-family: var(--lm-body);
	font-size: 14px;
	color: var(--lm-ink);
	direction: ltr;
	transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.lmlm-field input:hover {
	border-color: rgba(255, 255, 255, .2);
}

.lmlm-field input:focus {
	outline: none;
	border-color: rgba(232, 210, 168, .55);
	background: rgba(0, 0, 0, .40);
	box-shadow: 0 0 0 3px rgba(201, 164, 104, .16), 0 0 28px -10px rgba(201, 164, 104, .7);
}

.lmlm-form-actions {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 20px;
}

.lmlm-form-actions .lmlm-muted {
	margin: 0;
}

/* --------------------------------------------------------------------------
   Badges · notices · empty states
   -------------------------------------------------------------------------- */

.lmlm-badge {
	display: inline-block;
	padding: 3px 11px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .02em;
	white-space: nowrap;
	border: 1px solid transparent;
}

.lmlm-badge-pending  { background: var(--lm-amber-soft); color: var(--lm-amber); border-color: rgba(227, 180, 103, .3); }
.lmlm-badge-paid     { background: var(--lm-green-soft); color: var(--lm-green); border-color: rgba(124, 199, 154, .3); }
.lmlm-badge-rejected { background: var(--lm-red-soft); color: var(--lm-red); border-color: rgba(229, 139, 134, .3); }

.lmlm-notice {
	border-radius: var(--lm-radius-sm);
	padding: 14px 17px;
	margin-bottom: 20px;
	font-size: 13.2px;
	border: 1px solid transparent;
}

.lmlm-notice-success {
	background: var(--lm-green-soft);
	border-color: rgba(124, 199, 154, .3);
	color: #c9efd7;
}

.lmlm-notice-error {
	background: var(--lm-red-soft);
	border-color: rgba(229, 139, 134, .3);
	color: #ffd9d6;
}

.lmlm-empty-state {
	position: relative;
	text-align: center;
	padding: 34px 22px;
	background: rgba(255, 255, 255, .02);
	border: 1px dashed rgba(255, 255, 255, .14);
	border-radius: var(--lm-radius-sm);
}

.lmlm-empty-state p {
	margin: 0 0 6px;
	font-size: 14px;
	color: var(--lm-ink-2);
}

.lmlm-empty-state .lmlm-muted {
	margin: 0;
}

/* --------------------------------------------------------------------------
   Stock Affiliates dashboard — same obsidian stage
   -------------------------------------------------------------------------- */

.affiliates-dashboard {
	position: relative;
	max-width: 1180px !important;
	margin: 18px auto 20px;
	padding: 30px 32px 32px;
	border-radius: 30px;
	overflow: clip;
	color: var(--lm-ink-2);
	background:
		radial-gradient(110% 80% at 6% -12%, rgba(201, 164, 104, .16) 0%, rgba(201, 164, 104, 0) 58%),
		radial-gradient(80% 70% at 100% 0%, rgba(86, 108, 140, .15) 0%, rgba(86, 108, 140, 0) 60%),
		linear-gradient(168deg, #0e1116 0%, #080a0e 52%, #0b0e13 100%);
	border: 1px solid rgba(255, 255, 255, .07);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, .07) inset,
		0 46px 90px -56px rgba(0, 0, 0, .85),
		0 0 120px -50px rgba(201, 164, 104, .18);
}

/* The plugin wraps everything in this node — it must stay a plain block. */
.affiliates-dashboard .affiliates-dashboard-sections {
	display: block;
	width: auto;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}

/* The real tab bar lives one level deeper. */
.affiliates-dashboard .affiliates-dashboard-section-links {
	display: flex;
	gap: 4px;
	flex-wrap: wrap;
	margin: 0 0 18px !important;
	padding: 6px !important;
	list-style: none;
	border-radius: 999px !important;
	width: fit-content;
	background: rgba(14, 17, 22, .72) !important;
	-webkit-backdrop-filter: blur(20px) saturate(150%);
	backdrop-filter: blur(20px) saturate(150%);
	border: 1px solid rgba(255, 255, 255, .10);
	box-shadow: 0 18px 40px -32px rgba(0, 0, 0, .95);
}

.affiliates-dashboard .affiliates-dashboard-section-links .section-link-item {
	flex: 0 0 auto !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 999px;
	border-bottom: 0 !important;
}

.affiliates-dashboard .affiliates-dashboard-section-links .section-link-item a {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 0 18px !important;
	border-radius: 999px;
	color: rgba(244, 239, 230, .58) !important;
	font-size: 12.5px;
	font-weight: 600;
	text-decoration: none !important;
	transition: color .18s ease, background .18s ease;
}

.affiliates-dashboard .affiliates-dashboard-section-links .section-link-item a:hover {
	color: #fff !important;
	background: rgba(255, 255, 255, .06);
}

.affiliates-dashboard .affiliates-dashboard-section-links .section-link-item.active {
	background: transparent !important;
	border: 0 !important;
}

.affiliates-dashboard .affiliates-dashboard-section-links .section-link-item.active a {
	color: #1a1307 !important;
	background: linear-gradient(180deg, #f3dfb9, #c9a468);
	box-shadow: 0 8px 18px -10px rgba(201, 164, 104, .85), inset 0 1px 0 rgba(255, 255, 255, .45);
}

.affiliates-dashboard .affiliates-dashboard-section > h2 {
	margin: 4px 0 14px;
	font-family: var(--lm-display);
	font-size: 26px;
	font-weight: 700;
	letter-spacing: .005em;
	color: #fbf6ec;
}

/* Login form */
.affiliates-dashboard .dashboard-section-login p {
	margin: 0 0 16px;
}

.affiliates-dashboard .dashboard-section-login label {
	display: block;
	margin-bottom: 8px;
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--lm-muted);
}

.affiliates-dashboard .dashboard-section-login input.input {
	width: 100% !important;
	max-width: 420px !important;
	min-height: 50px;
	padding: 0 16px !important;
	border: 1px solid rgba(255, 255, 255, .11) !important;
	border-radius: var(--lm-radius-sm) !important;
	background: rgba(0, 0, 0, .30) !important;
	font-family: var(--lm-body);
	font-size: 14px !important;
	color: var(--lm-ink) !important;
	transition: border-color .18s ease, box-shadow .18s ease;
}

.affiliates-dashboard .dashboard-section-login input.input:focus {
	outline: none !important;
	border-color: rgba(232, 210, 168, .55) !important;
	box-shadow: 0 0 0 3px rgba(201, 164, 104, .16) !important;
}

.affiliates-dashboard .dashboard-section-login .login-remember label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 12px;
	letter-spacing: 0;
	text-transform: none;
	color: var(--lm-ink-2);
}

.affiliates-dashboard .dashboard-section-login .login-remember input[type="checkbox"] {
	width: 15px;
	height: 15px;
	accent-color: var(--lm-gold);
}

.affiliates-dashboard .dashboard-section-login input[type="submit"] {
	min-height: 46px;
	padding: 0 30px !important;
	border: 1px solid rgba(251, 241, 221, .5) !important;
	border-radius: 999px !important;
	background: linear-gradient(180deg, #f3dfb9, #c9a468) !important;
	color: #1a1307 !important;
	font-family: var(--lm-body);
	font-size: 13.5px !important;
	font-weight: 600;
	cursor: pointer;
	box-shadow: 0 14px 30px -18px rgba(201, 164, 104, .9);
	transition: transform .2s var(--lm-ease), filter .2s ease;
}

.affiliates-dashboard .dashboard-section-login input[type="submit"]:hover {
	transform: translateY(-1px);
	filter: brightness(1.05);
	color: #140f06 !important;
}

/* Overview / earnings / profile internals — the plugin ships light inline CSS,
   so these overrides need higher specificity and !important. */

.affiliates-dashboard .stats-container {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
	gap: 14px !important;
	margin: 0 0 18px !important;
}

.affiliates-dashboard .stats-item {
	flex: none !important;
	margin: 0 !important;
	padding: 16px 18px !important;
	text-align: start !important;
	color: var(--lm-ink-2) !important;
	background: rgba(255, 255, 255, .035) !important;
	border: 1px solid var(--lm-line-soft) !important;
	border-radius: 14px !important;
}

.affiliates-dashboard .stats-item .stats-item-heading {
	display: block;
	margin-bottom: 5px;
	font-size: 10.5px !important;
	font-weight: 600 !important;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--lm-muted) !important;
}

.affiliates-dashboard .stats-item .stats-item-value,
.affiliates-dashboard .stats-item .stats-item-amount {
	font-size: 23px !important;
	font-weight: 600 !important;
	letter-spacing: -.02em;
	color: #fbf6ec !important;
	direction: ltr;
}

/* Flot paints onto a transparent canvas: invert the ink so the plot reads light
   on obsidian, while the axis labels stay warm grey. */
.affiliates-dashboard .graph {
	width: 100% !important;
	height: 360px;
	margin: 0 0 14px !important;
	padding: 0 !important;
	background: rgba(0, 0, 0, .22) !important;
	border: 1px solid rgba(255, 255, 255, .10) !important;
	border-radius: 14px !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), 0 18px 34px -26px rgba(0, 0, 0, .8);
	overflow: hidden;
}

.affiliates-dashboard .graph canvas.flot-base {
	filter: invert(1) hue-rotate(188deg) saturate(.55) brightness(1.18);
	opacity: .92;
}

.affiliates-dashboard .graph .flot-text {
	color: var(--lm-muted) !important;
}

.affiliates-dashboard .legend {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin: 0 0 16px !important;
	padding: 6px !important;
	background: rgba(255, 255, 255, .03) !important;
	border: 1px solid var(--lm-line-soft) !important;
	border-radius: 999px !important;
}

.affiliates-dashboard .legend .legend-item {
	flex: 0 0 auto !important;
	padding: 0 10px;
	border-radius: 999px;
}

.affiliates-dashboard .legend .legend-item.active {
	background: rgba(201, 164, 104, .16) !important;
	border-radius: 999px !important;
}

.affiliates-dashboard .legend .legend-item-color,
.affiliates-dashboard .legend .legend-item span[style*="background"] {
	border-radius: 3px;
	filter: saturate(.55) brightness(.95);
}

.affiliates-dashboard .legend .legend-item-label {
	padding: 4px 6px !important;
	color: var(--lm-ink-2) !important;
	font-size: 12px !important;
}

.affiliates-dashboard textarea.affiliate-url,
.affiliates-dashboard input.affiliate-url {
	width: 100% !important;
	min-height: 64px;
	padding: 12px 14px !important;
	border: 1px solid rgba(255, 255, 255, .12) !important;
	border-radius: 12px !important;
	background: rgba(0, 0, 0, .30) !important;
	font-family: var(--lm-body);
	font-size: 12.8px !important;
	color: var(--lm-ink-2) !important;
	direction: ltr;
	text-align: left;
	resize: vertical;
}

.affiliates-dashboard textarea.affiliate-url:focus,
.affiliates-dashboard input.affiliate-url:focus {
	outline: none !important;
	border-color: rgba(232, 210, 168, .55) !important;
	box-shadow: 0 0 0 3px rgba(201, 164, 104, .16) !important;
}

.affiliates-dashboard code {
	padding: 2px 7px;
	border-radius: 5px;
	background: rgba(201, 164, 104, .14);
	color: #f0dcb6;
	font-size: 12px;
}

.affiliates-dashboard .affiliates-dashboard-logout a {
	color: var(--lm-muted) !important;
	text-decoration: none;
}

.affiliates-dashboard .affiliates-dashboard-logout a:hover {
	color: var(--lm-red) !important;
}

.affiliates-dashboard .dashboard-section input[type="text"],
.affiliates-dashboard .dashboard-section input[type="email"],
.affiliates-dashboard .dashboard-section input[type="password"],
.affiliates-dashboard .dashboard-section textarea,
.affiliates-dashboard .dashboard-section select {
	padding: 0 14px !important;
	min-height: 44px;
	border: 1px solid rgba(255, 255, 255, .12) !important;
	border-radius: 12px !important;
	background: rgba(0, 0, 0, .30) !important;
	color: var(--lm-ink-2) !important;
	font-size: 13px !important;
}

.affiliates-dashboard .dashboard-section table th {
	background: rgba(15, 18, 23, .94) !important;
	color: var(--lm-muted) !important;
	border-bottom: 1px solid var(--lm-line) !important;
}

.affiliates-dashboard .dashboard-section table td {
	background: rgba(255, 255, 255, .02) !important;
	color: var(--lm-ink-2) !important;
	border-bottom: 1px solid var(--lm-line-soft) !important;
}

.affiliates-dashboard .dashboard-section table tr:hover td {
	background: rgba(201, 164, 104, .07) !important;
}

.affiliates-dashboard .dashboard-section textarea,
.affiliates-dashboard textarea.affiliate-url {
	min-height: 64px;
	padding: 12px 14px !important;
	line-height: 1.5;
}

.affiliates-dashboard .dashboard-section {
	position: relative;
	padding: 26px 28px;
	margin-bottom: 18px;
	border-radius: var(--lm-radius);
	overflow: hidden;
	background: linear-gradient(170deg, rgba(255, 255, 255, .045) 0%, rgba(255, 255, 255, .018) 60%, rgba(255, 255, 255, .03) 100%);
	-webkit-backdrop-filter: blur(18px) saturate(135%);
	backdrop-filter: blur(18px) saturate(135%);
	border: 1px solid rgba(255, 255, 255, .075);
	box-shadow: var(--lm-shadow);
}

.affiliates-dashboard .dashboard-section h3,
.affiliates-dashboard .dashboard-section h2 {
	margin-top: 0;
	font-family: var(--lm-display);
	font-size: 23px;
	font-weight: 700;
	letter-spacing: .005em;
	color: #fbf6ec;
}

.affiliates-dashboard .stats-container {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 14px;
	margin: 0 0 18px;
}

.affiliates-dashboard .stats-item {
	background: rgba(255, 255, 255, .03);
	border: 1px solid var(--lm-line-soft);
	border-radius: var(--lm-radius-sm);
	padding: 16px 18px;
	margin: 0;
}

.affiliates-dashboard .stats-item-heading {
	display: block;
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--lm-muted);
	margin-bottom: 5px;
}

.affiliates-dashboard .stats-item-value,
.affiliates-dashboard .stats-item-amount {
	font-size: 23px;
	font-weight: 600;
	letter-spacing: -.02em;
	color: #fbf6ec;
	direction: ltr;
}

.affiliates-dashboard .graph {
	border: 1px solid var(--lm-line-soft);
	border-radius: var(--lm-radius-sm);
	padding: 12px;
	background: rgba(0, 0, 0, .18);
}

.affiliates-dashboard .legend {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	font-size: 11.5px;
	color: var(--lm-muted);
}

.affiliates-dashboard .affiliate-url input,
.affiliates-dashboard input[type="text"] {
	min-height: 44px;
	padding: 0 14px;
	border: 1px solid rgba(255, 255, 255, .11);
	border-radius: var(--lm-radius-sm);
	background: rgba(0, 0, 0, .28);
	font-size: 12.8px;
	color: var(--lm-ink-2);
	direction: ltr;
}

.affiliates-dashboard .affiliate-url input:focus,
.affiliates-dashboard input[type="text"]:focus {
	outline: none;
	border-color: rgba(232, 210, 168, .55);
	box-shadow: 0 0 0 3px rgba(201, 164, 104, .16);
}

.affiliates-dashboard .button,
.affiliates-dashboard .copy-to-clipboard-trigger,
.affiliates-dashboard button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 18px;
	border-radius: 999px;
	border: 1px solid rgba(251, 241, 221, .5);
	background: linear-gradient(180deg, #f3dfb9, #c9a468);
	color: #1a1307;
	font-size: 12.5px;
	font-weight: 600;
	cursor: pointer;
	text-decoration: none;
	box-shadow: 0 12px 26px -18px rgba(201, 164, 104, .9);
}

.affiliates-dashboard .button:hover,
.affiliates-dashboard .copy-to-clipboard-trigger:hover {
	background: linear-gradient(180deg, #f8e9cb, #d3ad72);
	color: #140f06;
}

.affiliates-dashboard .affiliates-dashboard-logout a {
	font-size: 12.5px;
	color: var(--lm-muted);
}

.affiliates-dashboard .dashboard-section table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13.2px;
}

.affiliates-dashboard .dashboard-section table th,
.affiliates-dashboard .dashboard-section table td {
	padding: 13px 14px;
	border-bottom: 1px solid var(--lm-line-soft);
	text-align: start;
}

.affiliates-dashboard .dashboard-section table th {
	background: rgba(15, 18, 23, .94);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--lm-muted);
}

.affiliates-dashboard .dashboard-section table tr:hover td {
	background: rgba(201, 164, 104, .05);
}

/* --------------------------------------------------------------------------
   Affiliates registration form
   -------------------------------------------------------------------------- */

.affiliates-registration {
	position: relative;
	max-width: 580px;
	margin: 6px auto 8px;
}

.affiliates-registration #affiliates-registration-form {
	position: relative;
	padding: 34px 36px 30px;
	border-radius: var(--lm-radius);
	background: linear-gradient(170deg, rgba(255, 255, 255, .05) 0%, rgba(255, 255, 255, .02) 100%);
	-webkit-backdrop-filter: blur(18px) saturate(135%);
	backdrop-filter: blur(18px) saturate(135%);
	border: 1px solid rgba(255, 255, 255, .09);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07), 0 30px 60px -40px rgba(0, 0, 0, .9);
	overflow: hidden;
}

.affiliates-registration #affiliates-registration-form::before {
	content: "";
	display: block;
	height: 2px;
	margin: -34px -36px 28px;
	background: linear-gradient(90deg, rgba(251, 241, 221, 0), rgba(251, 241, 221, .9) 28%, rgba(201, 164, 104, .6) 62%, rgba(201, 164, 104, 0));
}

.affiliates-registration .field {
	margin-bottom: 18px;
}

.affiliates-registration .field label {
	display: block;
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--lm-muted);
	margin-bottom: 8px;
}

.affiliates-registration .field input[type="text"],
.affiliates-registration .field input[type="email"],
.affiliates-registration .field input[type="url"],
.affiliates-registration .field input[type="password"] {
	width: 100%;
	min-height: 50px;
	padding: 0 16px;
	border: 1px solid rgba(255, 255, 255, .11);
	border-radius: var(--lm-radius-sm);
	background: rgba(0, 0, 0, .30);
	font-family: var(--lm-body);
	font-size: 14px;
	color: var(--lm-ink);
	direction: ltr;
	transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.affiliates-registration .field input:focus {
	outline: none;
	border-color: rgba(232, 210, 168, .55);
	background: rgba(0, 0, 0, .40);
	box-shadow: 0 0 0 3px rgba(201, 164, 104, .16), 0 0 28px -10px rgba(201, 164, 104, .7);
}

.affiliates-registration .field input.required {
	box-decoration-break: clone;
}

.affiliates-registration .sign-up {
	margin-top: 26px;
	text-align: center;
}

.affiliates-registration .sign-up input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 0 40px;
	border-radius: 999px;
	border: 1px solid rgba(251, 241, 221, .5);
	background: linear-gradient(180deg, #f3dfb9, #c9a468);
	color: #1a1307;
	font-family: var(--lm-body);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .02em;
	cursor: pointer;
	box-shadow: 0 16px 34px -18px rgba(201, 164, 104, .9), inset 0 1px 0 rgba(255, 255, 255, .5);
	transition: transform .2s var(--lm-ease), box-shadow .2s ease, filter .2s ease;
}

.affiliates-registration .sign-up input[type="submit"]:hover {
	transform: translateY(-1px);
	filter: brightness(1.05);
	box-shadow: 0 22px 44px -18px rgba(201, 164, 104, 1), inset 0 1px 0 rgba(255, 255, 255, .6);
}

.affiliates-registration .sign-up input[type="submit"]:active {
	transform: translateY(0);
}

.affiliates-registration .lmfao {
	display: none !important;
}

.affiliates-registration .terms {
	font-size: 12px;
	color: var(--lm-muted);
	margin: 16px 0 0;
	text-align: center;
	line-height: 1.55;
}

.affiliates-registration .terms a {
	color: var(--lm-gold-2);
	text-decoration: none;
}

.affiliates-registration .terms a:hover {
	text-decoration: underline;
}

.affiliates-registration.registered {
	max-width: 580px;
	margin: 6px auto 8px;
	padding: 34px 36px;
	border-radius: var(--lm-radius);
	background: linear-gradient(170deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .02));
	border: 1px solid rgba(255, 255, 255, .09);
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
	box-shadow: var(--lm-shadow);
	text-align: center;
}

.affiliates-registration.registered p {
	font-size: 14px;
	color: var(--lm-ink-2);
	margin: 0 0 12px;
}

.affiliates-registration.registered a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0 26px;
	border-radius: 999px;
	border: 1px solid rgba(251, 241, 221, .5);
	background: linear-gradient(180deg, #f3dfb9, #c9a468);
	color: #1a1307;
	font-size: 13.5px;
	font-weight: 600;
	text-decoration: none;
	box-shadow: 0 14px 30px -18px rgba(201, 164, 104, .9);
	transition: transform .2s var(--lm-ease), filter .2s ease;
}

.affiliates-registration.registered a:hover {
	transform: translateY(-1px);
	filter: brightness(1.05);
	color: #140f06;
}

/* Keep the registration card readable when the shortcode sits outside .lmlm-dash */
.affiliates-registration #affiliates-registration-form .field input::placeholder {
	color: rgba(147, 142, 134, .7);
}

/* --------------------------------------------------------------------------
   Focus visibility
   -------------------------------------------------------------------------- */

.lmlm-dash a:focus-visible,
.lmlm-dash button:focus-visible,
.lmlm-dash input:focus-visible,
.affiliates-dashboard a:focus-visible,
.affiliates-dashboard button:focus-visible {
	outline: 2px solid rgba(232, 210, 168, .8);
	outline-offset: 2px;
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 1100px) {
	.lmlm-dash {
		margin-inline: 8px;
		padding: 34px 30px 36px;
	}
}

@media (max-width: 980px) {
	.lmlm-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.lmlm-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 640px) {
	.lmlm-dash {
		margin: 18px 6px 36px;
		padding: 22px 18px 26px;
		border-radius: 24px;
	}
	.lmlm-hero {
		padding: 26px 22px;
		border-radius: 20px;
		gap: 18px;
	}
	.lmlm-hero-main {
		gap: 16px;
	}
	.lmlm-avatar {
		width: 54px;
		height: 54px;
		font-size: 25px;
	}
	.lmlm-hero-title {
		font-size: 30px;
	}
	.lmlm-stats {
		grid-template-columns: minmax(0, 1fr);
	}
	.lmlm-card-box {
		padding: 20px 18px 22px;
		border-radius: 18px;
	}
	.lmlm-subnav {
		width: 100%;
		overflow-x: auto;
		flex-wrap: nowrap;
		border-radius: 18px;
		scrollbar-width: none;
	}
	.lmlm-subnav::-webkit-scrollbar {
		display: none;
	}
	.lmlm-subnav a {
		white-space: nowrap;
	}
	.lmlm-ring-wrap {
		gap: 16px;
	}
	.lmlm-ring {
		width: 112px;
		height: 112px;
	}
	.lmlm-form-grid {
		grid-template-columns: minmax(0, 1fr);
	}
	.lmlm-form-actions .lmlm-btn {
		flex: 1 1 auto;
	}
	.lmlm-copy-row .lmlm-btn {
		flex: 1 1 100%;
	}
	.lmlm-meta-list {
		grid-template-columns: minmax(0, 1fr);
	}
	.lmlm-chart svg {
		height: 156px;
	}
	.affiliates-registration #affiliates-registration-form {
		padding: 26px 22px 24px;
	}
	.affiliates-registration #affiliates-registration-form::before {
		margin: -26px -22px 22px;
	}
	.affiliates-dashboard .dashboard-section {
		padding: 20px 18px;
	}
}

/* --------------------------------------------------------------------------
   Accessibility
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	.lmlm-dash *,
	.affiliates-dashboard * {
		animation: none !important;
		transition: none !important;
	}
	[data-lmlm-reveal] {
		opacity: 1;
		transform: none;
	}
	.lmlm-chart-line { stroke-dashoffset: 0; }
	.lmlm-chart-area,
	.lmlm-chart-point { opacity: 1; }
	.lmlm-ring-value { stroke-dashoffset: var(--lmlm-off); }
	.lmlm-dash::before { animation: none !important; }
}

/* The panel owns the page title — drop the theme's duplicated heading. */
@supports selector(:has(*)) {
	body:has(.lmlm-dash) .entry-header .entry-title {
		display: none;
	}

	body:has(.lmlm-dash) .entry-header {
		padding-block: 0;
	}
}

/* --------------------------------------------------------------------------
   RTL (Arabic)
   -------------------------------------------------------------------------- */

[dir="rtl"] .lmlm-dash::before {
	transform: scaleX(-1);
}

[dir="rtl"] .lmlm-hero::before {
	inset-inline-start: auto;
	inset-inline-end: 0;
}

[dir="rtl"] .lmlm-eyebrow::before {
	background: linear-gradient(270deg, rgba(232, 210, 168, .1), rgba(232, 210, 168, .85));
}

[dir="rtl"] .lmlm-field input[type="email"],
[dir="rtl"] .lmlm-field input[type="number"],
[dir="rtl"] .lmlm-copy-input,
[dir="rtl"] .affiliates-dashboard input[type="text"] {
	direction: ltr;
	text-align: left;
}

[dir="rtl"] .lmlm-stat-value,
[dir="rtl"] .lmlm-table .lmlm-num,
[dir="rtl"] .lmlm-meta-list dd,
[dir="rtl"] .lmlm-chip em,
[dir="rtl"] .lmlm-delta {
	direction: ltr;
	unicode-bidi: isolate;
	text-align: right;
}

[dir="rtl"] .lmlm-ring-copy,
[dir="rtl"] .lmlm-ring-title {
	text-align: right;
}

[dir="rtl"] .lmlm-ladder-step::before {
	inset-inline-start: 27px;
}
