/* =====================================================
   Features Batch 3 CSS - Dark Theme Purple Accents
   ===================================================== */

/* --- Affiliate Dashboard --- */
.b3-affiliate-welcome { text-align:center; padding:32px 20px; }
.b3-aff-icon { font-size:48px; margin-bottom:16px; }
.b3-affiliate-welcome h3 { color:#e2e8f0; font-size:20px; margin-bottom:8px; }
.b3-affiliate-welcome p { color:#94a3b8; font-size:14px; margin-bottom:16px; }
.b3-aff-benefits { list-style:none; padding:0; margin:0 0 20px; text-align:left; max-width:300px; margin-left:auto; margin-right:auto; }
.b3-aff-benefits li { color:#a78bfa; font-size:14px; padding:6px 0; }

.b3-aff-stats-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; margin-bottom:20px; }
.b3-aff-stat-card { background:linear-gradient(135deg, rgba(124,58,237,.12), rgba(99,102,241,.06)); border:1px solid #2d2d4a; border-radius:12px; padding:20px; text-align:center; }
.b3-aff-stat-value { font-size:24px; font-weight:700; color:#a78bfa; margin-bottom:4px; }
.b3-aff-stat-label { font-size:12px; color:#64748b; text-transform:uppercase; letter-spacing:.5px; }

.b3-aff-link-box { background:#0f0f1a; border:1px solid #1e1e2e; border-radius:10px; padding:16px; margin-bottom:16px; }
.b3-aff-link-box label { display:block; font-size:13px; color:#94a3b8; margin-bottom:8px; }
.b3-aff-link-row { display:flex; gap:8px; }
.b3-aff-code { margin-top:8px; font-size:13px; color:#64748b; }
.b3-aff-code strong { color:#a78bfa; }

.b3-aff-referrals { margin-top:16px; }
.b3-aff-referrals h4 { color:#e2e8f0; font-size:15px; margin-bottom:10px; }

/* --- Common Components --- */
.b3-btn-primary { background:linear-gradient(135deg, #7c3aed, #6d28d9); color:#fff; border:none; border-radius:10px; padding:12px 28px; font-size:14px; font-weight:600; cursor:pointer; transition:all .3s; }
.b3-btn-primary:hover { background:linear-gradient(135deg, #6d28d9, #5b21b6); transform:translateY(-1px); box-shadow:0 4px 15px rgba(124,58,237,.3); }
.b3-btn-secondary { background:rgba(124,58,237,.15); color:#a78bfa; border:1px solid rgba(124,58,237,.3); border-radius:8px; padding:10px 20px; font-size:13px; font-weight:600; cursor:pointer; transition:all .3s; white-space:nowrap; }
.b3-btn-secondary:hover { background:rgba(124,58,237,.25); border-color:#7c3aed; }
.b3-input { flex:1; padding:10px 14px; background:#0a0a0f; border:1px solid #1e1e2e; border-radius:8px; color:#e2e8f0; font-size:13px; outline:none; font-family:monospace; }
.b3-input:focus { border-color:#7c3aed; }
.b3-muted { color:#64748b; font-size:13px; }

/* --- Table --- */
.b3-table-wrap { overflow-x:auto; border-radius:8px; border:1px solid #1e1e2e; }
.b3-table { width:100%; border-collapse:collapse; font-size:13px; }
.b3-table thead { background:#0f0f1a; }
.b3-table th { padding:10px 14px; text-align:left; color:#94a3b8; font-weight:600; font-size:12px; text-transform:uppercase; letter-spacing:.5px; border-bottom:1px solid #1e1e2e; }
.b3-table td { padding:10px 14px; color:#e2e8f0; border-bottom:1px solid #0f0f1a; }
.b3-table tbody tr:hover { background:rgba(124,58,237,.05); }

/* --- Discord OAuth Button --- */
.b3-oauth-divider { display:flex; align-items:center; margin:16px 0; gap:12px; }
.b3-oauth-divider::before, .b3-oauth-divider::after { content:''; flex:1; height:1px; background:#1e1e2e; }
.b3-oauth-divider span { color:#64748b; font-size:13px; }
.b3-btn-discord { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; padding:12px; background:#5865F2; color:#fff; border:none; border-radius:10px; font-size:14px; font-weight:600; cursor:pointer; transition:all .3s; }
.b3-btn-discord:hover { background:#4752C4; transform:translateY(-1px); box-shadow:0 4px 15px rgba(88,101,242,.3); }
.b3-btn-discord svg { flex-shrink:0; }

/* --- Push Notifications Toggle --- */
.b3-push-section, .b3-newsletter-section { margin-top:24px; padding:20px; background:linear-gradient(135deg, rgba(124,58,237,.06), rgba(99,102,241,.03)); border:1px solid #1e1e2e; border-radius:12px; }
.b3-push-section h4, .b3-newsletter-section h4 { color:#e2e8f0; font-size:16px; margin:0 0 8px; }
.b3-push-toggle-row { display:flex; align-items:center; justify-content:space-between; margin-top:12px; }
.b3-toggle-label { display:flex; align-items:center; gap:12px; cursor:pointer; color:#e2e8f0; font-size:14px; }
.b3-toggle-label input[type="checkbox"] { display:none; }
.b3-toggle-slider { position:relative; width:44px; height:24px; background:#1e1e2e; border-radius:12px; transition:all .3s; flex-shrink:0; }
.b3-toggle-slider::after { content:''; position:absolute; top:3px; left:3px; width:18px; height:18px; background:#64748b; border-radius:50%; transition:all .3s; }
.b3-toggle-label input:checked + .b3-toggle-slider { background:#7c3aed; }
.b3-toggle-label input:checked + .b3-toggle-slider::after { left:23px; background:#fff; }
.b3-push-status { font-size:12px; padding:4px 10px; border-radius:20px; background:rgba(100,116,139,.15); color:#64748b; }
.b3-push-status.b3-push-active { background:rgba(124,58,237,.15); color:#a78bfa; }

/* --- Responsive --- */
@media (max-width:640px) {
  .b3-aff-stats-grid { grid-template-columns:1fr; }
  .b3-aff-link-row { flex-direction:column; }
  .b3-push-toggle-row { flex-direction:column; gap:8px; align-items:flex-start; }
}
