/**
 * AffiliateWP — Affiliate Area Portal (Nexora-style dark)
 *
 * Premium dark mode dashboard for affiliates.
 * Plain CSS, no Tailwind/build step. Scoped under .affwp-portal.
 *
 * @package AffiliateWP
 * @since   2.32.2
 */

/* ============================================================
 * 1. Tokens
 * ============================================================ */
.affwp-portal {
	/* Surfaces (dark) */
	--affp-bg:           #0a0e1a;
	--affp-bg-2:         #0d1220;
	--affp-surface:      #131826;
	--affp-surface-2:    #1a2030;
	--affp-surface-hi:   #232a3d;
	--affp-border:       rgba(148, 163, 184, 0.10);
	--affp-border-strong:rgba(148, 163, 184, 0.18);

	/* Text */
	--affp-text:         #f8fafc;
	--affp-text-muted:   #94a3b8;
	--affp-text-subtle:  #64748b;
	--affp-text-faint:   #475569;

	/* Sidebar */
	--affp-sb-bg:        #0a0e1a;
	--affp-sb-bg-hover:  #1a2030;
	--affp-sb-text:      #cbd5e1;
	--affp-sb-text-muted:#64748b;
	--affp-sb-divider:   rgba(148, 163, 184, 0.08);

	/* Accents — vivid violet → electric blue gradient */
	--affp-accent:       #a855f7;
	--affp-accent-2:     #6366f1;
	--affp-accent-3:     #2563eb;
	--affp-accent-light: #d8b4fe;
	--affp-accent-soft:  rgba(168, 85, 247, 0.16);
	--affp-accent-soft-2:rgba(168, 85, 247, 0.28);
	--affp-accent-glow:  rgba(168, 85, 247, 0.55);
	--affp-blue-glow:    rgba(37, 99, 235, 0.55);
	--affp-accent-grad:  linear-gradient(135deg, #a855f7 0%, #2563eb 100%);

	/* Status */
	--affp-success:      #34d399;
	--affp-success-soft: rgba(52, 211, 153, 0.12);
	--affp-success-glow: rgba(52, 211, 153, 0.5);
	--affp-warning:      #f59e0b;
	--affp-warning-soft: rgba(245, 158, 11, 0.15);
	--affp-danger:       #ef4444;
	--affp-danger-soft:  rgba(239, 68, 68, 0.15);
	--affp-info:         #22d3ee;
	--affp-info-soft:    rgba(34, 211, 238, 0.15);
	--affp-pink:         #ec4899;
	--affp-pink-soft:    rgba(236, 72, 153, 0.15);

	/* Radii */
	--affp-radius-sm: 8px;
	--affp-radius:    12px;
	--affp-radius-lg: 16px;
	--affp-radius-xl: 20px;

	/* Shadows */
	--affp-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.2);
	--affp-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.25);
	--affp-shadow:    0 8px 16px -4px rgba(0, 0, 0, 0.4);
	--affp-shadow-lg: 0 20px 40px -10px rgba(0, 0, 0, 0.5);
	--affp-shadow-glow: 0 0 0 1px var(--affp-accent-soft-2), 0 8px 24px -8px var(--affp-accent-glow);

	/* Layout */
	--affp-sb-w: 260px;

	--affp-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;

	color: var(--affp-text);
	font-family: var(--affp-font);
	font-size: 14px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.affwp-portal *,
.affwp-portal *::before,
.affwp-portal *::after { box-sizing: border-box; }

/* ============================================================
 * 1b. Light mode — override de TOKENS al scope `.affwp-portal`.
 *
 * Causa raíz del problema previo: el light mode tenía ~1400 reglas
 * `html.affwp-portal-theme-light .X { color: ... }` específicas por
 * elemento. Cualquier nueva clase agregada quedaba con los colores del
 * dark mode (var(--affp-text) = #f8fafc casi blanco) sobre fondo blanco,
 * resultando en texto invisible.
 *
 * Fix correcto: redefinir los tokens al scope del portal. Así CUALQUIER
 * `color: var(--affp-text)` resuelve automáticamente al color dark del
 * light mode sin necesidad de un override por clase. Las reglas previas
 * `html.affwp-portal-theme-light .X { color: ... }` siguen funcionando
 * (no rompen nada) pero ya no son necesarias para nuevos elementos.
 * ============================================================ */
html.affwp-portal-theme-light .affwp-portal {
	/* Surfaces (light) */
	--affp-bg:           #f8fafc;
	--affp-bg-2:         #ffffff;
	--affp-surface:      #ffffff;
	--affp-surface-2:    #f8fafc;
	--affp-surface-hi:   #f1f5f9;
	--affp-border:       rgba(15, 23, 42, 0.08);
	--affp-border-strong:rgba(15, 23, 42, 0.18);

	/* Text — invertido a tonos oscuros para contraste sobre bg claro */
	--affp-text:         #0f172a; /* slate-900 */
	--affp-text-muted:   #475569; /* slate-600 */
	--affp-text-subtle:  #64748b; /* slate-500 */
	--affp-text-faint:   #94a3b8; /* slate-400 */

	/* Sidebar — también en light en light mode */
	--affp-sb-bg:        #ffffff;
	--affp-sb-bg-hover:  #f1f5f9;
	--affp-sb-text:      #334155;
	--affp-sb-text-muted:#94a3b8;
	--affp-sb-divider:   rgba(15, 23, 42, 0.06);

	/* Accents — mismo violeta pero soft variants más sutiles sobre claro */
	--affp-accent:       #7c3aed; /* violet-600, más profundo que el #a855f7 dark */
	--affp-accent-2:     #6366f1;
	--affp-accent-3:     #2563eb;
	--affp-accent-light: #6d28d9; /* violet-700 para contraste sobre bg claro */
	--affp-accent-soft:  rgba(124, 58, 237, 0.10);
	--affp-accent-soft-2:rgba(124, 58, 237, 0.20);
	--affp-accent-glow:  rgba(124, 58, 237, 0.30);
	--affp-blue-glow:    rgba(37, 99, 235, 0.30);
	--affp-accent-grad:  linear-gradient(135deg, #7c3aed 0%, #2563eb 100%);

	/* Status soft variants más visibles sobre bg claro */
	--affp-success-soft: rgba(16, 185, 129, 0.10);
	--affp-success-glow: rgba(16, 185, 129, 0.30);
	--affp-warning-soft: rgba(245, 158, 11, 0.12);
	--affp-danger-soft:  rgba(239, 68, 68, 0.10);
	--affp-info-soft:    rgba(34, 211, 238, 0.12);
	--affp-pink-soft:    rgba(236, 72, 153, 0.12);

	/* Shadows un poco más sutiles sobre bg claro */
	--affp-shadow-xs: 0 1px 2px rgba(15, 23, 42, 0.06);
	--affp-shadow-sm: 0 2px 4px rgba(15, 23, 42, 0.06);
	--affp-shadow:    0 8px 16px -4px rgba(15, 23, 42, 0.10);
	--affp-shadow-lg: 0 20px 40px -10px rgba(15, 23, 42, 0.15);
	--affp-shadow-glow: 0 0 0 1px var(--affp-accent-soft-2), 0 8px 24px -8px var(--affp-accent-glow);

	color: var(--affp-text);
}

.affwp-portal a { color: var(--affp-accent); }
.affwp-portal a:hover { color: #a78bfa; }

.affwp-portal h1, .affwp-portal h2, .affwp-portal h3, .affwp-portal h4 {
	color: var(--affp-text);
	font-weight: 700;
	letter-spacing: -0.02em;
	margin: 0;
}

/* SVG safety */
.affwp-portal svg {
	flex-shrink: 0;
	display: inline-block;
	max-width: 100%;
}

/* ============================================================
 * 2. Shell
 * ============================================================ */
.affwp-portal-shell {
	display: flex;
	min-height: 800px;
	background: var(--affp-bg);
	border-radius: var(--affp-radius-xl);
	overflow: hidden;
	box-shadow: var(--affp-shadow-lg);
	position: relative;
	border: 1px solid var(--affp-border);
}

/* ============================================================
 * 3. Sidebar
 * ============================================================ */
.affwp-portal-sidebar {
	width: var(--affp-sb-w);
	background: var(--affp-sb-bg);
	color: var(--affp-sb-text);
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
	border-right: 1px solid var(--affp-border);
	position: relative;
	box-sizing: border-box;
	/* Scroll interno cuando el contenido del sidebar excede el alto disponible
	 * (típicamente: muchos tabs + theme switch + promo + status footer). */
	max-height: 100vh;
	overflow-y: auto;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	scrollbar-color: rgba(255, 255, 255, 0.18) transparent;
}

/* Scrollbar custom (WebKit) — más sutil que el default */
.affwp-portal-sidebar::-webkit-scrollbar { width: 6px; }
.affwp-portal-sidebar::-webkit-scrollbar-track { background: transparent; }
.affwp-portal-sidebar::-webkit-scrollbar-thumb {
	background: rgba(255, 255, 255, 0.14);
	border-radius: 3px;
}
.affwp-portal-sidebar::-webkit-scrollbar-thumb:hover {
	background: rgba(255, 255, 255, 0.28);
}

/* Switch Afiliado/Gestor en el sidebar — SOLO visible en móvil. En desktop
 * (>768px) se oculta porque el switch ya está en el topbar. */
.affwp-portal-sidebar__mode-switch {
	display: none !important;
	margin: 12px 16px 8px !important;
	width: calc(100% - 32px) !important;
	box-sizing: border-box !important;
}
.affwp-portal-sidebar__mode-switch .affwp-portal-mode-switch__option {
	flex: 1 !important;
	justify-content: center !important;
}
.affwp-portal-sidebar__mode-switch .affwp-portal-mode-switch__option span {
	display: inline !important; /* En el sidebar SÍ mostramos el texto, hay espacio */
}

.affwp-portal-sidebar__logo {
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 12px 16px;
	color: var(--affp-text);
	font-weight: 800;
	font-size: 18px;
	letter-spacing: -0.02em;
	overflow: hidden;
	border-bottom: 1px solid var(--affp-sb-divider);
}

.affwp-portal-sidebar__logo img {
	max-height: 56px;
	max-width: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
	margin: 0 auto;
}

.affwp-portal-sidebar__logo-mark {
	width: 32px;
	height: 32px;
	border-radius: 8px;
	background: var(--affp-accent-grad);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 16px;
	box-shadow: 0 4px 12px -4px var(--affp-accent-glow);
	flex-shrink: 0;
}

.affwp-portal-sidebar__logo-mark svg { width: 18px; height: 18px; }

.affwp-portal-sidebar__nav-label {
	padding: 16px 20px 8px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--affp-sb-text-muted);
}

.affwp-portal-sidebar__nav {
	flex: 1;
	overflow-y: auto;
	padding: 0 12px;
	list-style: none;
	margin: 0;
}

.affwp-portal-sidebar__nav li {
	margin: 0;
	list-style: none;
}

.affwp-portal-sidebar__nav-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 11px 12px;
	border-radius: 10px;
	color: var(--affp-sb-text);
	text-decoration: none;
	font-size: 14px;
	font-weight: 500;
	transition: background-color 0.15s ease, color 0.15s ease;
	margin-bottom: 4px;
	position: relative;
}

.affwp-portal-sidebar__nav-item:hover,
.affwp-portal-sidebar__nav-item:focus {
	background: var(--affp-sb-bg-hover);
	color: var(--affp-text);
}

.affwp-portal-sidebar__nav-item.is-active {
	background: var(--affp-accent-grad);
	color: #ffffff;
	box-shadow: 0 8px 20px -8px var(--affp-accent-glow);
}

.affwp-portal-sidebar__nav-item.is-active::before {
	content: "";
	position: absolute;
	left: -12px;
	top: 8px;
	bottom: 8px;
	width: 3px;
	border-radius: 0 3px 3px 0;
	background: linear-gradient(to bottom, #d8b4fe, #60a5fa);
	box-shadow: 0 0 12px var(--affp-accent-glow);
}

.affwp-portal-sidebar__nav-icon {
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
}

.affwp-portal-sidebar__nav-icon svg {
	width: 20px !important;
	height: 20px !important;
}

.affwp-portal-sidebar__back {
	margin: 12px 16px 0;
	padding: 8px 12px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--affp-sb-text-muted);
	text-decoration: none;
	font-size: 12.5px;
	font-weight: 500;
	border-radius: 8px;
	transition: color 0.15s ease, background-color 0.15s ease;
	width: fit-content;
}

.affwp-portal-sidebar__back svg {
	width: 14px !important;
	height: 14px !important;
}

.affwp-portal-sidebar__back:hover,
.affwp-portal-sidebar__back:focus {
	color: var(--affp-text);
	background: var(--affp-sb-bg-hover);
}

/* Promo card (sidebar bottom) */
.affwp-portal-sidebar__promo {
	margin: 16px;
	padding: 18px;
	border-radius: 14px;
	background:
		radial-gradient(circle at top right, rgba(168, 85, 247, 0.30) 0%, transparent 60%),
		linear-gradient(180deg, #1c1239 0%, #1a2030 100%);
	border: 1px solid var(--affp-accent-soft);
	position: relative;
	overflow: hidden;
}

.affwp-portal-sidebar__promo-icon {
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: var(--affp-accent-grad);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	margin-bottom: 12px;
	box-shadow: 0 0 24px -4px var(--affp-accent-glow);
}

.affwp-portal-sidebar__promo-icon svg { width: 18px !important; height: 18px !important; }

.affwp-portal-sidebar__promo-title {
	color: var(--affp-text);
	font-weight: 700;
	font-size: 14px;
	margin: 0 0 4px;
	line-height: 1.3;
}

.affwp-portal-sidebar__promo-text {
	color: var(--affp-sb-text-muted);
	font-size: 12.5px;
	margin: 0 0 12px;
	line-height: 1.5;
}

.affwp-portal-sidebar__promo-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 9px 16px;
	background: rgba(168, 85, 247, 0.18);
	border: 1px solid rgba(168, 85, 247, 0.5);
	color: #ffffff;
	border-radius: 999px;
	font-size: 12.5px;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.affwp-portal-sidebar__promo-btn svg { width: 12px !important; height: 12px !important; }

.affwp-portal-sidebar__promo-btn:hover {
	background: rgba(168, 85, 247, 0.32);
	border-color: var(--affp-accent);
	color: #ffffff;
	transform: translateX(2px);
}

/* Status footer */
.affwp-portal-sidebar__status {
	border-top: 1px solid var(--affp-sb-divider);
	padding: 14px 18px;
	display: flex;
	align-items: center;
	gap: 10px;
}

.affwp-portal-sidebar__status-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--affp-success);
	box-shadow: 0 0 0 3px var(--affp-success-soft), 0 0 12px var(--affp-success-glow);
	flex-shrink: 0;
	animation: affp-pulse 2s ease-in-out infinite;
}

@keyframes affp-pulse {
	0%, 100% { box-shadow: 0 0 0 3px var(--affp-success-soft), 0 0 12px var(--affp-success-glow); }
	50%      { box-shadow: 0 0 0 6px var(--affp-success-soft), 0 0 20px var(--affp-success-glow); }
}

.affwp-portal-sidebar__status-text {
	min-width: 0;
	flex: 1;
}

.affwp-portal-sidebar__status-title {
	color: var(--affp-text);
	font-size: 13px;
	font-weight: 600;
	margin: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.affwp-portal-sidebar__status-sub {
	color: var(--affp-sb-text-muted);
	font-size: 11.5px;
	margin: 0;
}

/* Mobile sidebar overlay */
.affwp-portal-sidebar-overlay {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.7);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	z-index: 40;
	opacity: 0;
	transition: opacity 0.25s ease;
}

.affwp-portal.is-sidebar-open .affwp-portal-sidebar-overlay {
	display: block;
	opacity: 1;
}

/* ============================================================
 * 4. Main column
 * ============================================================ */
.affwp-portal-main {
	flex: 1;
	display: flex;
	flex-direction: column;
	min-width: 0;
	background: var(--affp-bg);
}

/* Topbar acts as a thin action bar (mobile hamburger + actions) */
.affwp-portal-topbar {
	background: transparent;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 28px 32px 0;
}

.affwp-portal-topbar__hamburger {
	display: none;
	background: var(--affp-surface);
	border: 1px solid var(--affp-border);
	color: var(--affp-text-muted);
	width: 42px;
	height: 42px;
	border-radius: 10px;
	cursor: pointer;
	align-items: center;
	justify-content: center;
	padding: 0;
	transition: background-color 0.15s ease, color 0.15s ease;
	flex-shrink: 0;
}

.affwp-portal-topbar__hamburger:hover,
.affwp-portal-topbar__hamburger:focus {
	background: var(--affp-surface-2);
	color: var(--affp-text);
}

.affwp-portal-topbar__hamburger svg { width: 22px !important; height: 22px !important; }

.affwp-portal-topbar__heading,
.affwp-portal-topbar__title,
.affwp-portal-topbar__eyebrow { display: none; }

.affwp-portal-topbar__actions {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-left: auto;
}

/* Period selector (placeholder, static for now) */
.affwp-portal-period {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	background: var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 10px;
	color: var(--affp-text);
	font-size: 13px;
	font-weight: 500;
	cursor: default;
}

.affwp-portal-period svg {
	width: 16px !important;
	height: 16px !important;
	color: var(--affp-text-muted);
}

/* Wallet balance pill in the topbar */
.affwp-portal-wallet {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 6px 14px 6px 8px;
	background:
		radial-gradient(circle at top right, var(--affp-accent-soft) 0%, transparent 70%),
		var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 999px;
	color: var(--affp-text);
	text-decoration: none;
	transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
	cursor: pointer;
}

.affwp-portal-wallet:hover,
.affwp-portal-wallet:focus {
	background:
		radial-gradient(circle at top right, var(--affp-accent-soft-2) 0%, transparent 70%),
		var(--affp-surface-2);
	border-color: var(--affp-accent-soft-2);
	transform: translateY(-1px);
	box-shadow: 0 6px 16px -6px var(--affp-accent-glow);
	color: var(--affp-text);
}

.affwp-portal-wallet__icon {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--affp-accent-grad);
	color: #ffffff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	box-shadow: 0 0 16px -4px var(--affp-accent-glow);
}

.affwp-portal-wallet__icon svg {
	width: 16px !important;
	height: 16px !important;
}

.affwp-portal-wallet__text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	line-height: 1.15;
	min-width: 0;
}

.affwp-portal-wallet__label {
	font-size: 10.5px;
	font-weight: 600;
	color: var(--affp-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.affwp-portal-wallet__balance {
	font-size: 14px;
	font-weight: 700;
	color: var(--affp-text);
	letter-spacing: -0.01em;
	white-space: nowrap;
}

.affwp-portal-wallet__balance .woocommerce-Price-amount,
.affwp-portal-wallet__balance bdi {
	color: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
}

@media (max-width: 768px) {
	.affwp-portal-wallet {
		padding: 5px 12px 5px 5px;
	}
	.affwp-portal-wallet__icon {
		width: 28px;
		height: 28px;
	}
	.affwp-portal-wallet__icon svg {
		width: 14px !important;
		height: 14px !important;
	}
	.affwp-portal-wallet__label { display: none; }
	.affwp-portal-wallet__balance { font-size: 13px; }
}

/* === Tier badge (Aliado / Pro / Élite) ============================
 * Estética coherente con la billetera: pill oscura con chip circular a la
 * izquierda + texto de 2 líneas (label uppercase pequeña / nombre + rate).
 * El acento de color del tier está SOLO en el chip y en el rate, no en todo
 * el contenedor — más minimalista y se integra mejor en el topbar.
 */
.affwp-portal-tier {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 4px 14px 4px 4px;
	background:
		radial-gradient(circle at top right, rgba(168, 85, 247, 0.16) 0%, transparent 60%),
		var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 999px;
	color: var(--affp-text);
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
	white-space: nowrap;
	font-family: inherit;
	line-height: 1;
}
.affwp-portal-tier:hover,
.affwp-portal-tier:focus-visible {
	transform: translateY(-1px);
	border-color: rgba(168, 85, 247, 0.45);
	box-shadow: 0 6px 18px -6px rgba(168, 85, 247, 0.45);
	outline: none;
}

.affwp-portal-tier__chip {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #a855f7, #7c3aed);
	color: #fff;
	flex-shrink: 0;
	box-shadow: 0 0 16px -4px rgba(168, 85, 247, 0.55);
	transition: transform 0.25s ease;
}
.affwp-portal-tier:hover .affwp-portal-tier__chip {
	transform: scale(1.05);
}
.affwp-portal-tier__chip svg {
	width: 16px !important;
	height: 16px !important;
}

.affwp-portal-tier__text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	line-height: 1.15;
	min-width: 0;
}
.affwp-portal-tier__label {
	font-size: 10.5px;
	font-weight: 600;
	color: var(--affp-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.affwp-portal-tier__main {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	font-weight: 700;
	color: var(--affp-text);
	letter-spacing: -0.01em;
	white-space: nowrap;
}
.affwp-portal-tier__name {
	font-weight: 700;
}
.affwp-portal-tier__rate {
	font-weight: 700;
	font-size: 11.5px;
	font-variant-numeric: tabular-nums;
	padding: 1px 7px;
	border-radius: 999px;
	background: rgba(168, 85, 247, 0.18);
	color: #d8b4fe;
	letter-spacing: 0.02em;
	border: 1px solid rgba(168, 85, 247, 0.30);
}

/* Tier 2 — Pro (azul/cyan) */
.affwp-portal-tier--t2 .affwp-portal-tier__chip {
	background: linear-gradient(135deg, #3b82f6, #06b6d4);
	box-shadow: 0 0 16px -4px rgba(59, 130, 246, 0.55);
}
.affwp-portal-tier--t2 .affwp-portal-tier__rate {
	background: rgba(59, 130, 246, 0.18);
	color: #93c5fd;
	border-color: rgba(59, 130, 246, 0.30);
}

/* Tier 3 — Élite (dorado) */
.affwp-portal-tier--t3 .affwp-portal-tier__chip {
	background: linear-gradient(135deg, #f59e0b, #fbbf24);
	color: #422006;
	box-shadow: 0 0 16px -4px rgba(251, 191, 36, 0.55);
}
.affwp-portal-tier--t3 .affwp-portal-tier__rate {
	background: rgba(251, 191, 36, 0.20);
	color: #fde68a;
	border-color: rgba(251, 191, 36, 0.35);
}

/* Pill de tasa aplicada (en la tabla de referidos) */
.affwp-portal-rate-pill {
	display: inline-flex;
	align-items: center;
	padding: 3px 9px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	background: rgba(168, 85, 247, 0.14);
	color: #d8b4fe;
	border: 1px solid rgba(168, 85, 247, 0.30);
	letter-spacing: -0.01em;
}
.affwp-portal-rate-pill--na {
	background: rgba(255, 255, 255, 0.05);
	color: rgba(255, 255, 255, 0.45);
	border-color: rgba(255, 255, 255, 0.10);
	font-weight: 500;
}
.affwp-portal[data-theme="light"] .affwp-portal-rate-pill {
	background: rgba(168, 85, 247, 0.10);
	color: #7c3aed;
	border-color: rgba(168, 85, 247, 0.28);
}
.affwp-portal[data-theme="light"] .affwp-portal-rate-pill--na {
	background: rgba(0, 0, 0, 0.04);
	color: rgba(0, 0, 0, 0.45);
	border-color: rgba(0, 0, 0, 0.10);
}

/* === Tier badge: cuando es <button> ============================ */
button.affwp-portal-tier {
	font-family: inherit;
	cursor: pointer;
	outline: none;
}
button.affwp-portal-tier:focus-visible {
	box-shadow: 0 0 0 3px rgba(168, 85, 247, 0.45);
}

/* === Tier modal ================================================ */
.affwp-tier-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}
.affwp-tier-modal[hidden] { display: none; }

.affwp-tier-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(5, 8, 18, 0.78);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	opacity: 0;
	transition: opacity 0.25s ease;
}
.affwp-tier-modal.is-open .affwp-tier-modal__overlay { opacity: 1; }

.affwp-tier-modal__dialog {
	position: relative !important;
	width: 100%;
	max-width: 580px;
	max-height: calc(100vh - 48px);
	overflow-y: auto;
	background: linear-gradient(180deg, #1a2030 0%, #131826 100%) !important;
	border: 1px solid rgba(168, 85, 247, 0.18);
	border-radius: 18px;
	box-shadow:
		0 24px 60px -12px rgba(0, 0, 0, 0.7),
		0 0 0 1px rgba(168, 85, 247, 0.06),
		0 0 80px -20px rgba(168, 85, 247, 0.4);
	padding: 28px 28px 24px;
	color: #f8fafc;
	transform: scale(0.94) translateY(8px);
	opacity: 0;
	transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.22s ease;
}
.affwp-tier-modal.is-open .affwp-tier-modal__dialog {
	transform: scale(1) translateY(0);
	opacity: 1;
}

/* Close button — fuerza posición top-right + visibilidad. El theme WoodMart
 * tiene reglas genéricas para `button` que pueden ocultar/desplazar este. */
.affwp-tier-modal .affwp-tier-modal__close {
	position: absolute !important;
	top: 14px !important;
	right: 14px !important;
	left: auto !important;
	bottom: auto !important;
	float: none !important;
	width: 36px !important;
	height: 36px !important;
	min-width: 36px !important;
	min-height: 36px !important;
	max-width: 36px !important;
	max-height: 36px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	border: 1px solid rgba(255, 255, 255, 0.12) !important;
	background: rgba(255, 255, 255, 0.08) !important;
	color: #ffffff !important;
	border-radius: 10px !important;
	cursor: pointer !important;
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
	font-size: 0 !important;
	line-height: 0 !important;
	transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease, border-color 0.15s ease !important;
	z-index: 2 !important;
}
.affwp-tier-modal .affwp-tier-modal__close svg {
	display: block !important;
	width: 18px !important;
	height: 18px !important;
	stroke: currentColor !important;
	fill: none !important;
}
.affwp-tier-modal .affwp-tier-modal__close:hover {
	background: rgba(239, 68, 68, 0.18) !important;
	border-color: rgba(239, 68, 68, 0.45) !important;
	color: #fca5a5 !important;
	transform: rotate(90deg) !important;
}

.affwp-tier-modal__head { margin-bottom: 22px; }
.affwp-tier-modal__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
	margin-bottom: 12px;
}
.affwp-tier-modal__eyebrow-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #a855f7;
	box-shadow: 0 0 0 4px rgba(168, 85, 247, 0.18);
	animation: affwp-tier-pulse 2s infinite;
}
@keyframes affwp-tier-pulse {
	0%, 100% { box-shadow: 0 0 0 4px rgba(168, 85, 247, 0.18); }
	50%      { box-shadow: 0 0 0 8px rgba(168, 85, 247, 0.06); }
}

.affwp-tier-modal__head-row {
	display: flex;
	align-items: center;
	gap: 16px;
}
.affwp-tier-modal__head-icon {
	flex-shrink: 0;
	width: 56px;
	height: 56px;
	border-radius: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, rgba(168, 85, 247, 0.30), rgba(168, 85, 247, 0.12));
	color: #d8b4fe;
	box-shadow: 0 0 24px -4px rgba(168, 85, 247, 0.45);
}
.affwp-tier-modal__head-icon svg {
	width: 24px !important;
	height: 24px !important;
}
.affwp-tier-modal__head-icon--t2 {
	background: linear-gradient(135deg, rgba(59, 130, 246, 0.32), rgba(34, 211, 238, 0.12));
	color: #93c5fd;
	box-shadow: 0 0 24px -4px rgba(59, 130, 246, 0.45);
}
.affwp-tier-modal__head-icon--t3 {
	background: linear-gradient(135deg, rgba(251, 191, 36, 0.34), rgba(245, 158, 11, 0.14));
	color: #fde68a;
	box-shadow: 0 0 24px -4px rgba(251, 191, 36, 0.5);
}
.affwp-tier-modal__head-title {
	margin: 0 0 4px;
	font-size: 26px;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: #fff;
	line-height: 1.1;
}
.affwp-tier-modal__head-rate {
	margin: 0;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.65);
}
.affwp-tier-modal__head-rate strong {
	color: #fff;
	font-size: 16px;
	font-weight: 700;
}

.affwp-tier-modal__volume {
	background: rgba(0, 0, 0, 0.25);
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: 14px;
	padding: 16px 18px;
	margin-bottom: 18px;
}
.affwp-tier-modal__volume-head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 8px;
	margin-bottom: 6px;
	flex-wrap: wrap;
}
.affwp-tier-modal__volume-label {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: rgba(255, 255, 255, 0.5);
}
.affwp-tier-modal__volume-target {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.7);
}
.affwp-tier-modal__volume-target strong {
	color: #fff;
	font-weight: 700;
}
.affwp-tier-modal__volume-target--max {
	color: #fde68a;
	font-weight: 700;
}
.affwp-tier-modal__volume-amount {
	font-size: 32px;
	font-weight: 800;
	letter-spacing: -0.03em;
	color: #fff;
	font-variant-numeric: tabular-nums;
	margin-bottom: 12px;
	background: linear-gradient(135deg, #a855f7 0%, #2563eb 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.affwp-tier-modal__progress {
	height: 8px;
	background: rgba(255, 255, 255, 0.06);
	border-radius: 999px;
	overflow: hidden;
	position: relative;
}
.affwp-tier-modal__progress-bar {
	height: 100%;
	background: linear-gradient(90deg, #a855f7, #c084fc);
	border-radius: 999px;
	transition: width 0.6s cubic-bezier(0.16, 1, 0.3, 1);
	box-shadow: 0 0 16px -2px rgba(168, 85, 247, 0.6);
	position: relative;
	overflow: hidden;
}
.affwp-tier-modal__progress-bar::after {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.35), transparent);
	animation: affwp-tier-shimmer 2s infinite;
}
@keyframes affwp-tier-shimmer {
	0%   { left: -100%; }
	100% { left: 100%; }
}
.affwp-tier-modal__progress-bar--t2 {
	background: linear-gradient(90deg, #3b82f6, #22d3ee);
	box-shadow: 0 0 16px -2px rgba(59, 130, 246, 0.6);
}
.affwp-tier-modal__progress-bar--t3 {
	background: linear-gradient(90deg, #f59e0b, #fbbf24);
	box-shadow: 0 0 16px -2px rgba(251, 191, 36, 0.6);
}

.affwp-tier-modal__tiers {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 18px;
}
.affwp-tier-modal__tier {
	position: relative;
	display: grid;
	grid-template-columns: 40px 1fr auto;
	gap: 12px;
	align-items: center;
	padding: 12px 14px;
	border-radius: 12px;
	border: 1px solid rgba(255, 255, 255, 0.07);
	background: rgba(255, 255, 255, 0.02);
	transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.affwp-tier-modal__tier.is-achieved {
	background: rgba(16, 185, 129, 0.05);
	border-color: rgba(16, 185, 129, 0.20);
}
.affwp-tier-modal__tier.is-locked {
	opacity: 0.55;
}
.affwp-tier-modal__tier.is-current {
	background: linear-gradient(135deg, rgba(168, 85, 247, 0.16), rgba(168, 85, 247, 0.04));
	border-color: rgba(168, 85, 247, 0.55);
	transform: scale(1.02);
	box-shadow: 0 8px 24px -8px rgba(168, 85, 247, 0.4);
}
.affwp-tier-modal__tier--t2.is-current {
	background: linear-gradient(135deg, rgba(59, 130, 246, 0.16), rgba(34, 211, 238, 0.05));
	border-color: rgba(59, 130, 246, 0.55);
	box-shadow: 0 8px 24px -8px rgba(59, 130, 246, 0.4);
}
.affwp-tier-modal__tier--t3.is-current {
	background: linear-gradient(135deg, rgba(251, 191, 36, 0.16), rgba(245, 158, 11, 0.05));
	border-color: rgba(251, 191, 36, 0.55);
	box-shadow: 0 8px 24px -8px rgba(251, 191, 36, 0.4);
}

.affwp-tier-modal__tier-icon {
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.06);
	color: rgba(255, 255, 255, 0.6);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.affwp-tier-modal__tier-icon svg {
	width: 18px !important;
	height: 18px !important;
}
.affwp-tier-modal__tier--t1.is-current .affwp-tier-modal__tier-icon { background: rgba(168, 85, 247, 0.22); color: #d8b4fe; }
.affwp-tier-modal__tier--t2.is-current .affwp-tier-modal__tier-icon { background: rgba(59, 130, 246, 0.22); color: #93c5fd; }
.affwp-tier-modal__tier--t3.is-current .affwp-tier-modal__tier-icon { background: rgba(251, 191, 36, 0.22); color: #fde68a; }
.affwp-tier-modal__tier.is-achieved .affwp-tier-modal__tier-icon { background: rgba(16, 185, 129, 0.18); color: #6ee7b7; }

.affwp-tier-modal__tier-body { min-width: 0; }
.affwp-tier-modal__tier-name {
	font-size: 14px;
	font-weight: 700;
	color: #fff;
	margin-bottom: 2px;
}
.affwp-tier-modal__tier-range {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.55);
	font-variant-numeric: tabular-nums;
}
.affwp-tier-modal__tier-rate {
	font-size: 16px;
	font-weight: 800;
	color: #fff;
	letter-spacing: -0.02em;
	font-variant-numeric: tabular-nums;
}
.affwp-tier-modal__tier-flag {
	position: absolute;
	top: -8px;
	right: 12px;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	background: linear-gradient(135deg, #a855f7, #2563eb);
	color: #fff;
	padding: 3px 10px;
	border-radius: 999px;
	box-shadow: 0 4px 12px -4px rgba(168, 85, 247, 0.6);
}
.affwp-tier-modal__tier--t2.is-current .affwp-tier-modal__tier-flag {
	background: linear-gradient(135deg, #3b82f6, #22d3ee);
	box-shadow: 0 4px 12px -4px rgba(59, 130, 246, 0.6);
}
.affwp-tier-modal__tier--t3.is-current .affwp-tier-modal__tier-flag {
	background: linear-gradient(135deg, #f59e0b, #fbbf24);
	color: #422006;
	box-shadow: 0 4px 12px -4px rgba(251, 191, 36, 0.6);
}

.affwp-tier-modal__foot {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-size: 12px;
	color: rgba(255, 255, 255, 0.55);
	background: rgba(255, 255, 255, 0.03);
	border-radius: 10px;
	padding: 10px 12px;
	line-height: 1.5;
}
.affwp-tier-modal__foot svg {
	flex-shrink: 0;
	margin-top: 1px;
	color: rgba(168, 85, 247, 0.7);
}

@media (max-width: 540px) {
	.affwp-tier-modal { padding: 12px; }
	.affwp-tier-modal__dialog { padding: 22px 18px 18px; border-radius: 14px; }
	.affwp-tier-modal__head-icon { width: 48px; height: 48px; }
	.affwp-tier-modal__head-icon svg { width: 20px !important; height: 20px !important; }
	.affwp-tier-modal__head-title { font-size: 22px; }
	.affwp-tier-modal__volume-amount { font-size: 26px; }
	.affwp-tier-modal__tier-rate { font-size: 14px; }
	.affwp-tier-modal__tier-icon { width: 36px; height: 36px; }
}

/* Light mode adapt */
.affwp-portal[data-theme="light"] ~ .affwp-tier-modal .affwp-tier-modal__dialog,
.affwp-portal-fullscreen[data-portal-theme="light"] .affwp-tier-modal__dialog {
	background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
	border-color: rgba(168, 85, 247, 0.20);
	color: #0f172a;
}

@media (max-width: 768px) {
	.affwp-portal-tier {
		padding: 4px 12px 4px 4px;
		gap: 8px;
	}
	.affwp-portal-tier__chip { width: 28px; height: 28px; }
	.affwp-portal-tier__chip svg { width: 14px !important; height: 14px !important; }
	.affwp-portal-tier__label { display: none; } /* en móvil quitamos "Tu nivel" */
	.affwp-portal-tier__main { font-size: 13px; }
	.affwp-portal-tier__rate { font-size: 11px; padding: 1px 6px; }
}
@media (max-width: 480px) {
	/* Móvil pequeño: solo chip + rate como pill compacta. Ocultamos el nombre
	 * porque en topbar 4-elementos se vuelve cramped. La rate es lo más útil. */
	.affwp-portal-tier {
		padding: 3px 8px 3px 3px;
		gap: 6px;
	}
	.affwp-portal-tier__name { display: none; }
}

/* Light mode — el contenedor usa surface claro; el chip y rate mantienen su color */
.affwp-portal[data-theme="light"] .affwp-portal-tier .affwp-portal-tier__rate {
	background: rgba(168, 85, 247, 0.12);
	color: #7c3aed;
	border-color: rgba(168, 85, 247, 0.28);
}
.affwp-portal[data-theme="light"] .affwp-portal-tier--t2 .affwp-portal-tier__rate {
	background: rgba(59, 130, 246, 0.12);
	color: #2563eb;
	border-color: rgba(59, 130, 246, 0.28);
}
.affwp-portal[data-theme="light"] .affwp-portal-tier--t3 .affwp-portal-tier__rate {
	background: rgba(251, 191, 36, 0.18);
	color: #92400e;
	border-color: rgba(251, 191, 36, 0.35);
}

/* Bell */
.affwp-portal-bell {
	position: relative;
	width: 42px;
	height: 42px;
	border-radius: 10px;
	background: var(--affp-surface);
	border: 1px solid var(--affp-border);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--affp-text-muted);
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.affwp-portal-bell:hover { background: var(--affp-surface-2); color: var(--affp-text); }
.affwp-portal-bell svg { width: 18px !important; height: 18px !important; }

.affwp-portal-bell__badge {
	position: absolute;
	top: -4px;
	right: -4px;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	background: var(--affp-accent-grad);
	color: #fff;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 2px solid var(--affp-bg);
	box-shadow: 0 2px 8px var(--affp-accent-glow);
}

/* ============================================================
 * 5. Profile dropdown
 * ============================================================ */
/* ============================================================
 * Profile selector — moderno, minimalista, con avatar ring
 * ============================================================ */
.affwp-portal-profile { position: relative; }

.affwp-portal-profile__trigger {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 4px 14px 4px 4px;
	background:
		radial-gradient(circle at top right, rgba(168, 85, 247, 0.14) 0%, transparent 60%),
		var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 999px;
	cursor: pointer;
	transition: all 0.18s ease;
	position: relative;
}

.affwp-portal-profile__trigger::before {
	/* Glow sutil al pasar el cursor — anillo gradient */
	content: '';
	position: absolute;
	inset: -2px;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--affp-accent, #a855f7), var(--affp-accent-3, #2563eb));
	opacity: 0;
	z-index: -1;
	transition: opacity 0.2s ease;
	filter: blur(6px);
}

.affwp-portal-profile__trigger:hover,
.affwp-portal-profile__trigger:focus {
	background: var(--affp-surface-2);
	border-color: rgba(168, 85, 247, 0.45);
	transform: translateY(-1px);
}

.affwp-portal-profile__trigger:hover::before {
	opacity: 0.35;
}

.affwp-portal-profile.is-open .affwp-portal-profile__trigger {
	border-color: rgba(168, 85, 247, 0.55);
	box-shadow: 0 0 0 3px rgba(168, 85, 247, 0.15);
}

/* Avatar con ring gradient sutil */
.affwp-portal-profile__avatar {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #a855f7 0%, #2563eb 100%);
	flex-shrink: 0;
	position: relative;
	padding: 2px;
	box-shadow: 0 2px 8px rgba(168, 85, 247, 0.25);
}

.affwp-portal-profile__avatar img {
	width: 32px !important;
	height: 32px !important;
	object-fit: cover;
	display: block;
	border-radius: 50% !important;
	background: var(--affp-surface-hi);
}

/* Dot online verde en la esquina del avatar */
.affwp-portal-profile__avatar::after {
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	width: 10px;
	height: 10px;
	background: #10b981;
	border-radius: 50%;
	border: 2px solid var(--affp-surface, #131826);
	z-index: 2;
}

.affwp-portal-profile__info {
	display: none;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	max-width: 180px;
}

.affwp-portal-profile__name {
	font-size: 13px;
	font-weight: 700;
	color: var(--affp-text);
	line-height: 1.2;
	letter-spacing: -0.01em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
}

.affwp-portal-profile__tier {
	font-size: 11px;
	color: var(--affp-text-muted);
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-top: 1px;
}

.affwp-portal-profile__tier svg {
	width: 10px !important;
	height: 10px !important;
	color: var(--affp-accent);
}

.affwp-portal-profile__chevron {
	width: 16px;
	height: 16px;
	color: var(--affp-text-subtle);
	transition: transform 0.2s ease, color 0.15s ease;
}

.affwp-portal-profile__chevron svg { width: 16px !important; height: 16px !important; }

.affwp-portal-profile.is-open .affwp-portal-profile__chevron {
	transform: rotate(180deg);
	color: var(--affp-accent);
}

/* Menú dropdown moderno */
.affwp-portal-profile__menu {
	position: absolute;
	right: 0;
	top: calc(100% + 12px);
	min-width: 280px;
	background: linear-gradient(180deg, var(--affp-surface, #131826) 0%, var(--affp-surface-2, #0f1422) 100%);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 14px;
	box-shadow: 0 16px 48px -8px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(168, 85, 247, 0.06);
	padding: 8px;
	z-index: 50;
	opacity: 0;
	transform: scale(0.96) translateY(-6px);
	transform-origin: top right;
	pointer-events: none;
	transition: opacity 0.18s ease, transform 0.18s ease;
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
}

.affwp-portal-profile.is-open .affwp-portal-profile__menu {
	opacity: 1;
	transform: scale(1) translateY(0);
	pointer-events: auto;
}

/* Header del menú con avatar + nombre + email — estilo card */
.affwp-portal-profile__menu-header {
	padding: 14px 14px 16px;
	margin-bottom: 6px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: 10px 10px 0 0;
	background: radial-gradient(ellipse at top, rgba(168, 85, 247, 0.1) 0%, transparent 70%);
	position: relative;
}

.affwp-portal-profile__menu-header-label {
	font-size: 10px;
	color: var(--affp-text-subtle);
	margin: 0 0 4px;
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-weight: 700;
}

.affwp-portal-profile__menu-header-email {
	font-size: 13.5px;
	font-weight: 600;
	color: var(--affp-text);
	margin: 0;
	display: block;
	word-break: break-word;
	line-height: 1.4;
}

/* Items del menú con iconos coloreados + hover con barrita izquierda */
.affwp-portal-profile__menu-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	margin: 2px 0;
	font-size: 13.5px;
	font-weight: 500;
	color: var(--affp-text);
	text-decoration: none;
	background: transparent;
	border: 0;
	border-radius: 8px;
	width: 100%;
	text-align: left;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.12s ease, padding-left 0.15s ease;
	position: relative;
}

.affwp-portal-profile__menu-item:hover,
.affwp-portal-profile__menu-item:focus {
	background: rgba(168, 85, 247, 0.1);
	color: #f8fafc;
	padding-left: 14px;
	outline: none;
}

.affwp-portal-profile__menu-item:hover svg {
	color: var(--affp-accent);
}

.affwp-portal-profile__menu-item svg {
	width: 16px !important;
	height: 16px !important;
	color: var(--affp-text-muted);
	transition: color 0.12s ease;
	flex-shrink: 0;
}

/* Logout específicamente con un toque rojizo en hover */
.affwp-portal-profile__menu-item[href*="logout"]:hover,
.affwp-portal-profile__menu-item[href*="logout"]:focus {
	background: rgba(239, 68, 68, 0.08);
	color: #fca5a5;
}
.affwp-portal-profile__menu-item[href*="logout"]:hover svg {
	color: #fca5a5;
}

@media (min-width: 1100px) {
	.affwp-portal-profile__info { display: flex; }
}

/* Light mode — adaptaciones */
html.affwp-portal-theme-light .affwp-portal-profile__avatar::after {
	border-color: #ffffff;
}
html.affwp-portal-theme-light .affwp-portal-profile__menu {
	background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
	border-color: #e2e8f0;
	box-shadow: 0 16px 48px -8px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(168, 85, 247, 0.04);
}
html.affwp-portal-theme-light .affwp-portal-profile__menu-header {
	border-bottom-color: #f1f5f9;
}
html.affwp-portal-theme-light .affwp-portal-profile__menu-item:hover {
	background: rgba(168, 85, 247, 0.08);
	color: #0f172a;
}

/* ============================================================
 * 6. Content area
 * ============================================================ */
.affwp-portal-content {
	flex: 1;
	padding: 28px 32px 40px;
	overflow-y: auto;
	min-width: 0;
}

/* Page header inside content (Nexora style) */
.affwp-portal-page-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
	margin-bottom: 28px;
}

.affwp-portal-page-header__title {
	font-size: clamp(28px, 3.5vw, 40px);
	font-weight: 800;
	color: var(--affp-text);
	margin: 0;
	letter-spacing: -0.03em;
	line-height: 1.1;
}

.affwp-portal-page-header__subtitle {
	font-size: 15px;
	color: var(--affp-text-muted);
	margin: 8px 0 0;
}

.affwp-portal-page-header__subtitle .affp-accent {
	background: var(--affp-accent-grad);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	font-weight: 600;
}

/* Hide the legacy h4 inside tab content (we render our own header) */
.affwp-portal-content > .affwp-tab-content > h4:first-child {
	display: none;
}

/* ============================================================
 * 7. KPI cards (Nexora-style)
 * ============================================================ */
.affwp-portal-kpi-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 16px;
	margin-bottom: 24px;
}

.affwp-portal-kpi {
	background: var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 16px;
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
	position: relative;
	overflow: hidden;
}

.affwp-portal-kpi::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at top right, var(--_affp-kpi-glow, transparent) 0%, transparent 60%);
	pointer-events: none;
	opacity: 0.5;
}

.affwp-portal-kpi:hover {
	transform: translateY(-2px);
	border-color: var(--affp-border-strong);
	box-shadow: var(--affp-shadow);
}

.affwp-portal-kpi__head {
	display: flex;
	align-items: center;
	gap: 12px;
	position: relative;
	z-index: 1;
}

.affwp-portal-kpi__icon {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	font-size: 22px;
}

.affwp-portal-kpi__icon svg {
	width: 22px !important;
	height: 22px !important;
}

.affwp-portal-kpi__icon--accent {
	background: var(--affp-accent-soft);
	color: #d8b4fe;
	box-shadow: 0 0 24px -8px var(--affp-accent-glow);
}
.affwp-portal-kpi--accent { --_affp-kpi-glow: rgba(168, 85, 247, 0.20); }

.affwp-portal-kpi__icon--info {
	background: var(--affp-info-soft);
	color: #cffafe;
	box-shadow: 0 0 24px -8px rgba(34, 211, 238, 0.5);
}
.affwp-portal-kpi--info { --_affp-kpi-glow: rgba(34, 211, 238, 0.18); }

.affwp-portal-kpi__icon--success {
	background: var(--affp-success-soft);
	color: #a7f3d0;
	box-shadow: 0 0 24px -8px var(--affp-success-glow);
}
.affwp-portal-kpi--success { --_affp-kpi-glow: rgba(52, 211, 153, 0.18); }

.affwp-portal-kpi__icon--warn {
	background: var(--affp-warning-soft);
	color: #fcd34d;
	box-shadow: 0 0 24px -8px rgba(245, 158, 11, 0.45);
}
.affwp-portal-kpi--warn { --_affp-kpi-glow: rgba(245, 158, 11, 0.18); }

.affwp-portal-kpi__icon--pink {
	background: var(--affp-pink-soft);
	color: #f9a8d4;
	box-shadow: 0 0 24px -8px rgba(236, 72, 153, 0.45);
}
.affwp-portal-kpi--pink { --_affp-kpi-glow: rgba(236, 72, 153, 0.18); }

.affwp-portal-kpi__icon--danger {
	background: var(--affp-danger-soft);
	color: #fca5a5;
	box-shadow: 0 0 24px -8px rgba(239, 68, 68, 0.45);
}
.affwp-portal-kpi--danger { --_affp-kpi-glow: rgba(239, 68, 68, 0.18); }

.affwp-portal-kpi__label {
	font-size: 13.5px;
	font-weight: 500;
	color: var(--affp-text-muted);
	margin: 0;
	flex: 1;
}

.affwp-portal-kpi__body {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px;
	position: relative;
	z-index: 1;
}

.affwp-portal-kpi__value {
	font-size: 30px;
	font-weight: 800;
	color: var(--affp-text);
	margin: 0;
	letter-spacing: -0.03em;
	line-height: 1;
}

.affwp-portal-kpi__helper {
	font-size: 12px;
	color: var(--affp-text-subtle);
	margin: 0;
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	flex-wrap: wrap;
}

.affwp-portal-kpi__inline-stat {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 2px 8px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	color: #6ee7b7;
	background: rgba(16, 185, 129, 0.10);
	border: 1px solid rgba(16, 185, 129, 0.22);
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.01em;
	white-space: nowrap;
}
.affwp-portal-kpi__inline-stat svg {
	width: 11px !important;
	height: 11px !important;
	color: inherit;
}
.affwp-portal[data-theme="light"] .affwp-portal-kpi__inline-stat {
	color: #047857;
	background: rgba(16, 185, 129, 0.08);
	border-color: rgba(16, 185, 129, 0.25);
}

.affwp-portal-kpi__delta {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 12px;
	font-weight: 600;
	padding: 3px 8px;
	border-radius: 999px;
}

.affwp-portal-kpi__delta--up   { background: var(--affp-success-soft); color: #a7f3d0; }
.affwp-portal-kpi__delta--down { background: var(--affp-danger-soft); color: #fca5a5; }
.affwp-portal-kpi__delta--flat { background: var(--affp-surface-2); color: var(--affp-text-muted); }

/* Sparkline at the bottom of KPI card */
.affwp-portal-kpi__spark {
	width: 96px;
	height: 36px;
	flex-shrink: 0;
}

.affwp-portal-kpi__spark svg {
	width: 100%;
	height: 100%;
	display: block;
}

/* ============================================================
 * 8. Surface cards
 * ============================================================ */
.affwp-portal-card {
	background: var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 16px;
	padding: 24px;
	margin-bottom: 24px;
}

.affwp-portal-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 20px;
	flex-wrap: wrap;
}

.affwp-portal-card__title {
	font-size: 17px;
	font-weight: 700;
	margin: 0;
	letter-spacing: -0.01em;
	color: var(--affp-text);
}

.affwp-portal-card__subtitle {
	font-size: 13px;
	color: var(--affp-text-muted);
	margin: 4px 0 0;
}

/* ============================================================
 * 9. Affiliate link panel
 * ============================================================ */
.affwp-portal-link-card {
	background:
		radial-gradient(circle at top left, rgba(168, 85, 247, 0.14) 0%, transparent 50%),
		var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 16px;
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	height: 100%;
}

.affwp-portal-link-card__head {
	display: flex;
	align-items: center;
	gap: 12px;
}

.affwp-portal-link-card__icon {
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: var(--affp-accent-grad);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 0 24px -6px var(--affp-accent-glow);
}

.affwp-portal-link-card__icon svg { width: 18px !important; height: 18px !important; }

.affwp-portal-link-card__title {
	font-size: 14px;
	font-weight: 700;
	margin: 0;
	color: var(--affp-text);
}

.affwp-portal-link-card__sub {
	font-size: 12px;
	color: var(--affp-text-muted);
	margin: 2px 0 0;
}

.affwp-portal-link-card__row {
	display: flex;
	gap: 8px;
	background: var(--affp-bg-2);
	border: 1px solid var(--affp-border);
	border-radius: 10px;
	padding: 4px 4px 4px 14px;
	align-items: center;
}

.affwp-portal-link-card__url {
	flex: 1;
	min-width: 0;
	background: transparent;
	border: 0;
	color: var(--affp-text);
	font-size: 13px;
	font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	padding: 6px 0;
	outline: none;
}

.affwp-portal-link-card__copy {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 9px 18px;
	background: var(--affp-accent-grad);
	color: #fff;
	border: 0;
	border-radius: 999px;
	font-size: 12.5px;
	font-weight: 600;
	cursor: pointer;
	white-space: nowrap;
	text-decoration: none;
	transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
	box-shadow: 0 4px 12px -4px var(--affp-accent-glow);
}

.affwp-portal-link-card__copy:hover {
	transform: translateY(-1px);
	filter: brightness(1.1);
	box-shadow: 0 8px 24px -6px var(--affp-accent-glow);
	color: #fff;
}

.affwp-portal-link-card__copy svg { width: 14px !important; height: 14px !important; }

/* Subtle "copied" feedback state for any pill copy button */
.affwp-portal-link-card__copy.is-copied,
.affwp-portal-coupons-card__copy.is-copied {
	background: var(--affp-success-soft);
	color: #a7f3d0;
	box-shadow: 0 0 0 1px rgba(52, 211, 153, 0.4);
	filter: none;
}

/* Ghost button — secondary, visible against dark backgrounds */
.affwp-portal-btn-ghost {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 9px 18px;
	background: rgba(168, 85, 247, 0.12);
	border: 1px solid rgba(168, 85, 247, 0.45);
	color: #d8b4fe;
	border-radius: 999px;
	font-size: 12.5px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

.affwp-portal-btn-ghost svg { width: 14px !important; height: 14px !important; }

.affwp-portal-btn-ghost:hover {
	background: rgba(168, 85, 247, 0.22);
	border-color: var(--affp-accent);
	color: #ffffff;
	transform: translateX(2px);
}

/* ============================================================
 * 10. Performance chart
 * ============================================================ */
.affwp-portal-chart-card {
	background: var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 16px;
	padding: 24px;
	margin-bottom: 24px;
}

.affwp-portal-chart-card__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 16px;
	flex-wrap: wrap;
}

.affwp-portal-chart-card__title {
	font-size: 17px;
	font-weight: 700;
	margin: 0;
	color: var(--affp-text);
}

.affwp-portal-chart-card__legend {
	display: flex;
	gap: 14px;
	margin-top: 4px;
	flex-wrap: wrap;
}

.affwp-portal-chart-card__legend-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: var(--affp-text-muted);
}

.affwp-portal-chart-card__legend-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
}

.affwp-portal-chart-card__legend-dot--main { background: var(--affp-accent); box-shadow: 0 0 8px var(--affp-accent-glow); }
.affwp-portal-chart-card__legend-dot--prev { background: var(--affp-text-faint); }

.affwp-portal-chart {
	position: relative;
	width: 100%;
	height: 320px;
	cursor: crosshair;
}

.affwp-portal-chart svg {
	width: 100%;
	height: 100%;
	display: block;
	overflow: visible;
}

/* Vertical guide line shown on hover */
.affwp-portal-chart__guide {
	position: absolute;
	top: 0;
	bottom: 32px;
	width: 1px;
	background: linear-gradient(to bottom, transparent, rgba(168, 85, 247, 0.6), rgba(37, 99, 235, 0.6), transparent);
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.12s ease;
	z-index: 2;
}

.affwp-portal-chart__guide-dot {
	position: absolute;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--affp-bg);
	border: 3px solid var(--affp-accent);
	transform: translate(-50%, -50%);
	box-shadow: 0 0 16px var(--affp-accent-glow);
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.12s ease;
	z-index: 3;
}

.affwp-portal-chart.is-hovering .affwp-portal-chart__guide,
.affwp-portal-chart.is-hovering .affwp-portal-chart__guide-dot {
	opacity: 1;
}

/* Floating tooltip */
.affwp-portal-chart__tooltip {
	position: absolute;
	transform: translate(-50%, -110%);
	background: linear-gradient(135deg, rgba(20, 23, 38, 0.95), rgba(15, 23, 42, 0.95));
	border: 1px solid var(--affp-border-strong);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border-radius: 10px;
	padding: 8px 12px;
	min-width: 110px;
	box-shadow: 0 12px 32px -8px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(168, 85, 247, 0.2);
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.15s ease;
	z-index: 4;
	white-space: nowrap;
}

.affwp-portal-chart.is-hovering .affwp-portal-chart__tooltip { opacity: 1; }

.affwp-portal-chart__tooltip-date {
	font-size: 11px;
	color: var(--affp-text-muted);
	margin: 0;
	font-weight: 500;
}

.affwp-portal-chart__tooltip-value {
	font-size: 18px;
	font-weight: 700;
	margin: 2px 0 0;
	background: var(--affp-accent-grad);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	letter-spacing: -0.01em;
}

/* Period selector (static visual dropdown for now) */
.affwp-portal-chart-card__period {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 14px;
	background: var(--affp-bg-2);
	border: 1px solid var(--affp-border);
	border-radius: 10px;
	color: var(--affp-text);
	font-size: 13px;
	font-weight: 500;
	cursor: default;
	user-select: none;
}

.affwp-portal-chart-card__period svg {
	width: 14px !important;
	height: 14px !important;
	color: var(--affp-text-muted);
	transition: transform 0.15s ease;
}

.affwp-portal-chart__grid line {
	stroke: var(--affp-border);
	stroke-dasharray: 4 4;
}

.affwp-portal-chart__y-label {
	fill: var(--affp-text-faint);
	font-size: 11px;
	font-family: var(--affp-font);
}

.affwp-portal-chart__x-label {
	fill: var(--affp-text-faint);
	font-size: 11px;
	font-family: var(--affp-font);
	text-anchor: middle;
}

.affwp-portal-chart__line {
	fill: none;
	stroke: url(#affp-chart-stroke);
	stroke-width: 2.5;
	stroke-linecap: round;
	stroke-linejoin: round;
	filter: drop-shadow(0 4px 12px rgba(168, 85, 247, 0.45));
}

.affwp-portal-chart__area {
	fill: url(#affp-chart-fill);
	opacity: 0.6;
}

.affwp-portal-chart__dot {
	fill: var(--affp-bg);
	stroke: var(--affp-accent);
	stroke-width: 2;
}

/* ============================================================
 * 11. Modern tables
 * ============================================================ */
.affwp-portal-content table.affwp-table,
.affwp-portal-content table#affwp-affiliate-dashboard-referrals,
.affwp-portal-content table#affwp-affiliate-dashboard-payouts,
.affwp-portal-content table#affwp-affiliate-dashboard-visits {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	overflow: hidden;
	margin-bottom: 16px;
	font-size: 13.5px;
	color: var(--affp-text);
}

.affwp-portal-content table.affwp-table th,
.affwp-portal-content table.affwp-table td {
	padding: 14px 12px;
	text-align: left;
	border-bottom: 1px solid var(--affp-border);
	vertical-align: middle;
}

.affwp-portal-content table.affwp-table thead th {
	background: transparent;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--affp-text-muted);
	padding-top: 0;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--affp-border);
}

.affwp-portal-content table.affwp-table tbody tr {
	transition: background-color 0.12s ease;
}

.affwp-portal-content table.affwp-table tbody tr:hover {
	background: var(--affp-surface-2);
}

.affwp-portal-content table.affwp-table tbody tr:last-child td {
	border-bottom: 0;
}

.affwp-portal-content table.affwp-table .affwp-table-no-data {
	text-align: center;
	color: var(--affp-text-muted);
	padding: 40px 16px;
	font-size: 14px;
	border-bottom: 0;
}

/* User cell (avatar + name) */
.affwp-portal-user-cell {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.affwp-portal-user-cell__avatar {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	overflow: hidden;
	flex-shrink: 0;
	background: var(--affp-surface-hi);
}

.affwp-portal-user-cell__avatar img {
	width: 32px !important;
	height: 32px !important;
	object-fit: cover;
}

.affwp-portal-user-cell__name {
	font-weight: 600;
	color: var(--affp-text);
}

/* ============================================================
 * 12. Status badges
 * ============================================================ */
.affwp-portal-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	font-weight: 600;
	padding: 4px 10px;
	border-radius: 999px;
	letter-spacing: 0.01em;
	white-space: nowrap;
	border: 1px solid transparent;
}

.affwp-portal-badge::before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
	flex-shrink: 0;
	box-shadow: 0 0 6px currentColor;
}

.affwp-portal-badge--paid,
.affwp-portal-badge--complete,
.affwp-portal-badge--approved,
.affwp-portal-badge--active {
	background: var(--affp-success-soft);
	color: #a7f3d0;
}

.affwp-portal-badge--unpaid,
.affwp-portal-badge--pending {
	background: var(--affp-warning-soft);
	color: #fcd34d;
}

.affwp-portal-badge--rejected,
.affwp-portal-badge--failed,
.affwp-portal-badge--inactive {
	background: var(--affp-danger-soft);
	color: #fca5a5;
}

.affwp-portal-badge--processing,
.affwp-portal-badge--info {
	background: var(--affp-info-soft);
	color: #cffafe;
}

/* Auto-classify status cells from legacy templates */
.affwp-portal-content td.referral-status,
.affwp-portal-content td.payout-status { font-weight: 600; }
.affwp-portal-content td.referral-status.paid,
.affwp-portal-content td.payout-status.paid { color: #a7f3d0; }
.affwp-portal-content td.referral-status.unpaid,
.affwp-portal-content td.payout-status.unpaid,
.affwp-portal-content td.referral-status.pending,
.affwp-portal-content td.payout-status.pending { color: #fcd34d; }
.affwp-portal-content td.referral-status.rejected,
.affwp-portal-content td.payout-status.rejected,
.affwp-portal-content td.payout-status.failed { color: #fca5a5; }

/* ============================================================
 * 13. Forms
 * ============================================================ */
.affwp-portal-content input[type="text"],
.affwp-portal-content input[type="email"],
.affwp-portal-content input[type="url"],
.affwp-portal-content input[type="password"],
.affwp-portal-content input[type="number"],
.affwp-portal-content input[type="search"],
.affwp-portal-content textarea,
.affwp-portal-content select {
	width: 100%;
	max-width: 480px;
	padding: 11px 14px;
	background: var(--affp-bg-2);
	border: 1px solid var(--affp-border);
	border-radius: 10px;
	font-size: 14px;
	color: var(--affp-text);
	font-family: var(--affp-font);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.affwp-portal-content input[type="text"]:focus,
.affwp-portal-content input[type="email"]:focus,
.affwp-portal-content input[type="url"]:focus,
.affwp-portal-content input[type="password"]:focus,
.affwp-portal-content input[type="number"]:focus,
.affwp-portal-content input[type="search"]:focus,
.affwp-portal-content textarea:focus,
.affwp-portal-content select:focus {
	outline: none;
	border-color: var(--affp-accent);
	box-shadow: 0 0 0 3px var(--affp-accent-soft);
}

.affwp-portal-content input[type="submit"],
.affwp-portal-content button[type="submit"],
.affwp-portal-content .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 11px 20px;
	background: var(--affp-accent-grad);
	color: #fff;
	border: 0;
	border-radius: 10px;
	font-size: 14px;
	font-weight: 600;
	font-family: var(--affp-font);
	cursor: pointer;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
	text-decoration: none;
	box-shadow: 0 4px 12px -4px var(--affp-accent-glow);
}

.affwp-portal-content input[type="submit"]:hover,
.affwp-portal-content button[type="submit"]:hover,
.affwp-portal-content .button:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 24px -6px var(--affp-accent-glow);
}

.affwp-portal-content label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: var(--affp-text);
	margin-bottom: 6px;
}

.affwp-portal-content fieldset {
	background: var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 12px;
	padding: 20px;
	margin-bottom: 16px;
	color: var(--affp-text);
}

.affwp-portal-content fieldset > p { margin: 0 0 16px; }
.affwp-portal-content fieldset > p:last-child { margin-bottom: 0; }

.affwp-portal-content h4 {
	font-size: 18px;
	font-weight: 700;
	margin: 24px 0 12px;
	color: var(--affp-text);
}

.affwp-portal-content h4:first-child { margin-top: 0; }

/* ============================================================
 * 14. Notices & empty states
 * ============================================================ */
.affwp-portal-content .affwp-notice {
	padding: 14px 18px;
	border-radius: 10px;
	background: var(--affp-warning-soft);
	color: #fcd34d;
	border: 1px solid rgba(245, 158, 11, 0.25);
	margin-bottom: 16px;
	font-size: 14px;
}

.affwp-portal-empty {
	background: transparent;
	border: 1px dashed var(--affp-border-strong);
	border-radius: 12px;
	padding: 56px 24px;
	text-align: center;
	color: var(--affp-text-muted);
}

.affwp-portal-empty__icon {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--affp-surface-2);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 14px;
	color: var(--affp-text-faint);
	font-size: 24px;
}

.affwp-portal-empty__icon svg { width: 24px !important; height: 24px !important; }

.affwp-portal-empty__title {
	font-size: 15px;
	font-weight: 600;
	color: var(--affp-text);
	margin: 0 0 4px;
}

.affwp-portal-empty__msg {
	font-size: 13px;
	color: var(--affp-text-muted);
	margin: 0;
}

/* ============================================================
 * 15. Pagination
 * ============================================================ */
.affwp-portal-content .affwp-pagination {
	margin-top: 16px;
	display: flex;
	gap: 4px;
	flex-wrap: wrap;
	align-items: center;
}

.affwp-portal-content .affwp-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 12px;
	border: 1px solid var(--affp-border);
	background: var(--affp-surface);
	color: var(--affp-text);
	border-radius: 10px;
	text-decoration: none;
	font-size: 13px;
	font-weight: 500;
	transition: background-color 0.12s ease;
}

.affwp-portal-content .affwp-pagination .page-numbers:hover {
	background: var(--affp-surface-2);
	border-color: var(--affp-border-strong);
}

.affwp-portal-content .affwp-pagination .page-numbers.current {
	background: var(--affp-accent-grad);
	color: #fff;
	border-color: transparent;
	box-shadow: 0 4px 12px -4px var(--affp-accent-glow);
}

/* ============================================================
 * 16. Misc
 * ============================================================ */
.affwp-portal-content code,
.affwp-portal-content pre {
	background: var(--affp-bg-2);
	border: 1px solid var(--affp-border);
	border-radius: 8px;
	padding: 4px 8px;
	font-size: 13px;
	font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;
	color: var(--affp-text);
}

/* Two-column hero row (chart + link card) */
.affwp-portal-row-2 {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 16px;
	margin-bottom: 24px;
}

/* Tools row (link + coupons under the chart) */
.affwp-portal-row-tools {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-bottom: 24px;
}

@media (max-width: 1100px) {
	.affwp-portal-row-2,
	.affwp-portal-row-tools { grid-template-columns: 1fr; }
}

/* Coupons quick-view card (mirrors the link card layout) */
.affwp-portal-coupons-card {
	background:
		radial-gradient(circle at top right, rgba(37, 99, 235, 0.14) 0%, transparent 55%),
		var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 16px;
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	height: 100%;
}

.affwp-portal-coupons-card__head {
	display: flex;
	align-items: center;
	gap: 12px;
}

.affwp-portal-coupons-card__icon {
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: linear-gradient(135deg, #2563eb 0%, #22d3ee 100%);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 0 24px -6px var(--affp-blue-glow);
}

.affwp-portal-coupons-card__icon svg { width: 18px !important; height: 18px !important; }

.affwp-portal-coupons-card__title {
	font-size: 14px;
	font-weight: 700;
	margin: 0;
	color: var(--affp-text);
}

.affwp-portal-coupons-card__sub {
	font-size: 12px;
	color: var(--affp-text-muted);
	margin: 2px 0 0;
}

.affwp-portal-coupons-card__list {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	max-height: 180px;
	overflow-y: auto;
}

.affwp-portal-coupons-card__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 10px 12px;
	background: var(--affp-bg-2);
	border: 1px solid var(--affp-border);
	border-radius: 10px;
}

.affwp-portal-coupons-card__code {
	font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;
	font-size: 13px;
	font-weight: 700;
	color: var(--affp-text);
	letter-spacing: 0.04em;
}

.affwp-portal-coupons-card__amount {
	font-size: 12px;
	font-weight: 600;
	padding: 3px 9px;
	border-radius: 999px;
	background: var(--affp-success-soft);
	color: #a7f3d0;
}

.affwp-portal-coupons-card__actions {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}

.affwp-portal-coupons-card__copy {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 7px 14px;
	background: rgba(168, 85, 247, 0.14);
	border: 1px solid rgba(168, 85, 247, 0.4);
	color: #d8b4fe;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	font-family: var(--affp-font);
	cursor: pointer;
	white-space: nowrap;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.affwp-portal-coupons-card__copy svg {
	width: 13px !important;
	height: 13px !important;
}

.affwp-portal-coupons-card__copy:hover,
.affwp-portal-coupons-card__copy:focus {
	background: rgba(168, 85, 247, 0.28);
	border-color: var(--affp-accent);
	color: #ffffff;
	transform: translateY(-1px);
}

.affwp-portal-coupons-card__empty {
	text-align: center;
	padding: 16px 12px;
	color: var(--affp-text-muted);
	font-size: 13px;
}

/* ============================================================
 * 17. Responsive
 * ============================================================ */
@media (max-width: 768px) {
	.affwp-portal-shell {
		border-radius: 0;
		border: 0;
		min-height: 100vh;
	}

	.affwp-portal-sidebar {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		bottom: 0 !important;
		z-index: 50 !important;
		transform: translateX(-100%);
		transition: transform 0.25s ease;
		box-shadow: var(--affp-shadow-lg);
		/* iOS Safari: 100vh incluye la URL bar oculta. dvh la respeta cuando se
		 * retracta. Fallback a 100vh si dvh no soportado. */
		height: 100vh !important;
		height: 100dvh !important;
		max-height: 100vh !important;
		max-height: 100dvh !important;
		/* CRÍTICO: scroll interno explícito + touch smoothness en iOS */
		overflow-y: auto !important;
		overflow-x: hidden !important;
		-webkit-overflow-scrolling: touch !important;
		overscroll-behavior: contain !important;
		box-sizing: border-box !important;
		/* Respetar notch / safe-area del dispositivo (iPhone X+) */
		padding-top: env(safe-area-inset-top, 0) !important;
		padding-bottom: env(safe-area-inset-bottom, 0) !important;
	}

	/* Reducir padding/altura de los elementos del sidebar en móvil para que
	 * quepan más sin cortarse (10 nav items + switch + theme + promo + status). */
	/* Logo: altura auto + min-height para que la imagen no se aplaste cuando es
	 * más alta que ancha. Antes con `height: 64px !important` + `overflow: hidden`
	 * la imagen se cropeaba. Ahora `height: auto` deja que el logo respete su
	 * aspect ratio dentro del max-height del img. */
	.affwp-portal-sidebar__logo {
		height: auto !important;
		min-height: 64px !important;
		padding: 10px 14px !important;
		overflow: visible !important;
	}
	.affwp-portal-sidebar__logo img {
		max-height: 48px !important;
		max-width: 100% !important;
		width: auto !important;
		height: auto !important;
		object-fit: contain !important;
		display: block !important;
		margin: 0 auto !important;
	}
	.affwp-portal-sidebar__back { padding: 10px 16px !important; font-size: 12px !important; }
	.affwp-portal-sidebar__mode-switch { margin: 8px 12px !important; width: calc(100% - 24px) !important; }
	.affwp-portal-sidebar__nav-label { padding: 12px 16px 6px !important; font-size: 10px !important; }
	.affwp-portal-sidebar__nav-item { padding: 9px 16px !important; font-size: 13.5px !important; }
	.affwp-portal-sidebar__theme { margin: 8px 12px !important; padding: 3px !important; }
	.affwp-portal-sidebar__theme-opt { padding: 6px 10px !important; font-size: 12px !important; }
	/* Promo cards (¡Impulsa tus resultados! / Vende como un pro) ocultas en móvil
	 * — quitan ruido visual y dan espacio al menú principal. */
	.affwp-portal-sidebar__promo { display: none !important; }
	.affwp-portal-sidebar__status { padding: 10px 16px !important; }
	.affwp-portal-sidebar__status-title { font-size: 12px !important; }
	.affwp-portal-sidebar__status-sub { font-size: 11px !important; }

	.affwp-portal.is-sidebar-open .affwp-portal-sidebar {
		transform: translateX(0);
	}

	.affwp-portal-topbar { padding: 16px; }
	.affwp-portal-topbar__hamburger { display: inline-flex; }

	.affwp-portal-period span,
	.affwp-portal-profile__info { display: none; }

	/* En móvil: ocultar el switch Afiliado/Gestor del TOPBAR (el del sidebar
	 * lo reemplaza para liberar espacio en la barra superior). */
	.affwp-portal-topbar .affwp-portal-mode-switch {
		display: none !important;
	}

	/* Mostrar el switch Afiliado/Gestor del sidebar en móvil. */
	.affwp-portal-sidebar__mode-switch {
		display: inline-flex !important;
	}

	.affwp-portal-content { padding: 16px; }

	.affwp-portal-page-header__title { font-size: 26px; }

	.affwp-portal-kpi-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
	.affwp-portal-kpi { padding: 16px; }
	.affwp-portal-kpi__value { font-size: 22px; }
	.affwp-portal-kpi__spark { display: none; }

	.affwp-portal-content table.affwp-table {
		display: block;
		overflow-x: auto;
		white-space: nowrap;
	}
}

/* En móvil mantenemos 2 columnas (no 1) — más compacto y aprovecha espacio */
@media (max-width: 480px) {
	.affwp-portal-kpi-grid {
		grid-template-columns: 1fr 1fr !important;
		gap: 10px !important;
	}
	.affwp-portal-kpi { padding: 12px !important; }
	.affwp-portal-kpi__value { font-size: 18px !important; }
	.affwp-portal-kpi__label { font-size: 10.5px !important; }
	.affwp-portal-kpi__hint { font-size: 11px !important; }
	/* Ocultar pill "Por cobrar" / deltas en móvil — no caben sin desbordar. */
	.affwp-portal-kpi__delta { display: none !important; }
}

/* ============================================================
 * 17z. URL hero + generator wizard + campaign cards
 * ============================================================ */

/* Hero with the affiliate link, big and prominent */
.affwp-portal-url-hero {
	background:
		radial-gradient(circle at top right, rgba(168, 85, 247, 0.20) 0%, transparent 60%),
		radial-gradient(circle at bottom left, rgba(37, 99, 235, 0.16) 0%, transparent 55%),
		linear-gradient(135deg, #1c1239 0%, #0f1e3a 100%);
	border: 1px solid var(--affp-accent-soft);
	border-radius: 20px;
	padding: 32px;
	margin-bottom: 24px;
	position: relative;
	overflow: hidden;
}

.affwp-portal-url-hero__head {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 18px;
}

.affwp-portal-url-hero__icon {
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: var(--affp-accent-grad);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 0 32px -6px var(--affp-accent-glow);
	flex-shrink: 0;
}

.affwp-portal-url-hero__icon svg { width: 22px !important; height: 22px !important; }

.affwp-portal-url-hero__title {
	font-size: 18px;
	font-weight: 700;
	color: #fff;
	margin: 0;
}

.affwp-portal-url-hero__sub {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.65);
	margin: 4px 0 0;
}

.affwp-portal-url-hero__row {
	display: flex;
	gap: 10px;
	background: rgba(0, 0, 0, 0.3);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 12px;
	padding: 6px 6px 6px 16px;
	align-items: center;
	margin-bottom: 14px;
}

.affwp-portal-url-hero__url {
	flex: 1;
	min-width: 0;
	background: transparent;
	border: 0;
	color: #fff;
	font-size: 15px;
	font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	padding: 8px 0;
	outline: none;
	font-weight: 600;
}

.affwp-portal-url-hero__stats {
	display: flex;
	gap: 24px;
	flex-wrap: wrap;
}

.affwp-portal-url-hero__stat {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.affwp-portal-url-hero__stat-value {
	font-size: 20px;
	font-weight: 800;
	color: #fff;
	letter-spacing: -0.02em;
	line-height: 1;
}

.affwp-portal-url-hero__stat-label {
	font-size: 11px;
	color: rgba(255, 255, 255, 0.6);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-weight: 600;
}

/* Generator wizard (steps) */
.affwp-portal-wizard {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-bottom: 24px;
}

@media (max-width: 1100px) {
	.affwp-portal-wizard { grid-template-columns: 1fr; }
}

.affwp-portal-wizard__card {
	background: var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 16px;
	padding: 24px;
}

.affwp-portal-wizard__head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
}

.affwp-portal-wizard__step {
	width: 32px;
	height: 32px;
	border-radius: 10px;
	background: var(--affp-accent-soft);
	color: #d8b4fe;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	font-size: 14px;
	flex-shrink: 0;
	box-shadow: 0 0 16px -6px var(--affp-accent-glow);
}

.affwp-portal-wizard__title {
	font-size: 15px;
	font-weight: 700;
	color: var(--affp-text);
	margin: 0;
}

.affwp-portal-wizard__sub {
	font-size: 12.5px;
	color: var(--affp-text-muted);
	margin: 2px 0 0;
}

.affwp-portal-wizard__field {
	margin-bottom: 14px;
}

.affwp-portal-wizard__label {
	display: block;
	font-size: 12px;
	font-weight: 600;
	color: var(--affp-text-muted);
	margin-bottom: 6px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.affwp-portal-wizard__hint {
	font-size: 12px;
	color: var(--affp-text-subtle);
	margin: 6px 0 0;
	line-height: 1.5;
}

.affwp-portal-wizard__output {
	margin-top: 14px;
	display: none;
}

.affwp-portal-wizard__output.is-visible {
	display: block;
}

.affwp-portal-wizard__output-row {
	display: flex;
	gap: 8px;
	background: var(--affp-bg-2);
	border: 1px solid rgba(168, 85, 247, 0.4);
	border-radius: 12px;
	padding: 6px 6px 6px 14px;
	align-items: center;
	box-shadow: 0 0 0 3px rgba(168, 85, 247, 0.12);
}

.affwp-portal-wizard__output-url {
	flex: 1;
	min-width: 0;
	background: transparent;
	border: 0;
	color: #d8b4fe;
	font-size: 13.5px;
	font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;
	font-weight: 600;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	padding: 8px 0;
	outline: none;
}

/* QR code card — generates a downloadable QR for the referral link */
.affwp-portal-qr {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 24px;
	background:
		radial-gradient(circle at top right, rgba(168, 85, 247, 0.14) 0%, transparent 55%),
		var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 16px;
	padding: 24px;
	margin-bottom: 24px;
}

@media (max-width: 768px) {
	.affwp-portal-qr {
		grid-template-columns: 1fr;
		gap: 16px;
		padding: 20px;
	}
}

.affwp-portal-qr__canvas-wrap {
	position: relative;
	background: #ffffff;
	border-radius: 14px;
	padding: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 220px;
	height: 220px;
	box-shadow: 0 0 0 1px var(--affp-border-strong), 0 12px 28px -8px rgba(0, 0, 0, 0.4);
	overflow: hidden;
}

@media (max-width: 768px) {
	.affwp-portal-qr__canvas-wrap {
		width: 100%;
		max-width: 260px;
		margin: 0 auto;
	}
}

.affwp-portal-qr__canvas {
	width: 192px !important;
	height: 192px !important;
	display: block;
	image-rendering: pixelated;
	image-rendering: crisp-edges;
}

.affwp-portal-qr__loading {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.92);
	color: #6b7280;
	font-size: 13px;
	font-weight: 600;
	border-radius: 14px;
	pointer-events: none;
	transition: opacity 0.2s ease;
}

.affwp-portal-qr.is-ready .affwp-portal-qr__loading {
	opacity: 0;
	pointer-events: none;
}

.affwp-portal-qr__body {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
}

.affwp-portal-qr__head {
	display: flex;
	align-items: center;
	gap: 12px;
}

.affwp-portal-qr__icon {
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: var(--affp-accent-grad);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 0 22px -6px var(--affp-accent-glow);
	flex-shrink: 0;
}

.affwp-portal-qr__icon svg { width: 18px !important; height: 18px !important; }

.affwp-portal-qr__title {
	font-size: 15px;
	font-weight: 700;
	color: var(--affp-text);
	margin: 0;
}

.affwp-portal-qr__sub {
	font-size: 12.5px;
	color: var(--affp-text-muted);
	margin: 2px 0 0;
}

.affwp-portal-qr__desc {
	font-size: 13.5px;
	color: var(--affp-text-muted);
	line-height: 1.55;
	margin: 0;
}

.affwp-portal-qr__actions {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: auto;
}

.affwp-portal-qr__use-cases {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 8px 0;
}

.affwp-portal-qr__chip {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 10px;
	background: var(--affp-bg-2);
	border: 1px solid var(--affp-border);
	border-radius: 999px;
	font-size: 11.5px;
	color: var(--affp-text-muted);
	font-weight: 500;
}

.affwp-portal-qr__chip svg { width: 11px !important; height: 11px !important; color: var(--affp-accent); }

/* QR action buttons — same pill family */
body button.affwp-portal-qr__btn,
.entry-content button.affwp-portal-qr__btn,
body a.affwp-portal-qr__btn,
.entry-content a.affwp-portal-qr__btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	padding: 9px 18px !important;
	border-radius: 999px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	font-family: var(--affp-font) !important;
	cursor: pointer !important;
	white-space: nowrap !important;
	text-decoration: none !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	box-shadow: none !important;
	min-height: 0 !important;
	height: auto !important;
	line-height: 1.2 !important;
	border: 1px solid transparent !important;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease, filter 0.15s ease, box-shadow 0.15s ease !important;
}

body .affwp-portal-qr__btn--primary,
.entry-content .affwp-portal-qr__btn--primary {
	background: var(--affp-accent-grad) !important;
	background-image: linear-gradient(135deg, #a855f7 0%, #2563eb 100%) !important;
	color: #fff !important;
	border-color: transparent !important;
	box-shadow: 0 4px 14px -4px var(--affp-accent-glow) !important;
}

body .affwp-portal-qr__btn--primary:hover,
.entry-content .affwp-portal-qr__btn--primary:hover {
	transform: translateY(-1px) !important;
	filter: brightness(1.1) !important;
	box-shadow: 0 8px 24px -6px var(--affp-accent-glow) !important;
}

body .affwp-portal-qr__btn--ghost,
.entry-content .affwp-portal-qr__btn--ghost {
	background: rgba(168, 85, 247, 0.14) !important;
	background-image: none !important;
	border-color: rgba(168, 85, 247, 0.4) !important;
	color: #d8b4fe !important;
}

body .affwp-portal-qr__btn--ghost:hover,
.entry-content .affwp-portal-qr__btn--ghost:hover {
	background: rgba(168, 85, 247, 0.28) !important;
	border-color: var(--affp-accent) !important;
	color: #ffffff !important;
}

body button.affwp-portal-qr__btn svg,
body a.affwp-portal-qr__btn svg,
.entry-content button.affwp-portal-qr__btn svg,
.entry-content a.affwp-portal-qr__btn svg {
	width: 14px !important;
	height: 14px !important;
	color: currentColor !important;
	stroke: currentColor !important;
}

body button.affwp-portal-qr__btn.is-copied,
body a.affwp-portal-qr__btn.is-copied,
.entry-content button.affwp-portal-qr__btn.is-copied,
.entry-content a.affwp-portal-qr__btn.is-copied {
	background: rgba(52, 211, 153, 0.18) !important;
	background-image: none !important;
	border-color: rgba(52, 211, 153, 0.45) !important;
	color: #a7f3d0 !important;
}

/* Use tips list (3 columns) */
.affwp-portal-use-tips {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 16px;
	margin-bottom: 24px;
}

.affwp-portal-use-tip {
	background: var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 14px;
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.affwp-portal-use-tip__icon {
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: var(--affp-accent-soft);
	color: #d8b4fe;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.affwp-portal-use-tip__icon svg { width: 18px !important; height: 18px !important; }

.affwp-portal-use-tip__title {
	font-size: 14.5px;
	font-weight: 700;
	color: var(--affp-text);
	margin: 0;
}

.affwp-portal-use-tip__desc {
	font-size: 13px;
	color: var(--affp-text-muted);
	line-height: 1.55;
	margin: 0;
}

/* Campaign cards grid */
.affwp-portal-campaign-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 16px;
	margin-bottom: 24px;
}

.affwp-portal-campaign {
	background: var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 16px;
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	position: relative;
	overflow: hidden;
	transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.affwp-portal-campaign:hover {
	transform: translateY(-2px);
	border-color: var(--affp-border-strong);
	box-shadow: var(--affp-shadow);
}

.affwp-portal-campaign--top {
	border-color: rgba(168, 85, 247, 0.4);
	background:
		radial-gradient(circle at top right, rgba(168, 85, 247, 0.18) 0%, transparent 55%),
		var(--affp-surface);
}

.affwp-portal-campaign--top::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: var(--affp-accent-grad);
	box-shadow: 0 0 16px var(--affp-accent-glow);
}

.affwp-portal-campaign__head {
	display: flex;
	align-items: center;
	gap: 12px;
}

.affwp-portal-campaign__icon {
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: var(--affp-accent-soft);
	color: #d8b4fe;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.affwp-portal-campaign__icon svg { width: 20px !important; height: 20px !important; }

.affwp-portal-campaign__name {
	font-size: 15px;
	font-weight: 700;
	color: var(--affp-text);
	margin: 0;
	min-width: 0;
	flex: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.affwp-portal-campaign__top-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 3px 8px;
	border-radius: 999px;
	background: var(--affp-accent-grad);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	box-shadow: 0 0 12px var(--affp-accent-glow);
}

.affwp-portal-campaign__top-badge svg { width: 10px !important; height: 10px !important; }

.affwp-portal-campaign__pending-badge {
	display: inline-flex;
	align-items: center;
	padding: 3px 10px;
	border-radius: 999px;
	background: rgba(148, 163, 184, 0.15);
	color: var(--affp-text-muted);
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	border: 1px solid rgba(148, 163, 184, 0.25);
	white-space: nowrap;
}

.affwp-portal-campaign--pending {
	border-style: dashed !important;
}

.affwp-portal-campaign--pending .affwp-portal-campaign__icon {
	background: rgba(148, 163, 184, 0.12) !important;
	color: var(--affp-text-muted) !important;
	box-shadow: none !important;
}

.affwp-portal-campaign__metrics {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
}

.affwp-portal-campaign__metric {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 10px 8px;
	background: var(--affp-bg-2);
	border-radius: 10px;
	text-align: center;
}

.affwp-portal-campaign__metric-value {
	font-size: 17px;
	font-weight: 800;
	color: var(--affp-text);
	letter-spacing: -0.01em;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

.affwp-portal-campaign__metric-label {
	font-size: 10.5px;
	color: var(--affp-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-weight: 600;
}

.affwp-portal-campaign__progress {
	height: 6px;
	background: var(--affp-bg-2);
	border-radius: 999px;
	overflow: hidden;
}

.affwp-portal-campaign__progress-fill {
	height: 100%;
	background: var(--affp-accent-grad);
	border-radius: 999px;
	box-shadow: 0 0 8px var(--affp-accent-glow);
	transition: width 0.4s ease;
}

.affwp-portal-campaign__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	font-size: 12px;
	color: var(--affp-text-muted);
}

.affwp-portal-campaign__rate {
	font-weight: 700;
	color: #a7f3d0;
}

/* Action row at the bottom of each campaign card */
.affwp-portal-campaign__actions {
	display: flex;
	gap: 8px;
	margin-top: 12px;
	padding-top: 14px;
	border-top: 1px solid var(--affp-border);
}

.affwp-portal-campaign__action {
	flex: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 8px 12px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	font-family: var(--affp-font);
	cursor: pointer;
	white-space: nowrap;
	text-decoration: none;
	text-transform: none;
	letter-spacing: 0;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
	border: 1px solid transparent;
}

.affwp-portal-campaign__action--copy {
	background: rgba(168, 85, 247, 0.14);
	border-color: rgba(168, 85, 247, 0.4);
	color: #d8b4fe;
}

.affwp-portal-campaign__action--copy:hover {
	background: rgba(168, 85, 247, 0.28);
	border-color: var(--affp-accent);
	color: #ffffff;
	transform: translateY(-1px);
}

.affwp-portal-campaign__action--copy.is-copied {
	background: rgba(52, 211, 153, 0.18);
	border-color: rgba(52, 211, 153, 0.45);
	color: #a7f3d0;
}

.affwp-portal-campaign__action--hide {
	background: rgba(148, 163, 184, 0.08);
	border-color: rgba(148, 163, 184, 0.2);
	color: var(--affp-text-muted);
}

.affwp-portal-campaign__action--hide:hover {
	background: rgba(239, 68, 68, 0.14);
	border-color: rgba(239, 68, 68, 0.4);
	color: #fca5a5;
	transform: translateY(-1px);
}

/* "Eliminar" — solo aparece en campañas sin actividad (is_pending). Más destructivo
 * que ocultar: arranca con tinte rojizo desde estado base para que el usuario lo
 * lea de un vistazo y no lo confunda con el botón gris de ocultar. */
.affwp-portal-campaign__action--delete {
	background: rgba(239, 68, 68, 0.10);
	border-color: rgba(239, 68, 68, 0.3);
	color: #fca5a5;
}

.affwp-portal-campaign__action--delete:hover {
	background: rgba(239, 68, 68, 0.22);
	border-color: rgba(239, 68, 68, 0.55);
	color: #fecaca;
	transform: translateY(-1px);
}

.affwp-portal-campaign__action svg {
	width: 13px !important;
	height: 13px !important;
	color: currentColor !important;
	stroke: currentColor !important;
}

/* Card fade-out when hidden */
.affwp-portal-campaign.is-removing {
	opacity: 0;
	transform: scale(0.95);
	pointer-events: none;
	transition: opacity 0.25s ease, transform 0.25s ease;
}

/* "Hidden campaigns restore" notice */
.affwp-portal-hidden-notice {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	background: var(--affp-surface);
	border: 1px dashed var(--affp-border-strong);
	border-radius: 12px;
	margin-bottom: 16px;
	font-size: 13px;
	color: var(--affp-text-muted);
}

.affwp-portal-hidden-notice strong { color: var(--affp-text); font-weight: 700; }

.affwp-portal-hidden-notice__btn {
	margin-left: auto;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	background: rgba(168, 85, 247, 0.14);
	border: 1px solid rgba(168, 85, 247, 0.4);
	color: #d8b4fe;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	white-space: nowrap;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.affwp-portal-hidden-notice__btn:hover {
	background: rgba(168, 85, 247, 0.25);
	color: #ffffff;
}

/* Better wizard error state */
.affwp-portal-wizard__field input.has-error {
	border-color: rgba(239, 68, 68, 0.6) !important;
	background: rgba(239, 68, 68, 0.06) !important;
}

.affwp-portal-wizard__hint--error {
	color: #fca5a5 !important;
	display: flex;
	align-items: flex-start;
	gap: 6px;
}

.affwp-portal-wizard__hint--error::before {
	content: "⚠";
	font-size: 14px;
	line-height: 1;
}

/* Empty state for campaigns */
.affwp-portal-campaign-empty {
	background: var(--affp-surface);
	border: 1px dashed var(--affp-border-strong);
	border-radius: 16px;
	padding: 48px 24px;
	text-align: center;
}

.affwp-portal-campaign-empty__icon {
	width: 64px;
	height: 64px;
	border-radius: 16px;
	background: var(--affp-accent-soft);
	color: #d8b4fe;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 14px;
}

.affwp-portal-campaign-empty__icon svg { width: 32px !important; height: 32px !important; }

.affwp-portal-campaign-empty__title {
	font-size: 17px;
	font-weight: 700;
	color: var(--affp-text);
	margin: 0 0 6px;
}

.affwp-portal-campaign-empty__msg {
	font-size: 14px;
	color: var(--affp-text-muted);
	margin: 0 0 18px;
	max-width: 480px;
	margin-left: auto;
	margin-right: auto;
	line-height: 1.6;
}

/* ============================================================
 * 17a. Analytics tab (period switcher + donut + heatmap bars)
 * ============================================================ */

/* Period switcher row */
.affwp-portal-period-switcher {
	display: inline-flex;
	background: var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 999px;
	padding: 4px;
	gap: 4px;
}

.affwp-portal-period-switcher__btn {
	padding: 7px 16px;
	border-radius: 999px;
	color: var(--affp-text-muted);
	font-size: 12.5px;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.15s ease, color 0.15s ease;
	white-space: nowrap;
}

.affwp-portal-period-switcher__btn:hover {
	color: var(--affp-text);
}

.affwp-portal-period-switcher__btn.is-active {
	background: var(--affp-accent-grad);
	color: #ffffff;
	box-shadow: 0 4px 12px -4px var(--affp-accent-glow);
}

/* Two-column analytics row (chart + donut, top campaigns + weekday bars) */
.affwp-portal-analytics-2col {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 16px;
	margin-bottom: 24px;
}

@media (max-width: 1100px) {
	.affwp-portal-analytics-2col { grid-template-columns: 1fr; }
}

/* Donut chart card */
.affwp-portal-donut {
	background: var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 16px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.affwp-portal-donut__title {
	font-size: 15px;
	font-weight: 700;
	color: var(--affp-text);
	margin: 0;
}

.affwp-portal-donut__sub {
	font-size: 12.5px;
	color: var(--affp-text-muted);
	margin: 2px 0 0;
}

.affwp-portal-donut__svg-wrap {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 180px;
	height: 180px;
	margin: 0 auto;
}

.affwp-portal-donut__svg {
	width: 180px;
	height: 180px;
	transform: rotate(-90deg);
}

.affwp-portal-donut__center {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	text-align: center;
}

.affwp-portal-donut__center-value {
	font-size: 26px;
	font-weight: 800;
	color: var(--affp-text);
	letter-spacing: -0.02em;
	line-height: 1;
}

.affwp-portal-donut__center-label {
	font-size: 11px;
	color: var(--affp-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-top: 4px;
	font-weight: 600;
}

.affwp-portal-donut__legend {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.affwp-portal-donut__legend-item {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	color: var(--affp-text-muted);
}

.affwp-portal-donut__legend-dot {
	width: 10px;
	height: 10px;
	border-radius: 3px;
	flex-shrink: 0;
}

.affwp-portal-donut__legend-name {
	flex: 1;
	color: var(--affp-text);
	font-weight: 500;
}

.affwp-portal-donut__legend-value {
	color: var(--affp-text-muted);
	font-variant-numeric: tabular-nums;
	font-weight: 600;
}

/* Top campaigns / Top sources — list with progress bars */
.affwp-portal-toplist {
	background: var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 16px;
	padding: 24px;
}

.affwp-portal-toplist__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 16px;
}

.affwp-portal-toplist__title {
	font-size: 15px;
	font-weight: 700;
	color: var(--affp-text);
	margin: 0;
}

.affwp-portal-toplist__sub {
	font-size: 12.5px;
	color: var(--affp-text-muted);
	margin: 2px 0 0;
}

.affwp-portal-toplist__list {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.affwp-portal-toplist__row {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.affwp-portal-toplist__row-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	font-size: 13px;
}

.affwp-portal-toplist__name {
	font-weight: 600;
	color: var(--affp-text);
	min-width: 0;
	flex: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.affwp-portal-toplist__value {
	color: var(--affp-text-muted);
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	flex-shrink: 0;
}

.affwp-portal-toplist__bar {
	height: 6px;
	background: var(--affp-bg-2);
	border-radius: 999px;
	overflow: hidden;
}

.affwp-portal-toplist__bar-fill {
	height: 100%;
	background: var(--affp-accent-grad);
	border-radius: 999px;
	box-shadow: 0 0 8px var(--affp-accent-glow);
	transition: width 0.4s ease;
}

/* Weekday bars (heatmap-like) */
.affwp-portal-weekday {
	background: var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 16px;
	padding: 24px;
}

.affwp-portal-weekday__head {
	display: flex;
	flex-direction: column;
	margin-bottom: 16px;
}

.affwp-portal-weekday__title {
	font-size: 15px;
	font-weight: 700;
	color: var(--affp-text);
	margin: 0;
}

.affwp-portal-weekday__sub {
	font-size: 12.5px;
	color: var(--affp-text-muted);
	margin: 2px 0 0;
}

.affwp-portal-weekday__grid {
	display: flex;
	gap: 8px;
	height: 160px;
	align-items: flex-end;
	margin-bottom: 8px;
}

.affwp-portal-weekday__col {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	height: 100%;
	gap: 6px;
}

.affwp-portal-weekday__col-bar {
	width: 100%;
	background: var(--affp-bg-2);
	border-radius: 6px;
	position: relative;
	overflow: hidden;
	min-height: 4px;
}

.affwp-portal-weekday__col-fill {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: var(--affp-accent-grad);
	border-radius: 6px;
	transition: height 0.4s ease;
}

.affwp-portal-weekday__col-fill--top {
	background: linear-gradient(180deg, #a855f7 0%, #2563eb 100%);
	box-shadow: 0 0 12px var(--affp-accent-glow);
}

.affwp-portal-weekday__col-value {
	font-size: 11px;
	color: var(--affp-text-muted);
	text-align: center;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.affwp-portal-weekday__labels {
	display: flex;
	gap: 8px;
}

.affwp-portal-weekday__label {
	flex: 1;
	text-align: center;
	font-size: 11px;
	color: var(--affp-text-muted);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.affwp-portal-weekday__label.is-best {
	color: var(--affp-accent);
}

/* ============================================================
 * 17b. Marketing materials & Academy
 * ============================================================ */

/* Channel filter pills (above the marketing grid) */
.affwp-portal-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 20px;
}

.affwp-portal-filter {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 14px;
	border-radius: 999px;
	background: var(--affp-surface);
	border: 1px solid var(--affp-border);
	color: var(--affp-text-muted);
	font-size: 12.5px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.affwp-portal-filter svg { width: 14px !important; height: 14px !important; }

.affwp-portal-filter:hover {
	background: var(--affp-surface-2);
	color: var(--affp-text);
}

.affwp-portal-filter.is-active {
	background: var(--affp-accent-soft);
	border-color: rgba(168, 85, 247, 0.5);
	color: #fff;
}

/* Marketing grid */
.affwp-portal-mkt-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 16px;
	margin-bottom: 24px;
}

.affwp-portal-mkt-card {
	background: var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 16px;
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
	position: relative;
	overflow: hidden;
}

.affwp-portal-mkt-card:hover {
	transform: translateY(-2px);
	border-color: var(--affp-border-strong);
	box-shadow: var(--affp-shadow);
}

.affwp-portal-mkt-card[data-channel] { display: flex; }
.affwp-portal-mkt-card.is-hidden     { display: none; }

.affwp-portal-mkt-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.affwp-portal-mkt-card__icon {
	width: 40px;
	height: 40px;
	border-radius: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.affwp-portal-mkt-card__icon svg { width: 20px !important; height: 20px !important; }

.affwp-portal-mkt-card__icon--whatsapp {
	background: rgba(52, 211, 153, 0.18);
	color: #a7f3d0;
	box-shadow: 0 0 18px -8px rgba(52, 211, 153, 0.5);
}

.affwp-portal-mkt-card__icon--email {
	background: rgba(37, 99, 235, 0.18);
	color: #93c5fd;
	box-shadow: 0 0 18px -8px rgba(37, 99, 235, 0.55);
}

.affwp-portal-mkt-card__icon--social {
	background: rgba(236, 72, 153, 0.18);
	color: #f9a8d4;
	box-shadow: 0 0 18px -8px rgba(236, 72, 153, 0.5);
}

.affwp-portal-mkt-card__icon--banner {
	background: rgba(245, 158, 11, 0.18);
	color: #fcd34d;
	box-shadow: 0 0 18px -8px rgba(245, 158, 11, 0.5);
}

.affwp-portal-mkt-card__channel-tag {
	font-size: 11px;
	font-weight: 600;
	padding: 3px 9px;
	border-radius: 999px;
	background: var(--affp-surface-2);
	color: var(--affp-text-muted);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.affwp-portal-mkt-card__title {
	font-size: 15px;
	font-weight: 700;
	color: var(--affp-text);
	margin: 0;
	letter-spacing: -0.01em;
}

.affwp-portal-mkt-card__desc {
	font-size: 13px;
	color: var(--affp-text-muted);
	margin: 4px 0 0;
	line-height: 1.55;
}

.affwp-portal-mkt-card__body {
	background: var(--affp-bg-2);
	border: 1px solid var(--affp-border);
	border-radius: 10px;
	padding: 12px 14px;
	font-size: 13px;
	color: var(--affp-text);
	line-height: 1.65;
	white-space: pre-wrap;
	max-height: 160px;
	overflow-y: auto;
}

.affwp-portal-mkt-card__body code {
	background: rgba(168, 85, 247, 0.18);
	color: #d8b4fe;
	padding: 1px 6px;
	border-radius: 4px;
	font-size: 12.5px;
	border: 0;
}

.affwp-portal-mkt-card__foot {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	margin-top: auto;
}

/* Marketing — banner placeholder card */
.affwp-portal-mkt-card--banner .affwp-portal-mkt-card__body {
	height: 140px;
	display: flex;
	align-items: center;
	justify-content: center;
	background:
		linear-gradient(135deg, rgba(168, 85, 247, 0.18), rgba(37, 99, 235, 0.18)),
		repeating-linear-gradient(45deg, var(--affp-bg-2) 0 12px, var(--affp-surface) 12px 24px);
	color: var(--affp-text);
	font-weight: 600;
	font-size: 14px;
	text-align: center;
	max-height: none;
	padding: 16px;
}

/* Hashtags chips */
.affwp-portal-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.affwp-portal-chip {
	display: inline-flex;
	align-items: center;
	padding: 5px 10px;
	background: rgba(168, 85, 247, 0.12);
	border: 1px solid rgba(168, 85, 247, 0.3);
	border-radius: 999px;
	font-size: 12px;
	color: #d8b4fe;
	font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.affwp-portal-chip:hover {
	background: rgba(168, 85, 247, 0.25);
	border-color: var(--affp-accent);
	color: #fff;
}

.affwp-portal-chip.is-copied {
	background: var(--affp-success-soft);
	color: #a7f3d0;
	border-color: rgba(52, 211, 153, 0.4);
}

/* ===== Academy ===== */

.affwp-portal-academy-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 16px;
	margin-bottom: 24px;
}

.affwp-portal-lesson {
	background: var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 16px;
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
	position: relative;
	overflow: hidden;
}

.affwp-portal-lesson::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: var(--_affp-lesson-bar, var(--affp-accent-grad));
	opacity: 0.85;
}

.affwp-portal-lesson:hover {
	transform: translateY(-2px);
	border-color: var(--affp-border-strong);
	box-shadow: var(--affp-shadow);
}

.affwp-portal-lesson--easy { --_affp-lesson-bar: linear-gradient(90deg, #34d399, #22d3ee); }
.affwp-portal-lesson--mid  { --_affp-lesson-bar: linear-gradient(90deg, #f59e0b, #ec4899); }
.affwp-portal-lesson--pro  { --_affp-lesson-bar: linear-gradient(90deg, #a855f7, #2563eb); }

.affwp-portal-lesson__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}

.affwp-portal-lesson__icon {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	background: rgba(168, 85, 247, 0.16);
	color: #d8b4fe;
	box-shadow: 0 0 24px -8px var(--affp-accent-glow);
}

.affwp-portal-lesson__icon svg { width: 22px !important; height: 22px !important; }

.affwp-portal-lesson__level {
	font-size: 11px;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 999px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.affwp-portal-lesson__level--easy { background: var(--affp-success-soft); color: #a7f3d0; }
.affwp-portal-lesson__level--mid  { background: var(--affp-warning-soft); color: #fcd34d; }
.affwp-portal-lesson__level--pro  { background: var(--affp-accent-soft); color: #d8b4fe; }

.affwp-portal-lesson__title {
	font-size: 16px;
	font-weight: 700;
	margin: 0;
	color: var(--affp-text);
	letter-spacing: -0.01em;
}

.affwp-portal-lesson__desc {
	font-size: 13px;
	color: var(--affp-text-muted);
	line-height: 1.55;
	margin: 0;
	flex: 1;
}

.affwp-portal-lesson__meta {
	display: flex;
	align-items: center;
	gap: 14px;
	font-size: 12px;
	color: var(--affp-text-subtle);
}

.affwp-portal-lesson__meta-item {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.affwp-portal-lesson__meta-item svg { width: 14px !important; height: 14px !important; }

.affwp-portal-lesson__progress {
	height: 6px;
	width: 100%;
	background: var(--affp-bg-2);
	border-radius: 999px;
	overflow: hidden;
}

.affwp-portal-lesson__progress-bar {
	height: 100%;
	background: var(--_affp-lesson-bar, var(--affp-accent-grad));
	border-radius: 999px;
	transition: width 0.3s ease;
}

.affwp-portal-lesson__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
}

.affwp-portal-lesson__progress-label {
	font-size: 11px;
	color: var(--affp-text-muted);
}

/* Tips accordion */
.affwp-portal-accordion {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.affwp-portal-accordion__item {
	background: var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 12px;
	overflow: hidden;
	transition: border-color 0.15s ease;
}

.affwp-portal-accordion__item.is-open {
	border-color: var(--affp-accent-soft-2);
}

.affwp-portal-accordion__head {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 18px;
	background: transparent;
	border: 0;
	color: var(--affp-text);
	font-size: 14px;
	font-weight: 600;
	text-align: left;
	cursor: pointer;
	font-family: var(--affp-font);
	transition: background-color 0.15s ease;
}

.affwp-portal-accordion__head:hover { background: var(--affp-surface-2); }

.affwp-portal-accordion__head-icon {
	width: 32px;
	height: 32px;
	border-radius: 8px;
	background: rgba(168, 85, 247, 0.16);
	color: #d8b4fe;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.affwp-portal-accordion__head-icon svg { width: 16px !important; height: 16px !important; }

.affwp-portal-accordion__head-text { flex: 1; min-width: 0; }

.affwp-portal-accordion__chevron {
	color: var(--affp-text-muted);
	transition: transform 0.2s ease;
	flex-shrink: 0;
}

.affwp-portal-accordion__chevron svg { width: 18px !important; height: 18px !important; }

.affwp-portal-accordion__item.is-open .affwp-portal-accordion__chevron {
	transform: rotate(180deg);
	color: var(--affp-accent);
}

.affwp-portal-accordion__body {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease, padding 0.2s ease;
	padding: 0 18px;
}

.affwp-portal-accordion__item.is-open .affwp-portal-accordion__body {
	max-height: 600px;
	padding: 0 18px 16px;
}

.affwp-portal-accordion__body p {
	color: var(--affp-text-muted);
	font-size: 13.5px;
	line-height: 1.65;
	margin: 0 0 10px;
}

.affwp-portal-accordion__body ul {
	margin: 8px 0 0;
	padding: 0 0 0 4px !important;
	list-style: none;
}

.affwp-portal-accordion__body li {
	padding-left: 22px;
	position: relative;
	color: var(--affp-text-muted);
	font-size: 13.5px;
	line-height: 1.6;
	margin-bottom: 6px;
}

.affwp-portal-accordion__body li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 7px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--affp-accent-soft);
	border: 2px solid var(--affp-accent);
}

/* Banner CTA full-width */
.affwp-portal-cta {
	background:
		radial-gradient(circle at top right, rgba(168, 85, 247, 0.30) 0%, transparent 55%),
		radial-gradient(circle at bottom left, rgba(37, 99, 235, 0.22) 0%, transparent 55%),
		linear-gradient(135deg, #1c1239 0%, #0f1e3a 100%);
	border: 1px solid var(--affp-accent-soft);
	border-radius: 18px;
	padding: 28px 32px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
	margin-bottom: 24px;
	position: relative;
	overflow: hidden;
}

.affwp-portal-cta__icon {
	width: 56px;
	height: 56px;
	border-radius: 14px;
	background: var(--affp-accent-grad);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	box-shadow: 0 0 36px -6px var(--affp-accent-glow);
}

.affwp-portal-cta__icon svg { width: 26px !important; height: 26px !important; }

.affwp-portal-cta__body {
	flex: 1;
	min-width: 240px;
}

.affwp-portal-cta__title {
	font-size: 19px;
	font-weight: 700;
	color: #fff;
	margin: 0;
	letter-spacing: -0.01em;
}

.affwp-portal-cta__desc {
	font-size: 13.5px;
	color: rgba(255, 255, 255, 0.7);
	margin: 4px 0 0;
}

@media (max-width: 768px) {
	.affwp-portal-mkt-grid,
	.affwp-portal-academy-grid {
		grid-template-columns: 1fr !important;
		gap: 12px;
	}

	.affwp-portal-cta {
		padding: 20px !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		text-align: left;
		gap: 16px;
	}

	.affwp-portal-cta__icon { width: 44px !important; height: 44px !important; }
	.affwp-portal-cta__icon svg { width: 22px !important; height: 22px !important; }
	.affwp-portal-cta__title { font-size: 16px !important; }
	.affwp-portal-cta__desc { font-size: 12.5px !important; }

	/* CTA inner row (link + copy) reflows full-width */
	.affwp-portal-cta .affwp-portal-link-card__row {
		max-width: 100% !important;
		width: 100% !important;
		min-width: 0 !important;
	}

	.affwp-portal-filters {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		padding-bottom: 6px;
		scrollbar-width: none;
	}

	.affwp-portal-filters::-webkit-scrollbar { display: none; }

	.affwp-portal-filter {
		flex-shrink: 0;
	}

	.affwp-portal-mkt-card { padding: 16px; gap: 12px; }
	.affwp-portal-mkt-card__title { font-size: 14px; }
	.affwp-portal-mkt-card__body { font-size: 12.5px; max-height: 140px; }

	.affwp-portal-lesson { padding: 16px; gap: 12px; }
	.affwp-portal-lesson__title { font-size: 15px; }
	.affwp-portal-lesson__foot {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}
	.affwp-portal-lesson__foot > button,
	.affwp-portal-lesson__foot > a { width: 100%; justify-content: center; }
}

/* ============================================================
 * 17c. Lesson modal (Academy)
 * ============================================================ */
.affwp-portal-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.18s ease;
}

.affwp-portal-modal[data-open="1"] {
	opacity: 1;
	pointer-events: auto;
}

.affwp-portal-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.7);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.affwp-portal-modal__panel {
	position: relative;
	background: var(--affp-surface);
	border: 1px solid var(--affp-border-strong);
	border-radius: 18px;
	width: 100%;
	max-width: 720px;
	max-height: calc(100vh - 48px);
	display: flex;
	flex-direction: column;
	box-shadow: 0 32px 64px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(168, 85, 247, 0.18);
	transform: scale(0.96) translateY(8px);
	transition: transform 0.18s ease;
	overflow: hidden;
}

.affwp-portal-modal[data-open="1"] .affwp-portal-modal__panel {
	transform: scale(1) translateY(0);
}

.affwp-portal-modal__head {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 20px 24px;
	border-bottom: 1px solid var(--affp-border);
	flex-shrink: 0;
}

.affwp-portal-modal__icon {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--affp-accent-soft);
	color: #d8b4fe;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	box-shadow: 0 0 24px -8px var(--affp-accent-glow);
}

.affwp-portal-modal__icon svg { width: 22px !important; height: 22px !important; }

.affwp-portal-modal__title-wrap { flex: 1; min-width: 0; }

.affwp-portal-modal__eyebrow {
	font-size: 11px;
	font-weight: 700;
	color: var(--affp-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin: 0;
}

.affwp-portal-modal__title {
	font-size: 19px;
	font-weight: 700;
	color: var(--affp-text);
	margin: 2px 0 0;
	letter-spacing: -0.01em;
}

.affwp-portal-modal__close {
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: transparent;
	border: 1px solid var(--affp-border);
	color: var(--affp-text-muted);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.affwp-portal-modal__close:hover {
	background: var(--affp-surface-2);
	color: var(--affp-text);
}

.affwp-portal-modal__close svg { width: 18px !important; height: 18px !important; }

.affwp-portal-modal__body {
	padding: 24px;
	overflow-y: auto;
	flex: 1;
}

.affwp-portal-modal__body h4 {
	color: var(--affp-text);
	font-size: 15px;
	font-weight: 700;
	margin: 18px 0 8px;
}

.affwp-portal-modal__body h4:first-child { margin-top: 0; }

.affwp-portal-modal__body p {
	color: var(--affp-text-muted);
	font-size: 14px;
	line-height: 1.7;
	margin: 0 0 12px;
}

.affwp-portal-modal__body strong { color: var(--affp-text); font-weight: 700; }

.affwp-portal-modal__body ul {
	margin: 4px 0 14px;
	padding: 0;
	list-style: none;
}

.affwp-portal-modal__body li {
	padding-left: 24px;
	position: relative;
	color: var(--affp-text-muted);
	font-size: 14px;
	line-height: 1.65;
	margin-bottom: 8px;
}

.affwp-portal-modal__body li::before {
	content: "";
	position: absolute;
	left: 4px;
	top: 8px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--affp-accent);
	box-shadow: 0 0 10px var(--affp-accent-glow);
}

.affwp-portal-modal__body .affwp-portal-modal__callout {
	background: var(--affp-bg-2);
	border: 1px solid var(--affp-border);
	border-left: 3px solid var(--affp-accent);
	border-radius: 10px;
	padding: 14px 16px;
	margin: 14px 0;
}

.affwp-portal-modal__body .affwp-portal-modal__callout p:last-child { margin-bottom: 0; }

.affwp-portal-modal__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 24px;
	border-top: 1px solid var(--affp-border);
	flex-shrink: 0;
	background: var(--affp-bg-2);
	flex-wrap: wrap;
}

.affwp-portal-modal__foot-meta {
	display: flex;
	align-items: center;
	gap: 14px;
	font-size: 12.5px;
	color: var(--affp-text-muted);
}

.affwp-portal-modal__foot-meta span {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.affwp-portal-modal__foot-meta svg { width: 14px !important; height: 14px !important; }

@media (max-width: 600px) {
	.affwp-portal-modal { padding: 0; align-items: stretch; }
	.affwp-portal-modal__panel {
		max-width: 100%;
		max-height: 100vh;
		border-radius: 0;
		border: 0;
	}
	.affwp-portal-modal__head { padding: 16px 18px; }
	.affwp-portal-modal__body { padding: 18px; }
	.affwp-portal-modal__foot { padding: 14px 18px; }
	.affwp-portal-modal__foot > button,
	.affwp-portal-modal__foot > a { flex: 1; justify-content: center; }
}

body.affwp-portal-modal-open { overflow: hidden; }

/* ============================================================
 * 18. Theme overrides (WoodMart / generic .entry-content)
 * Higher specificity + !important on critical properties so the
 * portal always wins against parent theme styles.
 * ============================================================ */
body .affwp-portal,
.entry-content .affwp-portal,
article .affwp-portal {
	background: transparent !important;
	color: var(--affp-text) !important;
	font-family: var(--affp-font) !important;
}

body .affwp-portal-shell,
.entry-content .affwp-portal-shell {
	background: var(--affp-bg) !important;
	border-radius: var(--affp-radius-xl) !important;
	border: 1px solid var(--affp-border) !important;
	overflow: hidden !important;
}

body .affwp-portal-sidebar,
.entry-content .affwp-portal-sidebar {
	background: var(--affp-sb-bg) !important;
	color: var(--affp-sb-text) !important;
}

body .affwp-portal-main,
.entry-content .affwp-portal-main {
	background: var(--affp-bg) !important;
}

/* Reset theme padding/margin/lists inside the portal */
body .affwp-portal ul,
body .affwp-portal ol,
.entry-content .affwp-portal ul,
.entry-content .affwp-portal ol {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body .affwp-portal-sidebar__nav,
.entry-content .affwp-portal-sidebar__nav {
	padding: 0 12px !important;
}

body .affwp-portal-sidebar__nav li,
.entry-content .affwp-portal-sidebar__nav li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body .affwp-portal h1,
body .affwp-portal h2,
body .affwp-portal h3,
body .affwp-portal h4,
.entry-content .affwp-portal h1,
.entry-content .affwp-portal h2,
.entry-content .affwp-portal h3,
.entry-content .affwp-portal h4 {
	color: var(--affp-text) !important;
	font-family: var(--affp-font) !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

body .affwp-portal p,
.entry-content .affwp-portal p {
	margin: 0 !important;
}

body .affwp-portal a,
.entry-content .affwp-portal a {
	box-shadow: none !important;
	text-decoration: none !important;
}

/* KPI card surface */
body .affwp-portal-kpi,
.entry-content .affwp-portal-kpi {
	background: var(--affp-surface) !important;
	border: 1px solid var(--affp-border) !important;
	border-radius: 16px !important;
	padding: 20px !important;
	color: var(--affp-text) !important;
}

body .affwp-portal-kpi__value,
.entry-content .affwp-portal-kpi__value {
	color: var(--affp-text) !important;
	font-size: 30px !important;
	font-weight: 800 !important;
	letter-spacing: -0.03em !important;
	line-height: 1 !important;
}

body .affwp-portal-kpi__label,
.entry-content .affwp-portal-kpi__label {
	color: var(--affp-text-muted) !important;
	margin: 0 !important;
}

/* Surface cards */
body .affwp-portal-card,
.entry-content .affwp-portal-card,
body .affwp-portal-chart-card,
.entry-content .affwp-portal-chart-card,
body .affwp-portal-link-card,
.entry-content .affwp-portal-link-card {
	background: var(--affp-surface) !important;
	border: 1px solid var(--affp-border) !important;
	border-radius: 16px !important;
	padding: 24px !important;
	color: var(--affp-text) !important;
}

body .affwp-portal-link-card { padding: 20px !important; }

/* Chart needs a fixed height — theme can force img/svg widths to 100% */
body .affwp-portal-chart,
.entry-content .affwp-portal-chart {
	height: 320px !important;
	max-height: 320px !important;
	overflow: visible !important;
	position: relative !important;
}

body .affwp-portal-chart svg,
.entry-content .affwp-portal-chart svg {
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 320px !important;
	display: block !important;
}

/* Sparkline boxed size */
body .affwp-portal-kpi__spark,
.entry-content .affwp-portal-kpi__spark {
	width: 96px !important;
	height: 36px !important;
	flex-shrink: 0 !important;
}

body .affwp-portal-kpi__spark svg,
.entry-content .affwp-portal-kpi__spark svg {
	width: 96px !important;
	height: 36px !important;
	max-width: 96px !important;
	max-height: 36px !important;
}

/* Tables — force dark surfaces over WoodMart's table CSS */
body .affwp-portal-content table.affwp-table,
.entry-content .affwp-portal-content table.affwp-table,
body .affwp-portal-content table#affwp-affiliate-dashboard-referrals,
body .affwp-portal-content table#affwp-affiliate-dashboard-payouts,
body .affwp-portal-content table#affwp-affiliate-dashboard-visits {
	background: transparent !important;
	border: 0 !important;
	color: var(--affp-text) !important;
}

body .affwp-portal-content table.affwp-table th,
body .affwp-portal-content table.affwp-table td,
.entry-content .affwp-portal-content table.affwp-table th,
.entry-content .affwp-portal-content table.affwp-table td {
	background: transparent !important;
	border-bottom: 1px solid var(--affp-border) !important;
	color: var(--affp-text) !important;
}

body .affwp-portal-content table.affwp-table thead th,
.entry-content .affwp-portal-content table.affwp-table thead th {
	color: var(--affp-text-muted) !important;
	font-size: 11px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
}

/* Profile dropdown menu surface */
body .affwp-portal-profile__menu,
.entry-content .affwp-portal-profile__menu {
	background: var(--affp-surface) !important;
	border: 1px solid var(--affp-border) !important;
	color: var(--affp-text) !important;
}

/* Bell, period, profile trigger surfaces */
body .affwp-portal-bell,
body .affwp-portal-period,
body .affwp-portal-topbar__hamburger {
	background: var(--affp-surface) !important;
	border: 1px solid var(--affp-border) !important;
	color: var(--affp-text) !important;
}

/* Profile trigger — defeat WoodMart's generic `button` styles + match wallet style */
body button.affwp-portal-profile__trigger,
.entry-content button.affwp-portal-profile__trigger {
	background:
		radial-gradient(circle at top right, rgba(168, 85, 247, 0.14) 0%, transparent 60%),
		var(--affp-surface) !important;
	border: 1px solid var(--affp-border) !important;
	border-radius: 999px !important;
	color: var(--affp-text) !important;
	padding: 4px 14px 4px 4px !important;
	margin: 0 !important;
	box-shadow: none !important;
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-family: var(--affp-font) !important;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-height: none !important;
	line-height: 1.15 !important;
	cursor: pointer !important;
}
body button.affwp-portal-profile__trigger:hover,
body button.affwp-portal-profile__trigger:focus {
	background:
		radial-gradient(circle at top right, rgba(168, 85, 247, 0.20) 0%, transparent 60%),
		var(--affp-surface-2, var(--affp-surface)) !important;
	border-color: rgba(168, 85, 247, 0.45) !important;
}
body button.affwp-portal-profile__trigger * {
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-family: inherit !important;
}

/* Tier badge — defeat WoodMart's generic `button` styles */
body button.affwp-portal-tier,
.entry-content button.affwp-portal-tier {
	background:
		radial-gradient(circle at top right, rgba(168, 85, 247, 0.16) 0%, transparent 60%),
		var(--affp-surface) !important;
	border: 1px solid var(--affp-border) !important;
	border-radius: 999px !important;
	color: var(--affp-text) !important;
	padding: 4px 14px 4px 4px !important;
	margin: 0 !important;
	box-shadow: none !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-family: var(--affp-font) !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-height: none !important;
	width: auto !important;
	height: auto !important;
	line-height: 1 !important;
	cursor: pointer !important;
}
body button.affwp-portal-tier:hover,
body button.affwp-portal-tier:focus,
.entry-content button.affwp-portal-tier:hover {
	background:
		radial-gradient(circle at top right, rgba(168, 85, 247, 0.24) 0%, transparent 60%),
		var(--affp-surface-2, var(--affp-surface)) !important;
	border-color: rgba(168, 85, 247, 0.45) !important;
	color: var(--affp-text) !important;
}
body button.affwp-portal-tier *,
.entry-content button.affwp-portal-tier * {
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-family: inherit !important;
}
body button.affwp-portal-tier .affwp-portal-tier__chip {
	width: 32px !important;
	height: 32px !important;
	border-radius: 50% !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
}

/* Wallet pill — beat any theme button/link reset */
body a.affwp-portal-wallet,
.entry-content a.affwp-portal-wallet,
body .affwp-portal-wallet {
	border-radius: 999px !important;
	padding: 6px 14px 6px 8px !important;
	color: var(--affp-text) !important;
	text-decoration: none !important;
	box-shadow: none !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	font-family: var(--affp-font) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

body a.affwp-portal-wallet *,
.entry-content a.affwp-portal-wallet *,
body .affwp-portal-wallet * {
	text-transform: none !important;
	letter-spacing: 0 !important;
}

body .affwp-portal-wallet__balance,
body .affwp-portal-wallet__balance * {
	color: var(--affp-text) !important;
	font-weight: 700 !important;
}

body .affwp-portal-wallet__label {
	color: var(--affp-text-muted) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	font-size: 10.5px !important;
	font-weight: 600 !important;
}

/* Page header big title — beat .entry-content h1 */
body .affwp-portal-page-header__title,
.entry-content .affwp-portal-page-header__title {
	color: var(--affp-text) !important;
	font-size: clamp(28px, 3.5vw, 40px) !important;
	font-weight: 800 !important;
	letter-spacing: -0.03em !important;
	line-height: 1.1 !important;
	margin: 0 !important;
}

body .affwp-portal-page-header__subtitle,
.entry-content .affwp-portal-page-header__subtitle {
	color: var(--affp-text-muted) !important;
	font-size: 15px !important;
	margin: 8px 0 0 !important;
}

/* Promo card preserve */
body .affwp-portal-sidebar__promo,
.entry-content .affwp-portal-sidebar__promo {
	background:
		radial-gradient(circle at top right, rgba(139, 92, 246, 0.25) 0%, transparent 60%),
		linear-gradient(180deg, #1a1735 0%, #1a2030 100%) !important;
	border: 1px solid var(--affp-accent-soft) !important;
	border-radius: 14px !important;
	padding: 18px !important;
	margin: 16px !important;
}

/* Active sidebar item gradient (some themes set link bg with !important).
 * Uses the active mode's accent gradient — heredada de `--affp-accent-grad`
 * para que cambie automáticamente entre afiliado (violeta→azul) y gestor
 * (esmeralda→cian). Si el theme override lo pisara, ponemos el valor
 * resuelto entre fallback estable.
 */
body .affwp-portal-sidebar__nav-item.is-active,
.entry-content .affwp-portal-sidebar__nav-item.is-active {
	background: var(--affp-accent-grad) !important;
	background-image: var(--affp-accent-grad) !important;
	color: #ffffff !important;
}

/* Inputs inside content */
body .affwp-portal-content input,
body .affwp-portal-content textarea,
body .affwp-portal-content select,
.entry-content .affwp-portal-content input,
.entry-content .affwp-portal-content textarea,
.entry-content .affwp-portal-content select {
	background: var(--affp-bg-2) !important;
	color: var(--affp-text) !important;
	border: 1px solid var(--affp-border) !important;
}

body .affwp-portal-link-card__url,
.entry-content .affwp-portal-link-card__url {
	background: transparent !important;
	border: 0 !important;
}

/* Code/pre */
body .affwp-portal code,
body .affwp-portal pre,
.entry-content .affwp-portal code,
.entry-content .affwp-portal pre {
	background: var(--affp-bg-2) !important;
	color: var(--affp-text) !important;
	border: 1px solid var(--affp-border) !important;
}

/* ============================================================
 * 19. Fullscreen takeover (Affiliate Area page only)
 *
 * When `body.affwp-portal-fullscreen` is present we:
 *  - Hide the theme's header, footer, breadcrumbs and page title.
 *  - Reset margins/paddings on body and main wrappers.
 *  - Stretch the portal shell to the full viewport.
 *
 * Selectors are intentionally broad so this works with WoodMart, Astra,
 * GeneratePress, Avada, Storefront, Twenty Twenty-Three, etc.
 * ============================================================ */

/* Reset body / html so the dashboard can fill 100vh without scrollbars from the theme */
body.affwp-portal-fullscreen {
	margin: 0 !important;
	padding: 0 !important;
	background: var(--affp-bg, #0a0e1a) !important;
	overflow-x: hidden !important;
}

/* Hide the theme chrome */
body.affwp-portal-fullscreen #wpadminbar,
body.affwp-portal-fullscreen .site-header,
body.affwp-portal-fullscreen .whb-header,
body.affwp-portal-fullscreen .whb-row-inner,
body.affwp-portal-fullscreen .woodmart-header,
body.affwp-portal-fullscreen .header,
body.affwp-portal-fullscreen #masthead,
body.affwp-portal-fullscreen #header,
body.affwp-portal-fullscreen .top-bar,
body.affwp-portal-fullscreen .topbar,
body.affwp-portal-fullscreen .header-top,
body.affwp-portal-fullscreen .header-banner,
body.affwp-portal-fullscreen .site-footer,
body.affwp-portal-fullscreen #colophon,
body.affwp-portal-fullscreen #footer,
body.affwp-portal-fullscreen .footer,
body.affwp-portal-fullscreen .footer-container,
body.affwp-portal-fullscreen .page-title,
body.affwp-portal-fullscreen .page-title-default,
body.affwp-portal-fullscreen .page-title-wrapper,
body.affwp-portal-fullscreen .entry-header,
body.affwp-portal-fullscreen .breadcrumbs,
body.affwp-portal-fullscreen .woodmart-breadcrumbs,
body.affwp-portal-fullscreen .main-page-title-wrapper,
body.affwp-portal-fullscreen .main-page-title,
body.affwp-portal-fullscreen .header-banner-wrapper,
body.affwp-portal-fullscreen .promo-popup,
body.affwp-portal-fullscreen .header-mobile,
body.affwp-portal-fullscreen .whb-mobile-header,
body.affwp-portal-fullscreen .mobile-bottom-navigation,
body.affwp-portal-fullscreen .footer-bottom,
body.affwp-portal-fullscreen .copyrights-wrapper {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

html.affwp-portal-fullscreen-html {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* Reset wrappers so the portal can occupy the whole viewport */
body.affwp-portal-fullscreen .site,
body.affwp-portal-fullscreen .site-wrapper,
body.affwp-portal-fullscreen .site-content,
body.affwp-portal-fullscreen .content-area,
body.affwp-portal-fullscreen .main-content,
body.affwp-portal-fullscreen .container-wrap,
body.affwp-portal-fullscreen .container,
body.affwp-portal-fullscreen .row,
body.affwp-portal-fullscreen #main,
body.affwp-portal-fullscreen #primary,
body.affwp-portal-fullscreen #content,
body.affwp-portal-fullscreen .entry-content,
body.affwp-portal-fullscreen > article,
body.affwp-portal-fullscreen .site > article,
body.affwp-portal-fullscreen #content > article,
body.affwp-portal-fullscreen #primary > article,
body.affwp-portal-fullscreen #main > article,
body.affwp-portal-fullscreen .site-content > article,
body.affwp-portal-fullscreen [class*="post-"][class*="page"],
body.affwp-portal-fullscreen [class*="post-"][class*="hentry"] {
	max-width: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: var(--affp-bg, #0a0e1a) !important;
	border: 0 !important;
	box-shadow: none !important;
}

body.affwp-portal-fullscreen .entry-content,
body.affwp-portal-fullscreen > article,
body.affwp-portal-fullscreen .site > article,
body.affwp-portal-fullscreen #content > article {
	min-height: 100vh !important;
}

/* Restore padding on portal-internal cards that happen to use <article> */
body .affwp-portal-lesson,
body.affwp-portal-fullscreen .affwp-portal-lesson,
.entry-content .affwp-portal-lesson {
	padding: 20px !important;
	width: auto !important;
	max-width: none !important;
	background: var(--affp-surface) !important;
	border: 1px solid var(--affp-border) !important;
	border-radius: 16px !important;
	min-height: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 14px !important;
	box-shadow: none !important;
	color: var(--affp-text) !important;
}

body .affwp-portal-mkt-card,
body.affwp-portal-fullscreen .affwp-portal-mkt-card,
.entry-content .affwp-portal-mkt-card {
	padding: 20px !important;
	width: auto !important;
	max-width: none !important;
	background: var(--affp-surface) !important;
	border: 1px solid var(--affp-border) !important;
	border-radius: 16px !important;
	min-height: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 14px !important;
	box-shadow: none !important;
	color: var(--affp-text) !important;
}

/* Article cards keep their text-decoration normal */
body .affwp-portal-lesson *,
body .affwp-portal-mkt-card * {
	box-sizing: border-box;
}

/* Stretch the shell edge-to-edge — no border, no radius.
 *
 * IMPORTANTE: el problema no es solo width / display:none de los sidebars.
 * El tema mete el contenido del shortcode en una col tipo Bootstrap
 * (col-md-9, .vc_col-sm-9 …) que mantiene su 75 % / 50 % aunque
 * `.row` esté al 100 %. Para escaparnos de ese layout sin tener que
 * conocer todas las clases del tema:
 *
 *   - el wrapper `.affwp-portal` (= `#affwp-affiliate-dashboard`) usa
 *     `display: contents` → el navegador "salta" su caja y sus hijos
 *     participan del layout del padre.
 *   - el `.affwp-portal-shell` usa `position: fixed; inset: 0` → cubre
 *     el viewport entero sin importar la columna del tema.
 *   - el body queda con `overflow: hidden` para evitar doble scroll.
 */
html body.affwp-portal-fullscreen {
	overflow: hidden !important;
}

body.affwp-portal-fullscreen .affwp-portal,
body.affwp-portal-fullscreen #affwp-affiliate-dashboard {
	display: contents !important;
}

body.affwp-portal-fullscreen .affwp-portal-shell {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	inset: 0 !important;
	width: 100vw !important;
	min-width: 100vw !important;
	max-width: 100vw !important;
	height: 100vh !important;
	min-height: 100vh !important;
	max-height: 100vh !important;
	z-index: 100 !important;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
	overflow: hidden !important;
	background: var(--affp-bg, #0a0e1a) !important;
}

body.affwp-portal-fullscreen .affwp-portal-main {
	height: 100vh !important;
	overflow: hidden !important;
}

body.affwp-portal-fullscreen .affwp-portal-content {
	overflow-y: auto !important;
	height: calc(100vh - 96px) !important; /* topbar (~72px) + its top padding */
}

/* When using the WoodMart "Hide page title" theme option fails, also nuke any
   element that contains the breadcrumbs strip with the inline style background. */
body.affwp-portal-fullscreen [class*="breadcrumb"],
body.affwp-portal-fullscreen [id*="breadcrumb"] {
	display: none !important;
}

/* Sticky elements / sidebars from blogs / WooCommerce sidebars */
body.affwp-portal-fullscreen .sidebar,
body.affwp-portal-fullscreen .sidebar-container,
body.affwp-portal-fullscreen #secondary,
body.affwp-portal-fullscreen aside.sidebar,
body.affwp-portal-fullscreen aside#secondary,
body.affwp-portal-fullscreen .widget-area,
body.affwp-portal-fullscreen .woodmart-sidebar,
body.affwp-portal-fullscreen .shop-sidebar,
body.affwp-portal-fullscreen #right-sidebar,
body.affwp-portal-fullscreen #left-sidebar {
	display: none !important;
	width: 0 !important;
	max-width: 0 !important;
	flex: 0 0 0 !important;
}

/* Bootstrap-style columns (col-md-9, col-lg-8, col-12, col_9_12, col_3_12…)
 * que el theme usa para meter contenido + sidebar lado a lado. En modo
 * fullscreen el sidebar está oculto, así que la columna principal se debe
 * estirar al 100% del ancho — sin esto, queda en 66/75% y al lado queda
 * un hueco blanco. */
body.affwp-portal-fullscreen [class*="col-"],
body.affwp-portal-fullscreen [class*="col_"],
body.affwp-portal-fullscreen .container-fluid,
body.affwp-portal-fullscreen .col,
body.affwp-portal-fullscreen .columns,
body.affwp-portal-fullscreen .vc_column,
body.affwp-portal-fullscreen .vc_col-sm-9,
body.affwp-portal-fullscreen .vc_col-sm-8,
body.affwp-portal-fullscreen .vc_col-sm-12 {
	flex: 1 1 100% !important;
	max-width: 100% !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Por si el row tiene `flex-wrap` y el sidebar oculto deja un gap. */
body.affwp-portal-fullscreen .row,
body.affwp-portal-fullscreen .vc_row {
	flex-wrap: nowrap !important;
}

/* Mobile fullscreen tweaks */
@media (max-width: 768px) {
	body.affwp-portal-fullscreen .affwp-portal-content {
		height: calc(100vh - 80px) !important;
	}
}

/* ============================================================
 * 20. Hamburger button — forced display per breakpoint
 *
 * Some themes (WoodMart, Avada, Bootstrap-based ones) declare
 * `.entry-content button { display: inline-block !important; }`
 * which beats our base rule. We force it here with the same
 * weapon and explicit breakpoints so it is hidden on desktop
 * and visible on mobile, no matter what the theme does.
 * ============================================================ */
@media (min-width: 769px) {
	body .affwp-portal-topbar__hamburger,
	.entry-content .affwp-portal-topbar__hamburger,
	body.affwp-portal-fullscreen .affwp-portal-topbar__hamburger {
		display: none !important;
	}
}

@media (max-width: 768px) {
	body .affwp-portal-topbar__hamburger,
	.entry-content .affwp-portal-topbar__hamburger,
	body.affwp-portal-fullscreen .affwp-portal-topbar__hamburger {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 42px !important;
		height: 42px !important;
		padding: 0 !important;
		background: var(--affp-surface) !important;
		border: 1px solid var(--affp-border) !important;
		color: var(--affp-text) !important;
		border-radius: 10px !important;
		cursor: pointer !important;
	}

	body .affwp-portal-topbar__hamburger svg,
	.entry-content .affwp-portal-topbar__hamburger svg {
		width: 22px !important;
		height: 22px !important;
	}
}

/* ============================================================
 * 21. Theme override: kill UPPERCASE, weird letter-spacing
 *
 * WoodMart and many other themes apply `text-transform: uppercase`
 * and big letter-spacing to .button, [type=submit], h3, etc., turning
 * our labels into NEAR-UNREADABLE TEXT. We force sentence case here.
 * ============================================================ */
body .affwp-portal button,
body .affwp-portal a,
body .affwp-portal h1,
body .affwp-portal h2,
body .affwp-portal h3,
body .affwp-portal h4,
body .affwp-portal h5,
body .affwp-portal-content button,
body .affwp-portal-content a,
.entry-content .affwp-portal button,
.entry-content .affwp-portal a,
.entry-content .affwp-portal h1,
.entry-content .affwp-portal h2,
.entry-content .affwp-portal h3,
.entry-content .affwp-portal h4 {
	text-transform: none !important;
	letter-spacing: -0.01em !important;
	font-style: normal !important;
}

/* Tiny meta labels keep their wide letter-spacing on purpose */
body .affwp-portal-section-title,
body .affwp-portal-sidebar__nav-label,
body .affwp-portal-modal__eyebrow,
body .affwp-portal-mkt-card__channel-tag,
body .affwp-portal-lesson__level,
body .affwp-portal-profile__menu-header-label,
body .affwp-portal-content table.affwp-table thead th,
.entry-content .affwp-portal-section-title,
.entry-content .affwp-portal-modal__eyebrow {
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
}

/* FAQ + accordion titles stay readable in sentence case */
body .affwp-portal-accordion__head,
body .affwp-portal-accordion__head-text,
.entry-content .affwp-portal-accordion__head,
.entry-content .affwp-portal-accordion__head-text {
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-weight: 600 !important;
	font-size: 14.5px !important;
	color: var(--affp-text) !important;
}

/* Ghost / pill copy buttons readable */
body .affwp-portal-link-card__copy,
body .affwp-portal-btn-ghost,
body .affwp-portal-coupons-card__copy,
body .affwp-portal-sidebar__promo-btn,
.entry-content .affwp-portal-link-card__copy,
.entry-content .affwp-portal-btn-ghost,
.entry-content .affwp-portal-coupons-card__copy,
.entry-content .affwp-portal-sidebar__promo-btn {
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-weight: 600 !important;
	font-style: normal !important;
}

/* ============================================================
 * 22. Modal close button — guarantee a visible X icon
 * Some themes draw a background or hide the SVG. Force everything.
 * ============================================================ */
body .affwp-portal-modal__close,
.entry-content .affwp-portal-modal__close {
	background: transparent !important;
	background-image: none !important;
	border: 1px solid var(--affp-border) !important;
	color: var(--affp-text-muted) !important;
	padding: 0 !important;
	width: 36px !important;
	height: 36px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 10px !important;
	cursor: pointer !important;
	box-shadow: none !important;
}

body .affwp-portal-modal__close:hover,
.entry-content .affwp-portal-modal__close:hover {
	background: var(--affp-surface-2) !important;
	color: var(--affp-text) !important;
	border-color: var(--affp-border-strong) !important;
}

body .affwp-portal-modal__close svg,
.entry-content .affwp-portal-modal__close svg {
	width: 18px !important;
	height: 18px !important;
	color: currentColor !important;
	stroke: currentColor !important;
	display: inline-block !important;
}

/* ============================================================
 * 23. Lesson "completed" — make it OBVIOUSLY visible
 * Triggered by a `.is-completed` modifier on the lesson card,
 * and by the modal eyebrow getting a `--success` modifier.
 * ============================================================ */
.affwp-portal-lesson.is-completed {
	border-color: rgba(52, 211, 153, 0.45) !important;
	background:
		radial-gradient(circle at top right, rgba(52, 211, 153, 0.12) 0%, transparent 60%),
		var(--affp-surface);
}

.affwp-portal-lesson.is-completed::before {
	background: linear-gradient(90deg, #34d399, #22d3ee) !important;
	height: 4px !important;
	box-shadow: 0 0 16px rgba(52, 211, 153, 0.5);
}

.affwp-portal-lesson.is-completed .affwp-portal-lesson__icon {
	background: rgba(52, 211, 153, 0.18) !important;
	color: #a7f3d0 !important;
	box-shadow: 0 0 24px -8px rgba(52, 211, 153, 0.55) !important;
}

/* "Done" ribbon pinned to top-right of completed cards */
.affwp-portal-lesson.is-completed::after {
	content: "✓";
	position: absolute;
	top: 14px;
	right: 14px;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: linear-gradient(135deg, #34d399, #22d3ee);
	color: #ffffff;
	font-size: 14px;
	font-weight: 800;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 12px rgba(52, 211, 153, 0.4), 0 0 0 3px rgba(52, 211, 153, 0.15);
	z-index: 2;
	pointer-events: none;
}

/* Hide level badge when card is completed (the ribbon replaces it) */
.affwp-portal-lesson.is-completed .affwp-portal-lesson__level {
	visibility: hidden;
}

/* Modal — completed state */
.affwp-portal-modal.is-completed .affwp-portal-modal__icon {
	background: rgba(52, 211, 153, 0.18) !important;
	color: #a7f3d0 !important;
	box-shadow: 0 0 24px -8px rgba(52, 211, 153, 0.55) !important;
}

.affwp-portal-modal.is-completed .affwp-portal-modal__eyebrow {
	color: #a7f3d0 !important;
}

.affwp-portal-modal.is-completed .affwp-portal-modal__eyebrow::after {
	content: " · ✓ COMPLETADA";
	color: #a7f3d0;
}

/* "Mark complete" button changes color when already completed
   (to indicate the next click would un-mark it) */
.affwp-portal-link-card__copy.is-toggle-undone,
body .affwp-portal-link-card__copy.is-toggle-undone {
	background: rgba(52, 211, 153, 0.16) !important;
	color: #a7f3d0 !important;
	box-shadow: 0 0 0 1px rgba(52, 211, 153, 0.4) !important;
	filter: none !important;
}

.affwp-portal-link-card__copy.is-toggle-undone:hover,
body .affwp-portal-link-card__copy.is-toggle-undone:hover {
	background: rgba(52, 211, 153, 0.28) !important;
	color: #ffffff !important;
}

/* Completed lesson — progress bar fill in green not violet */
.affwp-portal-lesson.is-completed .affwp-portal-lesson__progress-bar {
	background: linear-gradient(90deg, #34d399, #22d3ee) !important;
}

/* ============================================================
 * 24. Spans inside buttons — beat theme uppercase rules
 * Some themes target `button > span` directly with !important.
 * ============================================================ */
body .affwp-portal button span,
body .affwp-portal button > span,
body .affwp-portal a span,
body .affwp-portal a > span,
.entry-content .affwp-portal button span,
.entry-content .affwp-portal button > span {
	text-transform: none !important;
	letter-spacing: 0 !important;
	color: inherit !important;
	font-style: normal !important;
}

/* ============================================================
 * 25. FAQ accordion legibility
 * Make the question titles fully readable and well-contrasted.
 * ============================================================ */
body .affwp-portal-accordion__item,
.entry-content .affwp-portal-accordion__item {
	background: var(--affp-surface) !important;
	border: 1px solid var(--affp-border) !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	margin-bottom: 10px !important;
}

body .affwp-portal-accordion__item.is-open,
.entry-content .affwp-portal-accordion__item.is-open {
	border-color: rgba(168, 85, 247, 0.4) !important;
}

body .affwp-portal-accordion__head,
.entry-content .affwp-portal-accordion__head {
	width: 100% !important;
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	padding: 16px 20px !important;
	background: transparent !important;
	border: 0 !important;
	color: var(--affp-text) !important;
	font-size: 14.5px !important;
	font-weight: 600 !important;
	font-family: var(--affp-font) !important;
	text-align: left !important;
	cursor: pointer !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	box-shadow: none !important;
	line-height: 1.4 !important;
}

body .affwp-portal-accordion__head:hover,
.entry-content .affwp-portal-accordion__head:hover {
	background: var(--affp-surface-2) !important;
}

body .affwp-portal-accordion__head-text,
.entry-content .affwp-portal-accordion__head-text {
	flex: 1 !important;
	min-width: 0 !important;
	color: var(--affp-text) !important;
	font-size: 14.5px !important;
	font-weight: 600 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	white-space: normal !important;
	text-align: left !important;
	display: block !important;
}

body .affwp-portal-accordion__head-icon,
.entry-content .affwp-portal-accordion__head-icon {
	width: 32px !important;
	height: 32px !important;
	border-radius: 8px !important;
	background: var(--affp-accent-soft) !important;
	color: #d8b4fe !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
}

body .affwp-portal-accordion__head-icon svg,
.entry-content .affwp-portal-accordion__head-icon svg {
	width: 16px !important;
	height: 16px !important;
}

body .affwp-portal-accordion__chevron,
.entry-content .affwp-portal-accordion__chevron {
	color: var(--affp-text-muted) !important;
	transition: transform 0.2s ease, color 0.2s ease !important;
	flex-shrink: 0 !important;
	display: inline-flex !important;
}

body .affwp-portal-accordion__chevron svg,
.entry-content .affwp-portal-accordion__chevron svg {
	width: 18px !important;
	height: 18px !important;
}

body .affwp-portal-accordion__item.is-open .affwp-portal-accordion__chevron,
.entry-content .affwp-portal-accordion__item.is-open .affwp-portal-accordion__chevron {
	transform: rotate(180deg) !important;
	color: var(--affp-accent) !important;
}

body .affwp-portal-accordion__body,
.entry-content .affwp-portal-accordion__body {
	max-height: 0 !important;
	overflow: hidden !important;
	transition: max-height 0.3s ease, padding 0.2s ease !important;
	padding: 0 20px !important;
}

body .affwp-portal-accordion__item.is-open .affwp-portal-accordion__body,
.entry-content .affwp-portal-accordion__item.is-open .affwp-portal-accordion__body {
	max-height: 1000px !important;
	padding: 0 20px 18px !important;
}

body .affwp-portal-accordion__body p,
.entry-content .affwp-portal-accordion__body p {
	color: var(--affp-text-muted) !important;
	font-size: 14px !important;
	line-height: 1.7 !important;
	margin: 0 0 12px !important;
}

body .affwp-portal-accordion__body strong,
.entry-content .affwp-portal-accordion__body strong {
	color: var(--affp-text) !important;
	font-weight: 700 !important;
}

body .affwp-portal-accordion__body ul,
.entry-content .affwp-portal-accordion__body ul {
	margin: 8px 0 12px !important;
	padding: 0 !important;
	list-style: none !important;
}

body .affwp-portal-accordion__body li,
.entry-content .affwp-portal-accordion__body li {
	padding-left: 24px !important;
	position: relative !important;
	color: var(--affp-text-muted) !important;
	font-size: 14px !important;
	line-height: 1.65 !important;
	margin: 0 0 8px !important;
	list-style: none !important;
}

body .affwp-portal-accordion__body li::before,
.entry-content .affwp-portal-accordion__body li::before {
	content: "" !important;
	position: absolute !important;
	left: 4px !important;
	top: 8px !important;
	width: 8px !important;
	height: 8px !important;
	border-radius: 50% !important;
	background: var(--affp-accent) !important;
	border: 0 !important;
	box-shadow: 0 0 8px var(--affp-accent-glow) !important;
}

/* ============================================================
 * 26. Lesson card content visibility — beat theme p/h margins
 * ============================================================ */
body .affwp-portal-lesson__title,
.entry-content .affwp-portal-lesson__title {
	font-size: 16px !important;
	font-weight: 700 !important;
	color: var(--affp-text) !important;
	margin: 0 !important;
	letter-spacing: -0.01em !important;
	text-transform: none !important;
	line-height: 1.3 !important;
}

body .affwp-portal-lesson__desc,
.entry-content .affwp-portal-lesson__desc {
	font-size: 13px !important;
	color: var(--affp-text-muted) !important;
	line-height: 1.55 !important;
	margin: 0 !important;
	flex: 1 !important;
}

body .affwp-portal-lesson__head,
.entry-content .affwp-portal-lesson__head {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	gap: 12px !important;
}

body .affwp-portal-lesson__foot,
.entry-content .affwp-portal-lesson__foot {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
	margin-top: auto !important;
}

body .affwp-portal-mkt-card__title,
.entry-content .affwp-portal-mkt-card__title {
	font-size: 15px !important;
	font-weight: 700 !important;
	color: var(--affp-text) !important;
	margin: 0 !important;
	text-transform: none !important;
	letter-spacing: -0.01em !important;
}

body .affwp-portal-mkt-card__desc,
.entry-content .affwp-portal-mkt-card__desc {
	font-size: 13px !important;
	color: var(--affp-text-muted) !important;
	margin: 4px 0 0 !important;
	line-height: 1.55 !important;
}

/* Section titles (h3) keep uppercase eyebrow style — beat the
   broader h3 reset above with extra specificity */
body h3.affwp-portal-section-title,
body .affwp-portal h3.affwp-portal-section-title,
.entry-content h3.affwp-portal-section-title,
.entry-content .affwp-portal h3.affwp-portal-section-title {
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--affp-text-muted) !important;
	margin: 28px 0 16px !important;
}

body h3.affwp-portal-section-title:first-child,
.entry-content h3.affwp-portal-section-title:first-child {
	margin-top: 0 !important;
}

/* ============================================================
 * 27. Marketing filter pills — beat WoodMart's button radius
 * ============================================================ */
body .affwp-portal-filters,
.entry-content .affwp-portal-filters {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin-bottom: 20px !important;
	padding: 0 !important;
	list-style: none !important;
}

body button.affwp-portal-filter,
.entry-content button.affwp-portal-filter {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 8px 16px !important;
	border-radius: 999px !important;
	background: var(--affp-surface) !important;
	border: 1px solid var(--affp-border) !important;
	color: var(--affp-text-muted) !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	font-family: var(--affp-font) !important;
	cursor: pointer !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	box-shadow: none !important;
	line-height: 1 !important;
	min-height: 0 !important;
	height: auto !important;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.15s ease !important;
}

body button.affwp-portal-filter svg,
.entry-content button.affwp-portal-filter svg {
	width: 14px !important;
	height: 14px !important;
}

body button.affwp-portal-filter span,
.entry-content button.affwp-portal-filter span {
	color: inherit !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

body button.affwp-portal-filter:hover,
.entry-content button.affwp-portal-filter:hover {
	background: var(--affp-surface-2) !important;
	color: var(--affp-text) !important;
	border-color: var(--affp-border-strong) !important;
	transform: translateY(-1px) !important;
}

body button.affwp-portal-filter.is-active,
.entry-content button.affwp-portal-filter.is-active {
	background: var(--affp-accent-grad) !important;
	border-color: transparent !important;
	color: #ffffff !important;
	box-shadow: 0 4px 14px -4px var(--affp-accent-glow) !important;
}

/* ============================================================
 * 28. is-hidden override — beat any data-attribute selector
 * ============================================================ */
body .affwp-portal-mkt-card.is-hidden,
.entry-content .affwp-portal-mkt-card.is-hidden,
body .affwp-portal-mkt-card[data-channel].is-hidden {
	display: none !important;
}

/* ============================================================
 * 29. Marketing card body — no horizontal scroll, word break
 * ============================================================ */
body .affwp-portal-mkt-card__body,
.entry-content .affwp-portal-mkt-card__body {
	background: var(--affp-bg-2) !important;
	border: 1px solid var(--affp-border) !important;
	border-radius: 10px !important;
	padding: 12px 14px !important;
	font-size: 13px !important;
	color: var(--affp-text) !important;
	line-height: 1.65 !important;
	white-space: pre-wrap !important;
	word-break: break-word !important;
	overflow-wrap: break-word !important;
	max-height: 180px !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	font-family: var(--affp-font) !important;
}

/* Custom scrollbar for the card body so it does not look default-grey */
body .affwp-portal-mkt-card__body::-webkit-scrollbar,
.entry-content .affwp-portal-mkt-card__body::-webkit-scrollbar {
	width: 6px;
}

body .affwp-portal-mkt-card__body::-webkit-scrollbar-thumb,
.entry-content .affwp-portal-mkt-card__body::-webkit-scrollbar-thumb {
	background: rgba(168, 85, 247, 0.4);
	border-radius: 999px;
}

body .affwp-portal-mkt-card__body::-webkit-scrollbar-track,
.entry-content .affwp-portal-mkt-card__body::-webkit-scrollbar-track {
	background: transparent;
}

body .affwp-portal-mkt-card__body code,
.entry-content .affwp-portal-mkt-card__body code {
	background: rgba(168, 85, 247, 0.18) !important;
	color: #d8b4fe !important;
	padding: 1px 6px !important;
	border-radius: 4px !important;
	font-size: 12.5px !important;
	border: 0 !important;
	word-break: break-all !important;
}

/* ============================================================
 * 30. Income calculator widget
 * ============================================================ */
.affwp-portal-calc {
	background:
		radial-gradient(circle at top right, rgba(168, 85, 247, 0.16) 0%, transparent 55%),
		radial-gradient(circle at bottom left, rgba(37, 99, 235, 0.12) 0%, transparent 55%),
		var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 16px;
	padding: 24px;
	margin-bottom: 24px;
}

.affwp-portal-calc__head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 18px;
}

.affwp-portal-calc__icon {
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: linear-gradient(135deg, #a855f7 0%, #2563eb 100%);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 0 24px -6px var(--affp-accent-glow);
	flex-shrink: 0;
}

.affwp-portal-calc__icon svg { width: 18px !important; height: 18px !important; }

.affwp-portal-calc__title {
	font-size: 16px;
	font-weight: 700;
	color: var(--affp-text);
	margin: 0;
	letter-spacing: -0.01em;
}

.affwp-portal-calc__sub {
	font-size: 13px;
	color: var(--affp-text-muted);
	margin: 2px 0 0;
}

.affwp-portal-calc__inputs {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 16px;
	margin-bottom: 20px;
}

.affwp-portal-calc__field label {
	display: block;
	font-size: 12px;
	font-weight: 600;
	color: var(--affp-text-muted);
	margin-bottom: 4px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.affwp-portal-calc__hint {
	font-size: 12px;
	color: var(--affp-text-subtle);
	margin: 0 0 10px;
	line-height: 1.4;
	text-transform: none;
	letter-spacing: 0;
}

.affwp-portal-calc__field-row {
	display: flex;
	align-items: center;
	gap: 10px;
}

.affwp-portal-calc__slider {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	height: 6px;
	border-radius: 999px;
	background: var(--affp-bg-2);
	outline: none;
	cursor: pointer;
	border: 0;
}

.affwp-portal-calc__slider::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: linear-gradient(135deg, #a855f7 0%, #2563eb 100%);
	border: 2px solid var(--affp-bg);
	cursor: pointer;
	box-shadow: 0 0 12px var(--affp-accent-glow);
}

.affwp-portal-calc__slider::-moz-range-thumb {
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: linear-gradient(135deg, #a855f7 0%, #2563eb 100%);
	border: 2px solid var(--affp-bg);
	cursor: pointer;
	box-shadow: 0 0 12px var(--affp-accent-glow);
}

.affwp-portal-calc__value {
	font-size: 14px;
	font-weight: 700;
	color: var(--affp-text);
	min-width: 48px;
	text-align: right;
	font-variant-numeric: tabular-nums;
}

.affwp-portal-calc__results {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 12px;
	background: var(--affp-bg-2);
	border: 1px solid var(--affp-border);
	border-radius: 12px;
	padding: 16px;
}

.affwp-portal-calc__result-item {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.affwp-portal-calc__result-label {
	font-size: 11px;
	color: var(--affp-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-weight: 600;
}

.affwp-portal-calc__result-value {
	font-size: 22px;
	font-weight: 800;
	color: var(--affp-text);
	letter-spacing: -0.02em;
	line-height: 1.1;
	background: linear-gradient(135deg, #a855f7 0%, #2563eb 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

/* ============================================================
 * 31. Daily checklist widget
 * ============================================================ */
.affwp-portal-checklist {
	background: var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 16px;
	padding: 24px;
	margin-bottom: 24px;
}

.affwp-portal-checklist__head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
	flex-wrap: wrap;
}

.affwp-portal-checklist__icon {
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: rgba(52, 211, 153, 0.16);
	color: #a7f3d0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	box-shadow: 0 0 24px -8px rgba(52, 211, 153, 0.5);
}

.affwp-portal-checklist__icon svg { width: 18px !important; height: 18px !important; }

.affwp-portal-checklist__title {
	font-size: 16px;
	font-weight: 700;
	color: var(--affp-text);
	margin: 0;
	letter-spacing: -0.01em;
}

.affwp-portal-checklist__sub {
	font-size: 13px;
	color: var(--affp-text-muted);
	margin: 2px 0 0;
}

.affwp-portal-checklist__progress {
	margin-left: auto;
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.affwp-portal-checklist__progress-text {
	font-size: 12px;
	color: var(--affp-text-muted);
	font-weight: 600;
}

.affwp-portal-checklist__progress-bar {
	width: 80px;
	height: 6px;
	background: var(--affp-bg-2);
	border-radius: 999px;
	overflow: hidden;
}

.affwp-portal-checklist__progress-fill {
	height: 100%;
	background: linear-gradient(90deg, #34d399, #22d3ee);
	border-radius: 999px;
	transition: width 0.25s ease;
}

.affwp-portal-checklist__list {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.affwp-portal-checklist__item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 12px 14px;
	background: var(--affp-bg-2);
	border: 1px solid var(--affp-border);
	border-radius: 10px;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.affwp-portal-checklist__item:hover {
	background: var(--affp-surface-2);
	border-color: var(--affp-border-strong);
}

.affwp-portal-checklist__check {
	width: 20px;
	height: 20px;
	border-radius: 6px;
	border: 2px solid var(--affp-border-strong);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	margin-top: 2px;
	transition: background-color 0.15s ease, border-color 0.15s ease;
	color: transparent;
	font-size: 12px;
	font-weight: 800;
}

.affwp-portal-checklist__item.is-done .affwp-portal-checklist__check {
	background: linear-gradient(135deg, #34d399, #22d3ee);
	border-color: transparent;
	color: #fff;
}

.affwp-portal-checklist__item.is-done .affwp-portal-checklist__text {
	color: var(--affp-text-muted) !important;
	text-decoration: line-through !important;
}

.affwp-portal-checklist__text {
	flex: 1;
	min-width: 0;
	color: var(--affp-text) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.5 !important;
}

.affwp-portal-checklist__hint {
	display: block;
	font-size: 12px;
	color: var(--affp-text-muted) !important;
	font-weight: 400 !important;
	margin-top: 2px;
}

/* ============================================================
 * 32. Copy buttons — force pill consistently
 * Beat WoodMart's `.entry-content button { background: white;
 * border-radius: 4px; padding: 16px 24px; ... }`.
 * ============================================================ */
body button.affwp-portal-link-card__copy,
body a.affwp-portal-link-card__copy,
.entry-content button.affwp-portal-link-card__copy,
.entry-content a.affwp-portal-link-card__copy {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	padding: 10px 20px !important;
	background: linear-gradient(135deg, #a855f7 0%, #2563eb 100%) !important;
	background-image: linear-gradient(135deg, #a855f7 0%, #2563eb 100%) !important;
	color: #ffffff !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	font-family: var(--affp-font) !important;
	cursor: pointer !important;
	white-space: nowrap !important;
	text-decoration: none !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	box-shadow: 0 4px 14px -4px var(--affp-accent-glow) !important;
	min-height: 0 !important;
	height: auto !important;
	line-height: 1.2 !important;
	transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease !important;
}

body button.affwp-portal-link-card__copy:hover,
body a.affwp-portal-link-card__copy:hover,
.entry-content button.affwp-portal-link-card__copy:hover,
.entry-content a.affwp-portal-link-card__copy:hover {
	transform: translateY(-1px) !important;
	filter: brightness(1.1) !important;
	box-shadow: 0 8px 24px -6px var(--affp-accent-glow) !important;
	color: #ffffff !important;
	background: linear-gradient(135deg, #a855f7 0%, #2563eb 100%) !important;
	background-image: linear-gradient(135deg, #a855f7 0%, #2563eb 100%) !important;
}

body button.affwp-portal-link-card__copy *,
body a.affwp-portal-link-card__copy *,
.entry-content button.affwp-portal-link-card__copy *,
.entry-content a.affwp-portal-link-card__copy * {
	color: #ffffff !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

body button.affwp-portal-link-card__copy svg,
.entry-content button.affwp-portal-link-card__copy svg {
	width: 14px !important;
	height: 14px !important;
	color: #ffffff !important;
	stroke: #ffffff !important;
}

/* "Copied" feedback state — beats the gradient when active */
body button.affwp-portal-link-card__copy.is-copied,
body a.affwp-portal-link-card__copy.is-copied,
.entry-content button.affwp-portal-link-card__copy.is-copied,
.entry-content a.affwp-portal-link-card__copy.is-copied {
	background: rgba(52, 211, 153, 0.18) !important;
	background-image: none !important;
	color: #a7f3d0 !important;
	box-shadow: 0 0 0 1px rgba(52, 211, 153, 0.45) !important;
}

body button.affwp-portal-link-card__copy.is-copied *,
.entry-content button.affwp-portal-link-card__copy.is-copied * {
	color: #a7f3d0 !important;
	stroke: #a7f3d0 !important;
}

/* "Toggle undone" state for completed lessons (already exists in section 23,
   restated here with stronger selectors so it survives section 32 above) */
body button.affwp-portal-link-card__copy.is-toggle-undone,
.entry-content button.affwp-portal-link-card__copy.is-toggle-undone {
	background: rgba(52, 211, 153, 0.16) !important;
	background-image: none !important;
	color: #a7f3d0 !important;
	box-shadow: 0 0 0 1px rgba(52, 211, 153, 0.4) !important;
}

body button.affwp-portal-link-card__copy.is-toggle-undone *,
.entry-content button.affwp-portal-link-card__copy.is-toggle-undone * {
	color: #a7f3d0 !important;
	stroke: #a7f3d0 !important;
}

/* Coupons card copy button — pill ghost, smaller padding */
body button.affwp-portal-coupons-card__copy,
.entry-content button.affwp-portal-coupons-card__copy {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	padding: 7px 14px !important;
	background: rgba(168, 85, 247, 0.14) !important;
	background-image: none !important;
	border: 1px solid rgba(168, 85, 247, 0.4) !important;
	color: #d8b4fe !important;
	border-radius: 999px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	font-family: var(--affp-font) !important;
	cursor: pointer !important;
	white-space: nowrap !important;
	text-decoration: none !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	box-shadow: none !important;
	min-height: 0 !important;
	height: auto !important;
	line-height: 1.2 !important;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.15s ease !important;
}

body button.affwp-portal-coupons-card__copy *,
.entry-content button.affwp-portal-coupons-card__copy * {
	color: inherit !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

body button.affwp-portal-coupons-card__copy svg,
.entry-content button.affwp-portal-coupons-card__copy svg {
	width: 13px !important;
	height: 13px !important;
	color: currentColor !important;
	stroke: currentColor !important;
}

body button.affwp-portal-coupons-card__copy:hover,
.entry-content button.affwp-portal-coupons-card__copy:hover {
	background: rgba(168, 85, 247, 0.28) !important;
	background-image: none !important;
	border-color: var(--affp-accent) !important;
	color: #ffffff !important;
	transform: translateY(-1px) !important;
}

body button.affwp-portal-coupons-card__copy.is-copied,
.entry-content button.affwp-portal-coupons-card__copy.is-copied {
	background: rgba(52, 211, 153, 0.18) !important;
	border-color: rgba(52, 211, 153, 0.45) !important;
	color: #a7f3d0 !important;
}

/* Ghost button — also forced pill */
body a.affwp-portal-btn-ghost,
body button.affwp-portal-btn-ghost,
.entry-content a.affwp-portal-btn-ghost,
.entry-content button.affwp-portal-btn-ghost {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	padding: 9px 18px !important;
	background: rgba(168, 85, 247, 0.12) !important;
	background-image: none !important;
	border: 1px solid rgba(168, 85, 247, 0.45) !important;
	color: #d8b4fe !important;
	border-radius: 999px !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	font-family: var(--affp-font) !important;
	text-decoration: none !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	white-space: nowrap !important;
	cursor: pointer !important;
	box-shadow: none !important;
	min-height: 0 !important;
	height: auto !important;
	line-height: 1.2 !important;
}

body a.affwp-portal-btn-ghost *,
body button.affwp-portal-btn-ghost *,
.entry-content a.affwp-portal-btn-ghost *,
.entry-content button.affwp-portal-btn-ghost * {
	color: inherit !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

body a.affwp-portal-btn-ghost:hover,
body button.affwp-portal-btn-ghost:hover,
.entry-content a.affwp-portal-btn-ghost:hover,
.entry-content button.affwp-portal-btn-ghost:hover {
	background: rgba(168, 85, 247, 0.22) !important;
	background-image: none !important;
	border-color: var(--affp-accent) !important;
	color: #ffffff !important;
	transform: translateX(2px) !important;
}

/* ============================================================
 * 33. Campaign card actions — beat WoodMart's button reset
 * ============================================================ */
body button.affwp-portal-campaign__action,
.entry-content button.affwp-portal-campaign__action {
	flex: 1 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	padding: 9px 14px !important;
	border-radius: 999px !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	font-family: var(--affp-font) !important;
	cursor: pointer !important;
	white-space: nowrap !important;
	text-decoration: none !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	box-shadow: none !important;
	min-height: 0 !important;
	height: auto !important;
	line-height: 1.2 !important;
	border: 1px solid transparent !important;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.15s ease !important;
}

body button.affwp-portal-campaign__action *,
.entry-content button.affwp-portal-campaign__action * {
	color: inherit !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

body button.affwp-portal-campaign__action svg,
.entry-content button.affwp-portal-campaign__action svg {
	width: 13px !important;
	height: 13px !important;
	color: currentColor !important;
	stroke: currentColor !important;
}

/* Copy variant — violet ghost */
body button.affwp-portal-campaign__action--copy,
.entry-content button.affwp-portal-campaign__action--copy {
	background: rgba(168, 85, 247, 0.14) !important;
	background-image: none !important;
	border-color: rgba(168, 85, 247, 0.4) !important;
	color: #d8b4fe !important;
}

body button.affwp-portal-campaign__action--copy:hover,
.entry-content button.affwp-portal-campaign__action--copy:hover {
	background: rgba(168, 85, 247, 0.28) !important;
	border-color: var(--affp-accent) !important;
	color: #ffffff !important;
	transform: translateY(-1px) !important;
}

body button.affwp-portal-campaign__action--copy.is-copied,
.entry-content button.affwp-portal-campaign__action--copy.is-copied {
	background: rgba(52, 211, 153, 0.18) !important;
	border-color: rgba(52, 211, 153, 0.45) !important;
	color: #a7f3d0 !important;
}

/* Hide variant — neutral grey, red on hover */
body button.affwp-portal-campaign__action--hide,
.entry-content button.affwp-portal-campaign__action--hide {
	background: rgba(148, 163, 184, 0.10) !important;
	background-image: none !important;
	border-color: rgba(148, 163, 184, 0.22) !important;
	color: var(--affp-text-muted) !important;
}

body button.affwp-portal-campaign__action--hide:hover,
.entry-content button.affwp-portal-campaign__action--hide:hover {
	background: rgba(239, 68, 68, 0.16) !important;
	border-color: rgba(239, 68, 68, 0.4) !important;
	color: #fca5a5 !important;
	transform: translateY(-1px) !important;
}

/* Restore-hidden notice button */
body button.affwp-portal-hidden-notice__btn,
.entry-content button.affwp-portal-hidden-notice__btn {
	background: rgba(168, 85, 247, 0.14) !important;
	background-image: none !important;
	border: 1px solid rgba(168, 85, 247, 0.4) !important;
	color: #d8b4fe !important;
	border-radius: 999px !important;
	padding: 8px 14px !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	font-family: var(--affp-font) !important;
	cursor: pointer !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	box-shadow: none !important;
	min-height: 0 !important;
	height: auto !important;
	line-height: 1.2 !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
}

body button.affwp-portal-hidden-notice__btn:hover,
.entry-content button.affwp-portal-hidden-notice__btn:hover {
	background: rgba(168, 85, 247, 0.28) !important;
	color: #ffffff !important;
	border-color: var(--affp-accent) !important;
}

body button.affwp-portal-hidden-notice__btn svg,
.entry-content button.affwp-portal-hidden-notice__btn svg {
	width: 13px !important;
	height: 13px !important;
	color: currentColor !important;
}

/* =============================================================================
 * 34. Mode switch — pill in the topbar to toggle Afiliado / Gestor.
 * =============================================================================
 *
 * Two segments. The active segment shows the gradient of the **current** mode
 * accent (so it adapts: violet when in affiliate, neon-red when in manager).
 */
.affwp-portal-mode-switch {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 4px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.08);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

.affwp-portal-mode-switch__option {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 14px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	color: var(--affp-text-muted);
	text-decoration: none;
	letter-spacing: -0.005em;
	transition: color 0.15s ease, background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
	white-space: nowrap;
	border: 1px solid transparent;
}

.affwp-portal-mode-switch__option svg {
	width: 14px;
	height: 14px;
	flex-shrink: 0;
}

.affwp-portal-mode-switch__option:hover {
	color: var(--affp-text);
	background: rgba(255, 255, 255, 0.05);
}

.affwp-portal-mode-switch__option.is-active {
	background: var(--affp-accent-grad);
	color: #ffffff;
	box-shadow: 0 4px 14px -4px var(--affp-accent-glow), 0 0 0 1px rgba(255, 255, 255, 0.08) inset;
}

.affwp-portal-mode-switch__option.is-active:hover {
	background: var(--affp-accent-grad);
	transform: translateY(-1px);
	box-shadow: 0 8px 22px -6px var(--affp-accent-glow), 0 0 0 1px rgba(255, 255, 255, 0.1) inset;
}

@media (max-width: 768px) {
	.affwp-portal-mode-switch__option {
		padding: 6px 10px;
		font-size: 12px;
	}
	.affwp-portal-mode-switch__option span {
		display: none;
	}
	.affwp-portal-mode-switch__option svg {
		width: 16px;
		height: 16px;
	}
}

/* =============================================================================
 * 35. Manager mode palette — neon red / orange-red accent.
 * =============================================================================
 *
 * The manager panel is the same shell as the affiliate panel but with a hot,
 * sales-floor accent: neon pink-red → neon orange-red gradient. Recoloring
 * happens through the existing CSS variables, so KPI cards, sparklines,
 * buttons, chart strokes, the active sidebar item, etc. all switch in one go.
 */
.affwp-portal--manager {
	--affp-accent:        #34d399;
	--affp-accent-2:      #2dd4bf;
	--affp-accent-3:      #22d3ee;
	--affp-accent-light:  #a7f3d0;
	--affp-accent-soft:   rgba(52, 211, 153, 0.16);
	--affp-accent-soft-2: rgba(52, 211, 153, 0.30);
	--affp-accent-glow:   rgba(52, 211, 153, 0.55);
	--affp-accent-grad:   linear-gradient(135deg, #34d399 0%, #22d3ee 100%);
}

/* Promo card en el sidebar del modo gestor — fondo radial cálido. */
.affwp-portal--manager .affwp-portal-sidebar__promo {
	background:
		radial-gradient(circle at top right, rgba(34, 211, 238, 0.30) 0%, transparent 60%),
		radial-gradient(circle at bottom left, rgba(52, 211, 153, 0.30) 0%, transparent 60%),
		#0f1f1c;
	border-color: rgba(52, 211, 153, 0.20);
}

/* Iconos del nav del gestor — dejamos un tinte rojo claro al estado base. */
.affwp-portal--manager .affwp-portal-sidebar__nav-icon {
	color: rgba(255, 177, 191, 0.85);
}

.affwp-portal--manager .affwp-portal-sidebar__nav-item:hover .affwp-portal-sidebar__nav-icon {
	color: #ffd1d9;
}

.affwp-portal--manager .affwp-portal-sidebar__nav-item.is-active .affwp-portal-sidebar__nav-icon {
	color: #ffffff;
}

/* Status dot — verde por defecto, en modo gestor lo dejamos rojizo "operativo". */
.affwp-portal--manager .affwp-portal-sidebar__status-dot {
	background: #34d399;
	box-shadow: 0 0 12px rgba(52, 211, 153, 0.7);
}

/* Sparklines del gestor — rosa neón sobre los KPI cards. */
.affwp-portal--manager .affp-sparkline-stroke {
	stroke: #a7f3d0;
}

.affwp-portal--manager .affp-sparkline-fill {
	fill: url(#affp-spark-grad-manager);
}

/* Theme overrides — algunas reglas de la sección 18 fijan colores hardcoded
 * (#a78bfa, #60a5fa) que necesitamos repintar para el modo gestor. */
body .affwp-portal--manager .affwp-portal-sidebar__nav-item.is-active::before,
.entry-content .affwp-portal--manager .affwp-portal-sidebar__nav-item.is-active::before {
	background: linear-gradient(180deg, #a7f3d0 0%, #cffafe 100%) !important;
}

body .affwp-portal--manager a,
.entry-content .affwp-portal--manager a {
	color: var(--affp-accent);
}

body .affwp-portal--manager a:hover,
.entry-content .affwp-portal--manager a:hover {
	color: var(--affp-accent-3);
}


/* =============================================================================
 * 36. Manager-mode components (shared building blocks).
 * =============================================================================
 *
 * Componentes nuevos que solo aparecen (por ahora) en las plantillas del
 * panel del gestor: page-header con acciones, empty state grande, search
 * bar, filter chips, stepper, FAQ accordion y el wizard del flujo "Crear
 * pedido".
 *
 * Todos usan las variables `--affp-*` asi que se recolorean solos cuando
 * el shell tiene la clase `.affwp-portal--manager`.
 */

/* Page header con accion a la derecha (ej: "Nuevo pedido"). */
.affwp-portal-page-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}

.affwp-portal-page-header__actions {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

/* Section title (compatible con secciones existentes). */
.affwp-portal-section-title {
	margin: 32px 0 16px;
	font-size: 18px;
	font-weight: 700;
	color: var(--affp-text);
	letter-spacing: -0.01em;
}

/* Empty state — bloque grande con icono, titulo, descripcion y CTA. */
.affwp-portal-empty-state {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 12px;
	padding: 48px 24px;
	background: var(--affp-surface);
	border: 1px dashed var(--affp-border);
	border-radius: 18px;
}

.affwp-portal-empty-state__icon {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--affp-accent-soft);
	color: var(--affp-accent-light);
	font-size: 28px;
	box-shadow: 0 0 32px -10px var(--affp-accent-glow);
}

.affwp-portal-empty-state__icon svg {
	width: 28px;
	height: 28px;
}

.affwp-portal-empty-state__title {
	margin: 8px 0 0;
	font-size: 18px;
	font-weight: 700;
	color: var(--affp-text);
	letter-spacing: -0.01em;
}

.affwp-portal-empty-state__desc {
	margin: 0;
	max-width: 480px;
	color: var(--affp-text-muted);
	font-size: 14px;
	line-height: 1.55;
}

.affwp-portal-empty-state__cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 18px;
	margin-top: 8px;
	border-radius: 999px;
	background: var(--affp-accent-grad);
	color: #ffffff !important;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	box-shadow: 0 8px 22px -6px var(--affp-accent-glow);
	transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}

.affwp-portal-empty-state__cta:hover {
	transform: translateY(-1px);
	filter: brightness(1.08);
	box-shadow: 0 14px 30px -8px var(--affp-accent-glow);
}

.affwp-portal-empty-state__cta svg {
	width: 16px;
	height: 16px;
}

/* Search bar (single input, full-width). */
.affwp-portal-search-bar {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 16px;
	background: var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 14px;
	margin-bottom: 16px;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.affwp-portal-search-bar:focus-within {
	border-color: var(--affp-accent);
	box-shadow: 0 0 0 3px var(--affp-accent-soft);
}

.affwp-portal-search-bar__icon {
	display: inline-flex;
	color: var(--affp-text-muted);
}

.affwp-portal-search-bar__icon svg {
	width: 16px;
	height: 16px;
}

.affwp-portal-search-bar input {
	flex: 1;
	border: 0;
	outline: none;
	background: transparent;
	color: var(--affp-text);
	font-size: 14px;
	font-family: inherit;
}

.affwp-portal-search-bar input::placeholder {
	color: var(--affp-text-muted);
}

.affwp-portal-search-bar input:disabled {
	cursor: not-allowed;
	opacity: 0.65;
}

/* Filter bar — chips horizontales (Todos / En curso / etc). */
.affwp-portal-filter-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 24px;
}

.affwp-portal-filter-bar__chip {
	display: inline-flex;
	align-items: center;
	padding: 8px 14px;
	border-radius: 999px;
	background: var(--affp-surface);
	border: 1px solid var(--affp-border);
	color: var(--affp-text-muted);
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease, transform 0.15s ease;
	font-family: inherit;
}

.affwp-portal-filter-bar__chip:hover {
	color: var(--affp-text);
	border-color: var(--affp-accent-soft-2);
}

.affwp-portal-filter-bar__chip.is-active {
	background: var(--affp-accent-soft);
	border-color: var(--affp-accent-soft-2);
	color: var(--affp-accent-light);
}

/* Stepper — los 1-2-3 del wizard "Crear pedido". */
.affwp-portal-stepper {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 24px;
	padding: 16px 20px;
	background: var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 14px;
	flex-wrap: wrap;
}

.affwp-portal-stepper__step {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--affp-text-muted);
}

.affwp-portal-stepper__step.is-active {
	color: var(--affp-text);
}

.affwp-portal-stepper__num {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 800;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid var(--affp-border);
}

.affwp-portal-stepper__step.is-active .affwp-portal-stepper__num {
	background: var(--affp-accent-grad);
	color: #ffffff;
	border-color: transparent;
	box-shadow: 0 0 16px -4px var(--affp-accent-glow);
}

.affwp-portal-stepper__label {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: -0.005em;
}

.affwp-portal-stepper__sep {
	flex: 1;
	height: 1px;
	background: var(--affp-border);
	min-width: 24px;
	max-width: 80px;
}

@media (max-width: 600px) {
	.affwp-portal-stepper__sep {
		display: none;
	}
}

/* Wizard del manager (Crear pedido) — solo nombres especificos del manager
 * para no chocar con las reglas existentes de .affwp-portal-wizard__step
 * que se usan en el wizard de campanas. */
.affwp-portal-mgr-wizard__intro {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 16px;
}

.affwp-portal-mgr-wizard__intro-icon {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--affp-accent-soft);
	color: var(--affp-accent-light);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.affwp-portal-mgr-wizard__intro-icon svg {
	width: 22px;
	height: 22px;
}

.affwp-portal-mgr-wizard__intro-title {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	color: var(--affp-text);
	letter-spacing: -0.01em;
}

.affwp-portal-mgr-wizard__intro-desc {
	margin: 4px 0 0;
	font-size: 14px;
	color: var(--affp-text-muted);
}

.affwp-portal-mgr-wizard__pane {
	background: var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 16px;
	padding: 24px;
}

.affwp-portal-mgr-wizard__divider {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 20px 0;
	color: var(--affp-text-muted);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
}

.affwp-portal-mgr-wizard__divider::before,
.affwp-portal-mgr-wizard__divider::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--affp-border);
}

.affwp-portal-mgr-wizard__grid-2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

@media (max-width: 700px) {
	.affwp-portal-mgr-wizard__grid-2 {
		grid-template-columns: 1fr;
	}
}

.affwp-portal-mgr-wizard__actions {
	display: flex;
	justify-content: flex-end;
	margin-top: 20px;
}

/* FAQ accordion. */
.affwp-portal-faq {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0 0 24px;
}

.affwp-portal-faq__item {
	background: var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 14px;
	padding: 0;
	overflow: hidden;
	transition: border-color 0.15s ease;
}

.affwp-portal-faq__item:hover {
	border-color: var(--affp-accent-soft-2);
}

.affwp-portal-faq__item[open] {
	border-color: var(--affp-accent-soft-2);
}

.affwp-portal-faq__q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 20px;
	cursor: pointer;
	font-size: 15px;
	font-weight: 600;
	color: var(--affp-text);
	list-style: none;
	user-select: none;
}

.affwp-portal-faq__q::-webkit-details-marker {
	display: none;
}

.affwp-portal-faq__chev {
	display: inline-flex;
	color: var(--affp-text-muted);
	transition: transform 0.2s ease, color 0.15s ease;
	flex-shrink: 0;
}

.affwp-portal-faq__chev svg {
	width: 18px;
	height: 18px;
}

.affwp-portal-faq__item[open] .affwp-portal-faq__chev {
	transform: rotate(180deg);
	color: var(--affp-accent);
}

.affwp-portal-faq__a {
	margin: 0;
	padding: 0 20px 18px;
	font-size: 14px;
	line-height: 1.6;
	color: var(--affp-text-muted);
}

/* =============================================================================
 * 37. Manager mode — color fixes for hardcoded violet rules.
 * =============================================================================
 *
 * Las secciones 18, 22, 32 y la 3563 (.affwp-portal-cta) tienen gradientes y
 * fondos violeta hardcoded con !important. Estas reglas las repintan con la
 * paleta neon roja cuando estamos dentro de `.affwp-portal--manager`.
 *
 * Selectores de alta especificidad (`body .X`, `.entry-content .X`) para
 * vencer al WoodMart override y a las reglas con !important previas.
 */

/* ---- Pill copy / CTA buttons (.affwp-portal-link-card__copy) ---- */
body .affwp-portal--manager .affwp-portal-link-card__copy,
body .affwp-portal--manager button.affwp-portal-link-card__copy,
body .affwp-portal--manager a.affwp-portal-link-card__copy,
.entry-content .affwp-portal--manager .affwp-portal-link-card__copy,
.entry-content .affwp-portal--manager button.affwp-portal-link-card__copy,
.entry-content .affwp-portal--manager a.affwp-portal-link-card__copy {
	background: linear-gradient(135deg, #34d399 0%, #22d3ee 100%) !important;
	background-image: linear-gradient(135deg, #34d399 0%, #22d3ee 100%) !important;
	box-shadow: 0 4px 14px -4px rgba(52, 211, 153, 0.55) !important;
}

body .affwp-portal--manager .affwp-portal-link-card__copy:hover,
body .affwp-portal--manager button.affwp-portal-link-card__copy:hover,
body .affwp-portal--manager a.affwp-portal-link-card__copy:hover,
.entry-content .affwp-portal--manager .affwp-portal-link-card__copy:hover,
.entry-content .affwp-portal--manager button.affwp-portal-link-card__copy:hover,
.entry-content .affwp-portal--manager a.affwp-portal-link-card__copy:hover {
	background: linear-gradient(135deg, #34d399 0%, #22d3ee 100%) !important;
	background-image: linear-gradient(135deg, #34d399 0%, #22d3ee 100%) !important;
	box-shadow: 0 8px 24px -6px rgba(52, 211, 153, 0.6) !important;
}

/* ---- Empty state CTA (mismo gradient para los botones del empty state) ---- */
body .affwp-portal--manager .affwp-portal-empty-state__cta,
.entry-content .affwp-portal--manager .affwp-portal-empty-state__cta {
	background: linear-gradient(135deg, #34d399 0%, #22d3ee 100%) !important;
	background-image: linear-gradient(135deg, #34d399 0%, #22d3ee 100%) !important;
	box-shadow: 0 8px 22px -6px rgba(52, 211, 153, 0.55) !important;
}

/* ---- Stepper active step (recoloreo del num activo) ---- */
body .affwp-portal--manager .affwp-portal-stepper__step.is-active .affwp-portal-stepper__num,
.entry-content .affwp-portal--manager .affwp-portal-stepper__step.is-active .affwp-portal-stepper__num {
	background: linear-gradient(135deg, #34d399 0%, #22d3ee 100%) !important;
	background-image: linear-gradient(135deg, #34d399 0%, #22d3ee 100%) !important;
	color: #ffffff !important;
	box-shadow: 0 0 16px -4px rgba(52, 211, 153, 0.55) !important;
}

/* ---- Banner CTA (.affwp-portal-cta) — fondo radial repintado a calidos ---- */
body .affwp-portal--manager .affwp-portal-cta,
.entry-content .affwp-portal--manager .affwp-portal-cta {
	background:
		radial-gradient(circle at top right, rgba(34, 211, 238, 0.32) 0%, transparent 55%),
		radial-gradient(circle at bottom left, rgba(52, 211, 153, 0.30) 0%, transparent 55%),
		linear-gradient(135deg, #0e1f1c 0%, #0a1f1a 100%) !important;
	border-color: rgba(52, 211, 153, 0.30) !important;
}

body .affwp-portal--manager .affwp-portal-cta__icon,
.entry-content .affwp-portal--manager .affwp-portal-cta__icon {
	background: linear-gradient(135deg, #34d399 0%, #22d3ee 100%) !important;
	box-shadow: 0 0 36px -6px rgba(52, 211, 153, 0.55) !important;
}

/* ---- Sidebar promo button (.affwp-portal-sidebar__promo-btn) ---- */
body .affwp-portal--manager .affwp-portal-sidebar__promo-btn,
.entry-content .affwp-portal--manager .affwp-portal-sidebar__promo-btn {
	background: rgba(52, 211, 153, 0.18) !important;
	border-color: rgba(52, 211, 153, 0.50) !important;
	color: #ffffff !important;
}

body .affwp-portal--manager .affwp-portal-sidebar__promo-btn:hover,
.entry-content .affwp-portal--manager .affwp-portal-sidebar__promo-btn:hover {
	background: rgba(52, 211, 153, 0.32) !important;
	border-color: #34d399 !important;
	color: #ffffff !important;
}

/* ---- Filter bar chip activo (en modo manager) ---- */
body .affwp-portal--manager .affwp-portal-filter-bar__chip.is-active,
.entry-content .affwp-portal--manager .affwp-portal-filter-bar__chip.is-active {
	background: rgba(52, 211, 153, 0.16) !important;
	border-color: rgba(52, 211, 153, 0.40) !important;
	color: #a7f3d0 !important;
}

/* ---- Topbar profile tier label en modo manager ---- */
body .affwp-portal-mode-manager .affwp-portal-profile__tier {
	color: #a7f3d0;
}

/* ---- KPI icon backgrounds (los KPI cards tienen tonos hardcoded) ---- */
body .affwp-portal--manager .affwp-portal-kpi--accent .affwp-portal-kpi__icon,
.entry-content .affwp-portal--manager .affwp-portal-kpi--accent .affwp-portal-kpi__icon {
	background: rgba(52, 211, 153, 0.18) !important;
	color: #a7f3d0 !important;
}

body .affwp-portal--manager .affwp-portal-kpi--info .affwp-portal-kpi__icon,
.entry-content .affwp-portal--manager .affwp-portal-kpi--info .affwp-portal-kpi__icon {
	background: rgba(34, 211, 238, 0.18) !important;
	color: #cffafe !important;
}

/* ---- Page header acento (texto azul -> rojo neon) ---- */
body .affwp-portal--manager .affp-accent,
.entry-content .affwp-portal--manager .affp-accent {
	background: linear-gradient(135deg, #34d399 0%, #22d3ee 100%) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	color: transparent !important;
}

/* =============================================================================
 * 38. Manager wizard — Crear pedido (Steps 1, 2, 3)
 * =============================================================================
 *
 * Estilos para los componentes interactivos del wizard "Crear pedido":
 * pasos visibles/ocultos, resultados de busqueda, preview de cliente,
 * tarjetas de producto, carrito, totales y errores inline.
 *
 * Todos usan las variables `--affp-*` para que se recoloreen automaticamente
 * con el modo gestor (rojo neon).
 */

/* ---- Step visibility ---- */
.affwp-portal-mgr-step {
	display: none;
}
.affwp-portal-mgr-step.is-active {
	display: block;
}

/* ---- Stepper "complete" state ---- */
.affwp-portal-stepper__step.is-complete .affwp-portal-stepper__num {
	background: rgba(52, 211, 153, 0.18);
	border-color: rgba(52, 211, 153, 0.40);
	color: #a7f3d0;
}

/* ---- Required marker ---- */
.affwp-portal-mgr-required {
	color: var(--affp-accent);
	font-weight: 700;
	margin-left: 2px;
}

/* ---- Field error ---- */
.affwp-portal-wizard__field input.has-error,
.affwp-portal-wizard__field select.has-error {
	border-color: #ef4444 !important;
	box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15) !important;
}

.affwp-portal-mgr-field-error {
	margin: 6px 0 0;
	font-size: 12.5px;
	color: #fca5a5;
	display: flex;
	align-items: center;
	gap: 6px;
}

.affwp-portal-mgr-field-error::before {
	content: "⚠";
	font-size: 13px;
}

/* ---- Step nav (botones siguiente / volver) ---- */
.affwp-portal-mgr-step__nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-top: 24px;
	flex-wrap: wrap;
}

.affwp-portal-mgr-step__nav button:only-child {
	margin-left: auto;
}

/* ---- Nota del pedido (step 3) — minimalista, encaja con el wizard dark ---- */
.affwp-portal-mgr-order-note {
	display: flex;
	flex-direction: column;
	gap: 5px;
	margin: 14px 0 4px;
	max-width: 520px;
}

.affwp-portal-mgr-order-note__label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--affp-text-muted);
}

.affwp-portal-mgr-order-note__label svg {
	width: 12px;
	height: 12px;
	color: var(--affp-text-subtle);
}

.affwp-portal-mgr-order-note textarea {
	width: 100%;
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid var(--affp-border);
	border-radius: 8px;
	padding: 7px 10px;
	color: var(--affp-text);
	font-family: inherit;
	font-size: 12.5px;
	line-height: 1.4;
	resize: none;
	min-height: 42px;
	max-height: 80px;
	transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.affwp-portal-mgr-order-note textarea::placeholder {
	color: var(--affp-text-subtle);
}

.affwp-portal-mgr-order-note textarea:hover {
	border-color: var(--affp-border-strong);
}

.affwp-portal-mgr-order-note textarea:focus {
	outline: none;
	border-color: var(--affp-accent-soft-2);
	background: rgba(255, 255, 255, 0.05);
	box-shadow: 0 0 0 3px rgba(168, 85, 247, 0.12);
}

.affwp-portal-mgr-order-note__hint {
	font-size: 11px;
	color: var(--affp-text-subtle);
	line-height: 1.35;
}

/* ---- Loading / no-results placeholders ---- */
.affwp-portal-mgr-loading,
.affwp-portal-mgr-no-results {
	padding: 18px;
	text-align: center;
	color: var(--affp-text-muted);
	font-size: 13.5px;
	background: rgba(255, 255, 255, 0.02);
	border: 1px dashed var(--affp-border);
	border-radius: 12px;
	margin: 12px 0 0;
}

/* ---- Botón "Ver más productos" (step 1 — paginación del catálogo) ---- */
.affwp-portal-mgr-load-more-wrap {
	display: flex;
	justify-content: center;
	margin: 18px 0 4px;
}

.affwp-portal-mgr-load-more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 22px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid var(--affp-border);
	border-radius: 999px;
	color: var(--affp-text-muted);
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.12s ease;
}

.affwp-portal-mgr-load-more:hover {
	background: rgba(168, 85, 247, 0.10);
	border-color: var(--affp-accent-soft-2);
	color: var(--affp-text);
}

.affwp-portal-mgr-load-more:active {
	transform: translateY(1px);
}

.affwp-portal-mgr-load-more:disabled,
.affwp-portal-mgr-load-more.is-loading {
	cursor: progress;
	opacity: 0.7;
}

.affwp-portal-mgr-load-more svg {
	width: 14px;
	height: 14px;
	transition: transform 0.2s ease;
}

.affwp-portal-mgr-load-more:hover svg {
	transform: translateY(2px);
}

.affwp-portal-mgr-load-more.is-loading svg {
	animation: affwp-mgr-load-spin 0.7s linear infinite;
}

@keyframes affwp-mgr-load-spin {
	from { transform: rotate(0deg); }
	to   { transform: rotate(360deg); }
}

/* ---- Search results (clientes) ---- */
.affwp-portal-mgr-search-results {
	margin-top: 12px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.affwp-portal-mgr-client-result {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	padding: 12px 14px;
	background: rgba(255, 255, 255, 0.02);
	border: 1px solid var(--affp-border);
	border-radius: 12px;
	color: var(--affp-text);
	cursor: pointer;
	text-align: left;
	font-family: inherit;
	transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.affwp-portal-mgr-client-result:hover {
	background: var(--affp-accent-soft);
	border-color: var(--affp-accent-soft-2);
	transform: translateX(2px);
}

.affwp-portal-mgr-client-result__name {
	font-weight: 700;
	font-size: 14px;
}

.affwp-portal-mgr-client-result__sub {
	font-size: 12px;
	color: var(--affp-text-muted);
}

/* ---- Selected client preview card ---- */
.affwp-portal-mgr-client-preview {
	margin-bottom: 20px;
}

.affwp-portal-mgr-client-card {
	background:
		radial-gradient(circle at top right, var(--affp-accent-soft) 0%, transparent 60%),
		var(--affp-surface);
	border: 1px solid var(--affp-accent-soft-2);
	border-radius: 16px;
	padding: 20px 22px;
	box-shadow: 0 8px 24px -10px var(--affp-accent-glow);
}

.affwp-portal-mgr-client-card__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 12px;
	flex-wrap: wrap;
}

.affwp-portal-mgr-client-card__name {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	color: var(--affp-text);
	letter-spacing: -0.01em;
}

.affwp-portal-mgr-client-card__badge {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	border-radius: 999px;
	background: var(--affp-accent-soft);
	color: var(--affp-accent-light);
	font-size: 12px;
	font-weight: 600;
}

.affwp-portal-mgr-client-card__details {
	margin: 12px 0 14px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.affwp-portal-mgr-client-card__details > div {
	display: flex;
	gap: 8px;
	font-size: 13.5px;
	color: var(--affp-text-muted);
}

.affwp-portal-mgr-client-card__details dt {
	font-size: 14px;
	margin: 0;
	flex-shrink: 0;
}

.affwp-portal-mgr-client-card__details dd {
	margin: 0;
}

.affwp-portal-mgr-link {
	background: transparent;
	border: 0;
	padding: 0;
	color: var(--affp-accent-light);
	font-weight: 600;
	font-size: 12.5px;
	cursor: pointer;
	font-family: inherit;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.affwp-portal-mgr-link:hover {
	color: #ffffff;
}

/* ---- Product results grid ---- */
.affwp-portal-mgr-product-grid {
	margin-top: 16px;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 12px;
}

.affwp-portal-mgr-product-result {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px;
	background: rgba(255, 255, 255, 0.02);
	border: 1px solid var(--affp-border);
	border-radius: 14px;
	transition: border-color 0.15s ease, transform 0.15s ease;
}

.affwp-portal-mgr-product-result:hover {
	border-color: var(--affp-accent-soft-2);
	transform: translateY(-1px);
}

.affwp-portal-mgr-product-result__img,
.affwp-portal-mgr-product-result__noimg {
	width: 56px;
	height: 56px;
	border-radius: 10px;
	object-fit: cover;
	background: rgba(255, 255, 255, 0.04);
	flex-shrink: 0;
}

.affwp-portal-mgr-product-result__body {
	flex: 1;
	min-width: 0;
}

.affwp-portal-mgr-product-result__name {
	margin: 0;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--affp-text);
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.affwp-portal-mgr-product-result__price {
	margin: 4px 0 0;
	font-size: 13px;
	color: var(--affp-accent-light);
	font-weight: 600;
}

.affwp-portal-mgr-product-result__stock.is-out {
	display: inline-block;
	margin-top: 4px;
	padding: 2px 8px;
	border-radius: 999px;
	background: rgba(239, 68, 68, 0.15);
	color: #fca5a5;
	font-size: 11px;
	font-weight: 600;
}

.affwp-portal-mgr-product-result__add {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--affp-accent-grad);
	color: #ffffff;
	border: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	line-height: 1;
	font-weight: 600;
	cursor: pointer;
	flex-shrink: 0;
	box-shadow: 0 4px 14px -4px var(--affp-accent-glow);
	transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}

.affwp-portal-mgr-product-result__add:hover:not([disabled]) {
	transform: translateY(-1px) scale(1.04);
	filter: brightness(1.08);
	box-shadow: 0 8px 22px -6px var(--affp-accent-glow);
}

.affwp-portal-mgr-product-result__add[disabled] {
	opacity: 0.4;
	cursor: not-allowed;
}

/* ---- Cart ---- */
.affwp-portal-mgr-cart-wrap {
	background: var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 16px;
	padding: 18px 22px;
}

.affwp-portal-mgr-cart-empty {
	color: var(--affp-text-muted);
	font-size: 13px;
	padding: 20px 0;
	text-align: center;
}

.affwp-portal-mgr-cart-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.affwp-portal-mgr-cart-item {
	display: grid;
	grid-template-columns: 52px 1fr 128px 90px 32px;
	align-items: center;
	gap: 12px;
	padding: 12px 0;
	border-bottom: 1px solid var(--affp-border);
}

.affwp-portal-mgr-cart-item:last-child {
	border-bottom: 0;
}

.affwp-portal-mgr-cart-item__img,
.affwp-portal-mgr-cart-item__noimg {
	width: 52px;
	height: 52px;
	border-radius: 10px;
	object-fit: cover;
	background: rgba(255, 255, 255, 0.04);
}

.affwp-portal-mgr-cart-item__body h5 {
	margin: 0;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--affp-text);
	line-height: 1.3;
}

.affwp-portal-mgr-cart-item__body p {
	margin: 2px 0 0;
	font-size: 12px;
	color: var(--affp-text-muted);
}

/* Badge "Máx. 1 por pedido" — productos vendidos individualmente (WC). */
.affwp-portal-mgr-cart-item__limit {
	display: inline-block;
	margin: 4px 0 0;
	padding: 1px 7px;
	font-size: 10.5px;
	font-weight: 600;
	line-height: 1.5;
	color: #fbbf24;
	background: rgba(251, 191, 36, 0.12);
	border: 1px solid rgba(251, 191, 36, 0.28);
	border-radius: 999px;
	letter-spacing: 0.01em;
}

/* === Stepper [ − ] [ qty ] [ + ] ================================ */
.affwp-portal-mgr-cart-item__stepper {
	display: inline-flex;
	align-items: stretch;
	border: 1px solid var(--affp-border);
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.03);
	overflow: hidden;
	width: 100%;
	max-width: 128px;
	height: 38px;
	user-select: none;
}

.affwp-portal-mgr-cart-item__stepper:focus-within {
	border-color: var(--affp-accent-soft-2, rgba(168, 85, 247, 0.45));
	box-shadow: 0 0 0 3px rgba(168, 85, 247, 0.10);
}

html body button.affwp-portal-mgr-cart-item__step,
.entry-content button.affwp-portal-mgr-cart-item__step {
	width: 38px !important;
	height: 100% !important;
	min-width: 38px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: transparent !important;
	border: 0 !important;
	color: var(--affp-text) !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	cursor: pointer !important;
	padding: 0 !important;
	margin: 0 !important;
	font-family: inherit !important;
	transition: background 0.12s ease, color 0.12s ease !important;
	box-shadow: none !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

html body button.affwp-portal-mgr-cart-item__step:hover:not([disabled]),
.entry-content button.affwp-portal-mgr-cart-item__step:hover:not([disabled]) {
	background: rgba(168, 85, 247, 0.16) !important;
	color: #fff !important;
}

html body button.affwp-portal-mgr-cart-item__step:active:not([disabled]),
.entry-content button.affwp-portal-mgr-cart-item__step:active:not([disabled]) {
	background: rgba(168, 85, 247, 0.28) !important;
}

html body button.affwp-portal-mgr-cart-item__step[disabled],
.entry-content button.affwp-portal-mgr-cart-item__step[disabled] {
	opacity: 0.35 !important;
	cursor: not-allowed !important;
}

.affwp-portal-mgr-cart-item__qty {
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
	padding: 0 4px;
	background: transparent;
	border: 0;
	border-left: 1px solid var(--affp-border);
	border-right: 1px solid var(--affp-border);
	color: var(--affp-text);
	font-size: 14px;
	font-weight: 700;
	text-align: center;
	font-family: inherit;
	font-variant-numeric: tabular-nums;
	-moz-appearance: textfield;
	appearance: textfield;
}
.affwp-portal-mgr-cart-item__qty::-webkit-outer-spin-button,
.affwp-portal-mgr-cart-item__qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.affwp-portal-mgr-cart-item__qty:focus {
	outline: none;
}

.affwp-portal-mgr-cart-item__subtotal {
	margin: 0;
	font-weight: 700;
	color: var(--affp-text);
	font-size: 14px;
	text-align: right;
	font-variant-numeric: tabular-nums;
}

.affwp-portal-mgr-cart-item__remove {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 1px solid var(--affp-border);
	background: rgba(255, 255, 255, 0.03);
	color: var(--affp-text-muted);
	cursor: pointer;
	font-size: 16px;
	line-height: 1;
	transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease;
	font-family: inherit;
}

.affwp-portal-mgr-cart-item__remove:hover {
	color: #fca5a5;
	border-color: rgba(239, 68, 68, 0.5);
	background: rgba(239, 68, 68, 0.1);
}

/* === Mobile <640px — layout 2 rows con touch targets más grandes === */
@media (max-width: 640px) {
	.affwp-portal-mgr-cart-item {
		grid-template-columns: 52px 1fr 36px;
		grid-template-rows: auto auto;
		gap: 10px 12px;
		padding: 14px 0;
	}
	.affwp-portal-mgr-cart-item__img,
	.affwp-portal-mgr-cart-item__noimg {
		grid-row: 1;
		grid-column: 1;
	}
	.affwp-portal-mgr-cart-item__body {
		grid-row: 1;
		grid-column: 2;
		min-width: 0;
	}
	.affwp-portal-mgr-cart-item__body h5 {
		font-size: 14px;
	}
	.affwp-portal-mgr-cart-item__remove {
		grid-row: 1;
		grid-column: 3;
		align-self: start;
		width: 36px;
		height: 36px;
	}
	.affwp-portal-mgr-cart-item__stepper {
		grid-row: 2;
		grid-column: 1 / 3;
		max-width: 150px;
		height: 42px; /* touch target generoso */
	}
	html body button.affwp-portal-mgr-cart-item__step,
	.entry-content button.affwp-portal-mgr-cart-item__step {
		width: 44px !important;
		min-width: 44px !important;
		font-size: 22px !important;
	}
	.affwp-portal-mgr-cart-item__qty {
		font-size: 16px; /* evita zoom auto en iOS */
	}
	.affwp-portal-mgr-cart-item__subtotal {
		grid-row: 2;
		grid-column: 3 / 4;
		text-align: right;
		align-self: center;
		font-size: 15px;
	}
}

/* ---- Totals ---- */
.affwp-portal-mgr-totals {
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px solid var(--affp-border);
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.affwp-portal-mgr-totals__row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	font-size: 13.5px;
	color: var(--affp-text-muted);
}

.affwp-portal-mgr-totals__row strong {
	color: var(--affp-text);
}

.affwp-portal-mgr-totals__row--total {
	margin-top: 6px;
	padding-top: 10px;
	border-top: 1px dashed var(--affp-border);
	font-size: 16px;
}

.affwp-portal-mgr-totals__row--total strong {
	color: var(--affp-accent-light);
	font-size: 18px;
	font-weight: 800;
}

/* ---- Confirmation pane (Step 3) ---- */
.affwp-portal-mgr-confirm__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}

@media (max-width: 720px) {
	.affwp-portal-mgr-confirm__grid {
		grid-template-columns: 1fr;
	}
}

.affwp-portal-mgr-confirm__grid h3 {
	margin: 0 0 10px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: var(--affp-text-muted);
	text-transform: uppercase;
}

.affwp-portal-mgr-confirm__client h4 {
	margin: 0;
	font-size: 16px;
	color: var(--affp-text);
}

.affwp-portal-mgr-confirm__client p {
	margin: 4px 0 0;
	font-size: 13.5px;
	color: var(--affp-text-muted);
}

.affwp-portal-mgr-confirm__items {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.affwp-portal-mgr-confirm__items li {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	font-size: 13.5px;
	padding: 8px 0;
	border-bottom: 1px solid var(--affp-border);
}

.affwp-portal-mgr-confirm__items li:last-child {
	border-bottom: 0;
}

.affwp-portal-mgr-confirm__items li span {
	color: var(--affp-text-muted);
}

.affwp-portal-mgr-confirm__items li strong {
	color: var(--affp-text);
}

.affwp-portal-mgr-confirm__totals {
	margin-top: 24px;
	padding-top: 16px;
	border-top: 1px solid var(--affp-border);
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.affwp-portal-mgr-confirm__totals > div {
	display: flex;
	justify-content: space-between;
	font-size: 13.5px;
	color: var(--affp-text-muted);
}

.affwp-portal-mgr-confirm__totals > div strong {
	color: var(--affp-text);
}

.affwp-portal-mgr-confirm__totals .is-total {
	margin-top: 6px;
	padding-top: 10px;
	border-top: 1px dashed var(--affp-border);
	font-size: 16px;
}

.affwp-portal-mgr-confirm__totals .is-total strong {
	color: var(--affp-accent-light);
	font-size: 18px;
	font-weight: 800;
}

/* ---- Clients tab list ---- */
.affwp-portal-mgr-clients-count {
	margin: 0 0 14px;
	color: var(--affp-text-muted);
	font-size: 13px;
}

.affwp-portal-mgr-clients-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 12px;
}

.affwp-portal-mgr-client-row {
	display: grid;
	grid-template-columns: 44px 1fr auto;
	gap: 14px;
	padding: 14px 16px;
	background: var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 14px;
	transition: border-color 0.15s ease, transform 0.15s ease;
}

.affwp-portal-mgr-client-row:hover {
	border-color: var(--affp-accent-soft-2);
	transform: translateY(-1px);
}

.affwp-portal-mgr-client-row__avatar {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	font-weight: 800;
	color: #ffffff;
	background: var(--affp-accent-grad);
}

.affwp-portal-mgr-client-row__name {
	margin: 0;
	font-size: 15px;
	font-weight: 700;
	color: var(--affp-text);
}

.affwp-portal-mgr-client-row__meta,
.affwp-portal-mgr-client-row__address,
.affwp-portal-mgr-client-row__email {
	margin: 2px 0 0;
	font-size: 12.5px;
	color: var(--affp-text-muted);
}

.affwp-portal-mgr-client-row__date {
	font-size: 11.5px;
	color: var(--affp-text-muted);
	white-space: nowrap;
	align-self: start;
}

/* ---- Theme overrides — selects readable on dark ---- */
body .affwp-portal-mgr-step select,
.entry-content .affwp-portal-mgr-step select {
	background: rgba(255, 255, 255, 0.04) !important;
	border: 1px solid var(--affp-border) !important;
	color: var(--affp-text) !important;
	border-radius: 10px !important;
	padding: 10px 12px !important;
	font-size: 13.5px !important;
	font-family: var(--affp-font) !important;
	appearance: none !important;
	-webkit-appearance: none !important;
}

body .affwp-portal-mgr-step select:focus,
.entry-content .affwp-portal-mgr-step select:focus {
	border-color: var(--affp-accent) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px var(--affp-accent-soft) !important;
}

body .affwp-portal-mgr-step select option,
.entry-content .affwp-portal-mgr-step select option {
	background: #1a1024 !important;
	color: var(--affp-text) !important;
}

/* =============================================================================
 * 39. Manager: rediseño de tarjetas de producto + boton Añadir
 * =============================================================================
 *
 * Sustituye los estilos pequeños de la seccion 38 por tarjetas mas grandes
 * (imagen 80x80, padding 14, grid 3 columnas a partir de 360px de ancho).
 * El boton "+" cuadrado se reemplaza por un pill con texto "Añadir" usando
 * la clase `.affwp-portal-link-card__copy` (que ya tiene los overrides
 * fuertes contra WoodMart en seccion 32).
 */

/* Grid: 3 columnas en desktop, 2 en tablet, 1 en mobile */
.affwp-portal-mgr-product-grid {
	margin-top: 16px;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
	gap: 14px;
}

/* Card: imagen mas grande + padding mas generoso */
.affwp-portal-mgr-product-result {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px;
	background: var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 14px;
	transition: border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.affwp-portal-mgr-product-result:hover {
	border-color: var(--affp-accent-soft-2);
	transform: translateY(-1px);
	box-shadow: 0 8px 24px -10px var(--affp-accent-glow);
}

.affwp-portal-mgr-product-result__img,
.affwp-portal-mgr-product-result__noimg {
	width: 80px;
	height: 80px;
	border-radius: 10px;
	object-fit: cover;
	background: rgba(255, 255, 255, 0.04);
	flex-shrink: 0;
}

.affwp-portal-mgr-product-result__body {
	flex: 1;
	min-width: 0;
}

.affwp-portal-mgr-product-result__name {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	color: var(--affp-text);
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.affwp-portal-mgr-product-result__price {
	margin: 6px 0 0;
	font-size: 15px;
	font-weight: 700;
	color: var(--affp-accent-light);
}

/* El boton del card usa .affwp-portal-link-card__copy (que ya es pill rojo
 * neon en modo manager). Aquí solo añadimos overrides minimos de tamaño. */
body .affwp-portal-mgr-product-result .affwp-portal-mgr-add-btn,
.entry-content .affwp-portal-mgr-product-result .affwp-portal-mgr-add-btn {
	padding: 8px 16px !important;
	font-size: 12.5px !important;
	flex-shrink: 0 !important;
}

body .affwp-portal-mgr-product-result .affwp-portal-mgr-add-btn svg,
.entry-content .affwp-portal-mgr-product-result .affwp-portal-mgr-add-btn svg {
	width: 14px !important;
	height: 14px !important;
}

@media (max-width: 480px) {
	.affwp-portal-mgr-product-result {
		flex-wrap: wrap;
	}
	.affwp-portal-mgr-product-result__body {
		flex: 1 1 calc(100% - 94px);
	}
	body .affwp-portal-mgr-product-result .affwp-portal-mgr-add-btn,
	.entry-content .affwp-portal-mgr-product-result .affwp-portal-mgr-add-btn {
		flex: 1 1 100% !important;
		justify-content: center !important;
	}
}

/* =============================================================================
 * 40. Manager polish — sticky search, floating cart, theme overrides duros.
 * =============================================================================
 *
 * Tres bloques:
 *   A) Search bar de productos sticky + estilo card.
 *   B) Floating mini-cart (pill abajo a la derecha) + pulse animation.
 *   C) Overrides con !important contra WoodMart para: client-result button,
 *      cart-item__remove, cart-item__qty, link-card__copy[disabled].
 */

/* ============== A) Sticky product search bar =============================== */

.affwp-portal-mgr-product-search-bar {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 18px;
	margin: 0 0 18px;
	background: rgba(20, 14, 26, 0.85);
	border: 1px solid var(--affp-border);
	border-radius: 14px;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	position: sticky;
	top: 0;
	z-index: 8;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.affwp-portal-mgr-product-search-bar:focus-within {
	border-color: var(--affp-accent-soft-2);
	box-shadow: 0 0 0 3px var(--affp-accent-soft);
}

.affwp-portal-mgr-product-search-bar__icon {
	color: var(--affp-accent-light);
	display: inline-flex;
	flex-shrink: 0;
}

.affwp-portal-mgr-product-search-bar__icon svg {
	width: 18px;
	height: 18px;
}

.affwp-portal-mgr-product-search-bar input {
	flex: 1;
	border: 0;
	outline: none;
	background: transparent;
	color: var(--affp-text);
	font-size: 14px;
	font-family: inherit;
}

.affwp-portal-mgr-product-search-bar input::placeholder {
	color: var(--affp-text-muted);
}

/* ============== B) Floating mini-cart ====================================== */

.affwp-portal-mgr-floating-cart {
	position: fixed;
	bottom: 24px;
	right: 24px;
	display: none; /* shown via .is-visible */
	align-items: center;
	gap: 12px;
	padding: 12px 18px 12px 14px;
	background: linear-gradient(135deg, #34d399 0%, #22d3ee 100%);
	border: 0;
	border-radius: 999px;
	box-shadow: 0 14px 40px -10px rgba(52, 211, 153, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.08) inset;
	color: #ffffff;
	font-family: var(--affp-font);
	cursor: pointer;
	z-index: 80;
	transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
	min-height: 0;
	height: auto;
}

.affwp-portal-mgr-floating-cart.is-visible {
	display: inline-flex;
	animation: affwp-mgr-cart-in 0.25s ease;
}

.affwp-portal-mgr-floating-cart:hover {
	transform: translateY(-2px);
	filter: brightness(1.06);
	box-shadow: 0 20px 50px -10px rgba(52, 211, 153, 0.7), 0 0 0 1px rgba(255, 255, 255, 0.12) inset;
}

@keyframes affwp-mgr-cart-in {
	from { opacity: 0; transform: translateY(20px); }
	to   { opacity: 1; transform: translateY(0); }
}

.affwp-portal-mgr-floating-cart.is-pulsing {
	animation: affwp-mgr-cart-pulse 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes affwp-mgr-cart-pulse {
	0%   { transform: scale(1); }
	35%  { transform: scale(1.12); box-shadow: 0 24px 60px -10px rgba(52, 211, 153, 0.85), 0 0 0 6px rgba(52, 211, 153, 0.20); }
	100% { transform: scale(1); }
}

.affwp-portal-mgr-floating-cart__icon {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.25);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	flex-shrink: 0;
}

.affwp-portal-mgr-floating-cart__icon svg {
	width: 16px;
	height: 16px;
}

.affwp-portal-mgr-floating-cart__body {
	display: flex;
	flex-direction: column;
	line-height: 1.2;
	align-items: flex-start;
}

.affwp-portal-mgr-floating-cart__count {
	font-size: 11px;
	opacity: 0.9;
	font-weight: 500;
	letter-spacing: 0.01em;
}

.affwp-portal-mgr-floating-cart__total {
	font-size: 16px;
	font-weight: 800;
	letter-spacing: -0.01em;
}

.affwp-portal-mgr-floating-cart__chev {
	display: inline-flex;
	color: rgba(255, 255, 255, 0.85);
	flex-shrink: 0;
	transform: rotate(-90deg); /* apuntar a la derecha como ">" */
}

.affwp-portal-mgr-floating-cart__chev svg {
	width: 14px;
	height: 14px;
}

@media (max-width: 600px) {
	.affwp-portal-mgr-floating-cart {
		bottom: 16px;
		right: 16px;
		left: 16px;
		justify-content: space-between;
	}
}

/* ============== C) Overrides duros contra WoodMart ========================= */

/* C1) Botón resultado de búsqueda de cliente (Eric Test). El theme lo pintaba
 *     blanco con border-radius 4px. Lo forzamos a card oscuro full-width. */
body .affwp-portal-mgr-client-result,
body button.affwp-portal-mgr-client-result,
.entry-content .affwp-portal-mgr-client-result,
.entry-content button.affwp-portal-mgr-client-result {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	width: 100% !important;
	max-width: 100% !important;
	padding: 14px 16px !important;
	background: rgba(255, 255, 255, 0.04) !important;
	background-image: none !important;
	border: 1px solid var(--affp-border) !important;
	border-radius: 12px !important;
	color: var(--affp-text) !important;
	font-family: var(--affp-font) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	box-shadow: none !important;
	text-align: left !important;
	cursor: pointer !important;
	height: auto !important;
	min-height: 0 !important;
	line-height: 1.4 !important;
	transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease !important;
}

body .affwp-portal-mgr-client-result:hover,
.entry-content .affwp-portal-mgr-client-result:hover {
	background: var(--affp-accent-soft) !important;
	border-color: var(--affp-accent-soft-2) !important;
	color: var(--affp-text) !important;
	transform: translateX(2px) !important;
}

body .affwp-portal-mgr-client-result__name,
.entry-content .affwp-portal-mgr-client-result__name {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: var(--affp-text) !important;
	letter-spacing: -0.005em !important;
}

body .affwp-portal-mgr-client-result__sub,
.entry-content .affwp-portal-mgr-client-result__sub {
	font-size: 12px !important;
	color: var(--affp-text-muted) !important;
	font-weight: 400 !important;
	margin-top: 3px !important;
}

/* C2) Cart item — botón "x" remover. El theme lo dejaba blanco cuadrado. */
body .affwp-portal-mgr-cart-item__remove,
body button.affwp-portal-mgr-cart-item__remove,
.entry-content .affwp-portal-mgr-cart-item__remove,
.entry-content button.affwp-portal-mgr-cart-item__remove {
	width: 32px !important;
	height: 32px !important;
	min-width: 32px !important;
	border-radius: 50% !important;
	border: 1px solid var(--affp-border) !important;
	background: rgba(255, 255, 255, 0.03) !important;
	background-image: none !important;
	color: var(--affp-text-muted) !important;
	cursor: pointer !important;
	font-size: 18px !important;
	line-height: 1 !important;
	padding: 0 !important;
	font-family: var(--affp-font) !important;
	font-weight: 400 !important;
	box-shadow: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 0 !important;
	height: 32px !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease !important;
}

body .affwp-portal-mgr-cart-item__remove:hover,
.entry-content .affwp-portal-mgr-cart-item__remove:hover {
	color: #fca5a5 !important;
	border-color: rgba(239, 68, 68, 0.5) !important;
	background: rgba(239, 68, 68, 0.1) !important;
}

/* C3) Cart item — input de cantidad (DENTRO del stepper +/−). El input ya
 * vive dentro de un contenedor flex con bordes propios; solo necesitamos
 * que WoodMart NO le ponga estilos de input "boxed" ni width fija. */
body .affwp-portal-mgr-cart-item__qty,
.entry-content .affwp-portal-mgr-cart-item__qty {
	background: transparent !important;
	background-image: none !important;
	border: 0 !important;
	border-left: 1px solid var(--affp-border) !important;
	border-right: 1px solid var(--affp-border) !important;
	color: var(--affp-text) !important;
	border-radius: 0 !important;
	width: 100% !important;
	flex: 1 1 auto !important;
	min-width: 0 !important;
	padding: 0 4px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	text-align: center !important;
	font-family: var(--affp-font) !important;
	min-height: 0 !important;
	height: 100% !important;
	box-shadow: none !important;
	font-variant-numeric: tabular-nums !important;
	-moz-appearance: textfield !important;
	appearance: textfield !important;
}

body .affwp-portal-mgr-cart-item__qty::-webkit-outer-spin-button,
body .affwp-portal-mgr-cart-item__qty::-webkit-inner-spin-button,
.entry-content .affwp-portal-mgr-cart-item__qty::-webkit-outer-spin-button,
.entry-content .affwp-portal-mgr-cart-item__qty::-webkit-inner-spin-button {
	-webkit-appearance: none !important;
	margin: 0 !important;
}

body .affwp-portal-mgr-cart-item__qty:focus,
.entry-content .affwp-portal-mgr-cart-item__qty:focus {
	border-color: var(--affp-accent-soft-2, rgba(168, 85, 247, 0.45)) !important;
	box-shadow: none !important;
	outline: none !important;
}

/* Stepper container — defeat theme button-grouping styles si los hay. */
body .affwp-portal-mgr-cart-item__stepper,
.entry-content .affwp-portal-mgr-cart-item__stepper {
	display: inline-flex !important;
	align-items: stretch !important;
	width: 100% !important;
	max-width: 128px !important;
	height: 38px !important;
	background: rgba(255, 255, 255, 0.03) !important;
	border: 1px solid var(--affp-border) !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
}
@media (max-width: 640px) {
	body .affwp-portal-mgr-cart-item__stepper,
	.entry-content .affwp-portal-mgr-cart-item__stepper {
		max-width: 150px !important;
		height: 42px !important;
	}
}

/* C4) Botón pill disabled (Step 3 "Crear pedido" mientras la lógica no está
 *     conectada). Aclara que no se puede pulsar. */
body .affwp-portal-link-card__copy[disabled],
body button.affwp-portal-link-card__copy[disabled],
body a.affwp-portal-link-card__copy[disabled],
.entry-content .affwp-portal-link-card__copy[disabled],
.entry-content button.affwp-portal-link-card__copy[disabled],
.entry-content a.affwp-portal-link-card__copy[disabled] {
	opacity: 0.45 !important;
	cursor: not-allowed !important;
	filter: grayscale(0.45) !important;
	box-shadow: none !important;
	transform: none !important;
}

body .affwp-portal-link-card__copy[disabled]:hover,
body button.affwp-portal-link-card__copy[disabled]:hover,
.entry-content .affwp-portal-link-card__copy[disabled]:hover,
.entry-content button.affwp-portal-link-card__copy[disabled]:hover {
	transform: none !important;
	filter: grayscale(0.45) !important;
	box-shadow: none !important;
}

/* C5) Botón ghost "Volver" — fondo translúcido más visible y bordes claros. */
body .affwp-portal-btn-ghost,
body button.affwp-portal-btn-ghost,
.entry-content .affwp-portal-btn-ghost,
.entry-content button.affwp-portal-btn-ghost {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 10px 18px !important;
	background: rgba(168, 85, 247, 0.10) !important;
	background-image: none !important;
	border: 1px solid rgba(168, 85, 247, 0.40) !important;
	border-radius: 999px !important;
	color: #d8b4fe !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	font-family: var(--affp-font) !important;
	cursor: pointer !important;
	text-decoration: none !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	box-shadow: none !important;
	min-height: 0 !important;
	height: auto !important;
	line-height: 1.2 !important;
	transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease !important;
}

body .affwp-portal-btn-ghost:hover,
.entry-content .affwp-portal-btn-ghost:hover {
	background: rgba(168, 85, 247, 0.18) !important;
	border-color: var(--affp-accent) !important;
	color: #ffffff !important;
	transform: translateX(-2px) !important;
}

/* En modo manager el ghost debe ir en tonos rojizos. */
body .affwp-portal--manager .affwp-portal-btn-ghost,
.entry-content .affwp-portal--manager .affwp-portal-btn-ghost {
	background: rgba(52, 211, 153, 0.10) !important;
	border-color: rgba(52, 211, 153, 0.40) !important;
	color: #a7f3d0 !important;
}

body .affwp-portal--manager .affwp-portal-btn-ghost:hover,
.entry-content .affwp-portal--manager .affwp-portal-btn-ghost:hover {
	background: rgba(52, 211, 153, 0.18) !important;
	border-color: #34d399 !important;
	color: #ffffff !important;
}

/* C6) Step nav — más espacio entre botones para que no se vean pegados. */
.affwp-portal-mgr-step__nav {
	gap: 16px;
	margin-top: 32px;
	padding-top: 20px;
	border-top: 1px solid var(--affp-border);
}

/* =============================================================================
 * 41. Manager — overrides finales (max specificity + !important).
 * =============================================================================
 *
 * Repaso final contra WoodMart (`.entry-content button { ... }`) para los
 * tres elementos que seguían rotos:
 *
 *   A) Floating cart — position fixed bottom-right reforzado.
 *      Además se mueve al <body> via JS para que ningún transform/overflow
 *      de un ancestro le rompa el contexto.
 *
 *   B) Cart-item __remove ("×") — círculo oscuro que vence al
 *      `.entry-content button { background: white; border-radius: 4px }`.
 *
 *   C) `.affwp-portal-mgr-link` ("Cambiar cliente") — pill ghost rojo
 *      pequeño en lugar del cuadrado blanco del tema.
 */

/* ---------- A) Floating cart — fixed bottom-right ------------------------- */

body .affwp-portal-mgr-floating-cart,
body button.affwp-portal-mgr-floating-cart,
.entry-content .affwp-portal-mgr-floating-cart,
.entry-content button.affwp-portal-mgr-floating-cart,
html body .affwp-portal-mgr-floating-cart {
	position: fixed !important;
	bottom: 24px !important;
	right: 24px !important;
	left: auto !important;
	top: auto !important;
	z-index: 9999 !important;
	display: none !important;
	align-items: center !important;
	gap: 12px !important;
	padding: 12px 18px 12px 14px !important;
	margin: 0 !important;
	background: linear-gradient(135deg, #34d399 0%, #22d3ee 100%) !important;
	background-image: linear-gradient(135deg, #34d399 0%, #22d3ee 100%) !important;
	background-color: transparent !important;
	border: 0 !important;
	border-radius: 999px !important;
	box-shadow: 0 14px 40px -10px rgba(52, 211, 153, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.10) inset !important;
	color: #ffffff !important;
	font-family: var(--affp-font, "Inter", system-ui, sans-serif) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	cursor: pointer !important;
	min-height: 0 !important;
	height: auto !important;
	width: auto !important;
	max-width: none !important;
	line-height: 1.2 !important;
	text-shadow: none !important;
	transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease !important;
}

body .affwp-portal-mgr-floating-cart.is-visible,
body button.affwp-portal-mgr-floating-cart.is-visible,
.entry-content .affwp-portal-mgr-floating-cart.is-visible,
.entry-content button.affwp-portal-mgr-floating-cart.is-visible,
html body .affwp-portal-mgr-floating-cart.is-visible {
	display: inline-flex !important;
}

body .affwp-portal-mgr-floating-cart:hover,
.entry-content .affwp-portal-mgr-floating-cart:hover {
	transform: translateY(-2px) !important;
	filter: brightness(1.06) !important;
	box-shadow: 0 20px 50px -10px rgba(52, 211, 153, 0.7), 0 0 0 1px rgba(255, 255, 255, 0.14) inset !important;
}

@media (max-width: 600px) {
	body .affwp-portal-mgr-floating-cart,
	html body .affwp-portal-mgr-floating-cart,
	.entry-content .affwp-portal-mgr-floating-cart {
		bottom: 16px !important;
		right: 16px !important;
		left: 16px !important;
		justify-content: space-between !important;
	}
}

/* ---------- B) Cart "×" remove button — círculo oscuro -------------------- */

html body .affwp-portal-mgr-cart-list .affwp-portal-mgr-cart-item__remove,
html body .affwp-portal-mgr-cart-list button.affwp-portal-mgr-cart-item__remove,
body .affwp-portal-mgr-cart-wrap .affwp-portal-mgr-cart-item .affwp-portal-mgr-cart-item__remove,
body .affwp-portal-mgr-cart-wrap .affwp-portal-mgr-cart-item button.affwp-portal-mgr-cart-item__remove,
.entry-content .affwp-portal-mgr-cart-wrap .affwp-portal-mgr-cart-item .affwp-portal-mgr-cart-item__remove,
.entry-content .affwp-portal-mgr-cart-wrap .affwp-portal-mgr-cart-item button.affwp-portal-mgr-cart-item__remove {
	width: 32px !important;
	height: 32px !important;
	min-width: 32px !important;
	max-width: 32px !important;
	min-height: 32px !important;
	max-height: 32px !important;
	border-radius: 50% !important;
	border: 1px solid var(--affp-border) !important;
	background: rgba(255, 255, 255, 0.04) !important;
	background-image: none !important;
	background-color: rgba(255, 255, 255, 0.04) !important;
	color: var(--affp-text-muted) !important;
	cursor: pointer !important;
	font-size: 18px !important;
	line-height: 1 !important;
	padding: 0 !important;
	margin: 0 !important;
	font-family: var(--affp-font, "Inter", system-ui, sans-serif) !important;
	font-weight: 400 !important;
	box-shadow: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	text-shadow: none !important;
	transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease !important;
}

html body .affwp-portal-mgr-cart-list .affwp-portal-mgr-cart-item__remove:hover,
body .affwp-portal-mgr-cart-wrap .affwp-portal-mgr-cart-item__remove:hover,
.entry-content .affwp-portal-mgr-cart-wrap .affwp-portal-mgr-cart-item__remove:hover {
	color: #fca5a5 !important;
	border-color: rgba(239, 68, 68, 0.5) !important;
	background: rgba(239, 68, 68, 0.10) !important;
	background-color: rgba(239, 68, 68, 0.10) !important;
}

/* ---------- C) "Cambiar cliente" — pill ghost rojo ----------------------- */

body .affwp-portal-mgr-client-card .affwp-portal-mgr-link,
body .affwp-portal-mgr-client-card button.affwp-portal-mgr-link,
.entry-content .affwp-portal-mgr-client-card .affwp-portal-mgr-link,
.entry-content .affwp-portal-mgr-client-card button.affwp-portal-mgr-link,
html body .affwp-portal-mgr-link {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 7px 14px !important;
	margin: 12px 0 0 !important;
	background: rgba(52, 211, 153, 0.10) !important;
	background-image: none !important;
	background-color: rgba(52, 211, 153, 0.10) !important;
	border: 1px solid rgba(52, 211, 153, 0.40) !important;
	border-radius: 999px !important;
	color: #a7f3d0 !important;
	font-family: var(--affp-font, "Inter", system-ui, sans-serif) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	text-decoration: none !important;
	box-shadow: none !important;
	cursor: pointer !important;
	height: auto !important;
	min-height: 0 !important;
	line-height: 1.2 !important;
	width: auto !important;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease !important;
}

body .affwp-portal-mgr-client-card .affwp-portal-mgr-link:hover,
.entry-content .affwp-portal-mgr-client-card .affwp-portal-mgr-link:hover,
html body .affwp-portal-mgr-link:hover {
	background: rgba(52, 211, 153, 0.22) !important;
	background-color: rgba(52, 211, 153, 0.22) !important;
	border-color: #34d399 !important;
	color: #ffffff !important;
}

/* ---------- D) Producto cards — contener glow del boton ----------------- */

/* El boton "+ Añadir" tiene box-shadow externo que se ve fuera de la card.
 * Lo mantenemos pero solo cuando se hace hover de la card, para que el grid
 * no parezca cargado con efectos rojos en estado normal. */
.affwp-portal-mgr-product-result .affwp-portal-mgr-add-btn,
.affwp-portal-mgr-product-result button.affwp-portal-mgr-add-btn {
	box-shadow: 0 2px 8px -2px rgba(52, 211, 153, 0.35) !important;
}

.affwp-portal-mgr-product-result:hover .affwp-portal-mgr-add-btn {
	box-shadow: 0 6px 18px -4px rgba(52, 211, 153, 0.55) !important;
}

/* =============================================================================
 * 42. Manager — fixes finales: mode switch text + CTA spacing.
 * =============================================================================
 *
 * A) Mode switch text invisible en modo manager:
 *    La regla genérica `.affwp-portal--manager a { color: var(--affp-accent) }`
 *    estaba pintando el texto del switch del topbar en rojo neón sobre el
 *    fondo gradiente rojo del segmento activo → letras casi invisibles.
 *    Aquí restauro los colores correctos del switch con prioridad alta.
 *
 * B) CTA "¿Cómo funciona?" pegada al botón del wizard:
 *    Añado margen superior generoso para que respire.
 */

/* ---------- A) Mode switch — colores correctos --------------------------- */

body .affwp-portal-mode-switch__option,
body a.affwp-portal-mode-switch__option,
.entry-content .affwp-portal-mode-switch__option,
.entry-content a.affwp-portal-mode-switch__option,
body .affwp-portal-mode-manager .affwp-portal-mode-switch__option,
body .affwp-portal-mode-affiliate .affwp-portal-mode-switch__option,
body .affwp-portal-mode-manager a.affwp-portal-mode-switch__option,
body .affwp-portal-mode-affiliate a.affwp-portal-mode-switch__option {
	color: rgba(255, 255, 255, 0.55) !important;
	background-image: none !important;
}

body .affwp-portal-mode-switch__option.is-active,
body a.affwp-portal-mode-switch__option.is-active,
.entry-content .affwp-portal-mode-switch__option.is-active,
.entry-content a.affwp-portal-mode-switch__option.is-active,
body .affwp-portal-mode-manager .affwp-portal-mode-switch__option.is-active,
body .affwp-portal-mode-affiliate .affwp-portal-mode-switch__option.is-active,
body .affwp-portal-mode-manager a.affwp-portal-mode-switch__option.is-active,
body .affwp-portal-mode-affiliate a.affwp-portal-mode-switch__option.is-active {
	color: #ffffff !important;
	background: var(--affp-accent-grad) !important;
	background-image: var(--affp-accent-grad) !important;
}

body .affwp-portal-mode-switch__option:hover,
body a.affwp-portal-mode-switch__option:hover,
.entry-content .affwp-portal-mode-switch__option:hover {
	color: #ffffff !important;
}

body .affwp-portal-mode-switch__option.is-active:hover,
body a.affwp-portal-mode-switch__option.is-active:hover,
.entry-content .affwp-portal-mode-switch__option.is-active:hover {
	color: #ffffff !important;
}

/* También fuerzo el color del span dentro del option (porque el `*` de la
 * sección 32 a veces no aplica a nuevos descendientes). */
body .affwp-portal-mode-switch__option span,
body .affwp-portal-mode-switch__option svg,
.entry-content .affwp-portal-mode-switch__option span,
.entry-content .affwp-portal-mode-switch__option svg {
	color: inherit !important;
	stroke: currentColor !important;
}

/* ---------- B) CTA "¿Cómo funciona?" — separación del botón superior ---- */

.affwp-portal-content .affwp-portal-cta {
	margin-top: 48px;
}

@media (max-width: 768px) {
	.affwp-portal-content .affwp-portal-cta {
		margin-top: 36px;
	}
}

/* =============================================================================
 * 43. Manager — layout 2-col del paso "Productos" + banner sumario + sidebar.
 * =============================================================================
 *
 * Tras el reorden del wizard (Productos → Cliente → Confirmar), el step de
 * productos ahora muestra los items en el centro y un panel live a la
 * derecha con el carrito en tiempo real. Esta sección añade:
 *
 *   - `.affwp-portal-mgr-products-layout` — grid 1fr / 360px.
 *   - `.affwp-portal-mgr-products-sidebar` — sticky a la derecha.
 *   - `.affwp-portal-mgr-cart-summary-banner` — recordatorio del carrito
 *     arriba del step cliente.
 *   - Reglas mobile que apilan todo y vuelven a usar el floating-cart.
 */

/* ---------- Layout 2-col ------------------------------------------------ */

.affwp-portal-mgr-products-layout {
	display: grid;
	grid-template-columns: 1fr 360px;
	gap: 24px;
	align-items: start;
}

.affwp-portal-mgr-products-main {
	min-width: 0; /* permite que el grid interno haga line-clamp y wrap */
}

/* En tablet (<=1100px) el grid colapsa a una columna. La sidebar pasa a
 * estar abajo, y el floating-cart se hace cargo del resumen flotante. */
@media (max-width: 1100px) {
	.affwp-portal-mgr-products-layout {
		grid-template-columns: 1fr;
	}
}

/* En desktop el grid de productos se reduce de 360 → 320 minmax porque la
 * columna principal ahora es más estrecha (sidebar de 360px). */
@media (min-width: 1101px) {
	.affwp-portal-mgr-products-main .affwp-portal-mgr-product-grid {
		grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	}
}

/* ---------- Sidebar live ----------------------------------------------- */

.affwp-portal-mgr-products-sidebar {
	position: sticky;
	top: 16px;
	align-self: start;
}

.affwp-portal-mgr-products-sidebar__inner {
	background: var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 16px;
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	max-height: calc(100vh - 120px);
	overflow-y: auto;
}

.affwp-portal-mgr-products-sidebar__title {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--affp-accent-light);
}

.affwp-portal-mgr-products-sidebar__title svg {
	width: 16px;
	height: 16px;
}

/* La cart-list dentro del sidebar usa un layout más compacto (qty en línea
 * inferior) porque el ancho disponible es más pequeño. */
.affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-list {
	display: flex;
	flex-direction: column;
	gap: 0;
	max-height: 50vh;
	overflow-y: auto;
	padding-right: 4px; /* evita que la scrollbar tape el contenido */
}

.affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-item {
	grid-template-columns: 40px 1fr 30px;
	grid-template-rows: auto auto;
	gap: 6px 10px;
	padding: 10px 0;
}

.affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-item__img,
.affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-item__noimg {
	width: 40px;
	height: 40px;
	grid-row: 1 / 3;
}

.affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-item__body {
	grid-column: 2;
	grid-row: 1;
	min-width: 0;
}

.affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-item__body h5 {
	font-size: 12.5px;
	-webkit-line-clamp: 1;
}

.affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-item__body p {
	display: none; /* el precio unitario lo escondo en sidebar; muestra subtotal */
}

.affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-item__stepper {
	grid-column: 2;
	grid-row: 2;
	max-width: 110px !important;
	height: 32px !important;
	justify-self: start;
}
.affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-item__stepper button.affwp-portal-mgr-cart-item__step {
	width: 32px !important;
	min-width: 32px !important;
	font-size: 16px !important;
}
.affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-item__qty {
	font-size: 13px !important;
	padding: 0 2px !important;
}

.affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-item__subtotal {
	grid-column: 3;
	grid-row: 2;
	font-size: 13px;
	font-weight: 700;
	text-align: right;
}

.affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-item__remove {
	grid-column: 3;
	grid-row: 1;
	width: 24px !important;
	height: 24px !important;
	min-width: 24px !important;
	max-width: 24px !important;
	min-height: 24px !important;
	max-height: 24px !important;
	font-size: 14px !important;
	justify-self: end;
}

.affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-empty {
	font-size: 12.5px;
	padding: 16px 0;
	text-align: center;
	color: var(--affp-text-muted);
}

.affwp-portal-mgr-products-sidebar .affwp-portal-mgr-totals {
	margin-top: 0;
	padding-top: 14px;
	border-top: 1px solid var(--affp-border);
}

.affwp-portal-mgr-products-sidebar .affwp-portal-mgr-totals__row {
	font-size: 13px;
}

.affwp-portal-mgr-products-sidebar .affwp-portal-mgr-totals__row--total strong {
	font-size: 16px;
}

.affwp-portal-mgr-products-sidebar__cta {
	width: 100% !important;
	justify-content: center !important;
	margin-top: 4px;
}

.affwp-portal-mgr-products-sidebar__hint {
	margin: 0;
	font-size: 11.5px;
	color: var(--affp-text-muted);
	line-height: 1.5;
	text-align: center;
}

/* ---------- Cart summary banner (Step 2 = Cliente) --------------------- */

.affwp-portal-mgr-cart-summary-banner {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 18px;
	background:
		radial-gradient(circle at top right, rgba(34, 211, 238, 0.18) 0%, transparent 60%),
		var(--affp-surface);
	border: 1px solid var(--affp-accent-soft-2);
	border-radius: 14px;
	margin: 0 0 24px;
}

.affwp-portal-mgr-cart-summary-banner__icon {
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: var(--affp-accent-grad);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	flex-shrink: 0;
	box-shadow: 0 4px 14px -4px var(--affp-accent-glow);
}

.affwp-portal-mgr-cart-summary-banner__icon svg {
	width: 18px;
	height: 18px;
}

.affwp-portal-mgr-cart-summary-banner__body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.affwp-portal-mgr-cart-summary-banner__count {
	font-size: 12px;
	color: var(--affp-text-muted);
	letter-spacing: 0.01em;
}

.affwp-portal-mgr-cart-summary-banner__total {
	font-size: 18px;
	font-weight: 800;
	color: var(--affp-text);
	letter-spacing: -0.01em;
}

/* ---------- Floating cart: oculto en desktop ya que el sidebar live cubre */

@media (min-width: 1101px) {
	body .affwp-portal-mgr-floating-cart,
	html body .affwp-portal-mgr-floating-cart,
	.entry-content .affwp-portal-mgr-floating-cart {
		display: none !important;
	}
}

/* ---------- Mobile: ajustes finales ------------------------------------ */

@media (max-width: 1100px) {
	.affwp-portal-mgr-products-sidebar {
		position: static;
	}
	.affwp-portal-mgr-products-sidebar__inner {
		max-height: none;
	}
}

/* =============================================================================
 * 44. Manager — chips de categorías y sub-categorías (Step Productos)
 * =============================================================================
 *
 * Strip horizontal scrollable arriba del grid de productos. Categorías
 * top-level en la primera fila; sub-categorías de la categoría activa
 * en una segunda fila que aparece sólo cuando hay padre seleccionado.
 *
 * Look minimalista: pills oscuras con borde sutil, scroll horizontal
 * en mobile, activas con tono accent del modo (esmeralda/cian en
 * gestor, violeta/azul en afiliado).
 */

.affwp-portal-mgr-category-bar,
.affwp-portal-mgr-subcategory-bar {
	display: flex;
	flex-wrap: nowrap;
	gap: 8px;
	margin: 0 0 12px;
	padding: 4px 2px 8px;
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: thin;
	scrollbar-color: var(--affp-border) transparent;
	/* Mascara suave en los bordes para insinuar el scroll horizontal. */
	-webkit-mask-image: linear-gradient(to right, transparent 0, #000 12px, #000 calc(100% - 12px), transparent 100%);
	        mask-image: linear-gradient(to right, transparent 0, #000 12px, #000 calc(100% - 12px), transparent 100%);
}

.affwp-portal-mgr-category-bar::-webkit-scrollbar,
.affwp-portal-mgr-subcategory-bar::-webkit-scrollbar {
	height: 4px;
}

.affwp-portal-mgr-category-bar::-webkit-scrollbar-thumb,
.affwp-portal-mgr-subcategory-bar::-webkit-scrollbar-thumb {
	background: var(--affp-border);
	border-radius: 2px;
}

/* La barra de subcategorías arranca oculta y aparece sólo cuando JS le
 * pone .is-visible (i.e. hay categoría padre seleccionada con hijos). */
.affwp-portal-mgr-subcategory-bar {
	display: none;
	margin-top: -4px;
	margin-bottom: 14px;
	padding-left: 12px;
	border-left: 2px solid var(--affp-accent-soft-2);
	border-radius: 0;
}

.affwp-portal-mgr-subcategory-bar.is-visible {
	display: flex;
}

/* Chip individual. */
.affwp-portal-mgr-chip {
	display: inline-flex;
	align-items: center;
	padding: 7px 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid var(--affp-border);
	color: var(--affp-text-muted);
	font-size: 12.5px;
	font-weight: 600;
	cursor: pointer;
	white-space: nowrap;
	flex-shrink: 0;
	font-family: inherit;
	letter-spacing: -0.005em;
	transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease, transform 0.12s ease;
}

.affwp-portal-mgr-chip:hover {
	color: var(--affp-text);
	border-color: var(--affp-accent-soft-2);
	background: rgba(255, 255, 255, 0.06);
}

.affwp-portal-mgr-chip.is-active {
	background: var(--affp-accent-soft);
	border-color: var(--affp-accent);
	color: var(--affp-accent-light);
	box-shadow: 0 4px 14px -6px var(--affp-accent-glow);
}

/* Chip de subcategoría — un poco más pequeño para distinguir de los padres. */
.affwp-portal-mgr-chip--sub {
	padding: 5px 11px;
	font-size: 11.5px;
	font-weight: 500;
}

/* ---------- Override duro contra WoodMart `.entry-content button` -------- */

body .affwp-portal-mgr-chip,
body button.affwp-portal-mgr-chip,
.entry-content .affwp-portal-mgr-chip,
.entry-content button.affwp-portal-mgr-chip {
	display: inline-flex !important;
	align-items: center !important;
	padding: 7px 14px !important;
	border-radius: 999px !important;
	background: rgba(255, 255, 255, 0.04) !important;
	background-image: none !important;
	background-color: rgba(255, 255, 255, 0.04) !important;
	border: 1px solid var(--affp-border) !important;
	color: var(--affp-text-muted) !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	font-family: inherit !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	cursor: pointer !important;
	white-space: nowrap !important;
	height: auto !important;
	min-height: 0 !important;
	line-height: 1.3 !important;
	box-shadow: none !important;
	text-shadow: none !important;
	transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease, transform 0.12s ease !important;
}

body .affwp-portal-mgr-chip:hover,
.entry-content .affwp-portal-mgr-chip:hover {
	color: var(--affp-text) !important;
	border-color: var(--affp-accent-soft-2) !important;
	background: rgba(255, 255, 255, 0.06) !important;
	background-color: rgba(255, 255, 255, 0.06) !important;
}

body .affwp-portal-mgr-chip.is-active,
body button.affwp-portal-mgr-chip.is-active,
.entry-content .affwp-portal-mgr-chip.is-active,
.entry-content button.affwp-portal-mgr-chip.is-active {
	background: var(--affp-accent-soft) !important;
	background-color: transparent !important;
	border-color: var(--affp-accent) !important;
	color: var(--affp-accent-light) !important;
	box-shadow: 0 4px 14px -6px var(--affp-accent-glow) !important;
}

body .affwp-portal-mgr-chip--sub,
.entry-content .affwp-portal-mgr-chip--sub {
	padding: 5px 11px !important;
	font-size: 11.5px !important;
	font-weight: 500 !important;
}

/* =============================================================================
 * 45. Manager — status bar del grid de productos
 * =============================================================================
 *
 * Línea sutil entre los chips y el grid: cuántos productos aparecen, en qué
 * categoría/subcategoría estás buscando y un botón "× limpiar" que quita
 * los filtros con un solo click.
 *
 * Formato: "N productos · Electrónica › Celulares · × Limpiar filtros"
 * Sin filtros: "60 productos · Toda la tienda"
 */

.affwp-portal-mgr-product-status {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 16px;
	padding: 8px 14px;
	background: rgba(255, 255, 255, 0.025);
	border: 1px solid var(--affp-border);
	border-radius: 12px;
	color: var(--affp-text-muted);
	font-size: 12.5px;
	letter-spacing: -0.005em;
	transition: border-color 0.15s ease, background 0.15s ease;
}

.affwp-portal-mgr-product-status.has-filter {
	border-color: var(--affp-accent-soft-2);
	background:
		linear-gradient(90deg, var(--affp-accent-soft) 0%, transparent 60%),
		rgba(255, 255, 255, 0.025);
}

.affwp-portal-mgr-product-status:empty {
	display: none;
}

.affwp-portal-mgr-product-status__count {
	color: var(--affp-text);
}

.affwp-portal-mgr-product-status__count strong {
	font-weight: 800;
	color: var(--affp-text);
	letter-spacing: -0.01em;
}

.affwp-portal-mgr-product-status__sep {
	color: rgba(255, 255, 255, 0.20);
	font-size: 14px;
	line-height: 1;
}

.affwp-portal-mgr-product-status__breadcrumb {
	color: var(--affp-accent-light);
	font-weight: 600;
}

.affwp-portal-mgr-product-status__crumb-sep {
	color: var(--affp-text-muted);
	margin: 0 2px;
	opacity: 0.6;
}

.affwp-portal-mgr-product-status__scope {
	color: var(--affp-text-muted);
}

.affwp-portal-mgr-product-status__clear {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 4px 10px;
	margin-left: auto;
	border-radius: 999px;
	background: transparent;
	border: 1px solid transparent;
	color: var(--affp-text-muted);
	font-size: 11.5px;
	font-weight: 600;
	cursor: pointer;
	font-family: inherit;
	transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}

.affwp-portal-mgr-product-status__clear:hover {
	color: #fca5a5;
	border-color: rgba(239, 68, 68, 0.40);
	background: rgba(239, 68, 68, 0.08);
}

.affwp-portal-mgr-product-status__clear span {
	font-size: 14px;
	line-height: 1;
}

/* ---------- Override duro contra `.entry-content button` de WoodMart -------- */

body .affwp-portal-mgr-product-status__clear,
body button.affwp-portal-mgr-product-status__clear,
.entry-content .affwp-portal-mgr-product-status__clear,
.entry-content button.affwp-portal-mgr-product-status__clear {
	display: inline-flex !important;
	align-items: center !important;
	gap: 4px !important;
	padding: 4px 10px !important;
	margin-left: auto !important;
	border-radius: 999px !important;
	background: transparent !important;
	background-image: none !important;
	background-color: transparent !important;
	border: 1px solid transparent !important;
	color: var(--affp-text-muted) !important;
	font-size: 11.5px !important;
	font-weight: 600 !important;
	font-family: inherit !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	cursor: pointer !important;
	height: auto !important;
	min-height: 0 !important;
	line-height: 1.2 !important;
	box-shadow: none !important;
	text-shadow: none !important;
}

body .affwp-portal-mgr-product-status__clear:hover,
.entry-content .affwp-portal-mgr-product-status__clear:hover {
	color: #fca5a5 !important;
	border-color: rgba(239, 68, 68, 0.40) !important;
	background: rgba(239, 68, 68, 0.08) !important;
	background-color: rgba(239, 68, 68, 0.08) !important;
}

/* =============================================================================
 * 46. Manager — refinamiento de cards + modal de detalle de producto + hint
 * =============================================================================
 *
 * Tres bloques:
 *   A) `.affwp-portal-mgr-step-hint` — hint sutil que reemplaza al intro
 *      grande con icono.
 *   B) Card de producto refinada — imagen 60×60, título a 3 líneas,
 *      cuerpo clickeable que abre el modal.
 *   C) Modal de detalle — overlay blur + panel centrado con imagen,
 *      título, precio, descripción corta y botón "Añadir al pedido".
 */

/* ---------- A) Step hint sutil ----------------------------------------- */

.affwp-portal-mgr-step-hint {
	margin: 0 0 16px;
	padding: 0;
	color: var(--affp-text-muted);
	font-size: 13px;
	line-height: 1.5;
	letter-spacing: -0.005em;
}

/* ---------- B) Card de producto refinada -------------------------------- */

/* Imagen más pequeña → más espacio para el título. */
.affwp-portal-mgr-product-result__img,
.affwp-portal-mgr-product-result__noimg {
	width: 60px;
	height: 60px;
	border-radius: 10px;
	object-fit: cover;
	background: rgba(255, 255, 255, 0.04);
	flex-shrink: 0;
}

/* Título: 3 líneas en lugar de 2, line-height más apretado. */
.affwp-portal-mgr-product-result__name {
	margin: 0;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--affp-text);
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.affwp-portal-mgr-product-result__price {
	margin: 5px 0 0;
	font-size: 14px;
	font-weight: 700;
	color: var(--affp-accent-light);
}

/* Botón __open (image+body clickeable) — sin estilo propio, solo zona
 * de click. Comparte gap/padding con el card flex container. */
.affwp-portal-mgr-product-result__open {
	display: flex;
	align-items: center;
	gap: 14px;
	flex: 1;
	min-width: 0;
	padding: 0;
	margin: 0;
	background: transparent;
	border: 0;
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: pointer;
}

.affwp-portal-mgr-product-result__open:hover .affwp-portal-mgr-product-result__name {
	color: var(--affp-accent-light);
}

/* Override duro contra `.entry-content button` de WoodMart. */
body .affwp-portal-mgr-product-result__open,
body button.affwp-portal-mgr-product-result__open,
.entry-content .affwp-portal-mgr-product-result__open,
.entry-content button.affwp-portal-mgr-product-result__open {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	flex: 1 !important;
	min-width: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	background-image: none !important;
	background-color: transparent !important;
	border: 0 !important;
	color: inherit !important;
	font: inherit !important;
	font-family: inherit !important;
	text-align: left !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	cursor: pointer !important;
	box-shadow: none !important;
	height: auto !important;
	min-height: 0 !important;
	line-height: inherit !important;
	border-radius: 0 !important;
}

/* ---------- C) Modal de detalle de producto ---------------------------- */

.affwp-portal-mgr-modal {
	position: fixed;
	inset: 0;
	z-index: 9998;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.affwp-portal-mgr-modal[hidden] { display: none !important; }

.affwp-portal-mgr-modal.is-open {
	display: flex;
	animation: affwp-mgr-modal-fade-in 0.18s ease-out;
}

@keyframes affwp-mgr-modal-fade-in {
	from { opacity: 0; }
	to   { opacity: 1; }
}

.affwp-portal-mgr-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(5, 9, 17, 0.78);
	-webkit-backdrop-filter: blur(8px);
	        backdrop-filter: blur(8px);
}

.affwp-portal-mgr-modal__panel {
	position: relative;
	width: 100%;
	max-width: 460px;
	max-height: 90vh;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	background: var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 18px;
	box-shadow: 0 30px 80px -10px rgba(0, 0, 0, 0.65), 0 0 0 1px rgba(255, 255, 255, 0.04) inset;
	z-index: 1;
	animation: affwp-mgr-modal-pop 0.22s cubic-bezier(0.34, 1.36, 0.64, 1);
}

@keyframes affwp-mgr-modal-pop {
	from { transform: translateY(8px) scale(0.98); opacity: 0; }
	to   { transform: translateY(0)   scale(1);    opacity: 1; }
}

.affwp-portal-mgr-modal__close {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.10);
	color: rgba(255, 255, 255, 0.85);
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: inherit;
	transition: background 0.15s ease, color 0.15s ease;
}

.affwp-portal-mgr-modal__close:hover {
	background: rgba(255, 255, 255, 0.14);
	color: #ffffff;
}

.affwp-portal-mgr-modal__inner {
	display: flex;
	flex-direction: column;
	overflow-y: auto;
	max-height: 90vh;
}

.affwp-portal-mgr-modal__media {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 10;
	background: rgba(255, 255, 255, 0.03);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	flex-shrink: 0;
}

.affwp-portal-mgr-modal__media img {
	max-width: 78%;
	max-height: 86%;
	object-fit: contain;
	filter: drop-shadow(0 12px 24px rgba(0, 0, 0, 0.35));
}

.affwp-portal-mgr-modal__body {
	padding: 22px 24px 24px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.affwp-portal-mgr-modal__title {
	margin: 0;
	font-size: 19px;
	font-weight: 700;
	color: var(--affp-text);
	line-height: 1.3;
	letter-spacing: -0.01em;
}

.affwp-portal-mgr-modal__price {
	margin: 0;
	font-size: 24px;
	font-weight: 800;
	color: var(--affp-accent-light);
	letter-spacing: -0.02em;
	line-height: 1;
}

.affwp-portal-mgr-modal__short {
	margin: 4px 0 0;
	color: var(--affp-text-muted);
	font-size: 13px;
	line-height: 1.55;
}

.affwp-portal-mgr-modal__short--empty {
	font-style: italic;
	opacity: 0.7;
}

.affwp-portal-mgr-modal__add {
	width: 100% !important;
	justify-content: center !important;
	margin-top: 8px !important;
	padding: 12px 24px !important;
	font-size: 14px !important;
}

/* Bloquea scroll del fondo cuando el modal está abierto. */
body.affwp-portal-mgr-modal-open {
	overflow: hidden;
}

/* Mobile — full-screen casi total. */
@media (max-width: 600px) {
	.affwp-portal-mgr-modal {
		padding: 0;
		align-items: flex-end;
	}
	.affwp-portal-mgr-modal__panel {
		max-width: 100%;
		max-height: 92vh;
		border-radius: 18px 18px 0 0;
		animation: affwp-mgr-modal-slide-up 0.24s cubic-bezier(0.34, 1.36, 0.64, 1);
	}
	@keyframes affwp-mgr-modal-slide-up {
		from { transform: translateY(40px); opacity: 0; }
		to   { transform: translateY(0);    opacity: 1; }
	}
	.affwp-portal-mgr-modal__media { aspect-ratio: 4 / 3; }
}

/* ---------- Override duro contra WoodMart para botón cerrar ----------- */

body .affwp-portal-mgr-modal__close,
body button.affwp-portal-mgr-modal__close,
.entry-content .affwp-portal-mgr-modal__close,
.entry-content button.affwp-portal-mgr-modal__close {
	width: 32px !important;
	height: 32px !important;
	min-width: 32px !important;
	max-width: 32px !important;
	min-height: 32px !important;
	max-height: 32px !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.08) !important;
	background-image: none !important;
	background-color: rgba(255, 255, 255, 0.08) !important;
	border: 1px solid rgba(255, 255, 255, 0.10) !important;
	color: rgba(255, 255, 255, 0.85) !important;
	padding: 0 !important;
	margin: 0 !important;
	font-size: 20px !important;
	line-height: 1 !important;
	font-family: inherit !important;
	font-weight: 400 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	box-shadow: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}

/* =============================================================================
 * 47. Manager — modal sólido + selectores de variaciones + boton tono manager
 * =============================================================================
 *
 *   A) Panel del modal — fondo sólido, sin transparencia.
 *   B) Selectores de atributos (Color, Tamaño, …) tipo chips dentro del modal.
 *   C) Override de botones del modal en modo manager (el modal vive al
 *      <body> directo, por eso `body.affwp-portal-mode-manager` en vez del
 *      shell `.affwp-portal--manager`).
 *   D) Botón "+ Añadir" de la card — padding más compacto para que entre
 *      bien con el texto corto "Añadir".
 */

/* ---------- A) Panel del modal SÓLIDO ----------------------------------- */

body .affwp-portal-mgr-modal__panel,
.entry-content .affwp-portal-mgr-modal__panel,
html body .affwp-portal-mgr-modal__panel {
	background: #14192a !important;
	background-color: #14192a !important;
	background-image:
		linear-gradient(180deg, #1a1f30 0%, #14192a 100%) !important;
	border: 1px solid rgba(255, 255, 255, 0.08) !important;
}

/* ---------- B) Selectores de atributos (Color, Tamaño, …) ---------------- */

.affwp-portal-mgr-modal__attrs {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 4px 0 4px;
}

.affwp-portal-mgr-modal__attrs-loading {
	color: var(--affp-text-muted);
	font-size: 13px;
	padding: 12px 0;
	text-align: center;
}

.affwp-portal-mgr-modal__attr {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.affwp-portal-mgr-modal__attr-label {
	margin: 0;
	font-size: 11px;
	font-weight: 800;
	color: var(--affp-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.affwp-portal-mgr-modal__attr-options {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.affwp-portal-mgr-modal__attr-opt {
	display: inline-flex;
	align-items: center;
	padding: 7px 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid var(--affp-border);
	color: var(--affp-text);
	font-size: 12.5px;
	font-weight: 600;
	cursor: pointer;
	font-family: inherit;
	letter-spacing: -0.005em;
	transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease, transform 0.12s ease;
}

.affwp-portal-mgr-modal__attr-opt:hover {
	border-color: var(--affp-accent-soft-2);
	background: rgba(255, 255, 255, 0.08);
}

.affwp-portal-mgr-modal__attr-opt.is-active {
	background: var(--affp-accent-soft);
	border-color: var(--affp-accent);
	color: var(--affp-accent-light);
	box-shadow: 0 4px 12px -4px var(--affp-accent-glow);
}

/* Override duro contra `.entry-content button` de WoodMart */
body .affwp-portal-mgr-modal__attr-opt,
body button.affwp-portal-mgr-modal__attr-opt,
.entry-content .affwp-portal-mgr-modal__attr-opt,
.entry-content button.affwp-portal-mgr-modal__attr-opt {
	display: inline-flex !important;
	align-items: center !important;
	padding: 7px 14px !important;
	border-radius: 999px !important;
	background: rgba(255, 255, 255, 0.05) !important;
	background-image: none !important;
	background-color: rgba(255, 255, 255, 0.05) !important;
	border: 1px solid var(--affp-border) !important;
	color: var(--affp-text) !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	font-family: inherit !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	cursor: pointer !important;
	white-space: nowrap !important;
	height: auto !important;
	min-height: 0 !important;
	line-height: 1.3 !important;
	box-shadow: none !important;
	text-shadow: none !important;
	transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease, transform 0.12s ease !important;
}

body .affwp-portal-mgr-modal__attr-opt:hover,
.entry-content .affwp-portal-mgr-modal__attr-opt:hover {
	border-color: var(--affp-accent-soft-2) !important;
	background: rgba(255, 255, 255, 0.08) !important;
	background-color: rgba(255, 255, 255, 0.08) !important;
}

body .affwp-portal-mgr-modal__attr-opt.is-active,
.entry-content .affwp-portal-mgr-modal__attr-opt.is-active {
	background: var(--affp-accent-soft) !important;
	background-color: rgba(52, 211, 153, 0.16) !important;
	border-color: var(--affp-accent) !important;
	color: var(--affp-accent-light) !important;
	box-shadow: 0 4px 12px -4px var(--affp-accent-glow) !important;
}

/* ---------- C) Botón "Añadir al pedido" del modal en modo manager ------- */

/* El modal vive en <body> directo (lo movió el JS), así que las reglas
 * scoped a `.affwp-portal--manager` no aplican. Usamos la clase del body
 * `.affwp-portal-mode-manager` para repintar al gradiente esmeralda/cian. */

body.affwp-portal-mode-manager .affwp-portal-mgr-modal .affwp-portal-link-card__copy,
body.affwp-portal-mode-manager .affwp-portal-mgr-modal button.affwp-portal-link-card__copy,
body.affwp-portal-mode-manager .affwp-portal-mgr-modal a.affwp-portal-link-card__copy {
	background: linear-gradient(135deg, #34d399 0%, #22d3ee 100%) !important;
	background-image: linear-gradient(135deg, #34d399 0%, #22d3ee 100%) !important;
	box-shadow: 0 4px 14px -4px rgba(52, 211, 153, 0.55) !important;
}

body.affwp-portal-mode-manager .affwp-portal-mgr-modal .affwp-portal-link-card__copy:hover,
body.affwp-portal-mode-manager .affwp-portal-mgr-modal button.affwp-portal-link-card__copy:hover {
	background: linear-gradient(135deg, #34d399 0%, #22d3ee 100%) !important;
	background-image: linear-gradient(135deg, #34d399 0%, #22d3ee 100%) !important;
	box-shadow: 0 8px 24px -6px rgba(52, 211, 153, 0.6) !important;
}

/* Disabled state del botón "Añadir al pedido" en el modal — variable sin
 * variación elegida o sin combinación in-stock. */
body .affwp-portal-mgr-modal__add[disabled],
body button.affwp-portal-mgr-modal__add[disabled],
.entry-content .affwp-portal-mgr-modal__add[disabled] {
	opacity: 0.45 !important;
	cursor: not-allowed !important;
	filter: grayscale(0.45) !important;
}

/* ---------- D) Botón "+ Añadir" de la card más compacto con texto corto - */

body .affwp-portal-mgr-product-result .affwp-portal-mgr-add-btn,
.entry-content .affwp-portal-mgr-product-result .affwp-portal-mgr-add-btn {
	padding: 8px 14px !important;
	font-size: 12.5px !important;
}

/* =============================================================================
 * 48. Manager — ajustes finales: modal close, card layout, sidebar grid.
 * =============================================================================
 *
 *   A) Modal "×" — forzado al top-right del panel (WoodMart override
 *      `.entry-content button { position: relative; }` lo movía al
 *      flujo natural — top-left de la card).
 *
 *   B) Card de producto — título 12.5px, layout vertical: imagen+texto
 *      arriba, botón "Añadir" abajo a la derecha. Más espacio para el
 *      título sin perder el botón.
 *
 *   C) Sidebar "Productos seleccionados" — grid con columna `auto` para
 *      que el subtotal nunca se corte. `overflow-x: hidden` en la lista
 *      para impedir scroll horizontal incluso cuando un nombre largo
 *      empuje. Permite word-break en títulos.
 */

/* ---------- A) Modal close button — top-right SIEMPRE ------------------- */

body .affwp-portal-mgr-modal__close,
body button.affwp-portal-mgr-modal__close,
.entry-content .affwp-portal-mgr-modal__close,
.entry-content button.affwp-portal-mgr-modal__close,
html body .affwp-portal-mgr-modal__close {
	position: absolute !important;
	top: 12px !important;
	right: 12px !important;
	left: auto !important;
	bottom: auto !important;
	float: none !important;
	margin: 0 !important;
}

/* ---------- B) Card layout — botón "Añadir" abajo a la derecha --------- */

.affwp-portal-mgr-product-result {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 10px;
	padding: 14px;
}

.affwp-portal-mgr-product-result__open {
	display: flex !important;
	flex-direction: row !important;
	align-items: flex-start !important;
	gap: 12px !important;
	width: 100% !important;
	flex: 0 0 auto !important;
}

.affwp-portal-mgr-product-result__body {
	flex: 1;
	min-width: 0;
}

/* Título más pequeño para que entre más texto. 3 líneas máx. */
.affwp-portal-mgr-product-result__name {
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.35;
	-webkit-line-clamp: 3;
	word-break: break-word;
	overflow-wrap: anywhere;
}

.affwp-portal-mgr-product-result__price {
	font-size: 13.5px;
	font-weight: 700;
	margin: 4px 0 0;
}

/* Botón "Añadir" — abajo a la derecha del card, en su propia fila. */
.affwp-portal-mgr-product-result .affwp-portal-mgr-add-btn {
	align-self: flex-end !important;
	flex: 0 0 auto !important;
}

body .affwp-portal-mgr-product-result .affwp-portal-mgr-add-btn,
.entry-content .affwp-portal-mgr-product-result .affwp-portal-mgr-add-btn {
	align-self: flex-end !important;
	flex: 0 0 auto !important;
	padding: 7px 14px !important;
	font-size: 12.5px !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* ---------- C) Sidebar "Productos seleccionados" ----------------------- */

/* Sin scroll horizontal NUNCA en el sidebar — la columna del subtotal se
 * dimensiona automáticamente (auto) en lugar de un fijo demasiado pequeño. */
body .affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-list,
.entry-content .affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-list {
	overflow-x: hidden !important;
	max-width: 100% !important;
}

body .affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-item,
.entry-content .affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-item {
	display: grid !important;
	grid-template-columns: 40px minmax(0, 1fr) auto !important;
	grid-template-rows: auto auto !important;
	gap: 4px 10px !important;
	padding: 10px 0 !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

body .affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-item__img,
body .affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-item__noimg,
.entry-content .affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-item__img,
.entry-content .affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-item__noimg {
	width: 40px !important;
	height: 40px !important;
	grid-row: 1 / 3 !important;
	grid-column: 1 !important;
}

body .affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-item__body,
.entry-content .affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-item__body {
	grid-column: 2 / 3 !important; /* abarca solo col 2, col 3 es para el × */
	grid-row: 1 !important;
	min-width: 0 !important;
	overflow: hidden !important;
}

body .affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-item__body h5 {
	word-break: break-word;
	overflow-wrap: anywhere;
	-webkit-line-clamp: 1;
	font-size: 12.5px;
	margin: 0;
}

/* "×" arriba a la derecha (col 3 row 1). */
body .affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-item__remove,
.entry-content .affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-item__remove {
	grid-column: 3 !important;
	grid-row: 1 !important;
	width: 24px !important;
	height: 24px !important;
	min-width: 24px !important;
	max-width: 24px !important;
	min-height: 24px !important;
	max-height: 24px !important;
	font-size: 14px !important;
	justify-self: end !important;
	align-self: start !important;
}

/* Qty input col 2 row 2 (debajo del título). */
body .affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-item__stepper,
.entry-content .affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-item__stepper {
	grid-column: 2 !important;
	grid-row: 2 !important;
	max-width: 110px !important;
	height: 32px !important;
	justify-self: start !important;
}
body .affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-item__stepper button.affwp-portal-mgr-cart-item__step,
.entry-content .affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-item__stepper button.affwp-portal-mgr-cart-item__step {
	width: 32px !important;
	min-width: 32px !important;
	font-size: 16px !important;
}
body .affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-item__qty,
.entry-content .affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-item__qty {
	width: 100% !important;
	max-width: none !important;
	flex: 1 1 auto !important;
	min-width: 0 !important;
	padding: 0 2px !important;
	font-size: 13px !important;
	border-radius: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-left: 1px solid var(--affp-border) !important;
	border-right: 1px solid var(--affp-border) !important;
	height: 100% !important;
}

/* Subtotal col 3 row 2 con auto (toma el ancho que necesite, NO se corta). */
body .affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-item__subtotal,
.entry-content .affwp-portal-mgr-products-sidebar .affwp-portal-mgr-cart-item__subtotal {
	grid-column: 3 !important;
	grid-row: 2 !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	text-align: right !important;
	white-space: nowrap !important;
	justify-self: end !important;
}

/* =============================================================================
 * 49. Manager — Card de "Tu comisión estimada" bajo los totales del sidebar.
 * =============================================================================
 *
 * Mini-card accent-tinted que se ve siempre bajo los totales del sidebar.
 * El monto es vivo: se recalcula con cada cambio del carrito vía
 * `renderCommission()` en el JS (llamado desde `renderTotals`).
 */

.affwp-portal-mgr-products-sidebar__commission {
	margin-top: 4px;
	padding: 12px 14px;
	background:
		radial-gradient(circle at top right, var(--affp-accent-soft) 0%, transparent 60%),
		rgba(255, 255, 255, 0.02);
	border: 1px solid var(--affp-accent-soft-2);
	border-radius: 12px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.affwp-portal-mgr-products-sidebar__commission-head {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
}

.affwp-portal-mgr-products-sidebar__commission-icon {
	display: inline-flex;
	width: 22px;
	height: 22px;
	border-radius: 6px;
	align-items: center;
	justify-content: center;
	background: var(--affp-accent-grad);
	color: #ffffff;
	flex-shrink: 0;
	box-shadow: 0 0 12px -4px var(--affp-accent-glow);
}

.affwp-portal-mgr-products-sidebar__commission-icon svg {
	width: 12px;
	height: 12px;
}

.affwp-portal-mgr-products-sidebar__commission-title {
	font-size: 11px;
	font-weight: 700;
	color: var(--affp-accent-light);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	flex: 1;
	min-width: 0;
}

.affwp-portal-mgr-products-sidebar__commission-rate {
	font-size: 10.5px;
	font-weight: 700;
	color: var(--affp-text);
	padding: 2px 7px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid var(--affp-border);
	white-space: nowrap;
}

.affwp-portal-mgr-products-sidebar__commission-amount {
	margin: 2px 0 0;
	font-size: 18px;
	font-weight: 800;
	color: var(--affp-accent-light);
	letter-spacing: -0.02em;
	line-height: 1;
}

.affwp-portal-mgr-products-sidebar__commission-hint {
	margin: 4px 0 0;
	font-size: 11px;
	color: var(--affp-text-muted);
	line-height: 1.4;
}

/* =============================================================================
 * 50. Manager — guía interactiva "¿Cómo funciona?"
 * =============================================================================
 *
 * Walkthrough CSS-only con radio inputs ocultos. Cada paso es un `<article>`
 * que se muestra/oculta según el radio activo. Labels apuntan a los radios
 * de los pasos vecinos para los botones "Anterior" / "Siguiente" y los
 * dots de atajo. Sin JavaScript.
 *
 * Estructura:
 *   <div class="affwp-portal-mgr-hiw">
 *     <input radio #1 checked>
 *     <input radio #2>
 *     ...
 *     <div class="...__pages">
 *       <article ...__page data-step="1">...</article>
 *       ...
 *     </div>
 *     <div class="...__dots">...</div>
 *   </div>
 */

.affwp-portal-mgr-hiw {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin: 12px 0 24px;
}

/* Radios escondidos (siempre interactuables vía labels). */
.affwp-portal-mgr-hiw__radio {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
	z-index: -1;
}

/* Contenedor de pages — relative para que las pages absolutas se apilen. */
.affwp-portal-mgr-hiw__pages {
	position: relative;
	min-height: 360px;
	background:
		radial-gradient(circle at top right, var(--affp-accent-soft) 0%, transparent 60%),
		var(--affp-surface);
	border: 1px solid var(--affp-accent-soft-2);
	border-radius: 18px;
	padding: 32px 28px 24px;
	box-shadow: 0 16px 50px -16px var(--affp-accent-glow);
}

/* Page individual — todas absolutamente posicionadas excepto la activa. */
.affwp-portal-mgr-hiw__page {
	position: absolute;
	top: 32px;
	left: 28px;
	right: 28px;
	bottom: 24px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 0.32s ease, transform 0.32s ease;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 10px;
}

/* Page activa (selectores generales por paso 1-5). */
#affwp-mgr-hiw-1:checked ~ .affwp-portal-mgr-hiw__pages .affwp-portal-mgr-hiw__page[data-step="1"],
#affwp-mgr-hiw-2:checked ~ .affwp-portal-mgr-hiw__pages .affwp-portal-mgr-hiw__page[data-step="2"],
#affwp-mgr-hiw-3:checked ~ .affwp-portal-mgr-hiw__pages .affwp-portal-mgr-hiw__page[data-step="3"],
#affwp-mgr-hiw-4:checked ~ .affwp-portal-mgr-hiw__pages .affwp-portal-mgr-hiw__page[data-step="4"],
#affwp-mgr-hiw-5:checked ~ .affwp-portal-mgr-hiw__pages .affwp-portal-mgr-hiw__page[data-step="5"] {
	position: relative;
	top: 0;
	left: 0;
	right: 0;
	bottom: auto;
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* Counter "Paso N de M". */
.affwp-portal-mgr-hiw__counter {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.10em;
	text-transform: uppercase;
	color: var(--affp-text-muted);
	background: rgba(255, 255, 255, 0.06);
	padding: 5px 12px;
	border-radius: 999px;
	border: 1px solid var(--affp-border);
}

/* Icono grande con número a la esquina. */
.affwp-portal-mgr-hiw__icon-wrap {
	position: relative;
	width: 96px;
	height: 96px;
	margin: 14px 0 4px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.affwp-portal-mgr-hiw__icon-bg {
	position: absolute;
	inset: 0;
	background: var(--affp-accent-grad);
	border-radius: 50%;
	opacity: 0.18;
	filter: blur(2px);
}

.affwp-portal-mgr-hiw__icon {
	position: relative;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: var(--affp-accent-grad);
	color: #ffffff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 12px 32px -8px var(--affp-accent-glow);
}

.affwp-portal-mgr-hiw__icon svg {
	width: 32px;
	height: 32px;
}

.affwp-portal-mgr-hiw__num {
	position: absolute;
	right: -2px;
	bottom: -2px;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #ffffff;
	color: var(--affp-bg);
	font-size: 13px;
	font-weight: 800;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.35);
}

/* Título y descripción. */
.affwp-portal-mgr-hiw__title {
	margin: 6px 0 0;
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--affp-text);
}

.affwp-portal-mgr-hiw__desc {
	margin: 0;
	max-width: 540px;
	color: var(--affp-text-muted);
	font-size: 14px;
	line-height: 1.6;
}

/* Tip box — verde sutil con sparkles icon. */
.affwp-portal-mgr-hiw__tip {
	margin: 10px 0 0;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	background: var(--affp-success-soft);
	border: 1px solid rgba(52, 211, 153, 0.30);
	border-radius: 999px;
	color: #a7f3d0;
	font-size: 12.5px;
	font-weight: 600;
}

.affwp-portal-mgr-hiw__tip-mark {
	display: inline-flex;
	color: #a7f3d0;
}

.affwp-portal-mgr-hiw__tip-mark svg {
	width: 14px;
	height: 14px;
}

/* Nav buttons — prev/next/cta. */
.affwp-portal-mgr-hiw__nav {
	margin-top: auto;
	padding-top: 22px;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.affwp-portal-mgr-hiw__nav-spacer { flex: 1; }

.affwp-portal-mgr-hiw__btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 9px 18px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	font-family: inherit;
	letter-spacing: -0.005em;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
	text-decoration: none;
}

.affwp-portal-mgr-hiw__btn--prev {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid var(--affp-border);
	color: var(--affp-text-muted);
}

.affwp-portal-mgr-hiw__btn--prev:hover {
	color: var(--affp-text);
	border-color: var(--affp-accent-soft-2);
	background: rgba(255, 255, 255, 0.06);
}

.affwp-portal-mgr-hiw__btn--next,
.affwp-portal-mgr-hiw__btn--cta {
	background: var(--affp-accent-grad);
	color: #ffffff;
	border: 0;
	box-shadow: 0 6px 18px -6px var(--affp-accent-glow);
}

.affwp-portal-mgr-hiw__btn--next:hover,
.affwp-portal-mgr-hiw__btn--cta:hover {
	transform: translateY(-1px);
	filter: brightness(1.06);
	color: #ffffff;
	box-shadow: 0 12px 28px -8px var(--affp-accent-glow);
}

.affwp-portal-mgr-hiw__btn svg { width: 14px; height: 14px; }
.affwp-portal-mgr-hiw__btn--cta { padding: 9px 20px; font-size: 13.5px; }

/* Dots de atajo abajo. */
.affwp-portal-mgr-hiw__dots {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 4px;
	flex-wrap: wrap;
}

.affwp-portal-mgr-hiw__dot {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid var(--affp-border);
	color: var(--affp-text-muted);
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
	transition: color 0.15s ease, background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.affwp-portal-mgr-hiw__dot:hover {
	color: var(--affp-text);
	border-color: var(--affp-accent-soft-2);
}

/* Dot activo — coincide con el step seleccionado. */
#affwp-mgr-hiw-1:checked ~ .affwp-portal-mgr-hiw__dots .affwp-portal-mgr-hiw__dot[data-step="1"],
#affwp-mgr-hiw-2:checked ~ .affwp-portal-mgr-hiw__dots .affwp-portal-mgr-hiw__dot[data-step="2"],
#affwp-mgr-hiw-3:checked ~ .affwp-portal-mgr-hiw__dots .affwp-portal-mgr-hiw__dot[data-step="3"],
#affwp-mgr-hiw-4:checked ~ .affwp-portal-mgr-hiw__dots .affwp-portal-mgr-hiw__dot[data-step="4"],
#affwp-mgr-hiw-5:checked ~ .affwp-portal-mgr-hiw__dots .affwp-portal-mgr-hiw__dot[data-step="5"] {
	background: var(--affp-accent-grad);
	color: #ffffff;
	border-color: transparent;
	transform: scale(1.08);
	box-shadow: 0 4px 12px -4px var(--affp-accent-glow);
}

/* ---------- Footer (cards bajo el walkthrough) -------------------------- */

.affwp-portal-mgr-hiw__footer {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin-top: 18px;
}

@media (max-width: 700px) {
	.affwp-portal-mgr-hiw__footer { grid-template-columns: 1fr; }
}

.affwp-portal-mgr-hiw__footer-card {
	display: flex;
	gap: 12px;
	padding: 16px;
	background: var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 14px;
}

.affwp-portal-mgr-hiw__footer-icon {
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: var(--affp-accent-soft);
	color: var(--affp-accent-light);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.affwp-portal-mgr-hiw__footer-icon svg { width: 18px; height: 18px; }

.affwp-portal-mgr-hiw__footer-title {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	color: var(--affp-text);
	letter-spacing: -0.005em;
}

.affwp-portal-mgr-hiw__footer-desc {
	margin: 4px 0 0;
	font-size: 12.5px;
	color: var(--affp-text-muted);
	line-height: 1.5;
}

/* ---------- Override duro contra `.entry-content button` de WoodMart ---- */

body .affwp-portal-mgr-hiw__btn,
body label.affwp-portal-mgr-hiw__btn,
body a.affwp-portal-mgr-hiw__btn,
.entry-content .affwp-portal-mgr-hiw__btn,
.entry-content label.affwp-portal-mgr-hiw__btn,
.entry-content a.affwp-portal-mgr-hiw__btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 9px 18px !important;
	border-radius: 999px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	font-family: inherit !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	cursor: pointer !important;
	height: auto !important;
	min-height: 0 !important;
	line-height: 1.3 !important;
	text-shadow: none !important;
	white-space: nowrap !important;
}

body label.affwp-portal-mgr-hiw__btn--prev,
.entry-content label.affwp-portal-mgr-hiw__btn--prev {
	background: rgba(255, 255, 255, 0.04) !important;
	background-image: none !important;
	background-color: rgba(255, 255, 255, 0.04) !important;
	border: 1px solid var(--affp-border) !important;
	color: var(--affp-text-muted) !important;
	box-shadow: none !important;
}

body .affwp-portal-mgr-hiw__btn--next,
body label.affwp-portal-mgr-hiw__btn--next,
body .affwp-portal-mgr-hiw__btn--cta,
body a.affwp-portal-mgr-hiw__btn--cta,
.entry-content .affwp-portal-mgr-hiw__btn--next,
.entry-content label.affwp-portal-mgr-hiw__btn--next,
.entry-content .affwp-portal-mgr-hiw__btn--cta,
.entry-content a.affwp-portal-mgr-hiw__btn--cta {
	background: var(--affp-accent-grad) !important;
	background-image: var(--affp-accent-grad) !important;
	color: #ffffff !important;
	border: 0 !important;
	box-shadow: 0 6px 18px -6px var(--affp-accent-glow) !important;
}

/* Dots — override WoodMart label/button por si afecta. */
body label.affwp-portal-mgr-hiw__dot,
.entry-content label.affwp-portal-mgr-hiw__dot {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	width: 30px !important;
	height: 30px !important;
	min-width: 30px !important;
	max-width: 30px !important;
	background: rgba(255, 255, 255, 0.04) !important;
	background-image: none !important;
	background-color: rgba(255, 255, 255, 0.04) !important;
	border: 1px solid var(--affp-border) !important;
	color: var(--affp-text-muted) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	font-family: inherit !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	box-shadow: none !important;
	cursor: pointer !important;
	border-radius: 50% !important;
	min-height: 0 !important;
	line-height: 1 !important;
}

/* Active dot override (después de las reglas no-active porque las reglas
 * que vienen después con la misma especificidad ganan). */
body #affwp-mgr-hiw-1:checked ~ .affwp-portal-mgr-hiw__dots label.affwp-portal-mgr-hiw__dot[data-step="1"],
body #affwp-mgr-hiw-2:checked ~ .affwp-portal-mgr-hiw__dots label.affwp-portal-mgr-hiw__dot[data-step="2"],
body #affwp-mgr-hiw-3:checked ~ .affwp-portal-mgr-hiw__dots label.affwp-portal-mgr-hiw__dot[data-step="3"],
body #affwp-mgr-hiw-4:checked ~ .affwp-portal-mgr-hiw__dots label.affwp-portal-mgr-hiw__dot[data-step="4"],
body #affwp-mgr-hiw-5:checked ~ .affwp-portal-mgr-hiw__dots label.affwp-portal-mgr-hiw__dot[data-step="5"] {
	background: var(--affp-accent-grad) !important;
	background-image: var(--affp-accent-grad) !important;
	background-color: transparent !important;
	color: #ffffff !important;
	border-color: transparent !important;
}

/* ---------- Mobile ----------------------------------------------------- */

@media (max-width: 600px) {
	.affwp-portal-mgr-hiw__pages {
		padding: 24px 18px 18px;
		min-height: 380px;
	}
	.affwp-portal-mgr-hiw__page {
		left: 18px;
		right: 18px;
		top: 24px;
	}
	.affwp-portal-mgr-hiw__title { font-size: 19px; }
	.affwp-portal-mgr-hiw__desc { font-size: 13px; }
	.affwp-portal-mgr-hiw__icon-wrap { width: 80px; height: 80px; }
	.affwp-portal-mgr-hiw__icon { width: 60px; height: 60px; }
	.affwp-portal-mgr-hiw__icon svg { width: 26px; height: 26px; }
}

/* =============================================================================
 * 51. Manager — éxito del pedido + acciones del preview de cliente.
 * =============================================================================
 *
 *   A) `.affwp-portal-mgr-order-success` — card grande tras crear el pedido.
 *   B) `.affwp-portal-mgr-client-card__actions` — row con "Editar" y "Cambiar"
 *      en el preview del cliente seleccionado.
 *   C) `.affwp-portal-mgr-link--edit` — variante del link button para editar.
 *   D) `.affwp-portal-mgr-client-edit-cancel` — Cancelar al lado de "Guardar
 *      cambios" cuando se está editando.
 */

/* ---------- A) Success state tras crear el pedido ---------------------- */

.affwp-portal-mgr-order-success {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 12px;
	padding: 48px 32px;
	background:
		radial-gradient(circle at top, var(--affp-accent-soft) 0%, transparent 70%),
		var(--affp-surface);
	border: 1px solid var(--affp-accent-soft-2);
	border-radius: 18px;
	box-shadow: 0 16px 50px -16px var(--affp-accent-glow);
}

.affwp-portal-mgr-order-success__icon {
	width: 88px;
	height: 88px;
	border-radius: 50%;
	background: var(--affp-accent-grad);
	color: #ffffff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 6px;
	box-shadow: 0 14px 40px -10px var(--affp-accent-glow);
	animation: affwp-mgr-success-pop 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes affwp-mgr-success-pop {
	from { transform: scale(0.6); opacity: 0; }
	to   { transform: scale(1);   opacity: 1; }
}

.affwp-portal-mgr-order-success__title {
	margin: 8px 0 0;
	font-size: 26px;
	font-weight: 800;
	color: var(--affp-text);
	letter-spacing: -0.02em;
}

.affwp-portal-mgr-order-success__desc {
	margin: 0;
	max-width: 440px;
	font-size: 14px;
	line-height: 1.6;
	color: var(--affp-text-muted);
}

.affwp-portal-mgr-order-success__desc strong {
	color: var(--affp-accent-light);
}

.affwp-portal-mgr-order-success__total {
	display: inline-flex;
	align-items: baseline;
	gap: 12px;
	margin: 12px 0 0;
	padding: 12px 20px;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid var(--affp-border);
}

.affwp-portal-mgr-order-success__total span {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--affp-text-muted);
}

.affwp-portal-mgr-order-success__total strong {
	font-size: 22px;
	font-weight: 800;
	color: var(--affp-accent-light);
	letter-spacing: -0.02em;
}

.affwp-portal-mgr-order-success__actions {
	display: flex;
	gap: 12px;
	margin-top: 18px;
	flex-wrap: wrap;
	justify-content: center;
}

@media (max-width: 540px) {
	.affwp-portal-mgr-order-success { padding: 36px 20px; }
	.affwp-portal-mgr-order-success__title { font-size: 22px; }
	.affwp-portal-mgr-order-success__icon { width: 72px; height: 72px; }
}

/* ---------- B) Actions row del preview de cliente seleccionado ---------- */

.affwp-portal-mgr-client-card__actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 12px;
}

/* Variante "edit" del link button — color accent (más prominente) */
body .affwp-portal-mgr-link--edit,
body button.affwp-portal-mgr-link--edit,
.entry-content .affwp-portal-mgr-link--edit,
.entry-content button.affwp-portal-mgr-link--edit,
html body .affwp-portal-mgr-link--edit {
	background: var(--affp-accent-soft) !important;
	background-color: rgba(52, 211, 153, 0.16) !important;
	border-color: var(--affp-accent) !important;
	color: var(--affp-accent-light) !important;
}

body .affwp-portal-mgr-link--edit:hover,
.entry-content .affwp-portal-mgr-link--edit:hover {
	background: rgba(52, 211, 153, 0.28) !important;
	background-color: rgba(52, 211, 153, 0.28) !important;
	color: #ffffff !important;
}

/* ---------- C) Cancel button mientras se edita un cliente -------------- */

body .affwp-portal-mgr-client-edit-cancel,
body button.affwp-portal-mgr-client-edit-cancel,
.entry-content .affwp-portal-mgr-client-edit-cancel,
.entry-content button.affwp-portal-mgr-client-edit-cancel {
	margin-right: 10px !important;
}

/* =============================================================================
 * 52. Manager — Pestaña "Pedidos" (lista interactiva).
 * =============================================================================
 *
 *   A) Stats summary — 3 KPIs arriba de la lista (pedidos, volumen, comisión).
 *   B) Filtros con count badge.
 *   C) Order card como `<details>` expandible — summary compacto + body
 *      con dos columnas (productos / cliente + comisión + timeline).
 *   D) Status badges con colores distintos por estado.
 *   E) Timeline visual mini del estado del pedido.
 */

/* ---------- A) Stats summary -------------------------------------------- */

.affwp-portal-mgr-orders-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	margin: 0 0 18px;
}

@media (max-width: 760px) {
	.affwp-portal-mgr-orders-stats {
		grid-template-columns: 1fr;
	}
}

.affwp-portal-mgr-orders-stats__item {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 16px 18px;
	background: var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 14px;
	transition: border-color 0.15s ease, transform 0.15s ease;
}

.affwp-portal-mgr-orders-stats__item:hover {
	border-color: var(--affp-accent-soft-2);
	transform: translateY(-1px);
}

.affwp-portal-mgr-orders-stats__label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--affp-text-muted);
}

.affwp-portal-mgr-orders-stats__label svg {
	width: 13px;
	height: 13px;
	color: var(--affp-accent-light);
}

.affwp-portal-mgr-orders-stats__value {
	font-size: 24px;
	font-weight: 800;
	color: var(--affp-text);
	letter-spacing: -0.02em;
	line-height: 1;
}

.affwp-portal-mgr-orders-stats__value--accent {
	color: var(--affp-accent-light);
}

.affwp-portal-mgr-orders-stats__sub {
	font-size: 11.5px;
	color: var(--affp-text-muted);
}

/* ---------- B) Filter chips with count badge ---------------------------- */

.affwp-portal-mgr-orders-filters {
	margin-bottom: 18px;
}

.affwp-portal-mgr-orders-filters__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 18px;
	padding: 0 6px;
	margin-left: 6px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.10);
	color: var(--affp-text);
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0;
}

.affwp-portal-filter-bar__chip.is-active .affwp-portal-mgr-orders-filters__count {
	background: rgba(0, 0, 0, 0.25);
	color: #ffffff;
}

/* ---------- C) Order card (details/summary) ----------------------------- */

.affwp-portal-mgr-orders-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.affwp-portal-mgr-order-card {
	background: var(--affp-surface);
	border: 1px solid var(--affp-border);
	border-radius: 14px;
	overflow: hidden;
	transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.affwp-portal-mgr-order-card:hover {
	border-color: var(--affp-accent-soft-2);
}

.affwp-portal-mgr-order-card[open] {
	border-color: var(--affp-accent);
	box-shadow: 0 8px 24px -10px var(--affp-accent-glow);
}

.affwp-portal-mgr-order-card__summary {
	display: grid;
	grid-template-columns: 130px 1fr 80px 90px auto 24px;
	gap: 14px;
	align-items: center;
	padding: 14px 18px;
	cursor: pointer;
	list-style: none;
	user-select: none;
	transition: background 0.15s ease;
}

.affwp-portal-mgr-order-card__summary::-webkit-details-marker { display: none; }
.affwp-portal-mgr-order-card__summary::marker                 { display: none; content: ''; }

.affwp-portal-mgr-order-card__summary:hover {
	background: rgba(255, 255, 255, 0.03);
}

.affwp-portal-mgr-order-card__primary {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.affwp-portal-mgr-order-card__num {
	font-size: 14px;
	font-weight: 800;
	color: var(--affp-text);
	letter-spacing: -0.01em;
}

.affwp-portal-mgr-order-card__date {
	font-size: 11.5px;
	color: var(--affp-text-muted);
}

.affwp-portal-mgr-order-card__client {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.affwp-portal-mgr-order-card__client strong {
	font-size: 13.5px;
	font-weight: 700;
	color: var(--affp-text);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.affwp-portal-mgr-order-card__client span {
	font-size: 12px;
	color: var(--affp-text-muted);
}

.affwp-portal-mgr-order-card__qty {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1px;
}

.affwp-portal-mgr-order-card__qty-num {
	font-size: 16px;
	font-weight: 800;
	color: var(--affp-text);
	line-height: 1;
}

.affwp-portal-mgr-order-card__qty-lbl {
	font-size: 10.5px;
	color: var(--affp-text-muted);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.affwp-portal-mgr-order-card__total {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 1px;
}

.affwp-portal-mgr-order-card__total-lbl {
	font-size: 10.5px;
	color: var(--affp-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.affwp-portal-mgr-order-card__total strong {
	font-size: 16px;
	font-weight: 800;
	color: var(--affp-accent-light);
	letter-spacing: -0.01em;
}

/* Status badges. */
.affwp-portal-mgr-order-card__badge {
	display: inline-flex;
	align-items: center;
	padding: 5px 12px;
	border-radius: 999px;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: -0.005em;
	white-space: nowrap;
	border: 1px solid;
}

.affwp-portal-mgr-order-card__badge--preparing {
	background: rgba(34, 211, 238, 0.14);
	border-color: rgba(34, 211, 238, 0.45);
	color: #cffafe;
}

.affwp-portal-mgr-order-card__badge--shipping {
	background: rgba(251, 191, 36, 0.14);
	border-color: rgba(251, 191, 36, 0.45);
	color: #fde68a;
}

.affwp-portal-mgr-order-card__badge--delivered {
	background: rgba(52, 211, 153, 0.16);
	border-color: rgba(52, 211, 153, 0.50);
	color: #a7f3d0;
}

.affwp-portal-mgr-order-card__badge--cancelled {
	background: rgba(239, 68, 68, 0.14);
	border-color: rgba(239, 68, 68, 0.45);
	color: #fca5a5;
}

.affwp-portal-mgr-order-card__chev {
	display: inline-flex;
	color: var(--affp-text-muted);
	transition: transform 0.2s ease, color 0.15s ease;
}

.affwp-portal-mgr-order-card__chev svg {
	width: 16px;
	height: 16px;
}

.affwp-portal-mgr-order-card[open] .affwp-portal-mgr-order-card__chev {
	transform: rotate(180deg);
	color: var(--affp-accent-light);
}

@media (max-width: 920px) {
	.affwp-portal-mgr-order-card__summary {
		grid-template-columns: 1fr auto;
		grid-template-rows: auto auto auto;
		gap: 8px 10px;
	}
	.affwp-portal-mgr-order-card__primary { grid-column: 1; grid-row: 1; }
	.affwp-portal-mgr-order-card__client  { grid-column: 1; grid-row: 2; }
	.affwp-portal-mgr-order-card__qty     { display: none; }
	.affwp-portal-mgr-order-card__total   { grid-column: 1; grid-row: 3; align-items: flex-start; }
	.affwp-portal-mgr-order-card__badge   { grid-column: 2; grid-row: 1; align-self: start; }
	.affwp-portal-mgr-order-card__chev    { grid-column: 2; grid-row: 3; align-self: end; }
}

/* ---------- Body expandido ---------------------------------------------- */

.affwp-portal-mgr-order-card__body {
	padding: 4px 18px 20px;
	border-top: 1px solid var(--affp-border);
	background: rgba(0, 0, 0, 0.16);
}

.affwp-portal-mgr-order-card__columns {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 24px;
	margin-top: 14px;
}

@media (max-width: 760px) {
	.affwp-portal-mgr-order-card__columns {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}

.affwp-portal-mgr-order-card__col-title {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 16px 0 10px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--affp-accent-light);
}

.affwp-portal-mgr-order-card__col-title:first-child {
	margin-top: 4px;
}

.affwp-portal-mgr-order-card__col-title svg {
	width: 14px;
	height: 14px;
}

/* Items list. */
.affwp-portal-mgr-order-card__items {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.affwp-portal-mgr-order-card__item {
	display: grid;
	grid-template-columns: 40px 1fr auto;
	gap: 10px;
	align-items: center;
	padding: 10px 0;
	border-bottom: 1px solid var(--affp-border);
}

.affwp-portal-mgr-order-card__item:last-child {
	border-bottom: 0;
}

.affwp-portal-mgr-order-card__item-img,
.affwp-portal-mgr-order-card__item-noimg {
	width: 40px;
	height: 40px;
	border-radius: 8px;
	object-fit: cover;
	background: rgba(255, 255, 255, 0.04);
}

.affwp-portal-mgr-order-card__item-body {
	min-width: 0;
}

.affwp-portal-mgr-order-card__item-body strong {
	font-size: 13px;
	font-weight: 600;
	color: var(--affp-text);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.affwp-portal-mgr-order-card__item-meta {
	font-size: 12px;
	color: var(--affp-text-muted);
	margin-top: 2px;
	display: block;
}

.affwp-portal-mgr-order-card__item-total {
	font-size: 13.5px;
	font-weight: 700;
	color: var(--affp-text);
}

/* Totales. */
.affwp-portal-mgr-order-card__totals {
	margin: 10px 0 0;
	padding: 12px 0 0;
	border-top: 1px dashed var(--affp-border);
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.affwp-portal-mgr-order-card__totals > div {
	display: flex;
	justify-content: space-between;
	font-size: 13px;
	color: var(--affp-text-muted);
}

.affwp-portal-mgr-order-card__totals > div dt {
	margin: 0;
}

.affwp-portal-mgr-order-card__totals > div dd {
	margin: 0;
	color: var(--affp-text);
	font-weight: 600;
}

.affwp-portal-mgr-order-card__totals-grand {
	margin-top: 4px;
	padding-top: 8px;
	border-top: 1px solid var(--affp-border);
}

.affwp-portal-mgr-order-card__totals-grand dt {
	font-size: 14px;
	color: var(--affp-text);
	font-weight: 700;
}

.affwp-portal-mgr-order-card__totals-grand dd {
	font-size: 18px;
	font-weight: 800;
	color: var(--affp-accent-light);
}

/* Cliente block. */
.affwp-portal-mgr-order-card__client-block {
	background: rgba(255, 255, 255, 0.025);
	border: 1px solid var(--affp-border);
	border-radius: 12px;
	padding: 12px 14px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.affwp-portal-mgr-order-card__client-name {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	color: var(--affp-text);
}

.affwp-portal-mgr-order-card__client-line {
	margin: 0;
	font-size: 12.5px;
	color: var(--affp-text-muted);
	line-height: 1.5;
}

/* Comisión block. */
.affwp-portal-mgr-order-card__commission-block {
	background:
		radial-gradient(circle at top right, var(--affp-accent-soft) 0%, transparent 70%),
		rgba(255, 255, 255, 0.025);
	border: 1px solid var(--affp-accent-soft-2);
	border-radius: 12px;
	padding: 12px 14px;
}

.affwp-portal-mgr-order-card__commission-amount {
	margin: 0;
	font-size: 22px;
	font-weight: 800;
	color: var(--affp-accent-light);
	letter-spacing: -0.02em;
	line-height: 1;
}

.affwp-portal-mgr-order-card__commission-status {
	margin: 4px 0 0;
	font-size: 11.5px;
	font-weight: 600;
	color: var(--affp-text-muted);
	text-transform: capitalize;
}

.affwp-portal-mgr-order-card__commission-status--paid     { color: #a7f3d0; }
.affwp-portal-mgr-order-card__commission-status--unpaid   { color: #fde68a; }
.affwp-portal-mgr-order-card__commission-status--pending  { color: var(--affp-text-muted); }
.affwp-portal-mgr-order-card__commission-status--rejected { color: #fca5a5; }

/* ---------- E) Timeline visual del estado ------------------------------- */

.affwp-portal-mgr-order-card__timeline {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 0;
	align-items: stretch;
	position: relative;
}

.affwp-portal-mgr-order-card__timeline li {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	position: relative;
	color: var(--affp-text-muted);
	font-size: 11px;
	font-weight: 600;
	min-width: 0;
}

/* Línea conectora entre los círculos. */
.affwp-portal-mgr-order-card__timeline li::before {
	content: "";
	position: absolute;
	top: 7px;
	left: 50%;
	right: -50%;
	height: 2px;
	background: var(--affp-border);
	z-index: 0;
}

.affwp-portal-mgr-order-card__timeline li:last-child::before {
	display: none;
}

.affwp-portal-mgr-order-card__timeline li.is-done::before,
.affwp-portal-mgr-order-card__timeline li.is-done + li::before {
	background: var(--affp-accent);
}

.affwp-portal-mgr-order-card__timeline-dot {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.06);
	border: 2px solid var(--affp-border);
	position: relative;
	z-index: 1;
	transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.affwp-portal-mgr-order-card__timeline li.is-done .affwp-portal-mgr-order-card__timeline-dot {
	background: var(--affp-accent);
	border-color: var(--affp-accent);
}

.affwp-portal-mgr-order-card__timeline li.is-active .affwp-portal-mgr-order-card__timeline-dot {
	transform: scale(1.4);
	box-shadow: 0 0 0 4px var(--affp-accent-soft);
}

.affwp-portal-mgr-order-card__timeline li.is-done .affwp-portal-mgr-order-card__timeline-label {
	color: var(--affp-accent-light);
}

.affwp-portal-mgr-order-card__timeline-label {
	font-size: 11px;
	text-align: center;
	line-height: 1.3;
}

/* Variante cancelado: timeline en gris/rojo, último step rojo. */
.affwp-portal-mgr-order-card__timeline.is-cancelled li::before,
.affwp-portal-mgr-order-card__timeline.is-cancelled li.is-done::before {
	background: rgba(239, 68, 68, 0.30);
}

.affwp-portal-mgr-order-card__timeline.is-cancelled li.is-done .affwp-portal-mgr-order-card__timeline-dot {
	background: rgba(239, 68, 68, 0.30);
	border-color: rgba(239, 68, 68, 0.50);
}

.affwp-portal-mgr-order-card__timeline.is-cancelled .is-cancelled-step .affwp-portal-mgr-order-card__timeline-dot {
	background: #ef4444;
	border-color: #ef4444;
}

.affwp-portal-mgr-order-card__timeline.is-cancelled .is-cancelled-step .affwp-portal-mgr-order-card__timeline-label {
	color: #fca5a5;
}

/* =============================================================================
 * 53. Manager — Pedidos: layout fluido (override sec. 52 que rompía).
 * =============================================================================
 *
 * El grid rígido `130px 1fr 80px 90px auto 24px` fallaba en viewports
 * estrechos: el badge se salía del card (overflow:hidden lo recortaba) y
 * "1 PRODUCTO" se solapaba con la ciudad del cliente.
 *
 * Solución: flex con `flex-wrap` y un gap simétrico. Los chunks se reordenan
 * y bajan a la siguiente fila automáticamente cuando no hay sitio.
 */

/* Card — quita el overflow:hidden global para que el grid expandido al
 * abrir details tenga aire. Solo lo necesitamos en el summary. */
body .affwp-portal-mgr-order-card,
.entry-content .affwp-portal-mgr-order-card {
	overflow: visible !important;
}

/* Summary — flex-wrap con order para colocar primary/client a la izquierda
 * y qty/total/badge/chev a la derecha. Si no caben, wrap a la siguiente fila. */
body .affwp-portal-mgr-order-card__summary,
.entry-content .affwp-portal-mgr-order-card__summary {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 10px 14px !important;
	padding: 14px 18px !important;
	cursor: pointer !important;
	list-style: none !important;
	user-select: none !important;
	grid-template-columns: none !important;
	grid-template-rows: none !important;
}

/* Reset grid placement de los hijos. */
body .affwp-portal-mgr-order-card__primary,
body .affwp-portal-mgr-order-card__client,
body .affwp-portal-mgr-order-card__qty,
body .affwp-portal-mgr-order-card__total,
body .affwp-portal-mgr-order-card__badge,
body .affwp-portal-mgr-order-card__chev,
.entry-content .affwp-portal-mgr-order-card__primary,
.entry-content .affwp-portal-mgr-order-card__client,
.entry-content .affwp-portal-mgr-order-card__qty,
.entry-content .affwp-portal-mgr-order-card__total,
.entry-content .affwp-portal-mgr-order-card__badge,
.entry-content .affwp-portal-mgr-order-card__chev {
	grid-column: auto !important;
	grid-row: auto !important;
	display: flex !important;
}

body .affwp-portal-mgr-order-card__primary {
	flex: 0 0 auto !important;
	flex-direction: column !important;
	gap: 2px !important;
	min-width: 110px !important;
}

body .affwp-portal-mgr-order-card__client {
	flex: 1 1 200px !important;
	flex-direction: column !important;
	gap: 2px !important;
	min-width: 0 !important;
	overflow: hidden !important;
}

body .affwp-portal-mgr-order-card__client strong {
	font-size: 13.5px !important;
	font-weight: 700 !important;
	color: var(--affp-text) !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	max-width: 100% !important;
}

body .affwp-portal-mgr-order-card__client span {
	font-size: 12px !important;
	color: var(--affp-text-muted) !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

body .affwp-portal-mgr-order-card__qty {
	flex: 0 0 auto !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 1px !important;
	padding: 0 4px !important;
}

body .affwp-portal-mgr-order-card__total {
	flex: 0 0 auto !important;
	flex-direction: column !important;
	align-items: flex-end !important;
	gap: 1px !important;
}

body .affwp-portal-mgr-order-card__badge {
	flex: 0 0 auto !important;
	display: inline-flex !important;
	align-items: center !important;
	white-space: nowrap !important;
}

body .affwp-portal-mgr-order-card__chev {
	flex: 0 0 auto !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin-left: 0 !important;
}

/* En viewports muy estrechos (<560px) ocultamos el "qty" para dejar más
 * sitio al cliente y al total. */
@media (max-width: 560px) {
	body .affwp-portal-mgr-order-card__qty {
		display: none !important;
	}
}

/* ---------- Stats: auto-fit que NUNCA se aplasta ---------------------- */

body .affwp-portal-mgr-orders-stats,
.entry-content .affwp-portal-mgr-orders-stats {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
	gap: 12px !important;
}

/* ---------- Filtros: chips wrap en dos filas si hace falta ----------- */

body .affwp-portal-mgr-orders-filters,
.entry-content .affwp-portal-mgr-orders-filters {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin-bottom: 18px !important;
}

/* ---------- Page header: nunca apila título y botón en mobile bruscamente */

body .affwp-portal-page-header,
.entry-content .affwp-portal-page-header {
	row-gap: 12px !important;
}

/* =============================================================================
 * 54. Manager — Pedidos: refinamiento minimalista (override final).
 * =============================================================================
 *
 * El detalle expandido tenía demasiadas cards anidadas + iconos en cada
 * subtítulo + texto muy bajo contraste. Aquí lo simplificamos:
 *
 *   - Sin cards anidadas en cliente y comisión (el body ya tiene fondo).
 *   - Section titles SIN icono y SIN uppercase — solo un label discreto.
 *   - Más respiración: padding 22px y gap entre columnas 32px.
 *   - Mejor contraste en metadatos (precio unitario, dirección, etc).
 *   - Timeline de estado con dot activo PULSANTE (animación 2s infinita)
 *     y label en color accent para que destaque.
 */

/* ---------- Body del card expandido ----------------------------------- */

body .affwp-portal-mgr-order-card__body,
.entry-content .affwp-portal-mgr-order-card__body {
	padding: 8px 22px 24px !important;
	background: rgba(0, 0, 0, 0.10) !important;
	border-top: 1px solid var(--affp-border) !important;
}

body .affwp-portal-mgr-order-card__columns,
.entry-content .affwp-portal-mgr-order-card__columns {
	gap: 32px !important;
	margin-top: 18px !important;
}

@media (max-width: 760px) {
	body .affwp-portal-mgr-order-card__columns,
	.entry-content .affwp-portal-mgr-order-card__columns {
		gap: 22px !important;
	}
}

/* ---------- Section titles minimalistas (sin icono, sin uppercase) ---- */

body .affwp-portal-mgr-order-card__col-title,
.entry-content .affwp-portal-mgr-order-card__col-title {
	display: block !important;
	margin: 22px 0 12px !important;
	font-size: 12.5px !important;
	font-weight: 700 !important;
	color: var(--affp-text-muted) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

body .affwp-portal-mgr-order-card__col-title:first-child,
.entry-content .affwp-portal-mgr-order-card__col-title:first-child {
	margin-top: 4px !important;
}

body .affwp-portal-mgr-order-card__col-title svg,
.entry-content .affwp-portal-mgr-order-card__col-title svg {
	display: none !important;
}

/* ---------- Items del pedido ----------------------------------------- */

body .affwp-portal-mgr-order-card__item,
.entry-content .affwp-portal-mgr-order-card__item {
	padding: 12px 0 !important;
	gap: 14px !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
}

body .affwp-portal-mgr-order-card__item:last-child,
.entry-content .affwp-portal-mgr-order-card__item:last-child {
	border-bottom: 0 !important;
}

body .affwp-portal-mgr-order-card__item-img,
body .affwp-portal-mgr-order-card__item-noimg,
.entry-content .affwp-portal-mgr-order-card__item-img,
.entry-content .affwp-portal-mgr-order-card__item-noimg {
	width: 44px !important;
	height: 44px !important;
}

body .affwp-portal-mgr-order-card__item-body strong,
.entry-content .affwp-portal-mgr-order-card__item-body strong {
	font-size: 13.5px !important;
	font-weight: 600 !important;
	color: var(--affp-text) !important;
	line-height: 1.4 !important;
}

body .affwp-portal-mgr-order-card__item-meta,
.entry-content .affwp-portal-mgr-order-card__item-meta {
	color: rgba(255, 255, 255, 0.55) !important;
	font-size: 12px !important;
	margin-top: 4px !important;
}

body .affwp-portal-mgr-order-card__item-total,
.entry-content .affwp-portal-mgr-order-card__item-total {
	font-size: 13.5px !important;
	font-weight: 700 !important;
	color: var(--affp-text) !important;
}

/* ---------- Bloque de totales (Subtotal/Envío/Total) ----------------- */

body .affwp-portal-mgr-order-card__totals,
.entry-content .affwp-portal-mgr-order-card__totals {
	margin: 14px 0 0 !important;
	padding: 14px 0 0 !important;
	gap: 8px !important;
	border-top: 1px solid var(--affp-border) !important;
	border-top-style: dashed !important;
}

body .affwp-portal-mgr-order-card__totals > div,
.entry-content .affwp-portal-mgr-order-card__totals > div {
	font-size: 13.5px !important;
	padding: 0 !important;
	color: var(--affp-text-muted) !important;
}

body .affwp-portal-mgr-order-card__totals > div dd,
.entry-content .affwp-portal-mgr-order-card__totals > div dd {
	color: var(--affp-text) !important;
	font-weight: 600 !important;
}

body .affwp-portal-mgr-order-card__totals-grand,
.entry-content .affwp-portal-mgr-order-card__totals-grand {
	margin-top: 8px !important;
	padding-top: 12px !important;
	border-top: 1px solid var(--affp-border) !important;
}

body .affwp-portal-mgr-order-card__totals-grand dt,
.entry-content .affwp-portal-mgr-order-card__totals-grand dt {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: var(--affp-text) !important;
}

body .affwp-portal-mgr-order-card__totals-grand dd,
.entry-content .affwp-portal-mgr-order-card__totals-grand dd {
	font-size: 18px !important;
	font-weight: 800 !important;
	color: var(--affp-accent-light) !important;
}

/* ---------- Cliente: SIN card (solo texto) ----------------------------- */

body .affwp-portal-mgr-order-card__client-block,
.entry-content .affwp-portal-mgr-order-card__client-block {
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	gap: 5px !important;
}

body .affwp-portal-mgr-order-card__client-name,
.entry-content .affwp-portal-mgr-order-card__client-name {
	font-size: 15px !important;
	font-weight: 700 !important;
	color: var(--affp-text) !important;
	margin: 0 0 4px !important;
}

body .affwp-portal-mgr-order-card__client-line,
.entry-content .affwp-portal-mgr-order-card__client-line {
	color: rgba(255, 255, 255, 0.62) !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
	margin: 0 !important;
}

/* ---------- Comisión: card sutil (no bloque saturado) ----------------- */

body .affwp-portal-mgr-order-card__commission-block,
.entry-content .affwp-portal-mgr-order-card__commission-block {
	background: rgba(52, 211, 153, 0.06) !important;
	border: 1px solid rgba(52, 211, 153, 0.20) !important;
	border-radius: 10px !important;
	padding: 14px 16px !important;
}

body .affwp-portal-mgr-order-card__commission-amount,
.entry-content .affwp-portal-mgr-order-card__commission-amount {
	font-size: 24px !important;
	font-weight: 800 !important;
	color: var(--affp-accent-light) !important;
}

body .affwp-portal-mgr-order-card__commission-status,
.entry-content .affwp-portal-mgr-order-card__commission-status {
	font-size: 12px !important;
	margin-top: 6px !important;
	color: rgba(255, 255, 255, 0.55) !important;
	font-weight: 500 !important;
}

/* ---------- Timeline animado ----------------------------------------- */

body .affwp-portal-mgr-order-card__timeline,
.entry-content .affwp-portal-mgr-order-card__timeline {
	margin-top: 8px !important;
	padding: 4px 0 !important;
	gap: 0 !important;
}

body .affwp-portal-mgr-order-card__timeline li,
.entry-content .affwp-portal-mgr-order-card__timeline li {
	color: rgba(255, 255, 255, 0.40) !important;
	font-size: 11.5px !important;
	gap: 8px !important;
}

body .affwp-portal-mgr-order-card__timeline-dot,
.entry-content .affwp-portal-mgr-order-card__timeline-dot {
	width: 14px !important;
	height: 14px !important;
	background: rgba(255, 255, 255, 0.06) !important;
	border: 2px solid rgba(255, 255, 255, 0.18) !important;
	transition: background 0.3s ease, border-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease !important;
}

/* Línea conectora entre dots — sutil. */
body .affwp-portal-mgr-order-card__timeline li::before,
.entry-content .affwp-portal-mgr-order-card__timeline li::before {
	height: 2px !important;
	background: rgba(255, 255, 255, 0.08) !important;
	top: 8px !important;
	transition: background 0.4s ease !important;
}

/* Dot completado — accent sólido. */
body .affwp-portal-mgr-order-card__timeline li.is-done .affwp-portal-mgr-order-card__timeline-dot,
.entry-content .affwp-portal-mgr-order-card__timeline li.is-done .affwp-portal-mgr-order-card__timeline-dot {
	background: var(--affp-accent) !important;
	border-color: var(--affp-accent) !important;
}

body .affwp-portal-mgr-order-card__timeline li.is-done::before,
.entry-content .affwp-portal-mgr-order-card__timeline li.is-done::before {
	background: var(--affp-accent) !important;
}

body .affwp-portal-mgr-order-card__timeline li.is-done .affwp-portal-mgr-order-card__timeline-label,
.entry-content .affwp-portal-mgr-order-card__timeline li.is-done .affwp-portal-mgr-order-card__timeline-label {
	color: var(--affp-text) !important;
	font-weight: 600 !important;
}

/* Dot ACTIVO — pulsa continuamente con un halo expansivo. */
body .affwp-portal-mgr-order-card__timeline li.is-active .affwp-portal-mgr-order-card__timeline-dot,
.entry-content .affwp-portal-mgr-order-card__timeline li.is-active .affwp-portal-mgr-order-card__timeline-dot {
	background: var(--affp-accent) !important;
	border-color: var(--affp-accent) !important;
	transform: scale(1.25) !important;
	animation: affwp-mgr-timeline-pulse 2.2s ease-in-out infinite !important;
}

@keyframes affwp-mgr-timeline-pulse {
	0%, 100% {
		box-shadow:
			0 0 0 0   rgba(52, 211, 153, 0.55),
			0 0 12px  rgba(52, 211, 153, 0.45);
	}
	50% {
		box-shadow:
			0 0 0 12px rgba(52, 211, 153, 0),
			0 0 18px   rgba(52, 211, 153, 0.65);
	}
}

body .affwp-portal-mgr-order-card__timeline li.is-active .affwp-portal-mgr-order-card__timeline-label,
.entry-content .affwp-portal-mgr-order-card__timeline li.is-active .affwp-portal-mgr-order-card__timeline-label {
	color: var(--affp-accent-light) !important;
	font-weight: 700 !important;
}

/* Variante cancelada — todo gris-rojizo apagado. */
body .affwp-portal-mgr-order-card__timeline.is-cancelled li::before,
body .affwp-portal-mgr-order-card__timeline.is-cancelled li.is-done::before,
.entry-content .affwp-portal-mgr-order-card__timeline.is-cancelled li::before,
.entry-content .affwp-portal-mgr-order-card__timeline.is-cancelled li.is-done::before {
	background: rgba(239, 68, 68, 0.20) !important;
}

body .affwp-portal-mgr-order-card__timeline.is-cancelled li.is-done .affwp-portal-mgr-order-card__timeline-dot,
.entry-content .affwp-portal-mgr-order-card__timeline.is-cancelled li.is-done .affwp-portal-mgr-order-card__timeline-dot {
	background: rgba(239, 68, 68, 0.18) !important;
	border-color: rgba(239, 68, 68, 0.35) !important;
}

body .affwp-portal-mgr-order-card__timeline.is-cancelled .is-cancelled-step .affwp-portal-mgr-order-card__timeline-dot,
.entry-content .affwp-portal-mgr-order-card__timeline.is-cancelled .is-cancelled-step .affwp-portal-mgr-order-card__timeline-dot {
	background: #ef4444 !important;
	border-color: #ef4444 !important;
	animation: affwp-mgr-timeline-pulse-red 2.2s ease-in-out infinite !important;
}

@keyframes affwp-mgr-timeline-pulse-red {
	0%, 100% { box-shadow: 0 0 0 0   rgba(239, 68, 68, 0.50), 0 0 12px rgba(239, 68, 68, 0.40); }
	50%      { box-shadow: 0 0 0 12px rgba(239, 68, 68, 0),    0 0 18px rgba(239, 68, 68, 0.60); }
}

body .affwp-portal-mgr-order-card__timeline.is-cancelled .is-cancelled-step .affwp-portal-mgr-order-card__timeline-label,
.entry-content .affwp-portal-mgr-order-card__timeline.is-cancelled .is-cancelled-step .affwp-portal-mgr-order-card__timeline-label {
	color: #fca5a5 !important;
	font-weight: 700 !important;
}


/* =============================================================================
 * 55. Manager — Pedidos: refinamiento DEFINITIVO (override final del 54).
 * =============================================================================
 *
 * Cambios visibles inmediatos:
 *  - Comisión SIN caja, solo barra accent vertical a la izquierda.
 *  - Timeline: dots de 18px, conector de 3px, halo expansivo grande, label accent.
 *  - Section titles tipo "eyebrow" (10.5px uppercase letter-spaced).
 *  - Más respiración (padding 24px 28px 28px, gap 40px entre columnas).
 *  - Texto secundario subido a 0.72 alpha — adiós contraste pobre.
 */

html body .affwp-portal-mgr-order-card__body,
html body .entry-content .affwp-portal-mgr-order-card__body {
	padding: 4px 28px 28px !important;
	background: rgba(0, 0, 0, 0.12) !important;
	border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
}

html body .affwp-portal-mgr-order-card__columns,
html body .entry-content .affwp-portal-mgr-order-card__columns {
	gap: 40px !important;
	margin-top: 22px !important;
}

@media (max-width: 760px) {
	html body .affwp-portal-mgr-order-card__columns,
	html body .entry-content .affwp-portal-mgr-order-card__columns {
		gap: 28px !important;
	}
}

/* ---------- Eyebrow titles ------------------------------------------- */

html body .affwp-portal-mgr-order-card__col-title,
html body .entry-content .affwp-portal-mgr-order-card__col-title {
	display: block !important;
	margin: 24px 0 14px !important;
	padding: 0 !important;
	font-size: 10.5px !important;
	font-weight: 700 !important;
	color: rgba(255, 255, 255, 0.55) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.10em !important;
	line-height: 1 !important;
}

html body .affwp-portal-mgr-order-card__col > .affwp-portal-mgr-order-card__col-title:first-child,
html body .entry-content .affwp-portal-mgr-order-card__col > .affwp-portal-mgr-order-card__col-title:first-child {
	margin-top: 4px !important;
}

html body .affwp-portal-mgr-order-card__col-title svg,
html body .entry-content .affwp-portal-mgr-order-card__col-title svg {
	display: none !important;
}

/* ---------- Items ----------------------------------------------------- */

html body .affwp-portal-mgr-order-card__items,
html body .entry-content .affwp-portal-mgr-order-card__items {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

html body .affwp-portal-mgr-order-card__item,
html body .entry-content .affwp-portal-mgr-order-card__item {
	display: flex !important;
	align-items: center !important;
	padding: 14px 0 !important;
	gap: 16px !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
}

html body .affwp-portal-mgr-order-card__item:last-child,
html body .entry-content .affwp-portal-mgr-order-card__item:last-child {
	border-bottom: 0 !important;
	padding-bottom: 4px !important;
}

html body .affwp-portal-mgr-order-card__item:first-child,
html body .entry-content .affwp-portal-mgr-order-card__item:first-child {
	padding-top: 4px !important;
}

html body .affwp-portal-mgr-order-card__item-img,
html body .affwp-portal-mgr-order-card__item-noimg,
html body .entry-content .affwp-portal-mgr-order-card__item-img,
html body .entry-content .affwp-portal-mgr-order-card__item-noimg {
	width: 46px !important;
	height: 46px !important;
	border-radius: 8px !important;
	object-fit: cover !important;
	background: rgba(255, 255, 255, 0.05) !important;
	flex-shrink: 0 !important;
}

html body .affwp-portal-mgr-order-card__item-body,
html body .entry-content .affwp-portal-mgr-order-card__item-body {
	flex: 1 !important;
	min-width: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
}

html body .affwp-portal-mgr-order-card__item-body strong,
html body .entry-content .affwp-portal-mgr-order-card__item-body strong {
	font-size: 13.5px !important;
	font-weight: 600 !important;
	color: rgba(255, 255, 255, 0.92) !important;
	line-height: 1.4 !important;
}

html body .affwp-portal-mgr-order-card__item-meta,
html body .entry-content .affwp-portal-mgr-order-card__item-meta {
	color: rgba(255, 255, 255, 0.62) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	margin: 0 !important;
}

html body .affwp-portal-mgr-order-card__item-total,
html body .entry-content .affwp-portal-mgr-order-card__item-total {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: rgba(255, 255, 255, 0.92) !important;
	flex-shrink: 0 !important;
}

/* ---------- Totales --------------------------------------------------- */

html body .affwp-portal-mgr-order-card__totals,
html body .entry-content .affwp-portal-mgr-order-card__totals {
	margin: 18px 0 0 !important;
	padding: 16px 0 0 !important;
	border-top: 1px dashed rgba(255, 255, 255, 0.10) !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
}

html body .affwp-portal-mgr-order-card__totals > div,
html body .entry-content .affwp-portal-mgr-order-card__totals > div {
	display: flex !important;
	justify-content: space-between !important;
	align-items: baseline !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 13px !important;
}

html body .affwp-portal-mgr-order-card__totals > div dt,
html body .entry-content .affwp-portal-mgr-order-card__totals > div dt {
	margin: 0 !important;
	color: rgba(255, 255, 255, 0.62) !important;
	font-weight: 500 !important;
}

html body .affwp-portal-mgr-order-card__totals > div dd,
html body .entry-content .affwp-portal-mgr-order-card__totals > div dd {
	margin: 0 !important;
	color: rgba(255, 255, 255, 0.92) !important;
	font-weight: 600 !important;
}

html body .affwp-portal-mgr-order-card__totals-grand,
html body .entry-content .affwp-portal-mgr-order-card__totals-grand {
	margin-top: 6px !important;
	padding-top: 14px !important;
	border-top: 1px solid rgba(255, 255, 255, 0.10) !important;
}

html body .affwp-portal-mgr-order-card__totals-grand dt,
html body .entry-content .affwp-portal-mgr-order-card__totals-grand dt {
	font-size: 15px !important;
	font-weight: 700 !important;
	color: rgba(255, 255, 255, 0.95) !important;
}

html body .affwp-portal-mgr-order-card__totals-grand dd,
html body .entry-content .affwp-portal-mgr-order-card__totals-grand dd {
	font-size: 20px !important;
	font-weight: 800 !important;
	color: var(--affp-accent-light) !important;
	letter-spacing: -0.02em !important;
}

/* ---------- Cliente: SIN tarjeta -------------------------------------- */

html body .affwp-portal-mgr-order-card__client-block,
html body .entry-content .affwp-portal-mgr-order-card__client-block {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
}

html body .affwp-portal-mgr-order-card__client-name,
html body .entry-content .affwp-portal-mgr-order-card__client-name {
	font-size: 16px !important;
	font-weight: 700 !important;
	color: rgba(255, 255, 255, 0.95) !important;
	margin: 0 0 4px !important;
	line-height: 1.3 !important;
}

html body .affwp-portal-mgr-order-card__client-line,
html body .entry-content .affwp-portal-mgr-order-card__client-line {
	color: rgba(255, 255, 255, 0.72) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.55 !important;
	margin: 0 !important;
}

/* ---------- Comisión: barra accent vertical, sin caja ----------------- */

html body .affwp-portal-mgr-order-card__commission-block,
html body .entry-content .affwp-portal-mgr-order-card__commission-block {
	background: transparent !important;
	border: 0 !important;
	border-left: 3px solid var(--affp-accent) !important;
	border-radius: 0 !important;
	padding: 6px 0 6px 16px !important;
	margin: 0 !important;
	box-shadow: -8px 0 24px -16px var(--affp-accent-glow) !important;
}

html body .affwp-portal-mgr-order-card__commission-amount,
html body .entry-content .affwp-portal-mgr-order-card__commission-amount {
	font-size: 28px !important;
	font-weight: 800 !important;
	color: var(--affp-accent-light) !important;
	letter-spacing: -0.03em !important;
	line-height: 1 !important;
	margin: 0 !important;
	text-shadow: 0 0 24px var(--affp-accent-glow) !important;
}

html body .affwp-portal-mgr-order-card__commission-status,
html body .entry-content .affwp-portal-mgr-order-card__commission-status {
	font-size: 11.5px !important;
	font-weight: 600 !important;
	color: rgba(255, 255, 255, 0.62) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	margin: 8px 0 0 !important;
}

/* ---------- Timeline animado (DRAMATICO) ----------------------------- */

html body .affwp-portal-mgr-order-card__timeline,
html body .entry-content .affwp-portal-mgr-order-card__timeline {
	list-style: none !important;
	margin: 6px 0 0 !important;
	padding: 8px 0 4px !important;
	display: flex !important;
	gap: 0 !important;
	align-items: stretch !important;
	position: relative !important;
}

html body .affwp-portal-mgr-order-card__timeline li,
html body .entry-content .affwp-portal-mgr-order-card__timeline li {
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 10px !important;
	position: relative !important;
	color: rgba(255, 255, 255, 0.40) !important;
	font-size: 11.5px !important;
	font-weight: 600 !important;
	min-width: 0 !important;
}

html body .affwp-portal-mgr-order-card__timeline li::before,
html body .entry-content .affwp-portal-mgr-order-card__timeline li::before {
	content: "" !important;
	position: absolute !important;
	top: 9px !important;
	left: 50% !important;
	right: -50% !important;
	height: 3px !important;
	background: rgba(255, 255, 255, 0.08) !important;
	z-index: 0 !important;
	border-radius: 2px !important;
	transition: background 0.5s ease !important;
}

html body .affwp-portal-mgr-order-card__timeline li:last-child::before,
html body .entry-content .affwp-portal-mgr-order-card__timeline li:last-child::before {
	display: none !important;
}

html body .affwp-portal-mgr-order-card__timeline-dot,
html body .entry-content .affwp-portal-mgr-order-card__timeline-dot {
	width: 18px !important;
	height: 18px !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.06) !important;
	border: 3px solid rgba(255, 255, 255, 0.18) !important;
	position: relative !important;
	z-index: 1 !important;
	transition: background 0.35s ease, border-color 0.35s ease, transform 0.35s ease, box-shadow 0.35s ease !important;
}

html body .affwp-portal-mgr-order-card__timeline li.is-done .affwp-portal-mgr-order-card__timeline-dot,
html body .entry-content .affwp-portal-mgr-order-card__timeline li.is-done .affwp-portal-mgr-order-card__timeline-dot {
	background: var(--affp-accent) !important;
	border-color: var(--affp-accent) !important;
	box-shadow: 0 0 0 2px rgba(52, 211, 153, 0.16), 0 0 12px rgba(52, 211, 153, 0.40) !important;
}

html body .affwp-portal-mgr-order-card__timeline li.is-done::before,
html body .entry-content .affwp-portal-mgr-order-card__timeline li.is-done::before {
	background: var(--affp-accent) !important;
}

html body .affwp-portal-mgr-order-card__timeline li.is-done .affwp-portal-mgr-order-card__timeline-label,
html body .entry-content .affwp-portal-mgr-order-card__timeline li.is-done .affwp-portal-mgr-order-card__timeline-label {
	color: rgba(255, 255, 255, 0.85) !important;
	font-weight: 600 !important;
}

html body .affwp-portal-mgr-order-card__timeline li.is-active .affwp-portal-mgr-order-card__timeline-dot,
html body .entry-content .affwp-portal-mgr-order-card__timeline li.is-active .affwp-portal-mgr-order-card__timeline-dot {
	background: var(--affp-accent) !important;
	border-color: var(--affp-accent) !important;
	transform: scale(1.30) !important;
	animation: affwp-mgr-tl-pulse 2s ease-in-out infinite !important;
}

@keyframes affwp-mgr-tl-pulse {
	0%, 100% {
		box-shadow:
			0 0 0 0    rgba(52, 211, 153, 0.65),
			0 0 0 3px  rgba(52, 211, 153, 0.20),
			0 0 18px   rgba(52, 211, 153, 0.55);
	}
	50% {
		box-shadow:
			0 0 0 16px rgba(52, 211, 153, 0),
			0 0 0 3px  rgba(52, 211, 153, 0.10),
			0 0 24px   rgba(52, 211, 153, 0.75);
	}
}

html body .affwp-portal-mgr-order-card__timeline li.is-active .affwp-portal-mgr-order-card__timeline-label,
html body .entry-content .affwp-portal-mgr-order-card__timeline li.is-active .affwp-portal-mgr-order-card__timeline-label {
	color: var(--affp-accent-light) !important;
	font-weight: 700 !important;
	text-shadow: 0 0 12px var(--affp-accent-glow) !important;
}

html body .affwp-portal-mgr-order-card__timeline-label,
html body .entry-content .affwp-portal-mgr-order-card__timeline-label {
	font-size: 11.5px !important;
	text-align: center !important;
	line-height: 1.3 !important;
	transition: color 0.3s ease, text-shadow 0.3s ease !important;
}

html body .affwp-portal-mgr-order-card__timeline.is-cancelled li::before,
html body .entry-content .affwp-portal-mgr-order-card__timeline.is-cancelled li::before {
	background: rgba(239, 68, 68, 0.20) !important;
}

html body .affwp-portal-mgr-order-card__timeline.is-cancelled li.is-done .affwp-portal-mgr-order-card__timeline-dot,
html body .entry-content .affwp-portal-mgr-order-card__timeline.is-cancelled li.is-done .affwp-portal-mgr-order-card__timeline-dot {
	background: rgba(239, 68, 68, 0.20) !important;
	border-color: rgba(239, 68, 68, 0.40) !important;
	box-shadow: 0 0 8px rgba(239, 68, 68, 0.30) !important;
}

html body .affwp-portal-mgr-order-card__timeline.is-cancelled .is-cancelled-step .affwp-portal-mgr-order-card__timeline-dot,
html body .entry-content .affwp-portal-mgr-order-card__timeline.is-cancelled .is-cancelled-step .affwp-portal-mgr-order-card__timeline-dot {
	background: #ef4444 !important;
	border-color: #ef4444 !important;
	transform: scale(1.30) !important;
	animation: affwp-mgr-tl-pulse-red 2s ease-in-out infinite !important;
}

@keyframes affwp-mgr-tl-pulse-red {
	0%, 100% {
		box-shadow:
			0 0 0 0    rgba(239, 68, 68, 0.60),
			0 0 0 3px  rgba(239, 68, 68, 0.20),
			0 0 18px   rgba(239, 68, 68, 0.55);
	}
	50% {
		box-shadow:
			0 0 0 16px rgba(239, 68, 68, 0),
			0 0 0 3px  rgba(239, 68, 68, 0.10),
			0 0 24px   rgba(239, 68, 68, 0.75);
	}
}

html body .affwp-portal-mgr-order-card__timeline.is-cancelled .is-cancelled-step .affwp-portal-mgr-order-card__timeline-label,
html body .entry-content .affwp-portal-mgr-order-card__timeline.is-cancelled .is-cancelled-step .affwp-portal-mgr-order-card__timeline-label {
	color: #fca5a5 !important;
	font-weight: 700 !important;
	text-shadow: 0 0 10px rgba(239, 68, 68, 0.55) !important;
}

/* ---------- Summary header del card (alineación + spacing) ----------- */

html body .affwp-portal-mgr-order-card__summary,
html body .entry-content .affwp-portal-mgr-order-card__summary {
	padding: 18px 22px !important;
	gap: 18px !important;
	align-items: center !important;
}

html body .affwp-portal-mgr-order-card__num,
html body .entry-content .affwp-portal-mgr-order-card__num {
	font-size: 13.5px !important;
	font-weight: 700 !important;
	color: rgba(255, 255, 255, 0.92) !important;
	letter-spacing: 0 !important;
}

html body .affwp-portal-mgr-order-card__date,
html body .entry-content .affwp-portal-mgr-order-card__date {
	font-size: 11.5px !important;
	color: rgba(255, 255, 255, 0.55) !important;
	font-weight: 500 !important;
	margin-top: 4px !important;
}

html body .affwp-portal-mgr-order-card__client strong,
html body .entry-content .affwp-portal-mgr-order-card__client strong {
	font-size: 13.5px !important;
	font-weight: 600 !important;
	color: rgba(255, 255, 255, 0.92) !important;
}

html body .affwp-portal-mgr-order-card__client span,
html body .entry-content .affwp-portal-mgr-order-card__client span {
	font-size: 11.5px !important;
	color: rgba(255, 255, 255, 0.55) !important;
	margin-top: 3px !important;
}

html body .affwp-portal-mgr-order-card__qty-num,
html body .entry-content .affwp-portal-mgr-order-card__qty-num {
	font-size: 24px !important;
	font-weight: 800 !important;
	color: rgba(255, 255, 255, 0.92) !important;
	letter-spacing: -0.03em !important;
	line-height: 1 !important;
}

html body .affwp-portal-mgr-order-card__qty-lbl,
html body .entry-content .affwp-portal-mgr-order-card__qty-lbl {
	font-size: 10.5px !important;
	color: rgba(255, 255, 255, 0.55) !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	margin-top: 2px !important;
}

html body .affwp-portal-mgr-order-card__total-lbl,
html body .entry-content .affwp-portal-mgr-order-card__total-lbl {
	font-size: 10.5px !important;
	color: rgba(255, 255, 255, 0.55) !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
}

html body .affwp-portal-mgr-order-card__total strong,
html body .entry-content .affwp-portal-mgr-order-card__total strong {
	font-size: 18px !important;
	font-weight: 800 !important;
	color: var(--affp-accent-light) !important;
	letter-spacing: -0.02em !important;
	margin-top: 2px !important;
}


/* =============================================================================
 * 56. Manager — Timeline v2 (barra de progreso moderna y CLARA).
 * =============================================================================
 *
 * Reemplazo total del timeline anterior con uno tipo "stepper" moderno:
 *  - Barra de progreso horizontal que se rellena con gradient + animación shimmer.
 *  - Nodos circulares grandes (44px) con icono semántico dentro:
 *       · Pasos pasados → check ✓ verde sólido
 *       · Paso actual   → icono del estado (caja/camión/check) + ping animado
 *       · Pasos futuros → número (1/2/3) sobre fondo gris hueco
 *  - Cada nodo tiene LABEL grande + CAPTION pequeño debajo (claridad).
 *  - Caption descriptivo bajo todo: "Tu pedido se está empacando…".
 *  - Variante cancelada en rojo con icono X pulsante.
 */

/* ---------- Contenedor general --------------------------------------- */

html body .affwp-portal-mgr-tl,
html body .entry-content .affwp-portal-mgr-tl {
	position: relative !important;
	margin: 8px 0 0 !important;
	padding: 8px 8px 4px !important;
}

/* ---------- Track + fill (la barra horizontal) ----------------------- */

html body .affwp-portal-mgr-tl__track,
html body .entry-content .affwp-portal-mgr-tl__track {
	position: absolute !important;
	top: 30px !important;          /* centro vertical de los nodos (44/2 + padding) */
	left: 30px !important;          /* mitad del primer nodo */
	right: 30px !important;         /* mitad del último nodo */
	height: 4px !important;
	background: rgba(255, 255, 255, 0.07) !important;
	border-radius: 4px !important;
	overflow: hidden !important;
	z-index: 0 !important;
}

html body .affwp-portal-mgr-tl__fill,
html body .entry-content .affwp-portal-mgr-tl__fill {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	height: 100% !important;
	width: var(--affp-tl-progress, 0%) !important;
	background:
		linear-gradient(
			90deg,
			var(--affp-accent) 0%,
			var(--affp-accent-3, var(--affp-accent)) 100%
		) !important;
	border-radius: 4px !important;
	transition: width 1.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
	box-shadow: 0 0 12px rgba(52, 211, 153, 0.55) !important;
	overflow: hidden !important;
}

/* Shimmer continuo sobre el fill para que se note "vivo". */
html body .affwp-portal-mgr-tl__fill::after,
html body .entry-content .affwp-portal-mgr-tl__fill::after {
	content: "" !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	background: linear-gradient(
		90deg,
		rgba(255, 255, 255, 0)   0%,
		rgba(255, 255, 255, 0.45) 50%,
		rgba(255, 255, 255, 0)  100%
	) !important;
	animation: affwp-mgr-tl-shimmer 2.4s linear infinite !important;
}

@keyframes affwp-mgr-tl-shimmer {
	0%   { transform: translateX(-100%); }
	100% { transform: translateX(100%); }
}

/* ---------- Steps (lista) -------------------------------------------- */

html body .affwp-portal-mgr-tl__steps,
html body .entry-content .affwp-portal-mgr-tl__steps {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	justify-content: space-between !important;
	align-items: flex-start !important;
	gap: 8px !important;
	position: relative !important;
	z-index: 1 !important;
}

html body .affwp-portal-mgr-tl__step,
html body .entry-content .affwp-portal-mgr-tl__step {
	flex: 1 1 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 8px !important;
	min-width: 0 !important;
	text-align: center !important;
}

/* ---------- Nodo (círculo) ------------------------------------------- */

html body .affwp-portal-mgr-tl__node,
html body .entry-content .affwp-portal-mgr-tl__node {
	position: relative !important;
	width: 44px !important;
	height: 44px !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: #1a2030 !important;                          /* fondo oscuro = "hueco" */
	border: 2px solid rgba(255, 255, 255, 0.12) !important;
	color: rgba(255, 255, 255, 0.55) !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	font-feature-settings: "tnum" !important;
	transition: background 0.4s ease, border-color 0.4s ease,
	            color 0.4s ease, transform 0.4s ease,
	            box-shadow 0.4s ease !important;
	flex-shrink: 0 !important;
}

/* Por defecto: muestra el NÚMERO, oculta el icono. */
html body .affwp-portal-mgr-tl__node-num,
html body .entry-content .affwp-portal-mgr-tl__node-num {
	display: inline-flex !important;
	font-size: 15px !important;
	line-height: 1 !important;
}

html body .affwp-portal-mgr-tl__node-icon,
html body .entry-content .affwp-portal-mgr-tl__node-icon {
	display: none !important;
	font-size: 18px !important;
	line-height: 1 !important;
}

html body .affwp-portal-mgr-tl__node-icon svg,
html body .entry-content .affwp-portal-mgr-tl__node-icon svg {
	width: 18px !important;
	height: 18px !important;
}

/* PASADO (paso ya completado, anterior al actual): check verde sólido. */
html body .affwp-portal-mgr-tl__step.is-past .affwp-portal-mgr-tl__node,
html body .entry-content .affwp-portal-mgr-tl__step.is-past .affwp-portal-mgr-tl__node {
	background: var(--affp-accent) !important;
	border-color: var(--affp-accent) !important;
	color: #04231a !important;
	box-shadow: 0 0 0 4px rgba(52, 211, 153, 0.10),
	            0 4px 16px rgba(52, 211, 153, 0.35) !important;
}

html body .affwp-portal-mgr-tl__step.is-past .affwp-portal-mgr-tl__node-num,
html body .entry-content .affwp-portal-mgr-tl__step.is-past .affwp-portal-mgr-tl__node-num {
	display: none !important;
}

html body .affwp-portal-mgr-tl__step.is-past .affwp-portal-mgr-tl__node-icon,
html body .entry-content .affwp-portal-mgr-tl__step.is-past .affwp-portal-mgr-tl__node-icon {
	display: inline-flex !important;
	color: #04231a !important;
}

/* ACTIVO (paso actual): muestra icono semántico (caja/camión/check) +
   borde accent grueso + ping animado expansivo. */
html body .affwp-portal-mgr-tl__step.is-active .affwp-portal-mgr-tl__node,
html body .entry-content .affwp-portal-mgr-tl__step.is-active .affwp-portal-mgr-tl__node {
	background: #14191f !important;
	border: 3px solid var(--affp-accent) !important;
	color: var(--affp-accent-light) !important;
	transform: scale(1.10) !important;
	box-shadow: 0 0 0 6px rgba(52, 211, 153, 0.12),
	            0 0 22px rgba(52, 211, 153, 0.55) !important;
}

html body .affwp-portal-mgr-tl__step.is-active .affwp-portal-mgr-tl__node-num,
html body .entry-content .affwp-portal-mgr-tl__step.is-active .affwp-portal-mgr-tl__node-num {
	display: none !important;
}

html body .affwp-portal-mgr-tl__step.is-active .affwp-portal-mgr-tl__node-icon,
html body .entry-content .affwp-portal-mgr-tl__step.is-active .affwp-portal-mgr-tl__node-icon {
	display: inline-flex !important;
	color: var(--affp-accent-light) !important;
}

/* Ping animado — anillo que crece y se desvanece. */
html body .affwp-portal-mgr-tl__node-ping,
html body .entry-content .affwp-portal-mgr-tl__node-ping {
	position: absolute !important;
	inset: -4px !important;
	border-radius: 50% !important;
	border: 2px solid var(--affp-accent) !important;
	pointer-events: none !important;
	animation: affwp-mgr-tl-ping 1.6s cubic-bezier(0, 0, 0.2, 1) infinite !important;
}

@keyframes affwp-mgr-tl-ping {
	0%   { transform: scale(0.85); opacity: 0.85; }
	75%  { transform: scale(1.45); opacity: 0;    }
	100% { transform: scale(1.45); opacity: 0;    }
}

/* ---------- Labels y captions (texto debajo del nodo) ---------------- */

html body .affwp-portal-mgr-tl__label,
html body .entry-content .affwp-portal-mgr-tl__label {
	display: block !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	color: rgba(255, 255, 255, 0.55) !important;
	line-height: 1.3 !important;
	margin-top: 4px !important;
	transition: color 0.4s ease !important;
}

html body .affwp-portal-mgr-tl__caption,
html body .entry-content .affwp-portal-mgr-tl__caption {
	display: block !important;
	font-size: 10.5px !important;
	font-weight: 500 !important;
	color: rgba(255, 255, 255, 0.35) !important;
	line-height: 1.3 !important;
	margin-top: 1px !important;
	letter-spacing: 0.02em !important;
}

html body .affwp-portal-mgr-tl__step.is-past .affwp-portal-mgr-tl__label,
html body .entry-content .affwp-portal-mgr-tl__step.is-past .affwp-portal-mgr-tl__label {
	color: rgba(255, 255, 255, 0.85) !important;
	font-weight: 700 !important;
}

html body .affwp-portal-mgr-tl__step.is-past .affwp-portal-mgr-tl__caption,
html body .entry-content .affwp-portal-mgr-tl__step.is-past .affwp-portal-mgr-tl__caption {
	color: rgba(255, 255, 255, 0.55) !important;
}

html body .affwp-portal-mgr-tl__step.is-active .affwp-portal-mgr-tl__label,
html body .entry-content .affwp-portal-mgr-tl__step.is-active .affwp-portal-mgr-tl__label {
	color: var(--affp-accent-light) !important;
	font-weight: 700 !important;
	text-shadow: 0 0 12px var(--affp-accent-glow) !important;
}

html body .affwp-portal-mgr-tl__step.is-active .affwp-portal-mgr-tl__caption,
html body .entry-content .affwp-portal-mgr-tl__step.is-active .affwp-portal-mgr-tl__caption {
	color: rgba(255, 255, 255, 0.62) !important;
}

/* ---------- Caption descriptivo del estado actual -------------------- */

html body .affwp-portal-mgr-tl__current,
html body .entry-content .affwp-portal-mgr-tl__current {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin: 18px 0 0 !important;
	padding: 10px 14px !important;
	background: rgba(52, 211, 153, 0.07) !important;
	border-left: 3px solid var(--affp-accent) !important;
	border-radius: 0 8px 8px 0 !important;
	font-size: 12.5px !important;
	font-weight: 500 !important;
	color: rgba(255, 255, 255, 0.85) !important;
	line-height: 1.4 !important;
}

html body .affwp-portal-mgr-tl__current-dot,
html body .entry-content .affwp-portal-mgr-tl__current-dot {
	flex-shrink: 0 !important;
	width: 8px !important;
	height: 8px !important;
	border-radius: 50% !important;
	background: var(--affp-accent) !important;
	box-shadow: 0 0 8px var(--affp-accent-glow) !important;
	animation: affwp-mgr-tl-blink 1.5s ease-in-out infinite !important;
}

@keyframes affwp-mgr-tl-blink {
	0%, 100% { opacity: 1;   transform: scale(1);   }
	50%      { opacity: 0.45; transform: scale(0.78); }
}

/* ---------- Variante cancelada (rojo) -------------------------------- */

html body .affwp-portal-mgr-tl.is-cancelled .affwp-portal-mgr-tl__fill,
html body .entry-content .affwp-portal-mgr-tl.is-cancelled .affwp-portal-mgr-tl__fill {
	background: linear-gradient(90deg, #ef4444 0%, #f87171 100%) !important;
	box-shadow: 0 0 12px rgba(239, 68, 68, 0.45) !important;
	width: 100% !important;
	opacity: 0.40 !important;
}

html body .affwp-portal-mgr-tl.is-cancelled .affwp-portal-mgr-tl__step .affwp-portal-mgr-tl__node,
html body .entry-content .affwp-portal-mgr-tl.is-cancelled .affwp-portal-mgr-tl__step .affwp-portal-mgr-tl__node {
	background: #1a2030 !important;
	border-color: rgba(255, 255, 255, 0.10) !important;
	color: rgba(255, 255, 255, 0.30) !important;
	box-shadow: none !important;
	transform: none !important;
}

html body .affwp-portal-mgr-tl.is-cancelled .affwp-portal-mgr-tl__step .affwp-portal-mgr-tl__node-num,
html body .entry-content .affwp-portal-mgr-tl.is-cancelled .affwp-portal-mgr-tl__step .affwp-portal-mgr-tl__node-num {
	display: inline-flex !important;
}

html body .affwp-portal-mgr-tl.is-cancelled .affwp-portal-mgr-tl__step .affwp-portal-mgr-tl__node-icon,
html body .entry-content .affwp-portal-mgr-tl.is-cancelled .affwp-portal-mgr-tl__step .affwp-portal-mgr-tl__node-icon {
	display: none !important;
}

html body .affwp-portal-mgr-tl.is-cancelled .is-cancelled-step .affwp-portal-mgr-tl__node,
html body .entry-content .affwp-portal-mgr-tl.is-cancelled .is-cancelled-step .affwp-portal-mgr-tl__node {
	background: #ef4444 !important;
	border-color: #ef4444 !important;
	color: #ffffff !important;
	transform: scale(1.10) !important;
	box-shadow: 0 0 0 6px rgba(239, 68, 68, 0.15),
	            0 0 22px rgba(239, 68, 68, 0.55) !important;
}

html body .affwp-portal-mgr-tl.is-cancelled .is-cancelled-step .affwp-portal-mgr-tl__node-num,
html body .entry-content .affwp-portal-mgr-tl.is-cancelled .is-cancelled-step .affwp-portal-mgr-tl__node-num {
	display: none !important;
}

html body .affwp-portal-mgr-tl.is-cancelled .is-cancelled-step .affwp-portal-mgr-tl__node-icon,
html body .entry-content .affwp-portal-mgr-tl.is-cancelled .is-cancelled-step .affwp-portal-mgr-tl__node-icon {
	display: inline-flex !important;
	color: #ffffff !important;
}

html body .affwp-portal-mgr-tl.is-cancelled .is-cancelled-step .affwp-portal-mgr-tl__node-ping,
html body .entry-content .affwp-portal-mgr-tl.is-cancelled .is-cancelled-step .affwp-portal-mgr-tl__node-ping {
	border-color: #ef4444 !important;
}

html body .affwp-portal-mgr-tl.is-cancelled .is-cancelled-step .affwp-portal-mgr-tl__label,
html body .entry-content .affwp-portal-mgr-tl.is-cancelled .is-cancelled-step .affwp-portal-mgr-tl__label {
	color: #fca5a5 !important;
	font-weight: 700 !important;
}

html body .affwp-portal-mgr-tl.is-cancelled .affwp-portal-mgr-tl__current,
html body .entry-content .affwp-portal-mgr-tl.is-cancelled .affwp-portal-mgr-tl__current {
	background: rgba(239, 68, 68, 0.08) !important;
	border-left-color: #ef4444 !important;
	color: #fca5a5 !important;
}

html body .affwp-portal-mgr-tl.is-cancelled .affwp-portal-mgr-tl__current-dot,
html body .entry-content .affwp-portal-mgr-tl.is-cancelled .affwp-portal-mgr-tl__current-dot {
	background: #ef4444 !important;
	box-shadow: 0 0 8px rgba(239, 68, 68, 0.55) !important;
}

/* ---------- Mobile --------------------------------------------------- */

@media (max-width: 480px) {
	html body .affwp-portal-mgr-tl__track,
	html body .entry-content .affwp-portal-mgr-tl__track {
		top: 26px !important;
		left: 26px !important;
		right: 26px !important;
	}

	html body .affwp-portal-mgr-tl__node,
	html body .entry-content .affwp-portal-mgr-tl__node {
		width: 36px !important;
		height: 36px !important;
		font-size: 13px !important;
	}

	html body .affwp-portal-mgr-tl__node-icon svg,
	html body .entry-content .affwp-portal-mgr-tl__node-icon svg {
		width: 14px !important;
		height: 14px !important;
	}

	html body .affwp-portal-mgr-tl__caption,
	html body .entry-content .affwp-portal-mgr-tl__caption {
		display: none !important;
	}
}


/* =============================================================================
 * 57. Manager — Info ampliada del pedido + bloque "qué decirle al cliente".
 * =============================================================================
 *
 * El timeline ahora viene acompañado de:
 *   - Bloque current expandido: descripción + chip del estado WC + próximo paso.
 *   - Disclosure plegable "Qué decirle al cliente" con mensaje copiable.
 */

/* ---------- Current block (descripción + WC + next) ------------------ */

html body .affwp-portal-mgr-tl__current,
html body .entry-content .affwp-portal-mgr-tl__current {
	display: flex !important;
	align-items: flex-start !important;
	gap: 12px !important;
	margin: 18px 0 0 !important;
	padding: 14px 16px !important;
	background: rgba(52, 211, 153, 0.07) !important;
	border-left: 3px solid var(--affp-accent) !important;
	border-radius: 0 10px 10px 0 !important;
}

html body .affwp-portal-mgr-tl__current-dot,
html body .entry-content .affwp-portal-mgr-tl__current-dot {
	flex-shrink: 0 !important;
	margin-top: 6px !important;
}

html body .affwp-portal-mgr-tl__current-body,
html body .entry-content .affwp-portal-mgr-tl__current-body {
	flex: 1 !important;
	min-width: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
}

html body .affwp-portal-mgr-tl__current-text,
html body .entry-content .affwp-portal-mgr-tl__current-text {
	margin: 0 !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	color: rgba(255, 255, 255, 0.85) !important;
	line-height: 1.5 !important;
}

html body .affwp-portal-mgr-tl__current-meta,
html body .entry-content .affwp-portal-mgr-tl__current-meta {
	margin: 0 !important;
	font-size: 11.5px !important;
	color: rgba(255, 255, 255, 0.55) !important;
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	flex-wrap: wrap !important;
}

html body .affwp-portal-mgr-tl__wc-chip,
html body .entry-content .affwp-portal-mgr-tl__wc-chip {
	display: inline-flex !important;
	align-items: center !important;
	padding: 2px 8px !important;
	background: rgba(255, 255, 255, 0.07) !important;
	border: 1px solid rgba(255, 255, 255, 0.10) !important;
	border-radius: 4px !important;
	font-size: 10.5px !important;
	font-weight: 700 !important;
	color: rgba(255, 255, 255, 0.85) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	font-family: 'SF Mono', Monaco, Consolas, monospace !important;
}

html body .affwp-portal-mgr-tl__current-next,
html body .entry-content .affwp-portal-mgr-tl__current-next {
	margin: 0 !important;
	font-size: 11.5px !important;
	color: rgba(255, 255, 255, 0.62) !important;
	line-height: 1.5 !important;
}

html body .affwp-portal-mgr-tl__current-next strong,
html body .entry-content .affwp-portal-mgr-tl__current-next strong {
	color: var(--affp-accent-light) !important;
	font-weight: 700 !important;
	margin-right: 4px !important;
}

/* ---------- Disclosure "Qué decirle al cliente" ---------------------- */

html body .affwp-portal-mgr-tl__msg,
html body .entry-content .affwp-portal-mgr-tl__msg {
	margin: 14px 0 0 !important;
	background: rgba(255, 255, 255, 0.025) !important;
	border: 1px solid rgba(255, 255, 255, 0.08) !important;
	border-radius: 10px !important;
	overflow: hidden !important;
}

html body .affwp-portal-mgr-tl__msg-toggle,
html body .entry-content .affwp-portal-mgr-tl__msg-toggle {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 12px 14px !important;
	cursor: pointer !important;
	user-select: none !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	color: rgba(255, 255, 255, 0.85) !important;
	list-style: none !important;
	transition: background 0.2s ease !important;
}

html body .affwp-portal-mgr-tl__msg-toggle::-webkit-details-marker,
html body .entry-content .affwp-portal-mgr-tl__msg-toggle::-webkit-details-marker {
	display: none !important;
}

html body .affwp-portal-mgr-tl__msg-toggle:hover,
html body .entry-content .affwp-portal-mgr-tl__msg-toggle:hover {
	background: rgba(255, 255, 255, 0.04) !important;
}

html body .affwp-portal-mgr-tl__msg-toggle > svg,
html body .entry-content .affwp-portal-mgr-tl__msg-toggle > svg {
	color: var(--affp-accent) !important;
	font-size: 16px !important;
	flex-shrink: 0 !important;
}

html body .affwp-portal-mgr-tl__msg-toggle > span:not(.affwp-portal-mgr-tl__msg-chev),
html body .entry-content .affwp-portal-mgr-tl__msg-toggle > span:not(.affwp-portal-mgr-tl__msg-chev) {
	flex: 1 !important;
}

html body .affwp-portal-mgr-tl__msg-chev,
html body .entry-content .affwp-portal-mgr-tl__msg-chev {
	display: inline-flex !important;
	color: rgba(255, 255, 255, 0.40) !important;
	font-size: 14px !important;
	transition: transform 0.25s ease !important;
}

html body .affwp-portal-mgr-tl__msg[open] .affwp-portal-mgr-tl__msg-chev,
html body .entry-content .affwp-portal-mgr-tl__msg[open] .affwp-portal-mgr-tl__msg-chev {
	transform: rotate(180deg) !important;
}

html body .affwp-portal-mgr-tl__msg-body,
html body .entry-content .affwp-portal-mgr-tl__msg-body {
	padding: 0 14px 14px !important;
}

html body .affwp-portal-mgr-tl__msg-text,
html body .entry-content .affwp-portal-mgr-tl__msg-text {
	margin: 0 0 12px !important;
	padding: 12px 14px !important;
	background: rgba(0, 0, 0, 0.25) !important;
	border-radius: 8px !important;
	font-size: 13px !important;
	font-style: italic !important;
	color: rgba(255, 255, 255, 0.85) !important;
	line-height: 1.55 !important;
	border-left: 2px solid rgba(52, 211, 153, 0.45) !important;
}

html body .affwp-portal-mgr-tl__msg-copy,
html body .entry-content .affwp-portal-mgr-tl__msg-copy {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 8px 14px !important;
	background: var(--affp-accent-grad) !important;
	border: 0 !important;
	border-radius: 8px !important;
	color: #04231a !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	transition: transform 0.15s ease, filter 0.15s ease, box-shadow 0.15s ease !important;
	box-shadow: 0 2px 12px rgba(52, 211, 153, 0.30) !important;
}

html body .affwp-portal-mgr-tl__msg-copy:hover,
html body .entry-content .affwp-portal-mgr-tl__msg-copy:hover {
	filter: brightness(1.1) !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 16px rgba(52, 211, 153, 0.45) !important;
}

html body .affwp-portal-mgr-tl__msg-copy.is-copied,
html body .entry-content .affwp-portal-mgr-tl__msg-copy.is-copied {
	background: #10b981 !important;
}

html body .affwp-portal-mgr-tl__msg-copy svg,
html body .entry-content .affwp-portal-mgr-tl__msg-copy svg {
	font-size: 14px !important;
}

/* =============================================================================
 * 58. Manager — Cómo funciona: documentación de estados (cards + doc).
 * =============================================================================
 */

html body .affwp-portal-mgr-doc,
html body .entry-content .affwp-portal-mgr-doc {
	margin: 32px 0 0 !important;
	padding: 0 !important;
}

html body .affwp-portal-mgr-doc__header,
html body .entry-content .affwp-portal-mgr-doc__header {
	margin: 0 0 22px !important;
	text-align: center !important;
}

html body .affwp-portal-mgr-doc__title,
html body .entry-content .affwp-portal-mgr-doc__title {
	font-size: 22px !important;
	font-weight: 800 !important;
	color: rgba(255, 255, 255, 0.95) !important;
	letter-spacing: -0.02em !important;
	margin: 0 0 8px !important;
}

html body .affwp-portal-mgr-doc__lead,
html body .entry-content .affwp-portal-mgr-doc__lead {
	font-size: 14px !important;
	color: rgba(255, 255, 255, 0.65) !important;
	margin: 0 auto !important;
	max-width: 640px !important;
	line-height: 1.55 !important;
}

html body .affwp-portal-mgr-doc__grid,
html body .entry-content .affwp-portal-mgr-doc__grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
	gap: 16px !important;
	margin: 0 0 24px !important;
}

html body .affwp-portal-mgr-doc__card,
html body .entry-content .affwp-portal-mgr-doc__card {
	background: var(--affp-surface-2, #131826) !important;
	border: 1px solid var(--affp-border, rgba(255, 255, 255, 0.08)) !important;
	border-radius: 14px !important;
	padding: 20px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 14px !important;
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease !important;
	position: relative !important;
	overflow: hidden !important;
}

html body .affwp-portal-mgr-doc__card::before,
html body .entry-content .affwp-portal-mgr-doc__card::before {
	content: "" !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	height: 3px !important;
	background: var(--affp-accent) !important;
	opacity: 0.7 !important;
}

html body .affwp-portal-mgr-doc__card:hover,
html body .entry-content .affwp-portal-mgr-doc__card:hover {
	transform: translateY(-2px) !important;
	border-color: rgba(52, 211, 153, 0.35) !important;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35) !important;
}

html body .affwp-portal-mgr-doc__card-head,
html body .entry-content .affwp-portal-mgr-doc__card-head {
	display: flex !important;
	align-items: flex-start !important;
	gap: 12px !important;
}

html body .affwp-portal-mgr-doc__card-num,
html body .entry-content .affwp-portal-mgr-doc__card-num {
	flex-shrink: 0 !important;
	width: 32px !important;
	height: 32px !important;
	border-radius: 50% !important;
	background: var(--affp-accent) !important;
	color: #04231a !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	box-shadow: 0 0 16px rgba(52, 211, 153, 0.45) !important;
}

html body .affwp-portal-mgr-doc__card-icon,
html body .entry-content .affwp-portal-mgr-doc__card-icon {
	flex-shrink: 0 !important;
	width: 32px !important;
	height: 32px !important;
	border-radius: 8px !important;
	background: rgba(52, 211, 153, 0.10) !important;
	color: var(--affp-accent-light) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 18px !important;
}

html body .affwp-portal-mgr-doc__card-titles,
html body .entry-content .affwp-portal-mgr-doc__card-titles {
	flex: 1 !important;
	min-width: 0 !important;
}

html body .affwp-portal-mgr-doc__card-title,
html body .entry-content .affwp-portal-mgr-doc__card-title {
	margin: 0 0 4px !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	color: rgba(255, 255, 255, 0.95) !important;
	line-height: 1.2 !important;
	letter-spacing: -0.01em !important;
}

html body .affwp-portal-mgr-doc__card-sub,
html body .entry-content .affwp-portal-mgr-doc__card-sub {
	margin: 0 !important;
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 4px !important;
}

html body .affwp-portal-mgr-doc__wc-chip,
html body .entry-content .affwp-portal-mgr-doc__wc-chip {
	display: inline-flex !important;
	padding: 2px 8px !important;
	background: rgba(255, 255, 255, 0.06) !important;
	border: 1px solid rgba(255, 255, 255, 0.10) !important;
	border-radius: 4px !important;
	font-size: 10.5px !important;
	font-weight: 700 !important;
	color: rgba(255, 255, 255, 0.75) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
	font-family: 'SF Mono', Monaco, Consolas, monospace !important;
}

html body .affwp-portal-mgr-doc__card-desc,
html body .entry-content .affwp-portal-mgr-doc__card-desc {
	margin: 0 !important;
	font-size: 13px !important;
	color: rgba(255, 255, 255, 0.72) !important;
	line-height: 1.55 !important;
}

html body .affwp-portal-mgr-doc__card-rows,
html body .entry-content .affwp-portal-mgr-doc__card-rows {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	margin-top: 4px !important;
	padding-top: 14px !important;
	border-top: 1px dashed rgba(255, 255, 255, 0.08) !important;
}

html body .affwp-portal-mgr-doc__card-row,
html body .entry-content .affwp-portal-mgr-doc__card-row {
	display: flex !important;
	flex-direction: column !important;
	gap: 3px !important;
}

html body .affwp-portal-mgr-doc__card-row strong,
html body .entry-content .affwp-portal-mgr-doc__card-row strong {
	font-size: 10.5px !important;
	color: var(--affp-accent-light) !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
}

html body .affwp-portal-mgr-doc__card-row span,
html body .entry-content .affwp-portal-mgr-doc__card-row span {
	font-size: 12.5px !important;
	color: rgba(255, 255, 255, 0.78) !important;
	line-height: 1.5 !important;
}

/* Variantes por estado del card. */
html body .affwp-portal-mgr-doc__card--shipping::before,
html body .entry-content .affwp-portal-mgr-doc__card--shipping::before {
	background: linear-gradient(90deg, var(--affp-accent), var(--affp-accent-3, var(--affp-accent))) !important;
}

html body .affwp-portal-mgr-doc__card--delivered::before,
html body .entry-content .affwp-portal-mgr-doc__card--delivered::before {
	background: linear-gradient(90deg, #34d399, #10b981) !important;
	opacity: 1 !important;
	height: 4px !important;
}

/* ---------- Note (cancelaciones) ------------------------------------- */

html body .affwp-portal-mgr-doc__note,
html body .entry-content .affwp-portal-mgr-doc__note {
	display: flex !important;
	align-items: flex-start !important;
	gap: 14px !important;
	padding: 18px 20px !important;
	background: rgba(239, 68, 68, 0.06) !important;
	border: 1px solid rgba(239, 68, 68, 0.18) !important;
	border-radius: 12px !important;
	margin: 0 0 16px !important;
}

html body .affwp-portal-mgr-doc__note-icon,
html body .entry-content .affwp-portal-mgr-doc__note-icon {
	flex-shrink: 0 !important;
	width: 36px !important;
	height: 36px !important;
	border-radius: 50% !important;
	background: rgba(239, 68, 68, 0.15) !important;
	color: #fca5a5 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 18px !important;
}

html body .affwp-portal-mgr-doc__note-title,
html body .entry-content .affwp-portal-mgr-doc__note-title {
	margin: 0 0 4px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #fca5a5 !important;
	line-height: 1.3 !important;
}

html body .affwp-portal-mgr-doc__note-desc,
html body .entry-content .affwp-portal-mgr-doc__note-desc {
	margin: 0 !important;
	font-size: 13px !important;
	color: rgba(255, 255, 255, 0.75) !important;
	line-height: 1.55 !important;
}

/* ---------- Tip card -------------------------------------------------- */

html body .affwp-portal-mgr-doc__tip-card,
html body .entry-content .affwp-portal-mgr-doc__tip-card {
	display: flex !important;
	align-items: flex-start !important;
	gap: 14px !important;
	padding: 18px 20px !important;
	background: linear-gradient(135deg, rgba(52, 211, 153, 0.08) 0%, rgba(34, 211, 238, 0.04) 100%) !important;
	border: 1px solid rgba(52, 211, 153, 0.20) !important;
	border-radius: 12px !important;
}

html body .affwp-portal-mgr-doc__tip-icon,
html body .entry-content .affwp-portal-mgr-doc__tip-icon {
	flex-shrink: 0 !important;
	width: 36px !important;
	height: 36px !important;
	border-radius: 50% !important;
	background: var(--affp-accent-grad) !important;
	color: #04231a !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 18px !important;
	box-shadow: 0 4px 12px rgba(52, 211, 153, 0.35) !important;
}

html body .affwp-portal-mgr-doc__tip-title,
html body .entry-content .affwp-portal-mgr-doc__tip-title {
	margin: 0 0 4px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	color: var(--affp-accent-light) !important;
	line-height: 1.3 !important;
}

html body .affwp-portal-mgr-doc__tip-desc,
html body .entry-content .affwp-portal-mgr-doc__tip-desc {
	margin: 0 !important;
	font-size: 13px !important;
	color: rgba(255, 255, 255, 0.78) !important;
	line-height: 1.55 !important;
}


/* =============================================================================
 * 59. Manager — Selector de método de pago (paso 3 confirmar).
 * =============================================================================
 *
 * Dos radio-cards lado a lado (USD/CUP) con flag, nombre, descripción y monto.
 * Al elegir CUP aparece un panel detallando la tasa de cambio y el monto
 * que el cliente debe pagar en pesos cubanos. Diseño glassmorphism con la
 * paleta esmeralda del modo gestor.
 */

html body .affwp-portal-mgr-pay,
html body .entry-content .affwp-portal-mgr-pay {
	margin: 22px 0 0 !important;
	padding: 22px !important;
	background: var(--affp-surface-2, #131826) !important;
	border: 1px solid var(--affp-border, rgba(255, 255, 255, 0.08)) !important;
	border-radius: 14px !important;
}

html body .affwp-portal-mgr-pay__header,
html body .entry-content .affwp-portal-mgr-pay__header {
	margin: 0 0 16px !important;
}

html body .affwp-portal-mgr-pay__title,
html body .entry-content .affwp-portal-mgr-pay__title {
	margin: 0 0 4px !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	color: rgba(255, 255, 255, 0.95) !important;
	letter-spacing: -0.01em !important;
}

html body .affwp-portal-mgr-pay__sub,
html body .entry-content .affwp-portal-mgr-pay__sub {
	margin: 0 !important;
	font-size: 13px !important;
	color: rgba(255, 255, 255, 0.62) !important;
	line-height: 1.45 !important;
}

/* ---------- Grid de opciones ----------------------------------------- */

html body .affwp-portal-mgr-pay__options,
html body .entry-content .affwp-portal-mgr-pay__options {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 12px !important;
}

@media (max-width: 640px) {
	html body .affwp-portal-mgr-pay__options,
	html body .entry-content .affwp-portal-mgr-pay__options {
		grid-template-columns: 1fr !important;
	}
}

/* ---------- Radio-card --------------------------------------------------- */

html body .affwp-portal-mgr-pay__opt,
html body .entry-content .affwp-portal-mgr-pay__opt {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	padding: 16px !important;
	background: rgba(255, 255, 255, 0.03) !important;
	border: 2px solid rgba(255, 255, 255, 0.08) !important;
	border-radius: 12px !important;
	cursor: pointer !important;
	transition: border-color 0.25s ease, background 0.25s ease, transform 0.15s ease, box-shadow 0.25s ease !important;
	user-select: none !important;
	overflow: hidden !important;
}

html body .affwp-portal-mgr-pay__opt:hover,
html body .entry-content .affwp-portal-mgr-pay__opt:hover {
	border-color: rgba(52, 211, 153, 0.30) !important;
	background: rgba(255, 255, 255, 0.05) !important;
	transform: translateY(-1px) !important;
}

html body .affwp-portal-mgr-pay__opt.is-selected,
html body .entry-content .affwp-portal-mgr-pay__opt.is-selected {
	border-color: var(--affp-accent) !important;
	background: linear-gradient(135deg, rgba(52, 211, 153, 0.10) 0%, rgba(34, 211, 238, 0.06) 100%) !important;
	box-shadow: 0 0 0 4px rgba(52, 211, 153, 0.10), 0 8px 24px rgba(52, 211, 153, 0.18) !important;
}

html body .affwp-portal-mgr-pay__opt input[type="radio"],
html body .entry-content .affwp-portal-mgr-pay__opt input[type="radio"] {
	position: absolute !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* Bandera/etiqueta de moneda — círculo con código. */
html body .affwp-portal-mgr-pay__opt-flag,
html body .entry-content .affwp-portal-mgr-pay__opt-flag {
	flex-shrink: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 48px !important;
	height: 48px !important;
	border-radius: 50% !important;
	background: linear-gradient(135deg, #34d399 0%, #22d3ee 100%) !important;
	color: #04231a !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	letter-spacing: 0.02em !important;
	box-shadow: 0 4px 12px rgba(52, 211, 153, 0.30) !important;
	font-family: 'SF Mono', Monaco, Consolas, monospace !important;
}

html body .affwp-portal-mgr-pay__opt-flag--cup,
html body .entry-content .affwp-portal-mgr-pay__opt-flag--cup {
	background: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%) !important;
	color: #ffffff !important;
	box-shadow: 0 4px 12px rgba(245, 158, 11, 0.35) !important;
}

html body .affwp-portal-mgr-pay__opt-body,
html body .entry-content .affwp-portal-mgr-pay__opt-body {
	flex: 1 !important;
	min-width: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
}

html body .affwp-portal-mgr-pay__opt-name,
html body .entry-content .affwp-portal-mgr-pay__opt-name {
	font-size: 14.5px !important;
	font-weight: 700 !important;
	color: rgba(255, 255, 255, 0.95) !important;
	line-height: 1.3 !important;
}

html body .affwp-portal-mgr-pay__opt-desc,
html body .entry-content .affwp-portal-mgr-pay__opt-desc {
	font-size: 12px !important;
	color: rgba(255, 255, 255, 0.62) !important;
	line-height: 1.4 !important;
}

html body .affwp-portal-mgr-pay__opt-amount,
html body .entry-content .affwp-portal-mgr-pay__opt-amount {
	font-size: 16px !important;
	font-weight: 800 !important;
	color: var(--affp-accent-light) !important;
	letter-spacing: -0.02em !important;
	margin-top: 4px !important;
}

html body .affwp-portal-mgr-pay__opt-amount em,
html body .entry-content .affwp-portal-mgr-pay__opt-amount em {
	font-size: 11px !important;
	font-style: normal !important;
	font-weight: 700 !important;
	color: rgba(255, 255, 255, 0.55) !important;
	letter-spacing: 0.06em !important;
	margin-left: 4px !important;
	text-transform: uppercase !important;
}

/* Check visual a la derecha — animación al seleccionar. */
html body .affwp-portal-mgr-pay__opt-check,
html body .entry-content .affwp-portal-mgr-pay__opt-check {
	flex-shrink: 0 !important;
	width: 22px !important;
	height: 22px !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.04) !important;
	border: 2px solid rgba(255, 255, 255, 0.18) !important;
	position: relative !important;
	transition: all 0.25s ease !important;
}

html body .affwp-portal-mgr-pay__opt.is-selected .affwp-portal-mgr-pay__opt-check,
html body .entry-content .affwp-portal-mgr-pay__opt.is-selected .affwp-portal-mgr-pay__opt-check {
	background: var(--affp-accent) !important;
	border-color: var(--affp-accent) !important;
	box-shadow: 0 0 0 4px rgba(52, 211, 153, 0.18), 0 0 12px rgba(52, 211, 153, 0.45) !important;
}

html body .affwp-portal-mgr-pay__opt.is-selected .affwp-portal-mgr-pay__opt-check::after,
html body .entry-content .affwp-portal-mgr-pay__opt.is-selected .affwp-portal-mgr-pay__opt-check::after {
	content: "" !important;
	position: absolute !important;
	top: 4px !important;
	left: 7px !important;
	width: 4px !important;
	height: 9px !important;
	border-right: 2.5px solid #04231a !important;
	border-bottom: 2.5px solid #04231a !important;
	transform: rotate(45deg) !important;
}

/* ---------- Breakdown CUP (cuando se elige cheque) -------------------- */

html body .affwp-portal-mgr-pay__cup-breakdown,
html body .entry-content .affwp-portal-mgr-pay__cup-breakdown {
	margin: 16px 0 0 !important;
	padding: 18px 20px !important;
	background:
		radial-gradient(circle at top right, rgba(245, 158, 11, 0.08) 0%, transparent 60%),
		rgba(0, 0, 0, 0.20) !important;
	border: 1px solid rgba(245, 158, 11, 0.25) !important;
	border-radius: 12px !important;
	animation: affwp-mgr-pay-slide 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

@keyframes affwp-mgr-pay-slide {
	0%   { opacity: 0; transform: translateY(-6px); }
	100% { opacity: 1; transform: translateY(0);    }
}

html body .affwp-portal-mgr-pay__cup-rate,
html body .entry-content .affwp-portal-mgr-pay__cup-rate {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
	padding-bottom: 14px !important;
	margin-bottom: 14px !important;
	border-bottom: 1px dashed rgba(255, 255, 255, 0.12) !important;
}

html body .affwp-portal-mgr-pay__cup-rate-label,
html body .entry-content .affwp-portal-mgr-pay__cup-rate-label {
	font-size: 11.5px !important;
	font-weight: 700 !important;
	color: rgba(255, 255, 255, 0.55) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
}

html body .affwp-portal-mgr-pay__cup-rate-value,
html body .entry-content .affwp-portal-mgr-pay__cup-rate-value {
	font-size: 15px !important;
	font-weight: 700 !important;
	color: rgba(255, 255, 255, 0.92) !important;
	font-family: 'SF Mono', Monaco, Consolas, monospace !important;
	letter-spacing: -0.01em !important;
}

html body .affwp-portal-mgr-pay__cup-amount-row,
html body .entry-content .affwp-portal-mgr-pay__cup-amount-row {
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
	margin-bottom: 12px !important;
}

html body .affwp-portal-mgr-pay__cup-amount-label,
html body .entry-content .affwp-portal-mgr-pay__cup-amount-label {
	font-size: 11.5px !important;
	font-weight: 700 !important;
	color: rgba(255, 255, 255, 0.62) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
}

html body .affwp-portal-mgr-pay__cup-amount,
html body .entry-content .affwp-portal-mgr-pay__cup-amount {
	font-size: 32px !important;
	font-weight: 800 !important;
	color: #fbbf24 !important;
	letter-spacing: -0.02em !important;
	line-height: 1.1 !important;
	text-shadow: 0 0 24px rgba(245, 158, 11, 0.45) !important;
	font-feature-settings: "tnum" !important;
}

html body .affwp-portal-mgr-pay__cup-amount span,
html body .entry-content .affwp-portal-mgr-pay__cup-amount span {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: rgba(255, 255, 255, 0.55) !important;
	letter-spacing: 0.06em !important;
	margin-left: 4px !important;
	text-transform: uppercase !important;
}

html body .affwp-portal-mgr-pay__cup-equiv,
html body .entry-content .affwp-portal-mgr-pay__cup-equiv {
	margin: 0 0 8px !important;
	font-size: 12.5px !important;
	color: rgba(255, 255, 255, 0.72) !important;
	line-height: 1.5 !important;
}

html body .affwp-portal-mgr-pay__cup-equiv strong,
html body .entry-content .affwp-portal-mgr-pay__cup-equiv strong {
	color: var(--affp-accent-light) !important;
	font-weight: 800 !important;
	font-feature-settings: "tnum" !important;
}

html body .affwp-portal-mgr-pay__cup-hint,
html body .entry-content .affwp-portal-mgr-pay__cup-hint {
	margin: 0 !important;
	padding: 10px 12px !important;
	background: rgba(245, 158, 11, 0.08) !important;
	border-left: 2px solid #f59e0b !important;
	border-radius: 0 6px 6px 0 !important;
	font-size: 12px !important;
	font-style: italic !important;
	color: rgba(255, 255, 255, 0.78) !important;
	line-height: 1.5 !important;
}


/* =============================================================================
 * 60. Manager — Botón Pre Factura + fila ETA en confirmar / pedido.
 * =============================================================================
 */

/* ---------- Nav del paso 3: dos botones del lado derecho -------------- */

html body .affwp-portal-mgr-step__nav-cta,
html body .entry-content .affwp-portal-mgr-step__nav-cta {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	flex-wrap: wrap !important;
}

@media (max-width: 600px) {
	html body .affwp-portal-mgr-step__nav-cta,
	html body .entry-content .affwp-portal-mgr-step__nav-cta {
		width: 100% !important;
		flex-direction: column-reverse !important;
		align-items: stretch !important;
	}
	html body .affwp-portal-mgr-step__nav-cta > *,
	html body .entry-content .affwp-portal-mgr-step__nav-cta > * {
		width: 100% !important;
		justify-content: center !important;
	}
}

/* ---------- Botón Pre Factura (variante ghost con tinte cálido) -------- */

html body .affwp-portal-mgr-preinv-btn,
html body .entry-content .affwp-portal-mgr-preinv-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 10px 16px !important;
	background: rgba(245, 158, 11, 0.08) !important;
	border: 1px solid rgba(245, 158, 11, 0.30) !important;
	color: #fbbf24 !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	border-radius: 8px !important;
	cursor: pointer !important;
	transition: all 0.18s ease !important;
}

html body .affwp-portal-mgr-preinv-btn:hover,
html body .entry-content .affwp-portal-mgr-preinv-btn:hover {
	background: rgba(245, 158, 11, 0.14) !important;
	border-color: rgba(245, 158, 11, 0.55) !important;
	color: #fde68a !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 16px rgba(245, 158, 11, 0.20) !important;
}

html body .affwp-portal-mgr-preinv-btn svg,
html body .entry-content .affwp-portal-mgr-preinv-btn svg {
	width: 14px !important;
	height: 14px !important;
}

/* ---------- Fila ETA en los totales del confirm ----------------------- */

html body .affwp-portal-mgr-confirm__totals-eta,
html body .entry-content .affwp-portal-mgr-confirm__totals-eta {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin: 10px 0 0 !important;
	padding: 10px 12px !important;
	background: rgba(52, 211, 153, 0.06) !important;
	border-radius: 8px !important;
	border-left: 2px solid var(--affp-accent) !important;
	font-size: 12.5px !important;
	color: rgba(255, 255, 255, 0.78) !important;
	line-height: 1.4 !important;
}

html body .affwp-portal-mgr-confirm__totals-eta svg,
html body .entry-content .affwp-portal-mgr-confirm__totals-eta svg {
	flex-shrink: 0 !important;
	color: var(--affp-accent-light) !important;
}

html body .affwp-portal-mgr-confirm__totals-eta strong,
html body .entry-content .affwp-portal-mgr-confirm__totals-eta strong {
	color: var(--affp-accent-light) !important;
	font-weight: 700 !important;
}

/* ---------- Fila ETA en el bloque de estado del pedido ---------------- */

html body .affwp-portal-mgr-tl__current-eta,
html body .entry-content .affwp-portal-mgr-tl__current-eta {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	margin: 6px 0 0 !important;
	font-size: 12px !important;
	color: rgba(255, 255, 255, 0.62) !important;
	line-height: 1.4 !important;
}

html body .affwp-portal-mgr-tl__current-eta svg,
html body .entry-content .affwp-portal-mgr-tl__current-eta svg {
	flex-shrink: 0 !important;
	color: var(--affp-accent) !important;
}

html body .affwp-portal-mgr-tl__current-eta strong,
html body .entry-content .affwp-portal-mgr-tl__current-eta strong {
	color: var(--affp-accent-light) !important;
	font-weight: 700 !important;
	margin-left: 2px !important;
}


/* =============================================================================
 * 61. Manager — Pre Factura: modal in-page con iframe + acciones.
 * =============================================================================
 *
 * En vez de window.open + document.write (rompe con LiteSpeed/popup blockers),
 * abrimos un overlay full-screen con un iframe srcdoc que renderiza la pre-
 * factura en su propio sandbox. Cabecera oscura sticky con Imprimir +
 * Descargar HTML + Cerrar. El iframe ocupa todo el resto.
 */

html.affwp-mgr-preinv-open,
body.affwp-mgr-preinv-open {
	overflow: hidden !important;
}

html body .affwp-portal-mgr-preinv,
html body .entry-content .affwp-portal-mgr-preinv {
	position: fixed !important;
	inset: 0 !important;
	z-index: 99999 !important;
	display: flex !important;
	align-items: stretch !important;
	justify-content: stretch !important;
}

html body .affwp-portal-mgr-preinv[hidden],
html body .entry-content .affwp-portal-mgr-preinv[hidden] {
	display: none !important;
}

html body .affwp-portal-mgr-preinv__overlay,
html body .entry-content .affwp-portal-mgr-preinv__overlay {
	position: absolute !important;
	inset: 0 !important;
	background: rgba(5, 8, 14, 0.72) !important;
	backdrop-filter: blur(8px) !important;
	-webkit-backdrop-filter: blur(8px) !important;
	cursor: zoom-out !important;
	animation: affwp-preinv-fade 0.25s ease !important;
}

@keyframes affwp-preinv-fade {
	from { opacity: 0; }
	to   { opacity: 1; }
}

html body .affwp-portal-mgr-preinv__panel,
html body .entry-content .affwp-portal-mgr-preinv__panel {
	position: relative !important;
	z-index: 1 !important;
	margin: 24px !important;
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	background: #131826 !important;
	border: 1px solid rgba(255, 255, 255, 0.10) !important;
	border-radius: 16px !important;
	overflow: hidden !important;
	box-shadow: 0 32px 80px rgba(0, 0, 0, 0.55) !important;
	animation: affwp-preinv-slide 0.30s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

@keyframes affwp-preinv-slide {
	from { opacity: 0; transform: translateY(12px); }
	to   { opacity: 1; transform: translateY(0); }
}

html body .affwp-portal-mgr-preinv__header,
html body .entry-content .affwp-portal-mgr-preinv__header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px !important;
	padding: 14px 18px !important;
	background: linear-gradient(180deg, #1a2030 0%, #131826 100%) !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
	flex-shrink: 0 !important;
}

html body .affwp-portal-mgr-preinv__title,
html body .entry-content .affwp-portal-mgr-preinv__title {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	min-width: 0 !important;
}

html body .affwp-portal-mgr-preinv__badge,
html body .entry-content .affwp-portal-mgr-preinv__badge {
	display: inline-flex !important;
	padding: 4px 10px !important;
	background: rgba(245, 158, 11, 0.15) !important;
	color: #fbbf24 !important;
	border: 1px solid rgba(245, 158, 11, 0.40) !important;
	border-radius: 6px !important;
	font-size: 10.5px !important;
	font-weight: 800 !important;
	letter-spacing: 0.10em !important;
	font-family: 'SF Mono', Monaco, Consolas, monospace !important;
}

html body .affwp-portal-mgr-preinv__title-text,
html body .entry-content .affwp-portal-mgr-preinv__title-text {
	font-size: 14px !important;
	font-weight: 600 !important;
	color: rgba(255, 255, 255, 0.85) !important;
}

html body .affwp-portal-mgr-preinv__actions,
html body .entry-content .affwp-portal-mgr-preinv__actions {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	flex-shrink: 0 !important;
}

html body .affwp-portal-mgr-preinv__btn,
html body .entry-content .affwp-portal-mgr-preinv__btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 9px 14px !important;
	background: rgba(255, 255, 255, 0.06) !important;
	border: 1px solid rgba(255, 255, 255, 0.12) !important;
	color: rgba(255, 255, 255, 0.85) !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	border-radius: 8px !important;
	cursor: pointer !important;
	transition: all 0.15s ease !important;
	font-family: inherit !important;
}

html body .affwp-portal-mgr-preinv__btn:hover,
html body .entry-content .affwp-portal-mgr-preinv__btn:hover {
	background: rgba(255, 255, 255, 0.10) !important;
	border-color: rgba(255, 255, 255, 0.22) !important;
	color: #fff !important;
}

html body .affwp-portal-mgr-preinv__btn--primary,
html body .entry-content .affwp-portal-mgr-preinv__btn--primary {
	background: #047857 !important;
	border: 1px solid #10b981 !important;
	color: #ffffff !important;
	font-weight: 700 !important;
	text-shadow: 0 1px 0 rgba(0, 0, 0, 0.18) !important;
	box-shadow: 0 4px 14px rgba(16, 185, 129, 0.40), inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
}

html body .affwp-portal-mgr-preinv__btn--primary:hover,
html body .entry-content .affwp-portal-mgr-preinv__btn--primary:hover {
	background: #059669 !important;
	border-color: #34d399 !important;
	color: #ffffff !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 6px 20px rgba(16, 185, 129, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.20) !important;
}

html body .affwp-portal-mgr-preinv__btn--primary svg,
html body .entry-content .affwp-portal-mgr-preinv__btn--primary svg {
	color: #ffffff !important;
	stroke: #ffffff !important;
}

html body .affwp-portal-mgr-preinv__badge.is-final,
html body .entry-content .affwp-portal-mgr-preinv__badge.is-final {
	background: rgba(16, 185, 129, 0.18) !important;
	color: #6ee7b7 !important;
	border-color: rgba(16, 185, 129, 0.50) !important;
}

html body .affwp-portal-mgr-preinv__close,
html body .entry-content .affwp-portal-mgr-preinv__close {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 36px !important;
	height: 36px !important;
	background: rgba(255, 255, 255, 0.06) !important;
	border: 1px solid rgba(255, 255, 255, 0.12) !important;
	color: rgba(255, 255, 255, 0.75) !important;
	border-radius: 50% !important;
	font-size: 22px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	cursor: pointer !important;
	transition: all 0.15s ease !important;
}

html body .affwp-portal-mgr-preinv__close:hover,
html body .entry-content .affwp-portal-mgr-preinv__close:hover {
	background: rgba(239, 68, 68, 0.18) !important;
	border-color: rgba(239, 68, 68, 0.40) !important;
	color: #fca5a5 !important;
}

html body .affwp-portal-mgr-preinv__body,
html body .entry-content .affwp-portal-mgr-preinv__body {
	flex: 1 !important;
	min-height: 0 !important;
	background: #f3f4f6 !important;
	display: flex !important;
}

html body .affwp-portal-mgr-preinv__iframe,
html body .entry-content .affwp-portal-mgr-preinv__iframe {
	flex: 1 !important;
	width: 100% !important;
	height: 100% !important;
	border: 0 !important;
	background: #f3f4f6 !important;
	display: block !important;
}

@media (max-width: 720px) {
	html body .affwp-portal-mgr-preinv__panel,
	html body .entry-content .affwp-portal-mgr-preinv__panel {
		margin: 0 !important;
		border-radius: 0 !important;
	}
	html body .affwp-portal-mgr-preinv__btn span,
	html body .entry-content .affwp-portal-mgr-preinv__btn span {
		display: none !important;
	}
	html body .affwp-portal-mgr-preinv__title-text,
	html body .entry-content .affwp-portal-mgr-preinv__title-text {
		display: none !important;
	}
}

/* =============================================================================
 * 62. Manager — Botón "Guardar borrador" (discreto) + nav-left wrapper.
 * =============================================================================
 */

html body .affwp-portal-mgr-step__nav,
html body .entry-content .affwp-portal-mgr-step__nav {
	flex-wrap: wrap !important;
	gap: 12px !important;
}

/* === Tabla de comisiones del Gestor ============================== */
.affwp-portal-mgr-commissions-table-wrap {
	padding: 0 !important;
	overflow: hidden;
}
.affwp-portal-mgr-commissions-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
	color: var(--affp-text);
}
.affwp-portal-mgr-commissions-table thead th {
	text-align: left;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--affp-text-muted);
	padding: 14px 16px;
	border-bottom: 1px solid var(--affp-border);
	background: rgba(255, 255, 255, 0.02);
}
.affwp-portal-mgr-commissions-table tbody td {
	padding: 14px 16px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.04);
	vertical-align: middle;
}
.affwp-portal-mgr-commissions-table tbody tr:last-child td {
	border-bottom: 0;
}
.affwp-portal-mgr-commissions-table tbody tr:hover {
	background: rgba(168, 85, 247, 0.04);
}
.affwp-portal-mgr-commissions-table__num {
	text-align: right;
	font-variant-numeric: tabular-nums;
}
.affwp-portal-mgr-commissions-table__num-cell {
	background: rgba(168, 85, 247, 0.10) !important;
	color: #d8b4fe !important;
	padding: 3px 8px !important;
	border-radius: 6px !important;
	font-size: 12px !important;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
	font-weight: 600 !important;
}
.affwp-portal-mgr-commissions-table__amount {
	font-weight: 800;
	font-size: 14px;
	color: #6ee7b7;
}

/* Status pills */
.affwp-portal-mgr-commissions-status {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.02em;
	white-space: nowrap;
	border: 1px solid transparent;
}
.affwp-portal-mgr-commissions-status::before {
	content: '';
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
	flex-shrink: 0;
}
.affwp-portal-mgr-commissions-status.is-paid {
	background: rgba(16, 185, 129, 0.14);
	color: #6ee7b7;
	border-color: rgba(16, 185, 129, 0.30);
}
.affwp-portal-mgr-commissions-status.is-unpaid {
	background: rgba(251, 191, 36, 0.14);
	color: #fcd34d;
	border-color: rgba(251, 191, 36, 0.30);
}
.affwp-portal-mgr-commissions-status.is-pending {
	background: rgba(59, 130, 246, 0.14);
	color: #93c5fd;
	border-color: rgba(59, 130, 246, 0.30);
}
.affwp-portal-mgr-commissions-status.is-rejected {
	background: rgba(239, 68, 68, 0.12);
	color: #fca5a5;
	border-color: rgba(239, 68, 68, 0.28);
}

/* Mobile: scroll horizontal de la tabla para que no se rompa el layout */
@media (max-width: 768px) {
	.affwp-portal-mgr-commissions-table-wrap {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.affwp-portal-mgr-commissions-table {
		min-width: 720px;
	}
	.affwp-portal-mgr-commissions-table thead th,
	.affwp-portal-mgr-commissions-table tbody td {
		padding: 12px 14px;
	}
}

/* Light mode adapt */
.affwp-portal[data-theme="light"] .affwp-portal-mgr-commissions-table thead th {
	background: rgba(0, 0, 0, 0.03);
	color: #475569;
}
.affwp-portal[data-theme="light"] .affwp-portal-mgr-commissions-table tbody td {
	border-bottom-color: rgba(0, 0, 0, 0.06);
}
.affwp-portal[data-theme="light"] .affwp-portal-mgr-commissions-table tbody tr:hover {
	background: rgba(168, 85, 247, 0.06);
}
.affwp-portal[data-theme="light"] .affwp-portal-mgr-commissions-table__num-cell {
	background: rgba(168, 85, 247, 0.10) !important;
	color: #7c3aed !important;
}
.affwp-portal[data-theme="light"] .affwp-portal-mgr-commissions-table__amount {
	color: #047857;
}

/* === Helper row debajo del input de búsqueda de clientes + botón "Ver todos" === */
.affwp-portal-mgr-search-helper {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-top: 6px;
	flex-wrap: wrap;
}
.affwp-portal-mgr-search-helper .affwp-portal-wizard__hint {
	margin: 0;
	flex: 1;
	min-width: 0;
}

html body button.affwp-portal-mgr-browse-btn,
.entry-content button.affwp-portal-mgr-browse-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 7px 12px !important;
	background: rgba(168, 85, 247, 0.10) !important;
	border: 1px solid rgba(168, 85, 247, 0.30) !important;
	border-radius: 8px !important;
	color: #d8b4fe !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease !important;
	font-family: inherit !important;
	white-space: nowrap !important;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
html body button.affwp-portal-mgr-browse-btn:hover,
html body button.affwp-portal-mgr-browse-btn:focus,
.entry-content button.affwp-portal-mgr-browse-btn:hover {
	background: rgba(168, 85, 247, 0.18) !important;
	border-color: rgba(168, 85, 247, 0.55) !important;
	color: #fff !important;
}

/* === Modal "Ver mis clientes guardados" ============================= */
.affwp-portal-mgr-clients-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}
.affwp-portal-mgr-clients-modal[hidden] { display: none; }

.affwp-portal-mgr-clients-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(5, 8, 18, 0.78);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	opacity: 0;
	transition: opacity 0.25s ease;
}
.affwp-portal-mgr-clients-modal.is-open .affwp-portal-mgr-clients-modal__overlay { opacity: 1; }

.affwp-portal-mgr-clients-modal__dialog {
	position: relative;
	width: 100%;
	max-width: 560px;
	max-height: calc(100vh - 48px);
	display: flex;
	flex-direction: column;
	background: linear-gradient(180deg, #1a2030 0%, #131826 100%);
	border: 1px solid rgba(168, 85, 247, 0.18);
	border-radius: 16px;
	box-shadow:
		0 24px 60px -12px rgba(0, 0, 0, 0.7),
		0 0 0 1px rgba(168, 85, 247, 0.06);
	color: #f8fafc;
	overflow: hidden;
	transform: scale(0.94) translateY(8px);
	opacity: 0;
	transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.22s ease;
}
.affwp-portal-mgr-clients-modal.is-open .affwp-portal-mgr-clients-modal__dialog {
	transform: scale(1) translateY(0);
	opacity: 1;
}

.affwp-portal-mgr-clients-modal__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	padding: 20px 22px 14px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.affwp-portal-mgr-clients-modal__title {
	margin: 0;
	font-size: 18px;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: #fff;
}
.affwp-portal-mgr-clients-modal__sub {
	margin: 3px 0 0;
	font-size: 12.5px;
	color: rgba(255, 255, 255, 0.55);
}
html body button.affwp-portal-mgr-clients-modal__close,
.entry-content button.affwp-portal-mgr-clients-modal__close {
	width: 32px !important;
	height: 32px !important;
	flex-shrink: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: rgba(255, 255, 255, 0.06) !important;
	border: 1px solid rgba(255, 255, 255, 0.10) !important;
	border-radius: 8px !important;
	color: #fff !important;
	cursor: pointer !important;
	padding: 0 !important;
	margin: 0 !important;
	font-family: inherit !important;
	box-shadow: none !important;
	transition: background 0.15s ease, transform 0.15s ease !important;
}
html body button.affwp-portal-mgr-clients-modal__close:hover {
	background: rgba(239, 68, 68, 0.18) !important;
	transform: rotate(90deg) !important;
	color: #fca5a5 !important;
}

.affwp-portal-mgr-clients-modal__search {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 12px 22px;
	padding: 10px 14px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 10px;
}
.affwp-portal-mgr-clients-modal__search svg {
	color: rgba(255, 255, 255, 0.5);
	flex-shrink: 0;
}
.affwp-portal-mgr-clients-modal__search input {
	flex: 1;
	background: transparent !important;
	border: 0 !important;
	color: #fff !important;
	font-size: 14px !important;
	outline: none !important;
	padding: 0 !important;
	margin: 0 !important;
	min-width: 0;
	font-family: inherit !important;
	box-shadow: none !important;
}

.affwp-portal-mgr-clients-modal__list {
	flex: 1;
	overflow-y: auto;
	padding: 0 22px 14px;
}

html body button.affwp-portal-mgr-clients-modal__item,
.entry-content button.affwp-portal-mgr-clients-modal__item {
	display: flex !important;
	width: 100% !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
	padding: 12px 14px !important;
	margin-bottom: 8px !important;
	background: rgba(255, 255, 255, 0.03) !important;
	border: 1px solid rgba(255, 255, 255, 0.08) !important;
	border-radius: 10px !important;
	color: #fff !important;
	text-align: left !important;
	cursor: pointer !important;
	transition: background 0.15s ease, border-color 0.15s ease, transform 0.12s ease !important;
	font-family: inherit !important;
	box-shadow: none !important;
	min-height: 0 !important;
	height: auto !important;
}
html body button.affwp-portal-mgr-clients-modal__item:hover,
html body button.affwp-portal-mgr-clients-modal__item:focus {
	background: rgba(168, 85, 247, 0.10) !important;
	border-color: rgba(168, 85, 247, 0.40) !important;
	transform: translateY(-1px) !important;
}
.affwp-portal-mgr-clients-modal__item-main {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
	flex: 1;
}
.affwp-portal-mgr-clients-modal__item-main strong {
	font-size: 14px;
	font-weight: 700;
	color: #fff;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.affwp-portal-mgr-clients-modal__item-meta {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.6);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.affwp-portal-mgr-clients-modal__item-ship {
	font-size: 11.5px;
	font-weight: 700;
	color: #6ee7b7;
	background: rgba(16, 185, 129, 0.12);
	border: 1px solid rgba(16, 185, 129, 0.25);
	padding: 4px 9px;
	border-radius: 999px;
	white-space: nowrap;
	flex-shrink: 0;
}

.affwp-portal-mgr-clients-modal__foot {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 14px 22px;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	font-size: 12px;
	color: rgba(255, 255, 255, 0.55);
	gap: 12px;
}

@media (max-width: 600px) {
	.affwp-portal-mgr-clients-modal { padding: 12px; }
	.affwp-portal-mgr-clients-modal__dialog { max-height: calc(100vh - 24px); border-radius: 14px; }
	.affwp-portal-mgr-clients-modal__head { padding: 16px 18px 12px; }
	.affwp-portal-mgr-clients-modal__title { font-size: 16px; }
	.affwp-portal-mgr-clients-modal__list { padding: 0 18px 12px; }
	.affwp-portal-mgr-clients-modal__search { margin: 10px 18px; }
	.affwp-portal-mgr-clients-modal__foot { padding: 12px 18px; }
}

/* === Botón "Descargar factura" en cada card de pedido ============= */
.affwp-portal-mgr-order-card__actions {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	padding: 14px 20px 18px;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	margin-top: 4px;
}

html body button.affwp-portal-mgr-order-card__invoice-btn,
.entry-content button.affwp-portal-mgr-order-card__invoice-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	padding: 9px 16px !important;
	background: linear-gradient(135deg, rgba(168, 85, 247, 0.18) 0%, rgba(59, 130, 246, 0.14) 100%) !important;
	border: 1px solid rgba(168, 85, 247, 0.35) !important;
	color: #d8b4fe !important;
	border-radius: 10px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.18s ease, background 0.15s ease !important;
	box-shadow: none !important;
	font-family: inherit !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	line-height: 1.2 !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
}
html body button.affwp-portal-mgr-order-card__invoice-btn:hover,
html body button.affwp-portal-mgr-order-card__invoice-btn:focus,
.entry-content button.affwp-portal-mgr-order-card__invoice-btn:hover,
.entry-content button.affwp-portal-mgr-order-card__invoice-btn:focus {
	background: linear-gradient(135deg, rgba(168, 85, 247, 0.28) 0%, rgba(59, 130, 246, 0.20) 100%) !important;
	border-color: rgba(168, 85, 247, 0.55) !important;
	color: #fff !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 6px 18px -6px rgba(168, 85, 247, 0.45) !important;
}
html body button.affwp-portal-mgr-order-card__invoice-btn svg,
.entry-content button.affwp-portal-mgr-order-card__invoice-btn svg {
	width: 16px !important;
	height: 16px !important;
	flex-shrink: 0 !important;
}

/* Light mode adapt */
.affwp-portal[data-theme="light"] .affwp-portal-mgr-order-card__actions {
	border-top-color: rgba(0, 0, 0, 0.06);
}
.affwp-portal[data-theme="light"] button.affwp-portal-mgr-order-card__invoice-btn {
	background: linear-gradient(135deg, rgba(168, 85, 247, 0.10) 0%, rgba(59, 130, 246, 0.06) 100%) !important;
	border-color: rgba(168, 85, 247, 0.28) !important;
	color: #7c3aed !important;
}

/* Mobile (<600px): botón full-width para que sea claramente tocable. */
@media (max-width: 600px) {
	.affwp-portal-mgr-order-card__actions {
		padding: 12px 16px 16px;
	}
	html body button.affwp-portal-mgr-order-card__invoice-btn,
	.entry-content button.affwp-portal-mgr-order-card__invoice-btn {
		width: 100% !important;
	}
}

/* Mobile (<600px): apilar los botones en vertical con Continuar arriba y
 * Volver abajo (column-reverse). Ambos full-width para que sean tocables
 * y NO se pierdan al hacer scroll. Same pattern que el step 3. */
@media (max-width: 600px) {
	html body .affwp-portal-mgr-step__nav,
	html body .entry-content .affwp-portal-mgr-step__nav {
		flex-direction: column-reverse !important;
		align-items: stretch !important;
		gap: 10px !important;
		padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important;
	}
	html body .affwp-portal-mgr-step__nav > button,
	html body .affwp-portal-mgr-step__nav > a,
	html body .entry-content .affwp-portal-mgr-step__nav > button,
	html body .entry-content .affwp-portal-mgr-step__nav > a {
		width: 100% !important;
		justify-content: center !important;
		margin: 0 !important;
	}
	/* El nav-left (cuando hay "Guardar borrador" + "Volver") también full-width
	 * en column para que cada hijo respire en mobile. */
	html body .affwp-portal-mgr-step__nav-left,
	html body .entry-content .affwp-portal-mgr-step__nav-left {
		width: 100% !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 8px !important;
	}
	html body .affwp-portal-mgr-step__nav-left > *,
	html body .entry-content .affwp-portal-mgr-step__nav-left > * {
		width: 100% !important;
		justify-content: center !important;
	}
}

html body .affwp-portal-mgr-step__nav-left,
html body .entry-content .affwp-portal-mgr-step__nav-left {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	flex-wrap: wrap !important;
}

html body .affwp-portal-mgr-draft-save,
html body .entry-content .affwp-portal-mgr-draft-save {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 9px 14px !important;
	background: transparent !important;
	border: 1px dashed rgba(255, 255, 255, 0.18) !important;
	color: rgba(255, 255, 255, 0.62) !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	border-radius: 8px !important;
	cursor: pointer !important;
	transition: all 0.18s ease !important;
	font-family: inherit !important;
}

html body .affwp-portal-mgr-draft-save:hover,
html body .entry-content .affwp-portal-mgr-draft-save:hover {
	background: rgba(255, 255, 255, 0.04) !important;
	border-style: solid !important;
	border-color: rgba(255, 255, 255, 0.30) !important;
	color: rgba(255, 255, 255, 0.92) !important;
}

html body .affwp-portal-mgr-draft-save.is-saved,
html body .entry-content .affwp-portal-mgr-draft-save.is-saved {
	background: rgba(52, 211, 153, 0.14) !important;
	border-color: var(--affp-accent) !important;
	border-style: solid !important;
	color: var(--affp-accent-light) !important;
}

html body .affwp-portal-mgr-draft-save svg,
html body .entry-content .affwp-portal-mgr-draft-save svg {
	width: 13px !important;
	height: 13px !important;
}

/* =============================================================================
 * 63. Manager — Panel de borradores guardados (paso 1).
 * =============================================================================
 */

html body .affwp-portal-mgr-drafts,
html body .entry-content .affwp-portal-mgr-drafts {
	margin: 0 0 18px !important;
	background: rgba(255, 255, 255, 0.025) !important;
	border: 1px solid rgba(255, 255, 255, 0.08) !important;
	border-radius: 12px !important;
	overflow: hidden !important;
}

html body .affwp-portal-mgr-drafts__head,
html body .entry-content .affwp-portal-mgr-drafts__head {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 12px 16px !important;
	cursor: pointer !important;
	user-select: none !important;
	list-style: none !important;
	transition: background 0.18s ease !important;
}

html body .affwp-portal-mgr-drafts__head::-webkit-details-marker,
html body .entry-content .affwp-portal-mgr-drafts__head::-webkit-details-marker {
	display: none !important;
}

html body .affwp-portal-mgr-drafts__head:hover,
html body .entry-content .affwp-portal-mgr-drafts__head:hover {
	background: rgba(255, 255, 255, 0.04) !important;
}

html body .affwp-portal-mgr-drafts__head > svg,
html body .entry-content .affwp-portal-mgr-drafts__head > svg {
	color: var(--affp-accent) !important;
	flex-shrink: 0 !important;
}

html body .affwp-portal-mgr-drafts__title,
html body .entry-content .affwp-portal-mgr-drafts__title {
	font-size: 13px !important;
	font-weight: 700 !important;
	color: rgba(255, 255, 255, 0.92) !important;
	flex-shrink: 0 !important;
}

html body .affwp-portal-mgr-drafts__hint,
html body .entry-content .affwp-portal-mgr-drafts__hint {
	font-size: 11.5px !important;
	color: rgba(255, 255, 255, 0.45) !important;
	font-weight: 500 !important;
	flex: 1 !important;
	min-width: 0 !important;
}

html body .affwp-portal-mgr-drafts__chev,
html body .entry-content .affwp-portal-mgr-drafts__chev {
	font-size: 14px !important;
	color: rgba(255, 255, 255, 0.45) !important;
	transition: transform 0.25s ease !important;
}

html body .affwp-portal-mgr-drafts[open] .affwp-portal-mgr-drafts__chev,
html body .entry-content .affwp-portal-mgr-drafts[open] .affwp-portal-mgr-drafts__chev {
	transform: rotate(180deg) !important;
}

html body .affwp-portal-mgr-drafts__list,
html body .entry-content .affwp-portal-mgr-drafts__list {
	list-style: none !important;
	margin: 0 !important;
	padding: 4px 8px 8px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
}

html body .affwp-portal-mgr-drafts__item,
html body .entry-content .affwp-portal-mgr-drafts__item {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
	padding: 10px 12px !important;
	background: rgba(255, 255, 255, 0.03) !important;
	border: 1px solid rgba(255, 255, 255, 0.06) !important;
	border-radius: 8px !important;
	transition: all 0.15s ease !important;
}

html body .affwp-portal-mgr-drafts__item:hover,
html body .entry-content .affwp-portal-mgr-drafts__item:hover {
	background: rgba(52, 211, 153, 0.06) !important;
	border-color: rgba(52, 211, 153, 0.22) !important;
}

html body .affwp-portal-mgr-drafts__main,
html body .entry-content .affwp-portal-mgr-drafts__main {
	flex: 1 !important;
	min-width: 0 !important;
}

html body .affwp-portal-mgr-drafts__name,
html body .entry-content .affwp-portal-mgr-drafts__name {
	font-size: 13px !important;
	font-weight: 700 !important;
	color: rgba(255, 255, 255, 0.92) !important;
	line-height: 1.3 !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

html body .affwp-portal-mgr-drafts__meta,
html body .entry-content .affwp-portal-mgr-drafts__meta {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 4px !important;
	font-size: 11.5px !important;
	color: rgba(255, 255, 255, 0.55) !important;
	margin-top: 2px !important;
}

html body .affwp-portal-mgr-drafts__sep,
html body .entry-content .affwp-portal-mgr-drafts__sep {
	color: rgba(255, 255, 255, 0.22) !important;
}

html body .affwp-portal-mgr-drafts__when,
html body .entry-content .affwp-portal-mgr-drafts__when {
	font-style: italic !important;
}

html body .affwp-portal-mgr-drafts__actions,
html body .entry-content .affwp-portal-mgr-drafts__actions {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	flex-shrink: 0 !important;
}

html body .affwp-portal-mgr-drafts__btn,
html body .entry-content .affwp-portal-mgr-drafts__btn {
	border: 1px solid rgba(255, 255, 255, 0.12) !important;
	background: rgba(255, 255, 255, 0.04) !important;
	color: rgba(255, 255, 255, 0.85) !important;
	padding: 7px 12px !important;
	border-radius: 6px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	transition: all 0.15s ease !important;
	font-family: inherit !important;
}

html body .affwp-portal-mgr-drafts__btn--resume,
html body .entry-content .affwp-portal-mgr-drafts__btn--resume {
	background: var(--affp-accent-grad) !important;
	border-color: transparent !important;
	color: #04231a !important;
}

html body .affwp-portal-mgr-drafts__btn--resume:hover,
html body .entry-content .affwp-portal-mgr-drafts__btn--resume:hover {
	filter: brightness(1.08) !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 12px rgba(52, 211, 153, 0.35) !important;
}

html body .affwp-portal-mgr-drafts__btn--delete,
html body .entry-content .affwp-portal-mgr-drafts__btn--delete {
	width: 30px !important;
	height: 30px !important;
	padding: 0 !important;
	font-size: 18px !important;
	line-height: 1 !important;
	color: rgba(255, 255, 255, 0.45) !important;
}

html body .affwp-portal-mgr-drafts__btn--delete:hover,
html body .entry-content .affwp-portal-mgr-drafts__btn--delete:hover {
	background: rgba(239, 68, 68, 0.16) !important;
	border-color: rgba(239, 68, 68, 0.42) !important;
	color: #fca5a5 !important;
}

@media (max-width: 600px) {
	html body .affwp-portal-mgr-drafts__item,
	html body .entry-content .affwp-portal-mgr-drafts__item {
		flex-direction: column !important;
		align-items: stretch !important;
	}
	html body .affwp-portal-mgr-drafts__actions,
	html body .entry-content .affwp-portal-mgr-drafts__actions {
		justify-content: flex-end !important;
	}
}


/* =============================================================================
 * 64. Manager — Warnings de stock en paso 3 confirm.
 * =============================================================================
 *
 * Cuando el server detecta que un producto del carrito ya no está disponible
 * (agotado / stock insuficiente / no purchasable / eliminado), pintamos un
 * panel rojo encima del confirm con cada problema + acciones para resolver.
 */

html body .affwp-portal-mgr-stock-warn,
html body .entry-content .affwp-portal-mgr-stock-warn {
	margin: 0 0 18px !important;
	padding: 18px 20px !important;
	background: linear-gradient(135deg, rgba(239, 68, 68, 0.10) 0%, rgba(239, 68, 68, 0.04) 100%) !important;
	border: 1px solid rgba(239, 68, 68, 0.32) !important;
	border-left: 3px solid #ef4444 !important;
	border-radius: 12px !important;
	animation: affwp-mgr-stock-warn-in 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

@keyframes affwp-mgr-stock-warn-in {
	from { opacity: 0; transform: translateY(-8px); }
	to   { opacity: 1; transform: translateY(0); }
}

html body .affwp-portal-mgr-stock-warn__head,
html body .entry-content .affwp-portal-mgr-stock-warn__head {
	display: flex !important;
	align-items: flex-start !important;
	gap: 12px !important;
	margin-bottom: 14px !important;
	padding-bottom: 12px !important;
	border-bottom: 1px dashed rgba(239, 68, 68, 0.20) !important;
}

html body .affwp-portal-mgr-stock-warn__head svg,
html body .entry-content .affwp-portal-mgr-stock-warn__head svg {
	flex-shrink: 0 !important;
	color: #fca5a5 !important;
	margin-top: 2px !important;
	animation: affwp-mgr-stock-pulse 1.6s ease-in-out infinite !important;
}

@keyframes affwp-mgr-stock-pulse {
	0%, 100% { opacity: 1; transform: scale(1); }
	50%      { opacity: 0.6; transform: scale(0.92); }
}

html body .affwp-portal-mgr-stock-warn__title,
html body .entry-content .affwp-portal-mgr-stock-warn__title {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #fca5a5 !important;
	letter-spacing: -0.01em !important;
	margin: 0 0 4px !important;
}

html body .affwp-portal-mgr-stock-warn__desc,
html body .entry-content .affwp-portal-mgr-stock-warn__desc {
	font-size: 12.5px !important;
	color: rgba(255, 255, 255, 0.78) !important;
	line-height: 1.45 !important;
}

html body .affwp-portal-mgr-stock-warn__list,
html body .entry-content .affwp-portal-mgr-stock-warn__list {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
}

html body .affwp-portal-mgr-stock-warn__item,
html body .entry-content .affwp-portal-mgr-stock-warn__item {
	display: grid !important;
	grid-template-columns: 1fr auto !important;
	grid-template-areas: "name actions" "reason actions" !important;
	gap: 4px 16px !important;
	padding: 12px 14px !important;
	background: rgba(0, 0, 0, 0.18) !important;
	border: 1px solid rgba(239, 68, 68, 0.20) !important;
	border-radius: 8px !important;
	align-items: center !important;
}

html body .affwp-portal-mgr-stock-warn__name,
html body .entry-content .affwp-portal-mgr-stock-warn__name {
	grid-area: name !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	color: rgba(255, 255, 255, 0.92) !important;
	line-height: 1.3 !important;
}

html body .affwp-portal-mgr-stock-warn__reason,
html body .entry-content .affwp-portal-mgr-stock-warn__reason {
	grid-area: reason !important;
	font-size: 11.5px !important;
	color: #fca5a5 !important;
	font-weight: 500 !important;
}

html body .affwp-portal-mgr-stock-warn__actions,
html body .entry-content .affwp-portal-mgr-stock-warn__actions {
	grid-area: actions !important;
	display: flex !important;
	gap: 6px !important;
	flex-wrap: wrap !important;
	justify-content: flex-end !important;
}

html body .affwp-portal-mgr-stock-warn__btn,
html body .entry-content .affwp-portal-mgr-stock-warn__btn {
	padding: 7px 12px !important;
	border-radius: 6px !important;
	font-size: 11.5px !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	transition: all 0.15s ease !important;
	font-family: inherit !important;
	white-space: nowrap !important;
}

html body .affwp-portal-mgr-stock-warn__btn--fix,
html body .entry-content .affwp-portal-mgr-stock-warn__btn--fix {
	background: rgba(245, 158, 11, 0.16) !important;
	border: 1px solid rgba(245, 158, 11, 0.45) !important;
	color: #fbbf24 !important;
}

html body .affwp-portal-mgr-stock-warn__btn--fix:hover,
html body .entry-content .affwp-portal-mgr-stock-warn__btn--fix:hover {
	background: rgba(245, 158, 11, 0.28) !important;
	color: #fde68a !important;
}

html body .affwp-portal-mgr-stock-warn__btn--remove,
html body .entry-content .affwp-portal-mgr-stock-warn__btn--remove {
	background: rgba(239, 68, 68, 0.16) !important;
	border: 1px solid rgba(239, 68, 68, 0.45) !important;
	color: #fca5a5 !important;
}

html body .affwp-portal-mgr-stock-warn__btn--remove:hover,
html body .entry-content .affwp-portal-mgr-stock-warn__btn--remove:hover {
	background: rgba(239, 68, 68, 0.32) !important;
	color: #fecaca !important;
}

/* Botón Crear pedido bloqueado cuando hay problemas. */
html body [data-affwp-mgr-create-order]:disabled,
html body [data-affwp-mgr-create-order].is-disabled,
html body .entry-content [data-affwp-mgr-create-order]:disabled,
html body .entry-content [data-affwp-mgr-create-order].is-disabled {
	opacity: 0.45 !important;
	cursor: not-allowed !important;
	pointer-events: none !important;
	filter: grayscale(0.4) !important;
}

@media (max-width: 540px) {
	html body .affwp-portal-mgr-stock-warn__item,
	html body .entry-content .affwp-portal-mgr-stock-warn__item {
		grid-template-columns: 1fr !important;
		grid-template-areas: "name" "reason" "actions" !important;
	}
	html body .affwp-portal-mgr-stock-warn__actions,
	html body .entry-content .affwp-portal-mgr-stock-warn__actions {
		justify-content: flex-start !important;
		margin-top: 8px !important;
	}
}

/* =============================================================================
 * 65. Manager — Acciones edit/delete en cards de clientes + modal de edición.
 * =============================================================================
 */

html body .affwp-portal-mgr-client-row,
html body .entry-content .affwp-portal-mgr-client-row {
	transition: transform 0.2s ease, opacity 0.2s ease !important;
}

html body .affwp-portal-mgr-client-row__side,
html body .entry-content .affwp-portal-mgr-client-row__side {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-end !important;
	gap: 8px !important;
	flex-shrink: 0 !important;
}

html body .affwp-portal-mgr-client-row__actions,
html body .entry-content .affwp-portal-mgr-client-row__actions {
	display: flex !important;
	gap: 6px !important;
	opacity: 0.50 !important;
	transition: opacity 0.18s ease !important;
}

html body .affwp-portal-mgr-client-row:hover .affwp-portal-mgr-client-row__actions,
html body .entry-content .affwp-portal-mgr-client-row:hover .affwp-portal-mgr-client-row__actions {
	opacity: 1 !important;
}

html body .affwp-portal-mgr-client-row__btn,
html body .entry-content .affwp-portal-mgr-client-row__btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 5px !important;
	padding: 6px 10px !important;
	background: rgba(255, 255, 255, 0.04) !important;
	border: 1px solid rgba(255, 255, 255, 0.12) !important;
	border-radius: 6px !important;
	color: rgba(255, 255, 255, 0.78) !important;
	font-size: 11.5px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	transition: all 0.15s ease !important;
	font-family: inherit !important;
}

html body .affwp-portal-mgr-client-row__btn:hover,
html body .entry-content .affwp-portal-mgr-client-row__btn:hover {
	background: rgba(255, 255, 255, 0.10) !important;
	border-color: rgba(255, 255, 255, 0.25) !important;
	color: #fff !important;
}

html body .affwp-portal-mgr-client-row__btn svg,
html body .entry-content .affwp-portal-mgr-client-row__btn svg {
	width: 13px !important;
	height: 13px !important;
}

html body .affwp-portal-mgr-client-row__btn--edit:hover,
html body .entry-content .affwp-portal-mgr-client-row__btn--edit:hover {
	background: rgba(52, 211, 153, 0.14) !important;
	border-color: rgba(52, 211, 153, 0.45) !important;
	color: var(--affp-accent-light) !important;
}

html body .affwp-portal-mgr-client-row__btn--delete,
html body .entry-content .affwp-portal-mgr-client-row__btn--delete {
	width: 30px !important;
	padding: 6px !important;
	justify-content: center !important;
}

html body .affwp-portal-mgr-client-row__btn--delete:hover,
html body .entry-content .affwp-portal-mgr-client-row__btn--delete:hover {
	background: rgba(239, 68, 68, 0.16) !important;
	border-color: rgba(239, 68, 68, 0.42) !important;
	color: #fca5a5 !important;
}

/* ---------- Modal de edición de cliente ------------------------------ */

html.affwp-mgr-cli-edit-open,
body.affwp-mgr-cli-edit-open {
	overflow: hidden !important;
}

html body .affwp-portal-mgr-client-edit-modal,
html body .entry-content .affwp-portal-mgr-client-edit-modal {
	position: fixed !important;
	inset: 0 !important;
	z-index: 99999 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 20px !important;
}

html body .affwp-portal-mgr-client-edit-modal[hidden],
html body .entry-content .affwp-portal-mgr-client-edit-modal[hidden] {
	display: none !important;
}

html body .affwp-portal-mgr-client-edit-modal__overlay,
html body .entry-content .affwp-portal-mgr-client-edit-modal__overlay {
	position: absolute !important;
	inset: 0 !important;
	background: rgba(5, 8, 14, 0.72) !important;
	backdrop-filter: blur(6px) !important;
	-webkit-backdrop-filter: blur(6px) !important;
	cursor: zoom-out !important;
}

html body .affwp-portal-mgr-client-edit-modal__panel,
html body .entry-content .affwp-portal-mgr-client-edit-modal__panel {
	position: relative !important;
	z-index: 1 !important;
	width: 100% !important;
	max-width: 480px !important;
	background: #131826 !important;
	border: 1px solid rgba(255, 255, 255, 0.10) !important;
	border-radius: 14px !important;
	box-shadow: 0 32px 80px rgba(0, 0, 0, 0.55) !important;
	overflow: hidden !important;
	max-height: calc(100vh - 40px) !important;
	display: flex !important;
	flex-direction: column !important;
	animation: affwp-mgr-cli-edit-in 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

@keyframes affwp-mgr-cli-edit-in {
	from { opacity: 0; transform: translateY(8px) scale(0.98); }
	to   { opacity: 1; transform: translateY(0) scale(1); }
}

html body .affwp-portal-mgr-client-edit-modal__header,
html body .entry-content .affwp-portal-mgr-client-edit-modal__header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 16px 20px !important;
	background: linear-gradient(180deg, #1a2030 0%, #131826 100%) !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

html body .affwp-portal-mgr-client-edit-modal__header h3,
html body .entry-content .affwp-portal-mgr-client-edit-modal__header h3 {
	margin: 0 !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	color: rgba(255, 255, 255, 0.95) !important;
}

html body .affwp-portal-mgr-client-edit-modal__close,
html body .entry-content .affwp-portal-mgr-client-edit-modal__close {
	width: 32px !important;
	height: 32px !important;
	background: rgba(255, 255, 255, 0.06) !important;
	border: 1px solid rgba(255, 255, 255, 0.12) !important;
	color: rgba(255, 255, 255, 0.75) !important;
	border-radius: 50% !important;
	font-size: 20px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	cursor: pointer !important;
	transition: all 0.15s ease !important;
}

html body .affwp-portal-mgr-client-edit-modal__close:hover,
html body .entry-content .affwp-portal-mgr-client-edit-modal__close:hover {
	background: rgba(239, 68, 68, 0.18) !important;
	border-color: rgba(239, 68, 68, 0.40) !important;
	color: #fca5a5 !important;
}

html body .affwp-portal-mgr-client-edit-form,
html body .entry-content .affwp-portal-mgr-client-edit-form {
	padding: 18px 20px 20px !important;
	overflow-y: auto !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
}

html body .affwp-portal-mgr-client-edit-form label,
html body .entry-content .affwp-portal-mgr-client-edit-form label {
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	color: rgba(255, 255, 255, 0.62) !important;
}

html body .affwp-portal-mgr-client-edit-form label span,
html body .entry-content .affwp-portal-mgr-client-edit-form label span {
	letter-spacing: 0.02em !important;
}

html body .affwp-portal-mgr-client-edit-form input,
html body .affwp-portal-mgr-client-edit-form select,
html body .affwp-portal-mgr-client-edit-form textarea,
html body .entry-content .affwp-portal-mgr-client-edit-form input,
html body .entry-content .affwp-portal-mgr-client-edit-form select,
html body .entry-content .affwp-portal-mgr-client-edit-form textarea {
	background: rgba(255, 255, 255, 0.04) !important;
	border: 1px solid rgba(255, 255, 255, 0.12) !important;
	border-radius: 8px !important;
	padding: 10px 12px !important;
	color: rgba(255, 255, 255, 0.95) !important;
	font-size: 13.5px !important;
	font-family: inherit !important;
	transition: border-color 0.18s ease, background 0.18s ease !important;
}

html body .affwp-portal-mgr-client-edit-form input:focus,
html body .affwp-portal-mgr-client-edit-form select:focus,
html body .affwp-portal-mgr-client-edit-form textarea:focus,
html body .entry-content .affwp-portal-mgr-client-edit-form input:focus,
html body .entry-content .affwp-portal-mgr-client-edit-form select:focus,
html body .entry-content .affwp-portal-mgr-client-edit-form textarea:focus {
	outline: none !important;
	border-color: var(--affp-accent) !important;
	background: rgba(52, 211, 153, 0.06) !important;
}

html body .affwp-portal-mgr-client-edit-form textarea,
html body .entry-content .affwp-portal-mgr-client-edit-form textarea {
	resize: vertical !important;
	min-height: 60px !important;
}

html body .affwp-portal-mgr-client-edit-form__actions,
html body .entry-content .affwp-portal-mgr-client-edit-form__actions {
	display: flex !important;
	justify-content: flex-end !important;
	gap: 8px !important;
	margin-top: 6px !important;
}

html body .affwp-portal-mgr-client-edit-form__msg,
html body .entry-content .affwp-portal-mgr-client-edit-form__msg {
	margin: 0 !important;
	padding: 8px 12px !important;
	border-radius: 6px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
}

html body .affwp-portal-mgr-client-edit-form__msg.is-error,
html body .entry-content .affwp-portal-mgr-client-edit-form__msg.is-error {
	background: rgba(239, 68, 68, 0.12) !important;
	border: 1px solid rgba(239, 68, 68, 0.32) !important;
	color: #fca5a5 !important;
}

html body .affwp-portal-mgr-client-edit-form__msg.is-success,
html body .entry-content .affwp-portal-mgr-client-edit-form__msg.is-success {
	background: rgba(52, 211, 153, 0.12) !important;
	border: 1px solid rgba(52, 211, 153, 0.32) !important;
	color: var(--affp-accent-light) !important;
}


/* =============================================================================
 * 66. Manager — Confort visual (capa final de overrides).
 * =============================================================================
 *
 * Objetivo: reducir fatiga ocular tras sesiones largas sin perder la estética
 * moderna. Cambios principales:
 *
 *   - Fondos un punto más cálidos (slate con tinte azul) en vez de casi negro.
 *   - Texto off-white en cuerpo (#e2e8f0) y solo blanco puro en momentos
 *     puntuales (números grandes, títulos hero).
 *   - Bordes con tinte azul gris en vez de rgba blanco — se ven menos plastico.
 *   - Glows del accent reducidos ~50 % (de 0.55α a 0.28-0.32α).
 *   - Sombras de cards más sutiles (0.55 → 0.30).
 *   - Sparklines y chart strokes con menor opacidad.
 *   - Animaciones (pulse, shimmer) un punto más lentas/suaves.
 *
 * Aplica al portal entero. El modo gestor mantiene su accent emerald-cyan
 * — solo bajamos la saturación percibida, no cambiamos el hue.
 */

/* ---------- Variables del modo gestor (paleta refinada) -------------- */

html body .affwp-portal--manager,
html body .entry-content .affwp-portal--manager {
	--affp-bg:           #0e1422 !important;
	--affp-surface:      #131a2a !important;
	--affp-surface-2:    #182032 !important;
	--affp-surface-3:    #1f2839 !important;
	--affp-border:       #232c40 !important;
	--affp-border-soft:  rgba(35, 44, 64, 0.60) !important;
	--affp-text:         #e2e8f0 !important;
	--affp-text-strong:  #f1f5f9 !important;
	--affp-text-muted:   #94a3b8 !important;
	--affp-text-faded:   #64748b !important;
	--affp-accent-glow:  rgba(52, 211, 153, 0.32) !important;
	--affp-accent-soft:  rgba(52, 211, 153, 0.10) !important;
}

/* También suavizamos el modo afiliado (paleta violeta) por consistencia. */
html body .affwp-portal:not(.affwp-portal--manager),
html body .entry-content .affwp-portal:not(.affwp-portal--manager) {
	--affp-bg:           #0e1422 !important;
	--affp-surface:      #131a2a !important;
	--affp-surface-2:    #182032 !important;
	--affp-surface-3:    #1f2839 !important;
	--affp-border:       #232c40 !important;
	--affp-text:         #e2e8f0 !important;
	--affp-text-strong:  #f1f5f9 !important;
}

/* ---------- Shell + content area ------------------------------------- */

html body .affwp-portal-shell,
html body .entry-content .affwp-portal-shell {
	background: #0e1422 !important;
	border-color: #1c2438 !important;
}

html body .affwp-portal-content,
html body .affwp-portal-content-area,
html body .entry-content .affwp-portal-content,
html body .entry-content .affwp-portal-content-area {
	background: #0e1422 !important;
	color: #e2e8f0 !important;
}

/* ---------- Sidebar más calmo ---------------------------------------- */

html body .affwp-portal-sidebar,
html body .entry-content .affwp-portal-sidebar {
	background: #0a1120 !important;
	border-right-color: #1c2438 !important;
}

html body .affwp-portal-sidebar__nav-link,
html body .entry-content .affwp-portal-sidebar__nav-link {
	color: #94a3b8 !important;
	transition: all 0.18s ease !important;
}

html body .affwp-portal-sidebar__nav-link:hover,
html body .entry-content .affwp-portal-sidebar__nav-link:hover {
	color: #e2e8f0 !important;
	background: rgba(255, 255, 255, 0.025) !important;
}

/* Item activo: gradient + glow más sutiles. */
html body .affwp-portal-sidebar__nav-item.is-active .affwp-portal-sidebar__nav-link,
html body .entry-content .affwp-portal-sidebar__nav-item.is-active .affwp-portal-sidebar__nav-link {
	box-shadow: 0 4px 16px rgba(52, 211, 153, 0.18), 0 0 0 1px rgba(52, 211, 153, 0.18) inset !important;
	color: #ffffff !important;
}

/* ---------- Topbar -------------------------------------------------- */

html body .affwp-portal-topbar,
html body .entry-content .affwp-portal-topbar {
	background: #0a1120 !important;
	border-bottom-color: #1c2438 !important;
}

/* Mode switch — un toque más sutil. */
html body .affwp-portal-mode-switch,
html body .entry-content .affwp-portal-mode-switch {
	background: #131a2a !important;
	border-color: #232c40 !important;
}

/* ---------- Headings (page hero / titles) ---------------------------- */

html body .affwp-portal-page-header__title,
html body .entry-content .affwp-portal-page-header__title {
	color: #f1f5f9 !important;
}

html body .affwp-portal-page-header__subtitle,
html body .entry-content .affwp-portal-page-header__subtitle {
	color: #94a3b8 !important;
}

/* Texto general dentro del portal — off-white por defecto. */
html body .affwp-portal-shell p,
html body .affwp-portal-shell span:not([class*="accent"]):not([class*="badge"]):not([class*="chip"]),
html body .affwp-portal-shell li,
html body .entry-content .affwp-portal-shell p,
html body .entry-content .affwp-portal-shell span:not([class*="accent"]):not([class*="badge"]):not([class*="chip"]),
html body .entry-content .affwp-portal-shell li {
	color: #cbd5e1;
}

/* ---------- KPI cards: shadow y glow reducidos ----------------------- */

html body .affwp-portal-kpi,
html body .entry-content .affwp-portal-kpi {
	background: #131a2a !important;
	border-color: #232c40 !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.20) !important;
}

html body .affwp-portal-kpi:hover,
html body .entry-content .affwp-portal-kpi:hover {
	border-color: rgba(52, 211, 153, 0.32) !important;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.30), 0 0 0 1px rgba(52, 211, 153, 0.10) inset !important;
	transform: translateY(-1px) !important;
}

html body .affwp-portal-kpi__label,
html body .entry-content .affwp-portal-kpi__label {
	color: #94a3b8 !important;
}

html body .affwp-portal-kpi__value,
html body .entry-content .affwp-portal-kpi__value {
	color: #f1f5f9 !important;
}

html body .affwp-portal-kpi__hint,
html body .entry-content .affwp-portal-kpi__hint {
	color: #64748b !important;
}

/* Iconos de KPIs: un toque menos saturados. */
html body .affwp-portal-kpi__icon,
html body .entry-content .affwp-portal-kpi__icon {
	background: rgba(52, 211, 153, 0.10) !important;
	color: #6ee7b7 !important;
}

/* Sparklines bajo el número — más suaves. */
html body .affwp-portal-kpi svg,
html body .entry-content .affwp-portal-kpi svg {
	opacity: 0.75 !important;
}

/* ---------- Chart card: stroke y fill menos saturados --------------- */

html body .affwp-portal-chart-card,
html body .entry-content .affwp-portal-chart-card {
	background: #131a2a !important;
	border-color: #232c40 !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22) !important;
}

html body .affwp-portal-chart-card svg path[stroke],
html body .entry-content .affwp-portal-chart-card svg path[stroke] {
	filter: drop-shadow(0 0 6px rgba(52, 211, 153, 0.32)) !important;
}

/* ---------- Cards generales (orders, clients, drafts) ---------------- */

html body .affwp-portal-mgr-order-card,
html body .affwp-portal-mgr-client-row,
html body .affwp-portal-mgr-orders-stats__item,
html body .entry-content .affwp-portal-mgr-order-card,
html body .entry-content .affwp-portal-mgr-client-row,
html body .entry-content .affwp-portal-mgr-orders-stats__item {
	background: #131a2a !important;
	border-color: #232c40 !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18) !important;
}

html body .affwp-portal-mgr-order-card:hover,
html body .affwp-portal-mgr-client-row:hover,
html body .entry-content .affwp-portal-mgr-order-card:hover,
html body .entry-content .affwp-portal-mgr-client-row:hover {
	border-color: rgba(52, 211, 153, 0.28) !important;
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28), 0 0 0 1px rgba(52, 211, 153, 0.08) inset !important;
}

/* Stats cards labels/values — mejor jerarquía. */
html body .affwp-portal-mgr-orders-stats__label,
html body .entry-content .affwp-portal-mgr-orders-stats__label {
	color: #94a3b8 !important;
}

html body .affwp-portal-mgr-orders-stats__value,
html body .entry-content .affwp-portal-mgr-orders-stats__value {
	color: #f1f5f9 !important;
}

html body .affwp-portal-mgr-orders-stats__sub,
html body .entry-content .affwp-portal-mgr-orders-stats__sub {
	color: #64748b !important;
}

/* ---------- Filter chips: menos contraste cuando inactivos ----------- */

html body .affwp-portal-filter-bar__chip,
html body .entry-content .affwp-portal-filter-bar__chip {
	background: rgba(255, 255, 255, 0.025) !important;
	border-color: #232c40 !important;
	color: #94a3b8 !important;
	transition: all 0.18s ease !important;
}

html body .affwp-portal-filter-bar__chip:hover,
html body .entry-content .affwp-portal-filter-bar__chip:hover {
	background: rgba(255, 255, 255, 0.05) !important;
	border-color: #2d3a52 !important;
	color: #cbd5e1 !important;
}

html body .affwp-portal-filter-bar__chip.is-active,
html body .entry-content .affwp-portal-filter-bar__chip.is-active {
	background: rgba(52, 211, 153, 0.12) !important;
	border-color: rgba(52, 211, 153, 0.40) !important;
	color: #6ee7b7 !important;
	box-shadow: 0 0 0 1px rgba(52, 211, 153, 0.18) inset !important;
}

/* ---------- Promo card del sidebar: menos saturada -------------------- */

html body .affwp-portal-sidebar__promo,
html body .entry-content .affwp-portal-sidebar__promo {
	background:
		radial-gradient(circle at top right, rgba(34, 211, 238, 0.20) 0%, transparent 60%),
		radial-gradient(circle at bottom left, rgba(52, 211, 153, 0.20) 0%, transparent 60%),
		#0d1a1a !important;
	border-color: rgba(52, 211, 153, 0.18) !important;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25) !important;
}

html body .affwp-portal-sidebar__promo-icon,
html body .entry-content .affwp-portal-sidebar__promo-icon {
	box-shadow: 0 4px 12px rgba(52, 211, 153, 0.28) !important;
}

/* ---------- Botones primarios del portal — menos glow ---------------- */

html body .affwp-portal-link-card__copy,
html body .entry-content .affwp-portal-link-card__copy {
	box-shadow: 0 4px 12px rgba(52, 211, 153, 0.22) !important;
}

html body .affwp-portal-link-card__copy:hover,
html body .entry-content .affwp-portal-link-card__copy:hover {
	box-shadow: 0 6px 18px rgba(52, 211, 153, 0.35) !important;
	filter: brightness(1.05) !important;
}

/* Wallet pill — un punto más sutil. */
html body .affwp-portal-wallet,
html body .entry-content .affwp-portal-wallet {
	background: #131a2a !important;
	border-color: #232c40 !important;
}

html body .affwp-portal-wallet__amount,
html body .entry-content .affwp-portal-wallet__amount {
	color: #f1f5f9 !important;
}

html body .affwp-portal-wallet__label,
html body .entry-content .affwp-portal-wallet__label {
	color: #94a3b8 !important;
}

/* ---------- Manager confirm step — bloques menos brillantes ---------- */

html body .affwp-portal-mgr-confirm__totals,
html body .entry-content .affwp-portal-mgr-confirm__totals {
	background: #131a2a !important;
	border-color: #232c40 !important;
}

html body .affwp-portal-mgr-confirm__totals .is-total strong,
html body .entry-content .affwp-portal-mgr-confirm__totals .is-total strong {
	color: #6ee7b7 !important;            /* mint suave en vez de neón */
	text-shadow: 0 0 12px rgba(52, 211, 153, 0.25) !important;
}

/* ---------- Wizard pane (clients form, products grid) --------------- */

html body .affwp-portal-mgr-wizard__pane,
html body .entry-content .affwp-portal-mgr-wizard__pane {
	background: #131a2a !important;
	border-color: #232c40 !important;
}

html body .affwp-portal-mgr-wizard__intro,
html body .entry-content .affwp-portal-mgr-wizard__intro {
	background: rgba(52, 211, 153, 0.05) !important;
	border-color: rgba(52, 211, 153, 0.18) !important;
}

/* ---------- Inputs: menor contraste cuando idle, glow al focus ------ */

html body .affwp-portal input[type="text"],
html body .affwp-portal input[type="search"],
html body .affwp-portal input[type="tel"],
html body .affwp-portal input[type="email"],
html body .affwp-portal input[type="number"],
html body .affwp-portal select,
html body .affwp-portal textarea,
html body .entry-content .affwp-portal input[type="text"],
html body .entry-content .affwp-portal input[type="search"],
html body .entry-content .affwp-portal input[type="tel"],
html body .entry-content .affwp-portal input[type="email"],
html body .entry-content .affwp-portal input[type="number"],
html body .entry-content .affwp-portal select,
html body .entry-content .affwp-portal textarea {
	background: rgba(255, 255, 255, 0.025) !important;
	border-color: #232c40 !important;
	color: #e2e8f0 !important;
	transition: all 0.18s ease !important;
}

html body .affwp-portal input:focus,
html body .affwp-portal select:focus,
html body .affwp-portal textarea:focus,
html body .entry-content .affwp-portal input:focus,
html body .entry-content .affwp-portal select:focus,
html body .entry-content .affwp-portal textarea:focus {
	border-color: rgba(52, 211, 153, 0.55) !important;
	background: rgba(52, 211, 153, 0.04) !important;
	box-shadow: 0 0 0 3px rgba(52, 211, 153, 0.10) !important;
	outline: 0 !important;
}

html body .affwp-portal input::placeholder,
html body .affwp-portal textarea::placeholder,
html body .entry-content .affwp-portal input::placeholder,
html body .entry-content .affwp-portal textarea::placeholder {
	color: #475569 !important;
}

/* ---------- Tablas y separadores ------------------------------------ */

html body .affwp-portal-mgr-order-card__items li,
html body .entry-content .affwp-portal-mgr-order-card__items li {
	border-bottom-color: rgba(255, 255, 255, 0.04) !important;
}

html body .affwp-portal-mgr-order-card__totals,
html body .entry-content .affwp-portal-mgr-order-card__totals {
	border-top-color: rgba(255, 255, 255, 0.07) !important;
}

/* ---------- Status footer del sidebar (dot pulsante) ---------------- */

html body .affwp-portal-sidebar__status-dot,
html body .entry-content .affwp-portal-sidebar__status-dot {
	box-shadow: 0 0 8px rgba(52, 211, 153, 0.45) !important;
}

html body .affwp-portal-sidebar__status-text,
html body .entry-content .affwp-portal-sidebar__status-text {
	color: #94a3b8 !important;
}

html body .affwp-portal-sidebar__status-sub,
html body .entry-content .affwp-portal-sidebar__status-sub {
	color: #64748b !important;
}

/* ---------- Animaciones más calmas ---------------------------------- */

@keyframes affwp-mgr-tl-shimmer {
	0%   { transform: translateX(-100%); }
	100% { transform: translateX(100%); }
}

html body .affwp-portal-mgr-tl__fill::after,
html body .entry-content .affwp-portal-mgr-tl__fill::after {
	animation-duration: 3.2s !important;       /* era 2.4s */
	background: linear-gradient(
		90deg,
		rgba(255, 255, 255, 0)   0%,
		rgba(255, 255, 255, 0.30) 50%,         /* era 0.45 */
		rgba(255, 255, 255, 0)  100%
	) !important;
}

html body .affwp-portal-mgr-tl__fill,
html body .entry-content .affwp-portal-mgr-tl__fill {
	box-shadow: 0 0 8px rgba(52, 211, 153, 0.35) !important;  /* era 0.55 */
}

/* Pulso del timeline activo — un poco más relajado. */
html body .affwp-portal-mgr-tl__step.is-active .affwp-portal-mgr-tl__node,
html body .entry-content .affwp-portal-mgr-tl__step.is-active .affwp-portal-mgr-tl__node {
	box-shadow: 0 0 0 5px rgba(52, 211, 153, 0.10),
	            0 0 16px rgba(52, 211, 153, 0.40) !important;
}

/* Ping del timeline activo — un poco menos opaco. */
html body .affwp-portal-mgr-tl__node-ping,
html body .entry-content .affwp-portal-mgr-tl__node-ping {
	border-color: rgba(52, 211, 153, 0.65) !important;
	animation-duration: 2s !important;        /* era 1.6s */
}

/* ---------- Empty state — menos rígido ------------------------------ */

html body .affwp-portal-empty-state,
html body .entry-content .affwp-portal-empty-state {
	background: #131a2a !important;
	border-color: #232c40 !important;
	border-style: dashed !important;
}

html body .affwp-portal-empty-state__icon,
html body .entry-content .affwp-portal-empty-state__icon {
	background: rgba(52, 211, 153, 0.08) !important;
	color: #6ee7b7 !important;
}

html body .affwp-portal-empty-state__title,
html body .entry-content .affwp-portal-empty-state__title {
	color: #f1f5f9 !important;
}

html body .affwp-portal-empty-state__desc,
html body .entry-content .affwp-portal-empty-state__desc {
	color: #94a3b8 !important;
}

/* ---------- Página de pedidos: timeline de estado más legible ------- */

html body .affwp-portal-mgr-tl__caption,
html body .entry-content .affwp-portal-mgr-tl__caption {
	color: #64748b !important;       /* era 0.35α */
}

html body .affwp-portal-mgr-tl__step.is-past .affwp-portal-mgr-tl__caption,
html body .entry-content .affwp-portal-mgr-tl__step.is-past .affwp-portal-mgr-tl__caption {
	color: #94a3b8 !important;
}

/* ---------- Mejora del scrollbar (Webkit) --------------------------- */

html body .affwp-portal-content::-webkit-scrollbar,
html body .affwp-portal-content-area::-webkit-scrollbar {
	width: 10px !important;
	height: 10px !important;
}

html body .affwp-portal-content::-webkit-scrollbar-track,
html body .affwp-portal-content-area::-webkit-scrollbar-track {
	background: #0e1422 !important;
}

html body .affwp-portal-content::-webkit-scrollbar-thumb,
html body .affwp-portal-content-area::-webkit-scrollbar-thumb {
	background: #232c40 !important;
	border-radius: 5px !important;
	border: 2px solid #0e1422 !important;
}

html body .affwp-portal-content::-webkit-scrollbar-thumb:hover,
html body .affwp-portal-content-area::-webkit-scrollbar-thumb:hover {
	background: #2d3a52 !important;
}

/* ---------- Selección de texto: accent suave ------------------------ */

html body .affwp-portal ::selection,
html body .entry-content .affwp-portal ::selection {
	background: rgba(52, 211, 153, 0.30);
	color: #f1f5f9;
}

/* ---------- Modo oscuro confort: respetar prefers-reduced-motion ---- */

@media (prefers-reduced-motion: reduce) {
	html body .affwp-portal-mgr-tl__fill::after,
	html body .affwp-portal-mgr-tl__step.is-active .affwp-portal-mgr-tl__node,
	html body .affwp-portal-mgr-tl__node-ping,
	html body .affwp-portal-sidebar__status-dot,
	html body .affwp-portal-mgr-tl__current-dot,
	html body .entry-content .affwp-portal-mgr-tl__fill::after,
	html body .entry-content .affwp-portal-mgr-tl__step.is-active .affwp-portal-mgr-tl__node,
	html body .entry-content .affwp-portal-mgr-tl__node-ping,
	html body .entry-content .affwp-portal-sidebar__status-dot,
	html body .entry-content .affwp-portal-mgr-tl__current-dot {
		animation: none !important;
	}
}


/* =============================================================================
 * 67. Manager — Confort visual V2 (rediseno mas calmo).
 * =============================================================================
 *
 * Diagnostico despues de la primera pasada:
 *   - Las cards no se "levantan" del fondo (todo plano, dificil enfocar).
 *   - El accent verde sigue ganando atencion donde no deberia.
 *   - Glows y shadows agregan ruido visual.
 *   - Texto blanco puro en numeros grandes ($0.00) cansa.
 *   - Sparklines y chart muy saturados.
 *
 * Esta capa V2 ataca esos puntos especificos. Inspirada en Linear, Vercel
 * Dashboard y Stripe (todos paneles diseñados para uso prolongado).
 *
 * Reglas guia:
 *   1. Pagina bg MAS oscura, cards MAS claras → jerarquia clara.
 *   2. Accent saturado solo en momentos clave (active state, CTA primario).
 *      Resto: tinte mint suave (~#5eead4) o gris-azul.
 *   3. Sombras: spread amplio + alpha bajo (0.40 max). Nunca duros.
 *   4. Numeros grandes en off-white #cbd5e1, nunca pure white #fff.
 *   5. Hover: borde clarea, micro-lift 1px, NUNCA flash de luz.
 */

/* ============================================================
 * Variables refinadas — paleta final calmada.
 * ============================================================ */

html body .affwp-portal,
html body .entry-content .affwp-portal {
	/* Surfaces: pagina mas oscura, cards mas claras (delta visible) */
	--affp-bg:           #0a0f1c !important;
	--affp-surface:      #141c2e !important;     /* cards principales */
	--affp-surface-2:    #1a2336 !important;     /* cards elevadas */
	--affp-surface-3:    #20293f !important;     /* cards de acento */
	--affp-surface-deep: #070b14 !important;     /* sidebar / footer */

	/* Bordes claros pero no luminosos */
	--affp-border:       #1f2a40 !important;
	--affp-border-hover: #2a3753 !important;

	/* Texto: jerarquia con grises azulados (no blancos puros) */
	--affp-text-strong:  #e2e8f0 !important;     /* h1, KPI numero hero */
	--affp-text:         #cbd5e1 !important;     /* parrafos, valores */
	--affp-text-muted:   #94a3b8 !important;     /* labels */
	--affp-text-faded:   #64748b !important;     /* hints, dates */
	--affp-text-dim:     #475569 !important;     /* placeholders */
}

/* Accent del modo gestor — un toque menos saturado pero igual visible. */
html body .affwp-portal--manager,
html body .entry-content .affwp-portal--manager {
	--affp-accent:        #2dd4bf !important;     /* teal-400, mas mint */
	--affp-accent-2:      #14b8a6 !important;     /* teal-500 darker */
	--affp-accent-3:      #22d3ee !important;     /* cyan-400 */
	--affp-accent-light:  #5eead4 !important;     /* teal-300 — para texto */
	--affp-accent-soft:   rgba(45, 212, 191, 0.10) !important;
	--affp-accent-soft-2: rgba(45, 212, 191, 0.20) !important;
	--affp-accent-glow:   rgba(45, 212, 191, 0.25) !important;
	--affp-accent-grad:   linear-gradient(135deg, #2dd4bf 0%, #22d3ee 100%) !important;
}

/* ============================================================
 * Backgrounds principales.
 * ============================================================ */

html body .affwp-portal-shell,
html body .affwp-portal-content,
html body .affwp-portal-content-area,
html body .entry-content .affwp-portal-shell,
html body .entry-content .affwp-portal-content,
html body .entry-content .affwp-portal-content-area {
	background: #0a0f1c !important;
}

html body .affwp-portal-sidebar,
html body .affwp-portal-topbar,
html body .entry-content .affwp-portal-sidebar,
html body .entry-content .affwp-portal-topbar {
	background: #070b14 !important;
	border-color: #141c2e !important;
}

/* ============================================================
 * Cards: jerarquia clara con gradient sutil + highlight superior.
 * ============================================================ */

html body .affwp-portal-kpi,
html body .affwp-portal-chart-card,
html body .affwp-portal-mgr-order-card,
html body .affwp-portal-mgr-orders-stats__item,
html body .affwp-portal-mgr-client-row,
html body .affwp-portal-mgr-wizard__pane,
html body .affwp-portal-mgr-confirm__totals,
html body .affwp-portal-mgr-pay,
html body .affwp-portal-empty-state,
html body .entry-content .affwp-portal-kpi,
html body .entry-content .affwp-portal-chart-card,
html body .entry-content .affwp-portal-mgr-order-card,
html body .entry-content .affwp-portal-mgr-orders-stats__item,
html body .entry-content .affwp-portal-mgr-client-row,
html body .entry-content .affwp-portal-mgr-wizard__pane,
html body .entry-content .affwp-portal-mgr-confirm__totals,
html body .entry-content .affwp-portal-mgr-pay,
html body .entry-content .affwp-portal-empty-state {
	background: linear-gradient(180deg, #1a2336 0%, #141c2e 100%) !important;
	border: 1px solid #1f2a40 !important;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.04) inset,                /* highlight superior */
		0 12px 28px -10px rgba(0, 0, 0, 0.45),                  /* sombra suave amplia */
		0 4px 8px -2px rgba(0, 0, 0, 0.20) !important;
	transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease !important;
}

html body .affwp-portal-kpi:hover,
html body .affwp-portal-chart-card:hover,
html body .affwp-portal-mgr-order-card:hover,
html body .affwp-portal-mgr-client-row:hover,
html body .entry-content .affwp-portal-kpi:hover,
html body .entry-content .affwp-portal-chart-card:hover,
html body .entry-content .affwp-portal-mgr-order-card:hover,
html body .entry-content .affwp-portal-mgr-client-row:hover {
	border-color: #2a3753 !important;
	transform: translateY(-1px) !important;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.06) inset,
		0 16px 36px -12px rgba(0, 0, 0, 0.55),
		0 6px 12px -4px rgba(0, 0, 0, 0.25) !important;
}

/* ============================================================
 * KPI cards — numeros calmados, sparklines mas tenues.
 * ============================================================ */

html body .affwp-portal-kpi__label,
html body .entry-content .affwp-portal-kpi__label {
	color: #64748b !important;
	font-size: 11.5px !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
}

html body .affwp-portal-kpi__value,
html body .entry-content .affwp-portal-kpi__value {
	color: #e2e8f0 !important;                 /* off-white, no #fff */
	font-weight: 700 !important;
	letter-spacing: -0.02em !important;
}

html body .affwp-portal-kpi__hint,
html body .entry-content .affwp-portal-kpi__hint {
	color: #475569 !important;
	font-size: 11.5px !important;
}

html body .affwp-portal-kpi__icon,
html body .entry-content .affwp-portal-kpi__icon {
	background: rgba(45, 212, 191, 0.07) !important;
	color: #5eead4 !important;
	box-shadow: none !important;
}

/* Sparklines: muy bajadas — pasan a "decorativas" sin llamar atencion. */
html body .affwp-portal-kpi svg,
html body .entry-content .affwp-portal-kpi svg {
	opacity: 0.45 !important;
	filter: none !important;
}

/* ============================================================
 * Chart card — line/area mucho mas suaves.
 * ============================================================ */

html body .affwp-portal-chart-card svg,
html body .entry-content .affwp-portal-chart-card svg {
	filter: none !important;
}

html body .affwp-portal-chart-card svg path[fill]:not([stroke]),
html body .entry-content .affwp-portal-chart-card svg path[fill]:not([stroke]) {
	opacity: 0.18 !important;                 /* el area gradient se queda sutil */
}

html body .affwp-portal-chart-card svg path[stroke],
html body .entry-content .affwp-portal-chart-card svg path[stroke] {
	opacity: 0.85 !important;
	filter: drop-shadow(0 0 4px rgba(45, 212, 191, 0.20)) !important;
}

/* Grid lines, axes, labels del chart — bajan tambien. */
html body .affwp-portal-chart-card svg line,
html body .affwp-portal-chart-card svg text,
html body .entry-content .affwp-portal-chart-card svg line,
html body .entry-content .affwp-portal-chart-card svg text {
	opacity: 0.55 !important;
}

/* ============================================================
 * Botones primarios (Crear pedido, Continuar, Empezar pedido) —
 * presencia clara pero sin "flash" de glow.
 * ============================================================ */

html body .affwp-portal-link-card__copy,
html body .affwp-portal-empty-state__cta,
html body .entry-content .affwp-portal-link-card__copy,
html body .entry-content .affwp-portal-empty-state__cta {
	box-shadow: 0 4px 12px rgba(45, 212, 191, 0.18) !important;
	color: #04231a !important;
	font-weight: 700 !important;
}

html body .affwp-portal-link-card__copy:hover,
html body .affwp-portal-empty-state__cta:hover,
html body .entry-content .affwp-portal-link-card__copy:hover,
html body .entry-content .affwp-portal-empty-state__cta:hover {
	box-shadow: 0 6px 16px rgba(45, 212, 191, 0.28) !important;
	transform: translateY(-1px) !important;
	filter: none !important;
}

/* Boton ghost — sin saturacion innecesaria. */
html body .affwp-portal-btn-ghost,
html body .entry-content .affwp-portal-btn-ghost {
	background: rgba(45, 212, 191, 0.06) !important;
	border-color: rgba(45, 212, 191, 0.25) !important;
	color: #5eead4 !important;
}

html body .affwp-portal-btn-ghost:hover,
html body .entry-content .affwp-portal-btn-ghost:hover {
	background: rgba(45, 212, 191, 0.12) !important;
	border-color: rgba(45, 212, 191, 0.40) !important;
	color: #99f6e4 !important;
}

/* ============================================================
 * Sidebar — link activo mas calmo.
 * ============================================================ */

html body .affwp-portal-sidebar__nav-item.is-active .affwp-portal-sidebar__nav-link,
html body .entry-content .affwp-portal-sidebar__nav-item.is-active .affwp-portal-sidebar__nav-link {
	background: linear-gradient(135deg, rgba(45, 212, 191, 0.14) 0%, rgba(34, 211, 238, 0.10) 100%) !important;
	color: #99f6e4 !important;
	box-shadow:
		0 0 0 1px rgba(45, 212, 191, 0.22) inset,
		0 4px 12px rgba(45, 212, 191, 0.12) !important;
}

html body .affwp-portal-sidebar__nav-item.is-active::before,
html body .entry-content .affwp-portal-sidebar__nav-item.is-active::before {
	background: linear-gradient(180deg, #2dd4bf 0%, #22d3ee 100%) !important;
	box-shadow: 0 0 8px rgba(45, 212, 191, 0.35) !important;
}

/* ============================================================
 * Filter chips — calmar el chip activo.
 * ============================================================ */

html body .affwp-portal-filter-bar__chip.is-active,
html body .entry-content .affwp-portal-filter-bar__chip.is-active {
	background: rgba(45, 212, 191, 0.10) !important;
	border-color: rgba(45, 212, 191, 0.32) !important;
	color: #5eead4 !important;
	box-shadow: none !important;
}

html body .affwp-portal-mgr-orders-filters__count,
html body .entry-content .affwp-portal-mgr-orders-filters__count {
	background: rgba(45, 212, 191, 0.18) !important;
	color: #99f6e4 !important;
	font-weight: 600 !important;
}

/* ============================================================
 * Catalog products grid — separacion mejor entre cards.
 * ============================================================ */

html body .affwp-portal-mgr-products-grid,
html body .entry-content .affwp-portal-mgr-products-grid {
	gap: 14px !important;
}

html body .affwp-portal-mgr-product,
html body .entry-content .affwp-portal-mgr-product {
	background: linear-gradient(180deg, #1a2336 0%, #141c2e 100%) !important;
	border: 1px solid #1f2a40 !important;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.04) inset,
		0 8px 20px -8px rgba(0, 0, 0, 0.40) !important;
	transition: all 0.18s ease !important;
}

html body .affwp-portal-mgr-product:hover,
html body .entry-content .affwp-portal-mgr-product:hover {
	border-color: rgba(45, 212, 191, 0.35) !important;
	transform: translateY(-2px) !important;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.06) inset,
		0 14px 30px -10px rgba(0, 0, 0, 0.55) !important;
}

html body .affwp-portal-mgr-product__name,
html body .entry-content .affwp-portal-mgr-product__name {
	color: #e2e8f0 !important;
}

html body .affwp-portal-mgr-product__price,
html body .entry-content .affwp-portal-mgr-product__price {
	color: #cbd5e1 !important;
	font-weight: 700 !important;
}

/* "Anadir" button del card de producto — calmar. */
html body .affwp-portal-mgr-product__add,
html body .entry-content .affwp-portal-mgr-product__add {
	background: rgba(45, 212, 191, 0.10) !important;
	border: 1px solid rgba(45, 212, 191, 0.30) !important;
	color: #5eead4 !important;
	box-shadow: none !important;
	font-weight: 600 !important;
	transition: all 0.18s ease !important;
}

html body .affwp-portal-mgr-product__add:hover,
html body .entry-content .affwp-portal-mgr-product__add:hover {
	background: rgba(45, 212, 191, 0.18) !important;
	border-color: rgba(45, 212, 191, 0.50) !important;
	color: #99f6e4 !important;
}

/* ============================================================
 * Sidebar live cart (productos seleccionados) — borde mas suave.
 * ============================================================ */

html body .affwp-portal-mgr-cart-wrap,
html body .affwp-portal-mgr-cart-summary,
html body .entry-content .affwp-portal-mgr-cart-wrap,
html body .entry-content .affwp-portal-mgr-cart-summary {
	background: linear-gradient(180deg, #1a2336 0%, #141c2e 100%) !important;
	border: 1px solid #1f2a40 !important;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.04) inset,
		0 12px 28px -10px rgba(0, 0, 0, 0.40) !important;
}

/* Bloque comision estimada — menos bling. */
html body .affwp-portal-mgr-commission,
html body .entry-content .affwp-portal-mgr-commission {
	background: rgba(45, 212, 191, 0.06) !important;
	border: 1px solid rgba(45, 212, 191, 0.20) !important;
	box-shadow: none !important;
}

html body .affwp-portal-mgr-commission__amount,
html body .entry-content .affwp-portal-mgr-commission__amount {
	color: #5eead4 !important;
	text-shadow: none !important;
}

/* ============================================================
 * Stats cards — numeros con mejor jerarquia.
 * ============================================================ */

html body .affwp-portal-mgr-orders-stats__value,
html body .entry-content .affwp-portal-mgr-orders-stats__value {
	color: #e2e8f0 !important;
	font-weight: 800 !important;
	letter-spacing: -0.02em !important;
}

html body .affwp-portal-mgr-orders-stats__value--accent,
html body .entry-content .affwp-portal-mgr-orders-stats__value--accent {
	color: #5eead4 !important;
	text-shadow: none !important;
}

html body .affwp-portal-mgr-orders-stats__label,
html body .entry-content .affwp-portal-mgr-orders-stats__label {
	color: #64748b !important;
}

html body .affwp-portal-mgr-orders-stats__sub,
html body .entry-content .affwp-portal-mgr-orders-stats__sub {
	color: #475569 !important;
	font-size: 11.5px !important;
}

/* ============================================================
 * Promo card del sidebar — mas calmo, menos contraste.
 * ============================================================ */

html body .affwp-portal-sidebar__promo,
html body .entry-content .affwp-portal-sidebar__promo {
	background:
		radial-gradient(circle at top right, rgba(34, 211, 238, 0.14) 0%, transparent 60%),
		radial-gradient(circle at bottom left, rgba(45, 212, 191, 0.14) 0%, transparent 60%),
		#0d1726 !important;
	border-color: rgba(45, 212, 191, 0.16) !important;
	box-shadow: 0 8px 20px -8px rgba(0, 0, 0, 0.40) !important;
}

html body .affwp-portal-sidebar__promo-icon,
html body .entry-content .affwp-portal-sidebar__promo-icon {
	box-shadow: 0 4px 10px rgba(45, 212, 191, 0.20) !important;
}

html body .affwp-portal-sidebar__promo-title,
html body .entry-content .affwp-portal-sidebar__promo-title {
	color: #e2e8f0 !important;
}

html body .affwp-portal-sidebar__promo-text,
html body .entry-content .affwp-portal-sidebar__promo-text {
	color: #94a3b8 !important;
}

/* ============================================================
 * Wallet pill arriba a la derecha — mas tranquila.
 * ============================================================ */

html body .affwp-portal-wallet,
html body .entry-content .affwp-portal-wallet {
	background: linear-gradient(180deg, #1a2336 0%, #141c2e 100%) !important;
	border: 1px solid #1f2a40 !important;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.04) inset,
		0 4px 12px -4px rgba(0, 0, 0, 0.40) !important;
}

html body .affwp-portal-wallet__icon,
html body .entry-content .affwp-portal-wallet__icon {
	box-shadow: 0 2px 8px rgba(45, 212, 191, 0.18) !important;
}

/* ============================================================
 * Step indicator (1 - 2 - 3) — calmar el active.
 * ============================================================ */

html body .affwp-portal-stepper__step.is-active .affwp-portal-stepper__num,
html body .entry-content .affwp-portal-stepper__step.is-active .affwp-portal-stepper__num {
	background: var(--affp-accent-grad) !important;
	box-shadow: 0 4px 10px rgba(45, 212, 191, 0.24) !important;
	color: #04231a !important;
}

html body .affwp-portal-stepper__step.is-completed .affwp-portal-stepper__num,
html body .entry-content .affwp-portal-stepper__step.is-completed .affwp-portal-stepper__num {
	background: rgba(45, 212, 191, 0.18) !important;
	color: #5eead4 !important;
	border: 1px solid rgba(45, 212, 191, 0.40) !important;
	box-shadow: none !important;
}

/* ============================================================
 * Heros de pagina — calma el "Eric" y "Crear nuevo pedido".
 * ============================================================ */

html body .affwp-portal-page-header__title,
html body .entry-content .affwp-portal-page-header__title {
	color: #f1f5f9 !important;
	font-weight: 800 !important;
	letter-spacing: -0.025em !important;
}

html body .affp-accent,
html body .entry-content .affp-accent {
	background: linear-gradient(135deg, #5eead4 0%, #22d3ee 100%) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	color: transparent !important;
	filter: none !important;
}

/* ============================================================
 * Avatar del topbar — borde mas tenue.
 * ============================================================ */

html body .affwp-portal-topbar__avatar,
html body .entry-content .affwp-portal-topbar__avatar {
	border-color: #1f2a40 !important;
	box-shadow: none !important;
}

/* ============================================================
 * Search bar — campo grande pero sin glow.
 * ============================================================ */

html body .affwp-portal-mgr-product-search-bar,
html body .entry-content .affwp-portal-mgr-product-search-bar {
	background: linear-gradient(180deg, #1a2336 0%, #141c2e 100%) !important;
	border: 1px solid #1f2a40 !important;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.04) inset,
		0 4px 10px -4px rgba(0, 0, 0, 0.30) !important;
}

html body .affwp-portal-mgr-product-search-bar:focus-within,
html body .entry-content .affwp-portal-mgr-product-search-bar:focus-within {
	border-color: rgba(45, 212, 191, 0.45) !important;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.04) inset,
		0 0 0 3px rgba(45, 212, 191, 0.08),
		0 4px 10px -4px rgba(0, 0, 0, 0.40) !important;
}

html body .affwp-portal-mgr-product-search-bar__icon,
html body .entry-content .affwp-portal-mgr-product-search-bar__icon {
	color: #64748b !important;
}

html body .affwp-portal-mgr-product-search-bar input,
html body .entry-content .affwp-portal-mgr-product-search-bar input {
	background: transparent !important;
	border: 0 !important;
	color: #e2e8f0 !important;
	box-shadow: none !important;
}

/* ============================================================
 * Page-header subtitle (la linea bajo el h1) — mas legible.
 * ============================================================ */

html body .affwp-portal-page-header__subtitle,
html body .entry-content .affwp-portal-page-header__subtitle {
	color: #94a3b8 !important;
	font-size: 14px !important;
	line-height: 1.55 !important;
}

/* ============================================================
 * Status footer del sidebar (Todos los sistemas / Operativos).
 * ============================================================ */

html body .affwp-portal-sidebar__status,
html body .entry-content .affwp-portal-sidebar__status {
	color: #64748b !important;
}

html body .affwp-portal-sidebar__status-dot,
html body .entry-content .affwp-portal-sidebar__status-dot {
	box-shadow: 0 0 6px rgba(45, 212, 191, 0.40) !important;
}

/* ============================================================
 * "Volver al sitio" link arriba — mas suave.
 * ============================================================ */

html body .affwp-portal-sidebar__back,
html body .entry-content .affwp-portal-sidebar__back {
	color: #64748b !important;
	font-weight: 500 !important;
}

html body .affwp-portal-sidebar__back:hover,
html body .entry-content .affwp-portal-sidebar__back:hover {
	color: #94a3b8 !important;
}

/* ============================================================
 * Sectores tipograficos comunes en todo el portal.
 * ============================================================ */

html body .affwp-portal h1,
html body .affwp-portal h2,
html body .entry-content .affwp-portal h1,
html body .entry-content .affwp-portal h2 {
	color: #f1f5f9 !important;
}

html body .affwp-portal h3,
html body .affwp-portal h4,
html body .entry-content .affwp-portal h3,
html body .entry-content .affwp-portal h4 {
	color: #e2e8f0 !important;
}

html body .affwp-portal strong,
html body .entry-content .affwp-portal strong {
	color: #e2e8f0;
}


/* =============================================================================
 * 68. Manager — Confort visual V3 (la real).
 * =============================================================================
 *
 * El usuario reporta que el verde sigue molestando. El problema NO es el shade
 * sino la FRECUENCIA: el accent aparece 15-20 veces por pantalla (sidebar
 * texto + iconos + "Eric" en gradient + bag/wallet pills + step indicators +
 * todos los botones secundarios + textos labels + chart line saturada).
 *
 * Por mucho que dialogue al accent, si esta en todos lados la vista se cansa.
 * Esta capa V3 quita el accent de TODO menos:
 *
 *   1. CTA primario por pantalla (1, max 2 botones).
 *   2. Estado activo del sidebar (sutil).
 *   3. Step indicator activo.
 *   4. Money values clave (KPI grandes).
 *   5. Chart line — pero con opacidad muy baja.
 *
 * El resto se vuelve NEUTRAL gris-azul: iconos, textos, bordes, hovers, etc.
 * Como Linear / Stripe / Vercel.
 *
 * Tambien restauramos emerald (#10b981) que es mas elegante que teal (#2dd4bf).
 */

/* ============================================================
 * Restaurar paleta emerald — mas refinada.
 * ============================================================ */

html body .affwp-portal--manager,
html body .entry-content .affwp-portal--manager {
	--affp-accent:        #10b981 !important;       /* emerald-500 */
	--affp-accent-2:      #059669 !important;       /* emerald-600 */
	--affp-accent-3:      #0891b2 !important;       /* cyan-600 (dimmer) */
	--affp-accent-light:  #6ee7b7 !important;       /* emerald-300 */
	--affp-accent-soft:   rgba(16, 185, 129, 0.10) !important;
	--affp-accent-soft-2: rgba(16, 185, 129, 0.18) !important;
	--affp-accent-glow:   rgba(16, 185, 129, 0.22) !important;
	--affp-accent-grad:   linear-gradient(135deg, #10b981 0%, #0891b2 100%) !important;
}

/* ============================================================
 * SIDEBAR — completamente neutralizado.
 * ============================================================ */

/* Logo del sidebar (Express Solutions): mantener sus colores propios. */

/* Texto "GESTOR" arriba — muted, no accent. */
html body .affwp-portal-sidebar__nav-label,
html body .affwp-portal-sidebar__section-label,
html body .entry-content .affwp-portal-sidebar__nav-label,
html body .entry-content .affwp-portal-sidebar__section-label {
	color: #475569 !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.10em !important;
	text-transform: uppercase !important;
}

/* Items del nav (Dashboard, Pedidos, Crear pedido, Clientes, Catalogo,
   Comisiones, Como funciona, Ayuda) — TEXTO E ICONO neutros. */
html body .affwp-portal-sidebar__nav-link,
html body .affwp-portal-sidebar__nav-item a,
html body .entry-content .affwp-portal-sidebar__nav-link,
html body .entry-content .affwp-portal-sidebar__nav-item a {
	color: #94a3b8 !important;
	font-weight: 500 !important;
	transition: color 0.15s ease, background 0.15s ease !important;
}

html body .affwp-portal-sidebar__nav-link:hover,
html body .affwp-portal-sidebar__nav-item a:hover,
html body .entry-content .affwp-portal-sidebar__nav-link:hover,
html body .entry-content .affwp-portal-sidebar__nav-item a:hover {
	color: #e2e8f0 !important;
	background: rgba(255, 255, 255, 0.025) !important;
}

/* Iconos del nav: neutros (no verdes). */
html body .affwp-portal-sidebar__nav-link svg,
html body .affwp-portal-sidebar__nav-link .affwp-portal-sidebar__nav-icon,
html body .affwp-portal-sidebar__nav-item a svg,
html body .entry-content .affwp-portal-sidebar__nav-link svg,
html body .entry-content .affwp-portal-sidebar__nav-link .affwp-portal-sidebar__nav-icon,
html body .entry-content .affwp-portal-sidebar__nav-item a svg {
	color: #64748b !important;
	opacity: 0.85 !important;
}

html body .affwp-portal-sidebar__nav-link:hover svg,
html body .affwp-portal-sidebar__nav-item a:hover svg,
html body .entry-content .affwp-portal-sidebar__nav-link:hover svg,
html body .entry-content .affwp-portal-sidebar__nav-item a:hover svg {
	color: #cbd5e1 !important;
	opacity: 1 !important;
}

/* SOLO el item ACTIVO se acentua — y de forma sutil. */
html body .affwp-portal-sidebar__nav-item.is-active .affwp-portal-sidebar__nav-link,
html body .affwp-portal-sidebar__nav-link.is-active,
html body .entry-content .affwp-portal-sidebar__nav-item.is-active .affwp-portal-sidebar__nav-link,
html body .entry-content .affwp-portal-sidebar__nav-link.is-active {
	background: rgba(16, 185, 129, 0.10) !important;
	color: #e2e8f0 !important;
	box-shadow: inset 0 0 0 1px rgba(16, 185, 129, 0.18) !important;
}

html body .affwp-portal-sidebar__nav-item.is-active .affwp-portal-sidebar__nav-link svg,
html body .affwp-portal-sidebar__nav-link.is-active svg,
html body .entry-content .affwp-portal-sidebar__nav-item.is-active .affwp-portal-sidebar__nav-link svg,
html body .entry-content .affwp-portal-sidebar__nav-link.is-active svg {
	color: #6ee7b7 !important;
	opacity: 1 !important;
}

/* Barra lateral izquierda del item activo — mas tenue. */
html body .affwp-portal-sidebar__nav-item.is-active::before,
html body .entry-content .affwp-portal-sidebar__nav-item.is-active::before {
	background: #10b981 !important;
	opacity: 0.70 !important;
	box-shadow: none !important;
}

/* "Volver al sitio" — gris neutro. */
html body .affwp-portal-sidebar__back,
html body .affwp-portal-sidebar a[href*="back"],
html body .entry-content .affwp-portal-sidebar__back,
html body .entry-content .affwp-portal-sidebar a[href*="back"] {
	color: #64748b !important;
	font-weight: 500 !important;
}

html body .affwp-portal-sidebar__back svg,
html body .entry-content .affwp-portal-sidebar__back svg {
	color: #64748b !important;
}

html body .affwp-portal-sidebar__back:hover,
html body .entry-content .affwp-portal-sidebar__back:hover {
	color: #cbd5e1 !important;
}

/* Promo card "Vende como un pro" — calmar el icono. */
html body .affwp-portal-sidebar__promo-icon,
html body .entry-content .affwp-portal-sidebar__promo-icon {
	background: rgba(16, 185, 129, 0.18) !important;
	color: #6ee7b7 !important;
	box-shadow: none !important;
}

html body .affwp-portal-sidebar__promo-btn,
html body .entry-content .affwp-portal-sidebar__promo-btn {
	background: rgba(16, 185, 129, 0.10) !important;
	border: 1px solid rgba(16, 185, 129, 0.30) !important;
	color: #6ee7b7 !important;
	box-shadow: none !important;
}

html body .affwp-portal-sidebar__promo-btn:hover,
html body .entry-content .affwp-portal-sidebar__promo-btn:hover {
	background: rgba(16, 185, 129, 0.18) !important;
	border-color: rgba(16, 185, 129, 0.50) !important;
}

/* Status footer "Todos los sistemas / Operativos" */
html body .affwp-portal-sidebar__status-text,
html body .entry-content .affwp-portal-sidebar__status-text {
	color: #94a3b8 !important;
}

html body .affwp-portal-sidebar__status-sub,
html body .entry-content .affwp-portal-sidebar__status-sub {
	color: #64748b !important;
}

html body .affwp-portal-sidebar__status-dot,
html body .entry-content .affwp-portal-sidebar__status-dot {
	background: #10b981 !important;
	box-shadow: 0 0 4px rgba(16, 185, 129, 0.40) !important;
}

/* ============================================================
 * TOPBAR — neutralizado.
 * ============================================================ */

/* Mode switch (Afiliado / Gestor) — el inactivo neutro, el activo accent */
html body .affwp-portal-mode-switch__option,
html body .entry-content .affwp-portal-mode-switch__option {
	color: #94a3b8 !important;
	font-weight: 600 !important;
}

html body .affwp-portal-mode-switch__option.is-active,
html body .entry-content .affwp-portal-mode-switch__option.is-active {
	background: rgba(16, 185, 129, 0.16) !important;
	color: #e2e8f0 !important;
	box-shadow: inset 0 0 0 1px rgba(16, 185, 129, 0.32) !important;
}

/* Wallet pill — icono mas neutro */
html body .affwp-portal-wallet__icon,
html body .entry-content .affwp-portal-wallet__icon {
	background: rgba(16, 185, 129, 0.14) !important;
	color: #6ee7b7 !important;
	box-shadow: none !important;
}

html body .affwp-portal-wallet__amount,
html body .entry-content .affwp-portal-wallet__amount {
	color: #e2e8f0 !important;
}

html body .affwp-portal-wallet__label,
html body .entry-content .affwp-portal-wallet__label {
	color: #64748b !important;
	font-size: 10.5px !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
}

/* Chevron del profile dropdown */
html body .affwp-portal-topbar__profile svg,
html body .entry-content .affwp-portal-topbar__profile svg {
	color: #64748b !important;
}

/* ============================================================
 * PAGE HEADER — quitar gradient text de "Eric", "Crear pedido", etc.
 * Solo un toque de color, no un letrero de neon.
 * ============================================================ */

html body .affp-accent,
html body .entry-content .affp-accent {
	background: none !important;
	-webkit-background-clip: initial !important;
	background-clip: initial !important;
	-webkit-text-fill-color: initial !important;
	color: #6ee7b7 !important;            /* solo color suave, sin gradient */
	filter: none !important;
	font-weight: inherit !important;
}

/* "Eric" / "Crear pedido" / "Tus pedidos" en el title — color normal */
html body .affwp-portal-page-header__title,
html body .entry-content .affwp-portal-page-header__title {
	color: #f1f5f9 !important;
	font-weight: 800 !important;
	letter-spacing: -0.025em !important;
}

/* La parte accent dentro del title — mas sutil */
html body .affwp-portal-page-header__title .affp-accent,
html body .entry-content .affwp-portal-page-header__title .affp-accent {
	color: #6ee7b7 !important;
}

html body .affwp-portal-page-header__subtitle,
html body .entry-content .affwp-portal-page-header__subtitle {
	color: #94a3b8 !important;
}

html body .affwp-portal-page-header__subtitle .affp-accent,
html body .entry-content .affwp-portal-page-header__subtitle .affp-accent {
	color: #cbd5e1 !important;            /* en subtitulos, ni siquiera verde */
	font-weight: 600 !important;
}

/* ============================================================
 * STEP INDICATOR (1 — 2 — 3) — solo activo distinguido.
 * ============================================================ */

/* Numero del step inactivo: neutro */
html body .affwp-portal-stepper__num,
html body .entry-content .affwp-portal-stepper__num {
	background: rgba(255, 255, 255, 0.04) !important;
	border: 1px solid #1f2a40 !important;
	color: #64748b !important;
	box-shadow: none !important;
}

/* Step activo: accent pero sin glow excesivo */
html body .affwp-portal-stepper__step.is-active .affwp-portal-stepper__num,
html body .entry-content .affwp-portal-stepper__step.is-active .affwp-portal-stepper__num {
	background: #10b981 !important;
	border-color: #10b981 !important;
	color: #ffffff !important;
	box-shadow: 0 2px 6px rgba(16, 185, 129, 0.30) !important;
}

/* Step completado: outline accent muy sutil */
html body .affwp-portal-stepper__step.is-completed .affwp-portal-stepper__num,
html body .entry-content .affwp-portal-stepper__step.is-completed .affwp-portal-stepper__num {
	background: rgba(16, 185, 129, 0.14) !important;
	border-color: rgba(16, 185, 129, 0.40) !important;
	color: #6ee7b7 !important;
	box-shadow: none !important;
}

/* Label del step (Productos / Cliente / Confirmar) */
html body .affwp-portal-stepper__label,
html body .entry-content .affwp-portal-stepper__label {
	color: #64748b !important;
	font-weight: 500 !important;
}

html body .affwp-portal-stepper__step.is-active .affwp-portal-stepper__label,
html body .entry-content .affwp-portal-stepper__step.is-active .affwp-portal-stepper__label {
	color: #e2e8f0 !important;
	font-weight: 600 !important;
}

html body .affwp-portal-stepper__step.is-completed .affwp-portal-stepper__label,
html body .entry-content .affwp-portal-stepper__step.is-completed .affwp-portal-stepper__label {
	color: #94a3b8 !important;
}

/* Linea entre steps */
html body .affwp-portal-stepper__step::after,
html body .entry-content .affwp-portal-stepper__step::after {
	background: #1f2a40 !important;
}

html body .affwp-portal-stepper__step.is-completed::after,
html body .entry-content .affwp-portal-stepper__step.is-completed::after {
	background: rgba(16, 185, 129, 0.40) !important;
}

/* ============================================================
 * RESUMEN CARTA "2 productos $54.49" — calmar bag icon.
 * ============================================================ */

html body .affwp-portal-mgr-cart-summary__icon,
html body .affwp-portal-mgr-floating-cart__icon,
html body .entry-content .affwp-portal-mgr-cart-summary__icon,
html body .entry-content .affwp-portal-mgr-floating-cart__icon {
	background: rgba(16, 185, 129, 0.14) !important;
	color: #6ee7b7 !important;
	box-shadow: none !important;
}

/* "$54.49" en el cart summary — neutro, no accent */
html body .affwp-portal-mgr-cart-summary__total,
html body .entry-content .affwp-portal-mgr-cart-summary__total {
	color: #e2e8f0 !important;
}

html body .affwp-portal-mgr-cart-summary__count,
html body .entry-content .affwp-portal-mgr-cart-summary__count {
	color: #94a3b8 !important;
	font-size: 11.5px !important;
}

/* ============================================================
 * ICONOS de "¿Para quien es el pedido?" y similares.
 * Background gradient → reemplazar por neutro.
 * ============================================================ */

html body .affwp-portal-mgr-step__intro-icon,
html body .affwp-portal-mgr-wizard__intro-icon,
html body .entry-content .affwp-portal-mgr-step__intro-icon,
html body .entry-content .affwp-portal-mgr-wizard__intro-icon {
	background: rgba(16, 185, 129, 0.10) !important;
	color: #6ee7b7 !important;
	box-shadow: none !important;
}

/* ============================================================
 * KPI CARDS del Dashboard.
 * Iconos neutros con tinte muy leve.
 * ============================================================ */

html body .affwp-portal-kpi__icon,
html body .entry-content .affwp-portal-kpi__icon {
	background: rgba(255, 255, 255, 0.04) !important;
	color: #94a3b8 !important;
	box-shadow: none !important;
}

/* Sparklines — casi invisibles */
html body .affwp-portal-kpi svg,
html body .entry-content .affwp-portal-kpi svg {
	opacity: 0.30 !important;
	filter: none !important;
}

html body .affwp-portal-kpi__value,
html body .entry-content .affwp-portal-kpi__value {
	color: #f1f5f9 !important;            /* neutro brillante, no accent */
	font-weight: 700 !important;
}

html body .affwp-portal-kpi__label,
html body .entry-content .affwp-portal-kpi__label {
	color: #64748b !important;
	font-size: 11.5px !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
}

html body .affwp-portal-kpi__hint,
html body .entry-content .affwp-portal-kpi__hint {
	color: #475569 !important;
}

/* ============================================================
 * CHART card — linea drasticamente reducida.
 * ============================================================ */

html body .affwp-portal-chart-card svg path[stroke],
html body .entry-content .affwp-portal-chart-card svg path[stroke] {
	opacity: 0.65 !important;             /* mas tenue */
	filter: none !important;              /* QUITAMOS el drop-shadow */
	stroke-width: 1.8 !important;         /* linea mas fina */
}

html body .affwp-portal-chart-card svg path[fill]:not([stroke]),
html body .entry-content .affwp-portal-chart-card svg path[fill]:not([stroke]) {
	opacity: 0.10 !important;             /* el area gradient queda muy sutil */
}

/* Period selector "Diario" arriba a la derecha del chart */
html body .affwp-portal-chart-card__period,
html body .entry-content .affwp-portal-chart-card__period {
	background: rgba(255, 255, 255, 0.03) !important;
	border: 1px solid #1f2a40 !important;
	color: #94a3b8 !important;
	box-shadow: none !important;
}

/* ============================================================
 * CTA cards bajo el chart ("Crear nuevo pedido" / "Ver catalogo")
 * Iconos circulares grandes — neutralizar.
 * ============================================================ */

html body .affwp-portal-link-card__icon,
html body .entry-content .affwp-portal-link-card__icon {
	background: rgba(16, 185, 129, 0.12) !important;
	color: #6ee7b7 !important;
	box-shadow: none !important;
}

/* ============================================================
 * BOTONES — solo CTA primario manda.
 * ============================================================ */

/* CTA primario: emerald sólido, sin gradient saturado */
html body .affwp-portal-link-card__copy,
html body .affwp-portal-empty-state__cta,
html body [data-affwp-mgr-create-order],
html body .entry-content .affwp-portal-link-card__copy,
html body .entry-content .affwp-portal-empty-state__cta,
html body .entry-content [data-affwp-mgr-create-order] {
	background: #10b981 !important;
	border: 1px solid #10b981 !important;
	color: #ffffff !important;
	font-weight: 600 !important;
	box-shadow: 0 2px 8px rgba(16, 185, 129, 0.18) !important;
	text-shadow: 0 1px 0 rgba(0, 0, 0, 0.10) !important;
}

html body .affwp-portal-link-card__copy:hover,
html body .affwp-portal-empty-state__cta:hover,
html body [data-affwp-mgr-create-order]:hover,
html body .entry-content .affwp-portal-link-card__copy:hover,
html body .entry-content .affwp-portal-empty-state__cta:hover,
html body .entry-content [data-affwp-mgr-create-order]:hover {
	background: #059669 !important;
	border-color: #059669 !important;
	box-shadow: 0 4px 14px rgba(16, 185, 129, 0.32) !important;
	transform: translateY(-1px) !important;
}

/* Botones ghost ("Volver", "Cancelar") — completamente neutros */
html body .affwp-portal-btn-ghost,
html body .entry-content .affwp-portal-btn-ghost {
	background: transparent !important;
	border: 1px solid #2a3753 !important;
	color: #cbd5e1 !important;
	box-shadow: none !important;
	font-weight: 500 !important;
}

html body .affwp-portal-btn-ghost:hover,
html body .entry-content .affwp-portal-btn-ghost:hover {
	background: rgba(255, 255, 255, 0.04) !important;
	border-color: #3a4a6e !important;
	color: #f1f5f9 !important;
}

/* ============================================================
 * FILTER chips (Todos / En preparacion / En camino / etc.)
 * ============================================================ */

html body .affwp-portal-filter-bar__chip,
html body .entry-content .affwp-portal-filter-bar__chip {
	background: transparent !important;
	border: 1px solid #1f2a40 !important;
	color: #94a3b8 !important;
	font-weight: 500 !important;
}

html body .affwp-portal-filter-bar__chip:hover,
html body .entry-content .affwp-portal-filter-bar__chip:hover {
	background: rgba(255, 255, 255, 0.025) !important;
	border-color: #2a3753 !important;
	color: #cbd5e1 !important;
}

html body .affwp-portal-filter-bar__chip.is-active,
html body .entry-content .affwp-portal-filter-bar__chip.is-active {
	background: rgba(16, 185, 129, 0.10) !important;
	border-color: rgba(16, 185, 129, 0.32) !important;
	color: #6ee7b7 !important;
}

html body .affwp-portal-mgr-orders-filters__count,
html body .entry-content .affwp-portal-mgr-orders-filters__count {
	background: rgba(255, 255, 255, 0.06) !important;
	color: #94a3b8 !important;
}

html body .affwp-portal-filter-bar__chip.is-active .affwp-portal-mgr-orders-filters__count,
html body .entry-content .affwp-portal-filter-bar__chip.is-active .affwp-portal-mgr-orders-filters__count {
	background: rgba(16, 185, 129, 0.18) !important;
	color: #6ee7b7 !important;
}

/* ============================================================
 * Section labels ("BUSCAR CLIENTE EXISTENTE", "PRODUCTOS",
 * "NOMBRE COMPLETO *", "TELÉFONO", etc.) — todos muted gris.
 * ============================================================ */

html body .affwp-portal label,
html body .affwp-portal .affwp-portal-mgr-clients__form-label,
html body .affwp-portal .affwp-portal-section-label,
html body .entry-content .affwp-portal label,
html body .entry-content .affwp-portal .affwp-portal-mgr-clients__form-label,
html body .entry-content .affwp-portal .affwp-portal-section-label {
	color: #64748b !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
}

/* "* (asterisco)" en labels obligatorios — rojo muy suave */
html body .affwp-portal label .req,
html body .affwp-portal label::after,
html body .entry-content .affwp-portal label .req {
	color: #f87171 !important;
	font-weight: 600 !important;
}

/* "Por ahora solo La Habana esta disponible" hints */
html body .affwp-portal-mgr-clients__hint,
html body .affwp-portal small,
html body .entry-content .affwp-portal-mgr-clients__hint,
html body .entry-content .affwp-portal small {
	color: #475569 !important;
	font-size: 11.5px !important;
	font-weight: 400 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

/* ============================================================
 * SEPARATOR "O CREA UNO NUEVO" — neutro.
 * ============================================================ */

html body .affwp-portal-mgr-clients__separator,
html body .affwp-portal-divider,
html body .entry-content .affwp-portal-mgr-clients__separator,
html body .entry-content .affwp-portal-divider {
	color: #475569 !important;
	font-size: 10.5px !important;
	font-weight: 700 !important;
	letter-spacing: 0.10em !important;
}

/* ============================================================
 * GUARDAR CLIENTE button (en el form de crear cliente).
 * ============================================================ */

html body [data-affwp-mgr-client-save],
html body .affwp-portal-mgr-clients__submit,
html body .entry-content [data-affwp-mgr-client-save],
html body .entry-content .affwp-portal-mgr-clients__submit {
	background: #10b981 !important;
	border: 1px solid #10b981 !important;
	color: #ffffff !important;
	font-weight: 600 !important;
	box-shadow: 0 2px 8px rgba(16, 185, 129, 0.18) !important;
}

/* ============================================================
 * AVATAR del topbar y profile menu — borde neutro.
 * ============================================================ */

html body .affwp-portal-topbar__profile,
html body .affwp-portal-topbar__avatar,
html body .entry-content .affwp-portal-topbar__profile,
html body .entry-content .affwp-portal-topbar__avatar {
	border-color: #1f2a40 !important;
	box-shadow: none !important;
}

html body .affwp-portal-topbar__profile-name,
html body .entry-content .affwp-portal-topbar__profile-name {
	color: #e2e8f0 !important;
}

html body .affwp-portal-topbar__profile-tier,
html body .entry-content .affwp-portal-topbar__profile-tier {
	color: #64748b !important;
}

/* Star del tier */
html body .affwp-portal-topbar__profile-tier svg,
html body .entry-content .affwp-portal-topbar__profile-tier svg {
	color: #94a3b8 !important;
	opacity: 0.6 !important;
}

/* ============================================================
 * Cards del catalogo de productos — botones "Anadir" calmados.
 * ============================================================ */

html body .affwp-portal-mgr-product__add,
html body .entry-content .affwp-portal-mgr-product__add {
	background: rgba(16, 185, 129, 0.10) !important;
	border: 1px solid rgba(16, 185, 129, 0.28) !important;
	color: #6ee7b7 !important;
	font-weight: 600 !important;
	box-shadow: none !important;
}

html body .affwp-portal-mgr-product__add:hover,
html body .entry-content .affwp-portal-mgr-product__add:hover {
	background: rgba(16, 185, 129, 0.20) !important;
	border-color: rgba(16, 185, 129, 0.50) !important;
	color: #99f6e4 !important;
}

/* ============================================================
 * Money values en general — solo $XX.XX accent en momentos clave.
 * ============================================================ */

/* Por defecto: numeros normales blancos off, no accent. */
html body .affwp-portal-mgr-confirm__totals .is-total strong,
html body .entry-content .affwp-portal-mgr-confirm__totals .is-total strong {
	color: #6ee7b7 !important;
	text-shadow: none !important;
	font-weight: 800 !important;
}

/* Pero "Subtotal" y "Envio" → neutros */
html body .affwp-portal-mgr-confirm__totals > div:not(.is-total) strong,
html body .entry-content .affwp-portal-mgr-confirm__totals > div:not(.is-total) strong {
	color: #cbd5e1 !important;
}

html body .affwp-portal-mgr-confirm__totals > div span,
html body .entry-content .affwp-portal-mgr-confirm__totals > div span {
	color: #64748b !important;
}

/* ============================================================
 * Comision estimada del sidebar — sin shimmer ni glow.
 * ============================================================ */

html body .affwp-portal-mgr-commission__amount,
html body .entry-content .affwp-portal-mgr-commission__amount {
	color: #6ee7b7 !important;
	text-shadow: none !important;
}

html body .affwp-portal-mgr-commission__label,
html body .entry-content .affwp-portal-mgr-commission__label {
	color: #94a3b8 !important;
}

html body .affwp-portal-mgr-commission__rate,
html body .entry-content .affwp-portal-mgr-commission__rate {
	color: #64748b !important;
}

html body .affwp-portal-mgr-commission__hint,
html body .entry-content .affwp-portal-mgr-commission__hint {
	color: #475569 !important;
}

/* ============================================================
 * Search input grande del catalogo — placeholder calmo.
 * ============================================================ */

html body .affwp-portal-mgr-product-search-bar input::placeholder,
html body .entry-content .affwp-portal-mgr-product-search-bar input::placeholder {
	color: #475569 !important;
}

/* "20 productos · Toda la tienda" status bar */
html body .affwp-portal-mgr-product-status,
html body .entry-content .affwp-portal-mgr-product-status {
	color: #64748b !important;
	font-size: 12px !important;
}

html body .affwp-portal-mgr-product-status strong,
html body .entry-content .affwp-portal-mgr-product-status strong {
	color: #cbd5e1 !important;
}

/* ============================================================
 * Seccion etiquetas "PRODUCTOS SELECCIONADOS" del sidebar cart.
 * ============================================================ */

html body .affwp-portal-mgr-cart-summary h2,
html body .affwp-portal-mgr-cart-wrap h2,
html body .affwp-portal-mgr-cart-wrap h3,
html body .entry-content .affwp-portal-mgr-cart-summary h2,
html body .entry-content .affwp-portal-mgr-cart-wrap h2,
html body .entry-content .affwp-portal-mgr-cart-wrap h3 {
	color: #e2e8f0 !important;
	font-size: 14px !important;
	font-weight: 700 !important;
}

/* ============================================================
 * Override de los placeholders blancos de "Tu comision estimada".
 * ============================================================ */

html body .affwp-portal-mgr-cart-summary__empty-icon,
html body .entry-content .affwp-portal-mgr-cart-summary__empty-icon {
	background: rgba(255, 255, 255, 0.04) !important;
	color: #64748b !important;
	box-shadow: none !important;
}


/* =============================================================================
 * 69. Manager — Theme switch (sun/moon) + paleta CLARA.
 * =============================================================================
 *
 * El switch vive en el sidebar entre la nav y la promo card. Persistencia en
 * localStorage (clave: `affwp_portal_theme` con valores 'dark' | 'light').
 * Default: dark.
 *
 * El modo claro se activa cuando `<html>` tiene la clase
 * `affwp-portal-theme-light` — aplicada por un script anti-flash en
 * `dashboard.php` antes de que se pinte el shell.
 */

/* ============================================================
 * Switch UI: pill con dos opciones (Oscuro / Claro).
 * ============================================================ */

html body .affwp-portal-sidebar__theme,
html body .entry-content .affwp-portal-sidebar__theme {
	display: flex !important;
	margin: 14px 16px 12px !important;
	padding: 4px !important;
	background: rgba(255, 255, 255, 0.04) !important;
	border: 1px solid #1f2a40 !important;
	border-radius: 999px !important;
	gap: 0 !important;
}

html body .affwp-portal-sidebar__theme-opt,
html body .entry-content .affwp-portal-sidebar__theme-opt {
	flex: 1 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	padding: 6px 10px !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 999px !important;
	color: #64748b !important;
	font-size: 11.5px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	transition: all 0.18s ease !important;
	font-family: inherit !important;
	line-height: 1 !important;
}

html body .affwp-portal-sidebar__theme-opt:hover,
html body .entry-content .affwp-portal-sidebar__theme-opt:hover {
	color: #cbd5e1 !important;
	background: rgba(255, 255, 255, 0.04) !important;
}

html body .affwp-portal-sidebar__theme-opt.is-active,
html body .entry-content .affwp-portal-sidebar__theme-opt.is-active {
	background: rgba(16, 185, 129, 0.14) !important;
	color: #6ee7b7 !important;
	box-shadow: inset 0 0 0 1px rgba(16, 185, 129, 0.32) !important;
}

html body .affwp-portal-sidebar__theme-opt svg,
html body .entry-content .affwp-portal-sidebar__theme-opt svg {
	width: 14px !important;
	height: 14px !important;
	flex-shrink: 0 !important;
}

/* ============================================================
 * MODO CLARO — overrides de variables y surfaces.
 * Solo se aplican cuando `<html>` tiene `.affwp-portal-theme-light`.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal,
html.affwp-portal-theme-light body .entry-content .affwp-portal {
	/* Surfaces claras */
	--affp-bg:           #f8fafc !important;       /* slate-50 */
	--affp-surface:      #ffffff !important;
	--affp-surface-2:    #ffffff !important;
	--affp-surface-3:    #f1f5f9 !important;       /* slate-100 (más elevada) */
	--affp-surface-deep: #ffffff !important;       /* sidebar */

	/* Bordes claros, visibles pero suaves */
	--affp-border:       #e2e8f0 !important;       /* slate-200 */
	--affp-border-hover: #cbd5e1 !important;       /* slate-300 */

	/* Texto: negros suaves para no quemar la vista */
	--affp-text-strong:  #0f172a !important;       /* slate-900 — h1, KPI */
	--affp-text:         #334155 !important;       /* slate-700 — cuerpo */
	--affp-text-muted:   #64748b !important;       /* slate-500 — labels */
	--affp-text-faded:   #94a3b8 !important;       /* slate-400 */
	--affp-text-dim:     #cbd5e1 !important;       /* placeholders */
}

html.affwp-portal-theme-light body .affwp-portal--manager,
html.affwp-portal-theme-light body .entry-content .affwp-portal--manager {
	--affp-accent:        #059669 !important;       /* emerald-600 (más oscuro para contraste sobre claro) */
	--affp-accent-2:      #047857 !important;
	--affp-accent-3:      #0e7490 !important;       /* cyan-700 */
	--affp-accent-light:  #047857 !important;       /* dark version del accent para textos */
	--affp-accent-soft:   rgba(5, 150, 105, 0.10) !important;
	--affp-accent-soft-2: rgba(5, 150, 105, 0.18) !important;
	--affp-accent-glow:   rgba(5, 150, 105, 0.20) !important;
	--affp-accent-grad:   linear-gradient(135deg, #059669 0%, #0891b2 100%) !important;
}

/* ---------- Backgrounds principales ---------- */

html.affwp-portal-theme-light body .affwp-portal-shell,
html.affwp-portal-theme-light body .affwp-portal-content,
html.affwp-portal-theme-light body .affwp-portal-content-area,
html.affwp-portal-theme-light body .entry-content .affwp-portal-shell,
html.affwp-portal-theme-light body .entry-content .affwp-portal-content,
html.affwp-portal-theme-light body .entry-content .affwp-portal-content-area {
	background: #f8fafc !important;
}

html.affwp-portal-theme-light body .affwp-portal-sidebar,
html.affwp-portal-theme-light body .affwp-portal-topbar,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar,
html.affwp-portal-theme-light body .entry-content .affwp-portal-topbar {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
}

/* ---------- Sidebar nav ---------- */

html.affwp-portal-theme-light body .affwp-portal-sidebar__nav-link,
html.affwp-portal-theme-light body .affwp-portal-sidebar__nav-item a,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__nav-link,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__nav-item a {
	color: #475569 !important;
}

html.affwp-portal-theme-light body .affwp-portal-sidebar__nav-link:hover,
html.affwp-portal-theme-light body .affwp-portal-sidebar__nav-item a:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__nav-link:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__nav-item a:hover {
	color: #0f172a !important;
	background: rgba(15, 23, 42, 0.04) !important;
}

html.affwp-portal-theme-light body .affwp-portal-sidebar__nav-link svg,
html.affwp-portal-theme-light body .affwp-portal-sidebar__nav-item a svg,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__nav-link svg,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__nav-item a svg {
	color: #64748b !important;
}

html.affwp-portal-theme-light body .affwp-portal-sidebar__nav-link:hover svg,
html.affwp-portal-theme-light body .affwp-portal-sidebar__nav-item a:hover svg,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__nav-link:hover svg,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__nav-item a:hover svg {
	color: #0f172a !important;
}

/* Item activo */
html.affwp-portal-theme-light body .affwp-portal-sidebar__nav-item.is-active .affwp-portal-sidebar__nav-link,
html.affwp-portal-theme-light body .affwp-portal-sidebar__nav-link.is-active,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__nav-item.is-active .affwp-portal-sidebar__nav-link,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__nav-link.is-active {
	background: rgba(5, 150, 105, 0.10) !important;
	color: #064e3b !important;
	box-shadow: inset 0 0 0 1px rgba(5, 150, 105, 0.22) !important;
}

html.affwp-portal-theme-light body .affwp-portal-sidebar__nav-item.is-active .affwp-portal-sidebar__nav-link svg,
html.affwp-portal-theme-light body .affwp-portal-sidebar__nav-link.is-active svg,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__nav-item.is-active .affwp-portal-sidebar__nav-link svg,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__nav-link.is-active svg {
	color: #047857 !important;
}

html.affwp-portal-theme-light body .affwp-portal-sidebar__nav-label,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__nav-label {
	color: #94a3b8 !important;
}

html.affwp-portal-theme-light body .affwp-portal-sidebar__back,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__back {
	color: #64748b !important;
}

html.affwp-portal-theme-light body .affwp-portal-sidebar__back svg,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__back svg {
	color: #94a3b8 !important;
}

html.affwp-portal-theme-light body .affwp-portal-sidebar__back:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__back:hover {
	color: #0f172a !important;
}

/* ---------- Theme switch en modo claro ---------- */

html.affwp-portal-theme-light body .affwp-portal-sidebar__theme,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__theme {
	background: #f1f5f9 !important;
	border-color: #e2e8f0 !important;
}

html.affwp-portal-theme-light body .affwp-portal-sidebar__theme-opt,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__theme-opt {
	color: #94a3b8 !important;
}

html.affwp-portal-theme-light body .affwp-portal-sidebar__theme-opt:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__theme-opt:hover {
	color: #475569 !important;
	background: rgba(15, 23, 42, 0.04) !important;
}

html.affwp-portal-theme-light body .affwp-portal-sidebar__theme-opt.is-active,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__theme-opt.is-active {
	background: #ffffff !important;
	color: #047857 !important;
	box-shadow:
		inset 0 0 0 1px rgba(5, 150, 105, 0.30),
		0 1px 2px rgba(15, 23, 42, 0.06) !important;
}

/* ---------- Promo card en sidebar (modo claro) ---------- */

html.affwp-portal-theme-light body .affwp-portal-sidebar__promo,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__promo {
	background:
		radial-gradient(circle at top right, rgba(8, 145, 178, 0.08) 0%, transparent 60%),
		radial-gradient(circle at bottom left, rgba(5, 150, 105, 0.08) 0%, transparent 60%),
		#f0fdfa !important;                   /* teal-50 */
	border-color: rgba(5, 150, 105, 0.20) !important;
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.04) !important;
}

html.affwp-portal-theme-light body .affwp-portal-sidebar__promo-icon,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__promo-icon {
	background: rgba(5, 150, 105, 0.12) !important;
	color: #047857 !important;
}

html.affwp-portal-theme-light body .affwp-portal-sidebar__promo-title,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__promo-title {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-sidebar__promo-text,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__promo-text {
	color: #64748b !important;
}

html.affwp-portal-theme-light body .affwp-portal-sidebar__promo-btn,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__promo-btn {
	background: rgba(5, 150, 105, 0.08) !important;
	border: 1px solid rgba(5, 150, 105, 0.30) !important;
	color: #047857 !important;
}

html.affwp-portal-theme-light body .affwp-portal-sidebar__promo-btn:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__promo-btn:hover {
	background: rgba(5, 150, 105, 0.14) !important;
	border-color: rgba(5, 150, 105, 0.50) !important;
}

/* ---------- Status footer (modo claro) ---------- */

html.affwp-portal-theme-light body .affwp-portal-sidebar__status-text,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__status-text {
	color: #475569 !important;
}

html.affwp-portal-theme-light body .affwp-portal-sidebar__status-sub,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__status-sub {
	color: #94a3b8 !important;
}

/* ---------- Topbar (modo claro) ---------- */

html.affwp-portal-theme-light body .affwp-portal-mode-switch,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mode-switch {
	background: #f1f5f9 !important;
	border-color: #e2e8f0 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mode-switch__option,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mode-switch__option {
	color: #64748b !important;
}

html.affwp-portal-theme-light body .affwp-portal-mode-switch__option.is-active,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mode-switch__option.is-active {
	background: #ffffff !important;
	color: #0f172a !important;
	box-shadow:
		inset 0 0 0 1px rgba(5, 150, 105, 0.32),
		0 1px 3px rgba(15, 23, 42, 0.08) !important;
}

html.affwp-portal-theme-light body .affwp-portal-wallet,
html.affwp-portal-theme-light body .entry-content .affwp-portal-wallet {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06) !important;
}

html.affwp-portal-theme-light body .affwp-portal-wallet__icon,
html.affwp-portal-theme-light body .entry-content .affwp-portal-wallet__icon {
	background: rgba(5, 150, 105, 0.12) !important;
	color: #047857 !important;
}

html.affwp-portal-theme-light body .affwp-portal-wallet__amount,
html.affwp-portal-theme-light body .entry-content .affwp-portal-wallet__amount {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-wallet__label,
html.affwp-portal-theme-light body .entry-content .affwp-portal-wallet__label {
	color: #94a3b8 !important;
}

html.affwp-portal-theme-light body .affwp-portal-topbar__profile,
html.affwp-portal-theme-light body .entry-content .affwp-portal-topbar__profile {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
}

html.affwp-portal-theme-light body .affwp-portal-topbar__profile-name,
html.affwp-portal-theme-light body .entry-content .affwp-portal-topbar__profile-name {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-topbar__profile-tier,
html.affwp-portal-theme-light body .entry-content .affwp-portal-topbar__profile-tier {
	color: #94a3b8 !important;
}

/* ---------- Page header (modo claro) ---------- */

html.affwp-portal-theme-light body .affwp-portal-page-header__title,
html.affwp-portal-theme-light body .entry-content .affwp-portal-page-header__title {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-page-header__title .affp-accent,
html.affwp-portal-theme-light body .entry-content .affwp-portal-page-header__title .affp-accent {
	color: #047857 !important;
}

html.affwp-portal-theme-light body .affwp-portal-page-header__subtitle,
html.affwp-portal-theme-light body .entry-content .affwp-portal-page-header__subtitle {
	color: #64748b !important;
}

html.affwp-portal-theme-light body .affwp-portal-page-header__subtitle .affp-accent,
html.affwp-portal-theme-light body .entry-content .affwp-portal-page-header__subtitle .affp-accent {
	color: #475569 !important;
}

/* ---------- Cards (KPI, chart, orders, clients, wizard) — light ---------- */

html.affwp-portal-theme-light body .affwp-portal-kpi,
html.affwp-portal-theme-light body .affwp-portal-chart-card,
html.affwp-portal-theme-light body .affwp-portal-mgr-order-card,
html.affwp-portal-theme-light body .affwp-portal-mgr-orders-stats__item,
html.affwp-portal-theme-light body .affwp-portal-mgr-client-row,
html.affwp-portal-theme-light body .affwp-portal-mgr-wizard__pane,
html.affwp-portal-theme-light body .affwp-portal-mgr-confirm__totals,
html.affwp-portal-theme-light body .affwp-portal-mgr-pay,
html.affwp-portal-theme-light body .affwp-portal-empty-state,
html.affwp-portal-theme-light body .affwp-portal-mgr-product,
html.affwp-portal-theme-light body .affwp-portal-mgr-cart-wrap,
html.affwp-portal-theme-light body .affwp-portal-mgr-cart-summary,
html.affwp-portal-theme-light body .affwp-portal-mgr-product-search-bar,
html.affwp-portal-theme-light body .entry-content .affwp-portal-kpi,
html.affwp-portal-theme-light body .entry-content .affwp-portal-chart-card,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-orders-stats__item,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-client-row,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-wizard__pane,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-confirm__totals,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-pay,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-empty-state,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-cart-wrap,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-cart-summary,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-search-bar {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
	box-shadow:
		0 1px 3px rgba(15, 23, 42, 0.04),
		0 4px 14px rgba(15, 23, 42, 0.06) !important;
}

html.affwp-portal-theme-light body .affwp-portal-kpi:hover,
html.affwp-portal-theme-light body .affwp-portal-mgr-order-card:hover,
html.affwp-portal-theme-light body .affwp-portal-mgr-client-row:hover,
html.affwp-portal-theme-light body .affwp-portal-mgr-product:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-kpi:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-client-row:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product:hover {
	border-color: rgba(5, 150, 105, 0.32) !important;
	box-shadow:
		0 4px 12px rgba(15, 23, 42, 0.08),
		0 8px 24px rgba(15, 23, 42, 0.06) !important;
}

/* KPI textos modo claro */
html.affwp-portal-theme-light body .affwp-portal-kpi__label,
html.affwp-portal-theme-light body .affwp-portal-mgr-orders-stats__label,
html.affwp-portal-theme-light body .entry-content .affwp-portal-kpi__label,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-orders-stats__label {
	color: #64748b !important;
}

html.affwp-portal-theme-light body .affwp-portal-kpi__value,
html.affwp-portal-theme-light body .affwp-portal-mgr-orders-stats__value,
html.affwp-portal-theme-light body .entry-content .affwp-portal-kpi__value,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-orders-stats__value {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-kpi__hint,
html.affwp-portal-theme-light body .affwp-portal-mgr-orders-stats__sub,
html.affwp-portal-theme-light body .entry-content .affwp-portal-kpi__hint,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-orders-stats__sub {
	color: #94a3b8 !important;
}

html.affwp-portal-theme-light body .affwp-portal-kpi__icon,
html.affwp-portal-theme-light body .entry-content .affwp-portal-kpi__icon {
	background: #f1f5f9 !important;
	color: #475569 !important;
}

/* Sparklines en modo claro */
html.affwp-portal-theme-light body .affwp-portal-kpi svg,
html.affwp-portal-theme-light body .entry-content .affwp-portal-kpi svg {
	opacity: 0.55 !important;
}

/* ---------- Chart en modo claro ---------- */

html.affwp-portal-theme-light body .affwp-portal-chart-card svg path[stroke],
html.affwp-portal-theme-light body .entry-content .affwp-portal-chart-card svg path[stroke] {
	stroke: #059669 !important;
	opacity: 0.85 !important;
}

html.affwp-portal-theme-light body .affwp-portal-chart-card svg line,
html.affwp-portal-theme-light body .affwp-portal-chart-card svg text,
html.affwp-portal-theme-light body .entry-content .affwp-portal-chart-card svg line,
html.affwp-portal-theme-light body .entry-content .affwp-portal-chart-card svg text {
	color: #94a3b8 !important;
	stroke: #cbd5e1 !important;
	fill: #94a3b8 !important;
}

/* ---------- Filter chips modo claro ---------- */

html.affwp-portal-theme-light body .affwp-portal-filter-bar__chip,
html.affwp-portal-theme-light body .entry-content .affwp-portal-filter-bar__chip {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
	color: #475569 !important;
}

html.affwp-portal-theme-light body .affwp-portal-filter-bar__chip:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-filter-bar__chip:hover {
	background: #f8fafc !important;
	border-color: #cbd5e1 !important;
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-filter-bar__chip.is-active,
html.affwp-portal-theme-light body .entry-content .affwp-portal-filter-bar__chip.is-active {
	background: rgba(5, 150, 105, 0.10) !important;
	border-color: rgba(5, 150, 105, 0.40) !important;
	color: #047857 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-orders-filters__count,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-orders-filters__count {
	background: #f1f5f9 !important;
	color: #64748b !important;
}

html.affwp-portal-theme-light body .affwp-portal-filter-bar__chip.is-active .affwp-portal-mgr-orders-filters__count,
html.affwp-portal-theme-light body .entry-content .affwp-portal-filter-bar__chip.is-active .affwp-portal-mgr-orders-filters__count {
	background: rgba(5, 150, 105, 0.18) !important;
	color: #047857 !important;
}

/* ---------- Botones primarios en modo claro ---------- */

html.affwp-portal-theme-light body .affwp-portal-link-card__copy,
html.affwp-portal-theme-light body .affwp-portal-empty-state__cta,
html.affwp-portal-theme-light body [data-affwp-mgr-create-order],
html.affwp-portal-theme-light body [data-affwp-mgr-client-save],
html.affwp-portal-theme-light body .entry-content .affwp-portal-link-card__copy,
html.affwp-portal-theme-light body .entry-content .affwp-portal-empty-state__cta,
html.affwp-portal-theme-light body .entry-content [data-affwp-mgr-create-order],
html.affwp-portal-theme-light body .entry-content [data-affwp-mgr-client-save] {
	background: #059669 !important;
	border-color: #059669 !important;
	color: #ffffff !important;
	box-shadow: 0 2px 6px rgba(5, 150, 105, 0.20) !important;
}

html.affwp-portal-theme-light body .affwp-portal-link-card__copy:hover,
html.affwp-portal-theme-light body .affwp-portal-empty-state__cta:hover,
html.affwp-portal-theme-light body [data-affwp-mgr-create-order]:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-link-card__copy:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-empty-state__cta:hover,
html.affwp-portal-theme-light body .entry-content [data-affwp-mgr-create-order]:hover {
	background: #047857 !important;
	border-color: #047857 !important;
	box-shadow: 0 4px 12px rgba(5, 150, 105, 0.30) !important;
}

/* Ghost buttons modo claro */
html.affwp-portal-theme-light body .affwp-portal-btn-ghost,
html.affwp-portal-theme-light body .entry-content .affwp-portal-btn-ghost {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
	color: #475569 !important;
}

html.affwp-portal-theme-light body .affwp-portal-btn-ghost:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-btn-ghost:hover {
	background: #f8fafc !important;
	border-color: #cbd5e1 !important;
	color: #0f172a !important;
}

/* ---------- Step indicator modo claro ---------- */

html.affwp-portal-theme-light body .affwp-portal-stepper__num,
html.affwp-portal-theme-light body .entry-content .affwp-portal-stepper__num {
	background: #f1f5f9 !important;
	border-color: #e2e8f0 !important;
	color: #94a3b8 !important;
}

html.affwp-portal-theme-light body .affwp-portal-stepper__step.is-active .affwp-portal-stepper__num,
html.affwp-portal-theme-light body .entry-content .affwp-portal-stepper__step.is-active .affwp-portal-stepper__num {
	background: #059669 !important;
	border-color: #059669 !important;
	color: #ffffff !important;
}

html.affwp-portal-theme-light body .affwp-portal-stepper__step.is-completed .affwp-portal-stepper__num,
html.affwp-portal-theme-light body .entry-content .affwp-portal-stepper__step.is-completed .affwp-portal-stepper__num {
	background: rgba(5, 150, 105, 0.12) !important;
	border-color: rgba(5, 150, 105, 0.40) !important;
	color: #047857 !important;
}

html.affwp-portal-theme-light body .affwp-portal-stepper__label,
html.affwp-portal-theme-light body .entry-content .affwp-portal-stepper__label {
	color: #64748b !important;
}

html.affwp-portal-theme-light body .affwp-portal-stepper__step.is-active .affwp-portal-stepper__label,
html.affwp-portal-theme-light body .entry-content .affwp-portal-stepper__step.is-active .affwp-portal-stepper__label {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-stepper__step::after,
html.affwp-portal-theme-light body .entry-content .affwp-portal-stepper__step::after {
	background: #e2e8f0 !important;
}

html.affwp-portal-theme-light body .affwp-portal-stepper__step.is-completed::after,
html.affwp-portal-theme-light body .entry-content .affwp-portal-stepper__step.is-completed::after {
	background: rgba(5, 150, 105, 0.40) !important;
}

/* ---------- Inputs modo claro ---------- */

html.affwp-portal-theme-light body .affwp-portal input[type="text"],
html.affwp-portal-theme-light body .affwp-portal input[type="search"],
html.affwp-portal-theme-light body .affwp-portal input[type="tel"],
html.affwp-portal-theme-light body .affwp-portal input[type="email"],
html.affwp-portal-theme-light body .affwp-portal input[type="number"],
html.affwp-portal-theme-light body .affwp-portal select,
html.affwp-portal-theme-light body .affwp-portal textarea,
html.affwp-portal-theme-light body .entry-content .affwp-portal input[type="text"],
html.affwp-portal-theme-light body .entry-content .affwp-portal input[type="search"],
html.affwp-portal-theme-light body .entry-content .affwp-portal input[type="tel"],
html.affwp-portal-theme-light body .entry-content .affwp-portal input[type="email"],
html.affwp-portal-theme-light body .entry-content .affwp-portal input[type="number"],
html.affwp-portal-theme-light body .entry-content .affwp-portal select,
html.affwp-portal-theme-light body .entry-content .affwp-portal textarea {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal input:focus,
html.affwp-portal-theme-light body .affwp-portal select:focus,
html.affwp-portal-theme-light body .affwp-portal textarea:focus,
html.affwp-portal-theme-light body .entry-content .affwp-portal input:focus,
html.affwp-portal-theme-light body .entry-content .affwp-portal select:focus,
html.affwp-portal-theme-light body .entry-content .affwp-portal textarea:focus {
	border-color: rgba(5, 150, 105, 0.55) !important;
	background: #ffffff !important;
	box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.10) !important;
}

html.affwp-portal-theme-light body .affwp-portal input::placeholder,
html.affwp-portal-theme-light body .affwp-portal textarea::placeholder,
html.affwp-portal-theme-light body .entry-content .affwp-portal input::placeholder,
html.affwp-portal-theme-light body .entry-content .affwp-portal textarea::placeholder {
	color: #cbd5e1 !important;
}

/* ---------- Page text general modo claro ---------- */

html.affwp-portal-theme-light body .affwp-portal h1,
html.affwp-portal-theme-light body .affwp-portal h2,
html.affwp-portal-theme-light body .entry-content .affwp-portal h1,
html.affwp-portal-theme-light body .entry-content .affwp-portal h2 {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal h3,
html.affwp-portal-theme-light body .affwp-portal h4,
html.affwp-portal-theme-light body .entry-content .affwp-portal h3,
html.affwp-portal-theme-light body .entry-content .affwp-portal h4 {
	color: #1e293b !important;
}

html.affwp-portal-theme-light body .affwp-portal p,
html.affwp-portal-theme-light body .affwp-portal-shell p,
html.affwp-portal-theme-light body .entry-content .affwp-portal p,
html.affwp-portal-theme-light body .entry-content .affwp-portal-shell p {
	color: #334155 !important;
}

html.affwp-portal-theme-light body .affwp-portal label,
html.affwp-portal-theme-light body .entry-content .affwp-portal label {
	color: #64748b !important;
}

html.affwp-portal-theme-light body .affwp-portal small,
html.affwp-portal-theme-light body .entry-content .affwp-portal small {
	color: #94a3b8 !important;
}

/* ---------- Comision estimada y money values modo claro ---------- */

html.affwp-portal-theme-light body .affwp-portal-mgr-confirm__totals .is-total strong,
html.affwp-portal-theme-light body .affwp-portal-mgr-commission__amount,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-confirm__totals .is-total strong,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-commission__amount {
	color: #047857 !important;
	text-shadow: none !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-commission,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-commission {
	background: rgba(5, 150, 105, 0.06) !important;
	border-color: rgba(5, 150, 105, 0.18) !important;
}

/* ---------- Order card timeline (modo claro) ---------- */

html.affwp-portal-theme-light body .affwp-portal-mgr-tl__step .affwp-portal-mgr-tl__node,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-tl__step .affwp-portal-mgr-tl__node {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
	color: #94a3b8 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-tl__step.is-past .affwp-portal-mgr-tl__node,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-tl__step.is-past .affwp-portal-mgr-tl__node {
	background: #059669 !important;
	border-color: #059669 !important;
	color: #ffffff !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-tl__step.is-active .affwp-portal-mgr-tl__node,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-tl__step.is-active .affwp-portal-mgr-tl__node {
	background: #ffffff !important;
	border: 3px solid #059669 !important;
	color: #047857 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-tl__track,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-tl__track {
	background: #e2e8f0 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-tl__current,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-tl__current {
	background: rgba(5, 150, 105, 0.06) !important;
	border-left-color: #059669 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-tl__current-text,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-tl__current-text {
	color: #1e293b !important;
}

/* ---------- Drafts panel modo claro ---------- */

html.affwp-portal-theme-light body .affwp-portal-mgr-drafts,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-drafts {
	background: #f8fafc !important;
	border-color: #e2e8f0 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-drafts__title,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-drafts__title {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-drafts__hint,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-drafts__hint {
	color: #94a3b8 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-drafts__item,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-drafts__item {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-drafts__name,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-drafts__name {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-drafts__meta,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-drafts__meta {
	color: #64748b !important;
}

/* ---------- Selección de texto modo claro ---------- */

html.affwp-portal-theme-light body .affwp-portal ::selection,
html.affwp-portal-theme-light body .entry-content .affwp-portal ::selection {
	background: rgba(5, 150, 105, 0.20);
	color: #064e3b;
}

/* ---------- Scrollbar modo claro ---------- */

html.affwp-portal-theme-light body .affwp-portal-content::-webkit-scrollbar-track,
html.affwp-portal-theme-light body .affwp-portal-content-area::-webkit-scrollbar-track {
	background: #f8fafc !important;
}

html.affwp-portal-theme-light body .affwp-portal-content::-webkit-scrollbar-thumb,
html.affwp-portal-theme-light body .affwp-portal-content-area::-webkit-scrollbar-thumb {
	background: #cbd5e1 !important;
	border: 2px solid #f8fafc !important;
}

html.affwp-portal-theme-light body .affwp-portal-content::-webkit-scrollbar-thumb:hover,
html.affwp-portal-theme-light body .affwp-portal-content-area::-webkit-scrollbar-thumb:hover {
	background: #94a3b8 !important;
}

/* ---------- Modal de cliente edit en modo claro ---------- */

html.affwp-portal-theme-light body .affwp-portal-mgr-client-edit-modal__panel,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-client-edit-modal__panel {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-client-edit-modal__header,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-client-edit-modal__header {
	background: #f8fafc !important;
	border-bottom-color: #e2e8f0 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-client-edit-modal__header h3,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-client-edit-modal__header h3 {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-client-edit-modal__close,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-client-edit-modal__close {
	background: #f1f5f9 !important;
	border-color: #e2e8f0 !important;
	color: #64748b !important;
}

/* ---------- Pre-factura modal modo claro ---------- */

html.affwp-portal-theme-light body .affwp-portal-mgr-preinv__panel,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-preinv__panel {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-preinv__header,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-preinv__header {
	background: #f8fafc !important;
	border-bottom-color: #e2e8f0 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-preinv__title-text,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-preinv__title-text {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-preinv__btn,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-preinv__btn {
	background: #f1f5f9 !important;
	border-color: #e2e8f0 !important;
	color: #475569 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-preinv__close,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-preinv__close {
	background: #f1f5f9 !important;
	border-color: #e2e8f0 !important;
	color: #64748b !important;
}

/* ---------- Logo del sidebar modo claro (si es texto) ---------- */

html.affwp-portal-theme-light body .affwp-portal-sidebar__logo span,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__logo span {
	color: #0f172a !important;
}

/* ---------- Section labels modo claro ---------- */

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__col-title,
html.affwp-portal-theme-light body .affwp-portal-mgr-doc__card-row strong,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__col-title,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-doc__card-row strong {
	color: #64748b !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__client-name,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__client-name {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__client-line,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__client-line {
	color: #475569 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__commission-block,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__commission-block {
	border-left-color: #059669 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__commission-amount,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__commission-amount {
	color: #047857 !important;
	text-shadow: none !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__commission-status,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__commission-status {
	color: #94a3b8 !important;
}

/* ---------- Order card items (productos en pedido detail) modo claro ---------- */

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__item,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__item {
	border-bottom-color: #f1f5f9 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__item-body strong,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__item-body strong {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__item-meta,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__item-meta {
	color: #64748b !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__item-total,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__item-total {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__totals,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__totals {
	border-top-color: #e2e8f0 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__totals-grand dd,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__totals-grand dd {
	color: #047857 !important;
}


/* =============================================================================
 * 70. Manager — Light theme: fixes de elementos no cubiertos.
 * =============================================================================
 *
 * Problemas detectados en las screenshots:
 *
 *   1. Order card summary (num, fecha, cliente, qty, total) tenia texto blanco
 *      con !important — invisible sobre fondo blanco.
 *   2. Body de pedido expandido seguia con fondo oscuro.
 *   3. Modal de producto (1.62" Smartwatch) con panel dark navy entero.
 *   4. Timeline circles del estado del pedido en navy con num blanco.
 *   5. CTAs "Empezar pedido" / "Abrir catalogo" / "Crear pedido" se ven oscuros
 *      por overrides de mode-manager con !important.
 *   6. Step indicator "1 Productos" tenia fondo dark.
 *   7. Sidebar active item demasiado saturado en light.
 *   8. Icono de "?Para quien es el pedido?" gradient oscuro.
 *   9. "Cancelado" badge fondo claro/oscuro inconsistente.
 *
 * Capa correctiva con MAYOR especificidad para vencer al modo dark.
 */

/* ============================================================
 * Order card SUMMARY (header del card colapsado).
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__num,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__num {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__date,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__date {
	color: #94a3b8 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__client strong,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__client strong {
	color: #1e293b !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__client span,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__client span {
	color: #94a3b8 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__qty-num,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__qty-num {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__qty-lbl,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__qty-lbl {
	color: #94a3b8 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__total-lbl,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__total-lbl {
	color: #94a3b8 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__total strong,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__total strong {
	color: #047857 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__chev,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__chev {
	color: #94a3b8 !important;
}

/* ============================================================
 * Order card BODY (cuerpo expandido) — fondo claro.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__body,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__body {
	background: #f8fafc !important;
	border-top-color: #e2e8f0 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__col-title,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__col-title {
	color: #64748b !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__item-img,
html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__item-noimg,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__item-img,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__item-noimg {
	background: #f1f5f9 !important;
	border-color: #e2e8f0 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__totals > div dt,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__totals > div dt {
	color: #64748b !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__totals > div dd,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__totals > div dd {
	color: #1e293b !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__totals-grand dt,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__totals-grand dt {
	color: #0f172a !important;
}

/* ============================================================
 * Timeline visual del estado del pedido (mini-stepper).
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-mgr-tl,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-tl {
	background: transparent !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-tl__node,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-tl__node {
	background: #ffffff !important;
	border: 2px solid #e2e8f0 !important;
	color: #94a3b8 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-tl__node-num,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-tl__node-num {
	color: #94a3b8 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-tl__step.is-past .affwp-portal-mgr-tl__node,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-tl__step.is-past .affwp-portal-mgr-tl__node {
	background: #059669 !important;
	border-color: #059669 !important;
	color: #ffffff !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-tl__step.is-past .affwp-portal-mgr-tl__node-icon,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-tl__step.is-past .affwp-portal-mgr-tl__node-icon {
	color: #ffffff !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-tl__step.is-active .affwp-portal-mgr-tl__node,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-tl__step.is-active .affwp-portal-mgr-tl__node {
	background: #ffffff !important;
	border: 3px solid #059669 !important;
	color: #047857 !important;
	box-shadow:
		0 0 0 4px rgba(5, 150, 105, 0.10),
		0 0 12px rgba(5, 150, 105, 0.18) !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-tl__step.is-active .affwp-portal-mgr-tl__node-icon,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-tl__step.is-active .affwp-portal-mgr-tl__node-icon {
	color: #047857 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-tl__node-ping,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-tl__node-ping {
	border-color: rgba(5, 150, 105, 0.55) !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-tl__step .affwp-portal-mgr-tl__label,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-tl__step .affwp-portal-mgr-tl__label {
	color: #94a3b8 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-tl__step.is-past .affwp-portal-mgr-tl__label,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-tl__step.is-past .affwp-portal-mgr-tl__label {
	color: #1e293b !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-tl__step.is-active .affwp-portal-mgr-tl__label,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-tl__step.is-active .affwp-portal-mgr-tl__label {
	color: #047857 !important;
	text-shadow: none !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-tl__caption,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-tl__caption {
	color: #94a3b8 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-tl__step.is-past .affwp-portal-mgr-tl__caption,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-tl__step.is-past .affwp-portal-mgr-tl__caption {
	color: #64748b !important;
}

/* Progress fill bar (con shimmer) */
html.affwp-portal-theme-light body .affwp-portal-mgr-tl__track,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-tl__track {
	background: #e2e8f0 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-tl__fill,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-tl__fill {
	background: linear-gradient(90deg, #059669 0%, #0891b2 100%) !important;
	box-shadow: 0 0 6px rgba(5, 150, 105, 0.30) !important;
}

/* Cancelled variant */
html.affwp-portal-theme-light body .affwp-portal-mgr-tl.is-cancelled .affwp-portal-mgr-tl__step .affwp-portal-mgr-tl__node,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-tl.is-cancelled .affwp-portal-mgr-tl__step .affwp-portal-mgr-tl__node {
	background: #f1f5f9 !important;
	border-color: #e2e8f0 !important;
	color: #94a3b8 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-tl.is-cancelled .is-cancelled-step .affwp-portal-mgr-tl__node,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-tl.is-cancelled .is-cancelled-step .affwp-portal-mgr-tl__node {
	background: #ef4444 !important;
	border-color: #ef4444 !important;
	color: #ffffff !important;
	box-shadow:
		0 0 0 4px rgba(239, 68, 68, 0.10),
		0 0 12px rgba(239, 68, 68, 0.20) !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-tl.is-cancelled .is-cancelled-step .affwp-portal-mgr-tl__label,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-tl.is-cancelled .is-cancelled-step .affwp-portal-mgr-tl__label {
	color: #b91c1c !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-tl.is-cancelled .affwp-portal-mgr-tl__current,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-tl.is-cancelled .affwp-portal-mgr-tl__current {
	background: rgba(239, 68, 68, 0.06) !important;
	border-left-color: #ef4444 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-tl.is-cancelled .affwp-portal-mgr-tl__current-text,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-tl.is-cancelled .affwp-portal-mgr-tl__current-text {
	color: #b91c1c !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-tl__current-next,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-tl__current-next {
	color: #475569 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-tl__current-next strong,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-tl__current-next strong {
	color: #047857 !important;
}

/* "Que decirle al cliente" disclosure */
html.affwp-portal-theme-light body .affwp-portal-mgr-tl__msg,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-tl__msg {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-tl__msg-toggle,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-tl__msg-toggle {
	color: #1e293b !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-tl__msg-text,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-tl__msg-text {
	background: #f8fafc !important;
	color: #334155 !important;
	border-left-color: rgba(5, 150, 105, 0.40) !important;
}

/* ============================================================
 * Cancelled badge en el summary del card.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__badge--cancelled,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__badge--cancelled {
	background: #fef2f2 !important;
	color: #b91c1c !important;
	border-color: #fecaca !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__badge--preparing,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__badge--preparing {
	background: rgba(5, 150, 105, 0.10) !important;
	color: #047857 !important;
	border-color: rgba(5, 150, 105, 0.30) !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__badge--shipping,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__badge--shipping {
	background: rgba(8, 145, 178, 0.10) !important;
	color: #0e7490 !important;
	border-color: rgba(8, 145, 178, 0.30) !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__badge--delivered,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__badge--delivered {
	background: rgba(5, 150, 105, 0.14) !important;
	color: #065f46 !important;
	border-color: rgba(5, 150, 105, 0.40) !important;
}

/* ============================================================
 * Comision pendiente / rechazada bloque.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__commission-block,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__commission-block {
	border-left-color: #059669 !important;
	box-shadow: -8px 0 24px -16px rgba(5, 150, 105, 0.30) !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__commission-amount,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__commission-amount {
	color: #047857 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__commission-status,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__commission-status {
	color: #94a3b8 !important;
}

/* Comision rechazada en rojo */
html.affwp-portal-theme-light body .affwp-portal-mgr-order-card--cancelled .affwp-portal-mgr-order-card__commission-block,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card--cancelled .affwp-portal-mgr-order-card__commission-block {
	border-left-color: #ef4444 !important;
	box-shadow: -8px 0 24px -16px rgba(239, 68, 68, 0.30) !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card--cancelled .affwp-portal-mgr-order-card__commission-amount,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card--cancelled .affwp-portal-mgr-order-card__commission-amount {
	color: #b91c1c !important;
}

/* ============================================================
 * MODAL DE PRODUCTO (1.62" Smartwatch ...).
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-mgr-modal__panel,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-modal__panel {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
	box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18) !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-modal__overlay,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-modal__overlay {
	background: rgba(15, 23, 42, 0.50) !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-modal__close,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-modal__close {
	background: #f1f5f9 !important;
	border: 1px solid #e2e8f0 !important;
	color: #475569 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-modal__close:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-modal__close:hover {
	background: #fef2f2 !important;
	color: #b91c1c !important;
	border-color: #fecaca !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-modal__inner h3,
html.affwp-portal-theme-light body .affwp-portal-mgr-modal__inner h2,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-modal__inner h3,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-modal__inner h2 {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-modal__inner p,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-modal__inner p {
	color: #475569 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-modal__inner .affwp-portal-mgr-modal__price,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-modal__inner .affwp-portal-mgr-modal__price {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-modal__inner .affwp-portal-mgr-modal__attr-label,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-modal__inner .affwp-portal-mgr-modal__attr-label {
	color: #64748b !important;
}

/* Variation pills (Blanco / Naranja / Negro) */
html.affwp-portal-theme-light body .affwp-portal-mgr-modal__variation-opt,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-modal__variation-opt {
	background: #f1f5f9 !important;
	border: 1px solid #e2e8f0 !important;
	color: #475569 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-modal__variation-opt:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-modal__variation-opt:hover {
	background: #ffffff !important;
	border-color: #cbd5e1 !important;
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-modal__variation-opt.is-selected,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-modal__variation-opt.is-selected {
	background: rgba(5, 150, 105, 0.10) !important;
	border-color: #059669 !important;
	color: #047857 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-modal__add,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-modal__add {
	background: #059669 !important;
	border-color: #059669 !important;
	color: #ffffff !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-modal__add:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-modal__add:hover {
	background: #047857 !important;
	border-color: #047857 !important;
}

/* ============================================================
 * STEP INDICATOR — fondos / bordes / textos.
 * Las variantes anteriores ya cubrian num/text — añadimos por si quedan.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-stepper,
html.affwp-portal-theme-light body .entry-content .affwp-portal-stepper {
	background: transparent !important;
}

html.affwp-portal-theme-light body .affwp-portal-stepper__step,
html.affwp-portal-theme-light body .entry-content .affwp-portal-stepper__step {
	background: transparent !important;
}

/* Sobre-escribir el bg del step inactivo (default) — algunos overrides previos
   tenian bg #131a2a o similar. */
html.affwp-portal-theme-light body .affwp-portal-stepper__num,
html.affwp-portal-theme-light body .entry-content .affwp-portal-stepper__num {
	background: #ffffff !important;
	border: 1.5px solid #e2e8f0 !important;
	color: #94a3b8 !important;
	box-shadow: none !important;
}

/* ============================================================
 * SIDEBAR ACTIVE ITEM — calmar saturacion en light.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-sidebar__nav-item.is-active .affwp-portal-sidebar__nav-link,
html.affwp-portal-theme-light body .affwp-portal-sidebar__nav-link.is-active,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__nav-item.is-active .affwp-portal-sidebar__nav-link,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__nav-link.is-active {
	background: #ecfdf5 !important;        /* emerald-50 — muy claro */
	color: #064e3b !important;
	box-shadow: inset 0 0 0 1px #a7f3d0 !important;       /* emerald-200 */
}

html.affwp-portal-theme-light body .affwp-portal-sidebar__nav-item.is-active .affwp-portal-sidebar__nav-link svg,
html.affwp-portal-theme-light body .affwp-portal-sidebar__nav-link.is-active svg,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__nav-item.is-active .affwp-portal-sidebar__nav-link svg,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__nav-link.is-active svg {
	color: #059669 !important;
	opacity: 1 !important;
}

html.affwp-portal-theme-light body .affwp-portal-sidebar__nav-item.is-active::before,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__nav-item.is-active::before {
	background: #059669 !important;
	opacity: 0.85 !important;
	box-shadow: none !important;
}

/* ============================================================
 * BAG / WALLET / WIZARD INTRO icons — fondos suaves.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-mgr-cart-summary__icon,
html.affwp-portal-theme-light body .affwp-portal-mgr-floating-cart__icon,
html.affwp-portal-theme-light body .affwp-portal-mgr-step__intro-icon,
html.affwp-portal-theme-light body .affwp-portal-mgr-wizard__intro-icon,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-cart-summary__icon,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-floating-cart__icon,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-step__intro-icon,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-wizard__intro-icon {
	background: #ecfdf5 !important;
	color: #047857 !important;
	box-shadow: none !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-cart-summary__total,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-cart-summary__total {
	color: #0f172a !important;
}

/* Wizard intro card "Revisa el pedido" / "?Para quien es el pedido?" */
html.affwp-portal-theme-light body .affwp-portal-mgr-wizard__intro,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-wizard__intro {
	background: #ecfdf5 !important;
	border-color: #a7f3d0 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-wizard__intro-title,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-wizard__intro-title {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-wizard__intro-desc,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-wizard__intro-desc {
	color: #475569 !important;
}

/* ============================================================
 * CTA BUTTONS — los que aparecian negros / dark.
 * "Empezar pedido", "Abrir catalogo", "Continuar a confirmar",
 * "Crear pedido" del nav y de la promo card.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-link-card__copy,
html.affwp-portal-theme-light body .affwp-portal-empty-state__cta,
html.affwp-portal-theme-light body [data-affwp-mgr-create-order],
html.affwp-portal-theme-light body [data-affwp-mgr-client-save],
html.affwp-portal-theme-light body [data-affwp-mgr-step-next],
html.affwp-portal-theme-light body .entry-content .affwp-portal-link-card__copy,
html.affwp-portal-theme-light body .entry-content .affwp-portal-empty-state__cta,
html.affwp-portal-theme-light body .entry-content [data-affwp-mgr-create-order],
html.affwp-portal-theme-light body .entry-content [data-affwp-mgr-client-save],
html.affwp-portal-theme-light body .entry-content [data-affwp-mgr-step-next] {
	background: #059669 !important;
	background-image: none !important;
	border: 1px solid #059669 !important;
	color: #ffffff !important;
	font-weight: 600 !important;
	box-shadow: 0 2px 6px rgba(5, 150, 105, 0.20) !important;
	text-shadow: none !important;
	filter: none !important;
}

html.affwp-portal-theme-light body .affwp-portal-link-card__copy:hover,
html.affwp-portal-theme-light body .affwp-portal-empty-state__cta:hover,
html.affwp-portal-theme-light body [data-affwp-mgr-create-order]:hover,
html.affwp-portal-theme-light body [data-affwp-mgr-client-save]:hover,
html.affwp-portal-theme-light body [data-affwp-mgr-step-next]:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-link-card__copy:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-empty-state__cta:hover,
html.affwp-portal-theme-light body .entry-content [data-affwp-mgr-create-order]:hover,
html.affwp-portal-theme-light body .entry-content [data-affwp-mgr-client-save]:hover,
html.affwp-portal-theme-light body .entry-content [data-affwp-mgr-step-next]:hover {
	background: #047857 !important;
	background-image: none !important;
	border-color: #047857 !important;
	color: #ffffff !important;
	box-shadow: 0 4px 12px rgba(5, 150, 105, 0.30) !important;
}

html.affwp-portal-theme-light body .affwp-portal-link-card__copy svg,
html.affwp-portal-theme-light body [data-affwp-mgr-create-order] svg,
html.affwp-portal-theme-light body .affwp-portal-empty-state__cta svg,
html.affwp-portal-theme-light body .entry-content .affwp-portal-link-card__copy svg,
html.affwp-portal-theme-light body .entry-content [data-affwp-mgr-create-order] svg,
html.affwp-portal-theme-light body .entry-content .affwp-portal-empty-state__cta svg {
	color: #ffffff !important;
}

/* Pre Factura ghost button — variante */
html.affwp-portal-theme-light body .affwp-portal-mgr-preinv-btn,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-preinv-btn {
	background: #fef3c7 !important;
	border: 1px solid #fcd34d !important;
	color: #92400e !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-preinv-btn:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-preinv-btn:hover {
	background: #fde68a !important;
	border-color: #f59e0b !important;
	color: #78350f !important;
}

/* "Guardar borrador" dashed button */
html.affwp-portal-theme-light body .affwp-portal-mgr-draft-save,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-draft-save {
	background: transparent !important;
	border: 1px dashed #cbd5e1 !important;
	color: #64748b !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-draft-save:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-draft-save:hover {
	background: #f8fafc !important;
	border-color: #94a3b8 !important;
	color: #1e293b !important;
}

/* ============================================================
 * EMPTY STATE para "Aún no hay pedidos".
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-empty-state,
html.affwp-portal-theme-light body .entry-content .affwp-portal-empty-state {
	background: #ffffff !important;
	border: 1.5px dashed #cbd5e1 !important;
}

html.affwp-portal-theme-light body .affwp-portal-empty-state__icon,
html.affwp-portal-theme-light body .entry-content .affwp-portal-empty-state__icon {
	background: #ecfdf5 !important;
	color: #047857 !important;
}

html.affwp-portal-theme-light body .affwp-portal-empty-state__title,
html.affwp-portal-theme-light body .entry-content .affwp-portal-empty-state__title {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-empty-state__desc,
html.affwp-portal-theme-light body .entry-content .affwp-portal-empty-state__desc {
	color: #64748b !important;
}

/* ============================================================
 * STATS summary cards (Pedidos creados / Volumen / Comision)
 * texto pequeño $0.00 entregados, etc.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-mgr-orders-stats__value--accent,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-orders-stats__value--accent {
	color: #047857 !important;
	text-shadow: none !important;
}

/* ============================================================
 * LOGO del sidebar — preservar.
 * Si es imagen no necesita cambio. Si es texto SVG, ya cubrimos arriba.
 * ============================================================ */

/* ============================================================
 * CHART labels (Diario dropdown).
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-chart-card__period,
html.affwp-portal-theme-light body .entry-content .affwp-portal-chart-card__period {
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	color: #475569 !important;
}

/* ============================================================
 * Cliente search bar / inputs en clientes tab.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-search-bar,
html.affwp-portal-theme-light body .entry-content .affwp-portal-search-bar {
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
}

html.affwp-portal-theme-light body .affwp-portal-search-bar input,
html.affwp-portal-theme-light body .entry-content .affwp-portal-search-bar input {
	background: transparent !important;
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-search-bar__icon svg,
html.affwp-portal-theme-light body .entry-content .affwp-portal-search-bar__icon svg {
	color: #94a3b8 !important;
}

/* ============================================================
 * Client row en pestaña clientes.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-mgr-client-row__avatar,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-client-row__avatar {
	background: linear-gradient(135deg, #059669 0%, #0891b2 100%) !important;
	color: #ffffff !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-client-row__name,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-client-row__name {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-client-row__meta,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-client-row__meta {
	color: #64748b !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-client-row__address,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-client-row__address {
	color: #475569 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-client-row__email,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-client-row__email {
	color: #94a3b8 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-client-row__date,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-client-row__date {
	color: #94a3b8 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-client-row__btn,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-client-row__btn {
	background: #f1f5f9 !important;
	border-color: #e2e8f0 !important;
	color: #475569 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-client-row__btn:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-client-row__btn:hover {
	background: #ffffff !important;
	border-color: #cbd5e1 !important;
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-client-row__btn--edit:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-client-row__btn--edit:hover {
	background: #ecfdf5 !important;
	border-color: #6ee7b7 !important;
	color: #047857 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-client-row__btn--delete:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-client-row__btn--delete:hover {
	background: #fef2f2 !important;
	border-color: #fecaca !important;
	color: #b91c1c !important;
}

/* ============================================================
 * Floating cart (modo claro).
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-mgr-floating-cart,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-floating-cart {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
	box-shadow:
		0 8px 24px rgba(15, 23, 42, 0.10),
		0 4px 8px rgba(15, 23, 42, 0.04) !important;
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-floating-cart__count,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-floating-cart__count {
	color: #64748b !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-floating-cart__total,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-floating-cart__total {
	color: #0f172a !important;
}

/* ============================================================
 * Status footer del card expandido (descripcion en azul claro).
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-mgr-tl__current-text,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-tl__current-text {
	color: #1e293b !important;
}

/* ============================================================
 * Floating cart — visibilidad correcta del icono.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-mgr-floating-cart__icon svg,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-floating-cart__icon svg {
	color: #047857 !important;
}

/* ============================================================
 * Client edit modal en modo claro - inputs y form.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-mgr-client-edit-form input,
html.affwp-portal-theme-light body .affwp-portal-mgr-client-edit-form select,
html.affwp-portal-theme-light body .affwp-portal-mgr-client-edit-form textarea,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-client-edit-form input,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-client-edit-form select,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-client-edit-form textarea {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-client-edit-form label,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-client-edit-form label {
	color: #64748b !important;
}

/* ============================================================
 * Status timeline cards de pedido — rojo cancelled bg.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-mgr-tl__current.is-cancelled,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-tl__current.is-cancelled {
	background: #fef2f2 !important;
	border-left-color: #ef4444 !important;
}

/* ============================================================
 * Comision rechazada label en card cancelado.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__commission-status--rejected,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__commission-status--rejected {
	color: #b91c1c !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__commission-status--paid,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__commission-status--paid {
	color: #047857 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__commission-status--unpaid,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__commission-status--unpaid {
	color: #b45309 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__commission-status--pending,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__commission-status--pending {
	color: #64748b !important;
}


/* =============================================================================
 * 71. Light theme — fixes #2: variables que faltaron + elementos copy/badge.
 * =============================================================================
 *
 * Problemas detectados despues del primer fix:
 *
 *   1. `--affp-bg-2`, `--affp-surface-hi`, `--affp-border-strong` y otras
 *      variables originales no fueron sobreescritas → muchos rows y wrappers
 *      siguen oscuros (link-card__row, profile menu, etc).
 *   2. Affiliate panel: URL copy field, coupon code pill, reference badges en
 *      tabla de referidos recientes — todos heredan de variables sin override.
 *   3. Manager dashboard: "Empezar pedido" / "Abrir catalogo" rows oscuros
 *      por la misma razon.
 *   4. Select dropdown del municipio renderiza opciones oscuras (browser
 *      respeta color-scheme metadata).
 *
 * Esta capa corrige todas las variables faltantes + elementos especificos.
 */

/* ============================================================
 * Variables originales que NO estaban sobreescritas en light.
 * Importantisimo: `--affp-bg-2` y `--affp-surface-hi` controlan
 * los rows/wrappers internos (URL copies, coupons pills, etc).
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal,
html.affwp-portal-theme-light body .entry-content .affwp-portal {
	--affp-bg-2:           #f1f5f9 !important;
	--affp-surface:        #ffffff !important;
	--affp-surface-2:      #f8fafc !important;
	--affp-surface-hi:     #e2e8f0 !important;
	--affp-border:         #e2e8f0 !important;
	--affp-border-strong:  #cbd5e1 !important;
	--affp-text:           #0f172a !important;
	--affp-text-muted:     #64748b !important;
	--affp-text-subtle:    #94a3b8 !important;
	--affp-text-faint:     #cbd5e1 !important;

	--affp-sb-bg:          #ffffff !important;
	--affp-sb-bg-hover:    #f8fafc !important;
	--affp-sb-text:        #475569 !important;
	--affp-sb-text-muted:  #94a3b8 !important;
	--affp-sb-divider:     #e2e8f0 !important;

	--affp-success-soft:   rgba(5, 150, 105, 0.12) !important;
	--affp-success-glow:   rgba(5, 150, 105, 0.30) !important;
	--affp-warning-soft:   rgba(245, 158, 11, 0.10) !important;
	--affp-danger-soft:    rgba(239, 68, 68, 0.08) !important;
	--affp-info-soft:      rgba(8, 145, 178, 0.10) !important;
	--affp-pink-soft:      rgba(236, 72, 153, 0.10) !important;
}

/* ============================================================
 * Color-scheme hint para que select options y scrollbars nativos
 * sigan el tema. Los <option> dropdown ahora se veran light.
 * ============================================================ */

html.affwp-portal-theme-light,
html.affwp-portal-theme-light body {
	color-scheme: light;
}

html.affwp-portal-theme-light body .affwp-portal select,
html.affwp-portal-theme-light body .entry-content .affwp-portal select {
	color-scheme: light !important;
}

html.affwp-portal-theme-light body .affwp-portal select option,
html.affwp-portal-theme-light body .entry-content .affwp-portal select option {
	background: #ffffff !important;
	color: #0f172a !important;
}

/* ============================================================
 * Link-card__row (Empezar pedido / Abrir catalogo / URL copies).
 * Era el wrapper oscuro detras del boton verde.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-link-card__row,
html.affwp-portal-theme-light body .entry-content .affwp-portal-link-card__row {
	background: #f8fafc !important;
	border-color: #e2e8f0 !important;
}

html.affwp-portal-theme-light body .affwp-portal-link-card,
html.affwp-portal-theme-light body .entry-content .affwp-portal-link-card {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04) !important;
}

html.affwp-portal-theme-light body .affwp-portal-link-card__icon,
html.affwp-portal-theme-light body .entry-content .affwp-portal-link-card__icon {
	background: #ecfdf5 !important;
	color: #047857 !important;
}

html.affwp-portal-theme-light body .affwp-portal-link-card__title,
html.affwp-portal-theme-light body .entry-content .affwp-portal-link-card__title {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-link-card__sub,
html.affwp-portal-theme-light body .entry-content .affwp-portal-link-card__sub {
	color: #64748b !important;
}

html.affwp-portal-theme-light body .affwp-portal-link-card__url,
html.affwp-portal-theme-light body .entry-content .affwp-portal-link-card__url {
	background: transparent !important;
	color: #1e293b !important;
}

/* Boton "Copiar" / "Empezar pedido" / "Abrir catalogo" del link-card row */
html.affwp-portal-theme-light body .affwp-portal-link-card__row .affwp-portal-link-card__copy,
html.affwp-portal-theme-light body .entry-content .affwp-portal-link-card__row .affwp-portal-link-card__copy {
	background: #059669 !important;
	background-image: none !important;
	color: #ffffff !important;
	box-shadow: 0 2px 6px rgba(5, 150, 105, 0.20) !important;
}

/* ============================================================
 * AFFILIATE PANEL — coupons pill / reference badges.
 * Estos elementos suelen tener clase de monospace dark.
 * ============================================================ */

/* Coupons codes pill (REFERICM) */
html.affwp-portal-theme-light body .affwp-portal-coupon,
html.affwp-portal-theme-light body .affwp-portal-coupon-row,
html.affwp-portal-theme-light body .affwp-portal-coupons__code,
html.affwp-portal-theme-light body .affwp-portal-coupon-card,
html.affwp-portal-theme-light body .entry-content .affwp-portal-coupon,
html.affwp-portal-theme-light body .entry-content .affwp-portal-coupon-row,
html.affwp-portal-theme-light body .entry-content .affwp-portal-coupons__code,
html.affwp-portal-theme-light body .entry-content .affwp-portal-coupon-card {
	background: #f8fafc !important;
	border-color: #e2e8f0 !important;
	color: #1e293b !important;
}

/* Badges genéricos en monospace (refs, codes) */
html.affwp-portal-theme-light body .affwp-portal-badge--code,
html.affwp-portal-theme-light body .affwp-portal-table code,
html.affwp-portal-theme-light body .affwp-portal-table .ref,
html.affwp-portal-theme-light body .entry-content .affwp-portal-badge--code,
html.affwp-portal-theme-light body .entry-content .affwp-portal-table code,
html.affwp-portal-theme-light body .entry-content .affwp-portal-table .ref {
	background: #f1f5f9 !important;
	color: #1e293b !important;
	border: 1px solid #e2e8f0 !important;
}

/* Reference dark pills en tablas (95740, 95693) — selectores genericos */
html.affwp-portal-theme-light body .affwp-portal-table td span[style*="background"],
html.affwp-portal-theme-light body .affwp-portal-recent-referrals td:first-child span,
html.affwp-portal-theme-light body .affwp-portal-recent-referrals__ref,
html.affwp-portal-theme-light body .entry-content .affwp-portal-table td span[style*="background"],
html.affwp-portal-theme-light body .entry-content .affwp-portal-recent-referrals td:first-child span,
html.affwp-portal-theme-light body .entry-content .affwp-portal-recent-referrals__ref {
	background: #f1f5f9 !important;
	color: #1e293b !important;
	border-radius: 4px !important;
	padding: 3px 8px !important;
}

/* Tablas en general en modo claro */
html.affwp-portal-theme-light body .affwp-portal-table,
html.affwp-portal-theme-light body .affwp-portal-shell table,
html.affwp-portal-theme-light body .entry-content .affwp-portal-table,
html.affwp-portal-theme-light body .entry-content .affwp-portal-shell table {
	background: transparent !important;
	color: #1e293b !important;
}

html.affwp-portal-theme-light body .affwp-portal-table th,
html.affwp-portal-theme-light body .affwp-portal-shell table th,
html.affwp-portal-theme-light body .entry-content .affwp-portal-table th,
html.affwp-portal-theme-light body .entry-content .affwp-portal-shell table th {
	color: #64748b !important;
	background: transparent !important;
	border-bottom: 1px solid #e2e8f0 !important;
}

html.affwp-portal-theme-light body .affwp-portal-table td,
html.affwp-portal-theme-light body .affwp-portal-shell table td,
html.affwp-portal-theme-light body .entry-content .affwp-portal-table td,
html.affwp-portal-theme-light body .entry-content .affwp-portal-shell table td {
	color: #334155 !important;
	background: transparent !important;
	border-bottom: 1px solid #f1f5f9 !important;
}

html.affwp-portal-theme-light body .affwp-portal-table tr:hover td,
html.affwp-portal-theme-light body .entry-content .affwp-portal-table tr:hover td {
	background: #f8fafc !important;
}

/* ============================================================
 * AFFILIATE - cupones row en panel afiliado (REFERICM con %).
 * El badge "2%" verde dentro del row del cupon.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-coupons__rate,
html.affwp-portal-theme-light body .entry-content .affwp-portal-coupons__rate {
	background: rgba(5, 150, 105, 0.14) !important;
	color: #047857 !important;
	border: 1px solid rgba(5, 150, 105, 0.30) !important;
}

/* ============================================================
 * Profile dropdown menu en modo claro.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-profile,
html.affwp-portal-theme-light body .affwp-portal-profile__trigger,
html.affwp-portal-theme-light body .entry-content .affwp-portal-profile,
html.affwp-portal-theme-light body .entry-content .affwp-portal-profile__trigger {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
}

html.affwp-portal-theme-light body .affwp-portal-profile__menu,
html.affwp-portal-theme-light body .entry-content .affwp-portal-profile__menu {
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12) !important;
}

html.affwp-portal-theme-light body .affwp-portal-profile__menu-header,
html.affwp-portal-theme-light body .entry-content .affwp-portal-profile__menu-header {
	background: #f8fafc !important;
	border-bottom-color: #e2e8f0 !important;
}

html.affwp-portal-theme-light body .affwp-portal-profile__menu-header-label,
html.affwp-portal-theme-light body .entry-content .affwp-portal-profile__menu-header-label {
	color: #94a3b8 !important;
}

html.affwp-portal-theme-light body .affwp-portal-profile__menu-header-email,
html.affwp-portal-theme-light body .entry-content .affwp-portal-profile__menu-header-email {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-profile__menu-item,
html.affwp-portal-theme-light body .entry-content .affwp-portal-profile__menu-item {
	color: #334155 !important;
}

html.affwp-portal-theme-light body .affwp-portal-profile__menu-item:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-profile__menu-item:hover {
	background: #f8fafc !important;
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-profile__menu-item svg,
html.affwp-portal-theme-light body .entry-content .affwp-portal-profile__menu-item svg {
	color: #94a3b8 !important;
}

html.affwp-portal-theme-light body .affwp-portal-profile__name,
html.affwp-portal-theme-light body .entry-content .affwp-portal-profile__name {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-profile__tier,
html.affwp-portal-theme-light body .entry-content .affwp-portal-profile__tier {
	color: #94a3b8 !important;
}

html.affwp-portal-theme-light body .affwp-portal-profile__chevron,
html.affwp-portal-theme-light body .entry-content .affwp-portal-profile__chevron {
	color: #94a3b8 !important;
}

/* ============================================================
 * Wallet pill modo claro (Mi Billetera).
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-wallet,
html.affwp-portal-theme-light body .entry-content .affwp-portal-wallet {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04) !important;
}

html.affwp-portal-theme-light body .affwp-portal-wallet__balance,
html.affwp-portal-theme-light body .entry-content .affwp-portal-wallet__balance {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-wallet__balance .woocommerce-Price-amount,
html.affwp-portal-theme-light body .entry-content .affwp-portal-wallet__balance .woocommerce-Price-amount {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-wallet__balance bdi,
html.affwp-portal-theme-light body .entry-content .affwp-portal-wallet__balance bdi {
	color: #0f172a !important;
}

/* ============================================================
 * Affiliate panel - tabs / sidebar accent en modo claro.
 * Mantenemos el morado (modo afiliado) pero ajustamos shades.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal--affiliate,
html.affwp-portal-theme-light body .entry-content .affwp-portal--affiliate {
	--affp-accent:        #7c3aed !important;       /* violet-600 */
	--affp-accent-2:      #6d28d9 !important;       /* violet-700 */
	--affp-accent-3:      #2563eb !important;       /* blue-600 */
	--affp-accent-light:  #6d28d9 !important;
	--affp-accent-soft:   rgba(124, 58, 237, 0.10) !important;
	--affp-accent-soft-2: rgba(124, 58, 237, 0.18) !important;
	--affp-accent-glow:   rgba(124, 58, 237, 0.20) !important;
	--affp-accent-grad:   linear-gradient(135deg, #7c3aed 0%, #2563eb 100%) !important;
}

/* Sidebar nav del afiliado — active item con violeta suave */
html.affwp-portal-theme-light body .affwp-portal--affiliate .affwp-portal-sidebar__nav-item.is-active .affwp-portal-sidebar__nav-link,
html.affwp-portal-theme-light body .entry-content .affwp-portal--affiliate .affwp-portal-sidebar__nav-item.is-active .affwp-portal-sidebar__nav-link {
	background: rgba(124, 58, 237, 0.08) !important;
	color: #5b21b6 !important;
	box-shadow: inset 0 0 0 1px rgba(124, 58, 237, 0.20) !important;
}

html.affwp-portal-theme-light body .affwp-portal--affiliate .affwp-portal-sidebar__nav-item.is-active .affwp-portal-sidebar__nav-link svg,
html.affwp-portal-theme-light body .entry-content .affwp-portal--affiliate .affwp-portal-sidebar__nav-item.is-active .affwp-portal-sidebar__nav-link svg {
	color: #7c3aed !important;
}

html.affwp-portal-theme-light body .affwp-portal--affiliate .affwp-portal-sidebar__nav-item.is-active::before,
html.affwp-portal-theme-light body .entry-content .affwp-portal--affiliate .affwp-portal-sidebar__nav-item.is-active::before {
	background: #7c3aed !important;
}

/* CTA buttons del afiliado en violeta */
html.affwp-portal-theme-light body .affwp-portal--affiliate .affwp-portal-link-card__row .affwp-portal-link-card__copy,
html.affwp-portal-theme-light body .affwp-portal--affiliate .affwp-portal-link-card__copy,
html.affwp-portal-theme-light body .entry-content .affwp-portal--affiliate .affwp-portal-link-card__row .affwp-portal-link-card__copy,
html.affwp-portal-theme-light body .entry-content .affwp-portal--affiliate .affwp-portal-link-card__copy {
	background: #7c3aed !important;
	background-image: none !important;
	border-color: #7c3aed !important;
	color: #ffffff !important;
	box-shadow: 0 2px 6px rgba(124, 58, 237, 0.22) !important;
}

html.affwp-portal-theme-light body .affwp-portal--affiliate .affwp-portal-link-card__copy:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal--affiliate .affwp-portal-link-card__copy:hover {
	background: #6d28d9 !important;
	border-color: #6d28d9 !important;
}

/* Sidebar promo del afiliado en light */
html.affwp-portal-theme-light body .affwp-portal--affiliate .affwp-portal-sidebar__promo,
html.affwp-portal-theme-light body .entry-content .affwp-portal--affiliate .affwp-portal-sidebar__promo {
	background:
		radial-gradient(circle at top right, rgba(37, 99, 235, 0.08) 0%, transparent 60%),
		radial-gradient(circle at bottom left, rgba(124, 58, 237, 0.08) 0%, transparent 60%),
		#faf5ff !important;                   /* violet-50 */
	border-color: rgba(124, 58, 237, 0.18) !important;
}

html.affwp-portal-theme-light body .affwp-portal--affiliate .affwp-portal-sidebar__promo-icon,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__promo-icon {
	background: rgba(124, 58, 237, 0.12) !important;
	color: #6d28d9 !important;
}

/* KPI iconos en panel afiliado mantienen tinte */
html.affwp-portal-theme-light body .affwp-portal--affiliate .affwp-portal-kpi__icon,
html.affwp-portal-theme-light body .entry-content .affwp-portal--affiliate .affwp-portal-kpi__icon {
	background: #f8fafc !important;
	color: #475569 !important;
}

/* ============================================================
 * Chart card panel afiliado — leyenda y dots.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-chart-card__legend,
html.affwp-portal-theme-light body .entry-content .affwp-portal-chart-card__legend {
	color: #64748b !important;
}

html.affwp-portal-theme-light body .affwp-portal-chart-card__legend-dot--current,
html.affwp-portal-theme-light body .entry-content .affwp-portal-chart-card__legend-dot--current {
	background: #7c3aed !important;
}

html.affwp-portal-theme-light body .affwp-portal-chart-card__legend-dot--prev,
html.affwp-portal-theme-light body .entry-content .affwp-portal-chart-card__legend-dot--prev {
	background: #cbd5e1 !important;
}

/* ============================================================
 * Por cobrar / status pills genericos.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-pill,
html.affwp-portal-theme-light body .affwp-portal-status-pill,
html.affwp-portal-theme-light body .entry-content .affwp-portal-pill,
html.affwp-portal-theme-light body .entry-content .affwp-portal-status-pill {
	background: #f1f5f9 !important;
	color: #475569 !important;
	border: 1px solid #e2e8f0 !important;
}

html.affwp-portal-theme-light body .affwp-portal-pill--rejected,
html.affwp-portal-theme-light body .affwp-portal-status-pill--rejected,
html.affwp-portal-theme-light body .affwp-portal-pill--cancelled,
html.affwp-portal-theme-light body .entry-content .affwp-portal-pill--rejected,
html.affwp-portal-theme-light body .entry-content .affwp-portal-status-pill--rejected,
html.affwp-portal-theme-light body .entry-content .affwp-portal-pill--cancelled {
	background: #fef2f2 !important;
	color: #b91c1c !important;
	border-color: #fecaca !important;
}

html.affwp-portal-theme-light body .affwp-portal-pill--paid,
html.affwp-portal-theme-light body .affwp-portal-pill--success,
html.affwp-portal-theme-light body .entry-content .affwp-portal-pill--paid,
html.affwp-portal-theme-light body .entry-content .affwp-portal-pill--success {
	background: #ecfdf5 !important;
	color: #047857 !important;
	border-color: #a7f3d0 !important;
}

/* ============================================================
 * Notice / empty states en general.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-notice,
html.affwp-portal-theme-light body .affwp-notice,
html.affwp-portal-theme-light body .entry-content .affwp-portal-notice,
html.affwp-portal-theme-light body .entry-content .affwp-notice {
	background: #f1f5f9 !important;
	border-color: #e2e8f0 !important;
	color: #475569 !important;
}

/* ============================================================
 * Logout link en la nav del sidebar.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-sidebar__logout,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__logout {
	color: #94a3b8 !important;
}

html.affwp-portal-theme-light body .affwp-portal-sidebar__logout:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__logout:hover {
	color: #b91c1c !important;
	background: #fef2f2 !important;
}

/* ============================================================
 * Sidebar overlay (mobile) — un poco mas claro.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-sidebar-overlay.is-active,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar-overlay.is-active {
	background: rgba(15, 23, 42, 0.40) !important;
}

/* ============================================================
 * Page header — eyebrow / accent label.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-page-header__eyebrow,
html.affwp-portal-theme-light body .entry-content .affwp-portal-page-header__eyebrow {
	color: #94a3b8 !important;
}

/* ============================================================
 * Hint text bajo inputs (provincia, municipio, etc.)
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-mgr-clients__hint,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-clients__hint {
	color: #94a3b8 !important;
}

/* ============================================================
 * Fix: la nav del afiliado a veces tiene un wrapper extra oscuro.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-sidebar__nav,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__nav {
	background: transparent !important;
}

/* ============================================================
 * Stats hero / counters de afiliado (TASA DE CONVERSION badge).
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-kpi__delta-up,
html.affwp-portal-theme-light body .affwp-portal-kpi__hint-percent,
html.affwp-portal-theme-light body .entry-content .affwp-portal-kpi__delta-up,
html.affwp-portal-theme-light body .entry-content .affwp-portal-kpi__hint-percent {
	color: #047857 !important;
	background: rgba(5, 150, 105, 0.10) !important;
}

html.affwp-portal-theme-light body .affwp-portal-kpi__delta-down,
html.affwp-portal-theme-light body .entry-content .affwp-portal-kpi__delta-down {
	color: #b91c1c !important;
	background: rgba(239, 68, 68, 0.08) !important;
}


/* =============================================================================
 * 72. Light theme — fixes #3: bloques con gradientes saturados + chart labels.
 * =============================================================================
 *
 * Problemas detectados en screenshots:
 *
 *   1. Payment option "CUP en efectivo" seleccionada: gradient verde-cian
 *      saturado con texto blanco invisible en light mode.
 *   2. Panel CUP breakdown ("TASA DE CAMBIO" / "EL CLIENTE PAGA EN CUP" /
 *      "Equivalente a..." / "Confirma con el cliente...") con fondo dark
 *      con texto blanco/gris claro — invisible en light.
 *   3. Hero banner "Bienvenido al programa de afiliados" (violeta dark) con
 *      texto blanco invisible.
 *   4. Banner "¿Necesitas hablar con nosotros?" (verde dark) con texto blanco
 *      invisible.
 *   5. Chart axis labels ($10, $8, etc.) y donut chart text invisibles.
 *   6. Cards "POR QUÉ UNIRTE" (HASTA 5% / COMISIONES / PAGOS) con texto en
 *      tonos claros que no se leen.
 *
 * Esta capa corrige cada bloque con su propio styling claro.
 */

/* ============================================================
 * PAYMENT OPTIONS (USD / CUP) — selected en light.
 * El gradient verde saturado se reemplaza por tinte suave + borde.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-mgr-pay__opt,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-pay__opt {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-pay__opt:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-pay__opt:hover {
	background: #f8fafc !important;
	border-color: #cbd5e1 !important;
	transform: translateY(-1px) !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-pay__opt.is-selected,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-pay__opt.is-selected {
	background: linear-gradient(135deg, rgba(5, 150, 105, 0.06) 0%, rgba(8, 145, 178, 0.04) 100%) !important;
	border-color: #059669 !important;
	box-shadow:
		0 0 0 4px rgba(5, 150, 105, 0.10),
		0 8px 20px rgba(5, 150, 105, 0.12) !important;
}

/* Textos del payment opt */
html.affwp-portal-theme-light body .affwp-portal-mgr-pay__opt-name,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-pay__opt-name {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-pay__opt-desc,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-pay__opt-desc {
	color: #64748b !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-pay__opt-amount,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-pay__opt-amount {
	color: #047857 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-pay__opt-amount em,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-pay__opt-amount em {
	color: #94a3b8 !important;
}

/* Title / sub del bloque "Método de pago" */
html.affwp-portal-theme-light body .affwp-portal-mgr-pay__title,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-pay__title {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-pay__sub,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-pay__sub {
	color: #64748b !important;
}

/* Container general de payment options */
html.affwp-portal-theme-light body .affwp-portal-mgr-pay,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-pay {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04) !important;
}

/* Check icon dentro del payment opt seleccionado */
html.affwp-portal-theme-light body .affwp-portal-mgr-pay__opt.is-selected .affwp-portal-mgr-pay__opt-check,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-pay__opt.is-selected .affwp-portal-mgr-pay__opt-check {
	background: #059669 !important;
	border-color: #059669 !important;
	box-shadow: 0 0 0 4px rgba(5, 150, 105, 0.16) !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-pay__opt-check,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-pay__opt-check {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
}

/* USD/CUP flag pills — mantener brillantes (son banderas/codes) */
html.affwp-portal-theme-light body .affwp-portal-mgr-pay__opt-flag,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-pay__opt-flag {
	background: linear-gradient(135deg, #10b981 0%, #06b6d4 100%) !important;
	color: #ffffff !important;
	box-shadow: 0 2px 8px rgba(16, 185, 129, 0.30) !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-pay__opt-flag--cup,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-pay__opt-flag--cup {
	background: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%) !important;
	color: #ffffff !important;
	box-shadow: 0 2px 8px rgba(245, 158, 11, 0.30) !important;
}

/* ============================================================
 * CUP BREAKDOWN PANEL — el bloque dark con TASA DE CAMBIO etc.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-mgr-pay__cup-breakdown,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-pay__cup-breakdown {
	background:
		radial-gradient(circle at top right, rgba(245, 158, 11, 0.06) 0%, transparent 60%),
		#fffbeb !important;            /* amber-50 muy suave */
	border: 1px solid #fcd34d !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-pay__cup-rate,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-pay__cup-rate {
	border-bottom: 1px dashed rgba(180, 83, 9, 0.20) !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-pay__cup-rate-label,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-pay__cup-rate-label {
	color: #b45309 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-pay__cup-rate-value,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-pay__cup-rate-value {
	color: #78350f !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-pay__cup-amount-label,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-pay__cup-amount-label {
	color: #b45309 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-pay__cup-amount,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-pay__cup-amount {
	color: #b45309 !important;
	text-shadow: none !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-pay__cup-amount span,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-pay__cup-amount span {
	color: #78350f !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-pay__cup-equiv,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-pay__cup-equiv {
	color: #78350f !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-pay__cup-equiv strong,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-pay__cup-equiv strong {
	color: #047857 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-pay__cup-hint,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-pay__cup-hint {
	background: rgba(245, 158, 11, 0.10) !important;
	border-left: 2px solid #f59e0b !important;
	color: #78350f !important;
}

/* ============================================================
 * HERO BANNERS — Centro de Ayuda / Bienvenido / Necesitas hablar.
 * Estos son cards grandes con gradient saturado. En light los hacemos
 * cards claras con tinte muy suave.
 * ============================================================ */

/* Hero del afiliado "Bienvenido al programa..." */
html.affwp-portal-theme-light body .affwp-portal-help__hero,
html.affwp-portal-theme-light body .affwp-portal-help-hero,
html.affwp-portal-theme-light body .affwp-portal-welcome-banner,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__hero,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help-hero,
html.affwp-portal-theme-light body .entry-content .affwp-portal-welcome-banner {
	background:
		radial-gradient(circle at top right, rgba(124, 58, 237, 0.10) 0%, transparent 60%),
		linear-gradient(135deg, #faf5ff 0%, #ffffff 100%) !important;
	border: 1px solid rgba(124, 58, 237, 0.18) !important;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04) !important;
}

html.affwp-portal-theme-light body .affwp-portal-help__hero h2,
html.affwp-portal-theme-light body .affwp-portal-help__hero h3,
html.affwp-portal-theme-light body .affwp-portal-help__hero p,
html.affwp-portal-theme-light body .affwp-portal-welcome-banner h2,
html.affwp-portal-theme-light body .affwp-portal-welcome-banner h3,
html.affwp-portal-theme-light body .affwp-portal-welcome-banner p,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__hero h2,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__hero h3,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__hero p,
html.affwp-portal-theme-light body .entry-content .affwp-portal-welcome-banner h2,
html.affwp-portal-theme-light body .entry-content .affwp-portal-welcome-banner h3,
html.affwp-portal-theme-light body .entry-content .affwp-portal-welcome-banner p {
	color: #1e293b !important;
}

html.affwp-portal-theme-light body .affwp-portal-help__hero h2,
html.affwp-portal-theme-light body .affwp-portal-help__hero h3,
html.affwp-portal-theme-light body .affwp-portal-welcome-banner h2,
html.affwp-portal-theme-light body .affwp-portal-welcome-banner h3,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__hero h2,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__hero h3,
html.affwp-portal-theme-light body .entry-content .affwp-portal-welcome-banner h2,
html.affwp-portal-theme-light body .entry-content .affwp-portal-welcome-banner h3 {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-help__hero-icon,
html.affwp-portal-theme-light body .affwp-portal-welcome-banner__icon,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__hero-icon,
html.affwp-portal-theme-light body .entry-content .affwp-portal-welcome-banner__icon {
	background: linear-gradient(135deg, #7c3aed 0%, #2563eb 100%) !important;
	color: #ffffff !important;
}

/* Banner "¿Necesitas hablar con nosotros?" */
html.affwp-portal-theme-light body .affwp-portal-help__contact,
html.affwp-portal-theme-light body .affwp-portal-help-contact,
html.affwp-portal-theme-light body .affwp-portal-help__cta-banner,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__contact,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help-contact,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__cta-banner {
	background:
		radial-gradient(circle at top left, rgba(5, 150, 105, 0.08) 0%, transparent 60%),
		linear-gradient(135deg, #ecfdf5 0%, #ffffff 100%) !important;
	border: 1px solid rgba(5, 150, 105, 0.20) !important;
	color: #0f172a !important;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04) !important;
}

html.affwp-portal-theme-light body .affwp-portal-help__contact h2,
html.affwp-portal-theme-light body .affwp-portal-help__contact h3,
html.affwp-portal-theme-light body .affwp-portal-help__contact p,
html.affwp-portal-theme-light body .affwp-portal-help-contact h2,
html.affwp-portal-theme-light body .affwp-portal-help-contact h3,
html.affwp-portal-theme-light body .affwp-portal-help-contact p,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__contact h2,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__contact h3,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__contact p,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help-contact h2,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help-contact h3,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help-contact p {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-help__contact-icon,
html.affwp-portal-theme-light body .affwp-portal-help-contact__icon,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__contact-icon,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help-contact__icon {
	background: linear-gradient(135deg, #059669 0%, #0891b2 100%) !important;
	color: #ffffff !important;
}

/* ============================================================
 * Generico — cualquier card del help center con .affp-accent text.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-help h1 .affp-accent,
html.affwp-portal-theme-light body .affwp-portal-help h2 .affp-accent,
html.affwp-portal-theme-light body .affwp-portal-help-banner__highlight,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help h1 .affp-accent,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help h2 .affp-accent {
	color: #047857 !important;
}

/* ============================================================
 * "POR QUÉ UNIRTE" cards (HASTA 5% / HASTA $2,000/MES / etc.)
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-help__benefit,
html.affwp-portal-theme-light body .affwp-portal-help-benefit,
html.affwp-portal-theme-light body .affwp-portal-benefits-grid__item,
html.affwp-portal-theme-light body .affwp-portal-help__feature,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__benefit,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help-benefit,
html.affwp-portal-theme-light body .entry-content .affwp-portal-benefits-grid__item,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__feature {
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04) !important;
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-help__benefit h3,
html.affwp-portal-theme-light body .affwp-portal-help__benefit h4,
html.affwp-portal-theme-light body .affwp-portal-help__benefit-title,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__benefit h3,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__benefit h4,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__benefit-title {
	color: #64748b !important;
	font-size: 11.5px !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
}

html.affwp-portal-theme-light body .affwp-portal-help__benefit p,
html.affwp-portal-theme-light body .affwp-portal-help__benefit-desc,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__benefit p,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__benefit-desc {
	color: #475569 !important;
}

html.affwp-portal-theme-light body .affwp-portal-help__benefit-icon,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__benefit-icon {
	background: rgba(124, 58, 237, 0.10) !important;
	color: #7c3aed !important;
}

/* ============================================================
 * Manager: 3 cards "1. Crea el pedido" / "2. Nosotros..." / "3. Cobras..."
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-mgr-help__step,
html.affwp-portal-theme-light body .affwp-portal-mgr-help-step,
html.affwp-portal-theme-light body .affwp-portal-help__step-card,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-help__step,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-help-step,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__step-card {
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04) !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-help__step h3,
html.affwp-portal-theme-light body .affwp-portal-mgr-help__step h4,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-help__step h3,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-help__step h4 {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-help__step p,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-help__step p {
	color: #475569 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-help__step-icon,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-help__step-icon {
	background: #ecfdf5 !important;
	color: #047857 !important;
}

/* ============================================================
 * FAQ disclosure (preguntas frecuentes).
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-help__faq,
html.affwp-portal-theme-light body .affwp-portal-help-faq,
html.affwp-portal-theme-light body .affwp-portal-help__faq-item,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__faq,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help-faq,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__faq-item {
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-help__faq summary,
html.affwp-portal-theme-light body .affwp-portal-help__faq-question,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__faq summary,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__faq-question {
	color: #1e293b !important;
}

html.affwp-portal-theme-light body .affwp-portal-help__faq summary:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__faq summary:hover {
	background: #f8fafc !important;
}

html.affwp-portal-theme-light body .affwp-portal-help__faq-answer,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__faq-answer {
	color: #475569 !important;
}

/* Search box "Busca tu duda" */
html.affwp-portal-theme-light body .affwp-portal-help__search,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__search {
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04) !important;
}

html.affwp-portal-theme-light body .affwp-portal-help__search input,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__search input {
	background: transparent !important;
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-help__search input::placeholder,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__search input::placeholder {
	color: #94a3b8 !important;
}

html.affwp-portal-theme-light body .affwp-portal-help__search-count,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__search-count {
	background: rgba(124, 58, 237, 0.10) !important;
	color: #7c3aed !important;
}

/* Section labels (LO BÁSICO DEL PROGRAMA / PAGOS Y BILLETERA / etc.) */
html.affwp-portal-theme-light body .affwp-portal-help__section-label,
html.affwp-portal-theme-light body .affwp-portal-help-section-title,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__section-label,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help-section-title {
	color: #475569 !important;
}

html.affwp-portal-theme-light body .affwp-portal-help__section-label svg,
html.affwp-portal-theme-light body .entry-content .affwp-portal-help__section-label svg {
	color: #94a3b8 !important;
}

/* "PREGUNTAS FRECUENTES" label en gestor */
html.affwp-portal-theme-light body .affwp-portal-mgr-help__faq-title,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-help__faq-title {
	color: #475569 !important;
}

/* ============================================================
 * CHART axis labels y donut chart.
 * ============================================================ */

/* SVG text dentro de chart cards en light mode debe ser legible */
html.affwp-portal-theme-light body .affwp-portal-chart-card svg text,
html.affwp-portal-theme-light body .entry-content .affwp-portal-chart-card svg text {
	fill: #94a3b8 !important;
	color: #94a3b8 !important;
	opacity: 1 !important;
}

html.affwp-portal-theme-light body .affwp-portal-chart-card svg .axis-label,
html.affwp-portal-theme-light body .entry-content .affwp-portal-chart-card svg .axis-label {
	fill: #475569 !important;
}

/* Grid lines del chart */
html.affwp-portal-theme-light body .affwp-portal-chart-card svg line,
html.affwp-portal-theme-light body .entry-content .affwp-portal-chart-card svg line {
	stroke: #e2e8f0 !important;
	opacity: 1 !important;
}

/* Donut chart center text (ej: "2 REFERIDOS") */
html.affwp-portal-theme-light body .affwp-portal-donut__center,
html.affwp-portal-theme-light body .affwp-portal-donut__value,
html.affwp-portal-theme-light body .affwp-portal-donut svg text,
html.affwp-portal-theme-light body .entry-content .affwp-portal-donut__center,
html.affwp-portal-theme-light body .entry-content .affwp-portal-donut__value,
html.affwp-portal-theme-light body .entry-content .affwp-portal-donut svg text {
	fill: #0f172a !important;
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-donut__label,
html.affwp-portal-theme-light body .entry-content .affwp-portal-donut__label {
	color: #94a3b8 !important;
}

/* Donut legend rows */
html.affwp-portal-theme-light body .affwp-portal-donut__legend,
html.affwp-portal-theme-light body .affwp-portal-donut__legend-row,
html.affwp-portal-theme-light body .entry-content .affwp-portal-donut__legend,
html.affwp-portal-theme-light body .entry-content .affwp-portal-donut__legend-row {
	color: #475569 !important;
}

html.affwp-portal-theme-light body .affwp-portal-donut__legend-row span:first-child,
html.affwp-portal-theme-light body .entry-content .affwp-portal-donut__legend-row span:first-child {
	color: #1e293b !important;
}

/* Card containers de los charts en analytics */
html.affwp-portal-theme-light body .affwp-portal-analytics__card,
html.affwp-portal-theme-light body .affwp-portal-analytics-card,
html.affwp-portal-theme-light body .entry-content .affwp-portal-analytics__card,
html.affwp-portal-theme-light body .entry-content .affwp-portal-analytics-card {
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04) !important;
}

html.affwp-portal-theme-light body .affwp-portal-analytics__card h3,
html.affwp-portal-theme-light body .affwp-portal-analytics__card h4,
html.affwp-portal-theme-light body .entry-content .affwp-portal-analytics__card h3,
html.affwp-portal-theme-light body .entry-content .affwp-portal-analytics__card h4 {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-analytics__card p,
html.affwp-portal-theme-light body .entry-content .affwp-portal-analytics__card p {
	color: #64748b !important;
}

/* "Top campañas por visitas" / "Estado de tus referidos" subtitles */
html.affwp-portal-theme-light body .affwp-portal-analytics__subtitle,
html.affwp-portal-theme-light body .affwp-portal-section-subtitle,
html.affwp-portal-theme-light body .entry-content .affwp-portal-analytics__subtitle,
html.affwp-portal-theme-light body .entry-content .affwp-portal-section-subtitle {
	color: #94a3b8 !important;
}

/* Range selector (7 días / 30 días / 90 días / 1 año) */
html.affwp-portal-theme-light body .affwp-portal-range-selector,
html.affwp-portal-theme-light body .affwp-portal-analytics__range,
html.affwp-portal-theme-light body .entry-content .affwp-portal-range-selector,
html.affwp-portal-theme-light body .entry-content .affwp-portal-analytics__range {
	background: #f1f5f9 !important;
	border: 1px solid #e2e8f0 !important;
}

html.affwp-portal-theme-light body .affwp-portal-range-selector__opt,
html.affwp-portal-theme-light body .affwp-portal-analytics__range-opt,
html.affwp-portal-theme-light body .entry-content .affwp-portal-range-selector__opt,
html.affwp-portal-theme-light body .entry-content .affwp-portal-analytics__range-opt {
	color: #64748b !important;
}

html.affwp-portal-theme-light body .affwp-portal-range-selector__opt.is-active,
html.affwp-portal-theme-light body .affwp-portal-analytics__range-opt.is-active,
html.affwp-portal-theme-light body .entry-content .affwp-portal-range-selector__opt.is-active,
html.affwp-portal-theme-light body .entry-content .affwp-portal-analytics__range-opt.is-active {
	background: #ffffff !important;
	color: #7c3aed !important;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.10) !important;
}

/* Top campaña progress bar — keep violet but lighter bg */
html.affwp-portal-theme-light body .affwp-portal-analytics__bar-track,
html.affwp-portal-theme-light body .entry-content .affwp-portal-analytics__bar-track {
	background: #e2e8f0 !important;
}

html.affwp-portal-theme-light body .affwp-portal-analytics__bar-fill,
html.affwp-portal-theme-light body .entry-content .affwp-portal-analytics__bar-fill {
	background: linear-gradient(90deg, #7c3aed 0%, #2563eb 100%) !important;
}

/* "fan" / "1 visitas · 0,0%" texts */
html.affwp-portal-theme-light body .affwp-portal-analytics__campaign-name,
html.affwp-portal-theme-light body .entry-content .affwp-portal-analytics__campaign-name {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-analytics__campaign-stats,
html.affwp-portal-theme-light body .entry-content .affwp-portal-analytics__campaign-stats {
	color: #64748b !important;
}

/* ============================================================
 * Generic SVG text color en analytics + donut.
 * Si no aplico un selector especifico, todo svg text dentro de
 * la pagina analytics queda gris claro.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal svg text,
html.affwp-portal-theme-light body .entry-content .affwp-portal svg text {
	fill: currentColor;
}

html.affwp-portal-theme-light body .affwp-portal-content svg text,
html.affwp-portal-theme-light body .entry-content .affwp-portal-content svg text {
	color: #64748b !important;
}

/* ============================================================
 * KPI percent badges (0%, 5%, etc.).
 * En analytics aparecen en cada KPI card.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-kpi__percent,
html.affwp-portal-theme-light body .affwp-portal-kpi__delta,
html.affwp-portal-theme-light body .entry-content .affwp-portal-kpi__percent,
html.affwp-portal-theme-light body .entry-content .affwp-portal-kpi__delta {
	background: #f1f5f9 !important;
	color: #64748b !important;
	border-radius: 999px !important;
	padding: 2px 8px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
}

/* "nuevo" badge en KPI VISITAS REFERIDAS */
html.affwp-portal-theme-light body .affwp-portal-kpi__badge--new,
html.affwp-portal-theme-light body .entry-content .affwp-portal-kpi__badge--new {
	background: rgba(124, 58, 237, 0.12) !important;
	color: #6d28d9 !important;
	border: 1px solid rgba(124, 58, 237, 0.30) !important;
}

/* ============================================================
 * "Por cobrar" badge dentro de KPI BALANCE DISPONIBLE.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-kpi__pending,
html.affwp-portal-theme-light body .affwp-portal-kpi__hint--pending,
html.affwp-portal-theme-light body .entry-content .affwp-portal-kpi__pending,
html.affwp-portal-theme-light body .entry-content .affwp-portal-kpi__hint--pending {
	background: rgba(245, 158, 11, 0.10) !important;
	color: #b45309 !important;
	border: 1px solid rgba(245, 158, 11, 0.30) !important;
}


/* =============================================================================
 * 73. Light theme — fixes #4: contraste de texto gris.
 * =============================================================================
 *
 * Problema: muchos textos secundarios estaban en `#94a3b8` (slate-400) o
 * mas claros sobre fondo blanco — apenas visibles. En light mode los grises
 * deben ser MAS OSCUROS que en dark, no mas claros.
 *
 * Regla nueva en light:
 *   - Body text: #334155 (slate-700) — muy legible
 *   - Muted: #475569 (slate-600) — legible
 *   - Subtle: #64748b (slate-500) — borderline pero ok
 *   - NUNCA #94a3b8 ni #cbd5e1 para texto con informacion
 *   - #94a3b8 solo para placeholders y dividers
 *   - #cbd5e1 solo para iconos decorativos
 *
 * Tambien: estados disabled de botones deben tener buen contraste.
 */

/* ============================================================
 * Variables: subir contraste de muted/subtle.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal,
html.affwp-portal-theme-light body .entry-content .affwp-portal {
	--affp-text:           #1e293b !important;     /* slate-800 — body */
	--affp-text-muted:     #475569 !important;     /* slate-600 — labels (mas oscuro que antes) */
	--affp-text-subtle:    #64748b !important;     /* slate-500 — meta, hints */
	--affp-text-faint:     #94a3b8 !important;     /* slate-400 — solo placeholders/icons decorativos */
	--affp-text-faded:     #94a3b8 !important;
	--affp-text-strong:    #0f172a !important;
}

/* ============================================================
 * Status bars y meta text — "20 productos · Toda la tienda".
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-mgr-product-status,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-status {
	color: #475569 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-product-status strong,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-status strong {
	color: #0f172a !important;
}

/* ============================================================
 * Comision estimada bloque del sidebar live cart.
 * Antes textos eran `#94a3b8` — ahora #475569.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-mgr-commission__label,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-commission__label {
	color: #475569 !important;
	font-weight: 700 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-commission__rate,
html.affwp-portal-theme-light body .affwp-portal-mgr-commission__rate-badge,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-commission__rate,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-commission__rate-badge {
	background: rgba(5, 150, 105, 0.10) !important;
	color: #047857 !important;
	border: 1px solid rgba(5, 150, 105, 0.25) !important;
	font-weight: 700 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-commission__hint,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-commission__hint {
	color: #64748b !important;
}

/* ============================================================
 * Sidebar cart wrap labels (Subtotal, Envio, Total).
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-mgr-cart-wrap label,
html.affwp-portal-theme-light body .affwp-portal-mgr-cart-wrap dt,
html.affwp-portal-theme-light body .affwp-portal-mgr-cart-summary label,
html.affwp-portal-theme-light body .affwp-portal-mgr-cart-summary dt,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-cart-wrap label,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-cart-wrap dt,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-cart-summary label,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-cart-summary dt {
	color: #475569 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-cart-wrap dd,
html.affwp-portal-theme-light body .affwp-portal-mgr-cart-wrap span:not([class]),
html.affwp-portal-theme-light body .affwp-portal-mgr-cart-summary dd,
html.affwp-portal-theme-light body .affwp-portal-mgr-cart-summary span:not([class]),
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-cart-wrap dd,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-cart-summary dd {
	color: #1e293b !important;
}

/* "Aún no has añadido productos. Búscalos a la izquierda y haz click en Añadir" */
html.affwp-portal-theme-light body .affwp-portal-mgr-cart-summary__empty-text,
html.affwp-portal-theme-light body .affwp-portal-mgr-cart-summary__empty,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-cart-summary__empty-text,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-cart-summary__empty {
	color: #475569 !important;
}

/* "$0.00" total en light cuando esta vacio */
html.affwp-portal-theme-light body .affwp-portal-mgr-cart-wrap [data-affwp-mgr-totals-total],
html.affwp-portal-theme-light body .affwp-portal-mgr-cart-wrap [data-affwp-mgr-totals-subtotal],
html.affwp-portal-theme-light body .affwp-portal-mgr-cart-wrap [data-affwp-mgr-totals-shipping],
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-cart-wrap [data-affwp-mgr-totals-total],
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-cart-wrap [data-affwp-mgr-totals-subtotal],
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-cart-wrap [data-affwp-mgr-totals-shipping] {
	color: #1e293b !important;
}

/* "Productos seleccionados" header del cart */
html.affwp-portal-theme-light body .affwp-portal-mgr-cart-summary__title,
html.affwp-portal-theme-light body .affwp-portal-mgr-cart-wrap h3,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-cart-summary__title,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-cart-wrap h3 {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-cart-summary__title svg,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-cart-summary__title svg {
	color: #047857 !important;
}

/* ============================================================
 * El hint "El costo de envío se calcula al elegir el cliente y su municipio".
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-mgr-step__shipping-hint,
html.affwp-portal-theme-light body .affwp-portal-mgr-cart-wrap .affwp-portal-mgr-step__shipping-hint,
html.affwp-portal-theme-light body .affwp-portal-mgr-shipping-hint,
html.affwp-portal-theme-light body .affwp-portal-mgr-cart-wrap small,
html.affwp-portal-theme-light body .affwp-portal-mgr-cart-summary small,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-step__shipping-hint,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-shipping-hint,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-cart-wrap small {
	color: #64748b !important;
	font-size: 12px !important;
}

/* ============================================================
 * Botones disabled state — Continuar a cliente (sin productos),
 * Crear pedido (sin items o con stock issues), Step next, etc.
 * Antes se veian medio descoloridos. Ahora claro y legible.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-link-card__copy:disabled,
html.affwp-portal-theme-light body .affwp-portal-link-card__copy.is-disabled,
html.affwp-portal-theme-light body .affwp-portal-link-card__copy[disabled],
html.affwp-portal-theme-light body [data-affwp-mgr-step-next]:disabled,
html.affwp-portal-theme-light body [data-affwp-mgr-step-next].is-disabled,
html.affwp-portal-theme-light body [data-affwp-mgr-step-next][disabled],
html.affwp-portal-theme-light body [data-affwp-mgr-create-order]:disabled,
html.affwp-portal-theme-light body [data-affwp-mgr-create-order].is-disabled,
html.affwp-portal-theme-light body [data-affwp-mgr-create-order][disabled],
html.affwp-portal-theme-light body .entry-content .affwp-portal-link-card__copy:disabled,
html.affwp-portal-theme-light body .entry-content [data-affwp-mgr-step-next]:disabled,
html.affwp-portal-theme-light body .entry-content [data-affwp-mgr-create-order]:disabled {
	background: #cbd5e1 !important;
	background-image: none !important;
	border-color: #cbd5e1 !important;
	color: #ffffff !important;
	box-shadow: none !important;
	cursor: not-allowed !important;
	opacity: 1 !important;
	filter: none !important;
	text-shadow: none !important;
}

html.affwp-portal-theme-light body .affwp-portal-link-card__copy:disabled:hover,
html.affwp-portal-theme-light body [data-affwp-mgr-step-next]:disabled:hover,
html.affwp-portal-theme-light body [data-affwp-mgr-create-order]:disabled:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-link-card__copy:disabled:hover,
html.affwp-portal-theme-light body .entry-content [data-affwp-mgr-step-next]:disabled:hover,
html.affwp-portal-theme-light body .entry-content [data-affwp-mgr-create-order]:disabled:hover {
	background: #cbd5e1 !important;
	border-color: #cbd5e1 !important;
	transform: none !important;
}

html.affwp-portal-theme-light body .affwp-portal-link-card__copy:disabled svg,
html.affwp-portal-theme-light body [data-affwp-mgr-step-next]:disabled svg,
html.affwp-portal-theme-light body [data-affwp-mgr-create-order]:disabled svg,
html.affwp-portal-theme-light body .entry-content .affwp-portal-link-card__copy:disabled svg,
html.affwp-portal-theme-light body .entry-content [data-affwp-mgr-step-next]:disabled svg,
html.affwp-portal-theme-light body .entry-content [data-affwp-mgr-create-order]:disabled svg {
	color: #ffffff !important;
}

/* ============================================================
 * Nav del step que ya esta completado pero no es el ultimo —
 * el numero del step prev sigue siendo legible.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-stepper__step.is-completed .affwp-portal-stepper__num,
html.affwp-portal-theme-light body .entry-content .affwp-portal-stepper__step.is-completed .affwp-portal-stepper__num {
	background: #ecfdf5 !important;
	border-color: #6ee7b7 !important;
	color: #047857 !important;
}

html.affwp-portal-theme-light body .affwp-portal-stepper__step .affwp-portal-stepper__label,
html.affwp-portal-theme-light body .entry-content .affwp-portal-stepper__step .affwp-portal-stepper__label {
	color: #475569 !important;
}

html.affwp-portal-theme-light body .affwp-portal-stepper__step:not(.is-active):not(.is-completed) .affwp-portal-stepper__num,
html.affwp-portal-theme-light body .entry-content .affwp-portal-stepper__step:not(.is-active):not(.is-completed) .affwp-portal-stepper__num {
	background: #f1f5f9 !important;
	border-color: #e2e8f0 !important;
	color: #94a3b8 !important;
}

/* ============================================================
 * Categorias chips bar (Todos / Accesorios / Automotriz / etc).
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-mgr-category-bar__chip,
html.affwp-portal-theme-light body .affwp-portal-mgr-subcategory-bar__chip,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-category-bar__chip,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-subcategory-bar__chip {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
	color: #475569 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-category-bar__chip:hover,
html.affwp-portal-theme-light body .affwp-portal-mgr-subcategory-bar__chip:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-category-bar__chip:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-subcategory-bar__chip:hover {
	background: #f8fafc !important;
	border-color: #cbd5e1 !important;
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-category-bar__chip.is-active,
html.affwp-portal-theme-light body .affwp-portal-mgr-subcategory-bar__chip.is-active,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-category-bar__chip.is-active,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-subcategory-bar__chip.is-active {
	background: rgba(5, 150, 105, 0.10) !important;
	border-color: rgba(5, 150, 105, 0.40) !important;
	color: #047857 !important;
}

/* ============================================================
 * Product cards en el grid catalog.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-mgr-product__name,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product__name {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-product__price,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product__price {
	color: #1e293b !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-product__sku,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product__sku {
	color: #64748b !important;
}

/* Boton "Añadir" en card del producto — solido verde */
html.affwp-portal-theme-light body .affwp-portal-mgr-product__add,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product__add {
	background: #059669 !important;
	border-color: #059669 !important;
	color: #ffffff !important;
	font-weight: 600 !important;
	box-shadow: 0 1px 3px rgba(5, 150, 105, 0.20) !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-product__add:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product__add:hover {
	background: #047857 !important;
	border-color: #047857 !important;
	box-shadow: 0 2px 6px rgba(5, 150, 105, 0.30) !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-product__add svg,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product__add svg {
	color: #ffffff !important;
}

/* ============================================================
 * Search bar grande del catalogo — placeholder mas oscuro.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-mgr-product-search-bar input::placeholder,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-search-bar input::placeholder {
	color: #94a3b8 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-product-search-bar__icon svg,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-search-bar__icon svg {
	color: #94a3b8 !important;
}

/* ============================================================
 * Page header subtitle y la parte accent.
 * "Tú creas el pedido y nosotros nos encargamos..."
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-page-header__subtitle,
html.affwp-portal-theme-light body .entry-content .affwp-portal-page-header__subtitle {
	color: #475569 !important;
}

html.affwp-portal-theme-light body .affwp-portal-page-header__subtitle .affp-accent,
html.affwp-portal-theme-light body .entry-content .affwp-portal-page-header__subtitle .affp-accent {
	color: #047857 !important;
	font-weight: 600 !important;
}

/* "Busca y añade los productos del pedido. Los datos del cliente vienen después." */
html.affwp-portal-theme-light body .affwp-portal-mgr-step-hint,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-step-hint {
	color: #475569 !important;
}

/* ============================================================
 * Step labels (Productos / Cliente / Confirmar) — mas oscuros.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-stepper__step:not(.is-active):not(.is-completed) .affwp-portal-stepper__label,
html.affwp-portal-theme-light body .entry-content .affwp-portal-stepper__step:not(.is-active):not(.is-completed) .affwp-portal-stepper__label {
	color: #94a3b8 !important;
}

html.affwp-portal-theme-light body .affwp-portal-stepper__step.is-completed .affwp-portal-stepper__label,
html.affwp-portal-theme-light body .entry-content .affwp-portal-stepper__step.is-completed .affwp-portal-stepper__label {
	color: #1e293b !important;
}

/* ============================================================
 * Form labels uppercase (NOMBRE COMPLETO, TELEFONO, etc.).
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal label,
html.affwp-portal-theme-light body .affwp-portal .affwp-portal-section-label,
html.affwp-portal-theme-light body .entry-content .affwp-portal label,
html.affwp-portal-theme-light body .entry-content .affwp-portal .affwp-portal-section-label {
	color: #475569 !important;
	font-weight: 700 !important;
}

/* ============================================================
 * BUSCAR CLIENTE EXISTENTE label.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-mgr-clients__search-label,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-clients__search-label {
	color: #475569 !important;
}

/* "Empieza a escribir (mínimo 2 letras) para ver coincidencias" */
html.affwp-portal-theme-light body .affwp-portal-mgr-clients__search-hint,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-clients__search-hint {
	color: #64748b !important;
}

/* "O CREA UNO NUEVO" separator */
html.affwp-portal-theme-light body .affwp-portal-mgr-clients__separator,
html.affwp-portal-theme-light body .affwp-portal-divider,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-clients__separator,
html.affwp-portal-theme-light body .entry-content .affwp-portal-divider {
	color: #64748b !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-clients__separator::before,
html.affwp-portal-theme-light body .affwp-portal-mgr-clients__separator::after,
html.affwp-portal-theme-light body .affwp-portal-divider::before,
html.affwp-portal-theme-light body .affwp-portal-divider::after,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-clients__separator::before,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-clients__separator::after,
html.affwp-portal-theme-light body .entry-content .affwp-portal-divider::before,
html.affwp-portal-theme-light body .entry-content .affwp-portal-divider::after {
	background: #e2e8f0 !important;
	border-color: #e2e8f0 !important;
}

/* ============================================================
 * Hint text inside form fields (Por ahora solo La Habana...,
 * El costo de envio depende del municipio, etc).
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-mgr-clients__field-hint,
html.affwp-portal-theme-light body .affwp-portal-mgr-clients__hint,
html.affwp-portal-theme-light body .affwp-portal small,
html.affwp-portal-theme-light body .affwp-portal .description,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-clients__field-hint,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-clients__hint,
html.affwp-portal-theme-light body .entry-content .affwp-portal small,
html.affwp-portal-theme-light body .entry-content .affwp-portal .description {
	color: #64748b !important;
}

/* ============================================================
 * Sidebar nav text — un poco mas oscuro.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-sidebar__nav-link,
html.affwp-portal-theme-light body .affwp-portal-sidebar__nav-item a,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__nav-link,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__nav-item a {
	color: #334155 !important;
}

html.affwp-portal-theme-light body .affwp-portal-sidebar__nav-link svg,
html.affwp-portal-theme-light body .affwp-portal-sidebar__nav-item a svg,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__nav-link svg,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__nav-item a svg {
	color: #64748b !important;
}

/* ============================================================
 * Sidebar GESTOR / PANEL section label.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-sidebar__nav-label,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__nav-label {
	color: #64748b !important;
	font-weight: 700 !important;
}

/* ============================================================
 * Status footer "Todos los sistemas / Operativos".
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-sidebar__status-text,
html.affwp-portal-theme-light body .affwp-portal-sidebar__status-title,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__status-text,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__status-title {
	color: #334155 !important;
	font-weight: 600 !important;
}

html.affwp-portal-theme-light body .affwp-portal-sidebar__status-sub,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__status-sub {
	color: #64748b !important;
}

/* ============================================================
 * Promo card del sidebar — texto mas legible.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-sidebar__promo-title,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__promo-title {
	color: #0f172a !important;
	font-weight: 700 !important;
}

html.affwp-portal-theme-light body .affwp-portal-sidebar__promo-text,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__promo-text {
	color: #475569 !important;
}

/* ============================================================
 * Theme switch button del sidebar — texto legible.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-sidebar__theme-opt,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__theme-opt {
	color: #475569 !important;
}

/* ============================================================
 * Stats summary cards (Pedidos creados / Volumen / Comision pendiente).
 * Labels mas oscuros.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-mgr-orders-stats__label,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-orders-stats__label {
	color: #475569 !important;
	font-weight: 700 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-orders-stats__sub,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-orders-stats__sub {
	color: #64748b !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-orders-stats__label svg,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-orders-stats__label svg {
	color: #64748b !important;
}

/* ============================================================
 * KPI cards labels y hints — mas oscuros.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-kpi__label,
html.affwp-portal-theme-light body .entry-content .affwp-portal-kpi__label {
	color: #475569 !important;
	font-weight: 700 !important;
}

html.affwp-portal-theme-light body .affwp-portal-kpi__hint,
html.affwp-portal-theme-light body .entry-content .affwp-portal-kpi__hint {
	color: #64748b !important;
}

/* ============================================================
 * "Hace un momento", "hace 5 min", etc. dates en drafts/notifs.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-mgr-drafts__when,
html.affwp-portal-theme-light body .affwp-portal-mgr-drafts__meta,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-drafts__when,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-drafts__meta {
	color: #64748b !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-drafts__name,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-drafts__name {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-drafts__hint,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-drafts__hint {
	color: #64748b !important;
}

/* ============================================================
 * Order card body items meta (Cant × Precio).
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__item-meta,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__item-meta {
	color: #64748b !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__client-line,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__client-line {
	color: #475569 !important;
}

/* "Comisión Pendiente" / "Comisión Rechazada" status */
html.affwp-portal-theme-light body .affwp-portal-mgr-order-card__commission-status,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-order-card__commission-status {
	color: #64748b !important;
	font-weight: 700 !important;
}

/* ============================================================
 * Volver al sitio — mas legible.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-sidebar__back,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__back {
	color: #475569 !important;
}

html.affwp-portal-theme-light body .affwp-portal-sidebar__back svg,
html.affwp-portal-theme-light body .entry-content .affwp-portal-sidebar__back svg {
	color: #64748b !important;
}

/* ============================================================
 * Tu comision estimada — bloque entero mas legible.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-mgr-commission,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-commission {
	background: rgba(5, 150, 105, 0.05) !important;
	border: 1px solid rgba(5, 150, 105, 0.20) !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-commission__icon,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-commission__icon {
	background: rgba(5, 150, 105, 0.15) !important;
	color: #047857 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-commission__amount,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-commission__amount {
	color: #047857 !important;
	text-shadow: none !important;
	font-weight: 800 !important;
}

/* ============================================================
 * Generic: cualquier texto en .affwp-portal-content que sea muy claro
 * lo subimos al menos a slate-600.
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-content [style*="color: rgba(255"],
html.affwp-portal-theme-light body .affwp-portal-content [style*="color:rgba(255"] {
	color: #475569 !important;
}


/* =============================================================================
 * 74. Search bar — refinamiento (slimmer, cleaner, light-aware).
 * =============================================================================
 *
 * Antes la barra era muy "gorda" (padding 12 16, radius 14) con icono de
 * cursor-click extraño y sin botón de clear. Ahora:
 *   - Padding 10 14 (slimmer).
 *   - Border-radius 10 (mas moderno).
 *   - Icono real de search (lupa) — actualizado en el template.
 *   - Boton X para limpiar busqueda cuando hay valor.
 *   - Hover/focus mas pulidos.
 */

html body .affwp-portal-search-bar,
html body .entry-content .affwp-portal-search-bar {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 8px 14px !important;
	border-radius: 10px !important;
	min-height: 42px !important;
	max-width: 540px !important;             /* no se estira a todo el ancho */
	margin-bottom: 18px !important;
	transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease !important;
}

html body .affwp-portal-search-bar:hover,
html body .entry-content .affwp-portal-search-bar:hover {
	border-color: rgba(255, 255, 255, 0.18) !important;
}

html body .affwp-portal-search-bar:focus-within,
html body .entry-content .affwp-portal-search-bar:focus-within {
	border-color: var(--affp-accent) !important;
	box-shadow: 0 0 0 3px var(--affp-accent-soft) !important;
}

html body .affwp-portal-search-bar__icon,
html body .entry-content .affwp-portal-search-bar__icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	color: var(--affp-text-muted) !important;
	pointer-events: none !important;
}

html body .affwp-portal-search-bar__icon svg,
html body .entry-content .affwp-portal-search-bar__icon svg {
	width: 16px !important;
	height: 16px !important;
}

html body .affwp-portal-search-bar input,
html body .entry-content .affwp-portal-search-bar input {
	flex: 1 !important;
	min-width: 0 !important;
	border: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	color: var(--affp-text) !important;
	font-size: 13.5px !important;
	font-family: inherit !important;
	padding: 4px 0 !important;
	box-shadow: none !important;
}

html body .affwp-portal-search-bar input::-webkit-search-decoration,
html body .affwp-portal-search-bar input::-webkit-search-cancel-button,
html body .affwp-portal-search-bar input::-webkit-search-results-button,
html body .affwp-portal-search-bar input::-webkit-search-results-decoration,
html body .entry-content .affwp-portal-search-bar input::-webkit-search-decoration,
html body .entry-content .affwp-portal-search-bar input::-webkit-search-cancel-button {
	display: none !important;          /* esconde el X nativo del input search */
}

html body .affwp-portal-search-bar input::placeholder,
html body .entry-content .affwp-portal-search-bar input::placeholder {
	color: var(--affp-text-faded) !important;
	opacity: 1 !important;
}

/* Boton X de limpiar */
html body .affwp-portal-search-bar__clear,
html body .entry-content .affwp-portal-search-bar__clear {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	width: 26px !important;
	height: 26px !important;
	border-radius: 999px !important;
	background: rgba(255, 255, 255, 0.06) !important;
	color: var(--affp-text-muted) !important;
	border: 0 !important;
	text-decoration: none !important;
	transition: all 0.15s ease !important;
	cursor: pointer !important;
}

html body .affwp-portal-search-bar__clear:hover,
html body .entry-content .affwp-portal-search-bar__clear:hover {
	background: rgba(239, 68, 68, 0.18) !important;
	color: #fca5a5 !important;
}

html body .affwp-portal-search-bar__clear svg,
html body .entry-content .affwp-portal-search-bar__clear svg {
	width: 12px !important;
	height: 12px !important;
}

/* ============================================================
 * Light mode — search bar mas pulida (white card style).
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-search-bar,
html.affwp-portal-theme-light body .entry-content .affwp-portal-search-bar {
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
}

html.affwp-portal-theme-light body .affwp-portal-search-bar:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-search-bar:hover {
	border-color: #cbd5e1 !important;
}

html.affwp-portal-theme-light body .affwp-portal-search-bar:focus-within,
html.affwp-portal-theme-light body .entry-content .affwp-portal-search-bar:focus-within {
	border-color: rgba(5, 150, 105, 0.55) !important;
	box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.10) !important;
}

html.affwp-portal-theme-light body .affwp-portal-search-bar__icon svg,
html.affwp-portal-theme-light body .entry-content .affwp-portal-search-bar__icon svg {
	color: #94a3b8 !important;
}

html.affwp-portal-theme-light body .affwp-portal-search-bar input,
html.affwp-portal-theme-light body .entry-content .affwp-portal-search-bar input {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-search-bar input::placeholder,
html.affwp-portal-theme-light body .entry-content .affwp-portal-search-bar input::placeholder {
	color: #94a3b8 !important;
}

html.affwp-portal-theme-light body .affwp-portal-search-bar__clear,
html.affwp-portal-theme-light body .entry-content .affwp-portal-search-bar__clear {
	background: #f1f5f9 !important;
	color: #64748b !important;
}

html.affwp-portal-theme-light body .affwp-portal-search-bar__clear:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-search-bar__clear:hover {
	background: #fef2f2 !important;
	color: #b91c1c !important;
}

/* ============================================================
 * Mobile: la barra ocupa todo el ancho.
 * ============================================================ */

@media (max-width: 720px) {
	html body .affwp-portal-search-bar,
	html body .entry-content .affwp-portal-search-bar {
		max-width: 100% !important;
	}
}


/* =============================================================================
 * 75. Mobile cart bottom-sheet — floating cart solo en mobile + modal del cart.
 * =============================================================================
 *
 * Comportamiento:
 *   - Desktop (≥ 901px): sidebar "Productos seleccionados" siempre visible
 *     a la derecha. Floating cart OCULTO.
 *   - Mobile (≤ 900px): sidebar oculto por defecto. Aparece floating cart
 *     en bottom-right. Al tocarlo se abre el sidebar como bottom-sheet
 *     modal con overlay.
 */

/* ============================================================
 * DESKTOP — floating cart oculto SIEMPRE.
 * ============================================================ */

@media (min-width: 901px) {
	html body .affwp-portal-mgr-floating-cart,
	html body .entry-content .affwp-portal-mgr-floating-cart {
		display: none !important;
	}
}

/* ============================================================
 * MOBILE — sidebar oculta por defecto. Floating cart visible.
 * ============================================================ */

@media (max-width: 900px) {

	/* El layout del paso 1 deja de ser grid 2-col, todo a una columna. */
	html body .affwp-portal-mgr-products-layout,
	html body .entry-content .affwp-portal-mgr-products-layout {
		grid-template-columns: 1fr !important;
		display: block !important;
	}

	/* Sidebar (Productos seleccionados) → bottom-sheet modal en mobile.
	   Por defecto está oculto; se muestra cuando <html> tiene la clase
	   `.affwp-mgr-cart-open`. */
	html body .affwp-portal-mgr-products-sidebar,
	html body .entry-content .affwp-portal-mgr-products-sidebar {
		position: fixed !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		top: auto !important;
		max-height: 88vh !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		background: transparent !important;
		z-index: 99998 !important;
		transform: translateY(100%) !important;
		transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1) !important;
		pointer-events: none !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	html body .affwp-portal-mgr-products-sidebar__inner,
	html body .entry-content .affwp-portal-mgr-products-sidebar__inner {
		background: var(--affp-surface, #131826) !important;
		border-top: 1px solid var(--affp-border) !important;
		border-radius: 18px 18px 0 0 !important;
		box-shadow: 0 -16px 40px rgba(0, 0, 0, 0.45) !important;
		padding: 22px 20px 28px !important;
		max-height: 88vh !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch !important;
	}

	/* Drag-handle indicator arriba del bottom-sheet */
	html body .affwp-portal-mgr-products-sidebar__inner::before,
	html body .entry-content .affwp-portal-mgr-products-sidebar__inner::before {
		content: '' !important;
		display: block !important;
		width: 38px !important;
		height: 4px !important;
		background: rgba(255, 255, 255, 0.22) !important;
		border-radius: 2px !important;
		margin: 0 auto 16px !important;
	}

	/* Cuando esta abierto: levanta el sidebar */
	html.affwp-mgr-cart-open body .affwp-portal-mgr-products-sidebar,
	html.affwp-mgr-cart-open body .entry-content .affwp-portal-mgr-products-sidebar {
		transform: translateY(0) !important;
		pointer-events: auto !important;
	}

	/* Boton X visible solo en mobile dentro del sidebar */
	html body .affwp-portal-mgr-products-sidebar__close,
	html body .entry-content .affwp-portal-mgr-products-sidebar__close {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 28px !important;
		height: 28px !important;
		margin-left: auto !important;
		background: rgba(255, 255, 255, 0.06) !important;
		border: 1px solid rgba(255, 255, 255, 0.10) !important;
		color: var(--affp-text-muted) !important;
		font-size: 18px !important;
		line-height: 1 !important;
		border-radius: 50% !important;
		cursor: pointer !important;
		transition: all 0.15s ease !important;
		padding: 0 !important;
	}

	html body .affwp-portal-mgr-products-sidebar__close:hover,
	html body .entry-content .affwp-portal-mgr-products-sidebar__close:hover {
		background: rgba(239, 68, 68, 0.18) !important;
		color: #fca5a5 !important;
	}

	html body .affwp-portal-mgr-products-sidebar__title,
	html body .entry-content .affwp-portal-mgr-products-sidebar__title {
		display: flex !important;
		align-items: center !important;
		gap: 10px !important;
	}

	/* Floating cart visible en mobile, posicion fija bottom-right */
	html body .affwp-portal-mgr-floating-cart,
	html body .entry-content .affwp-portal-mgr-floating-cart {
		display: flex !important;
		position: fixed !important;
		right: 18px !important;
		bottom: 18px !important;
		z-index: 99997 !important;
	}

	/* Cuando el modal del cart está abierto, ocultamos el floating cart */
	html.affwp-mgr-cart-open body .affwp-portal-mgr-floating-cart,
	html.affwp-mgr-cart-open body .entry-content .affwp-portal-mgr-floating-cart {
		opacity: 0 !important;
		pointer-events: none !important;
		transition: opacity 0.2s ease !important;
	}

	/* Body scroll lock cuando el modal esta abierto */
	html.affwp-mgr-cart-open body {
		overflow: hidden !important;
	}

}

/* ============================================================
 * Boton X — oculto en desktop (no necesitamos cerrar el sidebar permanente).
 * ============================================================ */

@media (min-width: 901px) {
	html body .affwp-portal-mgr-products-sidebar__close,
	html body .entry-content .affwp-portal-mgr-products-sidebar__close {
		display: none !important;
	}
}

/* ============================================================
 * Overlay — solo cuando el modal esta abierto en mobile.
 * Se inyecta dinamicamente desde JS (data-affwp-mgr-cart-overlay).
 * ============================================================ */

html body .affwp-portal-mgr-cart-overlay,
html body .entry-content .affwp-portal-mgr-cart-overlay {
	position: fixed !important;
	inset: 0 !important;
	background: rgba(5, 8, 14, 0.55) !important;
	backdrop-filter: blur(4px) !important;
	-webkit-backdrop-filter: blur(4px) !important;
	z-index: 99996 !important;
	opacity: 0 !important;
	pointer-events: none !important;
	transition: opacity 0.25s ease !important;
	cursor: zoom-out !important;
}

html.affwp-mgr-cart-open body .affwp-portal-mgr-cart-overlay,
html.affwp-mgr-cart-open body .entry-content .affwp-portal-mgr-cart-overlay {
	opacity: 1 !important;
	pointer-events: auto !important;
}

/* Esconder overlay siempre en desktop */
@media (min-width: 901px) {
	html body .affwp-portal-mgr-cart-overlay,
	html body .entry-content .affwp-portal-mgr-cart-overlay {
		display: none !important;
	}
}

/* ============================================================
 * Light theme — sidebar bottom-sheet en blanco.
 * ============================================================ */

@media (max-width: 900px) {
	html.affwp-portal-theme-light body .affwp-portal-mgr-products-sidebar__inner,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-products-sidebar__inner {
		background: #ffffff !important;
		border-top: 1px solid #e2e8f0 !important;
		box-shadow: 0 -16px 40px rgba(15, 23, 42, 0.18) !important;
	}

	html.affwp-portal-theme-light body .affwp-portal-mgr-products-sidebar__inner::before,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-products-sidebar__inner::before {
		background: #cbd5e1 !important;
	}

	html.affwp-portal-theme-light body .affwp-portal-mgr-products-sidebar__close,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-products-sidebar__close {
		background: #f1f5f9 !important;
		border-color: #e2e8f0 !important;
		color: #64748b !important;
	}

	html.affwp-portal-theme-light body .affwp-portal-mgr-products-sidebar__close:hover,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-products-sidebar__close:hover {
		background: #fef2f2 !important;
		color: #b91c1c !important;
	}
}

html.affwp-portal-theme-light body .affwp-portal-mgr-cart-overlay,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-cart-overlay {
	background: rgba(15, 23, 42, 0.40) !important;
}


/* =============================================================================
 * 76. Mobile cart — fixes (specificity desktop + mobile readability).
 * =============================================================================
 *
 * Problemas:
 *   1. Desktop: floating cart no se ocultaba por specificity issue —
 *      `.affwp-portal-mgr-floating-cart.is-visible { display: inline-flex !important }`
 *      ganaba contra mi `display: none !important` simple.
 *   2. Mobile: overlay con blur 4px + alpha 0.55 era demasiado fuerte —
 *      la pagina detras quedaba ilegible. Reducimos.
 *   3. Mobile: el sidebar bottom-sheet en su estado default seguia
 *      ocupando espacio del layout (su altura era 88vh aunque tuviera
 *      transform translateY 100%). Forzamos contained.
 */

/* ============================================================
 * DESKTOP — floating cart definitivamente oculto.
 * ============================================================ */

@media (min-width: 901px) {

	html body .affwp-portal-mgr-floating-cart,
	html body .affwp-portal-mgr-floating-cart.is-visible,
	html body button.affwp-portal-mgr-floating-cart,
	html body button.affwp-portal-mgr-floating-cart.is-visible,
	html body .entry-content .affwp-portal-mgr-floating-cart,
	html body .entry-content .affwp-portal-mgr-floating-cart.is-visible,
	html body .entry-content button.affwp-portal-mgr-floating-cart,
	html body .entry-content button.affwp-portal-mgr-floating-cart.is-visible {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
		pointer-events: none !important;
	}

	/* Tampoco el overlay del bottom-sheet se muestra en desktop */
	html body .affwp-portal-mgr-cart-overlay,
	html body .entry-content .affwp-portal-mgr-cart-overlay {
		display: none !important;
	}

	/* Aseguramos que el sidebar SIEMPRE este en su layout normal en
	   desktop, sin importar si .affwp-mgr-cart-open esta aplicada. */
	html.affwp-mgr-cart-open body .affwp-portal-mgr-products-sidebar,
	html.affwp-mgr-cart-open body .entry-content .affwp-portal-mgr-products-sidebar {
		position: static !important;
		transform: none !important;
		max-height: none !important;
		pointer-events: auto !important;
	}
}

/* ============================================================
 * MOBILE — overlay menos opaco + sidebar contenido cuando cerrado.
 * ============================================================ */

@media (max-width: 900px) {

	/* Overlay menos oscuro y sin blur tan fuerte (el blur consume bateria
	   y hace ilegible el fondo). */
	html body .affwp-portal-mgr-cart-overlay,
	html body .entry-content .affwp-portal-mgr-cart-overlay {
		background: rgba(5, 8, 14, 0.45) !important;
		backdrop-filter: blur(2px) !important;
		-webkit-backdrop-filter: blur(2px) !important;
	}

	/* Cuando NO esta abierto el cart, el sidebar bottom-sheet esta totalmente
	   off-screen (translateY 100%) — pero su altura sigue ocupando layout
	   space si no le forzamos height 0 fuera de la animacion. */
	html:not(.affwp-mgr-cart-open) body .affwp-portal-mgr-products-sidebar,
	html:not(.affwp-mgr-cart-open) body .entry-content .affwp-portal-mgr-products-sidebar {
		visibility: hidden !important;
	}

	html.affwp-mgr-cart-open body .affwp-portal-mgr-products-sidebar,
	html.affwp-mgr-cart-open body .entry-content .affwp-portal-mgr-products-sidebar {
		visibility: visible !important;
	}

	/* Floating cart mobile — pulir presencia: mas alto, sombra mas marcada
	   pero ya no transluce nada. Texto legible. */
	html body .affwp-portal-mgr-floating-cart,
	html body button.affwp-portal-mgr-floating-cart,
	html body .entry-content .affwp-portal-mgr-floating-cart {
		opacity: 1 !important;
		visibility: visible !important;
		filter: none !important;
		text-shadow: none !important;
		color: #ffffff !important;
		font-weight: 700 !important;
		box-shadow:
			0 12px 30px -8px rgba(16, 185, 129, 0.55),
			0 4px 12px rgba(0, 0, 0, 0.30),
			0 0 0 1px rgba(255, 255, 255, 0.12) inset !important;
	}

	html body .affwp-portal-mgr-floating-cart__count,
	html body .affwp-portal-mgr-floating-cart__total,
	html body .entry-content .affwp-portal-mgr-floating-cart__count,
	html body .entry-content .affwp-portal-mgr-floating-cart__total {
		color: #ffffff !important;
		text-shadow: 0 1px 0 rgba(0, 0, 0, 0.20) !important;
	}

	/* Cuando esta abierto, fade out el floating cart sin half-state */
	html.affwp-mgr-cart-open body .affwp-portal-mgr-floating-cart,
	html.affwp-mgr-cart-open body .entry-content .affwp-portal-mgr-floating-cart {
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
	}

	/* Sidebar bottom-sheet — fondo solido (no transluce el overlay) */
	html body .affwp-portal-mgr-products-sidebar__inner,
	html body .entry-content .affwp-portal-mgr-products-sidebar__inner {
		background: #131826 !important;
		opacity: 1 !important;
	}

	html.affwp-portal-theme-light body .affwp-portal-mgr-products-sidebar__inner,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-products-sidebar__inner {
		background: #ffffff !important;
	}

	/* En mobile el grid del paso 1 ocupa todo el ancho (la sidebar ya
	   no esta inline con el grid). */
	html body .affwp-portal-mgr-products-layout,
	html body .entry-content .affwp-portal-mgr-products-layout {
		grid-template-columns: 1fr !important;
		display: block !important;
		gap: 0 !important;
	}

	/* La main column del grid de productos toma todo el ancho */
	html body .affwp-portal-mgr-products-main,
	html body .entry-content .affwp-portal-mgr-products-main {
		max-width: 100% !important;
		width: 100% !important;
	}

	/* Mas espacio bottom para que el contenido no quede tapado por el
	   floating cart pill. */
	html body .affwp-portal-mgr-step[data-affwp-mgr-step="1"],
	html body .entry-content .affwp-portal-mgr-step[data-affwp-mgr-step="1"] {
		padding-bottom: 100px !important;
	}
}

/* ============================================================
 * Boton X cerrar bottom-sheet — solido y legible.
 * ============================================================ */

@media (max-width: 900px) {
	html body .affwp-portal-mgr-products-sidebar__close,
	html body .entry-content .affwp-portal-mgr-products-sidebar__close {
		flex-shrink: 0 !important;
		opacity: 1 !important;
		font-weight: 400 !important;
		font-size: 20px !important;
	}
}


/* =============================================================================
 * 77. Mobile cart — fix #2: overlay mas opaco + bottom-sheet mas alto.
 * =============================================================================
 *
 * El overlay con alpha 0.45 dejaba ver los productos detras de forma tenue —
 * efecto "todo se ve opaco/desvanecido". Solucion:
 *   - Overlay mas oscuro (alpha 0.78) sin blur (mas claro y mas barato).
 *   - Bottom-sheet mas alto (92vh) para que cubra casi todo el viewport.
 *   - Bordes superiores mas marcados para que se distinga claramente
 *     que el sheet es un panel separado.
 */

@media (max-width: 900px) {

	/* Overlay mas opaco — los productos detras quedan claramente tapados.
	   Quitamos blur (causa flicker en algunos mobiles + suma a la sensacion
	   "opaca"). */
	html body .affwp-portal-mgr-cart-overlay,
	html body .entry-content .affwp-portal-mgr-cart-overlay {
		background: rgba(0, 0, 0, 0.78) !important;
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
	}

	/* Bottom-sheet mas alto — cubre casi todo el viewport. Solo deja
	   ~8% arriba para indicar que es un panel modal y poder cerrarlo
	   tocando ese area. */
	html body .affwp-portal-mgr-products-sidebar,
	html body .entry-content .affwp-portal-mgr-products-sidebar {
		max-height: 92vh !important;
	}

	html body .affwp-portal-mgr-products-sidebar__inner,
	html body .entry-content .affwp-portal-mgr-products-sidebar__inner {
		max-height: 92vh !important;
		min-height: 60vh !important;
		padding: 18px 18px 28px !important;
		border-top: 0 !important;
		border-radius: 20px 20px 0 0 !important;
		box-shadow: 0 -20px 50px rgba(0, 0, 0, 0.60) !important;
	}

	/* Drag handle mas visible */
	html body .affwp-portal-mgr-products-sidebar__inner::before,
	html body .entry-content .affwp-portal-mgr-products-sidebar__inner::before {
		width: 44px !important;
		height: 5px !important;
		background: rgba(255, 255, 255, 0.30) !important;
		margin: 4px auto 18px !important;
	}

	/* Light mode — overlay no tan negro pero igualmente opaco */
	html.affwp-portal-theme-light body .affwp-portal-mgr-cart-overlay,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-cart-overlay {
		background: rgba(15, 23, 42, 0.62) !important;
	}

	html.affwp-portal-theme-light body .affwp-portal-mgr-products-sidebar__inner::before,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-products-sidebar__inner::before {
		background: #cbd5e1 !important;
	}

	html.affwp-portal-theme-light body .affwp-portal-mgr-products-sidebar__inner,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-products-sidebar__inner {
		box-shadow: 0 -20px 50px rgba(15, 23, 42, 0.30) !important;
	}
}


/* =============================================================================
 * 78. Mobile cart + product modal — fixes #3.
 *
 * Problemas:
 *   1. En el modal de producto variable (smartwatch con Color), el boton
 *      "Anadir al pedido" no se podia tocar porque el FLOATING CART estaba
 *      encima al final del modal.
 *   2. El bottom-sheet del cart en mobile aun se ve "opaca" — la pagina
 *      detras se vislumbra. Forzamos cobertura mas total.
 * =============================================================================
 */

@media (max-width: 900px) {

	/* ============================================================
	 * 1. Floating cart oculto cuando CUALQUIER modal esta abierto.
	 *    - .affwp-portal-mgr-modal-open (modal de producto)
	 *    - .affwp-mgr-cart-open (bottom-sheet del cart)
	 * ============================================================ */

	html body.affwp-portal-mgr-modal-open .affwp-portal-mgr-floating-cart,
	html body.affwp-portal-mgr-modal-open button.affwp-portal-mgr-floating-cart,
	html body.affwp-portal-mgr-modal-open .entry-content .affwp-portal-mgr-floating-cart,
	html.affwp-mgr-cart-open body .affwp-portal-mgr-floating-cart,
	html.affwp-mgr-cart-open body button.affwp-portal-mgr-floating-cart {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
		pointer-events: none !important;
	}

	/* ============================================================
	 * 2. Product modal — mas espacio + scroll interno + boton siempre visible.
	 * ============================================================ */

	html body .affwp-portal-mgr-modal,
	html body .entry-content .affwp-portal-mgr-modal {
		align-items: flex-end !important;
		padding: 0 !important;
	}

	html body .affwp-portal-mgr-modal__panel,
	html body .entry-content .affwp-portal-mgr-modal__panel {
		max-width: 100% !important;
		width: 100% !important;
		max-height: 92vh !important;
		min-height: 70vh !important;
		margin: 0 !important;
		border-radius: 20px 20px 0 0 !important;
		display: flex !important;
		flex-direction: column !important;
	}

	/* Drag handle arriba */
	html body .affwp-portal-mgr-modal__panel::before,
	html body .entry-content .affwp-portal-mgr-modal__panel::before {
		content: '' !important;
		display: block !important;
		width: 44px !important;
		height: 5px !important;
		background: rgba(255, 255, 255, 0.30) !important;
		border-radius: 3px !important;
		margin: 10px auto 4px !important;
		flex-shrink: 0 !important;
	}

	/* Inner del modal — scroll interno y boton fijo abajo */
	html body .affwp-portal-mgr-modal__inner,
	html body .entry-content .affwp-portal-mgr-modal__inner {
		flex: 1 !important;
		min-height: 0 !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch !important;
		padding-bottom: 24px !important;
	}

	/* Boton "Anadir al pedido" — sticky abajo del modal */
	html body .affwp-portal-mgr-modal__add-row,
	html body .affwp-portal-mgr-modal__cta-row,
	html body .entry-content .affwp-portal-mgr-modal__add-row,
	html body .entry-content .affwp-portal-mgr-modal__cta-row {
		position: sticky !important;
		bottom: 0 !important;
		background: linear-gradient(180deg, rgba(19, 24, 38, 0) 0%, #131826 30%) !important;
		padding: 18px 0 0 !important;
		z-index: 2 !important;
	}

	/* El botón "Añadir al pedido" no debe quedar tapado */
	html body [data-affwp-mgr-modal-add],
	html body .entry-content [data-affwp-mgr-modal-add] {
		width: 100% !important;
		min-height: 48px !important;
		font-size: 14px !important;
	}

	/* Light mode del modal de producto */
	html.affwp-portal-theme-light body .affwp-portal-mgr-modal__panel,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-modal__panel {
		background: #ffffff !important;
		border-color: #e2e8f0 !important;
	}

	html.affwp-portal-theme-light body .affwp-portal-mgr-modal__panel::before,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-modal__panel::before {
		background: #cbd5e1 !important;
	}

	html.affwp-portal-theme-light body .affwp-portal-mgr-modal__add-row,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-modal__add-row {
		background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #ffffff 30%) !important;
	}

	/* ============================================================
	 * 3. Cart bottom-sheet — cobertura total, no se ve la pagina detras.
	 * ============================================================ */

	html body .affwp-portal-mgr-cart-overlay,
	html body .entry-content .affwp-portal-mgr-cart-overlay {
		background: rgba(0, 0, 0, 0.92) !important;       /* casi solido */
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
	}

	/* Light mode — overlay con tinte navy oscuro casi opaco */
	html.affwp-portal-theme-light body .affwp-portal-mgr-cart-overlay,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-cart-overlay {
		background: rgba(15, 23, 42, 0.85) !important;
	}

	/* Bottom-sheet aun mas alto — cubre 96vh */
	html body .affwp-portal-mgr-products-sidebar,
	html body .entry-content .affwp-portal-mgr-products-sidebar {
		max-height: 96vh !important;
	}

	html body .affwp-portal-mgr-products-sidebar__inner,
	html body .entry-content .affwp-portal-mgr-products-sidebar__inner {
		max-height: 96vh !important;
		min-height: 70vh !important;
	}
}


/* =============================================================================
 * 79. Mobile cart — fix #4: full-screen modal con bg distinto del overlay.
 *
 * Problema raíz: en dark mode, el page bg (#0a0f1c), el overlay (rgba 0,0,0,X)
 * y el sheet bg (#131826) son TODOS muy oscuros. Por mucho que ponga el sheet
 * por encima del overlay, visualmente parece "todo dark uniforme".
 *
 * Fix definitivo:
 *   1. El bottom-sheet pasa a cubrir 100vh (full-screen modal en mobile).
 *   2. El sheet bg es CLARAMENTE mas claro que el page bg para contrastar.
 *   3. El overlay queda como capa de transicion sutil (no carga de opacidad).
 * =============================================================================
 */

@media (max-width: 900px) {

	/* ============================================================
	 * Bottom-sheet full-screen — top:0 bottom:0 100vh.
	 * ============================================================ */

	html body .affwp-portal-mgr-products-sidebar,
	html body .entry-content .affwp-portal-mgr-products-sidebar {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		width: 100% !important;
		height: 100vh !important;
		max-height: 100vh !important;
		z-index: 99999 !important;       /* mas alto que cualquier otra cosa */
		transform: translateY(100%) !important;
		transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1) !important;
		pointer-events: none !important;
		visibility: hidden !important;
	}

	html.affwp-mgr-cart-open body .affwp-portal-mgr-products-sidebar,
	html.affwp-mgr-cart-open body .entry-content .affwp-portal-mgr-products-sidebar {
		transform: translateY(0) !important;
		pointer-events: auto !important;
		visibility: visible !important;
	}

	/* Inner: ocupa todo el viewport, scroll interno, bg claramente mas claro
	   que el page bg para que destaque visualmente. */
	html body .affwp-portal-mgr-products-sidebar__inner,
	html body .entry-content .affwp-portal-mgr-products-sidebar__inner {
		background: #1a2336 !important;          /* mas claro que page bg #0a0f1c */
		border: 0 !important;
		border-radius: 0 !important;             /* full screen, sin rounded */
		box-shadow: none !important;
		height: 100vh !important;
		max-height: 100vh !important;
		min-height: 100vh !important;
		padding: 18px 18px 28px !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch !important;
	}

	/* Drag handle: ya no aplica visualmente, pero lo dejamos como header
	   thin con la X de cerrar a la derecha. */
	html body .affwp-portal-mgr-products-sidebar__inner::before,
	html body .entry-content .affwp-portal-mgr-products-sidebar__inner::before {
		display: none !important;
	}

	/* Title del sheet: mas grande arriba con la X */
	html body .affwp-portal-mgr-products-sidebar__title,
	html body .entry-content .affwp-portal-mgr-products-sidebar__title {
		display: flex !important;
		align-items: center !important;
		gap: 12px !important;
		font-size: 15px !important;
		padding: 6px 0 16px !important;
		margin: 0 0 8px !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
		position: sticky !important;
		top: -18px !important;                /* compensa el padding del inner */
		background: #1a2336 !important;
		z-index: 1 !important;
		padding-top: 18px !important;
		margin-top: -18px !important;
	}

	html body .affwp-portal-mgr-products-sidebar__close,
	html body .entry-content .affwp-portal-mgr-products-sidebar__close {
		width: 32px !important;
		height: 32px !important;
		font-size: 22px !important;
		flex-shrink: 0 !important;
		margin-left: auto !important;
	}

	/* ============================================================
	 * Overlay — ya NO necesita ser opaco porque el sheet cubre todo.
	 * Lo dejo solo como transicion de fade-in sutil.
	 * ============================================================ */

	html body .affwp-portal-mgr-cart-overlay,
	html body .entry-content .affwp-portal-mgr-cart-overlay {
		background: rgba(0, 0, 0, 0.40) !important;
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
		z-index: 99996 !important;
	}

	/* ============================================================
	 * Light mode — bg mas claro, contraste con la pagina blanca.
	 * ============================================================ */

	html.affwp-portal-theme-light body .affwp-portal-mgr-products-sidebar__inner,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-products-sidebar__inner {
		background: #ffffff !important;
	}

	html.affwp-portal-theme-light body .affwp-portal-mgr-products-sidebar__title,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-products-sidebar__title {
		background: #ffffff !important;
		border-bottom-color: #e2e8f0 !important;
	}

	html.affwp-portal-theme-light body .affwp-portal-mgr-cart-overlay,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-cart-overlay {
		background: rgba(15, 23, 42, 0.40) !important;
	}

	/* ============================================================
	 * Mismo tratamiento para el modal de PRODUCTO en mobile —
	 * full-screen, sticky button, bg mas claro.
	 * ============================================================ */

	html body .affwp-portal-mgr-modal,
	html body .entry-content .affwp-portal-mgr-modal {
		align-items: stretch !important;
		padding: 0 !important;
	}

	html body .affwp-portal-mgr-modal__panel,
	html body .entry-content .affwp-portal-mgr-modal__panel {
		max-width: 100% !important;
		width: 100% !important;
		height: 100vh !important;
		max-height: 100vh !important;
		min-height: 100vh !important;
		margin: 0 !important;
		border-radius: 0 !important;
		background: #1a2336 !important;
		border: 0 !important;
	}

	html body .affwp-portal-mgr-modal__panel::before,
	html body .entry-content .affwp-portal-mgr-modal__panel::before {
		display: none !important;
	}

	html body .affwp-portal-mgr-modal__overlay,
	html body .entry-content .affwp-portal-mgr-modal__overlay {
		background: rgba(0, 0, 0, 0.40) !important;
	}

	html.affwp-portal-theme-light body .affwp-portal-mgr-modal__panel,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-modal__panel {
		background: #ffffff !important;
	}
}


/* =============================================================================
 * 80. Mobile cart — fix #5: maximizar contraste del texto dentro del modal.
 *
 * Problema: el bg del bottom-sheet ya es claro (#1a2336) pero los textos
 * dentro estan en tonos muy muted (slate-500 / slate-400) heredados de los
 * comfort overrides — eso hace que todo se vea "opaco" aunque el panel
 * en si sea contrastante.
 *
 * Fix: dentro del cart modal en mobile, texto pleno blanco-off para
 * titulos/labels, slate-200 para body, accent claro para amounts.
 * =============================================================================
 */

@media (max-width: 900px) {

	/* ============================================================
	 * Productos seleccionados (titulo del modal).
	 * ============================================================ */

	html body .affwp-portal-mgr-products-sidebar__title,
	html body .entry-content .affwp-portal-mgr-products-sidebar__title {
		color: #ffffff !important;
		font-size: 16px !important;
		font-weight: 700 !important;
	}

	html body .affwp-portal-mgr-products-sidebar__title svg,
	html body .entry-content .affwp-portal-mgr-products-sidebar__title svg {
		color: #6ee7b7 !important;
	}

	/* ============================================================
	 * Cart items — nombre, qty, precio mas brillantes.
	 * ============================================================ */

	html body .affwp-portal-mgr-cart-list .affwp-portal-mgr-cart-item__name,
	html body .affwp-portal-mgr-cart-list .affwp-portal-mgr-cart-item__title,
	html body .affwp-portal-mgr-cart-list strong,
	html body .entry-content .affwp-portal-mgr-cart-list .affwp-portal-mgr-cart-item__name,
	html body .entry-content .affwp-portal-mgr-cart-list strong {
		color: #f1f5f9 !important;
		font-weight: 600 !important;
	}

	html body .affwp-portal-mgr-cart-list .affwp-portal-mgr-cart-item__price,
	html body .affwp-portal-mgr-cart-list .affwp-portal-mgr-cart-item__total,
	html body .entry-content .affwp-portal-mgr-cart-list .affwp-portal-mgr-cart-item__price,
	html body .entry-content .affwp-portal-mgr-cart-list .affwp-portal-mgr-cart-item__total {
		color: #f1f5f9 !important;
	}

	html body .affwp-portal-mgr-cart-list .affwp-portal-mgr-cart-item__meta,
	html body .entry-content .affwp-portal-mgr-cart-list .affwp-portal-mgr-cart-item__meta {
		color: #cbd5e1 !important;
	}

	/* ============================================================
	 * Totals row (Subtotal / Envio / Total) — labels mucho mas legibles.
	 * ============================================================ */

	html body .affwp-portal-mgr-totals,
	html body .entry-content .affwp-portal-mgr-totals {
		border-top-color: rgba(255, 255, 255, 0.10) !important;
	}

	html body .affwp-portal-mgr-totals__row,
	html body .entry-content .affwp-portal-mgr-totals__row {
		border-bottom-color: rgba(255, 255, 255, 0.06) !important;
	}

	html body .affwp-portal-mgr-totals__row span,
	html body .entry-content .affwp-portal-mgr-totals__row span {
		color: #cbd5e1 !important;
		font-weight: 500 !important;
		font-size: 14px !important;
	}

	html body .affwp-portal-mgr-totals__row strong,
	html body .entry-content .affwp-portal-mgr-totals__row strong {
		color: #f1f5f9 !important;
		font-weight: 700 !important;
		font-size: 14px !important;
	}

	html body .affwp-portal-mgr-totals__row--total span,
	html body .entry-content .affwp-portal-mgr-totals__row--total span {
		color: #ffffff !important;
		font-size: 16px !important;
		font-weight: 700 !important;
	}

	html body .affwp-portal-mgr-totals__row--total strong,
	html body .entry-content .affwp-portal-mgr-totals__row--total strong {
		color: #6ee7b7 !important;
		font-size: 22px !important;
		font-weight: 800 !important;
	}

	/* ============================================================
	 * Comision estimada — label, amount y hint.
	 * ============================================================ */

	html body .affwp-portal-mgr-products-sidebar__commission,
	html body .entry-content .affwp-portal-mgr-products-sidebar__commission {
		background: rgba(16, 185, 129, 0.08) !important;
		border: 1px solid rgba(16, 185, 129, 0.25) !important;
	}

	html body .affwp-portal-mgr-products-sidebar__commission-title,
	html body .entry-content .affwp-portal-mgr-products-sidebar__commission-title {
		color: #cbd5e1 !important;
		font-weight: 700 !important;
	}

	html body .affwp-portal-mgr-products-sidebar__commission-rate,
	html body .entry-content .affwp-portal-mgr-products-sidebar__commission-rate {
		background: rgba(110, 231, 183, 0.18) !important;
		color: #6ee7b7 !important;
		border: 1px solid rgba(110, 231, 183, 0.30) !important;
		font-weight: 700 !important;
	}

	html body .affwp-portal-mgr-products-sidebar__commission-amount,
	html body .entry-content .affwp-portal-mgr-products-sidebar__commission-amount {
		color: #6ee7b7 !important;
		font-weight: 800 !important;
		text-shadow: none !important;
	}

	html body .affwp-portal-mgr-products-sidebar__commission-hint,
	html body .entry-content .affwp-portal-mgr-products-sidebar__commission-hint {
		color: #94a3b8 !important;
	}

	html body .affwp-portal-mgr-products-sidebar__commission-icon,
	html body .entry-content .affwp-portal-mgr-products-sidebar__commission-icon {
		background: rgba(16, 185, 129, 0.18) !important;
		color: #6ee7b7 !important;
	}

	/* ============================================================
	 * Hint final ("El costo de envio se calcula...").
	 * ============================================================ */

	html body .affwp-portal-mgr-products-sidebar__hint,
	html body .entry-content .affwp-portal-mgr-products-sidebar__hint {
		color: #94a3b8 !important;
		font-size: 12.5px !important;
		text-align: center !important;
		margin-top: 12px !important;
	}

	/* ============================================================
	 * Boton "Continuar a cliente" — full bright.
	 * ============================================================ */

	html body .affwp-portal-mgr-products-sidebar__cta,
	html body .entry-content .affwp-portal-mgr-products-sidebar__cta {
		width: 100% !important;
		background: linear-gradient(135deg, #10b981 0%, #06b6d4 100%) !important;
		color: #ffffff !important;
		font-weight: 700 !important;
		box-shadow: 0 4px 16px rgba(16, 185, 129, 0.30) !important;
	}

	html body .affwp-portal-mgr-products-sidebar__cta:disabled,
	html body .affwp-portal-mgr-products-sidebar__cta.is-disabled,
	html body .entry-content .affwp-portal-mgr-products-sidebar__cta:disabled,
	html body .entry-content .affwp-portal-mgr-products-sidebar__cta.is-disabled {
		background: #475569 !important;
		background-image: none !important;
		color: #cbd5e1 !important;
		box-shadow: none !important;
		opacity: 1 !important;
	}

	/* ============================================================
	 * Cart empty state.
	 * ============================================================ */

	html body .affwp-portal-mgr-cart-empty,
	html body .entry-content .affwp-portal-mgr-cart-empty {
		color: #cbd5e1 !important;
		text-align: center !important;
		padding: 24px 12px !important;
	}

	/* ============================================================
	 * Cart item qty controls — botones + y - mas legibles.
	 * ============================================================ */

	html body .affwp-portal-mgr-cart-item__qty input,
	html body .entry-content .affwp-portal-mgr-cart-item__qty input {
		background: rgba(255, 255, 255, 0.06) !important;
		border: 1px solid rgba(255, 255, 255, 0.12) !important;
		color: #ffffff !important;
		font-weight: 700 !important;
	}

	html body .affwp-portal-mgr-cart-item__qty button,
	html body .entry-content .affwp-portal-mgr-cart-item__qty button {
		color: #cbd5e1 !important;
	}

	html body .affwp-portal-mgr-cart-item__qty button:hover,
	html body .entry-content .affwp-portal-mgr-cart-item__qty button:hover {
		color: #ffffff !important;
		background: rgba(255, 255, 255, 0.10) !important;
	}

	/* ============================================================
	 * Light mode override en mobile: contraste tambien alto.
	 * ============================================================ */

	html.affwp-portal-theme-light body .affwp-portal-mgr-products-sidebar__title,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-products-sidebar__title {
		color: #0f172a !important;
	}

	html.affwp-portal-theme-light body .affwp-portal-mgr-products-sidebar__title svg,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-products-sidebar__title svg {
		color: #047857 !important;
	}

	html.affwp-portal-theme-light body .affwp-portal-mgr-cart-list .affwp-portal-mgr-cart-item__name,
	html.affwp-portal-theme-light body .affwp-portal-mgr-cart-list strong,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-cart-list .affwp-portal-mgr-cart-item__name,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-cart-list strong {
		color: #0f172a !important;
	}

	html.affwp-portal-theme-light body .affwp-portal-mgr-totals__row span,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-totals__row span {
		color: #475569 !important;
	}

	html.affwp-portal-theme-light body .affwp-portal-mgr-totals__row strong,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-totals__row strong {
		color: #0f172a !important;
	}

	html.affwp-portal-theme-light body .affwp-portal-mgr-totals__row--total span,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-totals__row--total span {
		color: #0f172a !important;
	}

	html.affwp-portal-theme-light body .affwp-portal-mgr-totals__row--total strong,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-totals__row--total strong {
		color: #047857 !important;
	}

	html.affwp-portal-theme-light body .affwp-portal-mgr-products-sidebar__commission,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-products-sidebar__commission {
		background: #ecfdf5 !important;
		border-color: #a7f3d0 !important;
	}

	html.affwp-portal-theme-light body .affwp-portal-mgr-products-sidebar__commission-title,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-products-sidebar__commission-title {
		color: #064e3b !important;
	}

	html.affwp-portal-theme-light body .affwp-portal-mgr-products-sidebar__commission-amount,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-products-sidebar__commission-amount {
		color: #047857 !important;
	}

	html.affwp-portal-theme-light body .affwp-portal-mgr-products-sidebar__commission-hint,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-products-sidebar__commission-hint {
		color: #64748b !important;
	}

	html.affwp-portal-theme-light body .affwp-portal-mgr-products-sidebar__hint,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-products-sidebar__hint {
		color: #64748b !important;
	}

	html.affwp-portal-theme-light body .affwp-portal-mgr-cart-list .affwp-portal-mgr-cart-item__meta,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-cart-list .affwp-portal-mgr-cart-item__meta {
		color: #475569 !important;
	}
}


/* =============================================================================
 * 81. Mobile: hide floating cart en pasos 2/3 + payment selector compacto.
 * =============================================================================
 *
 * Problemas:
 *   1. Al click "Continuar a cliente" el modal se cerraba (fix JS) pero el
 *      floating cart seguia visible en pasos 2 y 3, distrayendo al gestor.
 *      Ahora solo aparece en step 1 (productos).
 *   2. El payment selector (USD EN EFECTIVO / CUP EN EFECTIVO) en mobile se
 *      veia muy agresivo: iconos enormes, texto uppercase grande, mucho
 *      padding. Lo hago compacto y sutil.
 * =============================================================================
 */

@media (max-width: 900px) {

	/* ============================================================
	 * Floating cart: solo en paso 1 (productos).
	 * En step 2 (Cliente) y step 3 (Confirmar) ya hay un cart-summary
	 * banner integrado, no necesitamos el globo.
	 * ============================================================ */

	html body.affwp-mgr-step-2 .affwp-portal-mgr-floating-cart,
	html body.affwp-mgr-step-3 .affwp-portal-mgr-floating-cart,
	html body.affwp-mgr-step-2 button.affwp-portal-mgr-floating-cart,
	html body.affwp-mgr-step-3 button.affwp-portal-mgr-floating-cart {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
		pointer-events: none !important;
	}

	/* ============================================================
	 * Payment method selector — compacto en mobile.
	 * ============================================================ */

	/* Card container del selector */
	html body .affwp-portal-mgr-pay,
	html body .entry-content .affwp-portal-mgr-pay {
		padding: 14px !important;
		margin-top: 16px !important;
	}

	html body .affwp-portal-mgr-pay__title,
	html body .entry-content .affwp-portal-mgr-pay__title {
		font-size: 15px !important;
		margin-bottom: 2px !important;
	}

	html body .affwp-portal-mgr-pay__sub,
	html body .entry-content .affwp-portal-mgr-pay__sub {
		font-size: 12px !important;
	}

	html body .affwp-portal-mgr-pay__header,
	html body .entry-content .affwp-portal-mgr-pay__header {
		margin-bottom: 12px !important;
	}

	/* Stack vertical (no grid) para que cada opt ocupe ancho completo */
	html body .affwp-portal-mgr-pay__options,
	html body .entry-content .affwp-portal-mgr-pay__options {
		display: flex !important;
		flex-direction: column !important;
		gap: 10px !important;
	}

	/* Cada opt — mucho mas compacto */
	html body .affwp-portal-mgr-pay__opt,
	html body .entry-content .affwp-portal-mgr-pay__opt {
		padding: 12px !important;
		gap: 12px !important;
		border-radius: 10px !important;
		border-width: 1px !important;
	}

	html body .affwp-portal-mgr-pay__opt.is-selected,
	html body .entry-content .affwp-portal-mgr-pay__opt.is-selected {
		border-width: 2px !important;
		box-shadow:
			0 0 0 2px rgba(16, 185, 129, 0.10),
			0 4px 12px rgba(16, 185, 129, 0.12) !important;
	}

	/* Flag circular — mas pequeño */
	html body .affwp-portal-mgr-pay__opt-flag,
	html body .entry-content .affwp-portal-mgr-pay__opt-flag {
		width: 38px !important;
		height: 38px !important;
		font-size: 11px !important;
		flex-shrink: 0 !important;
	}

	/* Body del opt — texto NO uppercase, mas legible */
	html body .affwp-portal-mgr-pay__opt-name,
	html body .entry-content .affwp-portal-mgr-pay__opt-name {
		font-size: 13px !important;
		font-weight: 700 !important;
		text-transform: none !important;
		letter-spacing: 0 !important;
		line-height: 1.3 !important;
		margin: 0 !important;
	}

	html body .affwp-portal-mgr-pay__opt-desc,
	html body .entry-content .affwp-portal-mgr-pay__opt-desc {
		font-size: 11px !important;
		text-transform: none !important;
		letter-spacing: 0 !important;
		line-height: 1.4 !important;
		margin: 2px 0 6px !important;
	}

	html body .affwp-portal-mgr-pay__opt-amount,
	html body .entry-content .affwp-portal-mgr-pay__opt-amount {
		font-size: 14.5px !important;
		font-weight: 800 !important;
		margin: 0 !important;
	}

	html body .affwp-portal-mgr-pay__opt-amount em,
	html body .entry-content .affwp-portal-mgr-pay__opt-amount em {
		font-size: 10.5px !important;
		font-style: normal !important;
		font-weight: 700 !important;
		margin-left: 4px !important;
		opacity: 0.65 !important;
	}

	/* Check pill de selected */
	html body .affwp-portal-mgr-pay__opt-check,
	html body .entry-content .affwp-portal-mgr-pay__opt-check {
		width: 22px !important;
		height: 22px !important;
		flex-shrink: 0 !important;
	}

	/* CUP breakdown panel — tambien mas compacto */
	html body .affwp-portal-mgr-pay__cup-breakdown,
	html body .entry-content .affwp-portal-mgr-pay__cup-breakdown {
		padding: 12px 14px !important;
		margin-top: 12px !important;
		border-radius: 10px !important;
	}

	html body .affwp-portal-mgr-pay__cup-rate,
	html body .entry-content .affwp-portal-mgr-pay__cup-rate {
		flex-direction: row !important;
		justify-content: space-between !important;
		align-items: center !important;
		gap: 8px !important;
	}

	html body .affwp-portal-mgr-pay__cup-rate-label,
	html body .entry-content .affwp-portal-mgr-pay__cup-rate-label {
		font-size: 11px !important;
	}

	html body .affwp-portal-mgr-pay__cup-rate-value,
	html body .entry-content .affwp-portal-mgr-pay__cup-rate-value {
		font-size: 12px !important;
	}

	html body .affwp-portal-mgr-pay__cup-amount,
	html body .entry-content .affwp-portal-mgr-pay__cup-amount {
		font-size: 22px !important;
	}

	html body .affwp-portal-mgr-pay__cup-amount span,
	html body .entry-content .affwp-portal-mgr-pay__cup-amount span {
		font-size: 12px !important;
	}

	html body .affwp-portal-mgr-pay__cup-equiv,
	html body .entry-content .affwp-portal-mgr-pay__cup-equiv {
		font-size: 11.5px !important;
	}

	html body .affwp-portal-mgr-pay__cup-hint,
	html body .entry-content .affwp-portal-mgr-pay__cup-hint {
		font-size: 11px !important;
		padding: 8px 10px !important;
	}
}


/* =============================================================================
 * 82. Product search bar — refinamiento (slimmer, mas sutil, mas espacio).
 * =============================================================================
 *
 * Antes:
 *   - Padding 14px 18px (muy alto)
 *   - Border-radius 14px (chunky)
 *   - Gradient bg fuerte (linear-gradient #1a2336 → #141c2e) — pesado
 *   - Margen bottom 18px solo
 *
 * Ahora:
 *   - Padding 10px 14px (mas slim)
 *   - Border-radius 10px (mas moderno)
 *   - Bg sutil con borde, sin gradient saturado
 *   - Margen mas generoso (24px arriba/abajo)
 *   - Icono de lupa (en vez de bolsa)
 *   - Min-height 44px para tap target accesible en mobile
 */

html body .affwp-portal-mgr-product-search-bar,
html body .entry-content .affwp-portal-mgr-product-search-bar {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 8px 14px !important;
	min-height: 44px !important;
	margin: 0 0 22px !important;
	border-radius: 10px !important;
	background: rgba(255, 255, 255, 0.03) !important;
	background-image: none !important;
	border: 1px solid #1f2a40 !important;
	box-shadow: none !important;
	transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease !important;
}

html body .affwp-portal-mgr-product-search-bar:hover,
html body .entry-content .affwp-portal-mgr-product-search-bar:hover {
	border-color: #2a3753 !important;
	background: rgba(255, 255, 255, 0.05) !important;
}

html body .affwp-portal-mgr-product-search-bar:focus-within,
html body .entry-content .affwp-portal-mgr-product-search-bar:focus-within {
	border-color: rgba(16, 185, 129, 0.45) !important;
	background: rgba(16, 185, 129, 0.04) !important;
	box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.10) !important;
}

html body .affwp-portal-mgr-product-search-bar__icon,
html body .entry-content .affwp-portal-mgr-product-search-bar__icon {
	color: #64748b !important;
	flex-shrink: 0 !important;
	pointer-events: none !important;
}

html body .affwp-portal-mgr-product-search-bar__icon svg,
html body .entry-content .affwp-portal-mgr-product-search-bar__icon svg {
	width: 16px !important;
	height: 16px !important;
}

html body .affwp-portal-mgr-product-search-bar:focus-within .affwp-portal-mgr-product-search-bar__icon,
html body .entry-content .affwp-portal-mgr-product-search-bar:focus-within .affwp-portal-mgr-product-search-bar__icon {
	color: #6ee7b7 !important;
}

html body .affwp-portal-mgr-product-search-bar input,
html body .entry-content .affwp-portal-mgr-product-search-bar input {
	flex: 1 !important;
	min-width: 0 !important;
	border: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	color: #e2e8f0 !important;
	font-size: 13.5px !important;
	font-family: inherit !important;
	padding: 4px 0 !important;
	box-shadow: none !important;
}

html body .affwp-portal-mgr-product-search-bar input::placeholder,
html body .entry-content .affwp-portal-mgr-product-search-bar input::placeholder {
	color: #475569 !important;
	opacity: 1 !important;
}

/* Hide nativo del input search X */
html body .affwp-portal-mgr-product-search-bar input::-webkit-search-cancel-button,
html body .affwp-portal-mgr-product-search-bar input::-webkit-search-decoration,
html body .entry-content .affwp-portal-mgr-product-search-bar input::-webkit-search-cancel-button,
html body .entry-content .affwp-portal-mgr-product-search-bar input::-webkit-search-decoration {
	display: none !important;
}

/* ============================================================
 * Mas espacio respecto al hint y los chips de categoria
 * ============================================================ */

html body .affwp-portal-mgr-step-hint,
html body .entry-content .affwp-portal-mgr-step-hint {
	margin-bottom: 18px !important;
}

/* Categoria/subcategoria bars con mas margen arriba */
html body .affwp-portal-mgr-category-bar,
html body .entry-content .affwp-portal-mgr-category-bar {
	margin-top: 4px !important;
	margin-bottom: 8px !important;
}

html body .affwp-portal-mgr-subcategory-bar,
html body .entry-content .affwp-portal-mgr-subcategory-bar {
	margin-bottom: 8px !important;
}

/* ============================================================
 * Light mode — search bar
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-portal-mgr-product-search-bar,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-search-bar {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-product-search-bar:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-search-bar:hover {
	border-color: #cbd5e1 !important;
	background: #ffffff !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-product-search-bar:focus-within,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-search-bar:focus-within {
	border-color: rgba(5, 150, 105, 0.55) !important;
	background: #ffffff !important;
	box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.10) !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-product-search-bar__icon,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-search-bar__icon {
	color: #94a3b8 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-product-search-bar:focus-within .affwp-portal-mgr-product-search-bar__icon,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-search-bar:focus-within .affwp-portal-mgr-product-search-bar__icon {
	color: #047857 !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-product-search-bar input,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-search-bar input {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-portal-mgr-product-search-bar input::placeholder,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-search-bar input::placeholder {
	color: #94a3b8 !important;
}

/* ============================================================
 * Mobile — un poco mas de aire
 * ============================================================ */

@media (max-width: 900px) {
	html body .affwp-portal-mgr-product-search-bar,
	html body .entry-content .affwp-portal-mgr-product-search-bar {
		padding: 10px 14px !important;
		min-height: 46px !important;
		margin-bottom: 18px !important;
	}

	html body .affwp-portal-mgr-product-search-bar input,
	html body .entry-content .affwp-portal-mgr-product-search-bar input {
		font-size: 14px !important;
	}
}


/* =============================================================================
 * 83. Mobile — product cards refinement (slim, minimalista, calmo).
 * =============================================================================
 *
 * Antes en mobile:
 *   - Card padding 12px
 *   - Boton "Anadir" usa .affwp-portal-link-card__copy (CTA primario con
 *     gradient verde-cian saturado) — muy llamativo, distrae del producto
 *   - Texto del titulo en blanco bold 13.5px — agresivo
 *   - Imagen 56px
 *   - Precio en accent-light verde
 *
 * Ahora:
 *   - Card padding 10px (mas slim)
 *   - Boton "Anadir" se vuelve un PILL accent suave (no full gradient)
 *   - Tipografia con mas jerarquia: titulo gris-blanco normal, precio
 *     destacado en verde claro
 *   - Imagen 52px
 *   - Card con borde mas sutil + hover suave
 *   - Stock badge "Sin stock" mas suave
 * =============================================================================
 */

@media (max-width: 900px) {

	/* ============================================================
	 * Grid — gap mas pequeño en mobile
	 * ============================================================ */

	html body .affwp-portal-mgr-product-grid,
	html body .entry-content .affwp-portal-mgr-product-grid {
		grid-template-columns: 1fr !important;       /* una sola columna full width */
		gap: 8px !important;
		margin-top: 8px !important;
	}

	/* ============================================================
	 * Card — padding ajustado, layout flex mas limpio
	 * ============================================================ */

	html body .affwp-portal-mgr-product-result,
	html body .entry-content .affwp-portal-mgr-product-result {
		display: grid !important;
		grid-template-columns: auto 1fr auto !important;
		grid-template-rows: auto !important;
		align-items: center !important;
		gap: 12px !important;
		padding: 10px 12px !important;
		background: rgba(255, 255, 255, 0.025) !important;
		border: 1px solid #1f2a40 !important;
		border-radius: 12px !important;
		box-shadow: none !important;
		transition: border-color 0.15s ease, background 0.15s ease !important;
	}

	html body .affwp-portal-mgr-product-result:hover,
	html body .entry-content .affwp-portal-mgr-product-result:hover {
		border-color: #2a3753 !important;
		background: rgba(255, 255, 255, 0.04) !important;
		transform: none !important;
	}

	/* ============================================================
	 * Boton OPEN (image + body) — clickable area completa
	 * ============================================================ */

	html body .affwp-portal-mgr-product-result__open,
	html body .entry-content .affwp-portal-mgr-product-result__open {
		display: contents !important;        /* el grid ve los hijos directamente */
		background: transparent !important;
		border: 0 !important;
		padding: 0 !important;
		text-align: left !important;
		color: inherit !important;
		font: inherit !important;
		cursor: pointer !important;
	}

	/* ============================================================
	 * Imagen — un poco mas pequeña
	 * ============================================================ */

	html body .affwp-portal-mgr-product-result__img,
	html body .affwp-portal-mgr-product-result__noimg,
	html body .entry-content .affwp-portal-mgr-product-result__img,
	html body .entry-content .affwp-portal-mgr-product-result__noimg {
		width: 52px !important;
		height: 52px !important;
		border-radius: 8px !important;
		background: rgba(255, 255, 255, 0.04) !important;
		flex-shrink: 0 !important;
	}

	/* ============================================================
	 * Body (title + price) — jerarquia clara
	 * ============================================================ */

	html body .affwp-portal-mgr-product-result__body,
	html body .entry-content .affwp-portal-mgr-product-result__body {
		min-width: 0 !important;
	}

	html body .affwp-portal-mgr-product-result__name,
	html body .entry-content .affwp-portal-mgr-product-result__name {
		font-size: 13px !important;
		font-weight: 500 !important;
		color: #e2e8f0 !important;
		line-height: 1.35 !important;
		margin: 0 0 3px !important;
		display: -webkit-box !important;
		-webkit-line-clamp: 2 !important;
		-webkit-box-orient: vertical !important;
		overflow: hidden !important;
	}

	html body .affwp-portal-mgr-product-result__price,
	html body .entry-content .affwp-portal-mgr-product-result__price {
		font-size: 13px !important;
		font-weight: 700 !important;
		color: #6ee7b7 !important;
		margin: 0 !important;
	}

	/* ============================================================
	 * Boton "Añadir" — pill accent suave (NO gradient agresivo)
	 * Anula el .affwp-portal-link-card__copy primario.
	 * ============================================================ */

	html body .affwp-portal-mgr-product-result .affwp-portal-mgr-add-btn,
	html body .affwp-portal-mgr-product-result button.affwp-portal-mgr-add-btn,
	html body .entry-content .affwp-portal-mgr-product-result .affwp-portal-mgr-add-btn,
	html body .entry-content .affwp-portal-mgr-product-result button.affwp-portal-mgr-add-btn {
		display: inline-flex !important;
		align-items: center !important;
		gap: 4px !important;
		padding: 7px 12px !important;
		background: rgba(16, 185, 129, 0.10) !important;
		background-image: none !important;
		border: 1px solid rgba(16, 185, 129, 0.30) !important;
		border-radius: 999px !important;
		color: #6ee7b7 !important;
		font-size: 12px !important;
		font-weight: 700 !important;
		box-shadow: none !important;
		text-shadow: none !important;
		filter: none !important;
		flex-shrink: 0 !important;
		min-height: 32px !important;
		transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease !important;
	}

	html body .affwp-portal-mgr-product-result .affwp-portal-mgr-add-btn:hover,
	html body .entry-content .affwp-portal-mgr-product-result .affwp-portal-mgr-add-btn:hover {
		background: rgba(16, 185, 129, 0.18) !important;
		border-color: rgba(16, 185, 129, 0.55) !important;
		color: #99f6e4 !important;
		transform: translateY(-1px) !important;
	}

	html body .affwp-portal-mgr-product-result .affwp-portal-mgr-add-btn svg,
	html body .entry-content .affwp-portal-mgr-product-result .affwp-portal-mgr-add-btn svg {
		width: 13px !important;
		height: 13px !important;
		color: #6ee7b7 !important;
	}

	/* Estado "is-copied" feedback al añadir — verde pleno breve */
	html body .affwp-portal-mgr-product-result .affwp-portal-mgr-add-btn.is-copied,
	html body .entry-content .affwp-portal-mgr-product-result .affwp-portal-mgr-add-btn.is-copied {
		background: #10b981 !important;
		border-color: #10b981 !important;
		color: #ffffff !important;
	}

	html body .affwp-portal-mgr-product-result .affwp-portal-mgr-add-btn.is-copied svg,
	html body .entry-content .affwp-portal-mgr-product-result .affwp-portal-mgr-add-btn.is-copied svg {
		color: #ffffff !important;
	}

	/* Stock badge sin stock */
	html body .affwp-portal-mgr-product-result__stock.is-out,
	html body .entry-content .affwp-portal-mgr-product-result__stock.is-out {
		background: rgba(239, 68, 68, 0.12) !important;
		color: #fca5a5 !important;
		font-size: 10.5px !important;
		padding: 1px 6px !important;
	}

	/* ============================================================
	 * Toda la tienda / N productos — hint mas calmo
	 * ============================================================ */

	html body .affwp-portal-mgr-product-status,
	html body .entry-content .affwp-portal-mgr-product-status {
		padding: 10px 0 !important;
		margin: 4px 0 !important;
		background: transparent !important;
		border: 0 !important;
		font-size: 12px !important;
		color: #64748b !important;
	}

	html body .affwp-portal-mgr-product-status strong,
	html body .entry-content .affwp-portal-mgr-product-status strong {
		color: #cbd5e1 !important;
		font-weight: 700 !important;
	}
}

/* ============================================================
 * Light mode — versiones claras
 * ============================================================ */

@media (max-width: 900px) {

	html.affwp-portal-theme-light body .affwp-portal-mgr-product-result,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-result {
		background: #ffffff !important;
		border-color: #e2e8f0 !important;
		box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
	}

	html.affwp-portal-theme-light body .affwp-portal-mgr-product-result:hover,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-result:hover {
		border-color: #cbd5e1 !important;
		background: #ffffff !important;
		box-shadow: 0 4px 8px rgba(15, 23, 42, 0.06) !important;
	}

	html.affwp-portal-theme-light body .affwp-portal-mgr-product-result__name,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-result__name {
		color: #0f172a !important;
	}

	html.affwp-portal-theme-light body .affwp-portal-mgr-product-result__price,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-result__price {
		color: #047857 !important;
	}

	html.affwp-portal-theme-light body .affwp-portal-mgr-product-result__img,
	html.affwp-portal-theme-light body .affwp-portal-mgr-product-result__noimg,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-result__img,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-result__noimg {
		background: #f1f5f9 !important;
	}

	html.affwp-portal-theme-light body .affwp-portal-mgr-product-result .affwp-portal-mgr-add-btn,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-result .affwp-portal-mgr-add-btn {
		background: rgba(5, 150, 105, 0.08) !important;
		border-color: rgba(5, 150, 105, 0.32) !important;
		color: #047857 !important;
	}

	html.affwp-portal-theme-light body .affwp-portal-mgr-product-result .affwp-portal-mgr-add-btn:hover,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-result .affwp-portal-mgr-add-btn:hover {
		background: rgba(5, 150, 105, 0.16) !important;
		border-color: rgba(5, 150, 105, 0.55) !important;
		color: #064e3b !important;
	}

	html.affwp-portal-theme-light body .affwp-portal-mgr-product-result .affwp-portal-mgr-add-btn svg,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-result .affwp-portal-mgr-add-btn svg {
		color: #047857 !important;
	}

	html.affwp-portal-theme-light body .affwp-portal-mgr-product-status,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-status {
		color: #475569 !important;
	}

	html.affwp-portal-theme-light body .affwp-portal-mgr-product-status strong,
	html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-status strong {
		color: #0f172a !important;
	}
}


/* =============================================================================
 * 84. Affiliate Onboarding Wizard — registro multi-step.
 * =============================================================================
 *
 * Estilos del nuevo flujo de registro de afiliados / gestores. Cubre:
 *   - Auth gate card (cuando no esta logueado)
 *   - Wizard 4 steps con progress bar
 *   - Goal cards (Afiliado vs Gestor)
 *   - Form fields (nombre, telefono, etc.)
 *   - Upload zones para las 3 fotos
 *   - Modal de ayuda
 *   - Summary del paso final
 *   - Estado pending / rejected
 */

html body .affwp-onboarding-gate,
html body .affwp-onboarding,
html body .affwp-onboarding-status,
html body .entry-content .affwp-onboarding-gate,
html body .entry-content .affwp-onboarding,
html body .entry-content .affwp-onboarding-status {
	max-width: 760px !important;
	margin: 40px auto !important;
	color: #e2e8f0 !important;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", Roboto, sans-serif !important;
}

/* ============================================================
 * Auth gate — "Inicia sesión para continuar"
 * ============================================================ */

html body .affwp-onboarding-gate__card,
html body .entry-content .affwp-onboarding-gate__card {
	padding: 40px 32px !important;
	background: linear-gradient(180deg, #1a2336 0%, #141c2e 100%) !important;
	border: 1px solid #1f2a40 !important;
	border-radius: 16px !important;
	text-align: center !important;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.04) inset,
		0 12px 32px -10px rgba(0, 0, 0, 0.45) !important;
}

html body .affwp-onboarding-gate__icon,
html body .entry-content .affwp-onboarding-gate__icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 72px !important;
	height: 72px !important;
	border-radius: 50% !important;
	background: rgba(16, 185, 129, 0.12) !important;
	color: #6ee7b7 !important;
	margin-bottom: 18px !important;
}

html body .affwp-onboarding-gate__title,
html body .entry-content .affwp-onboarding-gate__title {
	font-size: 24px !important;
	font-weight: 800 !important;
	color: #f1f5f9 !important;
	margin: 0 0 10px !important;
	letter-spacing: -0.02em !important;
}

html body .affwp-onboarding-gate__desc,
html body .entry-content .affwp-onboarding-gate__desc {
	font-size: 14px !important;
	line-height: 1.55 !important;
	color: #94a3b8 !important;
	margin: 0 auto 24px !important;
	max-width: 480px !important;
}

html body .affwp-onboarding-gate__cta,
html body .entry-content .affwp-onboarding-gate__cta {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 12px 24px !important;
	background: #10b981 !important;
	border: 0 !important;
	border-radius: 999px !important;
	color: #ffffff !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	box-shadow: 0 4px 14px rgba(16, 185, 129, 0.30) !important;
	transition: background 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease !important;
}

html body .affwp-onboarding-gate__cta:hover,
html body .entry-content .affwp-onboarding-gate__cta:hover {
	background: #059669 !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 6px 20px rgba(16, 185, 129, 0.45) !important;
	color: #fff !important;
}

html body .affwp-onboarding-gate__hint,
html body .entry-content .affwp-onboarding-gate__hint {
	margin: 16px 0 0 !important;
	font-size: 12.5px !important;
	color: #64748b !important;
}

html body .affwp-onboarding-gate__hint a,
html body .entry-content .affwp-onboarding-gate__hint a {
	color: #6ee7b7 !important;
	text-decoration: underline !important;
	text-decoration-color: rgba(110, 231, 212, 0.40) !important;
}

/* ============================================================
 * Estado pending / rejected (despues de submit)
 * ============================================================ */

html body .affwp-onboarding-status,
html body .entry-content .affwp-onboarding-status {
	padding: 40px 32px !important;
	background: linear-gradient(180deg, #1a2336 0%, #141c2e 100%) !important;
	border: 1px solid #1f2a40 !important;
	border-radius: 16px !important;
	text-align: center !important;
}

html body .affwp-onboarding-status--pending,
html body .entry-content .affwp-onboarding-status--pending {
	border-color: rgba(245, 158, 11, 0.35) !important;
}

html body .affwp-onboarding-status--rejected,
html body .entry-content .affwp-onboarding-status--rejected {
	border-color: rgba(239, 68, 68, 0.35) !important;
	margin-bottom: 24px !important;
}

html body .affwp-onboarding-status__icon,
html body .entry-content .affwp-onboarding-status__icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 72px !important;
	height: 72px !important;
	border-radius: 50% !important;
	margin-bottom: 18px !important;
}

html body .affwp-onboarding-status--pending .affwp-onboarding-status__icon,
html body .entry-content .affwp-onboarding-status--pending .affwp-onboarding-status__icon {
	background: rgba(245, 158, 11, 0.15) !important;
	color: #fbbf24 !important;
}

html body .affwp-onboarding-status--rejected .affwp-onboarding-status__icon,
html body .entry-content .affwp-onboarding-status--rejected .affwp-onboarding-status__icon {
	background: rgba(239, 68, 68, 0.15) !important;
	color: #fca5a5 !important;
}

html body .affwp-onboarding-status--reverify .affwp-onboarding-status__icon,
html body .entry-content .affwp-onboarding-status--reverify .affwp-onboarding-status__icon,
html body .affwp-onboarding-status__icon--blue,
html body .entry-content .affwp-onboarding-status__icon--blue {
	background: rgba(168, 85, 247, 0.15) !important;
	color: #c4b5fd !important;
}

html body .affwp-onboarding-status__title,
html body .entry-content .affwp-onboarding-status__title {
	font-size: 22px !important;
	font-weight: 800 !important;
	color: #f1f5f9 !important;
	margin: 0 0 10px !important;
}

html body .affwp-onboarding-status__desc,
html body .entry-content .affwp-onboarding-status__desc {
	font-size: 14px !important;
	color: #cbd5e1 !important;
	max-width: 520px !important;
	margin: 0 auto 14px !important;
	line-height: 1.55 !important;
}

html body .affwp-onboarding-status__hint,
html body .entry-content .affwp-onboarding-status__hint {
	font-size: 12.5px !important;
	color: #64748b !important;
	margin: 0 !important;
}

html body .affwp-onboarding-status__reason,
html body .entry-content .affwp-onboarding-status__reason {
	margin: 16px auto !important;
	max-width: 520px !important;
	padding: 12px 16px !important;
	background: rgba(239, 68, 68, 0.10) !important;
	border-left: 3px solid #ef4444 !important;
	border-radius: 0 8px 8px 0 !important;
	color: #fca5a5 !important;
	font-style: italic !important;
	text-align: left !important;
}

/* ============================================================
 * Wizard header
 * ============================================================ */

html body .affwp-onboarding__header,
html body .entry-content .affwp-onboarding__header {
	text-align: center !important;
	margin-bottom: 24px !important;
}

html body .affwp-onboarding__title,
html body .entry-content .affwp-onboarding__title {
	font-size: 30px !important;
	font-weight: 800 !important;
	letter-spacing: -0.025em !important;
	color: #f1f5f9 !important;
	margin: 0 0 6px !important;
}

html body .affwp-onboarding__title-accent,
html body .entry-content .affwp-onboarding__title-accent {
	background: linear-gradient(135deg, #10b981 0%, #06b6d4 100%) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	color: transparent !important;
}

html body .affwp-onboarding__subtitle,
html body .entry-content .affwp-onboarding__subtitle {
	font-size: 14px !important;
	color: #94a3b8 !important;
	margin: 0 !important;
	line-height: 1.55 !important;
}

/* ============================================================
 * Progress bar
 * ============================================================ */

html body .affwp-onboarding__progress,
html body .entry-content .affwp-onboarding__progress {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	gap: 4px !important;
	margin: 0 0 28px !important;
	padding: 16px !important;
	background: rgba(255, 255, 255, 0.025) !important;
	border: 1px solid #1f2a40 !important;
	border-radius: 12px !important;
	position: relative !important;
}

html body .affwp-onboarding__progress-step,
html body .entry-content .affwp-onboarding__progress-step {
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 6px !important;
	position: relative !important;
}

html body .affwp-onboarding__progress-step:not(:last-child)::after,
html body .entry-content .affwp-onboarding__progress-step:not(:last-child)::after {
	content: '' !important;
	position: absolute !important;
	top: 14px !important;
	left: calc(50% + 16px) !important;
	right: calc(-50% + 16px) !important;
	height: 2px !important;
	background: rgba(255, 255, 255, 0.10) !important;
	z-index: 0 !important;
}

html body .affwp-onboarding__progress-step.is-complete:not(:last-child)::after,
html body .entry-content .affwp-onboarding__progress-step.is-complete:not(:last-child)::after {
	background: #10b981 !important;
}

html body .affwp-onboarding__progress-dot,
html body .entry-content .affwp-onboarding__progress-dot {
	width: 28px !important;
	height: 28px !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.06) !important;
	border: 1.5px solid rgba(255, 255, 255, 0.10) !important;
	color: #94a3b8 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	position: relative !important;
	z-index: 1 !important;
	transition: all 0.25s ease !important;
}

html body .affwp-onboarding__progress-step.is-complete .affwp-onboarding__progress-dot,
html body .entry-content .affwp-onboarding__progress-step.is-complete .affwp-onboarding__progress-dot {
	background: #10b981 !important;
	border-color: #10b981 !important;
	color: #ffffff !important;
}

html body .affwp-onboarding__progress-step.is-active .affwp-onboarding__progress-dot,
html body .entry-content .affwp-onboarding__progress-step.is-active .affwp-onboarding__progress-dot {
	background: #10b981 !important;
	border-color: #10b981 !important;
	color: #ffffff !important;
	box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.20) !important;
}

html body .affwp-onboarding__progress-label,
html body .entry-content .affwp-onboarding__progress-label {
	font-size: 11px !important;
	font-weight: 600 !important;
	color: #64748b !important;
	letter-spacing: 0.02em !important;
}

html body .affwp-onboarding__progress-step.is-active .affwp-onboarding__progress-label,
html body .affwp-onboarding__progress-step.is-complete .affwp-onboarding__progress-label,
html body .entry-content .affwp-onboarding__progress-step.is-active .affwp-onboarding__progress-label,
html body .entry-content .affwp-onboarding__progress-step.is-complete .affwp-onboarding__progress-label {
	color: #cbd5e1 !important;
}

/* ============================================================
 * Steps containers
 * ============================================================ */

html body .affwp-onboarding__step,
html body .entry-content .affwp-onboarding__step {
	display: none !important;
	background: linear-gradient(180deg, #1a2336 0%, #141c2e 100%) !important;
	border: 1px solid #1f2a40 !important;
	border-radius: 16px !important;
	padding: 28px !important;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.04) inset,
		0 12px 32px -10px rgba(0, 0, 0, 0.40) !important;
}

html body .affwp-onboarding__step.is-active,
html body .entry-content .affwp-onboarding__step.is-active {
	display: block !important;
}

html body .affwp-onboarding__step-title,
html body .entry-content .affwp-onboarding__step-title {
	font-size: 22px !important;
	font-weight: 800 !important;
	letter-spacing: -0.02em !important;
	color: #f1f5f9 !important;
	margin: 0 0 6px !important;
}

html body .affwp-onboarding__step-desc,
html body .entry-content .affwp-onboarding__step-desc {
	font-size: 13.5px !important;
	color: #94a3b8 !important;
	margin: 0 0 22px !important;
	line-height: 1.55 !important;
}

/* Nav (prev/next/submit) */
html body .affwp-onboarding__nav,
html body .entry-content .affwp-onboarding__nav {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	gap: 12px !important;
	margin-top: 24px !important;
	padding-top: 18px !important;
	border-top: 1px solid #1f2a40 !important;
}

html body .affwp-onboarding__btn-prev,
html body .entry-content .affwp-onboarding__btn-prev {
	background: transparent !important;
	border: 1px solid #2a3753 !important;
	color: #cbd5e1 !important;
	padding: 9px 16px !important;
	border-radius: 8px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	font-family: inherit !important;
	transition: all 0.15s ease !important;
}

html body .affwp-onboarding__btn-prev:hover,
html body .entry-content .affwp-onboarding__btn-prev:hover {
	background: rgba(255, 255, 255, 0.04) !important;
	border-color: #3a4a6e !important;
	color: #f1f5f9 !important;
}

/* Botón Cancelar / Volver al sitio en step 1 — mismo look que prev */
html body .affwp-onboarding__btn-cancel,
html body .entry-content .affwp-onboarding__btn-cancel {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	background: transparent !important;
	border: 1px solid #2a3753 !important;
	color: #cbd5e1 !important;
	padding: 9px 16px !important;
	border-radius: 8px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	cursor: pointer !important;
	font-family: inherit !important;
	transition: all 0.15s ease !important;
}

html body .affwp-onboarding__btn-cancel:hover,
html body .entry-content .affwp-onboarding__btn-cancel:hover {
	background: rgba(255, 255, 255, 0.04) !important;
	border-color: #3a4a6e !important;
	color: #f1f5f9 !important;
}

html body .affwp-onboarding__btn-next,
html body .affwp-onboarding__btn-submit,
html body .entry-content .affwp-onboarding__btn-next,
html body .entry-content .affwp-onboarding__btn-submit {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	background: #10b981 !important;
	border: 0 !important;
	color: #ffffff !important;
	padding: 11px 20px !important;
	border-radius: 8px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	font-family: inherit !important;
	box-shadow: 0 4px 12px rgba(16, 185, 129, 0.22) !important;
	transition: all 0.15s ease !important;
}

html body .affwp-onboarding__btn-next:hover:not(:disabled),
html body .affwp-onboarding__btn-submit:hover:not(:disabled),
html body .entry-content .affwp-onboarding__btn-next:hover:not(:disabled),
html body .entry-content .affwp-onboarding__btn-submit:hover:not(:disabled) {
	background: #059669 !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 6px 18px rgba(16, 185, 129, 0.35) !important;
}

html body .affwp-onboarding__btn-next:disabled,
html body .affwp-onboarding__btn-submit:disabled,
html body .affwp-onboarding__btn-next.is-disabled,
html body .affwp-onboarding__btn-submit.is-disabled,
html body .entry-content .affwp-onboarding__btn-next:disabled,
html body .entry-content .affwp-onboarding__btn-submit:disabled,
html body .entry-content .affwp-onboarding__btn-next.is-disabled,
html body .entry-content .affwp-onboarding__btn-submit.is-disabled {
	background: #475569 !important;
	color: #cbd5e1 !important;
	box-shadow: none !important;
	cursor: not-allowed !important;
	transform: none !important;
}

/* ============================================================
 * Step 1 — Goal cards
 * ============================================================ */

html body .affwp-onboarding-goals,
html body .entry-content .affwp-onboarding-goals {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 14px !important;
	margin-top: 4px !important;
}

@media (max-width: 600px) {
	html body .affwp-onboarding-goals,
	html body .entry-content .affwp-onboarding-goals {
		grid-template-columns: 1fr !important;
	}
}

html body .affwp-onboarding-goal,
html body .entry-content .affwp-onboarding-goal {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
	padding: 20px !important;
	background: rgba(255, 255, 255, 0.03) !important;
	border: 2px solid #1f2a40 !important;
	border-radius: 14px !important;
	cursor: pointer !important;
	transition: all 0.18s ease !important;
}

html body .affwp-onboarding-goal:hover,
html body .entry-content .affwp-onboarding-goal:hover {
	background: rgba(255, 255, 255, 0.05) !important;
	border-color: #2a3753 !important;
	transform: translateY(-1px) !important;
}

html body .affwp-onboarding-goal.is-selected,
html body .entry-content .affwp-onboarding-goal.is-selected {
	background: linear-gradient(135deg, rgba(16, 185, 129, 0.10) 0%, rgba(8, 145, 178, 0.06) 100%) !important;
	border-color: #10b981 !important;
	box-shadow:
		0 0 0 4px rgba(16, 185, 129, 0.10),
		0 8px 20px rgba(16, 185, 129, 0.18) !important;
}

html body .affwp-onboarding-goal input[type="radio"],
html body .entry-content .affwp-onboarding-goal input[type="radio"] {
	position: absolute !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

html body .affwp-onboarding-goal__icon,
html body .entry-content .affwp-onboarding-goal__icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 50px !important;
	height: 50px !important;
	border-radius: 12px !important;
	background: rgba(16, 185, 129, 0.12) !important;
	color: #6ee7b7 !important;
}

html body .affwp-onboarding-goal__name,
html body .entry-content .affwp-onboarding-goal__name {
	font-size: 17px !important;
	font-weight: 700 !important;
	color: #f1f5f9 !important;
	margin: 0 0 4px !important;
	letter-spacing: -0.01em !important;
}

html body .affwp-onboarding-goal__desc,
html body .entry-content .affwp-onboarding-goal__desc {
	font-size: 12.5px !important;
	color: #94a3b8 !important;
	margin: 0 0 10px !important;
	line-height: 1.5 !important;
}

html body .affwp-onboarding-goal__help,
html body .entry-content .affwp-onboarding-goal__help {
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	color: #6ee7b7 !important;
	font-size: 11.5px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	text-decoration: underline !important;
	text-decoration-color: rgba(110, 231, 212, 0.30) !important;
	font-family: inherit !important;
}

html body .affwp-onboarding-goal__help:hover,
html body .entry-content .affwp-onboarding-goal__help:hover {
	color: #99f6e4 !important;
	text-decoration-color: rgba(110, 231, 212, 0.60) !important;
}

html body .affwp-onboarding-goal__check,
html body .entry-content .affwp-onboarding-goal__check {
	position: absolute !important;
	top: 16px !important;
	right: 16px !important;
	width: 22px !important;
	height: 22px !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.06) !important;
	border: 2px solid rgba(255, 255, 255, 0.18) !important;
	transition: all 0.2s ease !important;
}

html body .affwp-onboarding-goal.is-selected .affwp-onboarding-goal__check,
html body .entry-content .affwp-onboarding-goal.is-selected .affwp-onboarding-goal__check {
	background: #10b981 !important;
	border-color: #10b981 !important;
	box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.16) !important;
}

html body .affwp-onboarding-goal.is-selected .affwp-onboarding-goal__check::after,
html body .entry-content .affwp-onboarding-goal.is-selected .affwp-onboarding-goal__check::after {
	content: '' !important;
	position: absolute !important;
	top: 4px !important;
	left: 7px !important;
	width: 4px !important;
	height: 9px !important;
	border-right: 2px solid #fff !important;
	border-bottom: 2px solid #fff !important;
	transform: rotate(45deg) !important;
}

/* ============================================================
 * Step 2 — Form fields
 * ============================================================ */

html body .affwp-onboarding-grid,
html body .entry-content .affwp-onboarding-grid {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 14px !important;
}

@media (max-width: 600px) {
	html body .affwp-onboarding-grid,
	html body .entry-content .affwp-onboarding-grid {
		grid-template-columns: 1fr !important;
	}
}

html body .affwp-onboarding-field,
html body .entry-content .affwp-onboarding-field {
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
}

html body .affwp-onboarding-field--full,
html body .entry-content .affwp-onboarding-field--full {
	grid-column: 1 / -1 !important;
}

html body .affwp-onboarding-field__label,
html body .entry-content .affwp-onboarding-field__label {
	font-size: 11.5px !important;
	font-weight: 700 !important;
	color: #cbd5e1 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
}

html body .affwp-onboarding-field input,
html body .affwp-onboarding-field textarea,
html body .entry-content .affwp-onboarding-field input,
html body .entry-content .affwp-onboarding-field textarea {
	background: rgba(255, 255, 255, 0.04) !important;
	border: 1px solid #1f2a40 !important;
	border-radius: 8px !important;
	padding: 10px 14px !important;
	color: #f1f5f9 !important;
	font-size: 14px !important;
	font-family: inherit !important;
	transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

html body .affwp-onboarding-field textarea,
html body .entry-content .affwp-onboarding-field textarea {
	resize: vertical !important;
	min-height: 90px !important;
}

html body .affwp-onboarding-field input:focus,
html body .affwp-onboarding-field textarea:focus,
html body .entry-content .affwp-onboarding-field input:focus,
html body .entry-content .affwp-onboarding-field textarea:focus {
	border-color: rgba(16, 185, 129, 0.55) !important;
	background: rgba(16, 185, 129, 0.04) !important;
	box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.10) !important;
	outline: 0 !important;
}

html body .affwp-onboarding-field input::placeholder,
html body .affwp-onboarding-field textarea::placeholder,
html body .entry-content .affwp-onboarding-field input::placeholder,
html body .entry-content .affwp-onboarding-field textarea::placeholder {
	color: #475569 !important;
	opacity: 1 !important;
}

html body .affwp-onboarding-field__hint,
html body .entry-content .affwp-onboarding-field__hint {
	font-size: 11.5px !important;
	color: #64748b !important;
	margin-top: 2px !important;
}

/* ============================================================
 * Step 3 — Uploads
 * ============================================================ */

html body .affwp-onboarding-uploads,
html body .entry-content .affwp-onboarding-uploads {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 14px !important;
}

html body .affwp-onboarding-upload,
html body .entry-content .affwp-onboarding-upload {
	background: rgba(255, 255, 255, 0.025) !important;
	border: 1px solid #1f2a40 !important;
	border-radius: 12px !important;
	padding: 16px !important;
}

html body .affwp-onboarding-upload__head,
html body .entry-content .affwp-onboarding-upload__head {
	display: flex !important;
	align-items: flex-start !important;
	gap: 12px !important;
	margin-bottom: 12px !important;
}

html body .affwp-onboarding-upload__num,
html body .entry-content .affwp-onboarding-upload__num {
	flex-shrink: 0 !important;
	width: 28px !important;
	height: 28px !important;
	border-radius: 50% !important;
	background: rgba(16, 185, 129, 0.14) !important;
	color: #6ee7b7 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 13px !important;
	font-weight: 700 !important;
}

html body .affwp-onboarding-upload__title,
html body .entry-content .affwp-onboarding-upload__title {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #f1f5f9 !important;
	margin: 0 0 2px !important;
}

html body .affwp-onboarding-upload__hint,
html body .entry-content .affwp-onboarding-upload__hint {
	font-size: 12px !important;
	color: #94a3b8 !important;
	margin: 0 !important;
	line-height: 1.4 !important;
}

html body .affwp-onboarding-upload__drop,
html body .entry-content .affwp-onboarding-upload__drop {
	display: block !important;
	position: relative !important;
	min-height: 120px !important;
	padding: 18px !important;
	background: rgba(0, 0, 0, 0.20) !important;
	border: 2px dashed #2a3753 !important;
	border-radius: 10px !important;
	cursor: pointer !important;
	transition: all 0.18s ease !important;
}

html body .affwp-onboarding-upload__drop:hover,
html body .affwp-onboarding-upload.is-dragging .affwp-onboarding-upload__drop,
html body .entry-content .affwp-onboarding-upload__drop:hover,
html body .entry-content .affwp-onboarding-upload.is-dragging .affwp-onboarding-upload__drop {
	border-color: rgba(16, 185, 129, 0.55) !important;
	background: rgba(16, 185, 129, 0.04) !important;
}

html body .affwp-onboarding-upload__drop input[type="file"],
html body .entry-content .affwp-onboarding-upload__drop input[type="file"] {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
	pointer-events: none !important;
	left: -9999px !important;
}

html body .affwp-onboarding-upload__drop input[type="file"][hidden],
html body .entry-content .affwp-onboarding-upload__drop input[type="file"][hidden] {
	display: none !important;
}

/* Tarjeta "How to" arriba del step 3 — recordatorio visual de los 3 pasos */
html body .affwp-onboarding-howto,
html body .entry-content .affwp-onboarding-howto {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 8px !important;
	margin: 0 0 18px !important;
	padding: 12px !important;
	background: rgba(168, 85, 247, 0.06) !important;
	border: 1px solid rgba(168, 85, 247, 0.2) !important;
	border-radius: 10px !important;
}

html body .affwp-onboarding-howto__item,
html body .entry-content .affwp-onboarding-howto__item {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-size: 12px !important;
	color: #cbd5e1 !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
}

html body .affwp-onboarding-howto__num,
html body .entry-content .affwp-onboarding-howto__num {
	flex-shrink: 0 !important;
	width: 22px !important;
	height: 22px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: linear-gradient(135deg, #a855f7 0%, #2563eb 100%) !important;
	color: white !important;
	border-radius: 50% !important;
	font-size: 11px !important;
	font-weight: 700 !important;
}

@media (max-width: 600px) {
	html body .affwp-onboarding-howto,
	html body .entry-content .affwp-onboarding-howto {
		grid-template-columns: 1fr !important;
		gap: 6px !important;
	}
}

html body .affwp-onboarding-upload__placeholder,
html body .entry-content .affwp-onboarding-upload__placeholder {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 12px !important;
	min-height: 120px !important;
	padding: 14px !important;
	color: #94a3b8 !important;
	text-align: center !important;
}

/* Override agresivo del display:flex !important para respetar [hidden]. */
html body .affwp-onboarding-upload__placeholder[hidden],
html body .entry-content .affwp-onboarding-upload__placeholder[hidden],
html body .affwp-onboarding-upload__preview[hidden],
html body .entry-content .affwp-onboarding-upload__preview[hidden] {
	display: none !important;
}

html body .affwp-onboarding-upload__placeholder-icon,
html body .entry-content .affwp-onboarding-upload__placeholder-icon {
	color: #64748b !important;
	width: 36px !important;
	height: 36px !important;
}

html body .affwp-onboarding-upload__placeholder small,
html body .entry-content .affwp-onboarding-upload__placeholder small {
	font-size: 11px !important;
	color: #64748b !important;
	margin-top: 2px !important;
}

/* Fila con dos botones (cámara + galería) */
html body .affwp-onboarding-upload__cta-row,
html body .entry-content .affwp-onboarding-upload__cta-row {
	display: flex !important;
	gap: 8px !important;
	width: 100% !important;
	max-width: 320px !important;
	margin: 4px 0 !important;
}

html body .affwp-onboarding-upload__cta,
html body .entry-content .affwp-onboarding-upload__cta {
	flex: 1 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	padding: 11px 12px !important;
	border-radius: 8px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	font-family: inherit !important;
	transition: all 0.15s ease !important;
	border: 1px solid transparent !important;
}

html body .affwp-onboarding-upload__cta--camera,
html body .entry-content .affwp-onboarding-upload__cta--camera {
	background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
	color: white !important;
	box-shadow: 0 4px 12px rgba(16, 185, 129, 0.25) !important;
}

html body .affwp-onboarding-upload__cta--camera:hover,
html body .entry-content .affwp-onboarding-upload__cta--camera:hover {
	transform: translateY(-1px) !important;
	box-shadow: 0 6px 18px rgba(16, 185, 129, 0.35) !important;
	color: white !important;
}

html body .affwp-onboarding-upload__cta--gallery,
html body .entry-content .affwp-onboarding-upload__cta--gallery {
	background: rgba(255, 255, 255, 0.06) !important;
	color: #cbd5e1 !important;
	border-color: rgba(255, 255, 255, 0.12) !important;
}

html body .affwp-onboarding-upload__cta--gallery:hover,
html body .entry-content .affwp-onboarding-upload__cta--gallery:hover {
	background: rgba(255, 255, 255, 0.1) !important;
	border-color: rgba(255, 255, 255, 0.2) !important;
	color: white !important;
}

html body .affwp-onboarding-upload__preview,
html body .entry-content .affwp-onboarding-upload__preview {
	position: relative !important;
	display: block !important;
}

html body .affwp-onboarding-upload__preview img,
html body .entry-content .affwp-onboarding-upload__preview img {
	display: block !important;
	width: 100% !important;
	max-height: 200px !important;
	object-fit: cover !important;
	border-radius: 6px !important;
}

html body .affwp-onboarding-upload__replace,
html body .entry-content .affwp-onboarding-upload__replace {
	position: absolute !important;
	bottom: 8px !important;
	right: 8px !important;
	padding: 6px 12px !important;
	background: rgba(0, 0, 0, 0.65) !important;
	color: #fff !important;
	border: 1px solid rgba(255, 255, 255, 0.20) !important;
	border-radius: 6px !important;
	font-size: 11.5px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	font-family: inherit !important;
	backdrop-filter: blur(6px) !important;
	-webkit-backdrop-filter: blur(6px) !important;
}

html body .affwp-onboarding-upload__replace:hover,
html body .entry-content .affwp-onboarding-upload__replace:hover {
	background: rgba(0, 0, 0, 0.85) !important;
}

/* Progress overlay — cubre todo el slot con backdrop-blur + card centrada con
 * spinner, status text, barra de progreso y % numérico. Visible y obvio
 * incluso en conexiones MUY lentas (Cuba). */
html body .affwp-onboarding-upload__progress[hidden],
html body .entry-content .affwp-onboarding-upload__progress[hidden] {
	display: none !important;
}
html body .affwp-onboarding-upload__progress,
html body .entry-content .affwp-onboarding-upload__progress {
	position: absolute !important;
	inset: 0 !important;
	z-index: 10 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: rgba(10, 14, 26, 0.78) !important;
	backdrop-filter: blur(6px) !important;
	-webkit-backdrop-filter: blur(6px) !important;
	border-radius: inherit !important;
	padding: 16px !important;
	margin: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
	pointer-events: auto !important;
	animation: affwp-onb-progress-fade 0.18s ease-out !important;
}
@keyframes affwp-onb-progress-fade {
	from { opacity: 0; }
	to   { opacity: 1; }
}

html body .affwp-onboarding-upload__progress-card,
html body .entry-content .affwp-onboarding-upload__progress-card {
	width: 100% !important;
	max-width: 280px !important;
	background: rgba(255, 255, 255, 0.06) !important;
	border: 1px solid rgba(255, 255, 255, 0.12) !important;
	border-radius: 12px !important;
	padding: 18px 20px !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 10px !important;
	color: #fff !important;
	box-shadow: 0 12px 32px -8px rgba(0, 0, 0, 0.5) !important;
}

html body .affwp-onboarding-upload__progress-spinner {
	width: 28px !important;
	height: 28px !important;
	border-radius: 50% !important;
	border: 3px solid rgba(255, 255, 255, 0.18) !important;
	border-top-color: #a855f7 !important;
	animation: affwp-onb-spin 0.7s linear infinite !important;
}
@keyframes affwp-onb-spin {
	to { transform: rotate(360deg); }
}

html body .affwp-onboarding-upload__progress-status {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #fff !important;
	text-align: center !important;
	line-height: 1.3 !important;
	letter-spacing: -0.01em !important;
	margin: 2px 0 0 !important;
}

html body .affwp-onboarding-upload__progress-track {
	width: 100% !important;
	height: 6px !important;
	background: rgba(255, 255, 255, 0.10) !important;
	border-radius: 3px !important;
	overflow: hidden !important;
	position: relative !important;
	margin-top: 4px !important;
}

html body .affwp-onboarding-upload__progress-bar,
html body .entry-content .affwp-onboarding-upload__progress-bar {
	height: 100% !important;
	width: 0% !important;
	background: linear-gradient(90deg, #a855f7, #06b6d4) !important;
	border-radius: 3px !important;
	transition: width 0.25s ease !important;
	box-shadow: 0 0 12px -2px rgba(168, 85, 247, 0.6) !important;
}

html body .affwp-onboarding-upload__progress-meta {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	width: 100% !important;
	gap: 8px !important;
	margin-top: 2px !important;
}

html body .affwp-onboarding-upload__progress-pct {
	font-size: 12px !important;
	font-weight: 700 !important;
	color: #d8b4fe !important;
	font-variant-numeric: tabular-nums !important;
	letter-spacing: 0.02em !important;
}

html body .affwp-onboarding-upload__progress-hint {
	font-size: 11px !important;
	color: rgba(255, 255, 255, 0.6) !important;
	text-align: right !important;
	flex: 1 !important;
	min-width: 0 !important;
}

/* Esconde el botón "Reemplazar" mientras se está subiendo para que no haya
 * race condition (usuario hace click y sube otra antes de que termine la 1ª). */
html body .affwp-onboarding-upload.is-uploading .affwp-onboarding-upload__replace {
	display: none !important;
}

html body .affwp-onboarding-upload__error,
html body .entry-content .affwp-onboarding-upload__error {
	margin: 8px 0 0 !important;
	padding: 8px 12px !important;
	background: rgba(239, 68, 68, 0.10) !important;
	border-left: 2px solid #ef4444 !important;
	color: #fca5a5 !important;
	font-size: 12px !important;
	border-radius: 0 6px 6px 0 !important;
}

html body .affwp-onboarding-upload.is-uploaded .affwp-onboarding-upload__num,
html body .entry-content .affwp-onboarding-upload.is-uploaded .affwp-onboarding-upload__num {
	background: #10b981 !important;
	color: #fff !important;
}

html body .affwp-onboarding-upload.is-uploaded .affwp-onboarding-upload__num::before,
html body .entry-content .affwp-onboarding-upload.is-uploaded .affwp-onboarding-upload__num::before {
	content: '✓' !important;
}

html body .affwp-onboarding-upload.is-uploaded .affwp-onboarding-upload__drop,
html body .entry-content .affwp-onboarding-upload.is-uploaded .affwp-onboarding-upload__drop {
	border-style: solid !important;
	border-color: rgba(16, 185, 129, 0.40) !important;
}

/* Privacy notice */
html body .affwp-onboarding__privacy,
html body .entry-content .affwp-onboarding__privacy {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin: 18px 0 0 !important;
	padding: 10px 14px !important;
	background: rgba(16, 185, 129, 0.06) !important;
	border-left: 2px solid rgba(16, 185, 129, 0.40) !important;
	border-radius: 0 6px 6px 0 !important;
	font-size: 12px !important;
	color: #cbd5e1 !important;
	line-height: 1.45 !important;
}

html body .affwp-onboarding__privacy svg,
html body .entry-content .affwp-onboarding__privacy svg {
	flex-shrink: 0 !important;
	color: #6ee7b7 !important;
}

/* ============================================================
 * Step 4 — Summary + ToS
 * ============================================================ */

html body .affwp-onboarding-summary,
html body .entry-content .affwp-onboarding-summary {
	background: rgba(255, 255, 255, 0.025) !important;
	border: 1px solid #1f2a40 !important;
	border-radius: 12px !important;
	padding: 18px 22px !important;
	margin-bottom: 20px !important;
}

html body .affwp-onboarding-summary__row,
html body .entry-content .affwp-onboarding-summary__row {
	display: flex !important;
	justify-content: space-between !important;
	align-items: baseline !important;
	gap: 16px !important;
	padding: 8px 0 !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
}

html body .affwp-onboarding-summary__row:last-of-type,
html body .entry-content .affwp-onboarding-summary__row:last-of-type {
	border-bottom: 0 !important;
}

html body .affwp-onboarding-summary__row--block,
html body .entry-content .affwp-onboarding-summary__row--block {
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 4px !important;
}

html body .affwp-onboarding-summary__label,
html body .entry-content .affwp-onboarding-summary__label {
	font-size: 11.5px !important;
	font-weight: 700 !important;
	color: #94a3b8 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
	flex-shrink: 0 !important;
}

html body .affwp-onboarding-summary__value,
html body .entry-content .affwp-onboarding-summary__value {
	font-size: 13.5px !important;
	color: #f1f5f9 !important;
	font-weight: 500 !important;
	text-align: right !important;
	line-height: 1.5 !important;
}

html body .affwp-onboarding-summary__row--block .affwp-onboarding-summary__value,
html body .entry-content .affwp-onboarding-summary__row--block .affwp-onboarding-summary__value {
	text-align: left !important;
}

html body .affwp-onboarding-summary__photos,
html body .entry-content .affwp-onboarding-summary__photos {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 10px !important;
	margin-top: 14px !important;
	padding-top: 14px !important;
	border-top: 1px dashed rgba(255, 255, 255, 0.08) !important;
	align-items: end !important;
}

html body .affwp-onboarding-summary__photo,
html body .entry-content .affwp-onboarding-summary__photo {
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
}

html body .affwp-onboarding-summary__photo small,
html body .entry-content .affwp-onboarding-summary__photo small {
	font-size: 10.5px !important;
	color: #94a3b8 !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	text-align: center !important;
	min-height: 26px !important;
	display: flex !important;
	align-items: flex-end !important;
	justify-content: center !important;
	line-height: 1.25 !important;
}

html body .affwp-onboarding-summary__photo img,
html body .entry-content .affwp-onboarding-summary__photo img {
	display: block !important;
	width: 100% !important;
	aspect-ratio: 1 / 1 !important;
	height: auto !important;
	object-fit: cover !important;
	border-radius: 8px !important;
	border: 1px solid #1f2a40 !important;
}

html body .affwp-onboarding-summary__missing,
html body .entry-content .affwp-onboarding-summary__missing {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 80px !important;
	background: rgba(239, 68, 68, 0.08) !important;
	border: 1px dashed rgba(239, 68, 68, 0.30) !important;
	border-radius: 6px !important;
	color: #fca5a5 !important;
	font-weight: 700 !important;
}

html body .affwp-onboarding-tos,
html body .entry-content .affwp-onboarding-tos {
	display: flex !important;
	align-items: flex-start !important;
	gap: 10px !important;
	padding: 14px 16px !important;
	background: rgba(255, 255, 255, 0.025) !important;
	border: 1px solid #1f2a40 !important;
	border-radius: 8px !important;
	cursor: pointer !important;
}

html body .affwp-onboarding-tos input[type="checkbox"],
html body .entry-content .affwp-onboarding-tos input[type="checkbox"] {
	width: 18px !important;
	height: 18px !important;
	margin: 2px 0 0 !important;
	flex-shrink: 0 !important;
	accent-color: #10b981 !important;
}

html body .affwp-onboarding-tos span,
html body .entry-content .affwp-onboarding-tos span {
	font-size: 13.5px !important;
	color: #cbd5e1 !important;
	line-height: 1.5 !important;
}

html body .affwp-onboarding-tos a,
html body .entry-content .affwp-onboarding-tos a {
	color: #6ee7b7 !important;
	text-decoration: underline !important;
	text-decoration-color: rgba(110, 231, 212, 0.40) !important;
}

/* Estado oculto del mensaje de error (por default invisible) */
html body .affwp-onboarding-tos__error,
html body .entry-content .affwp-onboarding-tos__error {
	display: none !important;
	flex-basis: 100% !important;
	margin-top: 10px !important;
	padding: 8px 12px !important;
	background: rgba(239, 68, 68, 0.12) !important;
	border-left: 3px solid #ef4444 !important;
	border-radius: 0 6px 6px 0 !important;
	color: #fca5a5 !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	align-items: center !important;
	gap: 6px !important;
	line-height: 1.4 !important;
}

/* Estado de error del checkbox ToS — se activa cuando user toca Enviar
 * sin marcarlo. Border rojo + animación shake + mensaje visible. */
html body .affwp-onboarding-tos.is-error,
html body .entry-content .affwp-onboarding-tos.is-error {
	background: rgba(239, 68, 68, 0.08) !important;
	border-color: #ef4444 !important;
	box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15) !important;
	animation: affwp-onb-shake 0.45s cubic-bezier(.36,.07,.19,.97) !important;
}

html body .affwp-onboarding-tos.is-error .affwp-onboarding-tos__error,
html body .entry-content .affwp-onboarding-tos.is-error .affwp-onboarding-tos__error {
	display: inline-flex !important;
}

@keyframes affwp-onb-shake {
	10%, 90%  { transform: translateX(-2px); }
	20%, 80%  { transform: translateX(3px); }
	30%, 50%, 70% { transform: translateX(-5px); }
	40%, 60%  { transform: translateX(5px); }
}

/* Submit visualmente disabled pero clickeable (para que el JS valide) */
html body .affwp-onboarding__btn-submit.is-disabled,
html body .entry-content .affwp-onboarding__btn-submit.is-disabled {
	opacity: 0.6 !important;
	filter: grayscale(0.3) !important;
	cursor: pointer !important;
}
html body .affwp-onboarding__btn-submit.is-disabled:hover,
html body .entry-content .affwp-onboarding__btn-submit.is-disabled:hover {
	opacity: 0.85 !important;
}

/* ============================================================
 * Help modal
 * ============================================================ */

html.affwp-onboarding-help-open body,
html.affwp-onboarding-help-open {
	overflow: hidden !important;
}

html body .affwp-onboarding-help-modal,
html body .entry-content .affwp-onboarding-help-modal {
	position: fixed !important;
	inset: 0 !important;
	z-index: 99999 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 20px !important;
}

html body .affwp-onboarding-help-modal[hidden],
html body .entry-content .affwp-onboarding-help-modal[hidden] {
	display: none !important;
}

html body .affwp-onboarding-help-modal__overlay,
html body .entry-content .affwp-onboarding-help-modal__overlay {
	position: absolute !important;
	inset: 0 !important;
	background: rgba(5, 8, 14, 0.72) !important;
	backdrop-filter: blur(6px) !important;
	-webkit-backdrop-filter: blur(6px) !important;
	cursor: zoom-out !important;
}

html body .affwp-onboarding-help-modal__panel,
html body .entry-content .affwp-onboarding-help-modal__panel {
	position: relative !important;
	z-index: 1 !important;
	max-width: 520px !important;
	width: 100% !important;
	max-height: calc(100vh - 40px) !important;
	overflow-y: auto !important;
	padding: 28px 28px 24px !important;
	background: linear-gradient(180deg, #1a2336 0%, #141c2e 100%) !important;
	border: 1px solid #2a3753 !important;
	border-radius: 14px !important;
	box-shadow: 0 32px 80px rgba(0, 0, 0, 0.55) !important;
	color: #cbd5e1 !important;
}

html body .affwp-onboarding-help-modal__panel h3,
html body .entry-content .affwp-onboarding-help-modal__panel h3 {
	font-size: 20px !important;
	font-weight: 800 !important;
	color: #f1f5f9 !important;
	margin: 0 0 12px !important;
}

html body .affwp-onboarding-help-modal__panel p,
html body .entry-content .affwp-onboarding-help-modal__panel p {
	font-size: 13.5px !important;
	color: #cbd5e1 !important;
	line-height: 1.55 !important;
	margin: 0 0 12px !important;
}

html body .affwp-onboarding-help-modal__panel ul,
html body .entry-content .affwp-onboarding-help-modal__panel ul {
	margin: 0 0 14px !important;
	padding: 0 !important;
	list-style: none !important;
}

html body .affwp-onboarding-help-modal__panel ul li,
html body .entry-content .affwp-onboarding-help-modal__panel ul li {
	padding: 6px 0 !important;
	color: #cbd5e1 !important;
	font-size: 13px !important;
}

html body .affwp-onboarding-help-modal__panel strong,
html body .entry-content .affwp-onboarding-help-modal__panel strong {
	color: #f1f5f9 !important;
}

html body .affwp-onboarding-help-modal__hint,
html body .entry-content .affwp-onboarding-help-modal__hint {
	margin-top: 8px !important;
	padding: 10px 14px !important;
	background: rgba(16, 185, 129, 0.08) !important;
	border-left: 2px solid #10b981 !important;
	border-radius: 0 6px 6px 0 !important;
	font-size: 12.5px !important;
}

html body .affwp-onboarding-help-modal__close,
html body .entry-content .affwp-onboarding-help-modal__close {
	position: absolute !important;
	top: 14px !important;
	right: 14px !important;
	width: 32px !important;
	height: 32px !important;
	background: rgba(255, 255, 255, 0.06) !important;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
	color: #cbd5e1 !important;
	font-size: 22px !important;
	line-height: 1 !important;
	border-radius: 50% !important;
	cursor: pointer !important;
	font-family: inherit !important;
}

html body .affwp-onboarding-help-modal__close:hover,
html body .entry-content .affwp-onboarding-help-modal__close:hover {
	background: rgba(239, 68, 68, 0.18) !important;
	border-color: rgba(239, 68, 68, 0.40) !important;
	color: #fca5a5 !important;
}

/* ============================================================
 * Light mode overrides
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-onboarding-gate__card,
html.affwp-portal-theme-light body .affwp-onboarding__step,
html.affwp-portal-theme-light body .affwp-onboarding-status,
html.affwp-portal-theme-light body .affwp-onboarding-help-modal__panel,
html.affwp-portal-theme-light body .entry-content .affwp-onboarding-gate__card,
html.affwp-portal-theme-light body .entry-content .affwp-onboarding__step,
html.affwp-portal-theme-light body .entry-content .affwp-onboarding-status,
html.affwp-portal-theme-light body .entry-content .affwp-onboarding-help-modal__panel {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06), 0 12px 32px rgba(15, 23, 42, 0.08) !important;
	color: #1e293b !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-gate__title,
html.affwp-portal-theme-light body .affwp-onboarding-status__title,
html.affwp-portal-theme-light body .affwp-onboarding__title,
html.affwp-portal-theme-light body .affwp-onboarding__step-title,
html.affwp-portal-theme-light body .affwp-onboarding-goal__name,
html.affwp-portal-theme-light body .affwp-onboarding-upload__title,
html.affwp-portal-theme-light body .affwp-onboarding-summary__value,
html.affwp-portal-theme-light body .affwp-onboarding-help-modal__panel h3 {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-gate__desc,
html.affwp-portal-theme-light body .affwp-onboarding-status__desc,
html.affwp-portal-theme-light body .affwp-onboarding__subtitle,
html.affwp-portal-theme-light body .affwp-onboarding__step-desc,
html.affwp-portal-theme-light body .affwp-onboarding-goal__desc,
html.affwp-portal-theme-light body .affwp-onboarding-upload__hint,
html.affwp-portal-theme-light body .affwp-onboarding-help-modal__panel p,
html.affwp-portal-theme-light body .affwp-onboarding-help-modal__panel ul li {
	color: #475569 !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-field input,
html.affwp-portal-theme-light body .affwp-onboarding-field textarea {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-upload__drop {
	background: #f8fafc !important;
	border-color: #cbd5e1 !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-goal {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-goal.is-selected {
	background: linear-gradient(135deg, rgba(5, 150, 105, 0.06) 0%, rgba(8, 145, 178, 0.04) 100%) !important;
	border-color: #059669 !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-summary,
html.affwp-portal-theme-light body .affwp-onboarding-tos {
	background: #f8fafc !important;
	border-color: #e2e8f0 !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-summary__row {
	border-bottom-color: #e2e8f0 !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-tos span {
	color: #475569 !important;
}


/* =============================================================================
 * 85. Onboarding wizard V2 — fullscreen takeover + multi-select goals +
 *     promotion checkboxes + contraste mejorado.
 * =============================================================================
 */

/* ============================================================
 * Fullscreen takeover — pantalla entera oscura sin header/footer del tema.
 * Aplica cuando body tiene `affwp-onboarding-fullscreen` (no afiliado logueado
 * en pagina del Affiliate Area).
 * ============================================================ */

html body.affwp-onboarding-fullscreen {
	background: #0a0f1c !important;
	overflow-x: hidden !important;
}

html body.affwp-onboarding-fullscreen #wpadminbar {
	display: none !important;
}

/* Reaprovechamos los hides del tema que ya tiene la seccion 19
   (.site-header, .whb-header, .woodmart-header, footer, breadcrumbs, etc.).
   Solo necesitamos garantizar que el wrapper del contenido se expanda
   y tenga fondo dark. */

html body.affwp-onboarding-fullscreen .site,
html body.affwp-onboarding-fullscreen .site-content,
html body.affwp-onboarding-fullscreen .entry-content,
html body.affwp-onboarding-fullscreen article,
html body.affwp-onboarding-fullscreen .container,
html body.affwp-onboarding-fullscreen #main-content,
html body.affwp-onboarding-fullscreen .wd-page-content,
html body.affwp-onboarding-fullscreen .wd-content-area,
html body.affwp-onboarding-fullscreen .main-page-wrapper,
html body.affwp-onboarding-fullscreen main {
	max-width: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #0a0f1c !important;
	min-height: auto !important;
	border: 0 !important;
}

html body.affwp-onboarding-fullscreen article {
	min-height: 100vh !important;
	padding: 24px 16px 60px !important;
}

/* Light mode: fondo claro en vez de dark */
html.affwp-portal-theme-light body.affwp-onboarding-fullscreen {
	background: #f8fafc !important;
}

html.affwp-portal-theme-light body.affwp-onboarding-fullscreen .site,
html.affwp-portal-theme-light body.affwp-onboarding-fullscreen .site-content,
html.affwp-portal-theme-light body.affwp-onboarding-fullscreen .entry-content,
html.affwp-portal-theme-light body.affwp-onboarding-fullscreen article,
html.affwp-portal-theme-light body.affwp-onboarding-fullscreen .container,
html.affwp-portal-theme-light body.affwp-onboarding-fullscreen #main-content,
html.affwp-portal-theme-light body.affwp-onboarding-fullscreen .wd-page-content,
html.affwp-portal-theme-light body.affwp-onboarding-fullscreen .wd-content-area,
html.affwp-portal-theme-light body.affwp-onboarding-fullscreen .main-page-wrapper,
html.affwp-portal-theme-light body.affwp-onboarding-fullscreen main {
	background: #f8fafc !important;
}

/* ============================================================
 * Contraste de textos — los grises eran demasiado bajos
 * ============================================================ */

html body .affwp-onboarding__title,
html body .entry-content .affwp-onboarding__title {
	color: #ffffff !important;
	font-weight: 800 !important;
}

html body .affwp-onboarding__subtitle,
html body .entry-content .affwp-onboarding__subtitle {
	color: #cbd5e1 !important;
}

html body .affwp-onboarding-goal__name,
html body .entry-content .affwp-onboarding-goal__name {
	color: #ffffff !important;
	font-weight: 700 !important;
}

html body .affwp-onboarding-goal__desc,
html body .entry-content .affwp-onboarding-goal__desc {
	color: #cbd5e1 !important;
}

html body .affwp-onboarding-goal__help,
html body .entry-content .affwp-onboarding-goal__help {
	color: #6ee7b7 !important;
}

html body .affwp-onboarding__step-title,
html body .entry-content .affwp-onboarding__step-title {
	color: #ffffff !important;
}

html body .affwp-onboarding__step-desc,
html body .entry-content .affwp-onboarding__step-desc {
	color: #cbd5e1 !important;
}

/* Step 1: tip text bajo las cards */
html body .affwp-onboarding__step-tip,
html body .entry-content .affwp-onboarding__step-tip {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin: 18px 0 0 !important;
	padding: 10px 14px !important;
	background: rgba(16, 185, 129, 0.08) !important;
	border-left: 2px solid rgba(16, 185, 129, 0.50) !important;
	border-radius: 0 8px 8px 0 !important;
	font-size: 12.5px !important;
	color: #cbd5e1 !important;
	line-height: 1.5 !important;
}

html body .affwp-onboarding__step-tip svg,
html body .entry-content .affwp-onboarding__step-tip svg {
	flex-shrink: 0 !important;
	color: #6ee7b7 !important;
}

/* ============================================================
 * Goal cards multi-select — checkbox visual square en lugar de circle
 * ============================================================ */

html body .affwp-onboarding-goal__check,
html body .entry-content .affwp-onboarding-goal__check {
	border-radius: 6px !important;       /* square en vez de circle */
}

html body .affwp-onboarding-goal.is-selected .affwp-onboarding-goal__check::after,
html body .entry-content .affwp-onboarding-goal.is-selected .affwp-onboarding-goal__check::after {
	top: 2px !important;
	left: 6px !important;
	width: 4px !important;
	height: 9px !important;
	border-right: 2.2px solid #fff !important;
	border-bottom: 2.2px solid #fff !important;
}

/* ============================================================
 * Promotion checkbox grid
 * ============================================================ */

html body .affwp-onboarding-promo,
html body .entry-content .affwp-onboarding-promo {
	margin-top: 18px !important;
}

html body .affwp-onboarding-promo__grid,
html body .entry-content .affwp-onboarding-promo__grid {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 8px !important;
}

@media (max-width: 720px) {
	html body .affwp-onboarding-promo__grid,
	html body .entry-content .affwp-onboarding-promo__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

html body .affwp-onboarding-promo__opt,
html body .entry-content .affwp-onboarding-promo__opt {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 4px !important;
	padding: 12px 8px !important;
	background: rgba(255, 255, 255, 0.025) !important;
	border: 1px solid #1f2a40 !important;
	border-radius: 10px !important;
	cursor: pointer !important;
	transition: all 0.18s ease !important;
	text-align: center !important;
}

html body .affwp-onboarding-promo__opt input,
html body .entry-content .affwp-onboarding-promo__opt input {
	position: absolute !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

html body .affwp-onboarding-promo__opt:hover,
html body .entry-content .affwp-onboarding-promo__opt:hover {
	border-color: #2a3753 !important;
	background: rgba(255, 255, 255, 0.05) !important;
	transform: translateY(-1px) !important;
}

html body .affwp-onboarding-promo__opt.is-selected,
html body .entry-content .affwp-onboarding-promo__opt.is-selected {
	background: rgba(16, 185, 129, 0.10) !important;
	border-color: #10b981 !important;
	box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.10) !important;
}

html body .affwp-onboarding-promo__opt-emoji,
html body .entry-content .affwp-onboarding-promo__opt-emoji {
	font-size: 22px !important;
	line-height: 1 !important;
}

html body .affwp-onboarding-promo__opt-label,
html body .entry-content .affwp-onboarding-promo__opt-label {
	font-size: 11.5px !important;
	font-weight: 600 !important;
	color: #cbd5e1 !important;
	line-height: 1.3 !important;
}

html body .affwp-onboarding-promo__opt.is-selected .affwp-onboarding-promo__opt-label,
html body .entry-content .affwp-onboarding-promo__opt.is-selected .affwp-onboarding-promo__opt-label {
	color: #ffffff !important;
}

html body .affwp-onboarding-promo__other-row,
html body .entry-content .affwp-onboarding-promo__other-row {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin: 12px 0 6px !important;
	cursor: pointer !important;
}

html body .affwp-onboarding-promo__other-row input[type="checkbox"],
html body .entry-content .affwp-onboarding-promo__other-row input[type="checkbox"] {
	width: 16px !important;
	height: 16px !important;
	margin: 0 !important;
	flex-shrink: 0 !important;
	accent-color: #10b981 !important;
}

html body .affwp-onboarding-promo__other-row span,
html body .entry-content .affwp-onboarding-promo__other-row span {
	font-size: 13px !important;
	color: #cbd5e1 !important;
}

html body input[data-affwp-onb-promo-other],
html body .entry-content input[data-affwp-onb-promo-other] {
	width: 100% !important;
	background: rgba(255, 255, 255, 0.04) !important;
	border: 1px solid #1f2a40 !important;
	border-radius: 8px !important;
	padding: 9px 14px !important;
	color: #f1f5f9 !important;
	font-size: 13.5px !important;
	font-family: inherit !important;
	box-sizing: border-box !important;
}

html body input[data-affwp-onb-promo-other]:focus,
html body .entry-content input[data-affwp-onb-promo-other]:focus {
	outline: 0 !important;
	border-color: rgba(16, 185, 129, 0.55) !important;
	box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.10) !important;
}

html body input[data-affwp-onb-promo-other]::placeholder,
html body .entry-content input[data-affwp-onb-promo-other]::placeholder {
	color: #475569 !important;
}

/* ============================================================
 * Light mode overrides para promotion grid
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-onboarding-promo__opt,
html.affwp-portal-theme-light body .entry-content .affwp-onboarding-promo__opt {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-promo__opt:hover,
html.affwp-portal-theme-light body .entry-content .affwp-onboarding-promo__opt:hover {
	background: #f8fafc !important;
	border-color: #cbd5e1 !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-promo__opt.is-selected,
html.affwp-portal-theme-light body .entry-content .affwp-onboarding-promo__opt.is-selected {
	background: rgba(5, 150, 105, 0.08) !important;
	border-color: #059669 !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-promo__opt-label {
	color: #475569 !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-promo__opt.is-selected .affwp-onboarding-promo__opt-label {
	color: #064e3b !important;
}

html.affwp-portal-theme-light body input[data-affwp-onb-promo-other] {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
	color: #0f172a !important;
}

html.affwp-portal-theme-light body input[data-affwp-onb-promo-other]::placeholder {
	color: #94a3b8 !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-promo__other-row span {
	color: #475569 !important;
}

html.affwp-portal-theme-light body .affwp-onboarding__step-tip {
	background: rgba(5, 150, 105, 0.06) !important;
	border-left-color: #059669 !important;
	color: #475569 !important;
}

html.affwp-portal-theme-light body .affwp-onboarding__step-tip svg {
	color: #047857 !important;
}

/* ============================================================
 * Mobile: spacing más compacto
 * ============================================================ */

@media (max-width: 720px) {
	html body .affwp-onboarding,
	html body .affwp-onboarding-gate,
	html body .affwp-onboarding-status,
	html body .entry-content .affwp-onboarding,
	html body .entry-content .affwp-onboarding-gate,
	html body .entry-content .affwp-onboarding-status {
		margin: 16px auto !important;
		padding: 0 !important;
	}

	html body .affwp-onboarding__step,
	html body .entry-content .affwp-onboarding__step {
		padding: 20px 18px !important;
		border-radius: 14px !important;
	}

	html body .affwp-onboarding__title,
	html body .entry-content .affwp-onboarding__title {
		font-size: 24px !important;
	}

	html body .affwp-onboarding__step-title,
	html body .entry-content .affwp-onboarding__step-title {
		font-size: 18px !important;
	}

	html body .affwp-onboarding__progress,
	html body .entry-content .affwp-onboarding__progress {
		padding: 12px 8px !important;
		margin-bottom: 18px !important;
	}

	html body .affwp-onboarding__progress-label,
	html body .entry-content .affwp-onboarding__progress-label {
		font-size: 10px !important;
	}

	html body .affwp-onboarding-goal,
	html body .entry-content .affwp-onboarding-goal {
		padding: 16px !important;
	}

	html body .affwp-onboarding-goal__name,
	html body .entry-content .affwp-onboarding-goal__name {
		font-size: 15px !important;
	}

	html body .affwp-onboarding-goal__desc,
	html body .entry-content .affwp-onboarding-goal__desc {
		font-size: 12px !important;
	}

	html body .affwp-onboarding-promo,
	html body .entry-content .affwp-onboarding-promo {
		margin-top: 14px !important;
	}

	html body .affwp-onboarding-promo__opt,
	html body .entry-content .affwp-onboarding-promo__opt {
		padding: 10px 6px !important;
	}

	html body .affwp-onboarding-promo__opt-emoji,
	html body .entry-content .affwp-onboarding-promo__opt-emoji {
		font-size: 18px !important;
	}

	html body .affwp-onboarding-promo__opt-label,
	html body .entry-content .affwp-onboarding-promo__opt-label {
		font-size: 11px !important;
	}
}


/* =============================================================================
 * 86. Onboarding wizard — fixes #1: hide native checkbox + mobile compact.
 * =============================================================================
 *
 * Problemas:
 *   1. El checkbox nativo se ve (cuadrito blanco) porque las reglas que lo
 *      ocultaban apuntaban a `input[type="radio"]` pero ahora son checkboxes.
 *   2. En mobile las cards de objetivo son muy altas, no caben las dos en
 *      pantalla. Las hacemos compactas en grid de 2 columnas siempre.
 * =============================================================================
 */

/* ============================================================
 * Ocultar el input nativo (checkbox o radio) — selector reforzado.
 * ============================================================ */

html body .affwp-onboarding-goal input,
html body .affwp-onboarding-goal input[type="checkbox"],
html body .affwp-onboarding-goal input[type="radio"],
html body .entry-content .affwp-onboarding-goal input,
html body .entry-content .affwp-onboarding-goal input[type="checkbox"],
html body .entry-content .affwp-onboarding-goal input[type="radio"] {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
	pointer-events: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	clip: rect(0 0 0 0) !important;
	overflow: hidden !important;
	left: -9999px !important;        /* fuera del flujo visual */
	top: 0 !important;
}

/* ============================================================
 * Posicionar el __check en top-right correctamente
 * ============================================================ */

html body .affwp-onboarding-goal,
html body .entry-content .affwp-onboarding-goal {
	position: relative !important;
}

html body .affwp-onboarding-goal__check,
html body .entry-content .affwp-onboarding-goal__check {
	position: absolute !important;
	top: 12px !important;
	right: 12px !important;
	width: 22px !important;
	height: 22px !important;
	border-radius: 6px !important;
	background: rgba(255, 255, 255, 0.06) !important;
	border: 2px solid rgba(255, 255, 255, 0.25) !important;
	box-sizing: border-box !important;
	pointer-events: none !important;
}

html body .affwp-onboarding-goal.is-selected .affwp-onboarding-goal__check,
html body .entry-content .affwp-onboarding-goal.is-selected .affwp-onboarding-goal__check {
	background: #10b981 !important;
	border-color: #10b981 !important;
	box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.18) !important;
}

html body .affwp-onboarding-goal.is-selected .affwp-onboarding-goal__check::after,
html body .entry-content .affwp-onboarding-goal.is-selected .affwp-onboarding-goal__check::after {
	content: '' !important;
	position: absolute !important;
	top: 2px !important;
	left: 5px !important;
	width: 5px !important;
	height: 9px !important;
	border-right: 2px solid #ffffff !important;
	border-bottom: 2px solid #ffffff !important;
	transform: rotate(45deg) !important;
}

/* ============================================================
 * Mobile: cards de objetivo compactas en 2 columnas siempre
 * ============================================================ */

@media (max-width: 720px) {

	/* Grid 2 cols incluso en mobile pequeño — caben las dos lado a lado */
	html body .affwp-onboarding-goals,
	html body .entry-content .affwp-onboarding-goals {
		grid-template-columns: 1fr 1fr !important;
		gap: 8px !important;
	}

	html body .affwp-onboarding-goal,
	html body .entry-content .affwp-onboarding-goal {
		padding: 14px 12px 12px !important;
		gap: 8px !important;
	}

	html body .affwp-onboarding-goal__icon,
	html body .entry-content .affwp-onboarding-goal__icon {
		width: 36px !important;
		height: 36px !important;
		border-radius: 9px !important;
	}

	html body .affwp-onboarding-goal__icon svg,
	html body .entry-content .affwp-onboarding-goal__icon svg {
		width: 20px !important;
		height: 20px !important;
	}

	html body .affwp-onboarding-goal__name,
	html body .entry-content .affwp-onboarding-goal__name {
		font-size: 13px !important;
		line-height: 1.25 !important;
		margin: 0 0 4px !important;
	}

	html body .affwp-onboarding-goal__desc,
	html body .entry-content .affwp-onboarding-goal__desc {
		font-size: 11.5px !important;
		line-height: 1.4 !important;
		margin: 0 0 8px !important;
	}

	html body .affwp-onboarding-goal__help,
	html body .entry-content .affwp-onboarding-goal__help {
		font-size: 11px !important;
	}

	html body .affwp-onboarding-goal__check,
	html body .entry-content .affwp-onboarding-goal__check {
		top: 8px !important;
		right: 8px !important;
		width: 18px !important;
		height: 18px !important;
		border-width: 1.5px !important;
		border-radius: 5px !important;
	}

	html body .affwp-onboarding-goal.is-selected .affwp-onboarding-goal__check::after,
	html body .entry-content .affwp-onboarding-goal.is-selected .affwp-onboarding-goal__check::after {
		top: 1px !important;
		left: 4px !important;
		width: 4px !important;
		height: 8px !important;
		border-width: 1.5px !important;
	}

}

/* Mobile muy pequeño (<420px) — aun mas compacto pero mantenemos 2 cols */
@media (max-width: 420px) {
	html body .affwp-onboarding-goal,
	html body .entry-content .affwp-onboarding-goal {
		padding: 12px 10px !important;
	}

	html body .affwp-onboarding-goal__icon,
	html body .entry-content .affwp-onboarding-goal__icon {
		width: 32px !important;
		height: 32px !important;
	}

	html body .affwp-onboarding-goal__name,
	html body .entry-content .affwp-onboarding-goal__name {
		font-size: 12.5px !important;
	}

	html body .affwp-onboarding-goal__desc,
	html body .entry-content .affwp-onboarding-goal__desc {
		font-size: 11px !important;
	}
}


/* =============================================================================
 * 87. Onboarding — Face verification UI (status pills + match block + spinner).
 * =============================================================================
 *
 * Estilos para:
 *   - Status pill que aparece dentro de cada upload card mientras se verifica
 *     el rostro (loading / ok / warn / err)
 *   - Match block grande al final del step 3 cuando se han subido carnet
 *     frontal + selfie y se comparan rostros
 *   - Spinner animado (tipo Apple) para el estado loading
 */

/* ============================================================
 * Status pill por upload card
 * ============================================================ */

html body .affwp-onboarding-verify,
html body .entry-content .affwp-onboarding-verify {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin: 8px 0 0 !important;
	padding: 7px 12px !important;
	border-radius: 8px !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	border: 1px solid transparent !important;
}

html body .affwp-onboarding-verify[hidden],
html body .entry-content .affwp-onboarding-verify[hidden] {
	display: none !important;
}

html body .affwp-onboarding-verify__icon,
html body .entry-content .affwp-onboarding-verify__icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 20px !important;
	height: 20px !important;
	flex-shrink: 0 !important;
}

html body .affwp-onboarding-verify__icon svg,
html body .entry-content .affwp-onboarding-verify__icon svg {
	width: 14px !important;
	height: 14px !important;
}

/* Estados */
html body .affwp-onboarding-verify.is-loading,
html body .entry-content .affwp-onboarding-verify.is-loading {
	background: rgba(59, 130, 246, 0.10) !important;
	color: #93c5fd !important;
	border-color: rgba(59, 130, 246, 0.28) !important;
}

html body .affwp-onboarding-verify.is-ok,
html body .entry-content .affwp-onboarding-verify.is-ok {
	background: rgba(16, 185, 129, 0.10) !important;
	color: #6ee7b7 !important;
	border-color: rgba(16, 185, 129, 0.32) !important;
}

html body .affwp-onboarding-verify.is-warn,
html body .entry-content .affwp-onboarding-verify.is-warn {
	background: rgba(245, 158, 11, 0.10) !important;
	color: #fbbf24 !important;
	border-color: rgba(245, 158, 11, 0.32) !important;
}

html body .affwp-onboarding-verify.is-err,
html body .entry-content .affwp-onboarding-verify.is-err {
	background: rgba(239, 68, 68, 0.10) !important;
	color: #fca5a5 !important;
	border-color: rgba(239, 68, 68, 0.32) !important;
}

/* ============================================================
 * Match block (final del step 3)
 * ============================================================ */

html body .affwp-onboarding-match,
html body .entry-content .affwp-onboarding-match {
	display: flex !important;
	align-items: flex-start !important;
	gap: 14px !important;
	margin: 18px 0 0 !important;
	padding: 16px 18px !important;
	border-radius: 12px !important;
	border: 1px solid transparent !important;
}

html body .affwp-onboarding-match[hidden],
html body .entry-content .affwp-onboarding-match[hidden] {
	display: none !important;
}

html body .affwp-onboarding-match__icon,
html body .entry-content .affwp-onboarding-match__icon {
	flex-shrink: 0 !important;
	width: 36px !important;
	height: 36px !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

html body .affwp-onboarding-match__body,
html body .entry-content .affwp-onboarding-match__body {
	flex: 1 !important;
	min-width: 0 !important;
}

html body .affwp-onboarding-match__title,
html body .entry-content .affwp-onboarding-match__title {
	display: block !important;
	font-size: 14.5px !important;
	font-weight: 700 !important;
	margin: 0 0 4px !important;
	letter-spacing: -0.01em !important;
}

html body .affwp-onboarding-match__desc,
html body .entry-content .affwp-onboarding-match__desc {
	font-size: 12.5px !important;
	margin: 0 !important;
	line-height: 1.5 !important;
	opacity: 0.85 !important;
}

/* Estados del match */
html body .affwp-onboarding-match.is-loading,
html body .entry-content .affwp-onboarding-match.is-loading {
	background: rgba(59, 130, 246, 0.06) !important;
	border-color: rgba(59, 130, 246, 0.24) !important;
	color: #cbd5e1 !important;
}
html body .affwp-onboarding-match.is-loading .affwp-onboarding-match__icon {
	background: rgba(59, 130, 246, 0.16) !important;
	color: #93c5fd !important;
}
html body .affwp-onboarding-match.is-loading .affwp-onboarding-match__title {
	color: #93c5fd !important;
}

html body .affwp-onboarding-match.is-ok,
html body .entry-content .affwp-onboarding-match.is-ok {
	background: rgba(16, 185, 129, 0.08) !important;
	border-color: rgba(16, 185, 129, 0.32) !important;
	color: #cbd5e1 !important;
}
html body .affwp-onboarding-match.is-ok .affwp-onboarding-match__icon {
	background: rgba(16, 185, 129, 0.18) !important;
	color: #6ee7b7 !important;
}
html body .affwp-onboarding-match.is-ok .affwp-onboarding-match__title {
	color: #6ee7b7 !important;
}

html body .affwp-onboarding-match.is-warn,
html body .entry-content .affwp-onboarding-match.is-warn {
	background: rgba(245, 158, 11, 0.06) !important;
	border-color: rgba(245, 158, 11, 0.32) !important;
	color: #cbd5e1 !important;
}
html body .affwp-onboarding-match.is-warn .affwp-onboarding-match__icon {
	background: rgba(245, 158, 11, 0.18) !important;
	color: #fbbf24 !important;
}
html body .affwp-onboarding-match.is-warn .affwp-onboarding-match__title {
	color: #fbbf24 !important;
}

html body .affwp-onboarding-match.is-err,
html body .entry-content .affwp-onboarding-match.is-err {
	background: rgba(239, 68, 68, 0.08) !important;
	border-color: rgba(239, 68, 68, 0.40) !important;
	color: #cbd5e1 !important;
}
html body .affwp-onboarding-match.is-err .affwp-onboarding-match__icon {
	background: rgba(239, 68, 68, 0.20) !important;
	color: #fca5a5 !important;
}
html body .affwp-onboarding-match.is-err .affwp-onboarding-match__title {
	color: #fca5a5 !important;
}

/* ============================================================
 * Spinner animado (loading state)
 * ============================================================ */

html body .affwp-onboarding-verify__spin,
html body .entry-content .affwp-onboarding-verify__spin {
	animation: affwp-onb-spin 0.9s linear infinite !important;
}

@keyframes affwp-onb-spin {
	from { transform: rotate(0deg); }
	to   { transform: rotate(360deg); }
}

/* ============================================================
 * Light mode
 * ============================================================ */

html.affwp-portal-theme-light body .affwp-onboarding-verify.is-loading,
html.affwp-portal-theme-light body .entry-content .affwp-onboarding-verify.is-loading {
	background: rgba(59, 130, 246, 0.08) !important;
	color: #1d4ed8 !important;
	border-color: rgba(59, 130, 246, 0.30) !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-verify.is-ok,
html.affwp-portal-theme-light body .entry-content .affwp-onboarding-verify.is-ok {
	background: #ecfdf5 !important;
	color: #047857 !important;
	border-color: #a7f3d0 !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-verify.is-warn,
html.affwp-portal-theme-light body .entry-content .affwp-onboarding-verify.is-warn {
	background: #fffbeb !important;
	color: #b45309 !important;
	border-color: #fcd34d !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-verify.is-err,
html.affwp-portal-theme-light body .entry-content .affwp-onboarding-verify.is-err {
	background: #fef2f2 !important;
	color: #b91c1c !important;
	border-color: #fecaca !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-match.is-ok {
	background: #ecfdf5 !important;
	border-color: #a7f3d0 !important;
	color: #1f2937 !important;
}
html.affwp-portal-theme-light body .affwp-onboarding-match.is-ok .affwp-onboarding-match__title {
	color: #047857 !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-match.is-warn {
	background: #fffbeb !important;
	border-color: #fcd34d !important;
	color: #1f2937 !important;
}
html.affwp-portal-theme-light body .affwp-onboarding-match.is-warn .affwp-onboarding-match__title {
	color: #b45309 !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-match.is-err {
	background: #fef2f2 !important;
	border-color: #fecaca !important;
	color: #1f2937 !important;
}
html.affwp-portal-theme-light body .affwp-onboarding-match.is-err .affwp-onboarding-match__title {
	color: #b91c1c !important;
}

/* ============================================================
 * #89 — Verification panel (panel grande con steps + verdict + override)
 *
 * Reemplaza el match block sencillo. Da control total al usuario sobre
 * el proceso de verificación IA: ve qué pasa en cada paso, ve el verdict
 * con detalle, y puede dar override si la IA no fue concluyente.
 * ============================================================ */

html body .affwp-onb-verify-panel,
html body .entry-content .affwp-onb-verify-panel {
	margin: 18px 0 0 !important;
	padding: 18px !important;
	background: linear-gradient(180deg, rgba(168, 85, 247, 0.06) 0%, rgba(37, 99, 235, 0.04) 100%) !important;
	border: 1px solid rgba(168, 85, 247, 0.25) !important;
	border-radius: 14px !important;
}

html body .affwp-onb-verify-panel__head,
html body .entry-content .affwp-onb-verify-panel__head {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	padding-bottom: 14px !important;
	margin-bottom: 14px !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}

html body .affwp-onb-verify-panel__icon,
html body .entry-content .affwp-onb-verify-panel__icon {
	width: 40px !important;
	height: 40px !important;
	flex-shrink: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 10px !important;
	background: linear-gradient(135deg, rgba(168, 85, 247, 0.2), rgba(37, 99, 235, 0.2)) !important;
	color: #c4b5fd !important;
}

html body .affwp-onb-verify-panel__title,
html body .entry-content .affwp-onb-verify-panel__title {
	margin: 0 !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #e2e8f0 !important;
	letter-spacing: -0.01em !important;
}

html body .affwp-onb-verify-panel__sub,
html body .entry-content .affwp-onb-verify-panel__sub {
	margin: 2px 0 0 !important;
	font-size: 11px !important;
	color: #94a3b8 !important;
	line-height: 1.3 !important;
}

html body .affwp-onb-verify-panel__overall,
html body .entry-content .affwp-onb-verify-panel__overall {
	margin-left: auto !important;
	flex-shrink: 0 !important;
	padding: 6px 12px !important;
	background: rgba(255, 255, 255, 0.06) !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: 999px !important;
	font-size: 11.5px !important;
	font-weight: 600 !important;
	color: #cbd5e1 !important;
	white-space: nowrap !important;
}

html body .affwp-onb-verify-panel__overall[data-state="loading"],
html body .entry-content .affwp-onb-verify-panel__overall[data-state="loading"] {
	background: rgba(59, 130, 246, 0.15) !important;
	border-color: rgba(59, 130, 246, 0.4) !important;
	color: #93c5fd !important;
}

html body .affwp-onb-verify-panel__overall[data-state="ok"],
html body .entry-content .affwp-onb-verify-panel__overall[data-state="ok"] {
	background: rgba(16, 185, 129, 0.15) !important;
	border-color: rgba(16, 185, 129, 0.4) !important;
	color: #6ee7b7 !important;
}

html body .affwp-onb-verify-panel__overall[data-state="warn"],
html body .entry-content .affwp-onb-verify-panel__overall[data-state="warn"] {
	background: rgba(245, 158, 11, 0.15) !important;
	border-color: rgba(245, 158, 11, 0.4) !important;
	color: #fcd34d !important;
}

html body .affwp-onb-verify-panel__overall[data-state="err"],
html body .entry-content .affwp-onb-verify-panel__overall[data-state="err"] {
	background: rgba(239, 68, 68, 0.18) !important;
	border-color: rgba(239, 68, 68, 0.4) !important;
	color: #fca5a5 !important;
}

/* Lista de steps verticales */
html body .affwp-onb-verify-panel__steps,
html body .entry-content .affwp-onb-verify-panel__steps {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

html body .affwp-onb-verify-panel__steps li,
html body .entry-content .affwp-onb-verify-panel__steps li {
	display: flex !important;
	align-items: flex-start !important;
	gap: 12px !important;
	padding: 8px 0 !important;
	position: relative !important;
}

html body .affwp-onb-verify-panel__step-dot,
html body .entry-content .affwp-onb-verify-panel__step-dot {
	width: 18px !important;
	height: 18px !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.08) !important;
	border: 1.5px solid rgba(255, 255, 255, 0.18) !important;
	flex-shrink: 0 !important;
	margin-top: 2px !important;
	position: relative !important;
}

html body .affwp-onb-verify-panel__steps li[data-state="loading"] .affwp-onb-verify-panel__step-dot,
html body .entry-content .affwp-onb-verify-panel__steps li[data-state="loading"] .affwp-onb-verify-panel__step-dot {
	background: linear-gradient(135deg, #3b82f6, #2563eb) !important;
	border-color: rgba(59, 130, 246, 0.5) !important;
	box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.15) !important;
	animation: affwp-onb-spin 1.2s linear infinite !important;
}

html body .affwp-onb-verify-panel__steps li[data-state="ok"] .affwp-onb-verify-panel__step-dot,
html body .entry-content .affwp-onb-verify-panel__steps li[data-state="ok"] .affwp-onb-verify-panel__step-dot {
	background: linear-gradient(135deg, #10b981, #059669) !important;
	border-color: rgba(16, 185, 129, 0.5) !important;
}
html body .affwp-onb-verify-panel__steps li[data-state="ok"] .affwp-onb-verify-panel__step-dot::after,
html body .entry-content .affwp-onb-verify-panel__steps li[data-state="ok"] .affwp-onb-verify-panel__step-dot::after {
	content: '✓' !important;
	position: absolute !important;
	inset: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: white !important;
	font-size: 11px !important;
	font-weight: 800 !important;
}

html body .affwp-onb-verify-panel__steps li[data-state="warn"] .affwp-onb-verify-panel__step-dot,
html body .entry-content .affwp-onb-verify-panel__steps li[data-state="warn"] .affwp-onb-verify-panel__step-dot {
	background: linear-gradient(135deg, #f59e0b, #d97706) !important;
	border-color: rgba(245, 158, 11, 0.5) !important;
}
html body .affwp-onb-verify-panel__steps li[data-state="warn"] .affwp-onb-verify-panel__step-dot::after,
html body .entry-content .affwp-onb-verify-panel__steps li[data-state="warn"] .affwp-onb-verify-panel__step-dot::after {
	content: '!' !important;
	position: absolute !important;
	inset: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: white !important;
	font-size: 11px !important;
	font-weight: 800 !important;
}

html body .affwp-onb-verify-panel__steps li[data-state="err"] .affwp-onb-verify-panel__step-dot,
html body .entry-content .affwp-onb-verify-panel__steps li[data-state="err"] .affwp-onb-verify-panel__step-dot {
	background: linear-gradient(135deg, #ef4444, #dc2626) !important;
	border-color: rgba(239, 68, 68, 0.5) !important;
}
html body .affwp-onb-verify-panel__steps li[data-state="err"] .affwp-onb-verify-panel__step-dot::after,
html body .entry-content .affwp-onb-verify-panel__steps li[data-state="err"] .affwp-onb-verify-panel__step-dot::after {
	content: '×' !important;
	position: absolute !important;
	inset: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: white !important;
	font-size: 13px !important;
	font-weight: 800 !important;
}

html body .affwp-onb-verify-panel__steps li > div,
html body .entry-content .affwp-onb-verify-panel__steps li > div {
	flex: 1 !important;
}

html body .affwp-onb-verify-panel__steps li strong,
html body .entry-content .affwp-onb-verify-panel__steps li strong {
	display: block !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	color: #cbd5e1 !important;
	line-height: 1.3 !important;
}

html body .affwp-onb-verify-panel__steps li small,
html body .entry-content .affwp-onb-verify-panel__steps li small {
	display: block !important;
	font-size: 11px !important;
	color: #64748b !important;
	margin-top: 1px !important;
	line-height: 1.3 !important;
}

html body .affwp-onb-verify-panel__steps li[data-state="ok"] small,
html body .entry-content .affwp-onb-verify-panel__steps li[data-state="ok"] small {
	color: #6ee7b7 !important;
}
html body .affwp-onb-verify-panel__steps li[data-state="warn"] small,
html body .entry-content .affwp-onb-verify-panel__steps li[data-state="warn"] small {
	color: #fcd34d !important;
}
html body .affwp-onb-verify-panel__steps li[data-state="err"] small,
html body .entry-content .affwp-onb-verify-panel__steps li[data-state="err"] small {
	color: #fca5a5 !important;
}

/* Verdict prominente */
html body .affwp-onb-verify-panel__verdict,
html body .entry-content .affwp-onb-verify-panel__verdict {
	display: flex !important;
	align-items: flex-start !important;
	gap: 14px !important;
	margin-top: 16px !important;
	padding: 16px 18px !important;
	border-radius: 12px !important;
	border: 1px solid !important;
}

html body .affwp-onb-verify-panel__verdict[hidden],
html body .entry-content .affwp-onb-verify-panel__verdict[hidden] {
	display: none !important;
}

html body .affwp-onb-verify-panel__verdict.is-loading,
html body .entry-content .affwp-onb-verify-panel__verdict.is-loading {
	background: rgba(59, 130, 246, 0.08) !important;
	border-color: rgba(59, 130, 246, 0.3) !important;
}
html body .affwp-onb-verify-panel__verdict.is-ok,
html body .entry-content .affwp-onb-verify-panel__verdict.is-ok {
	background: rgba(16, 185, 129, 0.1) !important;
	border-color: rgba(16, 185, 129, 0.4) !important;
}
html body .affwp-onb-verify-panel__verdict.is-warn,
html body .entry-content .affwp-onb-verify-panel__verdict.is-warn {
	background: rgba(245, 158, 11, 0.1) !important;
	border-color: rgba(245, 158, 11, 0.4) !important;
}
html body .affwp-onb-verify-panel__verdict.is-err,
html body .entry-content .affwp-onb-verify-panel__verdict.is-err {
	background: rgba(239, 68, 68, 0.12) !important;
	border-color: rgba(239, 68, 68, 0.45) !important;
}

html body .affwp-onb-verify-panel__verdict-icon,
html body .entry-content .affwp-onb-verify-panel__verdict-icon {
	flex-shrink: 0 !important;
	width: 40px !important;
	height: 40px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 10px !important;
	background: rgba(255, 255, 255, 0.08) !important;
}

html body .affwp-onb-verify-panel__verdict.is-loading .affwp-onb-verify-panel__verdict-icon { color: #93c5fd !important; }
html body .affwp-onb-verify-panel__verdict.is-ok      .affwp-onb-verify-panel__verdict-icon { color: #6ee7b7 !important; }
html body .affwp-onb-verify-panel__verdict.is-warn    .affwp-onb-verify-panel__verdict-icon { color: #fcd34d !important; }
html body .affwp-onb-verify-panel__verdict.is-err     .affwp-onb-verify-panel__verdict-icon { color: #fca5a5 !important; }

html body .affwp-onb-verify-panel__verdict > div,
html body .entry-content .affwp-onb-verify-panel__verdict > div {
	flex: 1 !important;
}

html body .affwp-onb-verify-panel__verdict strong,
html body .entry-content .affwp-onb-verify-panel__verdict strong {
	display: block !important;
	font-size: 14.5px !important;
	font-weight: 700 !important;
	color: #f8fafc !important;
	margin-bottom: 4px !important;
	letter-spacing: -0.01em !important;
}

html body .affwp-onb-verify-panel__verdict p,
html body .entry-content .affwp-onb-verify-panel__verdict p {
	margin: 0 !important;
	font-size: 12.5px !important;
	color: #cbd5e1 !important;
	line-height: 1.5 !important;
}

/* Override checkbox grande y prominente */
html body .affwp-onb-verify-panel__override,
html body .entry-content .affwp-onb-verify-panel__override {
	display: flex !important;
	align-items: flex-start !important;
	gap: 12px !important;
	margin-top: 14px !important;
	padding: 14px 16px !important;
	background: rgba(245, 158, 11, 0.08) !important;
	border: 1.5px dashed rgba(245, 158, 11, 0.4) !important;
	border-radius: 10px !important;
	cursor: pointer !important;
	transition: background 0.15s ease, border-color 0.15s ease !important;
}

html body .affwp-onb-verify-panel__override[hidden],
html body .entry-content .affwp-onb-verify-panel__override[hidden] {
	display: none !important;
}

html body .affwp-onb-verify-panel__override:hover,
html body .entry-content .affwp-onb-verify-panel__override:hover {
	background: rgba(245, 158, 11, 0.12) !important;
	border-color: rgba(245, 158, 11, 0.6) !important;
}

html body .affwp-onb-verify-panel__override input[type="checkbox"],
html body .entry-content .affwp-onb-verify-panel__override input[type="checkbox"] {
	width: 22px !important;
	height: 22px !important;
	flex-shrink: 0 !important;
	cursor: pointer !important;
	accent-color: #f59e0b !important;
	margin: 0 !important;
}

html body .affwp-onb-verify-panel__override > span,
html body .entry-content .affwp-onb-verify-panel__override > span {
	flex: 1 !important;
}

html body .affwp-onb-verify-panel__override strong,
html body .entry-content .affwp-onb-verify-panel__override strong {
	display: block !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	color: #fde68a !important;
	margin-bottom: 4px !important;
}

html body .affwp-onb-verify-panel__override small,
html body .entry-content .affwp-onb-verify-panel__override small {
	display: block !important;
	font-size: 12px !important;
	color: #cbd5e1 !important;
	line-height: 1.5 !important;
}

/* Boton Continuar variante por estado de verificacion */
html body .affwp-onboarding__btn-next.is-verifying,
html body .entry-content .affwp-onboarding__btn-next.is-verifying {
	background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%) !important;
	box-shadow: 0 4px 14px rgba(59, 130, 246, 0.3) !important;
	cursor: wait !important;
	opacity: 0.85 !important;
}

html body .affwp-onboarding__btn-next.is-verified,
html body .entry-content .affwp-onboarding__btn-next.is-verified {
	background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
	box-shadow: 0 4px 14px rgba(16, 185, 129, 0.4) !important;
}

html body .affwp-onboarding__btn-next.is-blocked,
html body .entry-content .affwp-onboarding__btn-next.is-blocked {
	background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
	box-shadow: 0 4px 14px rgba(239, 68, 68, 0.3) !important;
	cursor: not-allowed !important;
	opacity: 0.85 !important;
}

html body .affwp-onboarding__btn-next.is-warn-confirm,
html body .entry-content .affwp-onboarding__btn-next.is-warn-confirm {
	background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
	box-shadow: 0 4px 14px rgba(245, 158, 11, 0.35) !important;
}

html body .affwp-onboarding__btn-next.is-needs-confirm,
html body .entry-content .affwp-onboarding__btn-next.is-needs-confirm {
	background: rgba(245, 158, 11, 0.2) !important;
	color: #fcd34d !important;
	border: 1px dashed rgba(245, 158, 11, 0.5) !important;
	box-shadow: none !important;
	cursor: not-allowed !important;
}

/* Light mode variantes */
html.affwp-portal-theme-light body .affwp-onb-verify-panel {
	background: linear-gradient(180deg, rgba(168, 85, 247, 0.04) 0%, rgba(37, 99, 235, 0.03) 100%) !important;
	border-color: rgba(168, 85, 247, 0.2) !important;
}

html.affwp-portal-theme-light body .affwp-onb-verify-panel__title { color: #1e293b !important; }
html.affwp-portal-theme-light body .affwp-onb-verify-panel__sub   { color: #64748b !important; }
html.affwp-portal-theme-light body .affwp-onb-verify-panel__head  { border-bottom-color: rgba(0, 0, 0, 0.06) !important; }
html.affwp-portal-theme-light body .affwp-onb-verify-panel__steps li strong { color: #334155 !important; }
html.affwp-portal-theme-light body .affwp-onb-verify-panel__steps li small  { color: #94a3b8 !important; }
html.affwp-portal-theme-light body .affwp-onb-verify-panel__verdict strong  { color: #0f172a !important; }
html.affwp-portal-theme-light body .affwp-onb-verify-panel__verdict p       { color: #475569 !important; }
html.affwp-portal-theme-light body .affwp-onb-verify-panel__override strong { color: #92400e !important; }
html.affwp-portal-theme-light body .affwp-onb-verify-panel__override small  { color: #78350f !important; }

/* ============================================================
 * #90 — Compact step 3: smaller cards + inline overlay/badge per photo
 *      + compact verdict bar (replaces the big panel below)
 * ============================================================ */

/* Reduce el tamaño de cada slot — el preview ocupaba 200px, baja a 120px. */
html body .affwp-onboarding-upload__preview img,
html body .entry-content .affwp-onboarding-upload__preview img {
	max-height: 130px !important;
}

html body .affwp-onboarding-upload,
html body .entry-content .affwp-onboarding-upload {
	margin-bottom: 12px !important;
}

html body .affwp-onboarding-upload__head,
html body .entry-content .affwp-onboarding-upload__head {
	padding: 4px 0 !important;
}

html body .affwp-onboarding-upload__placeholder,
html body .entry-content .affwp-onboarding-upload__placeholder {
	min-height: 100px !important;
	padding: 10px !important;
	gap: 8px !important;
}

html body .affwp-onboarding-upload__placeholder-icon,
html body .entry-content .affwp-onboarding-upload__placeholder-icon {
	width: 28px !important;
	height: 28px !important;
}

html body .affwp-onboarding-upload__drop,
html body .entry-content .affwp-onboarding-upload__drop {
	min-height: 100px !important;
	padding: 12px !important;
}

/* Overlay encima de la foto durante el análisis IA — feedback inmediato. */
html body .affwp-onb-photo-overlay,
html body .entry-content .affwp-onb-photo-overlay {
	position: absolute !important;
	inset: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: rgba(10, 14, 26, 0.78) !important;
	backdrop-filter: blur(2px) !important;
	-webkit-backdrop-filter: blur(2px) !important;
	border-radius: 6px !important;
	z-index: 3 !important;
}

html body .affwp-onb-photo-overlay[hidden],
html body .entry-content .affwp-onb-photo-overlay[hidden] {
	display: none !important;
}

html body .affwp-onb-photo-overlay__inner,
html body .entry-content .affwp-onb-photo-overlay__inner {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 12px 18px !important;
	background: rgba(168, 85, 247, 0.18) !important;
	border: 1px solid rgba(168, 85, 247, 0.4) !important;
	border-radius: 10px !important;
	color: white !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
}

html body .affwp-onb-photo-overlay__spin,
html body .entry-content .affwp-onb-photo-overlay__spin {
	color: #c4b5fd !important;
	animation: affwp-onb-spin 0.9s linear infinite !important;
}

/* Badge de resultado en esquina superior izquierda de la foto. */
html body .affwp-onb-photo-badge,
html body .entry-content .affwp-onb-photo-badge {
	position: absolute !important;
	top: 8px !important;
	left: 8px !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 5px !important;
	padding: 5px 10px !important;
	border-radius: 999px !important;
	font-size: 11.5px !important;
	font-weight: 700 !important;
	z-index: 2 !important;
	backdrop-filter: blur(8px) !important;
	-webkit-backdrop-filter: blur(8px) !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25) !important;
}

html body .affwp-onb-photo-badge[hidden],
html body .entry-content .affwp-onb-photo-badge[hidden] {
	display: none !important;
}

html body .affwp-onb-photo-badge.is-ok,
html body .entry-content .affwp-onb-photo-badge.is-ok {
	background: rgba(16, 185, 129, 0.85) !important;
	color: white !important;
	border: 1px solid rgba(16, 185, 129, 0.6) !important;
}

html body .affwp-onb-photo-badge.is-warn,
html body .entry-content .affwp-onb-photo-badge.is-warn {
	background: rgba(245, 158, 11, 0.9) !important;
	color: white !important;
	border: 1px solid rgba(245, 158, 11, 0.7) !important;
}

html body .affwp-onb-photo-badge.is-err,
html body .entry-content .affwp-onb-photo-badge.is-err {
	background: rgba(239, 68, 68, 0.9) !important;
	color: white !important;
	border: 1px solid rgba(239, 68, 68, 0.7) !important;
}

html body .affwp-onb-photo-badge__icon,
html body .entry-content .affwp-onb-photo-badge__icon {
	display: inline-flex !important;
	align-items: center !important;
	color: inherit !important;
}

html body .affwp-onb-photo-badge__text,
html body .entry-content .affwp-onb-photo-badge__text {
	font-size: 11.5px !important;
	font-weight: 700 !important;
	letter-spacing: -0.01em !important;
}

/* Verdict bar compacta — single line cuando es posible, max 3 lineas. */
html body .affwp-onb-verdict-bar,
html body .entry-content .affwp-onb-verdict-bar {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	margin: 14px 0 0 !important;
	padding: 12px 14px !important;
	border-radius: 10px !important;
	border: 1px solid !important;
}

html body .affwp-onb-verdict-bar[hidden],
html body .entry-content .affwp-onb-verdict-bar[hidden] {
	display: none !important;
}

html body .affwp-onb-verdict-bar.is-loading,
html body .entry-content .affwp-onb-verdict-bar.is-loading {
	background: rgba(59, 130, 246, 0.1) !important;
	border-color: rgba(59, 130, 246, 0.35) !important;
}
html body .affwp-onb-verdict-bar.is-ok,
html body .entry-content .affwp-onb-verdict-bar.is-ok {
	background: rgba(16, 185, 129, 0.12) !important;
	border-color: rgba(16, 185, 129, 0.45) !important;
}
html body .affwp-onb-verdict-bar.is-warn,
html body .entry-content .affwp-onb-verdict-bar.is-warn {
	background: rgba(245, 158, 11, 0.1) !important;
	border-color: rgba(245, 158, 11, 0.4) !important;
}
html body .affwp-onb-verdict-bar.is-err,
html body .entry-content .affwp-onb-verdict-bar.is-err {
	background: rgba(239, 68, 68, 0.12) !important;
	border-color: rgba(239, 68, 68, 0.5) !important;
}

html body .affwp-onb-verdict-bar__icon,
html body .entry-content .affwp-onb-verdict-bar__icon {
	flex-shrink: 0 !important;
	width: 32px !important;
	height: 32px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 8px !important;
	background: rgba(255, 255, 255, 0.08) !important;
}

html body .affwp-onb-verdict-bar.is-loading .affwp-onb-verdict-bar__icon { color: #93c5fd !important; }
html body .affwp-onb-verdict-bar.is-ok      .affwp-onb-verdict-bar__icon { color: #6ee7b7 !important; }
html body .affwp-onb-verdict-bar.is-warn    .affwp-onb-verdict-bar__icon { color: #fcd34d !important; }
html body .affwp-onb-verdict-bar.is-err     .affwp-onb-verdict-bar__icon { color: #fca5a5 !important; }

html body .affwp-onb-verdict-bar__body,
html body .entry-content .affwp-onb-verdict-bar__body {
	flex: 1 !important;
	min-width: 0 !important;
}

html body .affwp-onb-verdict-bar__body strong,
html body .entry-content .affwp-onb-verdict-bar__body strong {
	display: block !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	color: #f8fafc !important;
	line-height: 1.3 !important;
	letter-spacing: -0.01em !important;
}

html body .affwp-onb-verdict-bar__body p,
html body .entry-content .affwp-onb-verdict-bar__body p {
	margin: 2px 0 0 !important;
	font-size: 11.5px !important;
	color: #cbd5e1 !important;
	line-height: 1.4 !important;
}

/* Override compacto */
html body .affwp-onb-verify-override,
html body .entry-content .affwp-onb-verify-override {
	display: flex !important;
	align-items: flex-start !important;
	gap: 10px !important;
	margin: 10px 0 0 !important;
	padding: 10px 12px !important;
	background: rgba(245, 158, 11, 0.08) !important;
	border: 1.5px dashed rgba(245, 158, 11, 0.45) !important;
	border-radius: 8px !important;
	cursor: pointer !important;
}

html body .affwp-onb-verify-override[hidden],
html body .entry-content .affwp-onb-verify-override[hidden] {
	display: none !important;
}

html body .affwp-onb-verify-override:hover,
html body .entry-content .affwp-onb-verify-override:hover {
	background: rgba(245, 158, 11, 0.13) !important;
}

html body .affwp-onb-verify-override input[type="checkbox"],
html body .entry-content .affwp-onb-verify-override input[type="checkbox"] {
	width: 20px !important;
	height: 20px !important;
	flex-shrink: 0 !important;
	cursor: pointer !important;
	accent-color: #f59e0b !important;
	margin: 1px 0 0 !important;
}

html body .affwp-onb-verify-override > span,
html body .entry-content .affwp-onb-verify-override > span {
	flex: 1 !important;
}

html body .affwp-onb-verify-override strong,
html body .entry-content .affwp-onb-verify-override strong {
	display: block !important;
	font-size: 12.5px !important;
	font-weight: 700 !important;
	color: #fde68a !important;
	margin-bottom: 2px !important;
}

html body .affwp-onb-verify-override small,
html body .entry-content .affwp-onb-verify-override small {
	display: block !important;
	font-size: 11.5px !important;
	color: #cbd5e1 !important;
	line-height: 1.4 !important;
}

/* Light mode */
html.affwp-portal-theme-light body .affwp-onb-photo-overlay {
	background: rgba(15, 23, 42, 0.7) !important;
}
html.affwp-portal-theme-light body .affwp-onb-verdict-bar__body strong { color: #0f172a !important; }
html.affwp-portal-theme-light body .affwp-onb-verdict-bar__body p { color: #475569 !important; }
html.affwp-portal-theme-light body .affwp-onb-verify-override strong { color: #92400e !important; }
html.affwp-portal-theme-light body .affwp-onb-verify-override small { color: #78350f !important; }

/* Mobile compactness extra */
@media (max-width: 600px) {
	html body .affwp-onboarding-upload__preview img,
	html body .entry-content .affwp-onboarding-upload__preview img {
		max-height: 110px !important;
	}
	html body .affwp-onboarding-upload__cta-row,
	html body .entry-content .affwp-onboarding-upload__cta-row {
		max-width: 100% !important;
	}
}

/* ============================================================
 * #91 — Selfie variant (portrait/circular look) + final layout
 * ============================================================ */

/* El slot del selfie tiene un look diferente al carnet: portrait orientation
 * (3:4) y placeholder con icono de cara. La preview es circular en mobile. */
html body .affwp-onboarding-upload--selfie .affwp-onboarding-upload__drop,
html body .entry-content .affwp-onboarding-upload--selfie .affwp-onboarding-upload__drop {
	max-width: 280px !important;
	margin: 0 auto !important;
	border-color: rgba(168, 85, 247, 0.4) !important;
	background: rgba(168, 85, 247, 0.04) !important;
}

html body .affwp-onboarding-upload--selfie .affwp-onboarding-upload__drop:hover,
html body .entry-content .affwp-onboarding-upload--selfie .affwp-onboarding-upload__drop:hover {
	border-color: rgba(168, 85, 247, 0.7) !important;
	background: rgba(168, 85, 247, 0.08) !important;
}

html body .affwp-onboarding-upload--selfie .affwp-onboarding-upload__placeholder,
html body .entry-content .affwp-onboarding-upload--selfie .affwp-onboarding-upload__placeholder {
	min-height: 200px !important;
}

html body .affwp-onboarding-upload--selfie .affwp-onboarding-upload__placeholder-icon,
html body .entry-content .affwp-onboarding-upload--selfie .affwp-onboarding-upload__placeholder-icon {
	width: 48px !important;
	height: 48px !important;
	color: #c4b5fd !important;
}

html body .affwp-onboarding-upload--selfie .affwp-onboarding-upload__preview img,
html body .entry-content .affwp-onboarding-upload--selfie .affwp-onboarding-upload__preview img {
	aspect-ratio: 3 / 4 !important;
	max-height: 320px !important;
	height: auto !important;
	object-fit: cover !important;
	border-radius: 12px !important;
	margin: 0 auto !important;
	display: block !important;
	max-width: 240px !important;
	width: 100% !important;
}

html body .affwp-onboarding-upload--selfie .affwp-onboarding-upload__preview,
html body .entry-content .affwp-onboarding-upload--selfie .affwp-onboarding-upload__preview {
	text-align: center !important;
}

/* Padding al pie del wizard + margin-bottom en cada step para que el botón
 * Continuar/Enviar no quede tapado por el badge de reCAPTCHA (que ocupa
 * ~70-90px en bottom-right como overlay fixed). */
html body .affwp-onboarding,
html body .entry-content .affwp-onboarding {
	padding-bottom: 140px !important;
}

html body .affwp-onboarding__nav,
html body .entry-content .affwp-onboarding__nav {
	margin-bottom: 24px !important;
}

@media (max-width: 600px) {
	html body .affwp-onboarding,
	html body .entry-content .affwp-onboarding {
		padding-bottom: 160px !important;
	}
	html body .affwp-onboarding-upload--selfie .affwp-onboarding-upload__drop,
	html body .entry-content .affwp-onboarding-upload--selfie .affwp-onboarding-upload__drop {
		max-width: 100% !important;
	}
	html body .affwp-onboarding-upload--selfie .affwp-onboarding-upload__preview img,
	html body .entry-content .affwp-onboarding-upload--selfie .affwp-onboarding-upload__preview img {
		max-width: 200px !important;
		max-height: 270px !important;
	}
}

/* ============================================================
 * #92 — Hide leftover IA verification panels (templates removed them
 *      but old saved CSS rules still target them — make sure they don't
 *      reserve space if any orphan element appears).
 * ============================================================ */
html body .affwp-onb-verdict-bar,
html body .affwp-onb-verify-override,
html body .affwp-onb-verify-panel,
html body .affwp-onboarding-match,
html body .affwp-onboarding-verify,
html body .affwp-onboarding-howto {
	display: none !important;
}

/* ============================================================
 * #88 — Status screen (pending / rejected / inactive)
 *
 * UI moderna que reemplaza el `<p class="affwp-notice">` plano de
 * AffiliateWP cuando el usuario tiene status pending/rejected/inactive.
 * Incluye timeline animado, ETA 1-3 días hábiles, próximos pasos.
 * ============================================================ */

html body .affwp-onboarding-status-screen,
html body .entry-content .affwp-onboarding-status-screen {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: calc(100vh - 60px) !important;
	padding: 40px 16px !important;
	background: transparent !important;
}

html body .affwp-onboarding-status-screen__card,
html body .entry-content .affwp-onboarding-status-screen__card {
	width: 100% !important;
	max-width: 720px !important;
	background: linear-gradient(180deg, #131826 0%, #0f1422 100%) !important;
	border: 1px solid rgba(255, 255, 255, 0.08) !important;
	border-radius: 24px !important;
	box-shadow: 0 30px 80px -20px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(168, 85, 247, 0.06) !important;
	padding: 48px 40px !important;
	color: #e6e9f0 !important;
	text-align: center !important;
	position: relative !important;
	overflow: hidden !important;
}

/* Aurora decorativa al fondo de la card */
html body .affwp-onboarding-status-screen__card::before,
html body .entry-content .affwp-onboarding-status-screen__card::before {
	content: '' !important;
	position: absolute !important;
	top: -50% !important;
	left: -20% !important;
	width: 140% !important;
	height: 80% !important;
	background: radial-gradient(ellipse at center, rgba(168, 85, 247, 0.12) 0%, rgba(37, 99, 235, 0.04) 40%, transparent 70%) !important;
	pointer-events: none !important;
	z-index: 0 !important;
}

html body .affwp-onboarding-status-screen__card > *,
html body .entry-content .affwp-onboarding-status-screen__card > * {
	position: relative !important;
	z-index: 1 !important;
}

/* Ping animado al centro arriba */
html body .affwp-onboarding-status-screen__pulse,
html body .entry-content .affwp-onboarding-status-screen__pulse {
	width: 84px !important;
	height: 84px !important;
	margin: 0 auto 28px !important;
	position: relative !important;
}

html body .affwp-onboarding-status-screen__pulse-dot,
html body .entry-content .affwp-onboarding-status-screen__pulse-dot {
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	width: 36px !important;
	height: 36px !important;
	border-radius: 50% !important;
	background: linear-gradient(135deg, #a855f7 0%, #2563eb 100%) !important;
	box-shadow: 0 0 30px rgba(168, 85, 247, 0.6) !important;
	z-index: 2 !important;
}

html body .affwp-onboarding-status-screen__pulse-ring,
html body .entry-content .affwp-onboarding-status-screen__pulse-ring {
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	width: 36px !important;
	height: 36px !important;
	border-radius: 50% !important;
	transform: translate(-50%, -50%) !important;
	border: 2px solid rgba(168, 85, 247, 0.55) !important;
	animation: affwp-status-ping 2s cubic-bezier(0, 0, 0.2, 1) infinite !important;
	z-index: 1 !important;
}

html body .affwp-onboarding-status-screen__pulse-ring--delay,
html body .entry-content .affwp-onboarding-status-screen__pulse-ring--delay {
	animation-delay: 1s !important;
}

@keyframes affwp-status-ping {
	0%   { transform: translate(-50%, -50%) scale(0.6); opacity: 0.85; }
	75%  { transform: translate(-50%, -50%) scale(2.2); opacity: 0; }
	100% { transform: translate(-50%, -50%) scale(2.4); opacity: 0; }
}

/* Badge "Solicitud recibida" arriba del título */
html body .affwp-onboarding-status-screen__badge,
html body .entry-content .affwp-onboarding-status-screen__badge {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 6px 14px !important;
	background: rgba(168, 85, 247, 0.12) !important;
	border: 1px solid rgba(168, 85, 247, 0.35) !important;
	border-radius: 999px !important;
	color: #c4b5fd !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	margin-bottom: 16px !important;
}

html body .affwp-onboarding-status-screen__title,
html body .entry-content .affwp-onboarding-status-screen__title {
	font-size: clamp(24px, 4vw, 34px) !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.02em !important;
	color: #f8fafc !important;
	margin: 0 0 12px !important;
}

html body .affwp-onboarding-status-screen__lead,
html body .entry-content .affwp-onboarding-status-screen__lead {
	font-size: 15px !important;
	line-height: 1.6 !important;
	color: #94a3b8 !important;
	margin: 0 auto 28px !important;
	max-width: 540px !important;
}

html body .affwp-onboarding-status-screen__lead strong,
html body .entry-content .affwp-onboarding-status-screen__lead strong {
	color: #e2e8f0 !important;
	font-weight: 600 !important;
}

/* ETA card destacada */
html body .affwp-onboarding-status-screen__eta,
html body .entry-content .affwp-onboarding-status-screen__eta {
	display: flex !important;
	align-items: center !important;
	gap: 16px !important;
	padding: 18px 22px !important;
	margin: 0 auto 32px !important;
	max-width: 480px !important;
	background: rgba(168, 85, 247, 0.08) !important;
	border: 1px solid rgba(168, 85, 247, 0.25) !important;
	border-radius: 14px !important;
	text-align: left !important;
}

html body .affwp-onboarding-status-screen__eta-icon,
html body .entry-content .affwp-onboarding-status-screen__eta-icon {
	width: 44px !important;
	height: 44px !important;
	flex-shrink: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 10px !important;
	background: linear-gradient(135deg, rgba(168, 85, 247, 0.2), rgba(37, 99, 235, 0.2)) !important;
	color: #c4b5fd !important;
}

html body .affwp-onboarding-status-screen__eta-body,
html body .entry-content .affwp-onboarding-status-screen__eta-body {
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 2px !important;
}

html body .affwp-onboarding-status-screen__eta-body small,
html body .entry-content .affwp-onboarding-status-screen__eta-body small {
	font-size: 11px !important;
	color: #94a3b8 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	font-weight: 500 !important;
}

html body .affwp-onboarding-status-screen__eta-body strong,
html body .entry-content .affwp-onboarding-status-screen__eta-body strong {
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #f8fafc !important;
}

html body .affwp-onboarding-status-screen__eta-body span,
html body .entry-content .affwp-onboarding-status-screen__eta-body span {
	font-size: 12px !important;
	color: #94a3b8 !important;
}

html body .affwp-onboarding-status-screen__eta-body span b,
html body .entry-content .affwp-onboarding-status-screen__eta-body span b {
	color: #cbd5e1 !important;
	font-weight: 600 !important;
}

/* Timeline vertical 4 pasos */
html body .affwp-onboarding-status-screen__timeline,
html body .entry-content .affwp-onboarding-status-screen__timeline {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 32px !important;
	text-align: left !important;
	max-width: 520px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	position: relative !important;
}

html body .affwp-onboarding-status-screen__timeline li,
html body .entry-content .affwp-onboarding-status-screen__timeline li {
	display: flex !important;
	align-items: flex-start !important;
	gap: 14px !important;
	padding: 12px 0 !important;
	position: relative !important;
}

html body .affwp-onboarding-status-screen__timeline li::before,
html body .entry-content .affwp-onboarding-status-screen__timeline li::before {
	content: '' !important;
	position: absolute !important;
	left: 13px !important;
	top: 36px !important;
	bottom: -12px !important;
	width: 2px !important;
	background: rgba(255, 255, 255, 0.08) !important;
}

html body .affwp-onboarding-status-screen__timeline li:last-child::before,
html body .entry-content .affwp-onboarding-status-screen__timeline li:last-child::before {
	display: none !important;
}

html body .affwp-onboarding-status-screen__timeline li.is-done::before,
html body .entry-content .affwp-onboarding-status-screen__timeline li.is-done::before {
	background: linear-gradient(180deg, #10b981 0%, rgba(255, 255, 255, 0.08) 100%) !important;
}

html body .affwp-onboarding-status-screen__timeline-dot,
html body .entry-content .affwp-onboarding-status-screen__timeline-dot {
	width: 28px !important;
	height: 28px !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.06) !important;
	border: 1.5px solid rgba(255, 255, 255, 0.15) !important;
	flex-shrink: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: #64748b !important;
	position: relative !important;
}

html body .affwp-onboarding-status-screen__timeline li.is-done .affwp-onboarding-status-screen__timeline-dot,
html body .entry-content .affwp-onboarding-status-screen__timeline li.is-done .affwp-onboarding-status-screen__timeline-dot {
	background: linear-gradient(135deg, #10b981, #059669) !important;
	border-color: rgba(16, 185, 129, 0.5) !important;
	color: white !important;
	box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.12) !important;
}

html body .affwp-onboarding-status-screen__timeline li.is-current .affwp-onboarding-status-screen__timeline-dot,
html body .entry-content .affwp-onboarding-status-screen__timeline li.is-current .affwp-onboarding-status-screen__timeline-dot {
	background: linear-gradient(135deg, #a855f7, #2563eb) !important;
	border-color: rgba(168, 85, 247, 0.5) !important;
	color: white !important;
	box-shadow: 0 0 0 4px rgba(168, 85, 247, 0.18), 0 0 20px rgba(168, 85, 247, 0.4) !important;
}

html body .affwp-onboarding-status-screen__timeline-pulse,
html body .entry-content .affwp-onboarding-status-screen__timeline-pulse {
	display: block !important;
	width: 10px !important;
	height: 10px !important;
	border-radius: 50% !important;
	background: white !important;
	animation: affwp-status-pulse 1.5s ease-in-out infinite !important;
}

@keyframes affwp-status-pulse {
	0%, 100% { transform: scale(1);   opacity: 1; }
	50%      { transform: scale(0.6); opacity: 0.6; }
}

html body .affwp-onboarding-status-screen__timeline li > div,
html body .entry-content .affwp-onboarding-status-screen__timeline li > div {
	flex: 1 !important;
	padding-top: 2px !important;
}

html body .affwp-onboarding-status-screen__timeline li strong,
html body .entry-content .affwp-onboarding-status-screen__timeline li strong {
	display: block !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #cbd5e1 !important;
	margin-bottom: 2px !important;
}

html body .affwp-onboarding-status-screen__timeline li.is-current strong,
html body .entry-content .affwp-onboarding-status-screen__timeline li.is-current strong {
	color: #f8fafc !important;
}

html body .affwp-onboarding-status-screen__timeline li p,
html body .entry-content .affwp-onboarding-status-screen__timeline li p {
	margin: 0 !important;
	font-size: 13px !important;
	color: #64748b !important;
	line-height: 1.45 !important;
}

html body .affwp-onboarding-status-screen__timeline li.is-current p,
html body .entry-content .affwp-onboarding-status-screen__timeline li.is-current p {
	color: #94a3b8 !important;
}

/* Cards informativas paralelas */
html body .affwp-onboarding-status-screen__cards,
html body .entry-content .affwp-onboarding-status-screen__cards {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 12px !important;
	margin-bottom: 28px !important;
	text-align: left !important;
}

html body .affwp-onboarding-status-screen__info,
html body .entry-content .affwp-onboarding-status-screen__info {
	display: flex !important;
	align-items: flex-start !important;
	gap: 12px !important;
	padding: 14px 16px !important;
	background: rgba(255, 255, 255, 0.025) !important;
	border: 1px solid rgba(255, 255, 255, 0.06) !important;
	border-radius: 12px !important;
}

html body .affwp-onboarding-status-screen__info-icon,
html body .entry-content .affwp-onboarding-status-screen__info-icon {
	width: 32px !important;
	height: 32px !important;
	flex-shrink: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 8px !important;
	background: rgba(168, 85, 247, 0.12) !important;
	color: #c4b5fd !important;
}

html body .affwp-onboarding-status-screen__info > div strong,
html body .entry-content .affwp-onboarding-status-screen__info > div strong {
	display: block !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #e2e8f0 !important;
	margin-bottom: 2px !important;
}

html body .affwp-onboarding-status-screen__info > div p,
html body .entry-content .affwp-onboarding-status-screen__info > div p {
	margin: 0 !important;
	font-size: 12px !important;
	color: #94a3b8 !important;
	line-height: 1.45 !important;
}

/* Botones de acción al pie */
html body .affwp-onboarding-status-screen__actions,
html body .entry-content .affwp-onboarding-status-screen__actions {
	display: flex !important;
	gap: 12px !important;
	justify-content: center !important;
	flex-wrap: wrap !important;
}

html body .affwp-onboarding-status-screen__btn-primary,
html body .entry-content .affwp-onboarding-status-screen__btn-primary {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 12px 24px !important;
	background: linear-gradient(135deg, #a855f7 0%, #2563eb 100%) !important;
	color: white !important;
	border: 0 !important;
	border-radius: 10px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	cursor: pointer !important;
	box-shadow: 0 8px 24px rgba(168, 85, 247, 0.35) !important;
	transition: transform 0.15s ease, box-shadow 0.15s ease !important;
}

html body .affwp-onboarding-status-screen__btn-primary:hover,
html body .entry-content .affwp-onboarding-status-screen__btn-primary:hover {
	transform: translateY(-1px) !important;
	box-shadow: 0 12px 32px rgba(168, 85, 247, 0.45) !important;
	color: white !important;
}

html body .affwp-onboarding-status-screen__btn-ghost,
html body .entry-content .affwp-onboarding-status-screen__btn-ghost {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 12px 22px !important;
	background: rgba(255, 255, 255, 0.04) !important;
	color: #cbd5e1 !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: 10px !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	cursor: pointer !important;
	transition: background 0.15s ease, border-color 0.15s ease !important;
}

html body .affwp-onboarding-status-screen__btn-ghost:hover,
html body .entry-content .affwp-onboarding-status-screen__btn-ghost:hover {
	background: rgba(255, 255, 255, 0.08) !important;
	border-color: rgba(255, 255, 255, 0.18) !important;
	color: white !important;
}

/* Variante rejected — icono ámbar + reason quote */
html body .affwp-onboarding-status-screen__icon-big,
html body .entry-content .affwp-onboarding-status-screen__icon-big {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 80px !important;
	height: 80px !important;
	margin: 0 auto 24px !important;
	border-radius: 50% !important;
}

html body .affwp-onboarding-status-screen__icon-big--warn,
html body .entry-content .affwp-onboarding-status-screen__icon-big--warn {
	background: rgba(245, 158, 11, 0.12) !important;
	color: #fbbf24 !important;
	border: 1px solid rgba(245, 158, 11, 0.3) !important;
}

html body .affwp-onboarding-status-screen__icon-big--info,
html body .entry-content .affwp-onboarding-status-screen__icon-big--info {
	background: rgba(59, 130, 246, 0.12) !important;
	color: #93c5fd !important;
	border: 1px solid rgba(59, 130, 246, 0.3) !important;
}

html body .affwp-onboarding-status-screen__icon-big--err,
html body .entry-content .affwp-onboarding-status-screen__icon-big--err {
	background: rgba(239, 68, 68, 0.12) !important;
	color: #fca5a5 !important;
	border: 1px solid rgba(239, 68, 68, 0.35) !important;
}

html body .affwp-onboarding-status-screen__reason-block,
html body .entry-content .affwp-onboarding-status-screen__reason-block {
	margin: 0 auto 22px !important;
	max-width: 560px !important;
	text-align: left !important;
}

html body .affwp-onboarding-status-screen__reason-block small,
html body .entry-content .affwp-onboarding-status-screen__reason-block small {
	display: block !important;
	font-size: 10.5px !important;
	font-weight: 700 !important;
	color: #fca5a5 !important;
	letter-spacing: 0.1em !important;
	margin-bottom: 8px !important;
	text-align: left !important;
}

html body .affwp-onboarding-status-screen__reason,
html body .entry-content .affwp-onboarding-status-screen__reason {
	margin: 0 auto 20px !important;
	max-width: 520px !important;
	padding: 14px 18px !important;
	background: rgba(245, 158, 11, 0.08) !important;
	border-left: 3px solid #f59e0b !important;
	border-radius: 6px !important;
	color: #fde68a !important;
	font-style: italic !important;
	font-size: 14px !important;
	text-align: left !important;
}

html body .affwp-onboarding-status-screen__hint,
html body .entry-content .affwp-onboarding-status-screen__hint {
	font-size: 13px !important;
	color: #94a3b8 !important;
	margin: 0 0 24px !important;
}

/* Responsive */
@media (max-width: 720px) {
	html body .affwp-onboarding-status-screen,
	html body .entry-content .affwp-onboarding-status-screen {
		padding: 20px 12px !important;
	}
	html body .affwp-onboarding-status-screen__card,
	html body .entry-content .affwp-onboarding-status-screen__card {
		padding: 32px 22px !important;
		border-radius: 18px !important;
	}
	html body .affwp-onboarding-status-screen__cards,
	html body .entry-content .affwp-onboarding-status-screen__cards {
		grid-template-columns: 1fr !important;
	}
	html body .affwp-onboarding-status-screen__eta,
	html body .entry-content .affwp-onboarding-status-screen__eta {
		flex-direction: row !important;
		padding: 14px 16px !important;
	}
	html body .affwp-onboarding-status-screen__actions,
	html body .entry-content .affwp-onboarding-status-screen__actions {
		flex-direction: column !important;
	}
	html body .affwp-onboarding-status-screen__btn-primary,
	html body .entry-content .affwp-onboarding-status-screen__btn-primary,
	html body .affwp-onboarding-status-screen__btn-ghost,
	html body .entry-content .affwp-onboarding-status-screen__btn-ghost {
		width: 100% !important;
		justify-content: center !important;
	}
}

/* Light mode adapta los colores oscuros a claros */
html.affwp-portal-theme-light body .affwp-onboarding-status-screen__card,
html.affwp-portal-theme-light body .entry-content .affwp-onboarding-status-screen__card {
	background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
	border-color: #e2e8f0 !important;
	color: #0f172a !important;
	box-shadow: 0 30px 80px -20px rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(168, 85, 247, 0.04) !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-status-screen__title {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-status-screen__lead {
	color: #475569 !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-status-screen__lead strong {
	color: #1e293b !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-status-screen__eta {
	background: rgba(168, 85, 247, 0.06) !important;
	border-color: rgba(168, 85, 247, 0.2) !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-status-screen__eta-body strong {
	color: #1e293b !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-status-screen__eta-body span {
	color: #64748b !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-status-screen__timeline li::before {
	background: rgba(0, 0, 0, 0.08) !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-status-screen__timeline-dot {
	background: #f1f5f9 !important;
	border-color: #cbd5e1 !important;
	color: #94a3b8 !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-status-screen__timeline li strong {
	color: #334155 !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-status-screen__timeline li.is-current strong {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-status-screen__timeline li p {
	color: #94a3b8 !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-status-screen__info {
	background: #f8fafc !important;
	border-color: #e2e8f0 !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-status-screen__info > div strong {
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-status-screen__info > div p {
	color: #64748b !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-status-screen__btn-ghost {
	background: #f1f5f9 !important;
	color: #475569 !important;
	border-color: #cbd5e1 !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-status-screen__btn-ghost:hover {
	background: #e2e8f0 !important;
	color: #0f172a !important;
}

html.affwp-portal-theme-light body .affwp-onboarding-status-screen__reason {
	background: #fffbeb !important;
	color: #92400e !important;
}

/* ============================================================
 * Section header con link "Ver todos →" — usado en dashboards.
 * ============================================================ */
.affwp-portal-section-head {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
	margin: 32px 0 14px !important;
}
.affwp-portal-section-head .affwp-portal-section-title {
	margin: 0 !important;
}
.affwp-portal-section-link {
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--affp-accent, #a855f7) !important;
	text-decoration: none !important;
	transition: opacity 0.15s ease, transform 0.15s ease !important;
}
.affwp-portal-section-link:hover {
	opacity: 0.85 !important;
	transform: translateX(2px) !important;
}

/* ============================================================
 * Tabla compacta para "Pedidos recientes" del Gestor.
 * ============================================================ */
.affwp-portal-table-wrap {
	background: var(--affp-surface, #131826) !important;
	border: 1px solid var(--affp-border, rgba(255,255,255,0.08)) !important;
	border-radius: 14px !important;
	overflow-x: auto !important;
	-webkit-overflow-scrolling: touch !important;
}
.affwp-portal-table {
	width: 100% !important;
	border-collapse: collapse !important;
	font-size: 13.5px !important;
	color: var(--affp-text, #cbd5e1) !important;
}
.affwp-portal-table thead th {
	padding: 12px 16px !important;
	text-align: left !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	color: var(--affp-text-muted, #94a3b8) !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	background: rgba(255, 255, 255, 0.02) !important;
	border-bottom: 1px solid var(--affp-border, rgba(255,255,255,0.08)) !important;
}
.affwp-portal-table tbody td {
	padding: 12px 16px !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
	vertical-align: middle !important;
}
.affwp-portal-table tbody tr:last-child td {
	border-bottom: none !important;
}
.affwp-portal-table tbody tr:hover {
	background: rgba(168, 85, 247, 0.04) !important;
}
.affwp-portal-table__num {
	text-align: right !important;
	white-space: nowrap !important;
	font-variant-numeric: tabular-nums !important;
	font-weight: 600 !important;
	color: var(--affp-text, #f8fafc) !important;
}
.affwp-portal-table a {
	color: var(--affp-accent, #a855f7) !important;
	text-decoration: none !important;
	font-weight: 600 !important;
}
.affwp-portal-table a:hover { text-decoration: underline !important; }

/* ============================================================
 * Status pill — variantes por color (success/info/warn/danger/gray)
 * ============================================================ */
.affwp-portal-pill {
	display: inline-block !important;
	padding: 3px 10px !important;
	border-radius: 999px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	line-height: 1.5 !important;
	border: 1px solid transparent !important;
}
.affwp-portal-pill--success {
	background: rgba(16, 185, 129, 0.15) !important;
	color: #6ee7b7 !important;
	border-color: rgba(16, 185, 129, 0.4) !important;
}
.affwp-portal-pill--info {
	background: rgba(59, 130, 246, 0.15) !important;
	color: #93c5fd !important;
	border-color: rgba(59, 130, 246, 0.4) !important;
}
.affwp-portal-pill--warn {
	background: rgba(245, 158, 11, 0.15) !important;
	color: #fcd34d !important;
	border-color: rgba(245, 158, 11, 0.4) !important;
}
.affwp-portal-pill--danger {
	background: rgba(239, 68, 68, 0.18) !important;
	color: #fca5a5 !important;
	border-color: rgba(239, 68, 68, 0.4) !important;
}
.affwp-portal-pill--gray {
	background: rgba(148, 163, 184, 0.12) !important;
	color: #cbd5e1 !important;
	border-color: rgba(148, 163, 184, 0.3) !important;
}

/* Light mode adapta colores */
html.affwp-portal-theme-light .affwp-portal-table-wrap {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
}
html.affwp-portal-theme-light .affwp-portal-table thead th {
	background: #f8fafc !important;
	color: #64748b !important;
	border-bottom-color: #e2e8f0 !important;
}
html.affwp-portal-theme-light .affwp-portal-table tbody td {
	border-bottom-color: #f1f5f9 !important;
}
html.affwp-portal-theme-light .affwp-portal-table tbody tr:hover {
	background: rgba(168, 85, 247, 0.06) !important;
}
html.affwp-portal-theme-light .affwp-portal-table__num {
	color: #0f172a !important;
}

/* ============================================================
 * Badge de comisión efectiva en cards de producto.
 *
 * Aparece en el wizard del Gestor y en la nueva pestaña Productos
 * del afiliado. Muestra "Comisión X%" — el % final que va a ganar
 * sobre ese producto AHORA (post-ajuste por rebaja). El admin nunca
 * expone el margen interno, solo este valor final.
 * ============================================================ */
.affwp-portal-mgr-product-result__commission,
.affwp-portal-products-card__commission {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin: 6px 0 0;
	padding: 3px 8px;
	background: rgba(16, 185, 129, 0.14);
	color: #6ee7b7;
	border: 1px solid rgba(16, 185, 129, 0.35);
	border-radius: 6px;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1;
	white-space: nowrap;
}

html.affwp-portal-theme-light .affwp-portal-mgr-product-result__commission,
html.affwp-portal-theme-light .affwp-portal-products-card__commission {
	background: rgba(16, 185, 129, 0.10) !important;
	color: #047857 !important;
	border-color: rgba(16, 185, 129, 0.30) !important;
}

/* ============================================================
 * Precio rebajado + badge "-X%" en cards de producto del wizard.
 *
 * Layout: regular price tachado (pequeño, izquierda) + sale price
 * (grande, accent verde) + pill rojizo "-15%" a la derecha. En una
 * sola línea cuando hay espacio, se apila en móvil si no cabe.
 * ============================================================ */
.affwp-portal-mgr-product-result__price--sale {
	display: flex !important;
	align-items: baseline;
	gap: 6px;
	flex-wrap: wrap;
}
.affwp-portal-mgr-product-result__price-was {
	font-size: 11.5px;
	color: var(--affp-text-subtle);
	text-decoration: line-through;
	font-weight: 500;
}
.affwp-portal-mgr-product-result__price-now {
	font-size: inherit;
	font-weight: 700;
	color: var(--affp-accent-light);
}
.affwp-portal-mgr-product-result__discount-badge,
.affwp-portal-products-card__discount {
	display: inline-flex;
	align-items: center;
	padding: 2px 6px;
	background: rgba(239, 68, 68, 0.18);
	color: #fca5a5;
	border: 1px solid rgba(239, 68, 68, 0.40);
	border-radius: 6px;
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: 0.02em;
	line-height: 1;
}

/* Badge "-X%" como overlay en la esquina superior izquierda de la imagen
 * para el grid del tab Productos del afiliado. */
.affwp-portal-products-card__img-wrap {
	position: relative;
}
.affwp-portal-products-card__discount {
	position: absolute;
	top: 8px;
	left: 8px;
	z-index: 2;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.30);
}
.affwp-portal-products-card__price--sale {
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
	flex-wrap: wrap;
}
.affwp-portal-products-card__price-was {
	font-size: 12px;
	color: var(--affp-text-subtle);
	text-decoration: line-through;
	font-weight: 500;
}
.affwp-portal-products-card__price-now {
	font-size: 15px;
	font-weight: 700;
	color: var(--affp-accent-light);
}

/* Light mode adaptations */
html.affwp-portal-theme-light .affwp-portal-mgr-product-result__price-was,
html.affwp-portal-theme-light .affwp-portal-products-card__price-was {
	color: #94a3b8 !important;
}
html.affwp-portal-theme-light .affwp-portal-mgr-product-result__discount-badge,
html.affwp-portal-theme-light .affwp-portal-products-card__discount {
	background: rgba(239, 68, 68, 0.12) !important;
	color: #b91c1c !important;
	border-color: rgba(239, 68, 68, 0.35) !important;
}

/* ============================================================
 * LIGHT MODE — Overrides finales (fuera de cualquier @media).
 *
 * Causa raíz: muchas reglas light mode del wizard del Gestor estaban
 * envueltas en `@media (max-width: 900px) { ... }` (mobile-only). En
 * desktop NO se aplicaban → text washed out sobre bg blanco.
 *
 * Solución: este bloque aplica los overrides clave para light mode SIN
 * media query, así cubren TODOS los viewports. Specificity reforzada con
 * `html.affwp-portal-theme-light body .X` para ganar contra reglas dark
 * sin theme (`html body .X`) por mayor specificity.
 *
 * IMPORTANTE: este bloque va AL FINAL del archivo. Por source order
 * gana contra cualquier override previo con misma o menor specificity.
 * ============================================================ */

/* ---- Wizard del Gestor — cards de producto en catálogo ---- */
html.affwp-portal-theme-light body .affwp-portal-mgr-product-result,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-result {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05) !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-product-result:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-result:hover {
	border-color: #cbd5e1 !important;
	background: #ffffff !important;
	box-shadow: 0 4px 10px rgba(15, 23, 42, 0.08) !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-product-result__name,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-result__name {
	color: #0f172a !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-product-result__price,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-result__price {
	color: #047857 !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-product-result__img,
html.affwp-portal-theme-light body .affwp-portal-mgr-product-result__noimg,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-result__img,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-result__noimg {
	background: #f1f5f9 !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-product-result .affwp-portal-mgr-add-btn,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-result .affwp-portal-mgr-add-btn {
	background: rgba(5, 150, 105, 0.10) !important;
	border-color: rgba(5, 150, 105, 0.35) !important;
	color: #047857 !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-product-result .affwp-portal-mgr-add-btn:hover,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-result .affwp-portal-mgr-add-btn:hover {
	background: rgba(5, 150, 105, 0.18) !important;
	border-color: rgba(5, 150, 105, 0.55) !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-product-result__commission {
	background: rgba(5, 150, 105, 0.10) !important;
	color: #047857 !important;
	border-color: rgba(5, 150, 105, 0.30) !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-product-status,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-status {
	color: #64748b !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-product-status strong,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-status strong {
	color: #0f172a !important;
}

/* ---- Chips de categorías del wizard (Todos / 1HORA / etc) ---- */
html.affwp-portal-theme-light body .affwp-portal-mgr-product-cat,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-cat {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
	color: #475569 !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-product-cat:hover {
	background: #f8fafc !important;
	border-color: #cbd5e1 !important;
	color: #0f172a !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-product-cat.is-active,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-product-cat.is-active {
	background: rgba(5, 150, 105, 0.12) !important;
	border-color: rgba(5, 150, 105, 0.45) !important;
	color: #047857 !important;
}

/* ---- "Productos seleccionados" panel (lateral derecho) ---- */
html.affwp-portal-theme-light body .affwp-portal-mgr-summary,
html.affwp-portal-theme-light body .affwp-portal-mgr-summary-card,
html.affwp-portal-theme-light body .affwp-portal-mgr-summary__title,
html.affwp-portal-theme-light body .affwp-portal-mgr-summary__product,
html.affwp-portal-theme-light body .affwp-portal-mgr-summary__line,
html.affwp-portal-theme-light body .affwp-portal-mgr-cart-item__body h5 {
	color: #0f172a !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-summary__product-name,
html.affwp-portal-theme-light body .affwp-portal-mgr-cart-item__body h5 {
	color: #0f172a !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-summary__product-price,
html.affwp-portal-theme-light body .affwp-portal-mgr-cart-item__body p,
html.affwp-portal-theme-light body .affwp-portal-mgr-summary__line-value,
html.affwp-portal-theme-light body .affwp-portal-mgr-summary__total-value {
	color: #047857 !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-summary__line-label {
	color: #64748b !important;
}

/* ---- Step pills 1 / 2 / 3 ---- */
html.affwp-portal-theme-light body .affwp-portal-mgr-steps__label,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-steps__label {
	color: #475569 !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-steps__item.is-current .affwp-portal-mgr-steps__label,
html.affwp-portal-theme-light body .affwp-portal-mgr-steps__item.is-done .affwp-portal-mgr-steps__label {
	color: #0f172a !important;
}

/* ---- KPI cards del dashboard ---- */
html.affwp-portal-theme-light body .affwp-portal-kpi,
html.affwp-portal-theme-light body .entry-content .affwp-portal-kpi {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
}
html.affwp-portal-theme-light body .affwp-portal-kpi__label {
	color: #64748b !important;
}
html.affwp-portal-theme-light body .affwp-portal-kpi__value {
	color: #0f172a !important;
}
html.affwp-portal-theme-light body .affwp-portal-kpi__helper {
	color: #64748b !important;
}

/* ---- Page header titles + subtitles ---- */
html.affwp-portal-theme-light body .affwp-portal-page-header__title,
html.affwp-portal-theme-light body .entry-content .affwp-portal-page-header__title {
	color: #0f172a !important;
}
html.affwp-portal-theme-light body .affwp-portal-page-header__subtitle,
html.affwp-portal-theme-light body .entry-content .affwp-portal-page-header__subtitle {
	color: #475569 !important;
}

/* ---- Inputs y search del wizard + tab Productos ---- */
html.affwp-portal-theme-light body .affwp-portal-mgr-search,
html.affwp-portal-theme-light body .affwp-portal-mgr-search input,
html.affwp-portal-theme-light body .affwp-portal-products-search input {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
	color: #0f172a !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-search input::placeholder,
html.affwp-portal-theme-light body .affwp-portal-products-search input::placeholder {
	color: #94a3b8 !important;
}

/* ---- Tab Productos del afiliado: cards ---- */
html.affwp-portal-theme-light body .affwp-portal-products-card {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
}
html.affwp-portal-theme-light body .affwp-portal-products-card:hover {
	border-color: #cbd5e1 !important;
}
html.affwp-portal-theme-light body .affwp-portal-products-card__name {
	color: #0f172a !important;
}
html.affwp-portal-theme-light body .affwp-portal-products-card__price,
html.affwp-portal-theme-light body .affwp-portal-products-card__price-now {
	color: #6d28d9 !important;
}
html.affwp-portal-theme-light body .affwp-portal-products-card__commission {
	background: rgba(5, 150, 105, 0.10) !important;
	color: #047857 !important;
	border-color: rgba(5, 150, 105, 0.30) !important;
}
html.affwp-portal-theme-light body .affwp-portal-products-status {
	color: #64748b !important;
}
html.affwp-portal-theme-light body .affwp-portal-products-card__img,
html.affwp-portal-theme-light body .affwp-portal-products-card__noimg {
	background: #f1f5f9 !important;
}

/* ============================================================================
 * LIGHT MODE — BARRIDO EXHAUSTIVO (jun 2026)
 *
 * Captura las clases que quedaban washed out en desktop tras los 2 fixes
 * previos. Identificadas mapeando los screenshots del usuario contra los
 * templates manager/* y dashboard-tab-*.
 *
 * Estrategia: selector `html.affwp-portal-theme-light body .X` + `!important`
 * + bloque al final del archivo (gana por source order). NO usa @media —
 * aplica a todos los viewports.
 * ============================================================================ */

/* ---- 1. Stepper "1 Productos / 2 Cliente / 3 Confirmar" ---- */
html.affwp-portal-theme-light body .affwp-portal-stepper,
html.affwp-portal-theme-light body .entry-content .affwp-portal-stepper {
	background: #f8fafc !important;
	border: 1px solid #e2e8f0 !important;
}
html.affwp-portal-theme-light body .affwp-portal-stepper__num {
	background: #e2e8f0 !important;
	color: #475569 !important;
	border-color: transparent !important;
}
html.affwp-portal-theme-light body .affwp-portal-stepper__step.is-active .affwp-portal-stepper__num,
html.affwp-portal-theme-light body .affwp-portal-stepper__step.is-done .affwp-portal-stepper__num {
	background: #059669 !important;
	color: #ffffff !important;
}
html.affwp-portal-theme-light body .affwp-portal-stepper__label {
	color: #64748b !important;
}
html.affwp-portal-theme-light body .affwp-portal-stepper__step.is-active .affwp-portal-stepper__label,
html.affwp-portal-theme-light body .affwp-portal-stepper__step.is-done .affwp-portal-stepper__label {
	color: #0f172a !important;
	font-weight: 700 !important;
}
html.affwp-portal-theme-light body .affwp-portal-stepper__sep {
	background: #e2e8f0 !important;
}

/* ---- 2. Wizard form labels + hints + inputs ---- */
html.affwp-portal-theme-light body .affwp-portal-wizard__label,
html.affwp-portal-theme-light body .entry-content .affwp-portal-wizard__label {
	color: #475569 !important;
	font-weight: 600 !important;
}
html.affwp-portal-theme-light body .affwp-portal-wizard__hint,
html.affwp-portal-theme-light body .entry-content .affwp-portal-wizard__hint {
	color: #64748b !important;
}
html.affwp-portal-theme-light body .affwp-portal-wizard__field input,
html.affwp-portal-theme-light body .affwp-portal-wizard__field select,
html.affwp-portal-theme-light body .affwp-portal-wizard__field textarea {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
	color: #0f172a !important;
}
html.affwp-portal-theme-light body .affwp-portal-wizard__field input::placeholder,
html.affwp-portal-theme-light body .affwp-portal-wizard__field textarea::placeholder {
	color: #94a3b8 !important;
}
html.affwp-portal-theme-light body .affwp-portal-wizard__pane {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-required {
	color: #dc2626 !important;
}

/* ---- 3. Manager wizard intro & step hint ---- */
html.affwp-portal-theme-light body .affwp-portal-mgr-step-hint,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-step-hint {
	color: #475569 !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-wizard__intro,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-wizard__intro {
	background: rgba(5, 150, 105, 0.06) !important;
	border-color: rgba(5, 150, 105, 0.25) !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-wizard__intro-title {
	color: #0f172a !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-wizard__intro-desc {
	color: #475569 !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-wizard__intro-icon {
	color: #047857 !important;
}

/* ---- 4. Productos seleccionados (sidebar derecho del wizard) ---- */
html.affwp-portal-theme-light body .affwp-portal-mgr-products-sidebar,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-products-sidebar {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-products-sidebar__inner {
	background: transparent !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-products-sidebar__title {
	color: #0f172a !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-products-sidebar__close {
	background: rgba(15, 23, 42, 0.06) !important;
	color: #475569 !important;
	border: none !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-cart-empty,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-cart-empty {
	color: #64748b !important;
	background: #f8fafc !important;
	border-color: #e2e8f0 !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-cart-item,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-cart-item {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-cart-item__body h5 {
	color: #0f172a !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-cart-item__body p {
	color: #475569 !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-totals,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-totals {
	border-color: #e2e8f0 !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-totals__row {
	color: #475569 !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-totals__row--total {
	color: #0f172a !important;
	font-weight: 800 !important;
	border-color: #e2e8f0 !important;
}

/* Productos seleccionados — "TU COMISIÓN ESTIMADA" callout */
html.affwp-portal-theme-light body .affwp-portal-mgr-products-sidebar__commission {
	background: linear-gradient(135deg, rgba(5, 150, 105, 0.06), rgba(5, 150, 105, 0.10)) !important;
	border-color: rgba(5, 150, 105, 0.32) !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-products-sidebar__commission-title {
	color: #475569 !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-products-sidebar__commission-rate {
	color: #047857 !important;
	background: rgba(5, 150, 105, 0.12) !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-products-sidebar__commission-amount {
	color: #047857 !important;
	font-weight: 800 !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-products-sidebar__commission-hint {
	color: #64748b !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-products-sidebar__commission-icon {
	color: #047857 !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-products-sidebar__hint {
	color: #64748b !important;
}

/* ---- 5. Card summary banner top de step 2 (1 producto · $X.XX) ---- */
html.affwp-portal-theme-light body .affwp-portal-mgr-cart-summary-banner,
html.affwp-portal-theme-light body .entry-content .affwp-portal-mgr-cart-summary-banner {
	background: rgba(5, 150, 105, 0.08) !important;
	border-color: rgba(5, 150, 105, 0.30) !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-cart-summary-banner__count {
	color: #475569 !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-cart-summary-banner__total {
	color: #047857 !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-cart-summary-banner__icon {
	color: #047857 !important;
}

/* ---- 6. Browse clients search helper + button ---- */
html.affwp-portal-theme-light body .affwp-portal-mgr-search-helper {
	color: #64748b !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-browse-btn {
	background: rgba(5, 150, 105, 0.08) !important;
	border-color: rgba(5, 150, 105, 0.35) !important;
	color: #047857 !important;
}

/* ---- 7. KPI cards (afiliado + gestor) — labels, helpers, deltas, sparklines ---- */
html.affwp-portal-theme-light body .affwp-portal-kpi__label {
	color: #64748b !important;
}
html.affwp-portal-theme-light body .affwp-portal-kpi__value {
	color: #0f172a !important;
}
html.affwp-portal-theme-light body .affwp-portal-kpi__helper {
	color: #64748b !important;
}
html.affwp-portal-theme-light body .affwp-portal-kpi__delta {
	color: #475569 !important;
}
html.affwp-portal-theme-light body .affwp-portal-kpi__delta--up {
	color: #047857 !important;
}
html.affwp-portal-theme-light body .affwp-portal-kpi__delta--down {
	color: #dc2626 !important;
}

/* ---- 8. Sub-tabs (Todos / Baño / Cocina del tab Productos) ---- */
html.affwp-portal-theme-light body .affwp-portal-products-cat,
html.affwp-portal-theme-light body .affwp-portal-products-cat--sub {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
	color: #475569 !important;
}
html.affwp-portal-theme-light body .affwp-portal-products-cat:hover {
	background: #f8fafc !important;
	border-color: #cbd5e1 !important;
	color: #0f172a !important;
}
html.affwp-portal-theme-light body .affwp-portal-products-cat.is-active {
	background: rgba(124, 58, 237, 0.10) !important;
	border-color: rgba(124, 58, 237, 0.45) !important;
	color: #6d28d9 !important;
}

/* ---- 9. Tablas (refs, payouts, visitas, etc.) ---- */
html.affwp-portal-theme-light body .affwp-portal-table thead th,
html.affwp-portal-theme-light body .entry-content .affwp-portal-table thead th {
	background: #f8fafc !important;
	color: #475569 !important;
	border-color: #e2e8f0 !important;
}
html.affwp-portal-theme-light body .affwp-portal-table tbody td,
html.affwp-portal-theme-light body .entry-content .affwp-portal-table tbody td {
	color: #334155 !important;
	border-color: #f1f5f9 !important;
	background: #ffffff !important;
}

/* ---- 10. Affiliate panel: link card, coupons widget, chart legend ---- */
html.affwp-portal-theme-light body .affwp-portal-link-card,
html.affwp-portal-theme-light body .entry-content .affwp-portal-link-card {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
}
html.affwp-portal-theme-light body .affwp-portal-link-card__icon {
	background: rgba(124, 58, 237, 0.10) !important;
	color: #6d28d9 !important;
}
html.affwp-portal-theme-light body .affwp-portal-link-card__title {
	color: #0f172a !important;
}
html.affwp-portal-theme-light body .affwp-portal-link-card__sub {
	color: #64748b !important;
}
html.affwp-portal-theme-light body .affwp-portal-link-card__input,
html.affwp-portal-theme-light body .affwp-portal-link-card input[readonly] {
	background: #f8fafc !important;
	border-color: #e2e8f0 !important;
	color: #0f172a !important;
}
html.affwp-portal-theme-light body .affwp-portal-link-card__meta {
	color: #64748b !important;
}

/* Chart legend "Últimos 30 días / 30 días anteriores" */
html.affwp-portal-theme-light body .affwp-portal-chart-legend,
html.affwp-portal-theme-light body .affwp-portal-chart-legend__item {
	color: #475569 !important;
}

/* ---- 11. Comisión / discount badges en cards de producto ---- */
html.affwp-portal-theme-light body .affwp-portal-mgr-product-result__commission,
html.affwp-portal-theme-light body .affwp-portal-products-card__commission {
	background: rgba(5, 150, 105, 0.10) !important;
	color: #047857 !important;
	border-color: rgba(5, 150, 105, 0.30) !important;
}
html.affwp-portal-theme-light body .affwp-portal-mgr-product-result__discount-badge,
html.affwp-portal-theme-light body .affwp-portal-products-card__discount {
	background: #dc2626 !important;
	color: #ffffff !important;
	border-color: transparent !important;
	box-shadow: 0 2px 6px rgba(220, 38, 38, 0.30) !important;
}

/* ---- 12. Sub-toolbar de status ("X de Y productos") ---- */
html.affwp-portal-theme-light body .affwp-portal-products-status {
	color: #64748b !important;
}

/* ---- 13. Callouts (CTA, comisión ajustada por rebaja) ---- */
html.affwp-portal-theme-light body .affwp-portal-cta,
html.affwp-portal-theme-light body .entry-content .affwp-portal-cta {
	background: #f8fafc !important;
	border-color: #e2e8f0 !important;
}
html.affwp-portal-theme-light body .affwp-portal-cta__title {
	color: #0f172a !important;
}
html.affwp-portal-theme-light body .affwp-portal-cta__desc {
	color: #475569 !important;
}

/* ---- 14. Section heads (h3 con link "Ver todos →") ---- */
html.affwp-portal-theme-light body .affwp-portal-section-title,
html.affwp-portal-theme-light body .affwp-portal-section-head h3 {
	color: #0f172a !important;
}
html.affwp-portal-theme-light body .affwp-portal-section-link {
	color: #6d28d9 !important;
}

/* ---- 15. Coupons widget en sidebar del afiliado ---- */
html.affwp-portal-theme-light body .affwp-portal-coupon-pill {
	background: rgba(124, 58, 237, 0.06) !important;
	border-color: rgba(124, 58, 237, 0.25) !important;
	color: #0f172a !important;
}
html.affwp-portal-theme-light body .affwp-portal-coupon-pill__code {
	color: #0f172a !important;
	font-weight: 700 !important;
}
html.affwp-portal-theme-light body .affwp-portal-coupon-pill__discount {
	color: #6d28d9 !important;
}

/* ---- 16. Status pills (rechazado/pendiente/pagado) ---- */
html.affwp-portal-theme-light body .affwp-portal-status-pill {
	color: #475569 !important;
}
html.affwp-portal-theme-light body .affwp-portal-status-pill--paid,
html.affwp-portal-theme-light body .affwp-portal-status-pill--unpaid {
	background: rgba(5, 150, 105, 0.10) !important;
	color: #047857 !important;
}
html.affwp-portal-theme-light body .affwp-portal-status-pill--pending {
	background: rgba(245, 158, 11, 0.12) !important;
	color: #b45309 !important;
}
html.affwp-portal-theme-light body .affwp-portal-status-pill--rejected {
	background: rgba(239, 68, 68, 0.10) !important;
	color: #b91c1c !important;
}

/* ---- 17. Dashboard manager: chart wrap + section heads ---- */
html.affwp-portal-theme-light body .affwp-portal-chart-card,
html.affwp-portal-theme-light body .entry-content .affwp-portal-chart-card {
	background: #ffffff !important;
	border-color: #e2e8f0 !important;
}
html.affwp-portal-theme-light body .affwp-portal-chart-card h3 {
	color: #0f172a !important;
}
html.affwp-portal-theme-light body .affwp-portal-chart-card__sub {
	color: #64748b !important;
}

/* ---- 18. Mobile / responsive — mismos overrides aplican (sin @media wrap) ---- */
