:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;color:#1e293b;background-color:#f8fafc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{background-color:#f8fafc}body{margin:0;min-width:320px;min-height:100vh;background-color:#f8fafc;color:#1e293b}#root{min-height:100vh;width:100vw;background-color:#f8fafc}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f8fafc;min-height:100vh;margin:0;padding:0}.app{display:flex;min-height:100vh;background:#f8fafc;width:100vw;overflow-x:hidden}.main-content{flex:1;padding:24px;background:#f8fafc;overflow-y:auto;margin-left:280px;transition:margin-left .3s ease;min-height:100vh;width:calc(100vw - 280px)}@media (min-width: 1200px){.mobile-menu-toggle{display:none!important}.sidebar{transform:translate(0)}.main-content{margin-left:280px;width:calc(100vw - 280px)}}@media (max-width: 1199px){.mobile-menu-toggle{display:flex!important}.sidebar{transform:translate(-100%)!important;z-index:2000}.sidebar.mobile-open{transform:translate(0)!important}.main-content{margin-left:0;width:100vw}.dashboard h1,.users-page h1,.coupons-page h1,.transactions-page h1,.quick-user-actions h1{margin-left:60px;margin-top:0;margin-bottom:32px}.table-container{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.data-table{min-width:1000px}}@media (max-width: 768px){.main-content{padding:16px}.data-table th,.data-table td{padding:16px 12px;font-size:14px}}.loading{display:flex;justify-content:center;align-items:center;height:60vh;font-size:18px;color:#64748b}.error-message{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:16px;border-radius:12px;margin-bottom:24px;font-weight:500}.success-message{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;padding:16px;border-radius:12px;margin-bottom:24px;font-weight:500}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:24px;background:linear-gradient(135deg,#667eea,#764ba2)}.login-form{background:#fff;padding:48px 40px;border-radius:24px;box-shadow:0 25px 50px -12px #00000040;width:100%;max-width:420px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.login-form h1{text-align:center;margin-bottom:32px;color:#1e293b;font-size:28px;font-weight:700}.form-group{margin-bottom:24px}.form-group label{display:block;margin-bottom:8px;color:#374151;font-weight:600;font-size:14px}.form-group input,.form-group select{width:100%;padding:16px 20px;border:2px solid #e5e7eb;border-radius:16px;font-size:16px;transition:all .3s ease;background:#f9fafb;appearance:none;-webkit-appearance:none;-moz-appearance:none}.form-group select{background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 16px center;background-size:16px;padding-right:48px;cursor:pointer}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px #3b82f61a}.form-group select:hover{border-color:#d1d5db;background:#fff}.login-button{width:100%;padding:16px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:16px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 10px 25px -5px #3b82f64d}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 15px 35px -5px #3b82f666}.login-button:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.sidebar{position:fixed;top:0;left:0;width:280px;height:100vh;background:linear-gradient(180deg,#1e293b,#0f172a);color:#fff;padding:32px 0;z-index:1000;transform:translate(0);transition:transform .3s ease}.sidebar h2{text-align:center;margin-bottom:40px;font-size:24px;font-weight:700;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-nav{list-style:none;padding:0 24px;margin:0}.sidebar-nav li{margin-bottom:8px}.sidebar-nav a{display:flex;align-items:center;padding:16px 20px;color:#cbd5e1;text-decoration:none;border-radius:16px;transition:all .3s ease;font-weight:500}.sidebar-nav a:hover,.sidebar-nav a.active{background:#3b82f633;color:#fff;transform:translate(4px)}.logout-button{position:absolute;bottom:32px;left:24px;right:24px;padding:16px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;border-radius:16px;cursor:pointer;font-weight:600;transition:all .3s ease}.logout-button:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px #ef444466}.tab-navigation{display:flex;gap:8px;margin-bottom:32px}.tab-button{padding:12px 24px;border:2px solid #e5e7eb;background:#fff;cursor:pointer;border-radius:16px;font-weight:600;transition:all .3s ease;color:#64748b}.tab-button:hover{background:#f3f4f6;border-color:#d1d5db;transform:translateY(-2px)}.tab-button.active{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border-color:#3b82f6;box-shadow:0 4px 15px -3px #3b82f64d}.tab-button.active:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px #3b82f666}.dashboard,.users-page,.coupons-page,.transactions-page{width:100%;max-width:none}.dashboard h1,.users-page h1,.coupons-page h1,.transactions-page h1,.quick-user-actions h1{margin-bottom:32px;color:#1e293b;font-size:32px;font-weight:700}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px}@media (min-width: 1200px){.stats-grid{grid-template-columns:repeat(6,1fr)}}@media (max-width: 768px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:16px}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr;gap:12px}}.stat-card{background:#fff;padding:24px 20px;border-radius:20px;box-shadow:0 10px 25px -5px #0000001a;border:1px solid #f1f5f9;transition:all .3s ease;text-align:center;min-height:120px;display:flex;flex-direction:column;justify-content:center}.stat-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -10px #00000026}.stat-card h3{margin:0 0 12px;color:#64748b;font-size:14px;text-transform:uppercase;font-weight:600;letter-spacing:.5px}.stat-card .value{font-size:28px;font-weight:700;color:#1e293b;line-height:1;margin-top:8px}@media (max-width: 768px){.stat-card .value{font-size:24px}}@media (max-width: 480px){.stat-card .value{font-size:20px}}.table-container{background:#fff;border-radius:20px;box-shadow:0 10px 25px -5px #0000001a;overflow-x:auto;overflow-y:hidden;border:1px solid #f1f5f9;margin-bottom:24px;-webkit-overflow-scrolling:touch}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:20px 24px;text-align:left;border-bottom:1px solid #f1f5f9}.data-table th{background:#f8fafc;font-weight:600;color:#475569;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.data-table tr:hover{background:#f8fafc}.data-table tr:last-child td{border-bottom:none}.btn{padding:12px 20px;border:none;border-radius:12px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 4px 15px -3px #3b82f64d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px #3b82f666}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 15px -3px #ef44444d}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px #ef444466}.btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 15px -3px #10b9814d}.btn-success:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px #10b98166}.btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 4px 15px -3px #f59e0b4d}.btn-warning:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px #f59e0b66}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover{background:#4b5563;transform:translateY(-2px)}.action-buttons{display:flex;gap:8px;flex-wrap:wrap}@media (max-width: 480px){.action-buttons{flex-direction:column}.btn{font-size:12px;padding:10px 16px}}.status-badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-verified{background:#dcfce7;color:#166534}.status-unverified{background:#fef2f2;color:#991b1b}.status-used{background:#dbeafe;color:#1e40af}.status-unused{background:#fef3c7;color:#92400e}.pagination{display:flex;justify-content:center;align-items:center;margin-top:32px;gap:12px;flex-wrap:wrap}.pagination button{padding:12px 20px;border:2px solid #e5e7eb;background:#fff;cursor:pointer;border-radius:12px;font-weight:600;transition:all .3s ease}.pagination button:hover:not(:disabled){background:#f3f4f6;border-color:#d1d5db;transform:translateY(-2px)}.pagination button:disabled{cursor:not-allowed;opacity:.5}.pagination .active{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border-color:#3b82f6}@keyframes modalFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}@keyframes modalFadeOut{0%{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}to{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modalSlideOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.8) translateY(20px)}}.modal{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:2000;padding:24px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:modalFadeIn .3s cubic-bezier(.34,1.56,.64,1)}.modal.closing{animation:modalFadeOut .25s cubic-bezier(.25,.46,.45,.94)}.modal-content{background:#fff;padding:40px;border-radius:24px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040;position:relative;animation:modalSlideIn .3s cubic-bezier(.34,1.56,.64,1)}.modal.closing .modal-content{animation:modalSlideOut .25s cubic-bezier(.25,.46,.45,.94)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.modal-header h2{margin:0;color:#1e293b;font-size:24px;font-weight:700}.close-button{background:none;border:none;font-size:28px;cursor:pointer;color:#9ca3af;padding:8px;border-radius:8px;transition:all .3s ease}.close-button:hover{color:#374151;background:#f3f4f6}.action-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;flex-wrap:wrap;gap:16px}.action-bar h2{margin:0;color:#1e293b;font-size:24px;font-weight:700}.action-buttons-group{display:flex;gap:12px;flex-wrap:wrap}.mobile-menu-toggle{display:none;position:fixed;top:20px;left:20px;z-index:2100;padding:12px;background:#fffffff2;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 15px -3px #0000001a;font-size:18px;color:#374151;transition:all .3s ease;width:48px;height:48px;align-items:center;justify-content:center}.mobile-menu-toggle:hover:not(.modal-open){background:#fff;border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 8px 25px -5px #00000026}.mobile-menu-toggle.modal-open{opacity:.3;pointer-events:none;filter:blur(2px)}.card{background:#fff;border-radius:20px;padding:32px;box-shadow:0 10px 25px -5px #0000001a;border:1px solid #f1f5f9;margin-bottom:24px}.card h3{margin:0 0 20px;color:#1e293b;font-size:20px;font-weight:600}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#cbd5e1,#94a3b8);border-radius:4px;transition:background .3s ease}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#94a3b8,#64748b)}::-webkit-scrollbar-corner{background:#f1f5f9}*{scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9}.grid{display:grid;gap:24px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}@media (max-width: 640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}
