/* ValueStats · affiliate programme */
.affiliate-body {
    --affiliate-canvas: #edf2ef;
    --affiliate-surface: #ffffff;
    --affiliate-soft: #f5f8f6;
    --affiliate-border: #d3ddd7;
    --affiliate-border-strong: #bccac2;
    --affiliate-ink: #17231c;
    --affiliate-muted: #68766f;
    --affiliate-primary: #087a55;
    --affiliate-primary-dark: #065f46;
    color: var(--affiliate-ink);
    background: var(--affiliate-canvas);
}

.affiliate-topbar {
    position: sticky;
    z-index: 40;
    top: 0;
    border-bottom: 1px solid #17372a;
    color: #e8f3ed;
    background: #0b2118;
    box-shadow: 0 4px 14px rgba(5, 20, 13, .12);
}

.affiliate-topbar-inner {
    display: flex;
    min-height: 3.8rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
    padding: .65rem clamp(1rem, 3vw, 3rem);
}

.affiliate-brand { display: inline-flex; min-width: 0; align-items: center; gap: .55rem; color: #fff; font-size: 1.08rem; font-weight: 620; letter-spacing: -.035em; }
.affiliate-brand strong { color: #6ee7b7; font-weight: 700; }
.affiliate-brand small { margin-left: .15rem; padding-left: .7rem; border-left: 1px solid rgba(255,255,255,.2); color: #a8bcb1; font-size: .61rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }

.affiliate-topbar-actions { display: flex; align-items: center; gap: .65rem; }
.affiliate-topbar-actions form { margin: 0; }
.affiliate-language-switcher { display: inline-flex; padding: .16rem; border: 1px solid rgba(255,255,255,.16); border-radius: .32rem; background: rgba(255,255,255,.045); }
.affiliate-language-switcher a { display: grid; min-width: 1.75rem; min-height: 1.75rem; place-items: center; border-radius: .22rem; color: #91aa9d; font-size: .61rem; font-weight: 750; }
.affiliate-language-switcher a:hover { color: #fff; }
.affiliate-language-switcher a.is-active { color: #0b2118; background: #a7f3d0; }
.affiliate-user-summary { display: flex; align-items: baseline; gap: .45rem; margin-right: .2rem; color: #d8e7df; font-size: .74rem; font-weight: 650; }
.affiliate-user-summary small { color: #7fa292; font-size: .62rem; font-weight: 700; letter-spacing: .05em; }
.affiliate-theme-toggle { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; border: 1px solid rgba(255,255,255,.16); border-radius: .32rem; color: #c7d8cf; background: rgba(255,255,255,.055); }
.affiliate-theme-toggle:hover { color: #fff; background: rgba(255,255,255,.1); }
.affiliate-theme-toggle svg { width: 1.05rem; height: 1.05rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
[data-theme="light"] .affiliate-theme-sun,
[data-theme="dark"] .affiliate-theme-moon { display: none; }
.affiliate-logout,
.affiliate-login-link { display: inline-flex; min-height: 2.25rem; align-items: center; justify-content: center; gap: .45rem; padding: .45rem .72rem; border: 1px solid rgba(255,255,255,.17); border-radius: .32rem; color: #e7f0eb; background: rgba(255,255,255,.065); font-size: .68rem; font-weight: 680; }
.affiliate-logout { cursor: pointer; font-family: inherit; }
.affiliate-logout:hover,
.affiliate-login-link:hover { background: rgba(255,255,255,.12); }

.affiliate-desktop-nav { display: flex; gap: .25rem; width: 100%; padding: 0 clamp(1rem, 3vw, 3rem); border-top: 1px solid rgba(255,255,255,.08); }
.affiliate-desktop-nav a { display: inline-flex; min-height: 2.75rem; align-items: center; gap: .45rem; padding: .55rem .72rem; border-bottom: 2px solid transparent; color: #91aa9d; font-size: .7rem; font-weight: 680; }
.affiliate-desktop-nav a:hover { color: #e1eee7; }
.affiliate-desktop-nav a.is-active { border-bottom-color: #6ee7b7; color: #fff; }
.affiliate-desktop-nav i { width: .9rem; text-align: center; }

.affiliate-impersonation-banner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .65rem clamp(1rem, 3vw, 3rem); border-bottom: 1px solid #d39b21; color: #5c3b00; background: #fff4ce; font-size: .72rem; }
.affiliate-impersonation-banner span:first-child { display: inline-flex; align-items: center; gap: .45rem; font-weight: 750; white-space: nowrap; }

.affiliate-main { min-width: 0; width: 100%; }
.affiliate-main > [class*="max-w-"],
.affiliate-dashboard,
.affiliate-settings-page,
.affiliate-settlements-page { width: 100%; max-width: none !important; padding: clamp(1.5rem, 3.2vw, 3.2rem) clamp(1rem, 3vw, 3rem) !important; }

.affiliate-page-heading { margin-bottom: 1.5rem; }
.affiliate-page-heading > span { color: var(--affiliate-primary); font-size: .67rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.affiliate-page-heading h1 { margin-top: .35rem; color: var(--affiliate-ink); font-size: clamp(1.8rem, 3.2vw, 2.8rem); font-weight: 650; line-height: 1.05; letter-spacing: -.045em; }
.affiliate-page-heading p { max-width: 47rem; margin-top: .5rem; color: var(--affiliate-muted); font-size: .83rem; line-height: 1.6; }

/* Shared surfaces and controls */
.affiliate-main .rounded-lg,
.affiliate-main .rounded-xl,
.affiliate-main .rounded-2xl { border-radius: .42rem !important; }
.affiliate-main .rounded-md { border-radius: .32rem !important; }
.affiliate-main .shadow-sm,
.affiliate-main .shadow-md,
.affiliate-main .shadow-lg { box-shadow: 0 7px 18px rgba(22, 52, 36, .06) !important; }
.affiliate-main input:not([type="radio"]):not([type="checkbox"]),
.affiliate-main select,
.affiliate-main textarea { min-height: 2.7rem; border-color: var(--affiliate-border-strong) !important; border-radius: .34rem !important; color: #223128; background: #fff; box-shadow: none !important; }
.affiliate-main textarea { min-height: 7rem; }
.affiliate-main input:focus,
.affiliate-main select:focus,
.affiliate-main textarea:focus { border-color: #369474 !important; outline: 3px solid rgba(16,185,129,.12) !important; --tw-ring-color: transparent !important; }
.affiliate-main button,
.affiliate-main a { transition-duration: .18s; }
.affiliate-main table { border-collapse: collapse; }
.affiliate-main thead { border-bottom: 1px solid var(--affiliate-border); background: var(--affiliate-soft) !important; }
.affiliate-main th { color: #59675f !important; font-size: .67rem !important; font-weight: 720 !important; letter-spacing: .045em; text-transform: uppercase; }
.affiliate-main td { border-color: var(--affiliate-border) !important; }

/* Public landing */
.affiliate-landing { background: var(--affiliate-canvas) !important; }
.affiliate-landing > .max-w-6xl { width: 100%; max-width: none !important; padding: 0 clamp(1rem, 3vw, 3rem) 2.5rem !important; }
.affiliate-landing > .max-w-6xl > .text-center:first-of-type { position: relative; margin-right: clamp(-3rem, -3vw, -1rem) !important; margin-left: clamp(-3rem, -3vw, -1rem) !important; padding: clamp(4rem, 8vw, 7.5rem) clamp(1rem, 8vw, 9rem); overflow: hidden; border-bottom: 1px solid #d0ded6; background: radial-gradient(circle at 82% 10%, rgba(16,185,129,.14), transparent 28%), linear-gradient(142deg, #f7f9f8, #e7f0eb 62%, #dde9e2); }
.affiliate-landing > .max-w-6xl > .text-center:first-of-type::before { content: ''; position: absolute; inset: 0; opacity: .05; background-image: linear-gradient(#123b2c 1px,transparent 1px),linear-gradient(90deg,#123b2c 1px,transparent 1px); background-size: 54px 54px; -webkit-mask-image: linear-gradient(110deg,#000,transparent 76%); mask-image: linear-gradient(110deg,#000,transparent 76%); }
.affiliate-landing > .max-w-6xl > .text-center:first-of-type > * { position: relative; }
.affiliate-landing h1 { max-width: 19ch; margin-right: auto; margin-left: auto; color: #102219 !important; font-size: clamp(2.6rem, 5.4vw, 5.3rem) !important; font-weight: 650 !important; line-height: .98 !important; letter-spacing: -.06em; }
.affiliate-landing h1 span { color: #087a55 !important; }
.affiliate-landing h1 + p { max-width: 50rem; color: #5d6c64 !important; font-size: clamp(.98rem, 1.45vw, 1.12rem) !important; line-height: 1.7; }
.affiliate-landing h2 { color: var(--affiliate-ink) !important; font-weight: 650 !important; letter-spacing: -.035em; }
.affiliate-landing h3,
.affiliate-landing h4 { color: #203027 !important; }
.affiliate-landing p { color: var(--affiliate-muted); }
.affiliate-landing .bg-white { border-color: var(--affiliate-border) !important; background: var(--affiliate-surface) !important; }
.affiliate-landing .bg-gray-50,
.affiliate-landing .bg-gray-100 { background: var(--affiliate-soft) !important; }
.affiliate-landing #beneficios .grid > div { min-width: 0; text-align: left; }
.affiliate-landing #beneficios .grid > div > .text-center { text-align: left; }
.affiliate-landing #beneficios .grid .rounded-full { margin-right: 0 !important; margin-left: 0 !important; border: 1px solid #c7e9d8; border-radius: .34rem !important; background: #effaf4 !important; }
.affiliate-landing #formulario { border: 1px solid #1c4a37; color: #eaf6f0; background: linear-gradient(135deg,#0b2118,#113125) !important; }
.affiliate-landing #formulario > .max-w-2xl { max-width: 56rem !important; }
.affiliate-landing #formulario .bg-white { background: #fff !important; }
.affiliate-landing #formulario .text-gray-700,
.affiliate-landing #formulario .text-gray-900 { color: #27352d !important; }
.affiliate-landing #formulario button[type="submit"] { border-radius: .34rem !important; background: #087a55 !important; }

/* Login */
.affiliate-login { min-height: calc(100dvh - 3.8rem) !important; padding: clamp(2rem, 6vw, 5rem) 1rem !important; background: radial-gradient(circle at 82% 10%, rgba(16,185,129,.1), transparent 28%), linear-gradient(142deg,#f5f8f6,#e8f0eb) !important; }
.affiliate-login > .max-w-md { max-width: 29rem !important; }
.affiliate-login h1 { color: #122219 !important; font-size: 2.2rem !important; font-weight: 650 !important; letter-spacing: -.045em; }
.affiliate-login .bg-white { padding: clamp(1.4rem, 4vw, 2rem) !important; border-color: var(--affiliate-border) !important; background: rgba(255,255,255,.92) !important; box-shadow: 0 18px 42px rgba(7,26,20,.12) !important; }
.affiliate-login button[type="submit"] { border-radius: .34rem !important; background: var(--affiliate-primary) !important; }

/* Private dashboard */
.affiliate-dashboard > .mb-4:first-of-type { padding: 1rem; border: 1px solid var(--affiliate-border); border-radius: .4rem; background: var(--affiliate-surface); }
.affiliate-dashboard > .grid.grid-cols-3 > div { border-color: var(--affiliate-border) !important; border-radius: .4rem !important; background: var(--affiliate-surface) !important; }
.affiliate-dashboard > .grid.grid-cols-3 > div > div:last-child { color: var(--affiliate-ink); font-size: clamp(1.45rem, 2.4vw, 2.2rem) !important; font-weight: 680; letter-spacing: -.035em; }
.affiliate-dashboard > .mb-4 .border-b nav { gap: .4rem !important; overflow-x: auto; border-bottom-color: var(--affiliate-border) !important; }
.affiliate-dashboard > .mb-4 .border-b nav a { min-width: max-content; padding: .65rem .8rem !important; border: 1px solid transparent !important; border-radius: .3rem .3rem 0 0 !important; color: #6a776f !important; font-size: .75rem; font-weight: 680; }
.affiliate-dashboard > .mb-4 .border-b nav a.border-gray-900 { border-color: var(--affiliate-border) var(--affiliate-border) var(--affiliate-surface) !important; color: #075f45 !important; background: var(--affiliate-surface); }
.affiliate-dashboard > .bg-white { border-color: var(--affiliate-border) !important; background: var(--affiliate-surface) !important; }
.affiliate-dashboard .bg-gray-900 { background: var(--affiliate-primary) !important; }

/* Settings and settlements */
.affiliate-settings-page > .bg-white,
.affiliate-settlements-page > .bg-white { border-color: var(--affiliate-border) !important; border-radius: .42rem !important; background: var(--affiliate-surface) !important; }
.affiliate-settings-page form .flex.justify-end { border-top: 1px solid var(--affiliate-border); }
.affiliate-settings-page button[type="submit"] { border-radius: .34rem !important; background: var(--affiliate-primary) !important; }
.affiliate-settings-page label.border-2 { border-color: var(--affiliate-border) !important; border-radius: .38rem !important; }
.affiliate-settings-page label.border-gray-900 { border-color: #29906d !important; background: #f1faf5 !important; }
.affiliate-settings-page .bg-gray-50,
.affiliate-settlements-page .bg-gray-50 { background: var(--affiliate-soft) !important; }
.affiliate-settlements-page table { min-width: 42rem; }
.affiliate-settlements-page > .bg-white { margin-bottom: 1rem !important; }

.affiliate-mobile-nav { display: none; }

/* Dark */
[data-theme="dark"] .affiliate-body {
    --affiliate-canvas: #0d1511;
    --affiliate-surface: #141e19;
    --affiliate-soft: #18231d;
    --affiliate-border: #2c3b33;
    --affiliate-border-strong: #3b5045;
    --affiliate-ink: #e5eee9;
    --affiliate-muted: #9aa9a1;
    color: var(--affiliate-ink);
    background: var(--affiliate-canvas);
}
[data-theme="dark"] .affiliate-landing { background: var(--affiliate-canvas) !important; }
[data-theme="dark"] .affiliate-landing > .max-w-6xl > .text-center:first-of-type,
[data-theme="dark"] .affiliate-login { border-color: #2b4035; background: radial-gradient(circle at 82% 10%,rgba(16,185,129,.12),transparent 28%),linear-gradient(142deg,#101a15,#14241b 62%,#0c1711) !important; }
[data-theme="dark"] .affiliate-landing h1,
[data-theme="dark"] .affiliate-landing h2,
[data-theme="dark"] .affiliate-landing h3,
[data-theme="dark"] .affiliate-landing h4,
[data-theme="dark"] .affiliate-login h1,
[data-theme="dark"] .affiliate-main .text-gray-900,
[data-theme="dark"] .affiliate-main .text-gray-800,
[data-theme="dark"] .affiliate-main .text-gray-700 { color: #e3ece7 !important; }
[data-theme="dark"] .affiliate-landing h1 + p,
[data-theme="dark"] .affiliate-main .text-gray-600,
[data-theme="dark"] .affiliate-main .text-gray-500,
[data-theme="dark"] .affiliate-main .text-gray-400 { color: #9aa9a1 !important; }
[data-theme="dark"] .affiliate-main .bg-white { border-color: var(--affiliate-border) !important; background: var(--affiliate-surface) !important; }
[data-theme="dark"] .affiliate-main .bg-gray-50,
[data-theme="dark"] .affiliate-main .bg-gray-100 { background: var(--affiliate-soft) !important; }
[data-theme="dark"] .affiliate-main .border-gray-100,
[data-theme="dark"] .affiliate-main .border-gray-200,
[data-theme="dark"] .affiliate-main .border-gray-300,
[data-theme="dark"] .affiliate-main .divide-gray-200 > :not([hidden]) ~ :not([hidden]) { border-color: var(--affiliate-border) !important; }
[data-theme="dark"] .affiliate-main input:not([type="radio"]):not([type="checkbox"]),
[data-theme="dark"] .affiliate-main select,
[data-theme="dark"] .affiliate-main textarea { border-color: var(--affiliate-border-strong) !important; color: #e1ebe5 !important; background: #111a15 !important; }
[data-theme="dark"] .affiliate-main input:disabled { color: #829087 !important; background: #19241e !important; }
[data-theme="dark"] .affiliate-landing #formulario .bg-white { background: #141e19 !important; }
[data-theme="dark"] .affiliate-landing #formulario .text-gray-700,
[data-theme="dark"] .affiliate-landing #formulario .text-gray-900 { color: #dfe9e4 !important; }
[data-theme="dark"] .affiliate-settings-page label.border-gray-900 { background: #162b21 !important; }
[data-theme="dark"] .affiliate-impersonation-banner { border-color: #725717; color: #f7dfa3; background: #2c250f; }
[data-theme="dark"] .flatpickr-calendar { border: 1px solid #34483d; color: #dce7e1; background: #141e19; box-shadow: 0 15px 35px rgba(0,0,0,.35); }
[data-theme="dark"] .flatpickr-day,
[data-theme="dark"] .flatpickr-weekday,
[data-theme="dark"] .flatpickr-current-month,
[data-theme="dark"] .flatpickr-monthDropdown-months,
[data-theme="dark"] .numInputWrapper input { color: #dce7e1; }
[data-theme="dark"] .flatpickr-day:hover { border-color: #2e5b47; background: #1b3328; }

@media (max-width: 760px) {
    .affiliate-topbar-inner { min-height: 3.5rem; padding: .55rem .8rem; }
    .affiliate-brand { font-size: .98rem; }
    .affiliate-brand small { font-size: .53rem; }
    .affiliate-public-landing .affiliate-topbar-actions { gap: .4rem; }
    .affiliate-user-summary,
    .affiliate-logout span { display: none; }
    .affiliate-impersonation-banner { align-items: flex-start; flex-direction: column; gap: .2rem; font-size: .65rem; }
    .affiliate-logout { width: 2.25rem; padding: 0; }
    .affiliate-desktop-nav { display: none; }
    .affiliate-main { padding-bottom: calc(4.2rem + env(safe-area-inset-bottom)); }
    .affiliate-main > [class*="max-w-"],
    .affiliate-dashboard,
    .affiliate-settings-page,
    .affiliate-settlements-page { padding: 1.25rem .8rem !important; }
    .affiliate-mobile-nav { position: fixed; z-index: 60; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); padding: .35rem .35rem calc(.3rem + env(safe-area-inset-bottom)); border-top: 1px solid #d0dcd5; background: rgba(250,252,251,.96); box-shadow: 0 -8px 24px rgba(18,46,31,.1); backdrop-filter: blur(14px); }
    .affiliate-mobile-nav a { display: flex; min-width: 0; min-height: 3.35rem; align-items: center; justify-content: center; gap: .23rem; flex-direction: column; border-radius: .28rem; color: #738078; font-size: .57rem; font-weight: 680; }
    .affiliate-mobile-nav a.is-active { color: #087a55; background: #edf8f2; }
    .affiliate-mobile-nav svg { width: 1.15rem; height: 1.15rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
    [data-theme="dark"] .affiliate-mobile-nav { border-color: #2d3c34; background: rgba(16,25,20,.96); box-shadow: 0 -8px 24px rgba(0,0,0,.24); }
    [data-theme="dark"] .affiliate-mobile-nav a { color: #84938b; }
    [data-theme="dark"] .affiliate-mobile-nav a.is-active { color: #6ee7b7; background: #173126; }

    .affiliate-landing > .max-w-6xl { padding-right: .8rem !important; padding-left: .8rem !important; }
    .affiliate-landing > .max-w-6xl > .text-center:first-of-type { margin-right: -.8rem !important; margin-left: -.8rem !important; padding: 3.5rem 1rem; }
    .affiliate-landing h1 { font-size: 2.55rem !important; }
    .affiliate-landing #beneficios .grid > div > .text-center { text-align: left; }
    .affiliate-landing #formulario { padding: 1rem !important; }
    .affiliate-landing #formulario > .max-w-2xl { padding: 1rem !important; }
    .affiliate-dashboard > .grid.grid-cols-3 { gap: .45rem !important; }
    .affiliate-dashboard > .grid.grid-cols-3 > div { padding: .7rem !important; }
    .affiliate-dashboard > .grid.grid-cols-3 > div > div:first-child { display: block !important; font-size: .61rem !important; }
    .affiliate-dashboard > .grid.grid-cols-3 > div i { display: none; }
    .affiliate-dashboard > .mb-4:first-of-type form { grid-template-columns: 1fr !important; }
    .affiliate-dashboard > .mb-4:first-of-type form > div { grid-column: auto !important; }
    .affiliate-settings-page > .bg-white,
    .affiliate-settlements-page > .bg-white { padding: 1rem !important; }
    .affiliate-settings-page form > .flex.justify-end button { width: 100%; justify-content: center; }
    .affiliate-settlements-page .flex.items-center.justify-between { align-items: flex-start; gap: .8rem; flex-direction: column; }
}

@media (max-width: 380px) {
    .affiliate-public-landing .affiliate-theme-toggle { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .affiliate-main *, .affiliate-topbar * { transition-duration: 0s !important; }
}
