.affiliate-dashboard { max-width: 1120px; }
.affiliate-dashboard[hidden], .affiliate-dashboard-state[hidden] { display: none !important; }
.affiliate-page-header { align-items: end; }
.affiliate-status { margin: 0; color: var(--ws-sage); font-size: .72rem; font-weight: 700; }
.affiliate-referral-panel { display: grid; grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr); gap: 34px; align-items: end; margin: 0 0 34px; padding: 26px 28px; border: 1px solid var(--ws-line-soft); border-radius: 8px; background: linear-gradient(115deg, rgba(169,139,242,.13), rgba(36,33,45,.88) 48%); }
.affiliate-referral-panel h3, .affiliate-section-heading h3 { margin: 5px 0 8px; color: var(--ws-text); font-size: 1.18rem; letter-spacing: -.025em; }
.affiliate-referral-panel p:not(.panel-kicker), .affiliate-section-heading > p, .affiliate-earnings-heading > p { margin: 0; color: var(--ws-muted); font-size: .79rem; line-height: 1.55; }
.affiliate-link-control { min-width: 0; }
.affiliate-link-control label { display: block; margin: 0 0 7px; color: var(--ws-muted); font-size: .68rem; font-weight: 700; }
.affiliate-link-control > div { display: flex; gap: 8px; min-width: 0; }
.affiliate-link-control input { min-width: 0; width: 100%; height: 39px; padding: 8px 10px; font-size: .78rem; }
.affiliate-link-control button { flex: 0 0 auto; min-height: 39px; padding: 8px 13px; font-size: .74rem; }
.affiliate-copy-status { min-height: 1.2em; margin: 6px 0 0; color: var(--ws-sage); font-size: .68rem; }
.affiliate-kpi-section { border-top: 1px solid var(--ws-line-soft); padding-top: 22px; }
.affiliate-section-heading { display: flex; justify-content: space-between; gap: 20px; align-items: end; margin-bottom: 14px; }
.affiliate-section-heading h3 { margin-bottom: 0; }
.affiliate-section-heading > p { max-width: 280px; text-align: right; }
.affiliate-position-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--ws-line-soft); border-radius: 7px; overflow: hidden; background: var(--ws-line-soft); }
.affiliate-position-kpis article, .affiliate-earnings-kpis article { min-width: 0; padding: 17px 19px; background: rgba(36,33,45,.94); }
.affiliate-position-kpis article + article { border-left: 1px solid var(--ws-line-soft); }
.affiliate-position-kpis span, .affiliate-earnings-kpis span { display: block; margin-bottom: 7px; color: var(--ws-muted); font-size: .66rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.affiliate-position-kpis strong { color: var(--ws-text); font-size: clamp(1.28rem, 2.5vw, 1.75rem); font-variant-numeric: tabular-nums; letter-spacing: -.035em; }
.affiliate-earnings { margin-top: 22px; border-top: 1px solid var(--ws-line-soft); padding-top: 20px; }
.affiliate-progression { margin-top: 22px; border-top: 1px solid var(--ws-line-soft); padding-top: 20px; }
.affiliate-referral-performance { margin-top:22px; border-top:1px solid var(--ws-line-soft); padding-top:20px; }.affiliate-referral-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid var(--ws-line-soft); border-radius:7px; overflow:hidden; background:var(--ws-line-soft); }.affiliate-referral-metrics article { min-width:0; padding:17px 19px; background:rgba(36,33,45,.94); }.affiliate-referral-metrics article+article { border-left:1px solid var(--ws-line-soft); }.affiliate-referral-metrics span { display:block; margin-bottom:7px; color:var(--ws-muted); font-size:.66rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }.affiliate-referral-metrics strong { color:var(--ws-text); font-size:1.3rem; font-variant-numeric:tabular-nums; }
.affiliate-charts { margin-top:22px; border-top:1px solid var(--ws-line-soft); padding-top:20px; }.affiliate-chart-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.affiliate-chart-grid article { padding:17px 19px; border:1px solid var(--ws-line-soft); border-radius:7px; background:rgba(36,33,45,.94); }.affiliate-chart-grid strong { color:var(--ws-text); }.affiliate-chart-grid p,.affiliate-chart-grid li { color:var(--ws-muted); font-size:.74rem; line-height:1.5; }.affiliate-chart-grid ol { margin:10px 0 0; padding:0; list-style:none; }.affiliate-chart-grid li { padding:5px 0; border-top:1px solid var(--ws-line-soft); }
.affiliate-tier-progress { display:grid; grid-template-columns:160px minmax(140px,1fr) minmax(210px,.9fr); gap:18px; align-items:center; padding:17px 19px; border:1px solid var(--ws-line-soft); border-radius:7px; background:rgba(36,33,45,.94); }.affiliate-tier-progress span,.affiliate-reward-panel span { display:block; color:var(--ws-muted); font-size:.66rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }.affiliate-tier-progress strong,.affiliate-reward-panel strong { display:block; margin-top:6px; color:var(--ws-text); font-size:1.28rem; }.affiliate-progress-track { height:8px; overflow:hidden; border-radius:99px; background:rgba(139,128,159,.2); }.affiliate-progress-track span { display:block; height:100%; border-radius:inherit; background:var(--ws-violet); transition:width .2s ease; }.affiliate-tier-progress p,.affiliate-reward-panel p { margin:0; color:var(--ws-muted); font-size:.74rem; line-height:1.5; }.affiliate-reward-panel { display:flex; justify-content:space-between; gap:24px; align-items:end; margin-top:12px; padding:17px 19px; border-left:2px solid var(--ws-sage); background:rgba(120,184,167,.055); }.affiliate-reward-panel > div { max-width:590px; }.affiliate-reward-panel strong { color:var(--ws-sage); }.affiliate-reward-panel > p { max-width:300px; text-align:right; }
.affiliate-earnings-heading { display: flex; justify-content: space-between; gap: 20px; align-items: baseline; margin-bottom: 11px; }
.affiliate-earnings-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--ws-line-soft); border-radius: 7px; overflow: hidden; background: var(--ws-line-soft); }
.affiliate-earnings-kpis article + article { border-left: 1px solid var(--ws-line-soft); }
.affiliate-earnings-kpis strong { color: var(--ws-text); font-size: clamp(1rem, 1.9vw, 1.35rem); font-variant-numeric: tabular-nums; letter-spacing: -.025em; white-space: nowrap; }
.affiliate-zero-state { max-width: 630px; margin: 24px 0 0; padding: 13px 15px; border-left: 2px solid var(--ws-violet); background: rgba(169,139,242,.06); color: var(--ws-muted); font-size: .78rem; line-height: 1.55; }
.affiliate-history { margin-top: 28px; border-top: 1px solid var(--ws-line-soft); padding-top: 20px; }.affiliate-history-list { display:grid; gap:1px; margin:0; padding:0; list-style:none; border:1px solid var(--ws-line-soft); border-radius:7px; overflow:hidden; background:var(--ws-line-soft); }.affiliate-history-row { display:flex; justify-content:space-between; gap:18px; align-items:center; padding:14px 18px; background:rgba(36,33,45,.94); }.affiliate-history-row strong { color:var(--ws-text); font-size:.84rem; }.affiliate-history-row p { margin:4px 0 0; color:var(--ws-muted); font-size:.73rem; }.affiliate-history-reversal { border-left:2px solid var(--ws-sage); background:rgba(120,184,167,.055); }.affiliate-history-amount { flex:0 0 auto; font-variant-numeric:tabular-nums; }.affiliate-history-reversal .affiliate-history-amount { color:var(--ws-sage); }.affiliate-history-state { padding:16px 18px; border-left:2px solid var(--ws-violet); background:rgba(169,139,242,.06); color:var(--ws-muted); font-size:.78rem; }.affiliate-history-pagination { display:flex; justify-content:flex-end; align-items:center; gap:12px; margin-top:12px; }.affiliate-history-pagination span { color:var(--ws-muted); font-size:.75rem; }.affiliate-history-pagination button { min-height:34px; padding:6px 11px; font-size:.72rem; }
.affiliate-dashboard-state { max-width: 620px; margin: 68px auto; padding: 25px; border: 1px solid var(--ws-line-soft); border-radius: 7px; background: var(--ws-surface); }
.affiliate-dashboard-state h2 { margin: 0 0 8px; color: var(--ws-text); font-size: 1.18rem; }.affiliate-dashboard-state p { color: var(--ws-muted); }.affiliate-dashboard-state button { margin-top: 7px; }
.affiliate-dashboard-loading { display: grid; gap: 14px; max-width: 1120px; padding-top: 10px; }.affiliate-loading-line, .affiliate-loading-link, .affiliate-loading-kpis span { border-radius: 5px; background: linear-gradient(90deg, rgba(139,128,159,.12), rgba(169,139,242,.2), rgba(139,128,159,.12)); background-size: 180% 100%; animation: affiliate-pulse 1.35s ease-in-out infinite; }.affiliate-loading-title { width: 22%; height: 31px; }.affiliate-loading-copy { width: 46%; height: 14px; }.affiliate-loading-link { height: 115px; margin-top: 13px; }.affiliate-loading-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; }.affiliate-loading-kpis span { height: 88px; }
@keyframes affiliate-pulse { 50% { background-position: 100% 0; } }
@media(max-width:880px) { .affiliate-referral-panel { grid-template-columns: 1fr; gap: 22px; }.affiliate-earnings-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }.affiliate-earnings-kpis article:nth-child(3) { border-left: 0; border-top: 1px solid var(--ws-line-soft); }.affiliate-earnings-kpis article:nth-child(4) { border-top: 1px solid var(--ws-line-soft); } }
@media(max-width:620px) { .affiliate-page-header, .affiliate-section-heading, .affiliate-earnings-heading { display: grid; gap: 9px; }.affiliate-section-heading > p { text-align: left; }.affiliate-referral-panel { margin-bottom: 25px; padding: 20px; }.affiliate-link-control > div { display: grid; }.affiliate-link-control button { width: 100%; }.affiliate-position-kpis { grid-template-columns: 1fr; }.affiliate-position-kpis article + article { border-top: 1px solid var(--ws-line-soft); border-left: 0; }.affiliate-earnings-kpis { grid-template-columns: 1fr; }.affiliate-earnings-kpis article + article { border-top: 1px solid var(--ws-line-soft); border-left: 0; }.affiliate-loading-kpis { grid-template-columns: 1fr; }.affiliate-loading-title { width: 42%; }.affiliate-loading-copy { width: 78%; } }
@media(max-width:620px) { .affiliate-history-row { align-items:flex-start; flex-direction:column; gap:7px; }.affiliate-history-pagination { justify-content:space-between; gap:7px; }.affiliate-history-pagination button { flex:1 1 0; } }
@media(max-width:760px) { .affiliate-referral-metrics { grid-template-columns:1fr; }.affiliate-referral-metrics article+article { border-left:0; border-top:1px solid var(--ws-line-soft); } }
@media(max-width:760px) { .affiliate-chart-grid { grid-template-columns:1fr; } }
@media(max-width:760px) { .affiliate-tier-progress { grid-template-columns:1fr; gap:12px; }.affiliate-reward-panel { display:grid; gap:12px; }.affiliate-reward-panel > p { text-align:left; } }
@media(prefers-reduced-motion:reduce) { .affiliate-loading-line, .affiliate-loading-link, .affiliate-loading-kpis span { animation: none; } }
.affiliate-application { max-width: 760px; margin: 0 auto; padding-bottom: 44px; }
.affiliate-application-header { margin-bottom: 25px; padding: 25px 28px; border: 1px solid var(--ws-line-soft); border-radius: 9px; background: linear-gradient(115deg, rgba(169,139,242,.14), rgba(36,33,45,.93) 56%); }
.affiliate-application-header h2 { margin: 4px 0 8px; color: var(--ws-text); font-size: clamp(1.7rem, 3vw, 2.25rem); letter-spacing: -.04em; }
.affiliate-application-header p:last-child { max-width: 590px; margin: 0; color: var(--ws-muted); font-size: .82rem; line-height: 1.6; }
.affiliate-application-form { display: grid; gap: 18px; }
.affiliate-application-form-intro { display: flex; gap: 12px; align-items: flex-start; padding: 0 2px; }
.affiliate-application-form-intro > span { display: grid; place-items: center; flex: 0 0 28px; height: 28px; border: 1px solid rgba(169,139,242,.46); border-radius: 50%; color: var(--ws-violet); font-size: .66rem; font-weight: 800; }
.affiliate-application-form-intro strong { display: block; color: var(--ws-text); font-size: .9rem; }
.affiliate-application-form-intro p { margin: 3px 0 0; color: var(--ws-muted); font-size: .76rem; }
.affiliate-application-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 19px; border: 1px solid var(--ws-line-soft); border-radius: 8px; background: rgba(36,33,45,.64); }
.affiliate-field { display: grid; gap: 6px; color: var(--ws-text); font-size: .73rem; font-weight: 700; }
.affiliate-field span { color: var(--ws-muted); font-weight: 500; }
.affiliate-field-wide { grid-column: 1 / -1; }
.affiliate-field input, .affiliate-field textarea { width: 100%; min-height: 39px; padding: 9px 11px; border: 1px solid var(--ws-line-soft); border-radius: 6px; background: rgba(18,17,27,.76); color: var(--ws-text); font: inherit; font-size: .8rem; transition: border-color .16s ease, box-shadow .16s ease; }
.affiliate-field textarea { min-height: 94px; resize: vertical; }
.affiliate-field input::placeholder, .affiliate-field textarea::placeholder { color: rgba(191,183,207,.55); }
.affiliate-field input:focus, .affiliate-field textarea:focus { outline: 0; border-color: var(--ws-violet); box-shadow: 0 0 0 3px rgba(169,139,242,.13); }
.affiliate-terms-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 16px 18px; border: 1px solid rgba(169,139,242,.38); border-radius: 8px; background: linear-gradient(115deg, rgba(169,139,242,.12), rgba(36,33,45,.8) 62%); }
.affiliate-terms-choice { display: flex; gap: 12px; align-items: flex-start; min-width: 0; cursor: pointer; }
.affiliate-terms-choice input { width: 18px; height: 18px; flex: 0 0 auto; margin: 2px 0 0; accent-color: var(--ws-violet); cursor: pointer; }
.affiliate-terms-choice strong { display: block; color: var(--ws-text); font-size: .82rem; }
.affiliate-terms-choice small { display: block; margin-top: 3px; color: var(--ws-muted); font-size: .72rem; line-height: 1.5; }
.affiliate-terms-choice:focus-within span { text-decoration: underline; text-decoration-color: var(--ws-violet); text-underline-offset: 3px; }
.affiliate-terms-link { white-space: nowrap; color: var(--ws-violet); font-size: .76rem; font-weight: 800; text-decoration: none; }
.affiliate-terms-link:hover, .affiliate-terms-link:focus-visible { color: var(--ws-text); text-decoration: underline; text-underline-offset: 3px; }
.affiliate-application-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 13px; }
.affiliate-application-actions .primary-button { min-height: 40px; padding: 9px 17px; }
.affiliate-application-actions p { min-height: 1.2em; margin: 0; color: var(--ws-muted); font-size: .75rem; }
@media(max-width:620px) { .affiliate-application-header { padding: 20px; }.affiliate-application-fields { grid-template-columns: 1fr; padding: 15px; }.affiliate-field-wide { grid-column: auto; }.affiliate-terms-card { grid-template-columns: 1fr; gap: 12px; }.affiliate-terms-link { padding-left: 30px; }.affiliate-application-actions .primary-button { width: 100%; } }
.affiliate-payout-provider { margin-top:22px; border-top:1px solid var(--ws-line-soft); padding-top:20px; }
.affiliate-payout-provider-body { display:grid; gap:12px; }
.affiliate-provider-notice { padding:15px 17px; border-left:2px solid var(--ws-violet); background:rgba(169,139,242,.06); }
.affiliate-provider-notice.is-ready { border-left-color:var(--ws-sage); background:rgba(120,184,167,.055); }
.affiliate-provider-notice.is-warning { border-left-color:#d8a96b; background:rgba(216,169,107,.075); }
.affiliate-provider-notice strong { color:var(--ws-text); font-size:.85rem; }
.affiliate-provider-notice p,.affiliate-provider-preference p,.affiliate-provider-privacy { margin:5px 0 0; color:var(--ws-muted); font-size:.75rem; line-height:1.55; }
.affiliate-provider-notice a { display:inline-flex; margin-top:11px; text-decoration:none; }
.affiliate-provider-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; margin:0; border:1px solid var(--ws-line-soft); border-radius:7px; overflow:hidden; background:var(--ws-line-soft); }
.affiliate-provider-summary div { min-width:0; padding:14px 16px; background:rgba(36,33,45,.94); }
.affiliate-provider-summary dt { color:var(--ws-muted); font-size:.65rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.affiliate-provider-summary dd { margin:6px 0 0; color:var(--ws-text); font-size:.84rem; font-weight:700; }
.affiliate-provider-preference { display:flex; flex-wrap:wrap; gap:9px 15px; align-items:center; margin:0; padding:14px 16px; border:1px solid var(--ws-line-soft); border-radius:7px; }
.affiliate-provider-preference legend { width:100%; margin-bottom:2px; color:var(--ws-text); font-size:.78rem; font-weight:700; }
.affiliate-provider-preference label { display:inline-flex; gap:7px; align-items:center; color:var(--ws-text); font-size:.78rem; cursor:pointer; }
.affiliate-provider-preference input { accent-color:var(--ws-violet); }
.affiliate-provider-preference p { width:100%; }
.affiliate-provider-actions { display:flex; flex-wrap:wrap; gap:9px; }
.affiliate-provider-actions button { min-height:38px; font-size:.75rem; }
.affiliate-provider-privacy { padding:0 2px; }
.affiliate-provider-loading { height:116px; border-radius:7px; background:linear-gradient(90deg,rgba(139,128,159,.12),rgba(169,139,242,.2),rgba(139,128,159,.12)); background-size:180% 100%; animation:affiliate-pulse 1.35s ease-in-out infinite; }
@media(max-width:760px) { .affiliate-provider-summary { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:420px) { .affiliate-provider-summary { grid-template-columns:1fr; }.affiliate-provider-actions button { width:100%; }.affiliate-provider-preference { display:grid; } }
