@import url(https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap);:root{--bg-primary:#0a0f1a;--bg-secondary:#111827;--bg-card:#111827cc;--bg-card-hover:#1e293be6;--bg-elevated:#1e293b;--accent-primary:#10b981;--accent-primary-light:#34d399;--accent-primary-dark:#059669;--accent-secondary:#06b6d4;--accent-tertiary:#8b5cf6;--accent-warning:#f59e0b;--accent-danger:#ef4444;--gradient-primary:linear-gradient(135deg,#10b981,#06b6d4);--gradient-secondary:linear-gradient(135deg,#8b5cf6,#06b6d4);--gradient-danger:linear-gradient(135deg,#ef4444,#f97316);--gradient-dark:linear-gradient(180deg,#0a0f1a,#111827);--gradient-glow:radial-gradient(ellipse at 50% 0%,#10b98126 0%,#0000 60%);--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--text-accent:#10b981;--border-color:#94a3b81a;--border-accent:#10b9814d;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px -1px #0000004d,0 2px 4px -2px #0003;--shadow-lg:0 10px 15px -3px #0006,0 4px 6px -4px #0000004d;--shadow-xl:0 20px 25px -5px #00000080,0 8px 10px -6px #0006;--shadow-glow:0 0 40px #10b98126;--shadow-glow-accent:0 0 30px #10b9814d;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:250ms cubic-bezier(0.4,0,0.2,1);--transition-slow:350ms cubic-bezier(0.4,0,0.2,1);--transition-bounce:500ms cubic-bezier(0.34,1.56,0.64,1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a0f1a;background:var(--bg-primary);color:#f8fafc;color:var(--text-primary);font-family:Outfit,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;min-height:100vh}body:before{background:radial-gradient(ellipse at 50% 0,#10b98126 0,#0000 60%),radial-gradient(circle at 80% 80%,#8b5cf614 0,#0000 50%),linear-gradient(180deg,#0a0f1a,#111827);background:var(--gradient-glow),radial-gradient(circle at 80% 80%,#8b5cf614 0,#0000 50%),linear-gradient(180deg,var(--bg-primary) 0,var(--bg-secondary) 100%);bottom:0;content:"";left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:-1}::selection{background:#10b981;background:var(--accent-primary);color:#fff}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#111827;background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:#1e293b;background:var(--bg-elevated);border-radius:9999px;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#059669;background:var(--accent-primary-dark)}a{color:#10b981;color:var(--accent-primary);text-decoration:none;transition:color .15s cubic-bezier(.4,0,.2,1);transition:color var(--transition-fast)}a:hover{color:#34d399;color:var(--accent-primary-light)}code{background:#1e293b;background:var(--bg-elevated);border:1px solid #94a3b81a;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-sm);color:#06b6d4;color:var(--accent-secondary);font-family:JetBrains Mono,Fira Code,monospace;font-size:.9em;padding:2px 8px}h1,h2,h3,h4,h5,h6{color:#f8fafc;color:var(--text-primary);font-weight:600;line-height:1.3}h1{font-size:2.5rem;font-weight:700;letter-spacing:-.02em}h2{font-size:1.75rem;font-weight:600}h3{font-size:1.25rem}:focus-visible{outline:2px solid #10b981;outline:2px solid var(--accent-primary);outline-offset:2px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:0 0 20px #10b9814d}50%{box-shadow:0 0 40px #10b98180}}.animate-fade-in{animation:fadeIn .5s ease-out forwards}.animate-slide-in{animation:slideIn .4s ease-out forwards}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}.stagger-6{animation-delay:.6s}.navbar{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#0a0f1acc;border-bottom:1px solid var(--border-color);position:-webkit-sticky;position:sticky;top:0;transition:all var(--transition-base);z-index:100}.navbar.scrolled{background:#0a0f1af2;box-shadow:var(--shadow-lg)}.navbar-container{align-items:center;display:flex;height:72px;justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 24px}.navbar-brand{align-items:center;color:var(--text-primary);display:flex;font-size:1.5rem;font-weight:700;gap:10px;text-decoration:none;transition:all var(--transition-base)}.navbar-brand:before{align-items:center;background:var(--gradient-primary);border-radius:var(--radius-sm);content:"";display:flex;height:32px;justify-content:center;width:32px}.navbar-brand:hover{color:var(--accent-primary)}.navbar-menu{align-items:center;display:flex;gap:8px}.navbar-link{border-radius:var(--radius-md);color:var(--text-secondary);font-size:15px;font-weight:500;padding:10px 16px;position:relative;text-decoration:none;transition:all var(--transition-fast)}.navbar-link:after{background:var(--gradient-primary);border-radius:var(--radius-full);bottom:6px;content:"";height:2px;left:16px;position:absolute;right:16px;transform:scaleX(0);transition:transform var(--transition-base)}.navbar-link:hover{background:var(--bg-elevated);color:var(--text-primary)}.navbar-link.active{color:var(--accent-primary)}.navbar-link.active:after{transform:scaleX(1)}.navbar-user{align-items:center;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-full);display:flex;gap:12px;margin-left:8px;padding:6px 12px 6px 6px}.navbar-user img{border:2px solid var(--accent-primary);border-radius:50%;height:32px;object-fit:cover;width:32px}.navbar-user span{color:var(--text-primary);font-size:14px;font-weight:500;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar-logout{background:#0000;border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:500;margin-left:8px;padding:8px 16px;transition:all var(--transition-fast)}.navbar-logout:hover{background:#ef44441a;border-color:var(--accent-danger);color:var(--accent-danger)}.navbar-toggle{background:#0000;border:none;color:var(--text-primary);cursor:pointer;display:none;padding:8px}@media (max-width:900px){.navbar-toggle{display:block}.navbar-menu{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-direction:column;gap:12px;left:0;opacity:0;padding:20px;position:fixed;right:0;top:72px;transform:translateY(-100%);transition:all var(--transition-base);visibility:hidden}.navbar-menu.open{opacity:1;transform:translateY(0);visibility:visible}.navbar-link{text-align:center;width:100%}.navbar-user{justify-content:center;margin:12px 0}.navbar-logout{margin:0;width:100%}}.auth-container{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 72px);padding:40px 20px;position:relative}.auth-container:before{animation:float 6s ease-in-out infinite;background:radial-gradient(circle,#10b98126 0,#0000 70%);height:300px;left:10%;top:10%;width:300px}.auth-container:after,.auth-container:before{border-radius:50%;content:"";filter:blur(60px);position:absolute}.auth-container:after{animation:float 8s ease-in-out infinite reverse;background:radial-gradient(circle,#8b5cf61f 0,#0000 70%);bottom:10%;height:250px;right:10%;width:250px}.auth-card{animation:fadeIn .6s ease-out;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:440px;padding:48px;position:relative;width:100%;z-index:1}.auth-card:before{background:var(--gradient-primary);border-radius:var(--radius-xl) var(--radius-xl) 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.auth-logo{margin-bottom:32px;text-align:center}.auth-logo-icon{align-items:center;animation:glow 3s ease-in-out infinite;background:var(--gradient-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-glow-accent);display:inline-flex;height:64px;justify-content:center;margin-bottom:16px;width:64px}.auth-logo-icon svg{color:#fff;height:32px;width:32px}.auth-card h2{-webkit-text-fill-color:#0000;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;color:var(--text-primary);font-size:1.75rem;font-weight:700;margin-bottom:8px;text-align:center}.auth-subtitle{color:var(--text-secondary);font-size:15px;margin-bottom:32px;text-align:center}.auth-divider{align-items:center;color:var(--text-muted);display:flex;font-size:13px;gap:16px;letter-spacing:.1em;margin:24px 0;text-transform:uppercase}.auth-divider:after,.auth-divider:before{background:var(--border-color);content:"";flex:1 1;height:1px}.google-btn{align-items:center;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;display:flex;font-family:Outfit,sans-serif;font-size:16px;font-weight:500;gap:12px;justify-content:center;overflow:hidden;padding:16px 24px;position:relative;transition:all var(--transition-base);width:100%}.google-btn:before{background:linear-gradient(90deg,#0000,#ffffff0d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.google-btn:hover{background:var(--bg-card-hover);border-color:var(--accent-primary);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.google-btn:hover:before{left:100%}.google-btn:active{transform:scale(.98)}.google-btn:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.google-icon{height:24px;width:24px}.auth-info{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-top:32px;padding:20px;text-align:center}.auth-info-icon{align-items:center;background:#10b98126;border-radius:50%;display:inline-flex;height:40px;justify-content:center;margin-bottom:12px;width:40px}.auth-info-icon svg{color:var(--accent-primary);height:20px;width:20px}.auth-info strong{color:var(--text-primary);display:block;font-size:14px;margin-bottom:6px}.auth-info p{color:var(--text-muted);font-size:13px;margin:0}.auth-features{display:flex;gap:16px;justify-content:center;margin-top:16px}.auth-feature{align-items:center;color:var(--text-muted);display:flex;font-size:12px;gap:6px}.auth-feature svg{color:var(--accent-primary);height:14px;width:14px}@media (max-width:480px){.auth-card{padding:32px 24px}.auth-features{align-items:center;flex-direction:column;gap:8px}}.dashboard-welcome{animation:fadeIn .5s ease-out;margin-bottom:40px}.dashboard-welcome h1{font-size:2.5rem;font-weight:700;margin-bottom:8px}.dashboard-welcome h1 span{-webkit-text-fill-color:#0000;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text}.dashboard-welcome p{color:var(--text-secondary);font-size:16px}.quick-actions{display:flex;flex-wrap:wrap;gap:12px}.empty-state{padding:60px 20px;text-align:center}.empty-state-icon{align-items:center;background:var(--bg-elevated);border:2px dashed var(--border-color);border-radius:50%;display:inline-flex;height:80px;justify-content:center;margin-bottom:24px;width:80px}.empty-state-icon svg{color:var(--text-muted);height:36px;width:36px}.empty-state h3{color:var(--text-primary);font-size:1.25rem;margin-bottom:8px}.empty-state p{color:var(--text-muted);margin-bottom:24px;margin-left:auto;margin-right:auto;max-width:360px}.activity-item{align-items:center;border-bottom:1px solid var(--border-color);display:flex;gap:16px;padding:16px 0}.activity-item:last-child{border-bottom:none}.activity-icon{align-items:center;background:var(--bg-elevated);border-radius:50%;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.activity-icon svg{color:var(--accent-primary);height:20px;width:20px}.activity-content{flex:1 1;min-width:0}.activity-title{color:var(--text-primary);font-weight:500;margin-bottom:2px}.activity-time{color:var(--text-muted);font-size:13px}.activity-value{color:var(--accent-primary);font-size:14px;font-weight:600}.qr-table-wrapper{margin:-8px;overflow-x:auto;padding:8px}.qr-rank{align-items:center;background:var(--bg-elevated);border-radius:50%;color:var(--text-muted);display:flex;font-size:14px;font-weight:600;height:32px;justify-content:center;width:32px}.qr-rank.gold{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.qr-rank.silver{background:linear-gradient(135deg,#9ca3af,#6b7280);color:#fff}.qr-rank.bronze{background:linear-gradient(135deg,#d97706,#b45309);color:#fff}.chart-container{align-items:center;background:var(--bg-elevated);border:1px dashed var(--border-color);border-radius:var(--radius-md);color:var(--text-muted);display:flex;height:300px;justify-content:center}.dashboard-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(12,1fr);margin-bottom:24px}.dashboard-grid .card-full{grid-column:span 12}.dashboard-grid .card-half{grid-column:span 6}.dashboard-grid .card-third{grid-column:span 4}@media (max-width:1024px){.dashboard-grid .card-half,.dashboard-grid .card-third{grid-column:span 12}}.pulse-dot{background:var(--accent-primary);border-radius:50%;height:8px;position:relative;width:8px}.pulse-dot:before{animation:pulse-ring 1.5s ease-out infinite;border:2px solid var(--accent-primary);border-radius:50%;bottom:-4px;content:"";left:-4px;position:absolute;right:-4px;top:-4px}@keyframes pulse-ring{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}.trend{align-items:center;border-radius:var(--radius-sm);display:inline-flex;font-size:13px;font-weight:500;gap:4px;padding:4px 8px}.trend-up{background:#10b9811a;color:var(--accent-primary)}.trend-down{background:#ef44441a;color:var(--accent-danger)}.trend svg{height:14px;width:14px}.App{min-height:100vh;position:relative}.container{margin:0 auto;max-width:1400px;padding:40px 24px}.card{animation:fadeIn .5s ease-out forwards;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);margin-bottom:24px;opacity:0;padding:28px;transition:all var(--transition-base)}.card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-xl),var(--shadow-glow);transform:translateY(-2px)}.card h2{align-items:center;color:var(--text-primary);display:flex;gap:12px;margin-bottom:20px}.card h2:before{background:var(--gradient-primary);border-radius:var(--radius-full);content:"";height:24px;width:4px}.btn{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:Outfit,sans-serif;font-size:15px;font-weight:500;gap:8px;justify-content:center;overflow:hidden;padding:12px 24px;position:relative;text-decoration:none;transition:all var(--transition-base)}.btn:before{background:linear-gradient(90deg,#0000,#ffffff1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.btn:hover:before{left:100%}.btn:active{transform:scale(.98)}.btn-primary{background:var(--gradient-primary);box-shadow:0 4px 15px #10b9814d;color:#fff}.btn-primary:hover{box-shadow:0 6px 25px #10b98166;transform:translateY(-2px)}.btn-secondary{background:var(--bg-elevated);border:1px solid var(--border-color);color:var(--text-primary)}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--border-accent);color:var(--accent-primary)}.btn-danger{background:var(--gradient-danger);box-shadow:0 4px 15px #ef44444d;color:#fff}.btn-danger:hover{box-shadow:0 6px 25px #ef444466;transform:translateY(-2px)}.btn-success{background:var(--accent-primary);box-shadow:0 4px 15px #10b9814d;color:#fff}.btn-success:hover{background:var(--accent-primary-light);box-shadow:0 6px 25px #10b98166;transform:translateY(-2px)}.btn-ghost{background:#0000;border:1px solid #0000;color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-elevated);color:var(--accent-primary)}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none!important}.form-group{margin-bottom:24px}.form-group label{color:var(--text-secondary);display:block;font-size:14px;font-weight:500;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}.form-group input,.form-group select,.form-group textarea{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:Outfit,sans-serif;font-size:16px;padding:14px 16px;transition:all var(--transition-base);width:100%}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #10b98126,var(--shadow-glow);outline:none}.form-group textarea{min-height:120px;resize:vertical}.form-group select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m19 9-7 7-7-7'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:20px;cursor:pointer;padding-right:44px}.error{background:#ef44441a;border:1px solid #ef44444d;border-radius:var(--radius-md);color:#fca5a5}.error,.success{animation:fadeIn .3s ease-out;font-size:14px;margin-bottom:16px;padding:12px 16px}.success{background:#10b9811a;border:1px solid #10b9814d;border-radius:var(--radius-md);color:var(--accent-primary-light)}.table{border-collapse:initial;border-spacing:0;margin-top:16px;width:100%}.table td,.table th{border-bottom:1px solid var(--border-color);padding:16px 20px;text-align:left}.table th{background:var(--bg-elevated);color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.table th:first-child{border-radius:var(--radius-md) 0 0 0}.table th:last-child{border-radius:0 var(--radius-md) 0 0}.table tbody tr{transition:all var(--transition-fast)}.table tbody tr:hover{background:var(--bg-card-hover)}.table tbody tr:last-child td{border-bottom:none}.table code{background:var(--bg-primary);border-radius:var(--radius-sm);font-size:13px;padding:4px 10px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:32px}.stat-card{animation:fadeIn .5s ease-out forwards;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);opacity:0;overflow:hidden;padding:24px;position:relative;transition:all var(--transition-base)}.stat-card:before{background:var(--gradient-primary);content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity var(--transition-base)}.stat-card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-lg),var(--shadow-glow);transform:translateY(-4px)}.stat-card:hover:before{opacity:1}.stat-card h3{color:var(--text-muted);font-size:13px;font-weight:500;letter-spacing:.1em;margin-bottom:12px;text-transform:uppercase}.stat-card .value{-webkit-text-fill-color:#0000;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;font-size:36px;font-weight:700;line-height:1.1}.loading{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:16px;justify-content:center;padding:80px 20px}.loading:before{animation:spin 1s linear infinite;border:3px solid var(--bg-elevated);border-radius:50%;border-top-color:var(--accent-primary);content:"";height:48px;width:48px}@keyframes spin{to{transform:rotate(1turn)}}.dashboard-header{align-items:center;animation:fadeIn .5s ease-out;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:32px}.dashboard-header h1{-webkit-text-fill-color:#0000;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;font-size:2.25rem;font-weight:700}@media (max-width:768px){.container{padding:20px 16px}.dashboard-header{align-items:flex-start;flex-direction:column}.dashboard-header h1{font-size:1.75rem}.stats-grid{gap:12px;grid-template-columns:1fr 1fr}.stat-card{padding:16px}.stat-card .value{font-size:28px}.card{padding:20px}.table{display:block;overflow-x:auto}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}}
/*# sourceMappingURL=main.0a7f482c.css.map*/