:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-heading: "Outfit", var(--font-sans);--font-mono: "JetBrains Mono", "Courier New", monospace;--primary-50: #EEF2FF;--primary-100: #E0E7FF;--primary-200: #C7D2FE;--primary-300: #A5B4FC;--primary-400: #818CF8;--primary-500: #6366F1;--primary-600: #4F46E5;--primary-700: #4338CA;--primary-800: #3730A3;--primary-900: #312E81;--success-bg: #ECFDF5;--success-text: #065F46;--success-border: #A7F3D0;--success-accent: #10B981;--success-gradient: linear-gradient(135deg, #10B981, #059669);--danger-bg: #FEF2F2;--danger-text: #991B1B;--danger-border: #FECACA;--danger-accent: #EF4444;--danger-gradient: linear-gradient(135deg, #EF4444, #DC2626);--warning-bg: #FFFBEB;--warning-text: #92400E;--warning-border: #FDE68A;--warning-accent: #F59E0B;--warning-gradient: linear-gradient(135deg, #F59E0B, #D97706);--info-bg: #EFF6FF;--info-text: #1E40AF;--info-border: #BFDBFE;--info-accent: #3B82F6;--info-gradient: linear-gradient(135deg, #3B82F6, #2563EB);--bg-app: #F8FAFC;--bg-surface: #FFFFFF;--bg-surface-hover: #F1F5F9;--bg-card: #FFFFFF;--bg-sidebar: #FFFFFF;--bg-modal: #FFFFFF;--bg-input: #FFFFFF;--bg-table-header: #F8FAFC;--bg-table-stripe: #F8FAFC;--glass-bg: rgba(255, 255, 255, .85);--glass-border: rgba(226, 232, 240, .8);--border-color: #E2E8F0;--border-color-light: #F1F5F9;--border-color-focus: #6366F1;--text-main: #0F172A;--text-primary: #0F172A;--text-muted: #64748B;--text-subtle: #94A3B8;--text-inverse: #FFFFFF;--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .05), 0 1px 2px -1px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .06), 0 2px 4px -2px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .04);--shadow-glow: 0 0 20px rgba(99, 102, 241, .2);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 22px;--radius-full: 9999px;--sidebar-width: 260px;--navbar-height: 70px;--transition: all .2s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--bg-app: #080C14;--bg-surface: #0F172A;--bg-surface-hover: #1E293B;--bg-card: #0F172A;--bg-sidebar: #090E1A;--bg-modal: #111B2F;--bg-input: #090E1A;--bg-table-header: #090E1A;--bg-table-stripe: #111B2F;--glass-bg: rgba(15, 23, 42, .85);--glass-border: rgba(30, 41, 59, .8);--border-color: #1E293B;--border-color-light: #1E293B;--border-color-focus: #818CF8;--text-main: #F8FAFC;--text-primary: #F8FAFC;--text-muted: #94A3B8;--text-subtle: #64748B;--text-inverse: #0F172A;--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .6);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .7);--shadow-glow: 0 0 25px rgba(99, 102, 241, .35);--success-bg: rgba(16, 185, 129, .15);--success-text: #34D399;--success-border: rgba(16, 185, 129, .3);--danger-bg: rgba(239, 68, 68, .15);--danger-text: #F87171;--danger-border: rgba(239, 68, 68, .3);--warning-bg: rgba(245, 158, 11, .15);--warning-text: #FBBF24;--warning-border: rgba(245, 158, 11, .3);--info-bg: rgba(59, 130, 246, .15);--info-text: #60A5FA;--info-border: rgba(59, 130, 246, .3)}*{box-sizing:border-box;margin:0;padding:0;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}body{font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-main);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;color:var(--text-main);letter-spacing:-.02em}code,pre,.font-mono{font-family:var(--font-mono)}button{font-family:var(--font-sans);cursor:pointer;border:none;outline:none;transition:var(--transition)}button:active{transform:scale(.98)}input,select,textarea{font-family:var(--font-sans);color:var(--text-main);background-color:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:10px 14px;font-size:14px;outline:none;transition:var(--transition)}input:focus,select:focus,textarea:focus{border-color:var(--border-color-focus);box-shadow:0 0 0 3px #6366f126}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-subtle)}.app-layout{display:flex;min-height:100vh;background-color:var(--bg-app)}.sidebar{width:var(--sidebar-width);background-color:var(--bg-sidebar);border-right:1px solid var(--border-color);display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:0;z-index:40;transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm)}.sidebar-header{height:var(--navbar-height);padding:0 20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border-color)}.logo-badge{width:40px;height:40px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--primary-600),var(--primary-800));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-family:var(--font-heading);box-shadow:0 4px 14px #4f46e559}.sidebar-link{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--radius-md);color:var(--text-muted);text-decoration:none;font-size:13.5px;font-weight:600;transition:var(--transition)}.sidebar-link:hover{background-color:var(--bg-surface-hover);color:var(--text-primary);transform:translate(3px)}.sidebar-link.active{background-color:var(--primary-50);color:var(--primary-600);font-weight:700}[data-theme=dark] .sidebar-link.active{background-color:#6366f133;color:var(--primary-300);border:1px solid rgba(99,102,241,.3)}.main-wrapper{margin-left:var(--sidebar-width);flex:1;display:flex;flex-direction:column;min-width:0}.navbar{height:var(--navbar-height);background-color:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);padding:0 28px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:30;box-shadow:var(--shadow-sm)}.card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow-sm);transition:var(--transition)}.card:hover{box-shadow:var(--shadow-md)}.card-interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--primary-300)}.stat-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px 22px;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:16px;transition:var(--transition);position:relative;overflow:hidden}.stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:#6366f14d}.stat-card:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--primary-500),transparent);opacity:0;transition:opacity .3s ease}.stat-card:hover:after{opacity:1}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:var(--radius-full);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.badge-success{background-color:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.badge-danger{background-color:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-border)}.badge-warning{background-color:var(--warning-bg);color:var(--warning-text);border:1px solid var(--warning-border)}.badge-info{background-color:var(--info-bg);color:var(--info-text);border:1px solid var(--info-border)}.badge-primary{background-color:var(--primary-50);color:var(--primary-700);border:1px solid var(--primary-200)}[data-theme=dark] .badge-primary{background-color:#6366f133;color:var(--primary-300);border-color:#6366f166}.badge-neutral{background-color:var(--bg-surface-hover);color:var(--text-muted);border:1px solid var(--border-color)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border-radius:var(--radius-md);font-size:13.5px;font-weight:600;transition:var(--transition);white-space:nowrap}.btn:active{transform:scale(.97)}.btn-sm{padding:6px 12px;font-size:12px;border-radius:var(--radius-sm)}.btn-primary{background:linear-gradient(135deg,var(--primary-600),var(--primary-700));color:#fff;box-shadow:0 2px 8px #4f46e54d}.btn-primary:hover{background:linear-gradient(135deg,var(--primary-500),var(--primary-600));box-shadow:0 4px 12px #4f46e566;transform:translateY(-1px)}.btn-secondary{background-color:var(--bg-surface-hover);color:var(--text-main);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:var(--border-color);color:var(--text-primary)}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 8px #ef44444d}.btn-danger:hover{background:#dc2626;transform:translateY(-1px)}.btn-outline{background-color:transparent;color:var(--text-main);border:1px solid var(--border-color)}.btn-outline:hover{background-color:var(--bg-surface-hover);border-color:var(--text-subtle)}.btn-icon{width:36px;height:36px;padding:0;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center}.table-responsive{width:100%;overflow-x:auto}.table{width:100%;border-collapse:collapse;text-align:left;font-size:13.5px}.table th{background-color:var(--bg-table-header);color:var(--text-muted);font-weight:700;padding:13px 18px;border-bottom:1px solid var(--border-color);text-transform:uppercase;font-size:11px;letter-spacing:.6px;white-space:nowrap}.table td{padding:13px 18px;border-bottom:1px solid var(--border-color);color:var(--text-main);vertical-align:middle;transition:background-color .15s ease}.table tbody tr:hover{background-color:var(--bg-surface-hover)}.pass-code-pill{font-family:var(--font-mono);font-weight:800;font-size:14.5px;letter-spacing:.8px;color:var(--primary-600);background-color:var(--primary-50);padding:3px 8px;border-radius:6px;border:1px solid var(--primary-200);display:inline-flex;align-items:center;gap:6px;cursor:pointer;transition:var(--transition)}[data-theme=dark] .pass-code-pill{background-color:#6366f12e;color:var(--primary-300);border-color:#6366f159}.pass-code-pill:hover{background-color:var(--primary-100);border-color:var(--primary-400);transform:scale(1.03)}.live-indicator{width:9px;height:9px;border-radius:50%;background-color:#10b981;display:inline-block;position:relative}.live-indicator:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;background-color:#10b98180;animation:pulseDot 1.8s infinite cubic-bezier(.45,0,.55,1)}@keyframes pulseDot{0%{transform:scale(.9);opacity:.8}50%{transform:scale(1.8);opacity:0}to{transform:scale(.9);opacity:0}}.viewfinder-laser{position:absolute;top:0;left:5%;right:5%;height:2px;background:linear-gradient(90deg,transparent,#EF4444,#F43F5E,#EF4444,transparent);box-shadow:0 0 10px #ef4444,0 0 18px #ef444499;border-radius:2px;animation:scanLaser 2.2s infinite ease-in-out}@keyframes scanLaser{0%{top:8%;opacity:.2}50%{top:92%;opacity:1}to{top:8%;opacity:.2}}.ticket-preview-card{background:linear-gradient(145deg,var(--bg-surface),var(--bg-surface-hover));border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:24px;position:relative;overflow:hidden}.ticket-divider{border-top:2px dashed var(--border-color);margin:18px 0;position:relative}.ticket-divider:before{content:"";position:absolute;top:-10px;left:-34px;width:20px;height:20px;border-radius:50%;background-color:var(--bg-modal)}.ticket-divider:after{content:"";position:absolute;top:-10px;right:-34px;width:20px;height:20px;border-radius:50%;background-color:var(--bg-modal)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0009;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .15s ease}.modal-card{background-color:var(--bg-modal);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:600px;max-height:90vh;overflow-y:auto;animation:scaleUp .18s cubic-bezier(.34,1.56,.64,1)}.dropdown-item-hover:hover{background-color:var(--bg-surface-hover)!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.mobile-menu-btn{display:none}@media (max-width: 900px){.mobile-menu-btn{display:flex}.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-wrapper{margin-left:0}}
