body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;color:#1f2937;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App{min-height:100vh}.loading{color:#6b7280;font-size:1.1rem;min-height:60vh}.auth-container,.loading{align-items:center;display:flex;justify-content:center}.auth-container{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:1rem}.auth-card{background:#fff;border-radius:1rem;box-shadow:0 20px 25px -5px #0000001a;max-width:400px;padding:2rem;width:100%}.auth-header{margin-bottom:2rem;text-align:center}.logo{align-items:center;display:flex;gap:.5rem;justify-content:center;margin-bottom:1rem}.logo-icon{color:#10b981;height:2rem;width:2rem}.logo h1{color:#1f2937;font-size:1.5rem;font-weight:700}.auth-form{gap:1rem}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.25rem}.form-group label{color:#374151;font-size:.875rem;font-weight:500}.form-group input,.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;padding:.75rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a;outline:none}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.error-message{background-color:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;color:#dc2626;font-size:.875rem;padding:.75rem}.btn-primary{align-items:center;background-color:#10b981;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;transition:background-color .2s}.btn-primary:hover:not(:disabled){background-color:#059669}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{align-items:center;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:.5rem;color:#374151;cursor:pointer;display:flex;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;transition:background-color .2s}.btn-secondary:hover{background-color:#e5e7eb}.auth-footer{margin-top:1.5rem;text-align:center}.auth-link{color:#10b981;font-weight:500;text-decoration:none}.auth-link:hover{text-decoration:underline}.navbar{background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;padding:1rem 2rem;position:sticky;top:0;z-index:100}.nav-brand,.navbar{align-items:center;display:flex}.nav-brand{gap:.5rem}.brand-icon{color:#10b981;height:1.5rem;width:1.5rem}.brand-text{color:#1f2937;font-size:1.25rem;font-weight:700}.nav-links{display:flex;gap:2rem}.nav-link{align-items:center;border-radius:.5rem;color:#6b7280;display:flex;font-weight:500;gap:.5rem;padding:.5rem 1rem;text-decoration:none;transition:all .2s}.nav-link.active,.nav-link:hover{background-color:#f0fdf4;color:#10b981}.nav-user{align-items:center;display:flex;gap:1rem}.user-info{text-align:right}.user-name{color:#1f2937;display:block;font-size:.875rem;font-weight:500}.user-score{color:#10b981;display:block;font-size:.75rem;font-weight:600}.logout-btn{background:none;border:none;border-radius:.5rem;color:#6b7280;cursor:pointer;padding:.5rem;transition:color .2s}.logout-btn:hover{color:#dc2626}.main-content{margin:0 auto;max-width:1200px;padding:2rem}.dashboard-header{margin-bottom:2rem}.dashboard-header h1{color:#1f2937;font-size:2rem;font-weight:700;margin-bottom:.5rem}.dashboard-header p{color:#6b7280}.stats-grid{grid-gap:1.5rem;gap:1.5rem;margin-bottom:2rem}.stat-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:1rem;display:flex;gap:1rem;padding:1.5rem}.stat-card.primary{background:linear-gradient(135deg,#10b981,#059669);border:none;color:#fff}.stat-icon{align-items:center;background-color:#ffffff1a;border-radius:.75rem;display:flex;height:3rem;justify-content:center;width:3rem}.stat-card:not(.primary) .stat-icon{background-color:#f3f4f6;color:#6b7280}.stat-number{font-size:1.75rem;font-weight:700;margin:.25rem 0}.stat-label{opacity:.8}.dashboard-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.dashboard-section{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;overflow:hidden}.section-header h2{font-size:1.25rem;font-weight:600}.actions-list,.opportunities-list{padding:1.5rem}.action-item,.opportunity-item{align-items:center;border:1px solid #e5e7eb;border-radius:.5rem;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem}.action-item:last-child,.opportunity-item:last-child{margin-bottom:0}.action-content h4,.opportunity-content h4{font-weight:600;margin-bottom:.25rem}.action-meta,.opportunity-meta{color:#6b7280;display:flex;font-size:.875rem;gap:1rem;margin-top:.5rem}.action-category,.opportunity-points{background-color:#dbeafe;border-radius:.25rem;color:#1d4ed8;font-size:.75rem;font-weight:500;padding:.125rem .5rem}.action-status{border-radius:1rem;color:#fff;font-size:.75rem;font-weight:500;padding:.25rem .75rem;text-transform:capitalize}.btn-primary-sm{background-color:#10b981;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem}.btn-primary-sm:hover{background-color:#059669}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.page-header h1{color:#1f2937;font-size:2rem;font-weight:700}.modal-overlay{align-items:center;background-color:#00000080;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.modal-content{background:#fff;border-radius:1rem;max-height:90vh;max-width:500px;overflow-y:auto;padding:2rem;width:100%}.modal-content.large{max-width:700px}.modal-content h2{font-size:1.5rem;font-weight:600;margin-bottom:1.5rem}.form-actions{display:flex;gap:1rem;margin-top:2rem}.form-actions button{flex:1 1}.actions-grid,.opportunities-grid,.rewards-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.action-card,.opportunity-card,.reward-card{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;padding:1.5rem;transition:box-shadow .2s}.action-card:hover,.opportunity-card:hover,.reward-card:hover{box-shadow:0 10px 15px -3px #0000001a}.action-header,.opportunity-header,.reward-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.difficulty-badge,.status-badge{border-radius:1rem;color:#fff;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.difficulty-badge.easy{background-color:#10b981}.difficulty-badge.medium{background-color:#f59e0b}.difficulty-badge.hard{background-color:#ef4444}.detail-item{align-items:center;color:#6b7280;display:flex;font-size:.875rem;gap:.5rem}.action-details,.opportunity-details{display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0}.rewards-filters{margin-bottom:2rem}.category-filters{display:flex;flex-wrap:wrap;gap:.5rem}.filter-btn{background:#fff;border:1px solid #d1d5db;border-radius:.5rem;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.filter-btn.active,.filter-btn:hover{background-color:#10b981;border-color:#10b981;color:#fff}.user-points{align-items:center;background:#f0fdf4;border-radius:.75rem;color:#059669;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1rem}.points-icon{color:#f59e0b}.business-info{align-items:center;display:flex;gap:.75rem}.business-icon{font-size:1.5rem}.business-rating{align-items:center;color:#f59e0b;display:flex;font-size:.875rem;gap:.25rem}.reward-footer{border-top:1px solid #e5e7eb;justify-content:space-between;margin-top:1.5rem;padding-top:1rem}.reward-cost,.reward-footer{align-items:center;display:flex}.reward-cost{gap:.25rem}.cost-icon{color:#f59e0b}.cost-amount{color:#1f2937;font-size:1.25rem;font-weight:700}.cost-label{color:#6b7280;font-size:.875rem}.reward-btn{border:none;border-radius:.5rem;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:background-color .2s}.btn-disabled{background-color:#f3f4f6;color:#9ca3af;cursor:not-allowed}.admin-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.admin-stats .stat-icon{border-radius:.5rem}.admin-stats .stat-icon.users{background-color:#dbeafe;color:#1d4ed8}.admin-stats .stat-icon.actions{background-color:#dcfce7;color:#16a34a}.admin-stats .stat-icon.pending{background-color:#fef3c7;color:#d97706}.admin-stats .stat-icon.points{background-color:#fce7f3;color:#be185d}.verification-queue{display:flex;flex-direction:column;gap:1rem}.verification-item{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;display:flex;gap:1.5rem;padding:1.5rem}.verification-content{flex:1 1}.verification-actions{display:flex;flex-direction:column;gap:.5rem;min-width:120px}.btn-success{align-items:center;background-color:#10b981;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;justify-content:center;padding:.5rem 1rem}.btn-success:hover{background-color:#059669}.btn-danger{align-items:center;background-color:#ef4444;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;justify-content:center;padding:.5rem 1rem}.btn-danger:hover{background-color:#dc2626}.action-photos,.photo-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));margin-top:1rem}.action-photo,.evidence-photo{border:1px solid #e5e7eb;border-radius:.5rem;height:100px;object-fit:cover;width:100%}.empty-state{color:#6b7280;padding:3rem 1rem;text-align:center}.empty-state h3{color:#374151;margin-bottom:.5rem}.empty-icon{color:#d1d5db;margin-bottom:1rem}.homepage{overflow-x:hidden}.hero{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;min-height:100vh;padding:0 2rem;position:relative}.hero:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='a' width='100' height='100' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='50' cy='50' r='1' fill='%23fff' opacity='.1'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");bottom:0;content:"";left:0;opacity:.1;position:absolute;right:0;top:0}.hero-content{grid-gap:4rem;align-items:center;display:grid;gap:4rem;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1200px;position:relative;z-index:1}.hero-title{color:#fff;font-size:3.5rem;font-weight:800;line-height:1.1;margin-bottom:1.5rem}.gradient-text{color:#fff}.hero-subtitle{color:#ffffffe6;font-size:1.25rem;line-height:1.6;margin-bottom:2rem}.hero-actions{display:flex;gap:1rem;margin-bottom:3rem}.btn-hero-primary{align-items:center;background:linear-gradient(45deg,#10b981,#059669);border-radius:50px;box-shadow:0 10px 30px #10b9814d;color:#fff;display:flex;font-weight:600;gap:.5rem;padding:1rem 2rem;text-decoration:none;transition:all .3s ease}.btn-hero-primary:hover{box-shadow:0 15px 40px #10b98166;transform:translateY(-2px)}.btn-hero-secondary{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:50px;color:#fff;font-weight:600;padding:1rem 2rem;text-decoration:none;transition:all .3s ease}.btn-hero-secondary:hover{background:#fff3;transform:translateY(-2px)}.hero-stats{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(3,1fr)}.stat{align-items:center;display:flex;flex-direction:column}.stat-number{color:#fff;font-size:2rem;font-weight:800}.stat-label{color:#fffc;font-size:.875rem;text-align:center}.hero-visual{height:500px;position:relative}.floating-cards{height:100%;position:relative}.card{animation:float 6s ease-in-out infinite;background:#fff;border-radius:1rem;box-shadow:0 20px 60px #0000001a;display:flex;flex-direction:column;gap:.75rem;max-width:220px;min-width:200px;padding:1.5rem;position:absolute}.card-1{animation-delay:0s;left:-10%;top:0}.card-2{animation-delay:2s;right:0;top:35%}.card-3{animation-delay:4s;bottom:0;left:25%}.card-icon{color:#10b981;height:2rem;width:2rem}.card span:first-of-type{color:#1f2937;font-weight:600}.points{font-size:1.1rem}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.container{margin:0 auto;max-width:1200px;padding:0 2rem}.section-title{color:#1f2937;font-size:2.5rem;font-weight:700;margin-bottom:3rem;text-align:center}.how-it-works{background:#f8fafc;padding:6rem 0}.steps{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.step{flex-direction:column;padding:2rem;text-align:center}.step,.step-number{align-items:center;display:flex}.step-number{background:linear-gradient(45deg,#10b981,#059669);border-radius:50%;color:#fff;font-size:1.5rem;font-weight:700;height:4rem;justify-content:center;margin-bottom:1.5rem;width:4rem}.step-content h3{color:#1f2937;font-size:1.5rem;font-weight:600;margin-bottom:1rem}.step-content p{color:#6b7280;line-height:1.6}.features{background:#fff;padding:6rem 0}.features-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.feature{border-radius:1rem;padding:2rem;text-align:center;transition:transform .3s ease}.feature:hover{transform:translateY(-5px)}.feature-icon{align-items:center;background:linear-gradient(45deg,#10b981,#059669);border-radius:1rem;color:#fff;display:flex;height:4rem;justify-content:center;margin:0 auto 1.5rem;width:4rem}.feature h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin-bottom:1rem}.feature p{color:#6b7280;line-height:1.6}.testimonials{background:#f8fafc;padding:6rem 0}.testimonials-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.testimonial{background:#fff;border-radius:1rem;box-shadow:0 4px 6px #0000000d;padding:2rem}.testimonial-content{margin-bottom:1.5rem}.stars{color:#f59e0b;display:flex;gap:.25rem;margin-bottom:1rem}.stars svg{height:1.25rem;width:1.25rem}.testimonial-content p{color:#374151;font-style:italic;line-height:1.6}.testimonial-author strong{color:#1f2937;font-weight:600}.testimonial-author span{color:#6b7280;font-size:.875rem}.cta{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:6rem 0}.cta-content{text-align:center}.cta h2{font-size:2.5rem;font-weight:700;margin-bottom:1rem}.cta p{font-size:1.25rem;margin-bottom:2rem;opacity:.9}.btn-cta{align-items:center;background:linear-gradient(45deg,#10b981,#059669);border-radius:50px;box-shadow:0 10px 30px #10b9814d;color:#fff;display:inline-flex;font-weight:600;gap:.5rem;padding:1rem 2rem;text-decoration:none;transition:all .3s ease}.btn-cta:hover{box-shadow:0 15px 40px #10b98166;transform:translateY(-2px)}.footer{background:#1f2937;color:#fff;padding:3rem 0}.footer-content{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:1fr 1fr}.footer-logo{align-items:center;display:flex;gap:.5rem;margin-bottom:1rem}.footer-logo-icon{color:#10b981;height:1.5rem;width:1.5rem}.footer-logo span{font-size:1.25rem;font-weight:700}.footer-brand p{color:#9ca3af;line-height:1.6}.footer-links{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(2,1fr)}.footer-section h4{font-weight:600;margin-bottom:1rem}.footer-section a{color:#9ca3af;display:block;margin-bottom:.5rem;text-decoration:none;transition:color .2s}.footer-section a:hover{color:#10b981}@media (max-width:768px){.nav-links{display:none}.dashboard-content{grid-template-columns:1fr}.main-content{padding:1rem}.form-row{grid-template-columns:1fr}.verification-item{flex-direction:column}.verification-actions{flex-direction:row}.hero-content{grid-template-columns:1fr;text-align:center}.hero-title{font-size:2.5rem}.hero-actions{align-items:center;flex-direction:column}.hero-stats{gap:1rem;grid-template-columns:1fr}.floating-cards{display:none}.features-grid,.footer-content,.steps,.testimonials-grid{grid-template-columns:1fr}.footer-content{text-align:center}}.notification-center{position:relative}.notification-trigger{align-items:center;background:none;border:none;border-radius:.5rem;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:.5rem;position:relative;transition:all .2s}.notification-trigger:hover{background-color:#f3f4f6;color:#374151}.notification-badge{align-items:center;background:#ef4444;color:#fff;display:flex;font-size:.75rem;font-weight:600;height:1.25rem;justify-content:center;top:0;width:1.25rem}.connection-indicator,.notification-badge{border:2px solid #fff;border-radius:50%;position:absolute;right:0}.connection-indicator{bottom:0;height:8px;width:8px}.connection-indicator.connected{background-color:#10b981}.connection-indicator.disconnected{background-color:#ef4444}.notification-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a;display:flex;flex-direction:column;margin-top:.5rem;max-height:600px;max-width:90vw;position:absolute;right:0;top:100%;width:400px;z-index:1000}.notification-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem}.notification-header h3{color:#1f2937;font-weight:600;margin:0}.notification-actions{align-items:center;display:flex;gap:.5rem}.clear-all-btn{background:none;border:none;border-radius:.375rem;color:#6b7280;cursor:pointer;font-size:.875rem;padding:.25rem .5rem;transition:color .2s}.clear-all-btn:hover{background-color:#f3f4f6;color:#374151}.close-btn{align-items:center;background:none;border:none;border-radius:.375rem;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:.25rem;transition:color .2s}.close-btn:hover{background-color:#f3f4f6;color:#374151}.notification-list{flex:1 1;max-height:400px;overflow-y:auto}.no-notifications{color:#6b7280;padding:3rem 2rem;text-align:center}.no-notifications svg{color:#d1d5db;margin-bottom:1rem}.notification-item{align-items:flex-start;border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;gap:.75rem;padding:1rem;position:relative;transition:background-color .2s}.notification-item:hover{background-color:#f9fafb}.notification-item.unread{background-color:#f0f9ff;border-left:3px solid #3b82f6}.notification-item.unread:before{background-color:#3b82f6;border-radius:50%;content:"";height:8px;left:.5rem;position:absolute;top:1rem;width:8px}.notification-content{align-items:flex-start;display:flex;flex:1 1;gap:.75rem}.notification-icon-wrapper{align-items:center;border-radius:.5rem;display:flex;flex-shrink:0;height:2.5rem;justify-content:center;width:2.5rem}.notification-icon{height:1.25rem;width:1.25rem}.notification-icon.new-action{color:#3b82f6}.notification-icon.verified{color:#10b981}.notification-icon.processed{color:#8b5cf6}.notification-icon.default{color:#6b7280}.notification-text{flex:1 1}.notification-text h4{color:#1f2937;font-size:.875rem;font-weight:600;margin:0 0 .25rem}.notification-text p{color:#6b7280;font-size:.875rem;line-height:1.4;margin:0 0 .5rem}.notification-text small{color:#9ca3af;font-size:.75rem}.notification-close{background:none;border:none;border-radius:.375rem;color:#9ca3af;cursor:pointer;opacity:0;padding:.25rem;transform:translateX(10px);transition:all .2s}.notification-item:hover .notification-close{opacity:1;transform:translateX(0)}.notification-close:hover{background-color:#f3f4f6;color:#6b7280}.notification-footer{background-color:#f9fafb;border-radius:0 0 .75rem .75rem;border-top:1px solid #e5e7eb;padding:.75rem 1rem}.connection-status{align-items:center;color:#6b7280;display:flex;font-size:.75rem;gap:.5rem}.status-dot{border-radius:50%;height:8px;width:8px}.status-dot.connected{background-color:#10b981}.status-dot.disconnected{background-color:#ef4444}@media (max-width:768px){.notification-dropdown{right:-50px;width:350px}.notification-item{padding:.75rem}.notification-content{gap:.5rem}.notification-icon-wrapper{height:2rem;width:2rem}.notification-icon{height:1rem;width:1rem}}@media (max-width:480px){.notification-dropdown{right:-75px;width:300px}}.leaderboards-page{margin:0 auto;max-width:1400px}.leaderboard-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.my-ranking{margin-bottom:2rem}.my-ranking h2{color:#1f2937;margin-bottom:1rem}.rank-card{background:linear-gradient(135deg,#10b981,#059669);border-radius:1rem;color:#fff;justify-content:space-between;padding:1.5rem}.rank-card,.rank-position{align-items:center;display:flex}.rank-position{gap:1rem}.rank-icon{height:2rem;width:2rem}.rank-icon.gold{color:#fbbf24}.rank-icon.silver{color:#e5e7eb}.rank-icon.bronze{color:#d97706}.rank-number{color:#fff;font-size:1.5rem;font-weight:700}.rank-details{display:flex;flex-direction:column}.rank-text{font-size:1.25rem;font-weight:600}.percentile{font-size:.875rem;opacity:.9}.rank-score .score{font-size:1.5rem;font-weight:700}.leaderboards-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:2fr 1fr}.leaderboard-section{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;margin-bottom:2rem;overflow:hidden}.section-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem}.period-filters{display:flex;gap:.5rem}.category-select{border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;padding:.5rem}.leaderboard-list{padding:1rem}.leaderboard-item{align-items:center;border-radius:.75rem;display:flex;margin-bottom:.5rem;padding:1rem;transition:all .2s}.leaderboard-item:hover{background-color:#f9fafb}.leaderboard-item.rank-1{background:linear-gradient(135deg,#fef3c7,#fbbf24)}.leaderboard-item.rank-2{background:linear-gradient(135deg,#f3f4f6,#9ca3af)}.leaderboard-item.rank-3{background:linear-gradient(135deg,#fed7aa,#f97316)}.rank-display{display:flex;justify-content:center;margin-right:1rem;min-width:3rem}.user-info{flex:1 1}.user-info h4{font-weight:600;margin-bottom:.25rem}.user-info p{color:#6b7280;font-size:.875rem}.user-score{text-align:right}.points{color:#10b981;font-weight:700}.period-points{color:#6b7280;display:block;font-size:.75rem;margin-top:.25rem}.sidebar{display:flex;flex-direction:column;gap:1.5rem}.category-leaderboard,.trending-list{padding:1rem}.category-item,.trending-item{align-items:center;border-radius:.5rem;display:flex;gap:1rem;margin-bottom:.5rem;padding:.75rem;transition:background-color .2s}.category-item:hover,.trending-item:hover{background-color:#f9fafb}.category-rank,.trending-rank{color:#6b7280;font-weight:600;min-width:2rem}.category-user,.trending-user{flex:1 1}.category-user .name,.trending-user .name{color:#1f2937;display:block;font-weight:600}.category-user .points,.trending-user .activity{color:#6b7280;display:block;font-size:.875rem}.achievements-page{margin:0 auto;max-width:1200px}.achievement-overview{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:2fr 1fr;margin-bottom:2rem}.progress-card{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;padding:2rem}.progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.progress-header h2{color:#1f2937;margin:0}.progress-text{color:#6b7280;font-size:.875rem}.progress-bar{background-color:#e5e7eb;border-radius:.5rem;height:1rem;margin-bottom:.5rem;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(45deg,#10b981,#059669);height:100%;transition:width .3s ease}.progress-percentage{color:#10b981;font-weight:600;text-align:center}.quick-stats{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;display:flex;flex-direction:column;gap:1.5rem;padding:2rem}.stat-item{align-items:center;display:flex;gap:1rem}.stat-item .stat-icon{color:#10b981;height:2rem;width:2rem}.stat-item .stat-number{color:#1f2937;display:block;font-size:1.5rem;font-weight:700}.stat-item .stat-label{color:#6b7280;display:block;font-size:.875rem}.achievement-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.recent-achievements{margin-bottom:2rem}.recent-achievements h2{color:#1f2937;margin-bottom:1rem}.recent-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.recent-achievement{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:1rem;display:flex;gap:1rem;padding:1.5rem}.recent-achievement .achievement-icon{font-size:2rem}.achievements-content{margin-bottom:2rem}.achievement-section h2{color:#1f2937;margin-bottom:1.5rem}.achievements-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:2rem}.achievement-card{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;padding:1.5rem;text-align:center;transition:all .3s ease}.achievement-card:hover{box-shadow:0 10px 25px -5px #0000001a;transform:translateY(-2px)}.achievement-card.earned{background:linear-gradient(135deg,#ecfdf5,#fff);border-color:#10b981}.achievement-card.available{opacity:.7}.achievement-header{margin-bottom:1rem;position:relative}.achievement-icon.large{display:block;font-size:3rem;margin-bottom:.5rem}.achievement-category{font-size:1rem;opacity:.6;position:absolute;right:0;top:0}.achievement-content h3{color:#1f2937;font-weight:600;margin-bottom:.5rem}.achievement-content p{color:#6b7280;font-size:.875rem;line-height:1.4}.achievement-footer{align-items:center;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-top:1rem;padding-top:1rem}.earned-badge{color:#10b981}.earned-badge,.locked-badge{align-items:center;display:flex;font-size:.875rem;font-weight:600;gap:.25rem}.locked-badge{color:#9ca3af}.achievement-footer small{align-items:center;color:#6b7280;display:flex;font-size:.75rem;gap:.25rem}.achievement-stats{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;padding:2rem}.achievement-stats h2{color:#1f2937;margin-bottom:1.5rem}.stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.stats-grid .stat-card{align-items:center;border:1px solid #e5e7eb;border-radius:.75rem;display:flex;gap:1rem;padding:1rem}.stats-grid .stat-icon{font-size:1.5rem}.stat-info h4{color:#1f2937;font-weight:600;margin-bottom:.25rem}.stat-info p{color:#6b7280;font-size:.875rem}.business-dashboard{margin:0 auto;max-width:1400px}.business-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.business-stats .stat-icon.rewards{background-color:#dbeafe;color:#1d4ed8}.business-stats .stat-icon.redemptions{background-color:#dcfce7;color:#16a34a}.business-stats .stat-icon.points{background-color:#fef3c7;color:#d97706}.business-stats .stat-icon.engagement{background-color:#fce7f3;color:#be185d}.stat-detail{color:#6b7280;display:block;font-size:.75rem;margin-top:.25rem}.business-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:2fr 1fr;margin-bottom:2rem}.business-section{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;overflow:hidden}.rewards-table{overflow-x:auto}.table-header{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;color:#374151;font-size:.875rem;font-weight:600}.table-header,.table-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr;padding:1rem 1.5rem}.table-row{align-items:center;border-bottom:1px solid #f3f4f6;transition:background-color .2s}.table-row:hover{background-color:#f9fafb}.reward-info h4{color:#1f2937;font-weight:600;margin-bottom:.25rem}.reward-info p{color:#6b7280;font-size:.875rem}.reward-cost{color:#10b981;font-weight:600}.reward-category{color:#6b7280;text-transform:capitalize}.redemption-count{color:#374151}.status{border-radius:1rem;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.status.active{background-color:#dcfce7;color:#166534}.status.expired{background-color:#fef2f2;color:#dc2626}.reward-actions{display:flex;gap:.5rem}.btn-icon{background:none;border:none;border-radius:.375rem;color:#6b7280;cursor:pointer;padding:.5rem;transition:all .2s}.btn-icon:hover{background-color:#f3f4f6;color:#374151}.btn-icon.danger:hover{background-color:#fef2f2;color:#dc2626}.redemptions-list{padding:1.5rem}.redemption-item{align-items:center;border:1px solid #e5e7eb;border-radius:.5rem;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem}.redemption-info h4{color:#1f2937;font-weight:600;margin-bottom:.25rem}.redemption-info p{color:#6b7280;font-size:.875rem}.redemption-meta{text-align:right}.redemption-meta .points{color:#10b981;display:block;font-weight:600}.redemption-meta .date{color:#6b7280;display:block;font-size:.875rem;margin-top:.25rem}.analytics-section{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;padding:2rem}.analytics-section h2{color:#1f2937;margin-bottom:1.5rem}.analytics-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.analytics-card{border:1px solid #e5e7eb;border-radius:.75rem;padding:1.5rem}.analytics-card h3{align-items:center;color:#1f2937;display:flex;gap:.5rem;margin-bottom:1rem}.category-stats,.demographics-stats{display:flex;flex-direction:column;gap:.75rem}.category-stat,.tier-stat{align-items:center;background-color:#f9fafb;border-radius:.5rem;display:flex;justify-content:space-between;padding:.75rem}.category-name,.tier-name{color:#1f2937;font-weight:600}.category-points,.category-redemptions,.tier-redemptions,.tier-users{color:#6b7280;font-size:.875rem}.install-prompt{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:1rem;bottom:1rem;box-shadow:0 10px 25px -5px #0000001a;display:flex;gap:1rem;left:1rem;padding:1rem;position:fixed;right:1rem;z-index:1000}.install-prompt .install-icon{color:#10b981;flex-shrink:0}.install-content{flex:1 1}.install-content h4{color:#1f2937;font-weight:600;margin-bottom:.25rem}.install-content p{color:#6b7280;font-size:.875rem}.install-actions{display:flex;gap:.5rem}.install-actions button{border-radius:.5rem;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.install-btn{background-color:#10b981;border:none;color:#fff}.install-btn:hover{background-color:#059669}.dismiss-btn{background-color:#f3f4f6;border:1px solid #d1d5db;color:#374151}.dismiss-btn:hover{background-color:#e5e7eb}@media (max-width:1024px){.achievement-overview,.business-content,.leaderboards-content{grid-template-columns:1fr}.table-header,.table-row{grid-template-columns:2fr 1fr 1fr}.table-header span:nth-child(4),.table-header span:nth-child(5),.table-row>:nth-child(4),.table-row>:nth-child(5){display:none}}@media (max-width:768px){.nav-links{display:none}.achievements-grid,.analytics-grid,.hero-content{grid-template-columns:1fr}.install-prompt{flex-direction:column;text-align:center}.install-actions{justify-content:center;width:100%}}
/*# sourceMappingURL=main.30594ebb.css.map*/