/* -----------------------------------------------------------------------------
 * Purpose: Affiliate portal UI — dashboard, tools, training, apply, terms, status.
 *
 * Architecture:
 *   Load order: brand/tokens.css (--nllm-* / --pc-*) → this file.
 *   Mobile-first: base = 320px; enhance at min-width 600 / 900.
 *   Structure from tokens (space/radius/type/shadow); local CSS wires appearance.
 *
 * Org flow (dashboard):
 *   hero → primary share link → money KPIs → performance + QR/checklist →
 *   activity → structure → ledger → estimates → scouts
 *
 * BEM blocks:
 *   .nllm-partner-shell | nav | hero | panel | kpi | copybar | form | …
 *
 * [host:grok-cli:0.2.93][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.990]
 * [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] Revised: full redesign — share-first hierarchy, mobile craft, token wiring.
 * [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.991] Revised: mobile craft pass — balance list 1-col at 320, chip/nav ≥14px,
 *          chart empty-state min-height (UI test + frontend-design skill).
 * [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.991] Revised: type-floor pass — eyebrow/category/tools labels ≥14px; training media CTA tap.
 * [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.991] Revised: in-shell footer + estimate notes ≥14px; footer links 44px taps.
 * -------------------------------------------------------------------------- */

/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] ── §0  Shell ─────────────────────────────────────────────────────────── */

.nllm-partner-shell {
	/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] Single column content rail; side padding safe on 320px */
	max-width: 72rem;
	margin: 0 auto;
	padding: 0 var(--nllm-space-md, 1rem) var(--nllm-space-2xl, 3rem);
	color: var(--nllm-text, #f8fafc);
	font-size: max(0.9375rem, 15px); /* ≥14px mobile body floor */
	line-height: var(--nllm-leading-relaxed, 1.55);
}

.nllm-partner-dashboard,
.nllm-partner-apply,
.nllm-partner-status,
.nllm-partner-terms,
.nllm-partner-tools,
.nllm-partner-training {
	color: var(--nllm-text, #f8fafc);
}

/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] ── §1  Sticky nav (horizontal scroll on narrow) ─────────────────────── */
/*
 * Stacking ladder (partner portal chrome vs media):
 *   site header          → --nllm-z-fixed  (~300)  — always wins
 *   partner sticky nav   → --nllm-z-sticky (~200)  — above tools tabs + media
 *   tools sticky tabs    → sticky-10               — above media, below partner nav
 *   hero/kit media       → 0 + isolation:isolate   — never paint over sticky chrome
 *   toast                → 50 (local fixed)
 *   aff drawer / fab     → 1050
 * [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.1283]
 * Revised: media (video compositor layers) must stay under sticky nav on scroll.
 */

.nllm-partner-nav {
	position: sticky;
	top: 0;
	/* Align with site sticky ladder; stay below site header (--nllm-z-fixed ~300). */
	z-index: var(--nllm-z-sticky, 200);
	margin: 0 calc(-1 * var(--nllm-space-md, 1rem)) var(--nllm-space-lg, 1.5rem);
	padding: var(--nllm-space-sm, 0.5rem) var(--nllm-space-md, 1rem);
	background: color-mix(in srgb, var(--nllm-surface-deep, #0f172a) 94%, transparent);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--nllm-surface-soft, #334155);
}

.nllm-partner-nav__brand {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--nllm-space-sm, 0.5rem) var(--nllm-space-md, 1rem);
	margin-bottom: var(--nllm-space-sm, 0.5rem);
}

.nllm-partner-nav__title {
	margin: 0;
	/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.991] ≥14px — was 0.8rem (~12.8) under body floor */
	font-size: max(0.875rem, 14px);
	font-weight: var(--nllm-font-weight-bold, 700);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--nllm-text-muted, #cbd5e1);
}

.nllm-partner-nav__meta {
	font-size: var(--nllm-text-sm, 0.875rem);
	color: var(--nllm-text-subtle, #94a3b8);
}

.nllm-partner-nav__meta a {
	color: var(--nllm-cyan-bright, #22d3ee);
	text-decoration: none;
}

.nllm-partner-nav__meta a:hover {
	text-decoration: underline;
}

/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] Status chip in nav */
.nllm-partner-nav__badge {
	display: inline-flex;
	align-items: center;
	min-height: 1.75rem;
	padding: 0.15rem 0.65rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: capitalize;
	background: color-mix(in srgb, var(--nllm-cyan, #06b6d4) 18%, transparent);
	border: 1px solid color-mix(in srgb, var(--nllm-cyan, #06b6d4) 40%, transparent);
	color: var(--nllm-text, #f8fafc);
}

.nllm-partner-nav__list {
	display: flex;
	flex-wrap: nowrap;
	gap: 0.25rem;
	list-style: none;
	margin: 0;
	padding: 0 0 0.15rem;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
}

.nllm-partner-nav__item {
	flex: 0 0 auto;
}

.nllm-partner-nav__item a {
	/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] 44px-ish tap target on mobile */
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.5rem;
	padding: 0.45rem 0.85rem;
	border-radius: var(--nllm-radius-sm, 6px);
	color: var(--nllm-text-muted, #cbd5e1);
	text-decoration: none;
	font-size: 0.9rem;
	font-weight: 500;
	white-space: nowrap;
	transition: background var(--nllm-transition-fast, 120ms ease), color var(--nllm-transition-fast, 120ms ease);
}

.nllm-partner-nav__item a:hover {
	color: var(--nllm-text, #f8fafc);
	background: var(--nllm-surface, #1e293b);
}

.nllm-partner-nav__item.is-active a,
.nllm-partner-nav__item a[aria-current="page"] {
	color: var(--nllm-text, #f8fafc);
	background: color-mix(in srgb, var(--nllm-violet, #7c3aed) 32%, var(--nllm-surface, #1e293b));
	box-shadow: inset 0 -2px 0 var(--pc-bolt-amber, #f59e0b);
}

/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] ── §2  Hero ─────────────────────────────────────────────────────────── */

.nllm-partner-hero {
	display: flex;
	flex-direction: column;
	gap: var(--nllm-space-md, 1rem);
	margin: 0 0 var(--nllm-space-lg, 1.5rem);
	padding: var(--nllm-space-lg, 1.5rem) var(--nllm-space-md, 1rem);
	border-radius: var(--nllm-radius-md, 12px);
	/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] Asymmetric brand wash — left bolt-amber, not centered purple blob */
	background:
		radial-gradient(90% 120% at 0% 0%, color-mix(in srgb, var(--pc-bolt-amber, #f59e0b) 22%, transparent), transparent 55%),
		radial-gradient(70% 90% at 100% 20%, color-mix(in srgb, var(--nllm-violet, #7c3aed) 28%, transparent), transparent 50%),
		var(--nllm-surface, #1e293b);
	border: 1px solid var(--nllm-surface-soft, #334155);
	box-shadow: var(--nllm-shadow-sm, 0 2px 8px rgba(124, 58, 237, 0.15));
}

.nllm-partner-eyebrow {
	margin: 0 0 0.35rem;
	/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.991] ≥14px floor (was 0.75rem / 12px) */
	font-size: max(0.875rem, 14px);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--pc-bolt-amber-pale, #fde68a);
}

.nllm-partner-hero__title {
	margin: 0 0 0.45rem;
	font-size: clamp(1.45rem, 5.5vw, 1.9rem);
	font-weight: var(--nllm-font-weight-extrabold, 800);
	line-height: var(--nllm-leading-snug, 1.25);
	color: var(--nllm-text, #f8fafc);
}

.nllm-partner-hero__lede {
	margin: 0;
	max-width: 40rem;
	color: var(--nllm-text-muted, #cbd5e1);
	line-height: 1.55;
	font-size: 0.975rem;
}

.nllm-partner-hero__aside {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--nllm-space-sm, 0.5rem);
}

.nllm-partner-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.nllm-partner-status-pill {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin: 0;
	padding: 0.35rem 0.75rem;
	border-radius: 999px;
	font-size: 0.8rem;
	background: color-mix(in srgb, var(--nllm-surface-deep, #0f172a) 70%, transparent);
	border: 1px solid var(--nllm-surface-soft, #334155);
}

.nllm-partner-status-pill__label {
	color: var(--nllm-text-subtle, #94a3b8);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 0.7rem;
}

.nllm-partner-status-pill strong {
	text-transform: capitalize;
	font-weight: 700;
}

/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] ── §3  Panels (section cards) ───────────────────────────────────────── */

.nllm-partner-panel {
	margin: 0 0 var(--nllm-space-lg, 1.5rem);
	padding: var(--nllm-space-md, 1rem) var(--nllm-space-md, 1rem) var(--nllm-space-lg, 1.5rem);
	border-radius: var(--nllm-radius-md, 12px);
	background: var(--nllm-surface-deep, #0f172a);
	border: 1px solid var(--nllm-surface-soft, #334155);
	/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] Left accent — reads as "product panel" not equal gray boxes */
	border-left: 3px solid color-mix(in srgb, var(--nllm-violet, #7c3aed) 70%, var(--nllm-cyan, #06b6d4));
}

.nllm-partner-panel--primary {
	border-left-color: var(--pc-bolt-amber, #f59e0b);
	background:
		linear-gradient(180deg, color-mix(in srgb, var(--pc-bolt-amber, #f59e0b) 8%, var(--nllm-surface-deep, #0f172a)), var(--nllm-surface-deep, #0f172a));
	box-shadow: var(--nllm-shadow-md, 0 6px 20px rgba(124, 58, 237, 0.2));
}

.nllm-partner-panel--qr {
	text-align: center;
}

.nllm-partner-panel__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem 1rem;
	margin-bottom: 0.5rem;
}

.nllm-partner-panel__title {
	margin: 0;
	font-size: 1.05rem;
	font-weight: var(--nllm-font-weight-bold, 700);
	line-height: 1.3;
}

.nllm-partner-panel__hint {
	margin: 0.35rem 0 0.75rem;
	font-size: var(--nllm-text-sm, 0.875rem);
	color: var(--nllm-text-subtle, #94a3b8);
	line-height: 1.5;
}

.nllm-partner-panel__hint a,
.nllm-partner-panel__footer-link a {
	color: var(--nllm-cyan-bright, #22d3ee);
}

.nllm-partner-panel__footer-link {
	margin: 0.85rem 0 0;
	font-size: var(--nllm-text-sm, 0.875rem);
	color: var(--nllm-text-subtle, #94a3b8);
}

.nllm-partner-subhead {
	margin: 0.5rem 0;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--nllm-text-muted, #cbd5e1);
}

.nllm-partner-tag {
	display: inline-block;
	margin-left: 0.35rem;
	padding: 0.1rem 0.45rem;
	border-radius: 999px;
	font-size: 0.65rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	vertical-align: middle;
	color: var(--pc-bolt-amber-pale, #fde68a);
	background: color-mix(in srgb, var(--pc-bolt-amber, #f59e0b) 18%, transparent);
	border: 1px solid color-mix(in srgb, var(--pc-bolt-amber, #f59e0b) 40%, transparent);
}

.nllm-partner-empty {
	margin: 0.5rem 0;
	padding: 0.85rem 1rem;
	border-radius: var(--nllm-radius-sm, 6px);
	border: 1px dashed var(--nllm-surface-edge, #475569);
	color: var(--nllm-text-subtle, #94a3b8);
	font-size: max(0.875rem, 14px);
	line-height: 1.5;
}

/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.991] Chart empty-state: centered, intentional (not a broken blank) */
.nllm-partner-empty--chart {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 0.5rem;
	min-height: 8.5rem;
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 1.15rem 1.1rem;
	border-color: color-mix(in srgb, var(--nllm-cyan, #06b6d4) 40%, var(--nllm-surface-soft, #334155));
	background: color-mix(in srgb, var(--nllm-surface, #1e293b) 55%, #0b1220);
	color: var(--nllm-text-muted, #cbd5e1);
}

.nllm-partner-empty__title {
	margin: 0;
	font-size: max(1rem, 16px);
	font-weight: 700;
	color: var(--nllm-text, #f8fafc);
	line-height: 1.3;
}

.nllm-partner-empty__body {
	margin: 0;
	max-width: 36rem;
	font-size: max(0.875rem, 14px);
	line-height: 1.55;
	color: var(--nllm-text-subtle, #94a3b8);
}

.nllm-partner-empty__actions {
	margin: 0.35rem 0 0;
}

/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.991] Apply form: roomier field groups on mobile */
.nllm-partner-form__group {
	display: grid;
	gap: 1rem;
	margin: 0 0 1.35rem;
	padding: 1rem 0.95rem 1.1rem;
	border: 1px solid var(--nllm-surface-soft, #334155);
	border-radius: var(--nllm-radius-md, 12px);
	background: color-mix(in srgb, var(--nllm-surface, #1e293b) 88%, #000);
}

.nllm-partner-form__legend {
	padding: 0 0.35rem;
	font-size: max(0.875rem, 14px);
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--nllm-cyan-bright, #22d3ee);
}

.nllm-partner-field {
	display: grid;
	gap: 0.4rem;
}

.nllm-partner-field__label {
	font-size: max(0.875rem, 14px);
	font-weight: 600;
	color: var(--nllm-text, #f8fafc);
}

.nllm-partner-field__control {
	min-height: 2.75rem;
	padding: 0.65rem 0.75rem;
	font-size: max(1rem, 16px); /* iOS zoom-safe */
	line-height: 1.4;
	border-radius: var(--nllm-radius-sm, 6px);
	border: 1px solid var(--nllm-surface-soft, #334155);
	background: var(--nllm-surface-deep, #0f172a);
	color: var(--nllm-text, #f8fafc);
}

textarea.nllm-partner-field__control {
	min-height: 6.5rem;
	resize: vertical;
}

.nllm-partner-form__submit {
	min-height: 2.75rem;
	width: 100%;
}

@media (min-width: 600px) {
	.nllm-partner-form__submit {
		width: auto;
		min-width: 14rem;
	}
}

/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] Legacy class aliases (templates / tools still use some) */
.nllm-partner-dashboard__header {
	/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] map old header to hero-ish block if any leftover */
	margin: 0 0 var(--nllm-space-lg, 1.5rem);
	padding: var(--nllm-space-lg, 1.5rem) var(--nllm-space-md, 1rem);
	border-radius: var(--nllm-radius-md, 12px);
	background: var(--nllm-surface, #1e293b);
	border: 1px solid var(--nllm-surface-soft, #334155);
}

.nllm-partner-dashboard__header h1 {
	margin: 0 0 0.35rem;
	font-size: clamp(1.45rem, 5.5vw, 1.9rem);
}

.nllm-partner-dashboard__lede,
.nllm-partner-estimate__note {
	margin: 0.35rem 0;
	font-size: var(--nllm-text-sm, 0.875rem);
	color: var(--nllm-text-subtle, #94a3b8);
	line-height: 1.5;
}

.nllm-partner-dashboard section {
	/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] tools.php bare sections before panel class migration */
	margin: 0 0 var(--nllm-space-lg, 1.5rem);
	padding: var(--nllm-space-md, 1rem);
	border-radius: var(--nllm-radius-md, 12px);
	background: var(--nllm-surface-deep, #0f172a);
	border: 1px solid var(--nllm-surface-soft, #334155);
}

.nllm-partner-dashboard section.nllm-partner-panel {
	/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] avoid double-padding when both apply */
	margin: 0 0 var(--nllm-space-lg, 1.5rem);
}

.nllm-partner-dashboard section h2 {
	margin: 0 0 0.75rem;
	font-size: 1.05rem;
}

/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] ── §4  Copy bar (share link) ────────────────────────────────────────── */

.nllm-partner-copybar {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin: 0.65rem 0;
}

.nllm-partner-copybar__input,
.nllm-partner-dashboard__input,
.nllm-partner-field__control {
	width: 100%;
	min-height: 2.75rem; /* 44px-class tap */
	box-sizing: border-box;
	padding: 0.6rem 0.75rem;
	border-radius: var(--nllm-radius-sm, 6px);
	border: 1px solid var(--nllm-surface-edge, #475569);
	background: var(--nllm-surface, #1e293b);
	color: var(--nllm-text, #f8fafc);
	font: inherit;
	font-size: 0.95rem;
}

.nllm-partner-copybar__input {
	font-family: var(--nllm-font-mono, ui-monospace, monospace);
	font-size: 0.85rem;
}

.nllm-partner-copybar__input:focus,
.nllm-partner-dashboard__input:focus,
.nllm-partner-field__control:focus {
	outline: 2px solid color-mix(in srgb, var(--pc-bolt-amber, #f59e0b) 75%, transparent);
	outline-offset: 1px;
	border-color: var(--pc-bolt-amber, #f59e0b);
}

.nllm-partner-visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] ── §5  Buttons ──────────────────────────────────────────────────────── */

.nllm-partner-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	min-height: 2.75rem; /* 44px */
	margin: 0;
	padding: 0.55rem 1rem;
	border: 0;
	border-radius: var(--nllm-radius-sm, 6px);
	background: var(--nllm-violet, #7c3aed);
	color: #fff;
	font: inherit;
	font-weight: 600;
	font-size: max(0.875rem, 14px);
	line-height: 1.25;
	cursor: pointer;
	text-decoration: none;
	box-sizing: border-box;
	transition: background var(--nllm-transition-fast, 120ms ease), border-color var(--nllm-transition-fast, 120ms ease), transform var(--nllm-transition-fast, 120ms ease);
}

.nllm-partner-btn:hover {
	background: var(--nllm-violet-soft, #a855f7);
	color: #fff;
}

.nllm-partner-btn:active {
	transform: translateY(1px);
}

.nllm-partner-btn--ghost {
	background: transparent;
	border: 1px solid var(--nllm-surface-edge, #475569);
	color: var(--nllm-text-muted, #cbd5e1);
}

.nllm-partner-btn--ghost:hover {
	border-color: var(--nllm-cyan, #06b6d4);
	color: var(--nllm-text, #f8fafc);
	background: color-mix(in srgb, var(--nllm-surface, #1e293b) 80%, transparent);
}

.nllm-partner-btn--bolt {
	/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] Power Claude energy CTA */
	background-image: var(--pc-bolt-gradient, linear-gradient(135deg, #f59e0b, #ec4899, #a855f7));
	color: #0f172a;
	font-weight: 700;
}

.nllm-partner-btn--bolt:hover {
	filter: brightness(1.06);
	color: #0f172a;
	background-image: var(--pc-bolt-gradient, linear-gradient(135deg, #f59e0b, #ec4899, #a855f7));
}

.nllm-partner-btn.is-active {
	border-color: var(--pc-bolt-amber, #f59e0b);
	color: var(--pc-bolt-amber-pale, #fde68a);
}

/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] ── §6  Code chip ────────────────────────────────────────────────────── */

.nllm-partner-code {
	display: inline-block;
	padding: 0.25rem 0.55rem;
	border-radius: 4px;
	background: var(--nllm-surface, #1e293b);
	border: 1px solid var(--nllm-surface-soft, #334155);
	font-family: var(--nllm-font-mono, ui-monospace, monospace);
	font-size: 0.9rem;
	color: var(--nllm-cyan-bright, #22d3ee);
	word-break: break-all;
}

/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] ── §7  KPI money strip ──────────────────────────────────────────────── */

.nllm-partner-kpi {
	display: grid;
	grid-template-columns: 1fr; /* mobile single column */
	gap: 0.65rem;
	margin: 0 0 var(--nllm-space-lg, 1.5rem);
	padding: 0;
	list-style: none;
}

.nllm-partner-kpi__item {
	padding: 0.95rem 1rem;
	border-radius: var(--nllm-radius-md, 12px);
	background: var(--nllm-surface, #1e293b);
	border: 1px solid var(--nllm-surface-soft, #334155);
}

.nllm-partner-kpi__item--paid {
	border-color: color-mix(in srgb, var(--pc-save-border, #16a34a) 55%, var(--nllm-surface-soft, #334155));
	background: color-mix(in srgb, var(--pc-save-bg, #052e16) 55%, var(--nllm-surface, #1e293b));
}

.nllm-partner-kpi__item--payable {
	border-color: color-mix(in srgb, var(--nllm-cyan, #06b6d4) 40%, var(--nllm-surface-soft, #334155));
}

.nllm-partner-kpi__label {
	display: block;
	/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.991] Readable labels; no mid-word clip on 320 */
	font-size: max(0.8125rem, 13px);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--nllm-text-subtle, #94a3b8);
	margin-bottom: 0.3rem;
	white-space: normal;
	overflow-wrap: anywhere;
}

.nllm-partner-kpi__value {
	display: block;
	font-size: 1.35rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	line-height: 1.2;
}

.nllm-partner-kpi__value--gain {
	color: var(--pc-save-text, #86efac);
}

.nllm-partner-kpi__unit {
	font-size: 0.75rem;
	color: var(--nllm-text-subtle, #94a3b8);
}

/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] ── §8  Main grid (performance + aside) ──────────────────────────────── */

.nllm-partner-main-grid {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.nllm-partner-aside {
	display: flex;
	flex-direction: column;
}

/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] ── §9  Charts ───────────────────────────────────────────────────────── */

.nllm-partner-chart-controls {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin: 0.5rem 0 0.75rem;
}

.nllm-partner-chart-presets {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}

.nllm-partner-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.991] 44px tap + ≥14px type (was 2.25rem / 0.85rem) */
	min-height: 2.75rem;
	padding: 0.4rem 0.85rem;
	border-radius: 999px;
	border: 1px solid color-mix(in srgb, var(--nllm-cyan-bright, #22d3ee) 30%, transparent);
	background: color-mix(in srgb, var(--nllm-surface, #1e293b) 90%, #000);
	font-size: max(0.875rem, 14px);
	cursor: pointer;
	color: var(--nllm-text, #e2e8f0);
}

.nllm-partner-chip input {
	/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] hide native radio; whole chip is the control */
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}

.nllm-partner-chip.is-active {
	background: color-mix(in srgb, var(--pc-bolt-amber, #f59e0b) 22%, var(--nllm-surface, #1e293b));
	border-color: var(--pc-bolt-amber, #f59e0b);
	color: var(--pc-bolt-amber-pale, #fde68a);
}

.nllm-partner-chart-custom {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.nllm-partner-chart-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 0.5rem 0 0.75rem;
}

.nllm-partner-chart-frame,
.nllm-partner-dashboard__chart-frame,
.nllm-partner-qr-frame,
.nllm-partner-dashboard__qr-frame {
	background: #fff;
	display: block;
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	padding: 0.65rem;
	border-radius: var(--nllm-radius-sm, 6px);
	box-sizing: border-box;
}

/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.991] Empty chart still has presence (less “broken blank”) */
.nllm-partner-chart-frame,
.nllm-partner-dashboard__chart-frame {
	min-height: 10rem;
	background: color-mix(in srgb, var(--nllm-surface, #1e293b) 35%, #0b1220);
	border: 1px dashed color-mix(in srgb, var(--nllm-cyan, #06b6d4) 35%, var(--nllm-surface-soft, #334155));
}

.nllm-partner-qr-frame {
	display: inline-block;
	width: auto;
	max-width: 100%;
	margin: 0.5rem auto;
}

.nllm-partner-qr-frame svg,
.nllm-partner-chart-frame svg {
	max-width: 100%;
	height: auto;
}

/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] ── §10  Tables (card-stack on mobile) ───────────────────────────────── */

.nllm-partner-table-wrap {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.nllm-partner-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9rem;
}

.nllm-partner-table th,
.nllm-partner-table td {
	text-align: left;
	padding: 0.6rem 0.45rem;
	border-bottom: 1px solid var(--nllm-surface-soft, #334155);
	vertical-align: top;
}

.nllm-partner-table th {
	color: var(--nllm-text-subtle, #94a3b8);
	font-weight: 600;
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] Mobile stacked rows — avoid horizontal squeeze / word-break mid-label */
@media (max-width: 599px) {
	.nllm-partner-table thead {
		display: none;
	}

	.nllm-partner-table tr {
		display: block;
		margin-bottom: 0.75rem;
		padding: 0.65rem 0.75rem;
		border: 1px solid var(--nllm-surface-soft, #334155);
		border-radius: var(--nllm-radius-sm, 6px);
		background: var(--nllm-surface, #1e293b);
	}

	.nllm-partner-table td {
		display: flex;
		justify-content: space-between;
		gap: 0.75rem;
		padding: 0.35rem 0;
		border-bottom: 0;
		word-break: normal;
		overflow-wrap: anywhere;
	}

	.nllm-partner-table td::before {
		content: attr(data-label);
		flex: 0 0 35%;
		font-size: 0.72rem;
		text-transform: uppercase;
		letter-spacing: 0.04em;
		color: var(--nllm-text-subtle, #94a3b8);
		font-weight: 600;
	}
}

/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] ── §11  Checklist ───────────────────────────────────────────────────── */

.nllm-partner-checklist {
	list-style: none;
	padding: 0;
	margin: 0;
	counter-reset: step;
}

.nllm-partner-checklist li {
	counter-increment: step;
	display: flex;
	gap: 0.7rem;
	align-items: flex-start;
	padding: 0.6rem 0;
	border-bottom: 1px solid var(--nllm-surface-soft, #334155);
	color: var(--nllm-text-muted, #cbd5e1);
	font-size: 0.92rem;
	line-height: 1.45;
}

.nllm-partner-checklist li::before {
	content: counter(step);
	flex-shrink: 0;
	width: 1.5rem;
	height: 1.5rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	font-size: 0.7rem;
	font-weight: 700;
	color: #0f172a;
	background: var(--pc-bolt-amber, #f59e0b);
}

.nllm-partner-checklist a {
	color: var(--nllm-cyan-bright, #22d3ee);
}

/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] ── §12  Balances ────────────────────────────────────────────────────── */

.nllm-partner-balance-list,
.nllm-partner-dashboard__balance-list {
	display: grid;
	/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.991] Mobile-first single column — 2-col at 320 squeezed labels */
	grid-template-columns: 1fr;
	gap: 0.65rem;
	list-style: none;
	padding: 0;
	margin: 0;
}

.nllm-partner-balance-list__item,
.nllm-partner-dashboard__balance-list li {
	background: var(--nllm-surface, #1e293b);
	border-radius: var(--nllm-radius-sm, 6px);
	padding: 0.75rem;
	border: 1px solid var(--nllm-surface-soft, #334155);
}

.nllm-partner-balance-list__label,
.nllm-partner-dashboard__balance-list span {
	display: block;
	font-size: max(0.8125rem, 13px);
	text-transform: capitalize;
	color: var(--nllm-text-subtle, #94a3b8);
	white-space: normal;
	overflow-wrap: anywhere;
}

.nllm-partner-balance-list__value,
.nllm-partner-dashboard__balance-list strong {
	font-size: 1.1rem;
	font-variant-numeric: tabular-nums;
}

.nllm-partner-balance-list__unit {
	font-size: 0.7rem;
	color: var(--nllm-text-subtle, #94a3b8);
}

/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] ── §13  Estimates ───────────────────────────────────────────────────── */

.nllm-partner-estimate {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: 1fr;
}

.nllm-partner-estimate__card {
	padding: 0.9rem 1rem;
	border-radius: var(--nllm-radius-sm, 6px);
	background: var(--nllm-surface, #1e293b);
	border: 1px dashed var(--nllm-surface-edge, #475569);
}

.nllm-partner-estimate__amount {
	margin: 0.35rem 0;
	font-size: 1.15rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	color: var(--pc-save-text, #86efac);
}

/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] ── §14  Details ─────────────────────────────────────────────────────── */

.nllm-partner-details,
.nllm-partner-structure-formula {
	margin-top: 0.85rem;
	padding: 0.65rem 0.85rem;
	border-radius: var(--nllm-radius-sm, 6px);
	background: var(--nllm-surface, #1e293b);
	border: 1px solid var(--nllm-surface-soft, #334155);
}

.nllm-partner-details summary {
	cursor: pointer;
	font-weight: 600;
	color: var(--nllm-text-muted, #cbd5e1);
	min-height: 2.25rem;
	display: flex;
	align-items: center;
}

.nllm-partner-details ol {
	margin: 0.65rem 0 0.25rem 1.1rem;
	padding: 0;
	color: var(--nllm-text-muted, #cbd5e1);
	font-size: 0.9rem;
}

/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] ── §15  Apply — selling + form ──────────────────────────────────────── */

.nllm-partner-selling,
.nllm-partner-apply__selling {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.65rem;
	margin: 0 0 var(--nllm-space-lg, 1.5rem);
}

.nllm-partner-selling__card,
.nllm-partner-apply__selling article {
	position: relative;
	padding: 1rem 1rem 1rem 1.15rem;
	border-radius: var(--nllm-radius-md, 12px);
	background: var(--nllm-surface, #1e293b);
	border: 1px solid var(--nllm-surface-soft, #334155);
	border-left: 3px solid var(--nllm-violet, #7c3aed);
}

.nllm-partner-selling__card:nth-child(2) {
	border-left-color: var(--nllm-cyan, #06b6d4);
}

.nllm-partner-selling__card:nth-child(3) {
	border-left-color: var(--pc-bolt-amber, #f59e0b);
}

.nllm-partner-selling__card:nth-child(4) {
	border-left-color: var(--pc-bolt-magenta, #ec4899);
}

.nllm-partner-selling__num {
	display: block;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: var(--nllm-text-subtle, #94a3b8);
	margin-bottom: 0.25rem;
}

.nllm-partner-selling__card h3,
.nllm-partner-apply__selling h3 {
	margin: 0 0 0.4rem;
	font-size: 0.98rem;
	color: var(--nllm-text, #f8fafc);
}

.nllm-partner-selling__card p,
.nllm-partner-apply__selling p {
	margin: 0;
	font-size: 0.9rem;
	color: var(--nllm-text-muted, #cbd5e1);
	line-height: 1.5;
}

.nllm-partner-notice,
.nllm-partner-apply__notice,
.nllm-partner-status__notice {
	margin: 0 0 var(--nllm-space-lg, 1.5rem);
	padding: 1.15rem 1.2rem;
	border-radius: var(--nllm-radius-md, 12px);
	background: var(--nllm-surface, #1e293b);
	border: 1px solid var(--nllm-surface-soft, #334155);
	line-height: 1.55;
}

.nllm-partner-notice--action {
	border-left: 3px solid var(--pc-bolt-amber, #f59e0b);
}

.nllm-partner-notice--success {
	border-left: 3px solid var(--pc-save-border, #16a34a);
	background: color-mix(in srgb, var(--pc-save-bg, #052e16) 45%, var(--nllm-surface, #1e293b));
}

.nllm-partner-notice--pending {
	border-left: 3px solid var(--nllm-cyan, #06b6d4);
}

.nllm-partner-notice__title {
	margin: 0 0 0.35rem;
	font-weight: 700;
	font-size: 1.05rem;
}

.nllm-partner-notice__body {
	margin: 0 0 0.75rem;
	color: var(--nllm-text-muted, #cbd5e1);
	font-size: 0.95rem;
}

.nllm-partner-notice__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
}

/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.981] form group / field base lives earlier (§ empty-state craft) — do not reset padding/border here */

.nllm-partner-field__hint {
	font-weight: 400;
	color: var(--nllm-text-subtle, #94a3b8);
	font-size: max(0.8125rem, 13px);
}

.nllm-partner-req {
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--pc-bolt-magenta, #ec4899);
}

.nllm-partner-form__legal {
	margin: 0.5rem 0 1rem;
	font-size: var(--nllm-text-sm, 0.875rem);
	color: var(--nllm-text-subtle, #94a3b8);
	line-height: 1.5;
}

.nllm-partner-form__legal a {
	color: var(--nllm-cyan-bright, #22d3ee);
}

.nllm-partner-form__submit,
.nllm-partner-apply__submit {
	width: 100%;
	min-height: 2.75rem;
	margin-top: 0.25rem;
}

/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] ── §16  Tools extras ────────────────────────────────────────────────── */

.nllm-partner-tools__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
	margin: 0.75rem 0 1rem;
}

.nllm-partner-tools__grid label {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.991] ≥14px labels (was 0.85rem) */
	font-size: max(0.875rem, 14px);
	color: var(--nllm-text-muted, #cbd5e1);
}

.nllm-partner-tools__grid input,
.nllm-partner-tools__grid select {
	min-height: 2.75rem;
	font-size: max(1rem, 16px);
}

.nllm-partner-social {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0.75rem 0;
}

.nllm-partner-vanity {
	margin: 1rem 0 1.25rem;
	padding: 0.85rem 1rem;
	border-radius: var(--nllm-radius-sm, 6px);
	border: 1px solid color-mix(in srgb, var(--nllm-cyan-bright, #22d3ee) 28%, transparent);
	background: color-mix(in srgb, var(--nllm-surface, #1e293b) 92%, #000);
}

.nllm-partner-vanity__row {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-top: 0.5rem;
}

.nllm-partner-vanity__prefix {
	font-family: ui-monospace, monospace;
	font-size: 0.8rem;
	color: var(--nllm-text-muted, #cbd5e1);
	word-break: break-all;
}

.nllm-partner-qr-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.75rem;
}

/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.1198] Invite email (mailto / copy — no server send) */
.nllm-partner-invite__body {
	min-height: 12rem;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: max(0.875rem, 14px);
	line-height: 1.45;
	resize: vertical;
	white-space: pre-wrap;
}

.nllm-partner-invite__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0.85rem 0 0.5rem;
	align-items: center;
}

.nllm-partner-invite__premium-note {
	margin-top: 1rem;
	padding: 0.75rem 0.9rem;
	border-radius: var(--nllm-radius-sm, 6px);
	border: 1px dashed color-mix(in srgb, var(--nllm-cyan-bright, #22d3ee) 35%, transparent);
	background: color-mix(in srgb, var(--nllm-surface, #1e293b) 88%, #0f172a);
}

/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] ── §17  Training ────────────────────────────────────────────────────── */

.nllm-partner-training__modules {
	padding-left: 0;
	list-style: none;
	counter-reset: mod;
}

.nllm-partner-training__module {
	counter-increment: mod;
	margin: 0.85rem 0;
	padding: 1rem 1.1rem;
	background: var(--nllm-surface, #1e293b);
	border-radius: var(--nllm-radius-md, 12px);
	border: 1px solid var(--nllm-surface-soft, #334155);
}

.nllm-partner-training__module h3 {
	margin: 0 0 0.4rem;
	font-size: 1rem;
}

.nllm-partner-training__module h3::before {
	content: counter(mod) ". ";
	color: var(--pc-bolt-amber, #f59e0b);
}

.nllm-partner-training__resource-list {
	list-style: none;
	padding: 0;
}

.nllm-partner-training__resource {
	margin: 1rem 0;
	padding: 1rem 1.1rem;
	background: var(--nllm-surface, #1e293b);
	border: 1px solid var(--nllm-surface-soft, #334155);
	border-radius: var(--nllm-radius-md, 12px);
}

.nllm-partner-training__category {
	color: var(--nllm-text-subtle, #94a3b8);
	/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.991] ≥14px (was 0.75rem) */
	font-size: max(0.875rem, 14px);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin: 0 0 0.35rem;
}

.nllm-partner-training__link-hint {
	margin: 0.75rem 0 0;
	font-size: max(0.875rem, 14px);
	color: var(--nllm-text-muted, #cbd5e1);
}

/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.991] Training media CTAs must meet 44px tap even if plain links */
.nllm-partner-training__resource a.nllm-partner-btn,
.nllm-partner-training__resource .nllm-partner-btn {
	min-height: 2.75rem;
	padding: 0.55rem 1rem;
}

.nllm-partner-training__resource a:not(.nllm-partner-btn) {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	padding: 0.45rem 0.85rem;
	border-radius: var(--nllm-radius-sm, 6px);
	border: 1px solid var(--nllm-surface-edge, #475569);
	color: var(--nllm-cyan-bright, #22d3ee);
	text-decoration: none;
	font-size: max(0.875rem, 14px);
	font-weight: 600;
	box-sizing: border-box;
}

/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] ── §18  Terms ───────────────────────────────────────────────────────── */

.nllm-partner-terms {
	line-height: 1.6;
	max-width: 48rem;
}

.nllm-partner-terms .nllm-partner-terms__banner {
	padding: 0.85rem 1rem;
	margin: 1rem 0 1.5rem;
	border-radius: var(--nllm-radius-sm, 6px);
	background: color-mix(in srgb, var(--pc-bolt-amber, #f59e0b) 18%, var(--nllm-surface, #1e293b));
	border: 1px solid color-mix(in srgb, var(--pc-bolt-amber, #f59e0b) 45%, transparent);
	font-size: 0.9rem;
}

.nllm-partner-terms h2 {
	margin-top: 1.75rem;
	font-size: 1.1rem;
	color: var(--nllm-cyan-bright, #22d3ee);
}

.nllm-partner-terms__meta {
	font-size: 0.9rem;
	color: var(--nllm-text-muted, #cbd5e1);
	margin: 0.5rem 0 1rem;
}

.nllm-partner-terms ul {
	margin: 0.5rem 0 1rem 1.1rem;
}

.nllm-partner-terms li {
	margin: 0.35rem 0;
}

/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] ── §19  Footer links + toast ────────────────────────────────────────── */

.nllm-partner-footer-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0.35rem 0.15rem;
	margin-top: 1.5rem;
	/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.991] ≥14px + row of tappable chips (was inline 17px links) */
	font-size: max(0.875rem, 14px);
	color: var(--nllm-text-subtle, #94a3b8);
	text-align: center;
}

.nllm-partner-footer-links a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	padding: 0.35rem 0.75rem;
	border-radius: var(--nllm-radius-sm, 6px);
	border: 1px solid color-mix(in srgb, var(--nllm-cyan, #06b6d4) 30%, transparent);
	color: var(--nllm-cyan-bright, #22d3ee);
	text-decoration: none;
	font-weight: 600;
	box-sizing: border-box;
}

.nllm-partner-footer-links a:hover {
	border-color: var(--nllm-cyan-bright, #22d3ee);
	background: color-mix(in srgb, var(--nllm-surface, #1e293b) 80%, transparent);
	color: var(--nllm-text, #f8fafc);
}

.nllm-partner-toast {
	position: fixed;
	bottom: 1.25rem;
	left: 50%;
	transform: translateX(-50%);
	padding: 0.6rem 1.1rem;
	border-radius: 999px;
	background: var(--nllm-surface, #1e293b);
	border: 1px solid var(--pc-bolt-amber, #f59e0b);
	color: var(--nllm-text, #f8fafc);
	font-size: 0.85rem;
	font-weight: 600;
	opacity: 0;
	pointer-events: none;
	transition: opacity 160ms ease;
	z-index: 50;
	box-shadow: var(--nllm-shadow-md, 0 6px 20px rgba(124, 58, 237, 0.2));
}

.nllm-partner-toast.is-on {
	opacity: 1;
}

/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] ── §20  Breakpoints — tablet 600+ ───────────────────────────────────── */

@media (min-width: 600px) {
	.nllm-partner-shell {
		padding-left: var(--nllm-space-lg, 1.5rem);
		padding-right: var(--nllm-space-lg, 1.5rem);
	}

	.nllm-partner-nav {
		margin-left: calc(-1 * var(--nllm-space-lg, 1.5rem));
		margin-right: calc(-1 * var(--nllm-space-lg, 1.5rem));
		padding-left: var(--nllm-space-lg, 1.5rem);
		padding-right: var(--nllm-space-lg, 1.5rem);
	}

	.nllm-partner-nav__list {
		flex-wrap: wrap;
		overflow-x: visible;
	}

	.nllm-partner-hero {
		flex-direction: row;
		align-items: flex-end;
		justify-content: space-between;
		padding: var(--nllm-space-xl, 2rem);
	}

	.nllm-partner-hero__aside {
		align-items: flex-end;
		text-align: right;
	}

	.nllm-partner-copybar {
		flex-direction: row;
		align-items: stretch;
	}

	.nllm-partner-copybar__input {
		flex: 1 1 auto;
		min-width: 0;
	}

	.nllm-partner-copybar .nllm-partner-btn {
		flex: 0 0 auto;
		white-space: nowrap;
	}

	.nllm-partner-kpi {
		grid-template-columns: repeat(3, 1fr);
	}

	.nllm-partner-selling,
	.nllm-partner-apply__selling {
		grid-template-columns: 1fr 1fr;
	}

	.nllm-partner-estimate {
		grid-template-columns: repeat(2, 1fr);
	}

	.nllm-partner-balance-list,
	.nllm-partner-dashboard__balance-list {
		/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.991] Tablet: 2-col then 3 when room */
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nllm-partner-tools__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.nllm-partner-chart-custom {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: end;
	}

	.nllm-partner-vanity__row {
		flex-direction: row;
		align-items: center;
		flex-wrap: wrap;
	}

	.nllm-partner-vanity__row .nllm-partner-dashboard__input,
	.nllm-partner-vanity input[name="vanity_code"] {
		flex: 1 1 10rem;
		min-width: 8rem;
		max-width: 16rem;
	}

	.nllm-partner-form__submit,
	.nllm-partner-apply__submit {
		width: auto;
		min-width: 12rem;
	}

	.nllm-partner-toast {
		left: auto;
		right: 1.25rem;
		transform: none;
	}
}

/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] ── §21  Breakpoints — desktop 900+ ──────────────────────────────────── */

@media (min-width: 900px) {
	.nllm-partner-main-grid {
		display: grid;
		grid-template-columns: minmax(0, 1.55fr) minmax(16rem, 0.85fr);
		gap: var(--nllm-space-lg, 1.5rem);
		align-items: start;
	}

	.nllm-partner-panel--chart {
		margin-bottom: 0;
	}

	.nllm-partner-selling,
	.nllm-partner-apply__selling {
		grid-template-columns: repeat(4, 1fr);
	}

	.nllm-partner-tools__grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.nllm-partner-estimate {
		grid-template-columns: repeat(3, 1fr);
	}

	.nllm-partner-balance-list,
	.nllm-partner-dashboard__balance-list {
		grid-template-columns: repeat(6, 1fr);
	}
}

/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.968] ── §22  Reduced motion ──────────────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
	.nllm-partner-btn,
	.nllm-partner-nav__item a,
	.nllm-partner-toast {
		transition: none;
	}
}

/* ── Partner marketing media (affiliate sell surfaces) ─────────────────────── */
/*
 * Media stacking: keep hero/kit video+img under sticky partner nav + tools tabs.
 * Videos create compositor layers that otherwise paint over sticky chrome on scroll.
 * [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.1283]
 */

.nllm-partner-hero--media {
	display: grid;
	gap: var(--nllm-space-md, 1rem);
	position: relative;
	z-index: 0;
	isolation: isolate;
}

@media (min-width: 860px) {
	.nllm-partner-hero--media {
		grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
		align-items: center;
	}
}

.nllm-partner-hero__media,
.nllm-partner-kit__media,
.nllm-partner-media-card,
.nllm-partner-kit__card {
	position: relative;
	z-index: 0;
	isolation: isolate;
}

.nllm-partner-hero__media {
	margin: 0;
	border-radius: var(--nllm-radius-md, 12px);
	overflow: hidden;
	border: 1px solid var(--nllm-surface-soft, #334155);
	background: var(--nllm-surface-deep, #0f172a);
	box-shadow: var(--nllm-shadow-sm, 0 2px 8px rgba(15, 23, 42, 0.35));
}

.nllm-partner-hero__video,
.nllm-partner-kit__video,
.nllm-partner-media-card img,
.nllm-partner-kit__card img {
	display: block;
	position: relative;
	z-index: 0;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	background: #0b1220;
}

.nllm-partner-hero__caption {
	margin: 0;
	padding: 0.55rem 0.75rem;
	font-size: 0.8rem;
	color: var(--nllm-text-subtle, #94a3b8);
	border-top: 1px solid var(--nllm-surface-soft, #334155);
}

.nllm-partner-media-strip {
	display: grid;
	gap: var(--nllm-space-md, 1rem);
	margin: 0 0 var(--nllm-space-lg, 1.5rem);
}

@media (min-width: 720px) {
	.nllm-partner-media-strip {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.nllm-partner-media-card {
	margin: 0;
	padding: 0;
	border-radius: var(--nllm-radius-md, 12px);
	overflow: hidden;
	border: 1px solid var(--nllm-surface-soft, #334155);
	background: var(--nllm-surface, #1e293b);
}

.nllm-partner-media-card h3 {
	margin: 0.75rem 0.85rem 0.35rem;
	font-size: 1rem;
	color: var(--nllm-text, #f8fafc);
}

.nllm-partner-media-card p {
	margin: 0 0.85rem 0.9rem;
	font-size: 0.9rem;
	line-height: 1.5;
	color: var(--nllm-text-muted, #cbd5e1);
}

.nllm-partner-kit {
	margin-bottom: var(--nllm-space-lg, 1.5rem);
}

.nllm-partner-kit__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--nllm-space-md, 1rem);
}

@media (min-width: 900px) {
	.nllm-partner-kit__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.nllm-partner-kit__grid--tools {
	grid-template-columns: 1fr;
}

@media (min-width: 720px) {
	.nllm-partner-kit__grid--tools {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.nllm-partner-kit__card {
	display: flex;
	flex-direction: column;
	border-radius: var(--nllm-radius-md, 12px);
	overflow: hidden;
	border: 1px solid var(--nllm-surface-soft, #334155);
	background: color-mix(in srgb, var(--nllm-surface-deep, #0f172a) 55%, var(--nllm-surface, #1e293b));
}

.nllm-partner-kit__copy {
	padding: 0.85rem 1rem 1rem;
}

.nllm-partner-kit__copy h3 {
	margin: 0 0 0.35rem;
	font-size: 1.05rem;
	color: var(--nllm-text, #f8fafc);
}

.nllm-partner-kit__copy p {
	margin: 0 0 0.65rem;
	font-size: 0.9rem;
	line-height: 1.5;
	color: var(--nllm-text-muted, #cbd5e1);
}

.nllm-partner-kit__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin: 0 !important;
}


/* ==========================================================================
   Affiliate tools drawer (always-on FAB + dialog)
   [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.1203]
   Dummy-proof: giant copy button, sticky FAB, plain-language steps.
   ========================================================================== */

.nllm-aff-drawer__fab {
	position: fixed;
	right: 1rem;
	bottom: 1rem;
	z-index: 1050;
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.85rem 1.15rem;
	border: 0;
	border-radius: 999px;
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: 0.01em;
	color: #0b1220;
	background: linear-gradient(135deg, #34d399 0%, #a3e635 55%, #fbbf24 100%);
	box-shadow:
		0 0 0 3px color-mix(in srgb, #34d399 35%, transparent),
		0 12px 28px rgba(0, 0, 0, 0.35);
	cursor: pointer;
}

.nllm-aff-drawer__fab:hover,
.nllm-aff-drawer__fab:focus-visible {
	transform: translateY(-1px) scale(1.02);
	outline: 2px solid #f8fafc;
	outline-offset: 2px;
}

.nllm-aff-drawer__fab-icon {
	font-size: 1.15rem;
	line-height: 1;
}

.nllm-aff-drawer__fab-label {
	text-transform: none;
}

.nllm-aff-drawer__dialog {
	border: 0;
	padding: 0;
	margin: 0;
	max-width: none;
	width: min(28rem, 100vw);
	height: 100vh;
	max-height: 100vh;
	background: transparent;
	color: inherit;
}

.nllm-aff-drawer__dialog::backdrop {
	background: rgba(2, 6, 23, 0.62);
	backdrop-filter: blur(2px);
}

.nllm-aff-drawer__dialog[open] {
	display: flex;
	justify-content: flex-end;
	inset: 0;
	width: 100vw;
}

.nllm-aff-drawer__panel {
	width: min(28rem, 100vw);
	height: 100%;
	overflow: auto;
	padding: 1rem 1.1rem 2rem;
	background:
		linear-gradient(180deg, color-mix(in srgb, #0f172a 92%, #22d3ee) 0%, #0f172a 28%, #0b1220 100%);
	border-left: 1px solid color-mix(in srgb, #38bdf8 35%, #334155);
	box-shadow: -18px 0 48px rgba(0, 0, 0, 0.45);
	color: #e2e8f0;
}

.nllm-aff-drawer__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 1rem;
}

.nllm-aff-drawer__kicker {
	margin: 0;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #67e8f9;
}

.nllm-aff-drawer__title {
	margin: 0.15rem 0 0;
	font-size: 1.35rem;
	font-weight: 800;
	color: #f8fafc;
}

.nllm-aff-drawer__close {
	border: 1px solid #475569;
	background: #1e293b;
	color: #f8fafc;
	width: 2.4rem;
	height: 2.4rem;
	border-radius: 999px;
	font-size: 1.4rem;
	line-height: 1;
	cursor: pointer;
}

.nllm-aff-drawer__hero {
	padding: 1rem;
	border-radius: 14px;
	border: 1px solid color-mix(in srgb, #34d399 40%, #334155);
	background: color-mix(in srgb, #064e3b 35%, #0f172a);
	margin-bottom: 1.1rem;
}

.nllm-aff-drawer__step {
	display: flex;
	gap: 0.65rem;
	align-items: flex-start;
	margin: 0 0 0.85rem;
	font-size: 0.98rem;
	line-height: 1.45;
	color: #ecfdf5;
}

.nllm-aff-drawer__step-num {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.6rem;
	height: 1.6rem;
	border-radius: 999px;
	font-weight: 800;
	font-size: 0.85rem;
	color: #052e16;
	background: #86efac;
}

.nllm-aff-drawer__label {
	display: block;
	margin: 0 0 0.35rem;
	font-size: 0.8rem;
	font-weight: 700;
	color: #a7f3d0;
}

.nllm-aff-drawer__link-row {
	margin-bottom: 0.65rem;
}

.nllm-aff-drawer__input {
	width: 100%;
	box-sizing: border-box;
	padding: 0.75rem 0.8rem;
	border-radius: 10px;
	border: 1px solid #334155;
	background: #020617;
	color: #f8fafc;
	font-size: 0.92rem;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.nllm-aff-drawer__copy {
	display: block;
	width: 100%;
	padding: 1rem 1rem;
	border: 0;
	border-radius: 12px;
	font-size: 1.1rem;
	font-weight: 800;
	color: #052e16;
	background: linear-gradient(135deg, #4ade80, #22c55e 60%, #16a34a);
	cursor: pointer;
	box-shadow: 0 10px 24px rgba(22, 163, 74, 0.35);
}

.nllm-aff-drawer__copy.is-copied {
	background: linear-gradient(135deg, #38bdf8, #818cf8);
	color: #0f172a;
}

.nllm-aff-drawer__ok {
	margin: 0.65rem 0 0;
	padding: 0.55rem 0.7rem;
	border-radius: 8px;
	background: color-mix(in srgb, #22c55e 25%, #0f172a);
	color: #bbf7d0;
	font-weight: 700;
	font-size: 0.92rem;
}

.nllm-aff-drawer__hint {
	margin: 0.65rem 0 0;
	font-size: 0.82rem;
	line-height: 1.45;
	color: #94a3b8;
}

.nllm-aff-drawer__hint code {
	color: #e2e8f0;
	background: #1e293b;
	padding: 0.1rem 0.35rem;
	border-radius: 4px;
}

.nllm-aff-drawer__section {
	margin-bottom: 1.15rem;
}

.nllm-aff-drawer__h3 {
	margin: 0 0 0.45rem;
	font-size: 0.95rem;
	font-weight: 800;
	color: #f1f5f9;
}

.nllm-aff-drawer__tools,
.nllm-aff-drawer__learn {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.35rem;
}

.nllm-aff-drawer__tools a,
.nllm-aff-drawer__learn a {
	display: block;
	padding: 0.55rem 0.7rem;
	border-radius: 8px;
	border: 1px solid #334155;
	background: color-mix(in srgb, #1e293b 80%, transparent);
	color: #e2e8f0;
	text-decoration: none;
	font-size: 0.9rem;
}

.nllm-aff-drawer__tools a:hover,
.nllm-aff-drawer__learn a:hover {
	border-color: #38bdf8;
	color: #f8fafc;
}

.nllm-aff-drawer__group {
	margin: 0.65rem 0 0.3rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #67e8f9;
}

.nllm-aff-drawer__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin: 0.75rem 0 0;
}

.nllm-aff-drawer__footer {
	margin-top: 1.25rem;
	padding-top: 0.85rem;
	border-top: 1px solid #334155;
	font-size: 0.82rem;
	color: #94a3b8;
}

.nllm-aff-drawer__footer p {
	margin: 0;
}

/* Nav "My link" chip */
.nllm-partner-nav__link-btn {
	display: inline-flex;
	align-items: center;
	padding: 0.35rem 0.7rem;
	border-radius: 999px;
	border: 1px solid color-mix(in srgb, #34d399 50%, #334155);
	background: color-mix(in srgb, #064e3b 55%, #0f172a);
	color: #bbf7d0;
	font-size: 0.82rem;
	font-weight: 800;
	cursor: pointer;
}

.nllm-partner-nav__link-btn:hover,
.nllm-partner-nav__link-btn:focus-visible {
	border-color: #4ade80;
	color: #f0fdf4;
}

/* Learning library on Training page */
.nllm-partner-learn {
	margin-top: var(--nllm-space-lg, 1.5rem);
}

.nllm-partner-learn__group {
	margin: 0 0 1.25rem;
}

.nllm-partner-learn__group-title {
	margin: 0 0 0.5rem;
	font-size: 1.05rem;
	color: var(--nllm-text, #f8fafc);
}

.nllm-partner-learn__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.55rem;
}

@media (min-width: 720px) {
	.nllm-partner-learn__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.nllm-partner-learn__card {
	display: block;
	padding: 0.85rem 0.95rem;
	border-radius: 12px;
	border: 1px solid var(--nllm-surface-soft, #334155);
	background: color-mix(in srgb, var(--nllm-surface-deep, #0f172a) 60%, var(--nllm-surface, #1e293b));
	text-decoration: none;
	color: inherit;
}

.nllm-partner-learn__card:hover {
	border-color: color-mix(in srgb, #38bdf8 50%, #334155);
}

.nllm-partner-learn__card-title {
	display: block;
	margin: 0 0 0.3rem;
	font-weight: 800;
	color: #f8fafc;
	font-size: 0.95rem;
}

.nllm-partner-learn__card-blurb {
	margin: 0;
	font-size: 0.85rem;
	line-height: 1.45;
	color: var(--nllm-text-muted, #cbd5e1);
}

html.nllm-aff-drawer-open,
html.nllm-aff-drawer-open body {
	overflow: hidden;
}

@media (max-width: 480px) {
	.nllm-aff-drawer__fab {
		right: 0.75rem;
		bottom: 0.75rem;
		padding: 0.8rem 1rem;
	}
	.nllm-aff-drawer__fab-label {
		font-size: 0.95rem;
	}
}


/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.1236] Personalized kit actions */
.nllm-partner-kit__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
}
.nllm-partner-kit__actions .nllm-partner-btn {
	margin: 0;
}

/* =============================================================================
   Tools page polish — sticky section tabs, link-first hierarchy, kit cards
   [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.1272]
   ========================================================================== */

.nllm-partner-hero--tools {
	margin-bottom: var(--nllm-space-md, 1rem);
	padding: var(--nllm-space-lg, 1.5rem) var(--nllm-space-md, 1rem);
	border-radius: var(--nllm-radius-md, 12px);
	border: 1px solid color-mix(in srgb, var(--nllm-violet, #7c3aed) 35%, var(--nllm-surface-soft, #334155));
	background:
		radial-gradient(120% 80% at 100% 0%, color-mix(in srgb, var(--nllm-violet, #7c3aed) 22%, transparent), transparent 55%),
		var(--nllm-surface-deep, #0f172a);
}

.nllm-partner-tools-tabs {
	position: sticky;
	top: 3.25rem; /* below partner nav */
	/* Below partner nav sticky (~200), above media (0). */
	z-index: calc(var(--nllm-z-sticky, 200) - 10);
	margin: 0 0 var(--nllm-space-lg, 1.5rem);
	padding: 0.35rem 0;
	background: color-mix(in srgb, var(--nllm-surface-deep, #0f172a) 92%, transparent);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--nllm-surface-soft, #334155);
}

.nllm-partner-tools-tabs__list {
	display: flex;
	flex-wrap: nowrap;
	gap: 0.35rem;
	margin: 0;
	padding: 0.25rem 0;
	list-style: none;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
}

.nllm-partner-tools-tabs__link {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	min-height: 2.5rem;
	padding: 0.4rem 0.85rem;
	border-radius: 999px;
	border: 1px solid var(--nllm-surface-soft, #334155);
	background: var(--nllm-surface, #1e293b);
	color: var(--nllm-text-muted, #cbd5e1);
	font-size: max(0.875rem, 14px);
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	transition: background 120ms ease, border-color 120ms ease, color 120ms ease;
}

.nllm-partner-tools-tabs__link:hover,
.nllm-partner-tools-tabs__link:focus-visible {
	border-color: color-mix(in srgb, var(--nllm-violet, #7c3aed) 55%, transparent);
	color: var(--nllm-text, #f8fafc);
	outline: none;
}

.nllm-partner-tools-tabs__link.is-active {
	background: color-mix(in srgb, var(--nllm-violet, #7c3aed) 88%, #000);
	border-color: transparent;
	color: #fff;
}

.nllm-partner-panel--emphasis {
	border-color: color-mix(in srgb, var(--pc-bolt-amber, #f59e0b) 40%, var(--nllm-surface-soft, #334155)) !important;
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--pc-bolt-amber, #f59e0b) 18%, transparent);
}

.nllm-partner-panel--muted {
	opacity: 0.98;
	background: color-mix(in srgb, var(--nllm-surface-deep, #0f172a) 70%, #0b1220) !important;
}

.nllm-partner-panel__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem 1rem;
	margin-bottom: 0.85rem;
}

.nllm-partner-panel__kicker {
	margin: 0 0 0.25rem;
	font-size: max(0.75rem, 12px);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--nllm-cyan-bright, #22d3ee);
}

.nllm-partner-panel__title {
	margin: 0;
	font-size: 1.2rem;
	line-height: 1.25;
	color: var(--nllm-text, #f8fafc);
}

.nllm-partner-panel__hint {
	margin: 0 0 1rem;
	font-size: max(0.9rem, 14px);
	line-height: 1.55;
	color: var(--nllm-text-muted, #cbd5e1);
}

.nllm-partner-optional {
	font-weight: 500;
	opacity: 0.75;
	text-transform: none;
	letter-spacing: 0;
}

.nllm-partner-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.35rem 0.5rem 0.35rem 0.65rem;
	border-radius: 999px;
	border: 1px solid var(--nllm-surface-soft, #334155);
	background: var(--nllm-surface, #1e293b);
}

.nllm-partner-chip--code code {
	font-family: var(--nllm-font-mono, ui-monospace, monospace);
	font-size: 0.9rem;
	color: var(--pc-bolt-amber, #f59e0b);
}

.nllm-partner-chip__copy {
	min-height: 2rem;
	padding: 0.25rem 0.65rem;
	border: 0;
	border-radius: 999px;
	background: var(--nllm-violet, #7c3aed);
	color: #fff;
	font: inherit;
	font-size: 0.8rem;
	font-weight: 700;
	cursor: pointer;
}

.nllm-partner-copybar--hero {
	gap: 0.75rem;
	margin: 0.85rem 0 0.5rem;
	padding: 0.85rem;
	border-radius: var(--nllm-radius-md, 12px);
	border: 1px solid var(--nllm-surface-soft, #334155);
	background: color-mix(in srgb, var(--nllm-surface, #1e293b) 80%, #000);
}

.nllm-partner-copybar--hero .nllm-partner-copybar__input {
	font-size: max(0.95rem, 15px);
	min-height: 3rem;
}

.nllm-partner-copybar__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.nllm-partner-btn--lg {
	min-height: 3rem;
	padding-inline: 1.25rem;
	font-size: max(0.95rem, 15px);
}

.nllm-partner-field-label {
	display: block;
	margin: 0.75rem 0 0.35rem;
	font-size: max(0.875rem, 14px);
	font-weight: 600;
	color: var(--nllm-text-muted, #cbd5e1);
}

.nllm-partner-inline-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0.5rem 0 0.85rem;
}

.nllm-partner-tools__grid--utm,
.nllm-partner-tools__grid--calc {
	margin-top: 0.5rem;
}

@media (min-width: 720px) {
	.nllm-partner-tools__grid--utm,
	.nllm-partner-tools__grid--calc {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1100px) {
	.nllm-partner-tools__grid--calc {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.nllm-partner-kit__media {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #0b1220;
}

.nllm-partner-kit__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.nllm-partner-kit__badge {
	position: absolute;
	top: 0.65rem;
	left: 0.65rem;
	padding: 0.25rem 0.55rem;
	border-radius: 999px;
	background: color-mix(in srgb, #0f172a 78%, transparent);
	border: 1px solid color-mix(in srgb, #fff 18%, transparent);
	color: #f8fafc;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.nllm-partner-kit__use {
	margin: 0 0 0.75rem !important;
	font-size: 0.85rem !important;
	color: var(--nllm-cyan-bright, #22d3ee) !important;
}

.nllm-partner-kit__card .nllm-partner-kit__actions {
	padding: 0 0 0.15rem;
}

.nllm-partner-estimate__card--highlight {
	border-color: color-mix(in srgb, var(--nllm-cyan-bright, #22d3ee) 45%, transparent);
	background: color-mix(in srgb, var(--nllm-cyan-bright, #22d3ee) 12%, var(--nllm-surface-deep, #0f172a));
}

.nllm-partner-estimate__card--highlight p {
	color: var(--nllm-cyan-bright, #22d3ee);
	font-size: 1.35rem;
	font-weight: 700;
}

.nllm-partner-qr-layout {
	display: grid;
	gap: 1rem;
	align-items: center;
}

@media (min-width: 720px) {
	.nllm-partner-qr-layout {
		grid-template-columns: minmax(10rem, 14rem) 1fr;
	}
}

.nllm-partner-link-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.nllm-partner-vanity__label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.25rem;
	color: var(--nllm-text, #f8fafc);
}

@media (min-width: 600px) {
	.nllm-partner-vanity__row {
		flex-direction: row;
		align-items: center;
	}

	.nllm-partner-vanity__row .nllm-partner-dashboard__input {
		flex: 1 1 auto;
		min-width: 8rem;
	}

	.nllm-partner-copybar--hero {
		/* keep stacked for readability of long URLs; actions row already wraps */
	}
}

/* Scroll margin so sticky tabs don't cover section titles */
.nllm-partner-tools .nllm-partner-panel[id] {
	scroll-margin-top: 7.5rem;
}

/* [host:grok-cli:0.2.106][brain:xai:grok-4.5][via:direct:xai][hurc:v0.12.1268] Partner share copy package */
.nllm-partner-copy-package {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	margin: 0.5rem 0 0.75rem;
}
.nllm-partner-kpi__copy {
	margin-top: 0.35rem;
	min-height: 2rem;
	padding: 0.25rem 0.6rem;
	font-size: 0.8rem;
}
.nllm-partner-btn.is-copied,
.nllm-partner-chip__copy.is-copied {
	outline: 2px solid color-mix(in srgb, var(--pc-bolt-amber, #f59e0b) 70%, transparent);
}
