@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{--font-sans: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--bg-main: #0b0c10;--bg-card: #151821;--bg-card-hover: #1b1e2a;--bg-input: #1f2330;--text-main: #f3f4f6;--text-sub: #9ca3af;--text-muted: #6b7280;--accent: #6366f1;--accent-light: #818cf8;--accent-glow: rgba(99, 102, 241, .15);--gold: #f59e0b;--gold-glow: rgba(245, 158, 11, .1);--success: #10b981;--success-glow: rgba(16, 185, 129, .1);--error: #f43f5e;--error-glow: rgba(244, 63, 94, .1);--border: #232838;--border-focus: #6366f1;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .4);--shadow-md: 0 8px 24px rgba(0, 0, 0, .5);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .6);--transition: all .25s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-main);color:var(--text-main);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}input,select,textarea,button{font-family:inherit;font-size:1rem}a{color:var(--accent-light);text-decoration:none;transition:var(--transition)}a:hover{color:var(--accent)}.glass{background:#151821b3;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border)}.glow-box-accent{box-shadow:0 0 25px var(--accent-glow)}.glow-box-gold{box-shadow:0 0 25px var(--gold-glow)}@keyframes pulseGlow{0%,to{box-shadow:0 0 15px #f59e0b26}50%{box-shadow:0 0 30px #f59e0b66}}@keyframes slideIn{0%{transform:translateY(15px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}.animate-pulse-glow{animation:pulseGlow 2s infinite ease-in-out}.animate-slide-in{animation:slideIn .35s cubic-bezier(.16,1,.3,1) forwards}.spinner{width:24px;height:24px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.dashboard-container{display:flex;min-height:100vh;background-color:var(--bg-main)}.sidebar{width:280px;background:var(--bg-card);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:2rem 1.5rem}.main-content{flex:1;padding:2.5rem;overflow-y:auto;max-width:1200px;margin:0 auto;width:100%}.logo-container{display:flex;align-items:center;gap:.75rem;margin-bottom:2.5rem}.logo-text{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#fff 0%,var(--accent-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.nav-links{display:flex;flex-direction:column;gap:.5rem;list-style:none}.nav-item button{width:100%;display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:none;border:none;color:var(--text-sub);border-radius:var(--radius-md);cursor:pointer;font-weight:500;text-align:left;transition:var(--transition)}.nav-item button:hover{color:var(--text-main);background:#ffffff08}.nav-item.active button{color:var(--text-main);background:var(--accent);box-shadow:0 4px 12px var(--accent-glow)}.user-profile-section{margin-top:auto;padding-top:1.5rem;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.auth-wrapper{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1.5rem;background:radial-gradient(circle at top right,rgba(99,102,241,.1),transparent 40%),var(--bg-main)}.auth-card{width:100%;max-width:450px;padding:2.5rem;border-radius:var(--radius-lg)}.auth-tabs{display:flex;border-bottom:2px solid var(--border);margin-bottom:2rem}.auth-tab{flex:1;padding:.75rem;background:none;border:none;color:var(--text-sub);font-weight:600;cursor:pointer;text-align:center;transition:var(--transition)}.auth-tab.active{color:var(--accent-light);border-bottom:2px solid var(--accent);margin-bottom:-2px}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;margin-bottom:2rem}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2.5rem}.card{border-radius:var(--radius-lg);padding:1.75rem;background:var(--bg-card);border:1px solid var(--border);transition:var(--transition)}.card:hover{border-color:#6366f14d;transform:translateY(-2px)}.form-group{margin-bottom:1.25rem;display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;font-weight:500;color:var(--text-sub)}.input-control{width:100%;padding:.875rem 1.25rem;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-main);outline:none;transition:var(--transition)}.input-control:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-glow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;font-weight:600;border-radius:var(--radius-md);cursor:pointer;border:none;transition:var(--transition);width:100%}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-light);box-shadow:0 4px 15px var(--accent-glow)}.btn-secondary{background:transparent;color:var(--text-main);border:1px solid var(--border)}.btn-secondary:hover{background:#ffffff08}.btn-danger{background:var(--error);color:#fff}.btn-danger:hover{background:#ff5a79}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#14d496}.template-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:1rem}.template-btn{padding:1rem;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-main);cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:.25rem;transition:var(--transition)}.template-btn:hover{border-color:var(--accent-light);background:#6366f10d}.template-btn-points{font-size:1.25rem;font-weight:700;color:var(--gold)}.scanner-container{border:2px dashed var(--border);border-radius:var(--radius-lg);overflow:hidden;position:relative;background:#000;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center}#reader{width:100%!important;height:100%!important;border:none!important}#reader video{width:100%!important;height:100%!important;object-fit:cover;border-radius:var(--radius-lg)}#reader__scan_region{background:transparent!important}.campaign-banner{background:linear-gradient(90deg,#f59e0b26,#f59e0b05);border:1px solid rgba(245,158,11,.3);padding:1.25rem 1.75rem;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.stat-card{display:flex;align-items:center;gap:1.25rem}.stat-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:var(--accent-glow);color:var(--accent-light)}.stat-val{font-size:1.75rem;font-weight:700}.table-container{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-card)}.custom-table{width:100%;border-collapse:collapse;text-align:left}.custom-table th{background:#ffffff05;padding:1rem 1.5rem;font-weight:600;color:var(--text-sub);border-bottom:1px solid var(--border)}.custom-table td{padding:1rem 1.5rem;border-bottom:1px solid var(--border);color:var(--text-main);font-size:.925rem}.custom-table tr:last-child td{border-bottom:none}.badge{display:inline-flex;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.badge-earn{background:var(--success-glow);color:var(--success);border:1px solid rgba(16,185,129,.2)}.badge-spend{background:var(--error-glow);color:var(--error);border:1px solid rgba(244,63,94,.2)}.rewards-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-top:1.5rem}.reward-card{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.25rem;display:flex;flex-direction:column;justify-content:space-between;gap:1rem;transition:var(--transition)}.reward-card:hover{border-color:var(--accent-light)}@media (max-width: 900px){.dashboard-container{flex-direction:column}.sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border)}}
