/*
 * Affiliate area ([hw_affiliate_area] page and My Account → Affiliation), design v2.
 * Light canvas (customer area / page-templates/affiliate.php); tokens from main.css.
 */
.hw-aff { display: grid; gap: var(--hw-space-5, 20px); }

.hw-aff .hw-card {
	padding: clamp(1.25rem, 0.95rem + 1.2vw, 2rem);
	border: 1px solid var(--hw-border);
	border-radius: var(--hw-radius-lg, 22px);
	background: var(--hw-surface);
	box-shadow: var(--hw-light-shadow-sm, none);
}

.hw-aff .hw-h3 { margin: 0 0 var(--hw-space-3, 12px); font-size: var(--hw-fs-lg); letter-spacing: -0.02em; }

.hw-aff__links { position: relative; overflow: hidden; }

.hw-aff__links::before {
	content: "";
	position: absolute;
	top: 0;
	left: 10%;
	right: 10%;
	height: 3px;
	border-radius: 0 0 4px 4px;
	background: var(--hw-gradient-brand);
}

.hw-aff__link + .hw-aff__link { margin-top: var(--hw-space-4, 16px); }

.hw-aff__link .hw-label { display: block; margin-bottom: 0.35rem; }

.hw-aff__copy { display: flex; gap: var(--hw-space-2, 8px); align-items: stretch; }

.hw-aff__copy .hw-input {
	flex: 1 1 auto;
	min-width: 0;
	background: var(--hw-light-bg, transparent);
	font-family: var(--hw-font-mono, ui-monospace, monospace);
	font-size: 0.875em;
}

.hw-aff__copy .hw-btn { --hw-btn-h: auto; }

.hw-aff__stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 168px), 1fr)); gap: var(--hw-space-3, 12px); }

.hw-aff .hw-aff__stat { display: flex; flex-direction: column; gap: var(--hw-space-1, 4px); padding: 1.05rem 1.15rem; }

.hw-aff__stat-label { font-size: var(--hw-fs-2xs, .75rem); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--hw-text-muted); }

.hw-aff__stat-value {
	font-family: var(--hw-font-head, inherit);
	font-size: var(--hw-fs-lg, 1.375rem);
	font-weight: 800;
	white-space: nowrap;
	letter-spacing: -0.03em;
	line-height: 1.15;
	font-variant-numeric: tabular-nums;
	color: var(--hw-text);
}

.hw-aff .hw-aff__stat--accent {
	border-color: transparent;
	background:
		radial-gradient(260px 140px at 100% 0%, rgba(1, 200, 239, 0.25), transparent 70%),
		linear-gradient(160deg, #171b62, #070935);
	box-shadow: 0 24px 50px -28px rgba(11, 13, 46, 0.8);
}

.hw-aff__stat--accent .hw-aff__stat-label { color: #adb3da; }

.hw-aff__stat--accent .hw-aff__stat-value { color: #fff; }

.hw-aff__table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--hw-border); border-radius: var(--hw-radius, 14px); }

.hw-aff__table { width: 100%; min-width: 520px; margin: 0; border: 0; }

.hw-aff__date { white-space: nowrap; }

.hw-aff__num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }

.hw-aff__status--paid { border-color: rgba(21, 122, 60, .2); background: var(--hw-success-bg); color: var(--hw-success-text); }

.hw-aff__status--unpaid { border-color: rgba(138, 93, 0, .2); background: var(--hw-warning-bg); color: var(--hw-warning-text); }

.hw-aff__status--rejected { border-color: rgba(180, 24, 58, .2); background: var(--hw-danger-bg); color: var(--hw-danger-text); }

.hw-aff__form .hw-field { margin: 0 0 var(--hw-space-4, 16px); display: grid; gap: var(--hw-space-1, 4px); }

.hw-aff > .hw-help { margin: -0.25rem 0 0; font-size: var(--hw-fs-xs); color: var(--hw-text-muted); }

@media (max-width: 560px) {
	.hw-aff__copy { flex-direction: column; }
}
