@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap");:root{--primary:#16a34a;--primary-hover:#15803d;--primary-light:#dcfce7;--primary-dark:#14532d;--secondary:#22c55e;--secondary-hover:#16a34a;--background:#ffffff;--foreground:#111827;--card:#ffffff;--card-foreground:#111827;--border:#bbf7d0;--input:#f0fdf4;--muted:#4b7c5a;--muted-light:#86efac;--success:#16a34a;--warning:#f59e0b;--danger:#ef4444;--info:#0d9488;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-heading:"Outfit","Inter",sans-serif;--shadow-sm:0 1px 2px 0 rgba(22,163,74,0.08);--shadow-md:0 4px 6px -1px rgba(22,163,74,0.12),0 2px 4px -2px rgba(22,163,74,0.08);--shadow-lg:0 10px 15px -3px rgba(22,163,74,0.12),0 4px 6px -4px rgba(22,163,74,0.08);--shadow-xl:0 20px 25px -5px rgba(22,163,74,0.15),0 8px 10px -6px rgba(22,163,74,0.1);--shadow-primary:0 10px 20px -6px rgba(22,163,74,0.35);--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-normal:250ms cubic-bezier(0.4,0,0.2,1);--transition-slow:350ms cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;font-family:var(--font-sans);background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-size-adjust:100%;overscroll-behavior-y:none}a{color:inherit;text-decoration:none}canvas,img,picture,video{display:block;max-width:100%}button,input,select,textarea{font-family:inherit;outline:none}button{touch-action:manipulation}input,select,textarea{font-size:16px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulseGreen{0%{box-shadow:0 0 0 0 rgba(22,163,74,.4)}70%{box-shadow:0 0 0 10px rgba(22,163,74,0)}to{box-shadow:0 0 0 0 rgba(22,163,74,0)}}@keyframes shiver{0%,to{transform:translateX(0)}25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}.animate-fade-in{animation:fadeIn var(--transition-normal) forwards}.animate-slide-up{animation:slideUp var(--transition-slow) cubic-bezier(.16,1,.3,1) forwards}.animate-slide-down{animation:slideDown var(--transition-normal) cubic-bezier(.16,1,.3,1) forwards}.animate-scale-in{animation:scaleIn var(--transition-normal) cubic-bezier(.16,1,.3,1) forwards}.animate-pulse-green{animation:pulseGreen 2s infinite}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 1rem}@media (min-width:640px){.container{padding:0 1.5rem}}@media (min-width:1024px){.container{padding:0 2rem}}@media (min-width:1440px){.container{padding:0 2.5rem}}.heading-xl{font-size:clamp(1.85rem,5vw,2.5rem);font-weight:800;line-height:1.2}.heading-lg,.heading-xl{font-family:var(--font-heading);color:var(--foreground)}.heading-lg{font-size:clamp(1.5rem,4vw,2rem);font-weight:700}.heading-md{font-size:clamp(1.2rem,3vw,1.5rem)}.heading-md,.heading-sm{font-family:var(--font-heading);font-weight:600;color:var(--foreground)}.heading-sm{font-size:clamp(1.05rem,2.5vw,1.25rem)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:var(--radius-lg);font-weight:600;font-size:.95rem;border:1px solid transparent;cursor:pointer;transition:all var(--transition-fast)}.btn-primary{background:var(--primary);color:white}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-primary)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:white;border:1px solid var(--border);color:var(--foreground)}.btn-secondary:hover{background:var(--background);border-color:var(--muted-light);transform:translateY(-1px)}.btn-secondary:active{transform:translateY(0)}.btn-outline-green{background:white;border:1px solid var(--primary);color:var(--primary)}.btn-outline-green:hover{background:var(--primary-light);transform:translateY(-1px)}.btn-disabled{background:var(--border);color:var(--muted-light);cursor:not-allowed;transform:none!important;box-shadow:none!important}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--muted);margin-bottom:.5rem}.form-control{width:100%;padding:.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius-md);background:white;font-size:1rem;color:var(--foreground);transition:all var(--transition-fast)}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(22,163,74,.12)}.glass-card{background:rgba(255,255,255,.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.4);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.badge{display:inline-flex;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:600;border-radius:9999px;text-transform:capitalize}.badge-pending{background:#fef3c7;color:#d97706}.badge-approved{background:var(--primary-light);color:var(--primary-dark)}.badge-denied{background:#fee2e2;color:#b91c1c}.hover-lift{transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.hover-scale{transition:transform var(--transition-fast)}.hover-scale:hover{transform:scale(1.08)}.hover-glow{transition:box-shadow var(--transition-normal),border-color var(--transition-normal)}.hover-glow:hover{box-shadow:0 0 0 3px rgba(22,163,74,.16),var(--shadow-lg);border-color:var(--primary)}.hover-arrow{display:inline-flex;align-items:center;gap:.375rem;transition:gap var(--transition-fast),color var(--transition-fast)}.hover-arrow:hover{gap:.625rem;color:var(--primary)}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.shimmer{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%);background-size:800px 100%;animation:shimmer 1.4s linear infinite}@keyframes blobPulse{0%,to{transform:scale(1) rotate(0deg);opacity:.5}50%{transform:scale(1.08) rotate(5deg);opacity:.7}}.blob-animate{animation:blobPulse 6s ease-in-out infinite}.ripple-btn{position:relative;overflow:hidden}.ripple-btn:after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.25);opacity:0;border-radius:inherit;transition:opacity .3s}.ripple-btn:active:after{opacity:1}.link-underline{position:relative;display:inline-block}.link-underline:after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1.5px;background:var(--primary);transition:width var(--transition-normal)}.link-underline:hover:after{width:100%}.footer-logo,.nav-logo{display:flex!important;align-items:center!important;gap:.5rem!important;font-family:var(--font-heading)!important;font-size:1.5rem!important;font-weight:800!important;letter-spacing:-.5px!important;white-space:nowrap!important}.nav-logo>span{display:inline-flex!important;align-items:center!important;line-height:1!important;margin-top:-3.5px!important;color:#000000!important}.nav-logo .text-primary{color:var(--primary)!important}.footer-logo>span{display:inline-flex!important;align-items:center!important;line-height:1!important;margin-top:-3.5px!important;color:#ffffff!important}.footer-logo .text-primary{color:#bbf7d0!important}.brand-logo-img,.footer-logo-img{width:34px!important;height:34px!important;border-radius:50%!important;object-fit:cover!important;flex-shrink:0!important}@media (max-width:480px){.footer-logo,.nav-logo{font-size:1.05rem!important;gap:.35rem!important}.brand-logo-img,.footer-logo-img{width:28px!important;height:28px!important}.container{padding-left:.875rem;padding-right:.875rem}}.nav-actions-desktop,.nav-auth-buttons{display:flex;align-items:center;gap:.75rem}.btn-auth{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1.25rem;font-size:.9rem;font-weight:600;border-radius:var(--radius-lg);transition:all var(--transition-fast);cursor:pointer;height:38px;line-height:1;text-align:center;white-space:nowrap;box-sizing:border-box}.btn-auth-outline{background:transparent;color:var(--primary)!important;border:1.5px solid var(--primary)!important}.btn-auth-outline:hover{background-color:var(--primary-light);transform:translateY(-1px)}.btn-auth-filled{background:var(--primary)!important;color:white!important;border:1.5px solid var(--primary)!important}.btn-auth-filled:hover{background:var(--primary-dark)!important;border-color:var(--primary-dark)!important;transform:translateY(-1px);box-shadow:0 4px 12px rgba(16,185,129,.2)}.booking-cards-grid{display:flex;flex-direction:column;gap:1.5rem;margin-top:1.25rem}.bk-horizontal-card{display:flex;background:white;border:1px solid var(--border);border-radius:var(--radius-2xl);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),border-color .2s ease;position:relative}.bk-horizontal-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.bk-horizontal-card.status-approved{border-left:5px solid #10b981}.bk-horizontal-card.status-pending{border-left:5px solid #f59e0b}.bk-horizontal-card.status-denied{border-left:5px solid #ef4444}.bk-horizontal-card.status-approved:hover{border-color:rgba(16,185,129,.5)}.bk-horizontal-card.status-pending:hover{border-color:rgba(245,158,11,.5)}.bk-horizontal-card.status-denied:hover{border-color:rgba(239,68,68,.5)}.bk-card-info-wrap{flex:1 1;padding:2rem;display:flex;flex-direction:column;gap:1.25rem}.bk-card-title-row{margin-bottom:.25rem}.bk-card-event-name{font-family:var(--font-heading);font-size:1.3rem;font-weight:800;color:var(--foreground);margin:0;line-height:1.3}.bk-card-details-list{display:flex;flex-direction:column;gap:.5rem}.bk-card-detail-item{display:flex;align-items:center;gap:.5rem;font-size:.95rem}.bk-detail-lbl{color:var(--muted);font-weight:500;min-width:120px}.bk-detail-val{color:var(--foreground);font-weight:600}.bk-detail-val.highlight{color:#059669;font-weight:800}.bk-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem;padding-top:1.25rem;border-top:1px solid var(--border)}.bk-card-details-btn{font-size:.9rem;padding:.6rem 1.5rem;border-radius:var(--radius-lg);font-weight:700;background:linear-gradient(135deg,#059669,#10b981)!important;border:none;box-shadow:0 2px 4px rgba(16,185,129,.2);transition:transform .1s ease,box-shadow .15s ease;color:white!important;cursor:pointer;display:inline-flex;align-items:center;gap:.25rem}.bk-card-details-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px rgba(16,185,129,.3)}.bk-badge-approved,.bk-badge-denied,.bk-badge-pending{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:9999px;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;box-shadow:var(--shadow-sm)}.bk-badge-approved{background:#d1fae5!important;border:1.5px solid #6ee7b7!important;color:#065f46!important}.bk-badge-pending{background:#fef3c7!important;border:1.5px solid #fcd34d!important;color:#92400e!important}.bk-badge-denied{background:#fee2e2!important;border:1.5px solid #fca5a5!important;color:#991b1b!important}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:9999px;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.ticket-info-row{display:flex;align-items:flex-start;gap:.75rem;padding-bottom:.6rem;border-bottom:1px solid #f1f5f9}.ticket-info-icon{color:#10b981;flex-shrink:0;margin-top:2px}.ticket-info-text{display:flex;flex-direction:column;gap:1px;min-width:0}.ticket-info-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.ticket-info-value{font-size:.9rem;font-weight:600;color:#1e293b;word-break:break-word}