.rewards-container{padding:20px;max-width:1200px;margin:0 auto}.rewards-header{background:linear-gradient(to right,#8b5cf6,#ec4899);color:#fff;padding:2rem;border-bottom-left-radius:1.5rem;border-bottom-right-radius:1.5rem;box-shadow:0 10px 15px -3px #0000001a;text-align:center;margin-bottom:40px;position:relative}.rewards-header h1{color:#fff;font-size:36px;margin-bottom:8px}.rewards-header p{color:#ffffffe6;font-size:18px;margin-bottom:20px}.back-button{background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:1rem;margin-bottom:1rem;cursor:pointer;transition:all .2s;display:inline-block;padding:.5rem 1rem;border-radius:.5rem;font-weight:600;position:absolute;left:1rem;top:1rem}.back-button:hover{background:#ffffff4d;border-color:#fff6;transform:translate(-2px)}.points-balance{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:12px 24px;border-radius:30px;font-size:18px}.points-value{font-weight:700;font-size:24px}.category-filters{display:flex;justify-content:center;gap:12px;margin-bottom:40px;flex-wrap:wrap}.category-btn{padding:10px 20px;border:2px solid #e1e8ed;background:#fff;border-radius:25px;cursor:pointer;transition:all .3s;font-weight:500;color:#666}.category-btn:hover{border-color:#667eea;color:#667eea}.category-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent}.rewards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.reward-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 12px #00000014;transition:transform .3s,box-shadow .3s}.reward-card:hover{transform:translateY(-8px);box-shadow:0 12px 24px #00000026}.reward-image{height:160px;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);display:flex;align-items:center;justify-content:center;font-size:80px}.reward-content{padding:24px}.reward-content h3{color:#333;margin-bottom:8px;font-size:20px}.reward-description{color:#666;font-size:14px;margin-bottom:20px;line-height:1.6}.reward-footer{display:flex;justify-content:space-between;align-items:center}.points-required{display:flex;flex-direction:column;gap:4px}.points-label{color:#999;font-size:12px}.points-amount{color:#333;font-weight:700;font-size:18px}.claim-btn{padding:10px 20px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s}.claim-btn.available{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.claim-btn.available:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea4d}.claim-btn.unavailable{background:#e9ecef;color:#999;cursor:not-allowed}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:20px;padding:40px;max-width:500px;width:100%;box-shadow:0 20px 40px #00000026}.modal-content h2{text-align:center;color:#333;margin-bottom:30px}.modal-reward{text-align:center;margin-bottom:30px}.modal-image{font-size:60px;margin-bottom:16px}.modal-reward h3{color:#333;margin-bottom:8px}.modal-reward p{color:#666}.modal-info{background:#f8f9fa;padding:20px;border-radius:12px;margin-bottom:30px}.modal-info p{margin:8px 0;color:#666}.modal-info strong{color:#333}.whatsapp-input-section{margin-bottom:20px}.whatsapp-input-section label{display:block;margin-bottom:8px;color:#333;font-weight:600}.whatsapp-input{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:border-color .3s}.whatsapp-input:focus{outline:none;border-color:#667eea}.input-hint{font-size:14px;color:#666;margin-top:5px}.rewards-actions{text-align:right;margin-bottom:20px}.my-redemptions-btn{background:#4caf50;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;transition:all .3s}.my-redemptions-btn:hover{background:#45a049}.my-redemptions{background:#f8f9fa;border-radius:12px;padding:20px;margin-bottom:30px;border:1px solid #e0e0e0}.my-redemptions h3{margin-bottom:20px;color:#333}.redemptions-list{display:flex;flex-direction:column;gap:15px}.redemption-item{background:#fff;padding:15px;border-radius:8px;border:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.redemption-info h4{margin:0 0 5px;color:#333}.redemption-details{color:#666;font-size:14px;margin:5px 0}.redemption-date{color:#999;font-size:12px}.redemption-status{padding:5px 12px;border-radius:20px;font-size:12px;font-weight:600}.status-pending{background:#fff4e5;color:#ff9800}.status-approved{background:#e8f5e9;color:#4caf50}.status-delivered{background:#e3f2fd;color:#2196f3}.status-rejected{background:#ffebee;color:#f44336}.empty-state{text-align:center;color:#999;padding:20px}.modal-actions{display:flex;gap:12px;justify-content:center}.cancel-btn,.confirm-btn{padding:12px 30px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s}.cancel-btn{background:#e9ecef;color:#666}.cancel-btn:hover{background:#dee2e6}.confirm-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.confirm-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea4d}@media(min-width:768px){.rewards-container{max-width:768px;margin:0 auto}.rewards-grid{grid-template-columns:repeat(2,1fr)}.modal-content{max-width:600px}}@media(min-width:1024px){.rewards-container{max-width:1200px}.rewards-header{padding:3rem}.rewards-grid{grid-template-columns:repeat(3,1fr);gap:2rem}.category-filters{margin-bottom:3rem}}@media(max-width:640px){.rewards-header{border-radius:0 0 1.5rem 1.5rem;padding:1.5rem 1rem}.rewards-header h1{font-size:1.75rem}.points-balance{padding:.75rem 1.25rem;font-size:1rem}.points-value{font-size:1.25rem}.category-filters{padding:0 1rem;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.category-filters::-webkit-scrollbar{display:none}.category-btn{white-space:nowrap;flex-shrink:0}.reward-card{padding:1rem}.reward-content h3{font-size:1.125rem}.claim-btn{padding:.75rem 1rem;font-size:.875rem}}@media(max-width:380px){.reward-image{height:120px;font-size:60px}.modal-content{padding:1.5rem}}.dark-mode .rewards-header{background:linear-gradient(to right,#6d28d9,#be185d)}.dark-mode .points-balance{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dark-mode .reward-image{background:linear-gradient(135deg,#334155,#1e293b)}.dark-mode .back-button{background:#334155;color:#f1f5f9}.dark-mode .back-button:hover{background:#475569;color:#fff}.achievements-page{min-height:100vh;background:#f9fafb}.achievements-header{background:#fff;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}.achievements-header h1{font-size:1.5rem;font-weight:700;color:#1f2937}.achievement-stats{background:#10b981;color:#fff;padding:.375rem .75rem;border-radius:2rem;font-weight:600;font-size:.875rem}.back-btn{background:#f3f4f6;border:none;padding:.5rem 1rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s;color:#1f2937}.back-btn:hover{background:#e5e7eb;color:#111827}.achievements-progress{background:#fff;padding:1.5rem;border-bottom:1px solid #e5e7eb}.progress-info{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.75rem}.progress-info h3{font-size:1.125rem;font-weight:600;color:#1f2937}.progress-info p{color:#6b7280;font-weight:500}.progress-bar{height:12px;background:#e5e7eb;border-radius:6px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(to right,#10b981,#059669);transition:width .5s ease;position:relative}.progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff0,#ffffff4d,#fff0);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.category-tabs{display:flex;gap:.5rem;padding:1rem 1.5rem;overflow-x:auto;background:#fff;border-bottom:1px solid #e5e7eb}.category-tab{background:#f3f4f6;border:none;padding:.5rem 1rem;border-radius:.5rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.375rem;white-space:nowrap}.category-tab.active{background:#10b981;color:#fff}.tab-icon{font-size:1rem}.achievements-grid{padding:1.5rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.achievement-card{background:#fff;border-radius:1rem;padding:1.5rem;text-align:center;transition:all .3s;cursor:pointer;position:relative;overflow:hidden;animation:cardAppear .4s ease-out}@keyframes cardAppear{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.achievement-card.unlocked{box-shadow:0 4px 6px -1px #0000001a}.achievement-card.unlocked:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px #0000001a}.achievement-card.locked{background:#f9fafb;cursor:default}.achievement-icon{font-size:3rem;margin-bottom:.75rem;filter:grayscale(0);transition:transform .3s}.achievement-card.unlocked:hover .achievement-icon{transform:scale(1.1) rotate(5deg)}.achievement-card.locked .achievement-icon{filter:grayscale(1);opacity:.3}.achievement-card h3{font-size:.875rem;font-weight:600;color:#1f2937;margin-bottom:.25rem}.achievement-card p{font-size:.75rem;color:#6b7280;line-height:1.4}.unlock-info{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e5e7eb}.unlock-date{font-size:.625rem;color:#9ca3af;display:block;margin-bottom:.25rem}.share-btn{background:#3b82f6;color:#fff;border:none;padding:.25rem .5rem;border-radius:.25rem;font-size:.625rem;font-weight:500;cursor:pointer;transition:all .2s}.share-btn:hover{background:#2563eb}.locked-overlay{position:absolute;inset:0;background:#f9fafbcc;display:flex;align-items:center;justify-content:center}.lock-icon{font-size:2rem;opacity:.5}.share-modal{background:#fff;border-radius:1rem;padding:2rem;max-width:400px;width:90%}.share-modal h2{text-align:center;margin-bottom:1.5rem;font-size:1.5rem}.share-preview{background:#f9fafb;border-radius:.75rem;padding:2rem;margin-bottom:1.5rem}.achievement-preview{text-align:center}.preview-icon{font-size:4rem;margin-bottom:1rem;animation:bounce 1s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.achievement-preview h3{font-size:1.25rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.share-buttons{display:flex;flex-direction:column;gap:.75rem}.share-option{background:#10b981;color:#fff;border:none;padding:.75rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s}.share-option:hover{background:#059669;transform:translateY(-2px)}.cancel-share{background:#e5e7eb;color:#1f2937;border:none;padding:.75rem;border-radius:.5rem;font-weight:500;cursor:pointer;transition:all .2s}.cancel-share:hover{background:#d1d5db}@media(min-width:768px){.achievements-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1.5rem}.achievement-card{padding:2rem}.achievement-icon{font-size:4rem}.achievement-card h3{font-size:1rem}.achievement-card p{font-size:.875rem}}.dark-mode .achievements-page{background:#0f172a}.dark-mode .achievements-header{background:#1e293b;border-color:#334155}.dark-mode .achievements-header h1{color:#f1f5f9}.dark-mode .achievements-progress{background:#1e293b;border-color:#334155}.dark-mode .progress-info h3{color:#f1f5f9}.dark-mode .progress-bar{background:#334155}.dark-mode .category-tabs{background:#1e293b;border-color:#334155}.dark-mode .category-tab{background:#334155;color:#f1f5f9}.dark-mode .achievement-card{background:#1e293b}.dark-mode .achievement-card.locked{background:#0f172a}.dark-mode .achievement-card h3{color:#f1f5f9}.dark-mode .achievement-card p{color:#94a3b8}.dark-mode .unlock-date{color:#64748b}.dark-mode .share-modal{background:#1e293b}.dark-mode .share-modal h2,.dark-mode .achievement-preview h3{color:#f1f5f9}.dark-mode .share-preview{background:#0f172a}.dark-mode .cancel-share{background:#334155;color:#f1f5f9}.dark-mode .cancel-share:hover{background:#475569}.ranks-page{min-height:100vh;background:var(--bg-secondary);padding-bottom:80px}.ranks-header{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;padding:1.5rem;text-align:center}.ranks-header .back-button{position:absolute;left:1rem;top:1.5rem;background:#fff3;border:none;color:#fff;padding:.5rem 1rem;border-radius:.5rem;cursor:pointer;font-size:.875rem;transition:all .2s}.ranks-header .back-button:hover{background:#ffffff4d;transform:translate(-2px)}.ranks-header h1{font-size:1.875rem;font-weight:700;margin-bottom:.25rem}.ranks-header p{opacity:.9;font-size:.875rem}.current-rank-display{padding:2rem 1rem;text-align:center}.current-rank-display h2{font-size:1.25rem;color:var(--text-secondary);margin-bottom:1rem;font-weight:500}.current-rank-card{background:var(--bg-primary);border-radius:1rem;padding:2rem;box-shadow:0 2px 8px #0000001a;max-width:300px;margin:0 auto}.rank-icon-large{font-size:4rem;margin-bottom:.5rem}.current-rank-card h3{font-size:1.5rem;color:var(--text-primary);margin-bottom:.5rem}.current-rank-card p{color:var(--text-secondary);font-weight:600}.ranks-list{padding:0 1rem 2rem;max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}.rank-card{background:var(--bg-primary);border-radius:1rem;padding:1.5rem;box-shadow:0 2px 8px #0000000d;transition:all .3s ease;border:2px solid transparent}.rank-card.locked{opacity:.7;background:var(--bg-secondary)}.rank-card.current{border-color:#8b5cf6;box-shadow:0 4px 20px #8b5cf633}.rank-card.next{border-color:#10b981;background:linear-gradient(to right,rgba(16,185,129,.05),transparent)}.rank-card.unlocked:not(.current):not(.next){border-color:#e5e7eb}.rank-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.rank-icon{flex-shrink:0}.rank-info{flex:1}.rank-info h3{font-size:1.25rem;color:var(--text-primary);margin-bottom:.25rem}.rank-description{color:var(--text-secondary);font-size:.875rem;margin-bottom:.5rem}.rank-requirement{font-size:.875rem;color:#8b5cf6;font-weight:600}.rank-status{flex-shrink:0}.status-badge{padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:600}.status-badge.current{background:#8b5cf6;color:#fff}.status-badge.next{background:#10b981;color:#fff}.status-badge.unlocked{background:#e5e7eb;color:#6b7280}.status-badge.locked{background:#fef3c7;color:#92400e}.rank-benefits{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.rank-benefits h4{font-size:.875rem;color:var(--text-secondary);margin-bottom:.75rem;font-weight:600}.rank-benefits ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.rank-benefits li{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-primary)}.benefit-icon{color:#10b981;font-weight:700}.rank-progress{margin-top:1rem;padding:1rem;background:#10b9811a;border-radius:.5rem}.rank-progress p{font-size:.875rem;color:var(--text-primary);margin-bottom:.75rem}.rank-progress strong{color:#10b981;font-weight:700}.progress-bar{position:relative;height:8px;background:var(--bg-secondary);border-radius:4px;overflow:hidden;margin-bottom:.5rem}.progress-fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(to right,#10b981,#059669);transition:width .5s ease;border-radius:4px}.progress-text{font-size:.75rem;color:#10b981;font-weight:600}.ranks-footer{padding:0 1rem 2rem;max-width:800px;margin:0 auto}.tips-card{background:linear-gradient(135deg,#8b5cf61a,#10b9811a);border:1px solid rgba(139,92,246,.2);border-radius:1rem;padding:1.5rem}.tips-card h3{font-size:1.125rem;color:var(--text-primary);margin-bottom:1rem}.tips-card ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.tips-card li{padding-left:1.5rem;position:relative;font-size:.875rem;color:var(--text-primary);line-height:1.5}.tips-card li:before{content:"•";position:absolute;left:.5rem;color:#8b5cf6}.dark-mode .rank-card{background:#1f2937}.dark-mode .rank-card.locked{background:#111827;opacity:.6}.dark-mode .rank-card.next{background:linear-gradient(to right,#10b9811a,#1f2937)}.dark-mode .current-rank-card{background:#1f2937}.dark-mode .progress-bar{background:#374151}.dark-mode .rank-benefits{border-top-color:#374151}.dark-mode .tips-card{background:linear-gradient(135deg,#8b5cf626,#10b98126);border-color:#8b5cf64d}@media(max-width:640px){.ranks-header h1{font-size:1.5rem}.rank-header{flex-direction:column;align-items:center;text-align:center}.rank-status{margin-top:1rem}.rank-icon{font-size:3rem}.current-rank-card{padding:1.5rem}.rank-card{padding:1rem}}
