/* Account growth: bright illustrations and tactile rewards, scoped to their views. */
body.dashboard-page #rewards #dailyRewards { position: relative; isolation: isolate; overflow: hidden; padding: clamp(20px,3vw,40px); border: 1px solid #514377; border-radius: 28px; background: radial-gradient(ellipse at 100% 0,#7653e728,transparent 46%),#10141c !important; }
body.dashboard-page #rewards #dailyRewards .reward-heading { gap: 20px; padding-bottom: 26px; border-bottom: 1px solid #ffffff14; }
body.dashboard-page #dailyRewards .reward-heading h2 { margin: 8px 0; font-size: clamp(25px,3vw,38px); line-height: 1.55; color: #f9f7ff; }
body.dashboard-page #dailyRewards .reward-eyebrow { color: #c6b4ff; font-size: 12px; letter-spacing: 0; }
body.dashboard-page #dailyRewards .reward-heading p { font-size: 14px; color: #b7c1d4; }
body.dashboard-page #dailyRewards .reward-balance { flex: none; min-width: 100px; padding: 14px 18px; border: 1px solid #ac8bff70; border-radius: 20px; background: linear-gradient(150deg,#7250e8,#46318c); box-shadow: 0 5px 0 #30225c, inset 0 1px #ffffff35; color: #fff; }
body.dashboard-page #dailyRewards .reward-balance strong { color: #fff; font-size: 34px; }
body.dashboard-page #rewards #dailyRewards .reward-body { gap: 24px; padding-top: 28px; align-items: start; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
body.dashboard-page #rewards #dailyRewards .reward-play { position: relative; padding: 26px 20px; border: 1px solid #7c5adb55; border-radius: 24px; background: radial-gradient(ellipse at 50% 40%,#8352ec27,transparent 65%),linear-gradient(150deg,#241d39,#131923); box-shadow: inset 0 1px #ffffff0c; }
body.dashboard-page #dailyRewards .reward-play h3 { color: #fff; font-size: 21px; margin: 8px 0 28px; }
body.dashboard-page :is(#dailyRewards,#overviewRewards) .reward-wheel-wrap { border-color: #cfb7ff; background: linear-gradient(140deg,#e4ceff,#7146d8 40%,#9b80ed 65%,#492b93); box-shadow: 0 0 0 6px #b397ff12,0 18px 40px #0005,inset 0 0 0 4px #2c2147; }
body.dashboard-page :is(#dailyRewards,#overviewRewards) .reward-pointer { background: linear-gradient(120deg,#fff4be,#ffc56b); }
body.dashboard-page #dailyRewards .reward-wheel-art text { font-size: 16px; font-weight: 800; }
body.dashboard-page #dailyRewards .reward-wheel-art .reward-wheel-brand { fill: #fff; }
body.dashboard-page :is(#dailyRewards,#overviewRewards) button.reward-spin { min-height: 50px; border: 1px solid #ffe3a0; border-radius: 15px; background: linear-gradient(140deg,#ffe69a,#ffc464); color: #312312; box-shadow: 0 5px 0 #98632d,0 9px 24px #ffbd5020; font-size: 15px; font-weight: 850; transition: transform .15s,box-shadow .15s; }
body.dashboard-page :is(#dailyRewards,#overviewRewards) button.reward-spin:active:not(:disabled) { transform: translateY(3px); box-shadow: 0 2px 0 #98632d; }
body.dashboard-page #dailyRewards .reward-daily { margin-top: 20px; font-size: 12px; color: #b7c1d4; }
body.dashboard-page #dailyRewards .reward-status:not(:empty) { padding: 14px; border: 1px solid #bea2ff55; border-radius: 12px; background: #9d78ef14; font-size: 14px; color: #eee6ff; }
body.dashboard-page #rewards #dailyRewards .reward-mission { padding: 22px; border: 1px solid #494267; border-radius: 20px; background: linear-gradient(140deg,#232038,#131923); }
body.dashboard-page #rewards #dailyRewards .reward-mission + .reward-mission { border-color: #285a59; background: linear-gradient(140deg,#162d31,#111923); }
body.dashboard-page #dailyRewards .reward-mission h4 { color: #f7f4ff; font-size: 17px; }
body.dashboard-page #dailyRewards .reward-mission p, body.dashboard-page #dailyRewards .reward-mission small { font-size: 13px; line-height: 1.9; color: #b7c1d4; }
body.dashboard-page #dailyRewards .reward-symbol-medal { width: 64px; height: 76px; }
body.dashboard-page #dailyRewards .reward-mission > button,body.dashboard-page #dailyRewards .reward-mission-cta { display: flex; align-items: center; justify-content: center; min-height: 46px; border: 1px solid #a78afa70; border-radius: 12px; background: #9770ed20; color: #e1d6ff; font-size: 14px; }
body.dashboard-page #dailyRewards .reward-next { border-radius: 12px; background: #060a1038; }
body.dashboard-page #dailyRewards progress { accent-color: #a88aff; }
body.dashboard-page #dailyRewards .reward-referral-status { padding: 12px 2px; color: #b8c5d6; font-size: 12px; }
body.dashboard-page #dailyRewards .reward-achievements { border-color: #42405c; background: radial-gradient(ellipse at 100% 0,#7b56d41c,transparent 65%),#121823; }
body.dashboard-page #dailyRewards .reward-medal-card.is-earned { border-color: #75d6bd77; background: linear-gradient(150deg,#214a42,#14242a); }
body.dashboard-page #dailyRewards .reward-medal-card.is-current { border-color: #b595ff88; background: linear-gradient(150deg,#453168,#211c34); }
body.dashboard-page #dailyRewards .reward-medal-card.is-locked { opacity: .72; }
body.dashboard-page #dailyRewards .reward-prize-list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
body.dashboard-page #dailyRewards .reward-prize-chip { display: flex; flex-direction: column; gap: 7px; min-width: 0; padding: 18px 10px; border: 1px solid #4a3d67; border-radius: 18px; background: linear-gradient(150deg,#2b2341,#151b26); text-align: center; }
body.dashboard-page #dailyRewards .reward-prize-chip small { color: #b9c3d3; font-size: 12px; }
body.dashboard-page #dailyRewards .reward-prize-art { width: 56px; height: 66px; }
body.dashboard-page #dailyRewards .reward-wallet article { gap: 18px; padding: 18px; margin-top: 12px; border: 1px dashed #a78aff66; border-radius: 16px; background: #a58aff0b; }
body.dashboard-page #dailyRewards .reward-wallet button { min-height: 44px; padding: 10px 16px; border: 1px solid #a78aff55; border-radius: 10px; background: #a58aff1c; color: #e5d9ff; }
body.dashboard-page #dailyRewards .reward-prize-shelf > small { display: block; margin-top: 14px; line-height: 1.9; color: #b7c1d4; }
body.dashboard-page :is(#dailyRewards,#overviewRewards) .reward-celebration { position: absolute; inset: 0; z-index: 5; pointer-events: none; overflow: hidden; }
.reward-celebration i { position: absolute; top: 15%; left: var(--x); width: 8px; height: 15px; border-radius: 3px; background: #b99aff; animation: growth-confetti 1.4s ease-out both; animation-delay: calc(var(--i) * 15ms); }
.reward-celebration i:nth-child(3n) { background: #70e2c9; }.reward-celebration i:nth-child(3n + 1) { background: #ffcd78; }
@keyframes growth-confetti { from { opacity: 0; transform: translateY(-20px) rotate(0); } 15% { opacity: 1; } to { opacity: 0; transform: translateY(430px) rotate(240deg); } }
body.dashboard-page #overview #overviewRewards { position: relative; overflow: hidden; border-color: #7b5ec666; background: radial-gradient(ellipse at 100% 0,#8356d927,transparent 70%),#171a29; }

/* Invitation: link first, sharing second, rules only when needed. */
body.dashboard-page #affiliate .promotion-panel.affiliate-panel { max-width: 1160px; padding: clamp(18px,3vw,36px); border: 1px solid #52416c; border-radius: 28px; background: radial-gradient(ellipse at 100% 0,#895bdf24,transparent 45%),#10141c; }
body.dashboard-page #affiliate .affiliate-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-bottom: 22px; }
body.dashboard-page #affiliate .affiliate-panel > header h2 { max-width: 540px; color: #faf7ff; font-size: clamp(25px,3vw,36px); line-height: 1.65; }
body.dashboard-page #affiliate .affiliate-panel .growth-invite-art { flex: none; display: block; width: min(30%,240px); height: auto; }
body.dashboard-page #affiliate .affiliate-link-card { padding: 22px; margin: 12px 0 18px; border: 1px solid #a082ef70; border-radius: 20px; background: linear-gradient(135deg,#3d2b67,#22283f); box-shadow: 0 6px 0 #080d16; }
body.dashboard-page #affiliate .affiliate-link-card label { display: block; margin: 8px 0 12px; color: #efe6ff; font-size: 16px; font-weight: 750; }
body.dashboard-page #affiliate .affiliate-link-card .promotion-inline { gap: 12px; }
body.dashboard-page #affiliate .affiliate-panel .affiliate-link-card .promotion-primary { min-height: 48px; padding: 12px 20px; border-color: #d9caff; border-radius: 12px; background: #c5adff; color: #23183b; font-weight: 850; white-space: nowrap; }
body.dashboard-page #affiliate .affiliate-panel [data-affiliate-content] { min-width: 0; }
body.dashboard-page #affiliate .affiliate-panel .promotion-stats { gap: 12px; margin: 24px 0; }
body.dashboard-page #affiliate .affiliate-panel .promotion-stats article { position: relative; overflow: hidden; padding: 22px 20px; border: 1px solid #60508a; border-radius: 18px; background: linear-gradient(135deg,#302347,#1c1e31); }
body.dashboard-page #affiliate .affiliate-panel .promotion-stats article:nth-child(2) { border-color: #2d665c; background: linear-gradient(135deg,#183d36,#12272b); }
body.dashboard-page #affiliate .affiliate-panel .promotion-stats article:nth-child(3) { border-color: #775b35; background: linear-gradient(135deg,#3d3020,#272221); }
body.dashboard-page #affiliate .affiliate-panel .promotion-stats strong { margin-top: 12px; font-size: 32px; color: #f5eaff; }
body.dashboard-page #affiliate .affiliate-panel .promotion-stats article:nth-child(2) strong { color: #a3efda; }
body.dashboard-page #affiliate .affiliate-panel .promotion-stats article:nth-child(3) strong { color: #ffda95; }
body.dashboard-page #affiliate .affiliate-panel .affiliate-share-kit { margin: 16px 0; padding: 0; border: 0; border-radius: 0; background: none; }
body.dashboard-page #affiliate .affiliate-panel .affiliate-share-kit h3 { margin: 20px 0 4px; font-size: 18px; }
body.dashboard-page #affiliate .affiliate-panel .affiliate-share-kit p { margin: 0 0 14px; font-size: 13px; }
body.dashboard-page #affiliate .affiliate-share-actions :is(button,a) { min-height: 46px; border-color: #62507f; background: #231d35; font-size: 13px; text-decoration: none; }
body.dashboard-page #affiliate .affiliate-panel .affiliate-share-actions [data-share-native] { background: #8d6ce8; border-color: #b497ff; color: #fff; }
body.dashboard-page #affiliate .affiliate-message-editor { padding: 14px 0; font-size: 13px; }
body.dashboard-page #affiliate .affiliate-message-editor summary { color: #bfc8db; cursor: pointer; }
body.dashboard-page #affiliate .affiliate-message-editor textarea { margin-top: 14px; }
body.dashboard-page #affiliate .affiliate-panel .affiliate-steps { gap: 14px; margin: 26px 0; }
body.dashboard-page #affiliate .affiliate-panel .affiliate-steps > div { position: relative; padding: 22px; border-color: #3c4360; background: #171c2a; border-radius: 18px; }
body.dashboard-page #affiliate .affiliate-steps span { display: grid; place-items: center; width: 38px; height: 38px; margin-bottom: 8px; border-radius: 13px; background: #7851d8; color: #fff; font-weight: 850; }
body.dashboard-page #affiliate .affiliate-steps > div:nth-child(2) span { background: #087d70; }
body.dashboard-page #affiliate .affiliate-steps > div:nth-child(3) span { background: #a46623; }
body.dashboard-page #affiliate .affiliate-panel .affiliate-wheel-note { margin: 20px 0; padding: 18px; border: 1px solid #376557; border-radius: 16px; background: #13332b; color: #cdf2e2; font-size: 14px; }
body.dashboard-page #affiliate .affiliate-wheel-note small { display: block; margin-top: 6px; color: #b7d5c9; font-size: 12px; }
body.dashboard-page #affiliate .affiliate-panel .affiliate-wheel-note a { color: #abefd5; border-color: #70d7b955; }
body.dashboard-page #affiliate .affiliate-panel [role=status]:not(:empty) { position: fixed; z-index: 9400; inset: auto 20px 24px auto; width: min(420px,calc(100vw - 40px)); padding: 16px 20px; margin: 0; border: 1px solid #ad91e8; border-radius: 16px; background: #251d3b; box-shadow: 0 12px 40px #0008; color: #f3ebff; font-size: 14px; }

/* Financial surfaces keep numbers dominant and illustration decorative. */
body.dashboard-page #billing .balance-card.billing-balance-hero { position: relative; overflow: hidden; isolation: isolate; padding: 28px; border: 1px solid #7662ad; border-radius: 24px; background: radial-gradient(ellipse at 0 15%,#7554e72b,transparent 65%),linear-gradient(135deg,#27213e,#131b2a) !important; }
body.dashboard-page #billing .billing-balance-hero::after { content: ''; position: absolute; z-index: -1; top: 24px; left: 12px; width: 180px; height: 160px; background: url('/assets/growth/wallet.svg') center/contain no-repeat; opacity: .72; pointer-events: none; }
body.dashboard-page #billing .billing-balance-hero #billingBalance { position: relative; width: fit-content; max-width: 100%; margin: 16px 0 0; padding-left: 12px; font-size: clamp(38px,4.5vw,56px); color: #fff; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
body.dashboard-page #billing .billing-balance-hero > p { max-width: 380px; color: #c2cada; font-size: 14px; }
body.dashboard-page #billing .billing-summary-grid > article { border-radius: 18px; border-color: #37415a; background: linear-gradient(135deg,#1d2536,#121923); }
body.dashboard-page #billing .billing-summary-grid .summary-icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 13px; background: #a684ff25; color: #c8b4ff; }
body.dashboard-page #billing .billing-summary-grid .summary-icon.green { background: #4cceaa20; color: #85e4c6; }
body.dashboard-page #billing .billing-summary-grid .summary-icon.cyan { background: #5dcde320; color: #95e5f4; }
body.dashboard-page #billing .billing-summary-grid .summary-icon.amber { background: #ffcc7920; color: #ffda9d; }
body.dashboard-page #billing .billing-plan-grid .billing-plan-card { position: relative; border-radius: 20px; border-color: #39415b; background: linear-gradient(150deg,#1e2335,#111722) !important; transition: transform .18s,border-color .18s; }
body.dashboard-page #billing .billing-plan-grid .billing-plan-card:hover { transform: translateY(-4px); border-color: #9d83d9; }
body.dashboard-page #billing .billing-plan-grid .billing-plan-card.featured { border: 1px solid #af8fff; background: radial-gradient(ellipse at 80% 0,#8560e938,transparent 65%),#201b32 !important; box-shadow: 0 0 0 3px #ac8fff0c; }
body.dashboard-page #billing .billing-plan-grid .plan-gem { border: 1px solid #8c70bf55; border-radius: 16px; background: linear-gradient(145deg,#503781,#28223e); color: #ccb8ff; }
body.dashboard-page #billing .billing-plan-grid .plan-popular { background: #b69aff; color: #24183c; }
body.dashboard-page #billing .billing-plan-card .plan-price { padding-bottom: 14px; border-bottom: 1px solid #ffffff12; }
body.dashboard-page #billing .billing-notice:not([hidden]) { padding: 16px; border: 1px solid #dc9f7a66; border-radius: 13px; color: #ffdbb3; background: #4a3022; }
body.dashboard-page #billing .billing-notice.success { color: #b4f1dc; border-color: #70d4af66; background: #14362c; }
@media(max-width:1000px) { body.dashboard-page #rewards #dailyRewards .reward-body { grid-template-columns: minmax(0,1fr); } body.dashboard-page #rewards #dailyRewards .reward-play { width: 100%; max-width: 520px; margin: auto; } }
@media(max-width:700px) {
 body.dashboard-page #dailyRewards .reward-heading { align-items: flex-start; }
 body.dashboard-page #dailyRewards .reward-balance { min-width: 76px; padding: 12px; }
 body.dashboard-page #dailyRewards .reward-balance strong { font-size: 28px; }
 body.dashboard-page #dailyRewards .reward-heading h2 { font-size: 25px; }
 body.dashboard-page #dailyRewards .reward-heading p { font-size: 13px; }
 body.dashboard-page #dailyRewards .reward-prize-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
 body.dashboard-page #dailyRewards .reward-medal-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 body.dashboard-page #affiliate .affiliate-panel > header { gap: 4px; }
 body.dashboard-page #affiliate .affiliate-panel .growth-invite-art { width: 100px; align-self: flex-start; }
 body.dashboard-page #affiliate .affiliate-panel > header h2 { font-size: 25px; }
 body.dashboard-page #affiliate .affiliate-panel .promotion-stats { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
 body.dashboard-page #affiliate .affiliate-panel .promotion-stats article { padding: 14px 8px; }
 body.dashboard-page #affiliate .affiliate-panel .promotion-stats small { font-size: 11px; }
 body.dashboard-page #affiliate .affiliate-panel .promotion-stats strong { font-size: 25px; }
 body.dashboard-page #affiliate .affiliate-link-card { padding: 16px; }
 body.dashboard-page #affiliate .affiliate-panel .affiliate-steps > div { padding: 16px; }
 body.dashboard-page #billing .balance-card.billing-balance-hero { padding: 22px; }
 body.dashboard-page #billing .billing-balance-hero::after { width: 135px; height: 120px; top: 36px; left: 4px; opacity: .42; }
}
@media(max-width:420px) { body.dashboard-page #dailyRewards .reward-heading { flex-wrap: wrap; } body.dashboard-page #affiliate .affiliate-panel .growth-invite-art { width: 80px; } }
@media(prefers-reduced-motion:reduce) { .reward-celebration { display: none; } body.dashboard-page #billing .billing-plan-card,body.dashboard-page :is(#dailyRewards,#overviewRewards) button.reward-spin { transition: none; } }
