.referral-prompt-banner{display:flex;align-items:center;background:linear-gradient(135deg,rgba(168,85,247,.1),rgba(124,58,237,.1));border:1px solid rgba(168,85,247,.2);border-radius:var(--radius-lg);margin-bottom:1.5rem;overflow:hidden}.referral-prompt-link{flex:1;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;text-decoration:none;transition:background .2s ease}.referral-prompt-link:hover{background:rgba(168,85,247,.05)}.referral-prompt-icon{width:40px;height:40px;background:linear-gradient(135deg,#a855f7,#7c3aed);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:white;font-size:1rem;flex-shrink:0;margin-right:1rem}.referral-prompt-text{display:flex;flex-direction:column;gap:.125rem;flex:1}.referral-prompt-text strong{color:var(--color-text-primary);font-size:var(--text-sm);font-weight:600}.referral-prompt-text span{color:var(--color-text-secondary);font-size:var(--text-xs)}.referral-prompt-cta{display:flex;align-items:center;gap:.5rem;color:#a855f7;font-size:var(--text-sm);font-weight:500;flex-shrink:0}.referral-prompt-cta i{font-size:var(--text-xs);transition:transform .2s ease}.referral-prompt-link:hover .referral-prompt-cta i{transform:translateX(3px)}.referral-prompt-dismiss{background:none;border:none;padding:1rem;color:var(--color-text-tertiary);cursor:pointer;transition:color .2s ease}.referral-prompt-dismiss:hover{color:var(--color-text-secondary)}.referral-toast{position:fixed;bottom:24px;right:24px;display:flex;align-items:stretch;background:var(--color-surface);border:1px solid rgba(168,85,247,.3);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1000;animation:slideInRight .3s ease;overflow:hidden}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.referral-toast-content{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;text-decoration:none;transition:background .2s ease}.referral-toast-content:hover{background:rgba(168,85,247,.05)}.referral-toast-icon{width:36px;height:36px;background:linear-gradient(135deg,#a855f7,#7c3aed);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:white;font-size:.875rem;flex-shrink:0}.referral-toast-text{display:flex;flex-direction:column;gap:.125rem}.referral-toast-text strong{color:var(--color-text-primary);font-size:var(--text-sm);font-weight:600}.referral-toast-text span{color:var(--color-text-secondary);font-size:var(--text-xs);max-width:220px}.referral-toast-dismiss{background:none;border:none;border-left:1px solid var(--color-border);padding:0 1rem;color:var(--color-text-tertiary);cursor:pointer;transition:all .2s ease}.referral-toast-dismiss:hover{color:var(--color-text-secondary);background:var(--color-background)}@media (max-width:600px){.referral-prompt-link{flex-wrap:wrap;gap:.75rem}.referral-prompt-cta{width:100%;justify-content:flex-end}.referral-toast{left:16px;right:16px;bottom:16px}.referral-toast-text span{max-width:none}}.upgrade-banner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.25rem 1.5rem;border-radius:var(--radius-lg,12px);margin:1rem 2rem 0;position:relative;overflow:hidden}.upgrade-banner--subtle{background:linear-gradient(135deg,var(--color-primary,#6366f1) 0,#8b5cf6 100%);color:white}.upgrade-banner--subtle .upgrade-banner__description,.upgrade-banner--subtle .upgrade-banner__heading{color:white}.upgrade-banner--subtle .upgrade-banner__cta{background:white;color:#6366f1;border:none}.upgrade-banner--subtle .upgrade-banner__cta:hover{background:#f5f5f5;transform:translateY(-1px)}.upgrade-banner--subtle .upgrade-banner__illustration{color:white}.upgrade-banner--warning{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:white}.upgrade-banner--warning .upgrade-banner__heading{color:white}.upgrade-banner--warning .upgrade-banner__description{color:rgba(255,255,255,.9)}.upgrade-banner--warning .upgrade-banner__cta{background:white;color:#b45309;border:none}.upgrade-banner--warning .upgrade-banner__cta:hover{background:#f5f5f5;transform:translateY(-1px)}.upgrade-banner--warning .upgrade-banner__illustration{color:white}.upgrade-banner--urgent{background:linear-gradient(135deg,#ef4444,#f87171);color:white}.upgrade-banner--urgent .upgrade-banner__heading{color:white}.upgrade-banner--urgent .upgrade-banner__description{color:rgba(255,255,255,.9)}.upgrade-banner--urgent .upgrade-banner__cta{background:white;color:#dc2626;border:none}.upgrade-banner--urgent .upgrade-banner__cta:hover{background:#f5f5f5;transform:translateY(-1px)}.upgrade-banner--urgent .upgrade-banner__illustration{color:white}.upgrade-banner__content{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:0;z-index:1}.upgrade-banner__heading{font-size:1.125rem;font-weight:600;margin:0;line-height:1.3}.upgrade-banner__description{font-size:.8125rem;line-height:1.5;margin:0}.upgrade-banner__cta{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .875rem;font-size:.75rem;font-weight:500;border-radius:var(--radius-md,8px);cursor:pointer;transition:all .2s ease;white-space:nowrap;width:fit-content;margin-top:.5rem;box-shadow:0 2px 4px rgba(0,0,0,.1)}.upgrade-banner__cta i{font-size:.75rem;transition:transform .2s ease}.upgrade-banner__cta:hover i{transform:translateX(3px)}.upgrade-banner__illustration{flex-shrink:0;width:100px;height:80px;opacity:.6;z-index:1}.upgrade-banner__illustration svg{width:100%;height:100%}@media (max-width:768px){.upgrade-banner{flex-direction:column;align-items:stretch;flex-shrink:0;padding:1rem;margin:1rem 1rem 0}.upgrade-banner__content{flex-direction:column;align-items:flex-start}.upgrade-banner__heading{font-size:.9375rem}.upgrade-banner__description{font-size:.8125rem}.upgrade-banner__cta{width:100%;justify-content:center;padding:.5rem .875rem;font-size:.75rem}.upgrade-banner__illustration{display:none}}.upgrade-banner__star{opacity:.3;animation:starTwinkle 2s ease-in-out infinite}.upgrade-banner__star--1{animation-delay:0s}.upgrade-banner__star--2{animation-delay:.4s}.upgrade-banner__star--3{animation-delay:.8s}.upgrade-banner__star--4{animation-delay:1.2s}.upgrade-banner__star--5{animation-delay:1.6s}.upgrade-banner__star--6{animation-delay:.2s}.upgrade-banner__star--7{animation-delay:1s}@keyframes starTwinkle{0%,to{opacity:.2;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.upgrade-banner--dismissing{animation:bannerDismiss .2s ease-out forwards}@keyframes bannerDismiss{to{opacity:0;transform:translateY(-10px);margin-bottom:0;padding-top:0;padding-bottom:0;height:0}}