@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root{--primary:#6366f1;--primary-light:#818cf8;--primary-dark:#4f46e5;--primary-glow:#6366f166;--success:#22c55e;--success-light:#4ade80;--error:#ef4444;--error-light:#f87171;--warning:#f59e0b;--warning-light:#fbbf24;--bg-primary:#0a0a1a;--bg-secondary:#111127;--bg-card:#111127b3;--bg-card-hover:#191937cc;--bg-glass:#ffffff08;--bg-glass-hover:#ffffff0f;--bg-input:#ffffff0d;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--border-color:#ffffff14;--border-color-hover:#ffffff26;--border-glow:#6366f14d;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 20px #0006;--shadow-lg:0 8px 40px #00000080;--shadow-glow:0 0 30px #6366f126;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(at 20% 20%,#6366f114 0%,#0000 50%),radial-gradient(at 80% 80%,#8b5cf60f 0%,#0000 50%),radial-gradient(#3b82f60a 0%,#0000 60%);width:100%;height:100%;position:fixed;top:0;left:0}#app{z-index:1;position:relative}a{color:var(--primary-light);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--primary)}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:all var(--transition-normal)}.glass-card:hover{border-color:var(--border-color-hover);box-shadow:var(--shadow-lg)}.glass-card-glow{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-glow);border-radius:var(--radius-lg);box-shadow:var(--shadow-glow)}.input{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-mono);transition:all var(--transition-normal);outline:none;padding:14px 18px;font-size:1rem}.input::placeholder{color:var(--text-muted)}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);background:#ffffff12}.input-lg{border-radius:var(--radius-lg);padding:18px 24px;font-size:1.15rem}.btn{border-radius:var(--radius-md);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-normal);border:none;outline:none;justify-content:center;align-items:center;gap:8px;padding:12px 28px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:#fff;box-shadow:0 4px 15px var(--primary-glow)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg, var(--primary-light), var(--primary));box-shadow:0 6px 25px var(--primary-glow);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-danger{background:linear-gradient(135deg, var(--error), #dc2626);color:#fff;box-shadow:0 4px 15px #ef44444d}.btn-danger:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 25px #ef444466}.btn-ghost{background:var(--bg-glass);color:var(--text-secondary);border:1px solid var(--border-color)}.btn-ghost:hover:not(:disabled){background:var(--bg-glass-hover);color:var(--text-primary);border-color:var(--border-color-hover)}.btn-sm{padding:8px 16px;font-size:.85rem}.btn-lg{border-radius:var(--radius-lg);padding:16px 36px;font-size:1.1rem}.table-wrapper{border-radius:var(--radius-md);border:1px solid var(--border-color);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.9rem}.table th{text-align:left;color:var(--text-secondary);border-bottom:1px solid var(--border-color);white-space:nowrap;background:#ffffff08;padding:14px 16px;font-weight:600}.table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);vertical-align:middle;padding:12px 16px}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--bg-glass-hover)}.badge{text-transform:uppercase;letter-spacing:.03em;border-radius:20px;align-items:center;gap:4px;padding:4px 12px;font-size:.78rem;font-weight:600;display:inline-flex}.badge-active{color:var(--success-light);background:#22c55e26;border:1px solid #22c55e33}.badge-cancelled{color:var(--error-light);background:#ef444426;border:1px solid #ef444433}.badge-expired{color:var(--warning-light);background:#f59e0b26;border:1px solid #f59e0b33}.stat-card{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:all var(--transition-normal);padding:24px}.stat-card:hover{border-color:var(--border-color-hover);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.stat-card .stat-value{background:linear-gradient(135deg, var(--primary-light), #a78bfa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:800;line-height:1.2}.stat-card .stat-label{color:var(--text-muted);margin-top:4px;font-size:.85rem}.pagination{justify-content:center;align-items:center;gap:8px;margin-top:24px;display:flex}.pagination .page-btn{background:var(--bg-glass);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);padding:8px 14px;font-size:.85rem}.pagination .page-btn:hover{background:var(--bg-glass-hover);color:var(--text-primary)}.pagination .page-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.pagination .page-btn:disabled{opacity:.3;cursor:not-allowed}.toast-container{z-index:10000;flex-direction:column;gap:8px;display:flex;position:fixed;top:24px;right:24px}.toast{border-radius:var(--radius-md);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);max-width:380px;padding:14px 20px;font-size:.9rem;font-weight:500;animation:.3s forwards toast-in}.toast-success{color:var(--success-light);background:#22c55e26;border:1px solid #22c55e4d}.toast-error{color:var(--error-light);background:#ef444426;border:1px solid #ef44444d}.toast-info{color:var(--primary-light);background:#6366f126;border:1px solid #6366f14d}.toast-out{animation:.3s forwards toast-out}@keyframes toast-in{0%{opacity:0;transform:translate(80px)}to{opacity:1;transform:translate(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(80px)}}@keyframes fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px var(--primary-glow)}50%{box-shadow:0 0 40px var(--primary-glow)}}@keyframes spin{to{transform:rotate(360deg)}}.fade-in{animation:.5s forwards fade-in}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}.text-center{text-align:center}.text-right{text-align:right}.text-mono{font-family:var(--font-mono)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-success{color:var(--success-light)}.text-error{color:var(--error-light)}.text-warning{color:var(--warning-light)}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.gap-8{gap:8px}.gap-16{gap:16px}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}@media (width<=768px){.hide-mobile{display:none!important}.table{font-size:.82rem}.table th,.table td{padding:10px 12px}.stat-card .stat-value{font-size:1.5rem}}
